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

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Sep 25 04:11:27 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=14994 
====================================================================== 
Reported By:                frawd
Assigned To:                mnicholson
====================================================================== 
Project:                    Asterisk
Issue ID:                   14994
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
JIRA:                        
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-09-25 04:11 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..
====================================================================== 

---------------------------------------------------------------------- 
 (0111361) frawd (reporter) - 2009-09-25 04:11
 https://issues.asterisk.org/view.php?id=14994#c111361 
---------------------------------------------------------------------- 
Sorry about not reading well the coding guidelines, I thought you were
referring to the %i => %d guideline. This will be fixed soon.

About the "session level parameters", I will then do that solution. As the
change compared to the current patch is not so important, it shouldn't last
more than a few days to implement and test it well in production
environment.
The current patch was tested in all versions from 1.4.24 to 1.4.26.2 in
about 50 production servers against many different devices.

Thanks a lot for making that move. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-09-25 04:11 frawd          Note Added: 0111361                          
======================================================================




More information about the asterisk-bugs mailing list