[Home]

Summary:ASTERISK-22645: Broad media offers from Jitsi client results in a crash in ast_copy_pj_str at res_pjsip.c
Reporter:Rusty Newton (rnewton)Labels:
Date Opened:2013-10-03 09:24:14Date Closed:2013-10-03 09:54:01
Priority:CriticalRegression?
Status:Closed/CompleteComponents:Resources/res_pjsip Resources/res_pjsip_nat
Versions:SVN 12.0.0-alpha1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:SVN-branch-12-r400356Attachments:( 0) backtrace_jitsi_call1.txt
( 1) full_jitsi_call1.txt
Description:Reproduction:

1. Register Jitsi SIP account to Asterisk with default settings, except username, host IP and password.

2. Make a call from the Jitsi SIP account to an Asterisk extension.

Looks like it crashes on receiving the INVITE

I suspect it is combination of misconfiguration in NAT related settings and one of the media offers from Jitsi:

{noformat}
ÿv=0^M
ÿo=6002 0 0 IN IP4 127.0.0.1^M
ÿs=-^M
ÿc=IN IP4 127.0.0.1^M
ÿt=0 0^M
ÿm=audio 5005 RTP/AVP 96 9 97 98 100 102 0 8 103 3 104 101^M
ÿa=rtpmap:96 opus/48000^M
ÿa=fmtp:96 usedtx=1^M
ÿa=rtpmap:9 G722/8000^M
ÿa=rtpmap:97 SILK/24000^M
ÿa=rtpmap:98 SILK/16000^M
ÿa=rtpmap:100 speex/32000^M
ÿa=rtpmap:102 speex/16000^M
ÿa=rtpmap:0 PCMU/8000^M
ÿa=rtpmap:8 PCMA/8000^M
ÿa=rtpmap:103 iLBC/8000^M
ÿa=rtpmap:3 GSM/8000^M
ÿa=rtpmap:104 speex/8000^M
ÿa=rtpmap:101 telephone-event/8000^M
ÿa=extmap:1 urn:ietf:params:rtp-hdrext:csrc-audio-level^M
ÿm=video 5007 RTP/AVP 105 99^M
ÿa=recvonly^M
ÿa=rtpmap:105 H264/90000^M
ÿa=fmtp:105 profile-level-id=4DE01f;packetization-mode=1^M
ÿa=imageattr:105 send [x=[0-640],y=[0-480]] recv [x=[0-1920],y=[0-1080]]^M
ÿa=rtpmap:99 H264/90000^M
ÿa=fmtp:99 profile-level-id=4DE01f^M
ÿa=imageattr:99 send [x=[0-640],y=[0-480]] recv [x=[0-1920],y=[0-1080]]^M
{noformat}

As changing settings in Jitsi, to result in the below offer, then works fine with no crash:

{noformat}
v=0
o=6002 0 0 IN IP4 127.0.0.1
s=-
c=IN IP4 127.0.0.1
t=0 0
m=audio 5013 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=extmap:1 urn:ietf:params:rtp-hdrext:csrc-audio-level
{noformat}

Or, alternatively, leaving the default offers in Jitsi and adding a "localnet=127.0.0.1" line to my transport config also resulted in no crash.

{noformat}
[transport-udp-nat]
type=transport
protocol=udp
bind=0.0.0.0
localnet=192.168.1.0/24
localnet=127.0.0.1
external_media_address=1.2.3.4
external_signaling_address=1.2.3.4
{noformat}

Comments: