[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:42:43 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:42 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...
====================================================================== 

---------------------------------------------------------------------- 
 (0131027) svnbot (reporter) - 2011-01-25 11:42
 https://issues.asterisk.org/view.php?id=16789#c131027 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 303769

_U  branches/1.6.2/
U   branches/1.6.2/channels/chan_dahdi.c

------------------------------------------------------------------------
r303769 | rmudgett | 2011-01-25 11:42:43 -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=303769 

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




More information about the asterisk-bugs mailing list