[asterisk-bugs] [Asterisk 0015716]: [patch] chan_sip fails to destroy channels in INVITE when no response received

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Aug 18 03:20:44 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15716 
====================================================================== 
Reported By:                dant
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   15716
Category:                   Channels/chan_sip/General
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     acknowledged
Asterisk Version:           SVN 
Regression:                 Yes 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-08-13 19:15 CDT
Last Modified:              2009-08-18 03:20 CDT
====================================================================== 
Summary:                    [patch] chan_sip fails to destroy channels in INVITE
when no response received
Description: 
In the event that a call is made to a device that is not responding INVITE
packets are reliably transmitted to the device, if the call is hungup the
channel lives forever. 

======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0015627 [patch] Asterisk runs out of sockets
====================================================================== 

---------------------------------------------------------------------- 
 (0109201) dant (reporter) - 2009-08-18 03:20
 https://issues.asterisk.org/view.php?id=15716#c109201 
---------------------------------------------------------------------- 
The problem is not that it keeps retransmitting, the problem is that when
the outgoing attempt is terminated the dialog is never actually destroyed
though retransmissions are stopped and it is scheduled for destruction...

I think I did tag this as a regression...

Below are details of the change that appears to have caused this issue...
The associated documentation suggests that this was done on purpose to be
able to match an incoming 487 response, however, this code only hits after
32 seconds from the channel being scheduled for termination which is as
long as we should be waiting for a response and the patch causes it to wait
a further 10 seconds before setting needdestroy... The check for CANCEL or
BYE before setting needdestroy was described as being the safety net for
incase a response to INVITE was never received, but, there would never be a
CANCEL or BYE in the normal situation where a response to INVITE was never
received because the remote host didn't respond at all, hence, the safety
net is broken and this patch corrects that...

As mentioned below, this has been applied to all branches, so all branches
will now leak sockets build up an excessive supply of dialogs when dealing
with non-responsive hosts being sent INVITEs... 

r205877 | mmichelson | 2009-07-11 01:39:13 +0800 (Sat, 11 Jul 2009) | 40
lines

Properly ACK 487 responses to canceled INVITEs.



More information about the asterisk-bugs mailing list