[asterisk-bugs] [Asterisk 0012349]: Optional timeout parameter is not optional

noreply at bugs.digium.com noreply at bugs.digium.com
Wed Apr 2 09:30:57 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12349 
====================================================================== 
Reported By:                johnlange
Assigned To:                putnopvut
====================================================================== 
Project:                    Asterisk
Issue ID:                   12349
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     closed
Asterisk Version:           1.4.18 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
Resolution:                 fixed
Fixed in Version:           
====================================================================== 
Date Submitted:             04-01-2008 16:56 CDT
Last Modified:              04-02-2008 09:30 CDT
====================================================================== 
Summary:                    Optional timeout parameter is not optional
Description: 
The documentation shows that Queues should be called as follows:

Queue(queuename[|options[|URL][|announceoverride][|timeout][|AGI])

However, if timeout is left empty or set to 0, the queue times out
immediately.

e.g.:

exten => s,1,Queue(queue-test|ti||||update-queue)

The logged in agent gets a very short ring then the call sits in the queue
for a few seconds then goes to the next priority after the Queue
statement.

I think that this:

        /* set the expire time based on the supplied timeout; */
        if (args.queuetimeoutstr)
                qe.expire = qe.start + atoi(args.queuetimeoutstr);
        else
                qe.expire = 0;

should actually be:

        /* set the expire time based on the supplied timeout; */
        if (!ast_strlen_zero(args.queuetimeoutstr))          
                qe.expire = qe.start + atoi(args.queuetimeoutstr);
        else
                qe.expire = 0;

I tried this above and it seemed to fix the problem. Diff is in additonal
info.
====================================================================== 

---------------------------------------------------------------------- 
 putnopvut - 04-02-08 09:30  
---------------------------------------------------------------------- 
The patch is much appreciated, and this is definitely what should be in the
code. In the future, though, please upload patches as attachments on bugs
so that they can go through the proper licensing process. In this case,
since the patch was one line, I'll go ahead and commit it.

Thanks for the contribution! 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
04-02-08 09:30  putnopvut      Note Added: 0084919                          
======================================================================




More information about the asterisk-bugs mailing list