[asterisk-bugs] [Asterisk 0016789]: [patch] Overlap receiving timeout, plus dialplan latency, causes network to retry SETUP

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Jan 25 11:49:23 CST 2011


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16789 
====================================================================== 
Reported By:                alecdavis
Assigned To:                alecdavis
====================================================================== 
Project:                    Asterisk
Issue ID:                   16789
Category:                   Channels/chan_dahdi
Reproducibility:            sometimes
Severity:                   minor
Priority:                   normal
Status:                     closed
Asterisk Version:           SVN 
JIRA:                       SWP-887 
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.1 
SVN Revision (number only!): 243988 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             2010-02-08 19:57 CST
Last Modified:              2011-01-25 11:49 CST
====================================================================== 
Summary:                    [patch] Overlap receiving timeout, plus dialplan
latency, causes network to retry SETUP
Description: 
An overlap received call, should have a PROCEEDING sent when asterisk has
deemed that no further digits are coming, IE when asterisk starts executing
the dialplan.

The issue is, ast_waitfordigit in ss_thread waits 'matchdigittimeout'
which set 3 seconds, then there is dialplan delay, which may take a while
to execute PROGRESS(), PROGRESS() or ANSWER(). In our case, database
lookups.

When the network retries the SETUP, with the same channel and call
reference, libpri deems this as a 'Not a new call' and promptly rejects the
call. Now the call is lost!.

Previously it has required the PROCEEDING() to be the the first line of
the dialplan context.
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0017085 [patch] [regression] Overlap dialing to...
related to          0017414 [patch] ss_thread calls pri_grab withou...
related to          0018509 [patch] Sending out unnecessary PROCEED...
====================================================================== 

---------------------------------------------------------------------- 
 (0131030) svnbot (reporter) - 2011-01-25 11:49
 https://issues.asterisk.org/view.php?id=16789#c131030 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 303771

_U  branches/1.8/
U   branches/1.8/channels/chan_dahdi.c
U   branches/1.8/channels/sig_pri.c
U   branches/1.8/channels/sig_pri.h
U   branches/1.8/channels/sig_ss7.c
U   branches/1.8/channels/sig_ss7.h

------------------------------------------------------------------------
r303771 | rmudgett | 2011-01-25 11:49:21 -0600 (Tue, 25 Jan 2011) | 54
lines

Merged revisions 303769 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r303769 | rmudgett | 2011-01-25 11:42:42 -0600 (Tue, 25 Jan 2011) | 47
lines
  
  Merged revisions 303765 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r303765 | rmudgett | 2011-01-25 11:36:50 -0600 (Tue, 25 Jan 2011) | 40
lines
    
    Sending out unnecessary PROCEEDING messages breaks overlap dialing.
    
    Issue https://issues.asterisk.org/view.php?id=16789 was a good idea. 
Unfortunately, it breaks overlap
dialing
    through Asterisk.  There is not enough information available at this
point
    to know if dialing is complete.  The ast_exists_extension(),
    ast_matchmore_extension(), and ast_canmatch_extension() calls are not
    adequate to detect a dial through extension pattern of "_9!".
    
    Workaround is to use the dialplan Proceeding() application early in
    non-dial through extensions.
    
    * Effectively revert issue https://issues.asterisk.org/view.php?id=16789.
    
    * Allow outgoing overlap dialing to hear dialtone and other early
media.
    A PROGRESS "inband-information is now available" message is now sent
after
    the SETUP_ACKNOWLEDGE message for non-digital calls.  An
    AST_CONTROL_PROGRESS is now generated for incoming SETUP_ACKNOWLEDGE
    messages for non-digital calls.
    
    * Handling of the AST_CONTROL_CONGESTION in chan_dahdi/sig_pri was
    inconsistent with the cause codes.
    
    * Added better protection from sending out of sequence messages by
    combining several flags into a single enum value representing call
    progress level.
    
    * Added diagnostic messages for deferred overlap digits handling
corner
    cases.
    
    (closes issue https://issues.asterisk.org/view.php?id=17085)
    Reported by: shawkris
    
    (closes issue https://issues.asterisk.org/view.php?id=18509)
    Reported by: wimpy
    Patches:
          issue18509_early_media_v1.8_v3.patch uploaded by rmudgett
(license 664)
          Expanded upon issue18509_early_media_v1.8_v3.patch to include
analog
          and SS7 because of backporting requirements.
    Tested by: wimpy, rmudgett
  ........
................

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

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

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-01-25 11:49 svnbot         Checkin                                      
2011-01-25 11:49 svnbot         Note Added: 0131030                          
======================================================================




More information about the asterisk-bugs mailing list