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

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Feb 8 20:05:48 CST 2010


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=16789 
====================================================================== 
Reported By:                alecdavis
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   16789
Category:                   Channels/chan_dahdi
Reproducibility:            sometimes
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           SVN 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.1 
SVN Revision (number only!): 243988 
Request Review:              
====================================================================== 
Date Submitted:             2010-02-08 19:57 CST
Last Modified:              2010-02-08 20:05 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.
====================================================================== 

---------------------------------------------------------------------- 
 (0117872) alecdavis (manager) - 2010-02-08 20:05
 https://issues.asterisk.org/view.php?id=16789#c117872 
---------------------------------------------------------------------- 
Have a repeatable situation. See overlap-retry.txt

This is a capture before the applied patch. With 2 SETUP's with the same
call reference and channel.

An overlap call comes in, 3 seconds later asterisk starts to make the
call, but the switch has seen anything back, other than the SETUP ACK.

As a workaround adding a PROCEEDING to the first line of the macro that
gets executed, I couldn't get it to fail, like below.

[macro-callmobile]
exten => s,1,Proceeding()
exten => s,n,NoOp(****** Call Mobile called=${ARG1}
context=${MACRO_CONTEXT} ******)

Q.931 spec 5.2.4, 'overlap receiving' section mentions that Proceeding, or
Alerting etc should be sent after T302 times out, if asterisk deems that
it's received enough information to make the call. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-02-08 20:05 alecdavis      Note Added: 0117872                          
======================================================================




More information about the asterisk-bugs mailing list