[asterisk-bugs] [Asterisk 0013958]: SDP replies incorrect - 'a=inactive' - replied to with 'a=sendrecv'

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Dec 10 02:22:02 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=13958 
====================================================================== 
Reported By:                toc
Assigned To:                mnicholson
====================================================================== 
Project:                    Asterisk
Issue ID:                   13958
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           1.6.0 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2008-11-24 05:15 CST
Last Modified:              2008-12-10 02:22 CST
====================================================================== 
Summary:                    SDP replies incorrect - 'a=inactive' - replied to
with 'a=sendrecv'
Description: 
When asterisk is sent a packet from Microsoft OCS Mediation Server, where
the call is being placed on hold, Asterisk sends an incorrect response.

Mediation server is 192.168.1.208

Asterisk is 192.168.1.250 (on 5061).
OpenSIPS is intercepting to resolve the bug on 192.168.1.250 (on 5060)

The packet sent from OCS is below (intercepted using OpenSIPS):
[  Method INVITE from 192.168.1.208:1276 (2)  ]
INVITE sip:01234567 at 192.168.1.250:5061 SIP/2.0
FROM: <sip:First.Last at domain.com>;epid=A4325290A1;tag=f7768ee4ad
TO: <sip:01234567 at 192.168.1.250;user=phone>;tag=as79279f7b
CSEQ: 69 INVITE
CALL-ID: 1ae1e5ef-f96f-482c-9c44-da92c9094ecc
MAX-FORWARDS: 70
VIA: SIP/2.0/TCP 192.168.1.208:1276;branch=z9hG4bK1d297960
CONTACT:
<sip:domain.com.au:5060;transport=Tcp;maddr=192.168.1.208;ms-opaque=2cea147ecbefbb7f>
CONTENT-LENGTH: 268
SUPPORTED: 100rel
USER-AGENT: RTCC/3.0.0.0 MediationServer
CONTENT-TYPE: application/sdp; charset=utf-8

v=0
o=- 0 0 IN IP4 192.168.1.208
s=session
c=IN IP4 192.168.1.208
b=CT:1000
t=0 0
m=audio 60806 RTP/AVP 0 101
c=IN IP4 192.168.1.208
a=rtcp:60807
a=inactive 
a=label:Audio
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
[  End of Request (2)  ]


Response from Asterisk:


[  Reply 200 (OK) from 192.168.1.250:5061 concerning INVITE  ]
SIP/2.0 200 OK
Via: SIP/2.0/UDP
192.168.1.250;branch=z9hG4bK3795.6ca29175.0;i=2;received=192.168.1.250
Via: SIP/2.0/TCP 192.168.1.208:1276;branch=z9hG4bK1d297960
From: <sip:First.Last at domain.com.au>;epid=A4325290A1;tag=f7768ee4ad
To: <sip:01234567 at 192.168.1.250;user=phone>;tag=as79279f7b
Call-ID: 1ae1e5ef-f96f-482c-9c44-da92c9094ecc
CSeq: 69 INVITE
User-Agent: Asterisk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Contact: <sip:01234567 at 192.168.1.250:5061>
Content-Type: application/sdp
Content-Length: 261

v=0
o=root 295744575 295744576 IN IP4 192.168.1.250
s=Asterisk PBX 1.6.0
c=IN IP4 192.168.1.250
t=0 0
m=audio 19848 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
[  End of Reply  ]

The asterisk packet contains an incorrect a=sendrecv, it should be
a=inactive as OCS has requested the call to be placed on hold.

The hold works when modifying the packet from a=sendrecv to a=inactive
using OpenSIPS.
====================================================================== 

---------------------------------------------------------------------- 
 (0096069) toc (reporter) - 2008-12-10 02:22
 http://bugs.digium.com/view.php?id=13958#c96069 
---------------------------------------------------------------------- 
Patch applied and installed (did not work)- asterisk 1.6.0:

  * SIP Call
1. Rx              INVITE / 234 INVITE / sip:<external
number>@192.168.1.250;user=phone
2. NewChan         Channel SIP/network.domain.com.au-0950ae10 - fr
3. TxResp          SIP/2.0 / 234 INVITE - 100 Trying
4. TxResp          SIP/2.0 / 234 INVITE - 180 Ringing
5. TxRespRel       SIP/2.0 / 234 INVITE - 200 OK
6. Rx              ACK / 234 ACK / sip:<external
number>@192.168.1.250:5060;transport=TCP
7. Rx              INVITE / 235 INVITE / sip:<external
number>@192.168.1.250:5060;transpo
8. ReInv           Re-invite received
9. TxResp          SIP/2.0 / 235 INVITE - 100 Trying
10. TxRespRel       SIP/2.0 / 235 INVITE - 200 OK
11. Rx              ACK / 235 ACK / sip:<external
number>@192.168.1.250:5060;transport=TCP
12. Rx              INVITE / 236 INVITE / sip:<external
number>@192.168.1.250:5060;transpo
13. ReInv           Re-invite received
14. TxResp          SIP/2.0 / 236 INVITE - 100 Trying
15. TxRespRel       SIP/2.0 / 236 INVITE - 200 OK
16. Rx              ACK / 236 ACK / sip:<external
number>@192.168.1.250:5060;transport=TCP


