[asterisk-bugs] [Asterisk 0012884]: Queue is treated as empty if it isn't, but no agents meet the QUEUE_MIN_PENALTY and QUEUE_MAX_PENALTY criteria

noreply at bugs.digium.com noreply at bugs.digium.com
Wed Jun 18 15:32:26 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12884 
====================================================================== 
Reported By:                bcnit
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12884
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
Asterisk Version:           1.6.0-beta9 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             06-18-2008 12:19 CDT
Last Modified:              06-18-2008 15:32 CDT
====================================================================== 
Summary:                    Queue is treated as empty if it isn't, but no agents
meet the QUEUE_MIN_PENALTY and QUEUE_MAX_PENALTY criteria
Description: 

In a situation where a call is placed into a queue as follows:

exten => s,n,Set(QUEUE_MAX_PENALTY=1)
exten => s,n,Set(QUEUE_MIN_PENALTY=1)
exten =>
s,n,Queue(${ORGCODE}_${ORGQUEUE},ih,,${ORGCODE}/announce-incoming)
)
The queue is deemed to be empty if there are no agents with a penalty of 1
as a member of the queue.

We use queuerules.conf to raise the QUEUE_MAX_PENALTY value to overflow
calls to other departments and in our case (and I can imagine, other
people's too), it is perfectly legitimate to have members with a penalty of
2 logged in and no members with penalty 1.

As a result of this, the function QUEUE_MEMBER() returns incorrect data
(i.e. QUEUE_MEMBER(free) may return the "number of logged-in members for
the specified queue available to take a call" as 10, but in reality and
because of the penalty issue, it is zero.

I have been able to work around this by checking QUEUE_MEMBER(count) after
I receive a JOINEMPTY bounce out, incrementing QUEUE_MAX_PRIORITY and
trying again, but this is far from ideal!
====================================================================== 

---------------------------------------------------------------------- 
 putnopvut - 06-18-08 15:32  
---------------------------------------------------------------------- 
I have uploaded a patch which takes care of the joinempty problem reported.
I still need to patch app_queue to advance to the next defined rule in a
leaveempty situation as well. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-18-08 15:32  putnopvut      Note Added: 0088881                          
======================================================================




More information about the asterisk-bugs mailing list