I’m running FreePBX 5.211.65-14 and Asterisk 11.12.
I have an ACD environment with 7 different queues. All queues, for the most part, have the same dynamic extensions assigned, except for 2 that have 1 or 2 additional extensions. The issue I’m experiencing is that calls waiting for a shorter amount of time in one queue are being delivered to agents before calls that have been waiting longer in another queue. I suppose this is somewhat logical because each queue is configured independently and can have their own settings (autofill, weight, ring strategy, etc.). However all of these queues are configured exactly the same in freepbx:
rrmemory as the strategy
Queue weight = 0
Skip Busy Agents = Yes
Wrap: 1 minute
I’ve tried and do use autofill, but from what I’ve read that just helps deliver more than one waiting call simultaneously if there is are multiple agents available to receive a call.
I guess in layman’s terms what I’m looking for is a way for all of these queues to recognize each other and work together in delivering calls to available agents, first in, first out. Basically so that Queue 1 has a waiting call for 2 minutes, and Queue B, C, and D all have calls waiting for 1 minute, Queue 1’s call should have priority and be delivered and answered first because it’s been waiting the longest.
I feel like this is basic functionality in a contact center environment, yet I can’t find a setting or any documentation in freepbx or asterisk to make it work this way. Maybe I’m missing something very basic, if so I apologize in advance, but any help would be greatly appreciated.
Having all the queues with the same weight means they are treated equally and their configuration will be executed as needed. So if Queue A is supposed to have priority for the agent over Queue B, C and D then Queue A should have a higher weight than all the other queues the agents are in.
A queue with a weight of 1 will be prioritized over queues with a weight of 0 when an available channel (agent) exists in multiple queues.
All the queues having same weight but they are not treating equally.
The calls waiting for a shorter amount of time in one queue are being delivered to agents before calls that have been waiting longer in another queue.
My requirement is all my 7 queues should have same weight and agents are common on all 7 queues. longest waiting call from any of the queue should land first(First in first out) to the agent. This is the basic call center functionality if i am not wrong.
This doesn’t solve the problem. All it does is set a bunch of variables for the actual queue the call gets sent to. It does not stop the queue weight problem and any type of race conditions.
I must be missing something, because to me, the virtual queue seems like the correct answer.
They would all go to one queue. With the Autofill turned off, this will essentially be first in and first out. Virtual queue will also allow for unique announcement and reporting of the call, so you can still keep your queue numbers separate.
Adjusting the penalty will allow the 1-2 special extensions to be reserved for just the right calls even though it is all one queue.