[asterisk-users] Problems with new logic being 'n' option to Queue in 1.4.9

Mark Michelson mmichelson at digium.com
Fri Jul 27 07:31:36 CDT 2007



James FitzGibbon wrote:
> On 7/26/07, *James FitzGibbon* <james.fitzgibbon at gmail.com 
> <mailto:james.fitzgibbon at gmail.com>> wrote:
>
>
>     Is it possible for qe.parent->membercount to be set to zero in a
>     queue where all agents but one are on the phone and that one
>     remaining agent lets their phone ring without answering it?
>
>
>
> I added some debug code to app_queue and ran a few tests.  The change 
> in app_queue in 1.4.9 breaks queues configured as "joinempty=yes".
>
> If there are no members in the queue, the membercount will be 0.  A 
> queue configured as joinempty=yes should still allow calls to be 
> enqueued in this case.  Because go_on is zero and membercount is zero 
> and the comparison is "go_on >= qe.parent->membercount", any calls 
> that attempt to join a queue without any members will immediately get 
> kicked back to the dialplan.
>
>     -- Executing [s at macro-enqueue:16] Queue("Zap/23-1", "XXXXX|tW") in 
> new stack
>     -- Started music on hold, class 'default', on Zap/23-1
> [Jul 27 07:49:27] WARNING[31209]: app_queue.c:3458 queue_exec: about 
> to compare XXXXX's go_on (0) >= qe.parent->membercount (0)
>     -- Exiting on time-out cycle
>
> Though I can't seem to lock onto the circumstances, I also oberved 
> this breaking queues configured as "leavewhenempty=no".  I can't seem 
> to replicate it using a single queue and a single member (on pause or 
> on a call or letting their phone ring through), but as I described in 
> my first message, I did see the "Exiting on time-out cycle" message 
> last night when I had 4 people in the queue, all on a call, and one 
> person didn't pick up their phone.
>
> Still, the joinwhenempty breakage should be enough to prompt a backout 
> or rapid fix for this.  Until recently, my dialplan didn't gracefully 
> handle a return from Queue() because all my queues were configured as 
> "joinempty=yes" and "leavewhenempty=no".  Recently I added logic to 
> kick users back to the IVR if Queue returns for any reason, but had I 
> not made that change, 1.4.9 would have resulted in my callers getting 
> unceremoniously hung up on if they tried to join a queue without agents.
>
> I'll go open a bug report.
>
> -- 
> j.
> ------------------------------------------------------------------------
>
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users

Could you submit this as an issue on the bugtracker? The 'n' option was 
mucked with just prior to the 1.4.9 release and so any problems 
experienced with it should be reported there so they can be fixed as 
quickly as possible.



More information about the asterisk-users mailing list