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

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Jun 15 16:20:43 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=13958 
====================================================================== 
Reported By:                toc
Assigned To:                mnicholson
====================================================================== 
Project:                    Asterisk
Issue ID:                   13958
Category:                   Channels/chan_sip/Interoperability
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     closed
Asterisk Version:           1.6.0 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2008-11-24 05:15 CST
Last Modified:              2009-06-15 16:20 CDT
====================================================================== 
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.
====================================================================== 

---------------------------------------------------------------------- 
 (0106426) svnbot (reporter) - 2009-06-15 16:20
 https://issues.asterisk.org/view.php?id=13958#c106426 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 200707

_U  branches/1.6.1/
U   branches/1.6.1/channels/chan_sip.c
U   branches/1.6.1/configs/sip.conf.sample

------------------------------------------------------------------------
r200707 | kpfleming | 2009-06-15 16:20:41 -0500 (Mon, 15 Jun 2009) | 35
lines

Merged revisions 165180,200689 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

........
  r165180 | mnicholson | 2008-12-17 12:49:12 -0600 (Wed, 17 Dec 2008) | 14
lines
  
  This patch adds a new 'ignoresdpversion' option to sip.conf.  When this
is
  enabled (either globally or for a specific peer), chan_sip will treat
any SDP
  data it receives as new data and update the media stream accordingly. 
By
  default, Asterisk will only modify the media stream if the SDP session
version
  received is different from the current SDP session version.  This option
is
  required to interoperate with devices that have non-standard SDP session
  version implementations (observed by toc on the bug tracker with
Microsoft OCS
  which always uses 0 as the session version).
  
  http://reviewboard.digium.com/r/94/
  (closes issue https://issues.asterisk.org/view.php?id=13958)
  Reported by: toc
  Tested by: toc
........
  r200689 | kpfleming | 2009-06-15 15:42:38 -0500 (Mon, 15 Jun 2009) | 12
lines
  
  Accept T.38 re-INVITE responses with invalid SDP versions.
  
  This commit changes the 'incoming SDP version' check logic a bit more;
when
  'ignoresdpversion' is *not* set for a peer, if we initiate a re-INVITE
to
  switch to T.38, we'll always accept the peer's SDP response, even if
they
  don't properly increment the SDP version number as they should. If this
situation
  occurs, a warning message will be generated suggesting that the peer's
  configuration be changed to include the 'ignoresdpversion' configuration
option
  (although ideally they'd fix their SIP implementation to be RFC
compliant).
  
  AST-221
........

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

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

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-06-15 16:20 svnbot         Checkin                                      
2009-06-15 16:20 svnbot         Note Added: 0106426                          
======================================================================




More information about the asterisk-bugs mailing list