3cx cannot send symbol # in number

Status
Not open for further replies.

linker

Joined
Sep 2, 2011
Messages
3
Reaction score
0
Hi.
3CX have strange bug. If you configure to send for example 1111#444444 where 1111# is tech prefix 3cx send

1111%2344444444.

As i understand 3CX just not correctly work with UNICODE. because symbol # in unicode #
and 0x23 in hex
Does anybody know how to fix ?
Small example of tcpdump (changed only ip adresses of orig and term party ):

INVITE sip:30537%[email protected]:5061 SIP/2.0
Via: SIP/2.0/UDP 192.168.252.60:5060;branch=z9hG4bK-d8754z-907ffa181c104955-1---d8754z-;rport
Max-Forwards: 70
Contact: <sip:[email protected]:5060>
To: <sip:30537%[email protected]:5061>
From: "31443787799"<sip:[email protected]:5061>;tag=6c48b315
Call-ID: OTc5Yjk4ODU2MmIxNmYyYWFiODE3OGM1Y2JiMDc4MDE.
CSeq: 1 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REGISTER, SUBSCRIBE, NOTIFY, REFER, INFO, MESSAGE
Content-Type: application/sdp
Supported: replaces
User-Agent: 3CXPhoneSystem 10.0.20085.0
Content-Length: 308

But normally it must be
INVITE sip:30537#[email protected]:5061 SIP/2.0 etc
 
Hello,

3CX strips anything not numbers, this is not a bug but by design. It doesn't allow ' in names or other characters. Only the SKYPE prefix for dialing skype numbers. This is a security risk if we allow special characters to be dialed. The % is the space left when it stripped the pound sign.

Thanks,
Nate
 
It is defined in RFC3261:

alphanum = ALPHA / DIGIT
unreserved = alphanum | mark
mark = "-"|"_"|"."|"!"|"~"|"*"|"'"|"("|")"
escaped = "%" HEXDIG HEXDIG

SIP-URI = "sip:" [userinfo] hostport uri-parameters [ headers ]
userinfo = (user|telephone-subscriber) [ ":" password ] "@"
user = 1*(unreserved|escaped|user-unreserved)
user-unreserved = "&"|"="|"+"|"$"|","|";"|"?"|"/"
 
It is all good
but look on table 19.1.2 Character Escaping Requirements in RFC 3261

user -- o o o o o o
password -- o o o o o o
host -- m m m m m m
port (1) o - - o o o
user-param ip o o o o o o
method INVITE - - - - - o
maddr-param -- o - - o o o
ttl-param 1 o - - o - o
transp.-param (2) o - - o o o
lr-param -- o - - - o o
other-param -- o o o o o o
headers -- - - - o - o

For INVITE it must not be escaped.
 
Yes, I came across this frustration a couple of years back when trying to send a PSTN feature activation code (78#) to a SPA3102 FXO. It is unfortunate that there has (so far) not been a way around this.
 
hm. I am not right
 
linker said:
hm. I am not right
You are right, but context of 19.1.2 is specified in context on 19.1.1
What is wrong and what is right in your specific case?

Let's talk about concrete things.

Thanks
 
Status
Not open for further replies.