[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 12:50:56 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 12:50 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!
====================================================================== 

---------------------------------------------------------------------- 
 davidw - 06-18-08 12:50  
---------------------------------------------------------------------- 
I'm not clear, to me, whether you are suggesting that QUEUE_MEMBER() is
wrong, or whether you are suggesting that a queue shouldn't reject calls if
it has members, even though the members are disqualified from handling the
call.

My own feeling is that one needs much more fine grained control.  The
problem we had was that having all members paused will produce similar
results, but we were using pause as part of our normal operation.  We had
to go to joinempty=yes. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-18-08 12:50  davidw         Note Added: 0088873                          
======================================================================




More information about the asterisk-bugs mailing list