PJSIP issue with TEL (RFC 3966)

PJSIP issue with TEL (RFC 3966)

Essentially set up pjsip.conf to register to ITSP and made an endpoint to receive incoming calls.

Unfortunately received response advising that TEL is unknown or at least not a ‘SIP’ URI, actual SIP error phrase is “416 Unsupported URI Scheme”.

Chan_SIP is RFC 3966 compliant from what I can see but i would like to use PJSIP because there are more features, and after trialing running both together the system is unreliable. My preference is to just use PJSIP.

Optus NBN Australia

PJSIP Logging enabled
<— Received SIP request (1697 bytes) from UDP: —>
INVITE sip:+61732103210@;line={weirdnumbers} SIP/2.0
Max-Forwards: 65
Via: SIP/2.0/UDP;branch={weirdnumbers}
To: “SIPLineUser SIPLineUser” tel:+6173210321
From: “Anonymous” sip:anonymous@anonymous.invalid;tag={weirdnumbers}
Call-ID: {weirdnumbers}@
Contact: sip:sgc_c@;transport=udp
Record-Route: sip:;transport=udp;lr
Min-Se: 900
Privacy: id
Session-Expires: 1800
Supported: com.nortelnetworks.firewall
Supported: p-3rdpartycontrol
Supported: nosec
Supported: join
Supported: x-nortel-sipvc
Supported: gin
Supported: com.nortelnetworks.im.encryption
Supported: 100rel
Supported: resource-priority
Supported: replaces
User-Agent: Nortel SESM
Content-Type: application/sdp
Content-Length: 574
X-Nt-Service: brdplayed=yes
X-Nt-Corr-Id: {weirdnumber}@
X-Nortel-Profile: DEFAULT
o=- 3257871432 3257871432 IN IP4
c=IN IP4
t=0 0
m=audio 48426 RTP/AVP 8 0 18 101 110 111
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=rtpmap:110 AMR/8000
a=fmtp:110 mode-change-period=2; mode-change-capability=2; mode-change-neighbor=1; max-red=0
a=rtpmap:111 AMR/8000
a=fmtp:111 octet-align=1; mode-change-period=2; mode-change-capability=2; mode-change-neighbor=1; max-red=0

<— Transmitting SIP response (534 bytes) to UDP: —>
SIP/2.0 416 Unsupported URI Scheme
Via: SIP/2.0/UDP;received=;branch={weirdnumbers}
Record-Route: sip:;transport=udp;lr
Call-ID: {weirdnumbers}@
From: “Anonymous” sip:anonymous@anonymous.invalid;tag={weirdnumbers}
To: “SIPLineUser SIPLineUser” tel:+6173210321;tag={weirdnumbers}
Server: “{User_Agent}”
Content-Length: 0
<— Received SIP request (489 bytes) from UDP: —>
ACK sip:+61732103210@;line={weirdnumbers} SIP/2.0
Max-Forwards: 70
Via: SIP/2.0/UDP;received=;branch={weirdnumbers}
To: “SIPLineUser SIPLineUser” tel:+61732103210;tag={weirdnumbers}
From: “Anonymous” sip:anonymous@anonymous.invalid;tag={weirdnumbers}
Call-ID: {weirdnumbers}@
CSeq: 1 ACK
Content-Length: 0

*CLI> pjsip set logger off
PJSIP Logging disabled

I’m hoping someone whos awsome and a wizard with Asterisk can help me out with a configuration setting or advise if its possible to patch the source code for Asterisk 16.0.1 to permit the correct handling of a tel: uri invite.

There is no configuration setting, the tel URI is just not supported. Code changes would have to be done in the PJSIP modules to support it, and noone has gone through that process and had it included.

Thank you, is there any Asterisk specific developer documentation i can read to get an understanding of the current PJSIP implementation.

There is no documentation that would cover this area, because it’s updating/changing all of the respective modules that interact with URIs to have them tolerate and work with a tel URI. Failure to do so would result in Asterisk crashing on receipt of the SIP message, which is why such messages are stopped on incoming traffic.

Browsing the PJSIP.org project files they make reference to TEL and RFC 3966. In your opinion would this be an asterisk code change or perhaps the PJSIP.org project code change.

It’s Asterisk code changes, I don’t know if there would be any PJSIP required changes - probably not.

Thank you.
Open to all … If any one is willing to help with code changes or understanding the code that would be much appreciated.