Summary: | ASTERISK-06939: Asterisk fails calls that contain multipart SDP | ||
Reporter: | eab (eborgstrom) | Labels: | |
Date Opened: | 2006-05-09 15:20:51 | Date Closed: | 2006-05-18 16:04:02 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | 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! |