[asterisk-bugs] [Asterisk 0012865]: [patch] Don't send BYE for a dialog that already was terminated after blind transfer

noreply at bugs.digium.com noreply at bugs.digium.com
Mon Jun 16 07:01:45 CDT 2008


The following issue has been ASSIGNED. 
====================================================================== 
http://bugs.digium.com/view.php?id=12865 
====================================================================== 
Reported By:                flefoll
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   12865
Category:                   Channels/chan_sip/Transfers
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
Asterisk Version:           SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 121495 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             06-16-2008 04:27 CDT
Last Modified:              06-16-2008 07:01 CDT
====================================================================== 
Summary:                    [patch] Don't send BYE for a dialog that already was
terminated after blind transfer
Description: 
__sip_autodestruct(), scheduled by sip_scheddestroy(), transmits a BYE
request if the call was formerly REFER'ed, even if the peer SIP device
already has terminated the dialog.

We can see it after a blind transfer where the transferer sends a BYE when
its REFER request has succeeded.
In this case, chan_sip handles the BYE request, marks the dialog as
ALREADYGONE, schedules dialog destruction (not immediate when no more
owner) and replies 200 OK.
Then, when __sip_autodestruct() runs, it generates a BYE request. In my
opinion, if the dialog is marked ALREADYGONE, then ... it's already gone !
And BYE is not required.
Of course, the result is 481 Call/Transaction Does Not Exist.

I propose to add a test of SIP_ALREADYGONE flag.

====================================================================== 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-16-08 07:01  svnbot         Status                   new => assigned     
06-16-08 07:01  svnbot         Assigned To               => file            
======================================================================




More information about the asterisk-bugs mailing list