[asterisk-bugs] [Asterisk 0012690]: [patch] Queue timeout terminates call attempt, causing partial ring

noreply at bugs.digium.com noreply at bugs.digium.com
Fri May 23 11:57:50 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12690 
====================================================================== 
Reported By:                atis
Assigned To:                putnopvut
====================================================================== 
Project:                    Asterisk
Issue ID:                   12690
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.4.19 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             05-20-2008 11:25 CDT
Last Modified:              05-23-2008 11:57 CDT
====================================================================== 
Summary:                    [patch] Queue timeout terminates call attempt,
causing partial ring
Description: 
If queue timeout occurs while queue is trying to ring member, call attempt
is terminated, not executing any instructions further, and causing partial
ring, which can sometimes be even one second.

After discussion with putnopvut on irc, we came to conclusion that this is
bug.


====================================================================== 

---------------------------------------------------------------------- 
 putnopvut - 05-23-08 11:57  
---------------------------------------------------------------------- 
Very nice chart! The problem I have with the proposed timeouts is all the
cases where qe->expire is set to some time but the qe->parent->timeout is
0. In those cases, we would ring the member indefinitely and completely
ignore the desired Queue() timeout value. I think a better approach would
be to use qe->parent->timeout if it is defined. Otherwise, use qe->expire -
now. Thus, the table would be edited like so:
<pre>
qe->expire | qe->expire - now | qe->parent->timeout | to (current) |     
to (proposed)
===========|==================|=====================|==============|===============
   T+20    |       20         |       10            |     10000    |  
10000
   T+10    |       10         |       10            |     10000    |  
10000
    T+5    |        5         |       10            |      5000    |  
10000
     T     |        0         |       10            |         0    |      
0
   T+20    |       20         |        0            |     20000    |  
20000
   T+10    |       10         |        0            |     10000    |  
10000
    T+5    |        5         |        0            |      5000    |   
5000
     T     |        0         |        0            |         0    |      
0
     0     |       -T         |       10            |     10000    |  
10000
     0     |       -T         |        5            |      5000    |   
5000
     0     |       -T         |        0            |        -1    |     
-1
</pre>

By the way, you asked about the timeout restart option. The purpose of
this is so that the timer will be re-initialized if a second member is
attempted during the calling time. So for instance, if you have the timeout
in queues.conf set to 20, then when your turn comes, you have 20 seconds in
which you will attempt to ring members. If the first member you try to
reach waits 5 seconds and then presses the reject button on his phone, then
you still have 15 seconds in which to attempt to reach a member before the
timer expires. However, if you have timeoutrestart turned on, then the
timer will be reset to 20 seconds after the first member rejects the call.
timeoutrestart does nothing if the queue uses the "ringall" strategy. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
05-23-08 11:57  putnopvut      Note Added: 0087263                          
======================================================================




More information about the asterisk-bugs mailing list