[asterisk-bugs] [Asterisk 0018447]: timeout parameter always honoured when no response to signalling

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Dec 16 16:13:56 UTC 2010


The following issue requires your FEEDBACK. 
====================================================================== 
https://issues.asterisk.org/view.php?id=18447 
====================================================================== 
Reported By:                asgaroth
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   18447
Category:                   Applications/app_dial
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.6.2.15 
JIRA:                        
Regression:                 No 
Reviewboard Link:            
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2010-12-09 08:13 CST
Last Modified:              2010-12-16 10:13 CST
====================================================================== 
Summary:                    timeout parameter always honoured when no response
to signalling
Description: 
When a sip phone is not responding to invites on an outbound call, the dial
application still waits the duration of timeout before continuing with
dialplan execution. I was under the impression that app_dial would timeout
on the signalling prior to the timeout parameter specified in the dial
parameter.

For example, consider the following dialplan:

exten => 111,1),Dial(SIP/phone1,30,tg)
exten => 111,n,NoOp(DialStatus=${DIALSTATUS})
exten => 111,n,GotoIf($[${DIALSTATUS} = CHANUNAVAIL]?unavail)
exten => 111,n,GotoIf($[${DIALSTATUS} = NOANSWER]?unavail)
exten => 111,n,GotoIf($[${DIALSTATUS} = BUSY]?busy)
exten => 111,n,GotoIf($[${DIALSTATUS} = CONGESTION]?busy)
exten => 111,n(unavail), Goto(voice-mail,vmu-phone1,1)
exten => 111,n(busy), Goto(voice-mail,vmb-phone1,1)

Under normal operation the originating caller is passed through to
voicemail. However, if/when the device is not responding to invites, for
whatever reason, the dial application waits 30 seconds before setting the
DIALSTATUS to NOANSWER.

Would it be possible to have the dial application timeout on no response
to INVITES prior to the actual timeout value specified on the dial?
====================================================================== 

---------------------------------------------------------------------- 
 (0129677) lmadsen (administrator) - 2010-12-16 10:13
 https://issues.asterisk.org/view.php?id=18447#c129677 
---------------------------------------------------------------------- 
I would actually expect this, as it would only timeout after over a
minute:

1: 1 second
2: 2 seconds (3 seconds elapsed)
3: 4 seconds (7 seconds elapsed)
4: 8 seconds (15 seconds elapsed)
5: 16 seconds (31 seconds elapsed)
6: 32 seconds (63 seconds elapsed)

I'm pretty sure Asterisk attempts to retransmit the INVITE 6 times,
doubling the amount of time it waits for the INVITE response. (At least
this is how it used to work).

If you set the timeout in Dial() to something like 120, I would guess it
would rollover after 63 seconds.

I think you need to use session-timers in order to get around this issue. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-12-16 10:13 lmadsen        Note Added: 0129677                          
2010-12-16 10:13 lmadsen        Status                   new => feedback     
======================================================================




More information about the asterisk-bugs mailing list