[asterisk-users] ACD functionality , Skills for agents

James FitzGibbon james.fitzgibbon at gmail.com
Tue Nov 20 10:02:32 CST 2007


On Nov 20, 2007 10:16 AM, Kyriakos <kyriakos at otenettel.com> wrote:

>   I have a question regarding ACD for queues.   What happens when I have 2
> or more queues with same weight and  each queue has a call in?  How will it
> decide which call will be routed to the next available agent? Will it take
> the call with the longest waiting time in queue?  If not how would I do
> this?

Beware of queue weights.  They have caused major problems in the past
for many people on this list.  As I understand it, enabling weights
requires * to grab a lock on a large number of data structures related
to queue state, which can cause performance slowdowns and crashes.  I
haven't seen reports of this recently, so it might be better in the
later 1.4 releases, but at one time it was a sure-fire recipe for
pain.

> Also can someone point me to resources for making a single queue with
> customer calls tagged with agent skills? What I mean is instead of having
> multiple queues Sales,Tech support, etc,  have only a single queue with
> calls being tagged according to the customer's choice from IVR, so if a
> customer would choose SALES , the call would go into the queue with other
> calls but it would only be answered from agents with the skill "SALES".
> This is something offered in other PBX systems like Avaya but im pretty sure
> it can be done on Asterisk, right?

It probably could be, but it would make reporting pretty difficult, as
the key fields in the queue log are the call id and the queue name.
While you could use the QueueLog() application to stick extra data
about the call (e.g the skill chosen from the IVR) into the queue log,
that would appear in one line only and require post-processing to glue
it together with the rest of the data for that call.  I'm pretty sure
it wouldn't mesh nicely with the reporting package I use
(QueueMetrics).

What I do for this is maintain queue (skill) membership in a database,
then add the channels to the appropriate queues when the agents log on
via a web page.  Is there a particular reason you want to just have
one queue?

-- 
j.



More information about the asterisk-users mailing list