Review Board 1.7.16


1.4 implementation of fix for issue 12434

Review Request #311 - Created July 15, 2009 and submitted

Mark Michelson
/branches/1.4/
12434
Reviewers
asterisk-dev
Asterisk
In issue 12434, the reporter describes a situation in which audio and video is offered on the call, but because videosupport is disabled in sip.conf, Asterisk gives no response at all to the video offer. According to RFC 3264, all media offers should have a corresponding answer. For offers we do not intend to actually reply to with meaningful values, we should still reply with the port for the media stream set to 0.

In this patch, we take note of what types of media have been offered and save the information on the sip_pvt. The SDP in the response will take into account whether media was offered. If we are not otherwise going to answer a media offer, we will insert an appropriate m= line with the port set to 0.

It is important to note that this patch is pretty much a bandage being applied to a broken bone. The patch *only* helps for situations where video is offered but videosupport is disabled and when udptl_pt is disabled but T.38 is offered. Asterisk is not guaranteed to respond to every media offer. Notable cases are when multiple streams of the same type are offered. The 2 media stream limit is still present with this patch, too.

In trunk and the 1.6.X branches, things will be a bit different since Asterisk also supports text in SDPs as well. Also, since T.38 negotiation is different in those branches, further testing of T.38-specific code will be needed there. I will post a trunk version of these changes to reviewboard after I have written the code.
I set up 2 sipp scenarios. One offered audio and video, and the other offered audio and T.38. I verified that Asterisk gave always gave an appropriate answer to the video and T.38 offers.
Review request changed
Updated (July 17, 2009, 11:30 a.m.)
Updated to address comments.
Ship it!
Posted (July 17, 2009, 11:34 a.m.)
looks Great!

https://reviewboard.asterisk.org/ runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to asteriskteam@digium.com.