[asterisk-bugs] [Asterisk 0009305]: [patch] REINVITE before 200ok causes a call to be ended

noreply at bugs.digium.com noreply at bugs.digium.com
Tue Aug 14 09:43:36 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=9305 
====================================================================== 
Reported By:                atca_pres
Assigned To:                oej
====================================================================== 
Project:                    Asterisk
Issue ID:                   9305
Category:                   Channels/chan_sip/Transfers
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     confirmed
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4 
SVN Revision (number only!): 58957 
Disclaimer on File?:        Yes 
Request Review:              
====================================================================== 
Date Submitted:             03-16-2007 13:28 CDT
Last Modified:              08-14-2007 09:43 CDT
====================================================================== 
Summary:                    [patch] REINVITE before 200ok causes a call to be
ended
Description: 
When Flash hooking:
Box 1 sends a INVITE with a contact 0.0.0.0 (Hold)
Asterisk sends a invite to box 2
Box 2 sends a trying
Asterisk sends a second invite to box 2 with a differetn CSeq, Branch and
Session version(SDP). This trigger a 500 msg.
The 500 is triggered because you cannot (according to RFC) send a second
invite when you have an unfinished dialog

Note : No RTP Portal
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0009142 Placing a call on hold sends two INVITE...
related to          0009209 race condition in sip hangup with reinv...
related to          0009649 BYE calls too fast when connected to a ...
====================================================================== 

---------------------------------------------------------------------- 
 one47 - 08-14-07 09:43  
---------------------------------------------------------------------- 
Yes, the state of a call is tracked in the code, but SIP is not quite that
straight-forward. An INVITE is used in several ways, and in Asterisk seems
to be tracked differently depending on how it is used.

The key mechanisms affecting your system are 1) INVITE to Set-up a call,
2) INVITE to Redirect media during a reINVITE, 3) INVITE to un-Redirect
media during a hangup.

1) was already tracked correctly.
2) is fixed by sip_reinvite4.diff
3) is still being missed.

I am uploading sip_reinvite6.diff, which if I am lucky will defer the BYE
if a media-change INVITE is outstanding, and not at other times :-O

Cheers,
Steve 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
08-14-07 09:43  one47          Note Added: 0068829                          
======================================================================




More information about the asterisk-bugs mailing list