Discussion:
[Asterisk-Users] Skill-based routing
Tamas
2006-05-21 13:47:42 UTC
Permalink
Hello,

does anybody know about an existing skill-based routing solution for
asterisk? I found only some theoretical documents on voip-info.org.

I would like to have finer control over who can get which call in which
order.

Example:
Several operators with several topics.
Each operator may have a given knowledge-base for given topic. Topics
may be weighted in question of complexity as well.
Some operators may be experts, able to answer hard questions, while some
may only make some basic tasks [e.g. activate/deactivate services,
etc.]. Of course we don't want to give a simple question to an expert if
there are other people to be able to answer it [if another question
comes in which is complex, let's have the expert free if possible].
Classification of questions may be done with IVR.
The ACD should have also waiting queues with MOH.


As you can see, there is no real concept yet, what to do, but from this
I can see, that the given complicated ACD cannot be done in app_queue
(or am I wrong?).

I was thinking about rewriting app_queue to let communicate with an
external application about routing decision. Thus an external script
[e.g. daemon process listening on UDP] can easily decide where to route
the call. In a high-level language it won't be a problem. Of course,
that external application must know the current state of all
agents/operators, weights, etc.

Another approach is to use a combination of
- Manager API: to collect states and give some commands like Redirect
- FastAGI: to make the routing decision
- dialplan: to play IVR, MOH, call the FastAGI, analyze results, route
in loop
Of course there are several open question with this solution.

I'm searching for an optimal solution which can be very simple and with
some programming [expanding the external operative application] can be
very complex, allowing different skill-based routing systems.

Any help, idea appreciated.

Kind regards,
Tamas
Steve Totaro
2006-05-21 14:09:37 UTC
Permalink
Simple solution. Use different queues for skillsets, add agents with
penalties based on their skillset. 1 means expert, 100 means you just
want the call answered if nobody with a lower penalty is available. Use
an IVR to direct the caller to the correct queue (topic).

Penalties can be set through the manager interface with a small patch.
I did not write the patch and therefore cannot supply it but it is
possible and took a good developer about ten minutes to write.

Thanks,
Steve
Post by Tamas
Hello,
does anybody know about an existing skill-based routing solution for
asterisk? I found only some theoretical documents on voip-info.org.
I would like to have finer control over who can get which call in which
order.
Several operators with several topics.
Each operator may have a given knowledge-base for given topic. Topics
may be weighted in question of complexity as well.
Some operators may be experts, able to answer hard questions, while some
may only make some basic tasks [e.g. activate/deactivate services,
etc.]. Of course we don't want to give a simple question to an expert if
there are other people to be able to answer it [if another question
comes in which is complex, let's have the expert free if possible].
Classification of questions may be done with IVR.
The ACD should have also waiting queues with MOH.
As you can see, there is no real concept yet, what to do, but from this
I can see, that the given complicated ACD cannot be done in app_queue
(or am I wrong?).
I was thinking about rewriting app_queue to let communicate with an
external application about routing decision. Thus an external script
[e.g. daemon process listening on UDP] can easily decide where to route
the call. In a high-level language it won't be a problem. Of course,
that external application must know the current state of all
agents/operators, weights, etc.
Another approach is to use a combination of
- Manager API: to collect states and give some commands like Redirect
- FastAGI: to make the routing decision
- dialplan: to play IVR, MOH, call the FastAGI, analyze results, route
in loop
Of course there are several open question with this solution.
I'm searching for an optimal solution which can be very simple and with
some programming [expanding the external operative application] can be
very complex, allowing different skill-based routing systems.
Any help, idea appreciated.
Kind regards,
Tamas
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
Asterisk-Users mailing list
http://lists.digium.com/mailman/listinfo/asterisk-users
Continue reading on narkive:
Loading...