[asterisk-bugs] [Asterisk 0014994]: [patch] Invalid SDP connection information (c=) parsing leading to one way audio

Asterisk Bug Tracker noreply at bugs.digium.com
Thu May 7 14:38:39 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14994 
====================================================================== 
Reported By:                frawd
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   14994
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.24 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-04-29 10:33 CDT
Last Modified:              2009-05-07 14:38 CDT
====================================================================== 
Summary:                    [patch] Invalid SDP connection information (c=)
parsing leading to one way audio
Description: 
I have a one-way audio problem when a media-gateway was (re)inviting with
audio and video on two different IPs, with an SDP formatted like so:

m=audio
c=IN IP4 <ip1>
[...]
m=video
c=IN IP4 <ip2>
[...]

Looking at the code it appears that asterisk has the following algorithm
for parsing "c=" lines:

1. Look for the first "c=" line and initialize audio and video address
structure
	=> in my case, <ip1> is then initialized for audio and video
2. For each "m=" line found:
	2.1. Look for the next "c=" line STARTING AFTER THE LAST ONE (step 1.)
		=> in my case, <ip2> will be found
	2.2. Initialize audio or video structure depending on what was in "m="
		=> in my case, <ip2> is initialized for the audio part

As a result I have <ip2> for audio and <ip1> for video instead of the
contrary!!!

Could someone please confirm my analysis? I could be totally wrong..
====================================================================== 

---------------------------------------------------------------------- 
 (0104389) frawd (reporter) - 2009-05-07 14:38
 http://bugs.digium.com/view.php?id=14994#c104389 
---------------------------------------------------------------------- 
I think this process_sdp function was first designed for audio streams, and
then some dirty people made some ugly add-ons when support for video and
image (T.38) was added.

I will try to upload a patch to reorganize that a bit, it shouldn't be
huge.

Any testers (at least for regressions) willing to help me when I'll have
this done? 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-05-07 14:38 frawd          Note Added: 0104389                          
======================================================================




More information about the asterisk-bugs mailing list