#pressed hold

  * SIP Call
1. Rx              INVITE / 234 INVITE / sip:<external
number>@192.168.1.250;user=phone
2. NewChan         Channel SIP/network.domain.com.au-0950ae10 - fr
3. TxResp          SIP/2.0 / 234 INVITE - 100 Trying
4. TxResp          SIP/2.0 / 234 INVITE - 180 Ringing
5. TxRespRel       SIP/2.0 / 234 INVITE - 200 OK
6. Rx              ACK / 234 ACK / sip:<external
number>@192.168.1.250:5060;transport=TCP
7. Rx              INVITE / 235 INVITE / sip:<external
number>@192.168.1.250:5060;transpo
8. ReInv           Re-invite received
9. TxResp          SIP/2.0 / 235 INVITE - 100 Trying
10. TxRespRel       SIP/2.0 / 235 INVITE - 200 OK
11. Rx              ACK / 235 ACK / sip:<external
number>@192.168.1.250:5060;transport=TCP
12. Rx              INVITE / 236 INVITE / sip:<external
number>@192.168.1.250:5060;transpo
13. ReInv           Re-invite received
14. TxResp          SIP/2.0 / 236 INVITE - 100 Trying
15. TxRespRel       SIP/2.0 / 236 INVITE - 200 OK
16. Rx              ACK / 236 ACK / sip:<external
number>@192.168.1.250:5060;transport=TCP
17. Rx              INVITE / 237 INVITE / sip:<external
number>@192.168.1.250:5060;transpo
18. ReInv           Re-invite received
19. TxResp          SIP/2.0 / 237 INVITE - 100 Trying
20. TxRespRel       SIP/2.0 / 237 INVITE - 200 OK
21. Rx              ACK / 237 ACK / sip:<external
number>@192.168.1.250:5060;transport=TCP


Another call with SIP debug (The packets provided are when hold is
pressed) - note the same 'sendrecv' SDP response:
<--- SIP read from TCP://192.168.1.208:1384 --->
INVITE sip:<external number>@192.168.1.250:5060;transport=TCP SIP/2.0
FROM:
<sip:First.Last at network.domain.com.au>;epid=A4325290A1;tag=efb557905e
TO: <sip:<external number>@192.168.1.250;user=phone>;tag=as52ca7ad3
CSEQ: 236 INVITE
CALL-ID: f97f8e7a-f3e6-421b-a01d-3eb1ab3da5ac
MAX-FORWARDS: 70
VIA: SIP/2.0/TCP 192.168.1.208:1384;branch=z9hG4bK4ee02c2e
CONTACT:
<sip:Mediation.network.domain.com.au:5060;transport=Tcp;maddr=192.168.1.208;ms-opaque=2cea147ecbefbb7f>
CONTENT-LENGTH: 268
SUPPORTED: 100rel
USER-AGENT: RTCC/3.0.0.0 MediationServer
CONTENT-TYPE: application/sdp; charset=utf-8

v=0
o=- 0 0 IN IP4 192.168.1.208
s=session
c=IN IP4 192.168.1.208
b=CT:1000
t=0 0
m=audio 60370 RTP/AVP 0 101
c=IN IP4 192.168.1.208
a=rtcp:60371
a=inactive
a=label:Audio
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
0
a=rtpmap:8 PCMA/8000
a=ptime:20

<------------->
--- (12 headers 18 lines) ---
Sending to 192.168.1.208 : 1384 (no NAT)

<--- Transmitting (no NAT) to 192.168.1.208:1384 --->
SIP/2.0 100 Trying
Via: SIP/2.0/TCP
192.168.1.208:1384;branch=z9hG4bK4ee02c2e;received=192.168.1.208
From:
<sip:First.Last at network.domain.com.au>;epid=A4325290A1;tag=efb557905e
To: <sip:<external number>@192.168.1.250;user=phone>;tag=as52ca7ad3
Call-ID: f97f8e7a-f3e6-421b-a01d-3eb1ab3da5ac
CSeq: 236 INVITE
User-Agent: Asterisk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Contact: <sip:<external number>@192.168.1.250:5060;transport=TCP>
Content-Length: 0


<------------>
Audio is at 192.168.1.250 port 19698
Adding codec 0x4 (ulaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Reliably Transmitting (no NAT) to 192.168.1.208:1384 --->
SIP/2.0 200 OK
Via: SIP/2.0/TCP
192.168.1.208:1384;branch=z9hG4bK4ee02c2e;received=192.168.1.208
From:
<sip:First.Last at network.domain.com.au>;epid=A4325290A1;tag=efb557905e
To: <sip:<external number>@192.168.1.250;user=phone>;tag=as52ca7ad3
Call-ID: f97f8e7a-f3e6-421b-a01d-3eb1ab3da5ac
CSeq: 236 INVITE
User-Agent: Asterisk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces, timer
Contact: <sip:<external number>@192.168.1.250:5060;transport=TCP>
Content-Type: application/sdp
Content-Length: 259

v=0
o=root 95282310 95282310 IN IP4 192.168.1.250
s=Asterisk PBX 1.6.0
c=IN IP4 192.168.1.250
t=0 0
m=audio 19698 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-12-10 02:22 toc            Note Added: 0096069                          
======================================================================




More information about the asterisk-bugs mailing list