[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
Thu Jun 19 14:30:09 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12884 
====================================================================== 
Reported By:                bcnit
Assigned To:                putnopvut
====================================================================== 
Project:                    Asterisk
Issue ID:                   12884
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
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-19-2008 14:30 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!
====================================================================== 

---------------------------------------------------------------------- 
 bcnit - 06-19-08 14:30  
---------------------------------------------------------------------- 
Tried to apply the patch, but hunk 4 failed:

[root at pbx09a apps]# patch < ~/queuepatch
patching file app_queue.c
Hunk http://bugs.digium.com/view.php?id=1 succeeded at 510 (offset -16 lines).
Hunk http://bugs.digium.com/view.php?id=2 succeeded at 1692 (offset 27 lines).
Hunk http://bugs.digium.com/view.php?id=3 succeeded at 1657 (offset -16 lines).
Hunk http://bugs.digium.com/view.php?id=4 FAILED at 1665.
Hunk http://bugs.digium.com/view.php?id=5 succeeded at 4348 (offset -138 lines).
Hunk http://bugs.digium.com/view.php?id=6 succeeded at 4617 (offset -18 lines).
1 out of 6 hunks FAILED -- saving rejects to file app_queue.c.rej 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-19-08 14:30  bcnit          Note Added: 0088957                          
======================================================================




More information about the asterisk-bugs mailing list