Rupert Utteridge - Digital Techniques (Austalia) Limited
2009-Jul-17 06:48 UTC
[asterisk-users] Skill based routing
We are trying to implement skill based routing for agents in a support centre based on the agent login. Has anyone had any experience with this and what was the outcome? Can anyone share their ideas on this? Rupert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20090717/8bb5284f/attachment.htm
Rupert Utteridge - Digital Techniques (Austalia) Limited wrote:> We are trying to implement skill based routing for agents in a support > centre based on the agent login. Has anyone had any experience with this > and what was the outcome?It can't really be done using Asterisk queues, unless you want to create a large number of queues for every relevant skill factor and have agents join various combinations of these simultaneously--which would take quite a bit of dial plan and/or AGI logic to pull off. Plus, that doesn't scale any given queue beyond one host. I suggest you look into using FastAGI[1] to simulate the queue experience by generating hold music and announcements without actually using Asterisk queues per se. This is quite possible to do, and, this allows you to distribute queues across multiple hosts, as well as distribute calls within those queues by whatever logic you choose. No shoehorning--just write it yourself. -- Alex [1] Yes, FastAGI. Not local AGI. And most especially not in PHP; contrary to a lot of the info out there, PHP could not possibly be a less suitable language in which to write AGI scripts. I don't know who comes up with these lavish heights of mediocrity. -- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671
Rupert Utteridge - Digital Techniques (Austalia) Limited wrote:> We are trying to implement skill based routing for agents in a support > centre based on the agent login. Has anyone had any experience with this > and what was the outcome? > > Can anyone share their ideas on this?I haven't built it yet, but have the idea of just using Local channels, placed in a queue, which when a call comes into the queue sets some channel variables (and making them transitive so they are available on the other side), then when the Queue calls the Local channel, to perform lookups from the set variables that verifies the call should be sent to the agent. If so, then it allows the call to go through and uses the Dial() in the Local channel to call the agent. Otherwise, it just hangs up, which then places the call back into the Queue, and will then just find a new agent. I'm sure there are a few other ways to do it, and there may be some disadvantages to my idea, but it seems pretty straight forward :) Leif Madsen. http://www.leifmadsen.com http://www.oreilly.com/catalog/asterisk