[asterisk-bugs] [Asterisk 0011736]: sip hung channels and UDP ports

noreply at bugs.digium.com noreply at bugs.digium.com
Sat Jan 26 13:54:12 CST 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11736 
====================================================================== 
Reported By:                MVF
Assigned To:                oej
====================================================================== 
Project:                    Asterisk
Issue ID:                   11736
Category:                   Channels/chan_sip/General
Reproducibility:            sometimes
Severity:                   minor
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.17 
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             01-10-2008 15:16 CST
Last Modified:              01-26-2008 13:54 CST
====================================================================== 
Summary:                    sip hung channels and UDP ports
Description: 
 I've found that some sip channels of some SIP-SIP calls are not being
released by asterisk. Issuing the command "show channels" display the exact
information for active calls but if I use the "sip show channels" command
it shows the active calls plus a lot of hung channels (check attach).

 I´ve checked the "sip show history" of these hung channels and found
that sometimes due to network problems (or redundant termination) asterisk
could receive a "183 Session Progress" message from termination peer after
a CANCEL message has been received from calling party. This problem causes
that * CancelDestroy a non existing call resulting in a hung sip channel
and UDP ports related to it taken. After some time of operation asterisk
stop processing new calls. Please check the sip show history for a hung
peer (originating peer):

  * SIP Call
1. NewChan         Channel SIP/SIP_LCR-097a7500 - from
4e061fc824c28fdb500a7d6e748
2. TxReqRel        INVITE / 102 INVITE - -UNKNOWN-
3. Rx              SIP/2.0 / 102 INVITE / 100 trying
4. Cancel          Cause Normal Clearing
5. SchedDestroy    32000 ms
6. TxReqRel        CANCEL / 102 CANCEL - -UNKNOWN-
7. SchedDestroy    32000 ms
8. Rx              SIP/2.0 / 102 CANCEL / 200 ok
9. Rx              SIP/2.0 / 102 INVITE / 183 Session Progress 
10. CancelDestroy   
11. Rx              SIP/2.0 / 102 INVITE / 404 Not Found
12. TxReq           ACK / 102 ACK - -UNKNOWN-

You can see how after the cancelling exchange a late 183 arrive from
termination peer and confuze * making it to execute a CancelDestroy over a
no more existing peer.

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

---------------------------------------------------------------------- 
 oej - 01-26-08 13:54  
---------------------------------------------------------------------- 
This patch applies to latest 1.4 from svn.

It actually stops new NOTIFY while we have an open NOTIFY and delays
transmission until we've received a 200 OK, so we actually always only have
one open transaction.

It will also always send out the latest state, so if there's two state
changes while we wait for a 200 OK, we will only send out the latest one,
in order not to confuse the phone.

Please test!

Greetings from Torremolinos outside of Malaga, Spain :-) 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-26-08 13:54  oej            Note Added: 0081211                          
======================================================================




More information about the asterisk-bugs mailing list