[asterisk-users] Agents in more than one queue at once

Alex Forster alex at alexforster.com
Mon Oct 22 11:44:04 CDT 2012


> In general there is no guaarantee as which call will connect; each queue is
> independent AFAIK.

Lenz- big fan :) And I'm sure this topic is of interest to you...

I'll admit, I had a feeling that "it's random" would be the response to my
original question. I remember reading the app_queue code a while back and
getting the impression that the logic was something like-

* Loop through the list of all queued calls in the system, one by one. If the
current call is 'next' in its respective queue (as defined by the queue
scheduling algo), then we need to find an agent to take this call...
* Loop through the list of agents who are members of this queue. If the current
agent is available to take a call, then send the call to the available agent.

This logic leaves the above mentioned oversight where at no point is it ever
considered that an agent may be a member of more than one queue. Even with a
fair scheduling algo applied to each queue, this bug causes queues with large
numbers of waiting calls and/or large numbers of available agents to starve
other queues.

Effectively, this bug makes skills-based routing impossible, because "unique"
skills can not exist. Additionally, regardless of how many callers are in
queue, this bug causes hold times to increase - significantly, in our case.

This is an important oversight in my opinion because it is the only way that
skills-based routing can be implemented within the framework of app_queue.
Without fixing this issue, Asterisk can not claim to have a reliable method
of implementing skills-based routing.


*DEVELOPERS* - If I took a crack at fixing this issue, what general tips do
you have for me to make it most likely that my solution can be integrated
into HEAD? I believe I can justify spending some time at work to deal with
this, but not without at least a decent chance that the work will be
integrated into mainline (assuming it doesn't suck, of course :)

Alex Forster




More information about the asterisk-users mailing list