[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:04:14 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
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:                     closed
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:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             06-16-2008 04:27 CDT
Last Modified:              06-16-2008 07:04 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.

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

---------------------------------------------------------------------- 
 svnbot - 06-16-08 07:04  
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 122871

_U  branches/1.6.0/
U   branches/1.6.0/channels/chan_sip.c

------------------------------------------------------------------------
r122871 | file | 2008-06-16 07:04:12 -0500 (Mon, 16 Jun 2008) | 22 lines

Merged revisions 122870 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r122870 | file | 2008-06-16 09:09:54 -0300 (Mon, 16 Jun 2008) | 14 lines

Merged revisions 122869 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r122869 | file | 2008-06-16 09:08:28 -0300 (Mon, 16 Jun 2008) | 6 lines

Don't send a BYE on a dialog that is already gone during a REFER.
(closes issue http://bugs.digium.com/view.php?id=12865)
Reported by: flefoll
Patches:
      chan_sip.c.br14.121495.patch-ALREADYGONE uploaded by flefoll
(license 244)

........

................

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

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

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-16-08 07:04  svnbot         Note Added: 0088740                          
======================================================================




More information about the asterisk-bugs mailing list