[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:36:52 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:36 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...
====================================================================== 

---------------------------------------------------------------------- 
 (0131024) svnbot (reporter) - 2011-01-25 11:36
 https://issues.asterisk.org/view.php?id=16789#c131024 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 303765

U   branches/1.4/channels/chan_dahdi.c

------------------------------------------------------------------------
r303765 | rmudgett | 2011-01-25 11:36:51 -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=303765 

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




More information about the asterisk-bugs mailing list