[Home]

Summary:ASTERISK-06939: Asterisk fails calls that contain multipart SDP
Reporter:eab (eborgstrom)Labels:
Date Opened:2006-05-09 15:20:51Date Closed:2006-05-18 16:04:02
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/Interoperability
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) chan_sip.c-multipart_sdp-2.diff
Description:When interop'ing with units that generate multipart SDP (such as the Nortel CS1000) Asterisk drops every call because it doesn't understand how to parse the multipart message. See additional information for an example of an INVITE with the multipart SDP.

Attached is a patch that corrects this behavior.

I have just faxed my disclaimer in as of 15m ago.

****** ADDITIONAL INFORMATION ******

INVITE sip:1NPANXXXXXX@1.2.3.4;transport=udp;user=phone SIP/2.0
Record-Route: <sip:2.3.4.5;ftag=9ec7cf42-13c4-443121c3-316b6e-7582;lr=on>
From: <sip:user@domain.net;user=phone>;tag=9ec7cf42-13c4-443121c3-316b6e-7582
To: <sip:1NPANXXXXXX@1.2.3.4;user=phone>
Call-ID: 13e8e38c-9ec7cf42-13c4-443121c3-316b6e-5e64@domain.net
CSeq: 2 INVITE
Via: SIP/2.0/UDP 2.3.4.5;branch=z9hG4bKcc69.accf80d3.0
Via: SIP/2.0/UDP 1.2.3.4:5060;branch=z9hG4bK-443121c3-316b7f-34c9
Max-Forwards: 30
Supported: 100rel,sipvc,replaces,timer
User-Agent: Nortel CS1000 SIP GW release_4.5 version_sse-4.50.75
Privacy: none
x-nt-corr-id: 000000950d170f0304@0011f9e4a35a-898780fd
Contact: <sip:user@domain.net:5060;maddr=1.2.3.4;transport=udp;user=phone>
Session-Expires: 1800
Allow: INVITE,ACK,BYE,REGISTER,REFER,NOTIFY,CANCEL,PRACK,OPTIONS,INFO,SUBSCRIBE,UPDATE
Content-Type: multipart/mixed ;boundary=unique-boundary-1
Content-Length: 659


--unique-boundary-1
Content-Type: application/SDP

v=0
o=- 22 1 IN IP4 1.2.3.4
s=-
t=0 0
m=audio 5224 RTP/AVP 0 8
c=IN IP4 1.2.3.4
a=ptime:20
a=maxptime:20
a=sendrecv

--unique-boundary-1
Content-Type: application/x-nt-mcdn-frag-hex ;version=sse-4.50.75 ;base=x2611
Content-Disposition: signal ;handling=optional

05009001
0107130081900000a2
09090f00e9a08300010010
1315070011fa0f00a10d02010102020100cc0400002202
1e0403008183
--unique-boundary-1
Content-Type: application/x-nt-epid-frag-hex ;version=sse-4.50.75 ;base=x2611
Content-Disposition: signal ;handling=optional

011201
00:0e:0c:aa:2f:92
--unique-boundary-1--
Comments:By: eab (eborgstrom) 2006-05-09 15:27:37

Sorry, that's the wrong diff. That was used for testing purposes. I'm uploading a new one right now...

By: eab (eborgstrom) 2006-05-09 16:17:22

chan_sip.c-multipart_sdp-2.diff is the proper diff

By: Olle Johansson (oej) 2006-05-17 03:41:58

Cool patch. Will look at it soon. Thanks!

By: Kevin P. Fleming (kpfleming) 2006-05-18 16:04:02

This should be fixed in both 1.2 branch and trunk, although I don't have anything that generates multipart SIP bodies to test with. If you still experience trouble, contact a bug marshal and request that this bug be re-opened.

I ended up rewriting the fix, because your patch did not do everything that was needed. For example, it did not find the start/end of the SDP, so later searches for specific SDP lines could find them anywhere in the message body, not just in the SDP :-) Thanks for the effort though, you got me started in the right direction!