Caller Distribution (multiple Queues, same agents)


We are using asterisknow with the freepbx interface.

We have two queues, say queue1 and queue2 with the same agents in both queues say agent1 and agent2. Queues are set identical, same ring strategy, least recent.

I presumed that no matter which no matter which queue a caller came in on, the caller waiting the longest should be distributed first. This doesn’t seem to be the case, sometimes we have a caller in queue1 waiting say 4mins and a caller in queue2 waiting 30secs and when an agent is free, the caller waiting 30sec is passed to the available agent.

Is there anything I can do so that the callers are first come first served?
Is there any documentation to this queueing strategy as I don’t seem to be able to find it?


It doesn’t work that way. Both callers poll for a free agent every second. You only have one weight, so the call that gets to the agent first within the second will win. LRU strategies only apply within a single queue. The only time that there are interactions between queues is when the agent is also in a higher weight queue, in which case the agent is ignored unless there are more available agents than calls at the higher weight (this is somewhat flawed when you have more than one higher weight queue).

Thanks for the explanation, it makes sense now.


Does anyone know if this feature has been resolved or somewhat given a option set set how calls are distributed?


There has been no change.

If the two queues are 100% identical, you can use one queue with 2 different extensions pointing at it.

exten => 123,1,Queue(queue_1)
exten => 456,1,Queue(queue_1)

I don’t see the point of having 2 queues which are exactly the same, but maybe I’m missing something (Sorry in that case!)