[Home]

Summary:ASTERISK-22380: Inbound SIP call to a valid extension results in segfault in multicast_rtp_new at res_rtp_multicast.c
Reporter:Rusty Newton (rnewton)Labels:
Date Opened:2013-08-24 16:49:16Date Closed:2013-08-24 20:12:01
Priority:CriticalRegression?
Status:Closed/CompleteComponents:Channels/chan_pjsip Core/RTP Resources/res_pjsip
Versions:12 Frequency of
Occurrence
Constant
Related
Issues:
Environment:SVN-branch-12-r397614Attachments:( 0) ASTERISK-22380-12.diff
( 1) backtrace5.txt
( 2) full5.txt
( 3) pjsip.txt
Description:To reproduce:

* See attached pjsip.conf
* Dial from a SIP endpoint to an extension calling either Playback or Dial applications. Playback(demo-congrats) works just fine. Dialing another pjsip endpoint also reproduces the same crash.

Note:

Unloading res_rtp_multicast.so allows calls to Playback to function normally. Calls from pjsip to pjsip endpoints (on same LAN) have no audio, RTP debug does not indicate RTP flowing in either direction.
Comments:By: Rusty Newton (rnewton) 2013-08-24 19:31:55.973-0500

Specifying rtpengine

{noformat}
[6001]
type=endpoint
context=from-internal
disallow=all
allow=ulaw
transport=transport-udp
auth=6001
aors=6001
rtpengine=asterisk
{noformat}

Results in it not being recognized and then failing endpoint configuration totally.

{noformat}
 == Parsing '/etc/asterisk/pjsip.conf': Found
19:20:46.695   udp0x3e49e40 !SIP UDP transport started, published address is 192.168.1.55:5060
 == Parsing '/etc/asterisk/pjsip.conf': Found
[Aug 24 19:20:46] ERROR[6317]: config_options.c:681 aco_process_var: Could not find option suitable for category '6001' named 'rtpengine' at line 18 of
[Aug 24 19:20:46] ERROR[6317]: config_options.c:681 aco_process_var: Could not find option suitable for category '6002' named 'rtpengine' at line 38 of
 == Parsing '/etc/asterisk/pjsip.conf': Found
 == Parsing '/etc/asterisk/pjsip.conf': Found
{noformat}

From talking with Matt it sounds like something is leading to no default for rtpengine, causing Asterisk to choose res_rtp_multicast based on the module registration order.

By: Rusty Newton (rnewton) 2013-08-24 19:53:59.868-0500

Patch tested and confirmed no crashes so far.

* call from endpoint to Playback(demo-congrats) connects with audio.
* call from endpoint to endpoint connects, but no audio (rtp debug shows nothing going on)
* defining rtpengine= in pjsip.conf now behaves and is recognized when pjsip.conf is parsed.