On 7/26/07, <b class="gmail_sendername">James FitzGibbon</b> <<a href="mailto:james.fitzgibbon@gmail.com">james.fitzgibbon@gmail.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>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?</blockquote><div><br><br>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".<br><br>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.<br><br> -- Executing [s@macro-enqueue:16] Queue("Zap/23-1", "XXXXX|tW") in new stack
<br> -- Started music on hold, class 'default', on Zap/23-1<br>[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)<br> -- Exiting on time-out cycle
<br><br>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.
<br><br>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.<br><br></div>I'll go open a bug report.<br></div><br>-- <br>j.