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

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Nov 4 14:22:33 CST 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:                     closed
Asterisk Version:           SVN 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2009-04-29 10:33 CDT
Last Modified:              2009-11-04 14:22 CST
====================================================================== 
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..
====================================================================== 

---------------------------------------------------------------------- 
 (0113138) svnbot (reporter) - 2009-11-04 14:22
 https://issues.asterisk.org/view.php?id=14994#c113138 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 227760

U   branches/1.6.2/channels/chan_sip.c

------------------------------------------------------------------------
r227760 | mnicholson | 2009-11-04 14:22:33 -0600 (Wed, 04 Nov 2009) | 7
lines

Modify the SDP parsing code to parse session and media level items
separately.

With the new code, media level proprieties should no longer be confused
with session level proprieties. This change also reorganizes some of the
SDP parsing code which should make it easier to manage in the future.

(closes issue https://issues.asterisk.org/view.php?id=14994)
Reported by: frawd

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=227760 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-11-04 14:22 svnbot         Checkin                                      
2009-11-04 14:22 svnbot         Note Added: 0113138                          
======================================================================




More information about the asterisk-bugs mailing list