[asterisk-bugs] [Asterisk 0010332]: SIP - ACK not processed, 200 OK retransmitted

noreply at bugs.digium.com noreply at bugs.digium.com
Fri Sep 14 12:54:37 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10332 
====================================================================== 
Reported By:                rudinsky
Assigned To:                oej
====================================================================== 
Project:                    Asterisk
Issue ID:                   10332
Category:                   Channels/chan_sip/Interoperability
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:            1.2.22  
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             07-30-2007 05:10 CDT
Last Modified:              09-14-2007 12:54 CDT
====================================================================== 
Summary:                    SIP - ACK not processed, 200 OK retransmitted
Description: 
Making a SIP call over long-delay connection causes Asterisk to quit the
session unexpectedly.

Jul 30 10:48:54 WARNING[24077]: chan_sip.c:1228 retrans_pkt: Maximum
retries 
exceeded on transmission NWZiNGViNTlhNGQ5ODFkNjQ0YzU0MmNmZTdkODRkMmM. for
seqno 2 (Critical Response)
Jul 30 10:48:54 WARNING[24077]: chan_sip.c:1245 retrans_pkt: Hanging up
call 
NWZiNGViNTlhNGQ5ODFkNjQ0YzU0MmNmZTdkODRkMmM. - no reply to our critical
packet.
Jul 30 10:48:54 WARNING[24103]: file.c:592 ast_readaudio_callback: Failed
to write frame
  == Spawn extension (default, 334, 1) exited non-zero on
'SIP/honza-0819bd20'

Probably the ACK is not processed and Asterisk resends 200 OK response.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
duplicate of        0009335 High latency (satellite) hangup on inte...
====================================================================== 

---------------------------------------------------------------------- 
 neutrino88 - 09-14-07 12:54  
---------------------------------------------------------------------- 
I had a similar situation where a SIP phone would initiate a new
transaction BEFORE the ACK was sent:


SIP Phone                Asterisk

INVITE (CSEQ=1) ---------->

<------------------ 180 RINGING

<------------------ 200 OK

INFO (CSEQ=3) ---------->
 <------------------ 200 OK

ACK CSEQ = 2 ------------> dropped

<------------------- 200 OK (CSEQ=2) restransmision

I designed a patch for 1.4.x branch

Index: channels/chan_sip.c
===================================================================
--- channels/chan_sip.c (révision 82392)
+++ channels/chan_sip.c (copie de travail)
@@ -14952,7 +14952,7 @@
        if (option_debug > 3)
                ast_log(LOG_DEBUG, "**** Received %s (%d) - Command in SIP
%s\n", sip_methods[p->method].text, sip_methods[p->method].id, cmd);

-       if (p->icseq && (p->icseq > seqno)) {
+       if (p->icseq && (p->icseq > seqno) && req->method != SIP_ACK) {
                if (option_debug)
                        ast_log(LOG_DEBUG, "Ignoring too old SIP packet
packet %d (expecting >= %d)\n", seqno, p->icseq);
                if (req->method != SIP_ACK) 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
09-14-07 12:54  neutrino88     Note Added: 0070555                          
======================================================================




More information about the asterisk-bugs mailing list