Just use FastAGI to hit a little process that queries a database and returns the extensions of the &quot;most skilled&quot;<br><br>Have FastAGI return those extensions and pass them to a dial command with the m flag (music if memory serves me correctly (pre-coffee)  Make the &quot;music&quot; the standard junk you hear while waiting in a queue.<br>
<br>Be sure the extensions you are calling don&#39;t have voicemail and you are obviously going to lose round robin and other dialing schemes unless you come up with some other logic.<br><br>Multiple queues seems like the approach I would take.  AMI can change agent penalties on the fly as well as add and remove them from queues.  Just an FYI.<br>
<br>Maybe a mix of multiple queues, FastAGI, dialplan logic, and AMI.<br><br>Should be a fun project to get working and then fine tune.<br><br>Thanks,<br>Steve Totaro<br><br><div class="gmail_quote">On Fri, Jul 17, 2009 at 6:36 AM, Julian Lyndon-Smith <span dir="ltr">&lt;<a href="mailto:asterisk@dotr.com">asterisk@dotr.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Um, I really don&#39;t know - we just use the periodic messages to play<br>
the traditional &quot;Your call is important to use&quot; (whatever the<br>
wording..)<br>
<div><div></div><div class="h5"><br>
Julian.<br>
<br>
2009/7/17 Alex Balashov &lt;<a href="mailto:abalashov@evaristesys.com">abalashov@evaristesys.com</a>&gt;:<br>
&gt;<br>
&gt; What value do the queue announcements (I am assuming these are pertaining<br>
&gt; to expected hold time, etc.) if there is only one agent?<br>
&gt;<br>
&gt;&gt; We use a queue so that we can have all the benefits of the queue<br>
&gt;&gt; whilst finding an agent : music on hold, periodic announcements etc<br>
&gt;&gt; etc.<br>
&gt;&gt;<br>
&gt;&gt; You are right - with a little more effort we could probably remove the<br>
&gt;&gt; need for the queue. But why would I do that if I can use the queue for<br>
&gt;&gt; the bits I want ;)<br>
&gt;&gt;<br>
&gt;&gt; Julian<br>
&gt;&gt;<br>
&gt;&gt; 2009/7/17 Alex Balashov &lt;<a href="mailto:abalashov@evaristesys.com">abalashov@evaristesys.com</a>&gt;:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The simplicity of this approach is elegant, but in that case, why use a<br>
&gt;&gt;&gt; queue?  Why not just perform this logic straight in the dial plan when<br>
&gt;&gt;&gt; processing the received call?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The benefit of queues arises from their ability to keep state;  they can<br>
&gt;&gt;&gt; retry agents, carry out different ring strategies, etc.  I understood<br>
&gt;&gt;&gt; the<br>
&gt;&gt;&gt; original question to be implicitly about incorporating weights for<br>
&gt;&gt;&gt; skills<br>
&gt;&gt;&gt; into queue or queue-like call distribution mechanisms, since that is how<br>
&gt;&gt;&gt; it is done in call center products.  If the question is simply how to<br>
&gt;&gt;&gt; make<br>
&gt;&gt;&gt; Asterisk consider certain outside information when choosing to whom to<br>
&gt;&gt;&gt; route a call, the answer would be that it is identical to the process<br>
&gt;&gt;&gt; for<br>
&gt;&gt;&gt; embedding any other kind of logic and/or outside data source into call<br>
&gt;&gt;&gt; processing.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Another simple way is to add local/foo/n as the only &quot;agent&quot; on the<br>
&gt;&gt;&gt;&gt; queue. In the dialplan for local/foo , interrogate a database for the<br>
&gt;&gt;&gt;&gt; most appropriate &quot;agent&quot; and then call that agent&#39;s extension.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Julian<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2009/7/17 Matt Florell &lt;<a href="mailto:astmattf@gmail.com">astmattf@gmail.com</a>&gt;:<br>
&gt;&gt;&gt;&gt;&gt; On 7/17/09, Alex Balashov &lt;<a href="mailto:abalashov@evaristesys.com">abalashov@evaristesys.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; Rupert Utteridge - Digital Techniques (Austalia) Limited wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  &gt; We are trying to implement skill based routing for agents in a<br>
&gt;&gt;&gt;&gt;&gt;&gt; support<br>
&gt;&gt;&gt;&gt;&gt;&gt;  &gt; centre based on the agent login. Has anyone had any experience<br>
&gt;&gt;&gt;&gt;&gt;&gt; with<br>
&gt;&gt;&gt;&gt;&gt;&gt; this<br>
&gt;&gt;&gt;&gt;&gt;&gt;  &gt; and what was the outcome?<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; It can&#39;t really be done using Asterisk queues, unless you want to<br>
&gt;&gt;&gt;&gt;&gt;&gt; create<br>
&gt;&gt;&gt;&gt;&gt;&gt;  a large number of queues for every relevant skill factor and have<br>
&gt;&gt;&gt;&gt;&gt;&gt; agents<br>
&gt;&gt;&gt;&gt;&gt;&gt;  join various combinations of these simultaneously--which would take<br>
&gt;&gt;&gt;&gt;&gt;&gt;  quite a bit of dial plan and/or AGI logic to pull off.  Plus, that<br>
&gt;&gt;&gt;&gt;&gt;&gt;  doesn&#39;t scale any given queue beyond one host.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  I suggest you look into using FastAGI[1] to simulate the queue<br>
&gt;&gt;&gt;&gt;&gt;&gt;  experience by generating hold music and announcements without<br>
&gt;&gt;&gt;&gt;&gt;&gt; actually<br>
&gt;&gt;&gt;&gt;&gt;&gt;  using Asterisk queues per se.  This is quite possible to do, and,<br>
&gt;&gt;&gt;&gt;&gt;&gt; this<br>
&gt;&gt;&gt;&gt;&gt;&gt;  allows you to distribute queues across multiple hosts, as well as<br>
&gt;&gt;&gt;&gt;&gt;&gt;  distribute calls within those queues by whatever logic you choose.<br>
&gt;&gt;&gt;&gt;&gt;&gt;  No<br>
&gt;&gt;&gt;&gt;&gt;&gt;  shoehorning--just write it yourself.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  -- Alex<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;  [1] Yes, FastAGI.  Not local AGI.  And most especially not in PHP;<br>
&gt;&gt;&gt;&gt;&gt;&gt;      contrary to a lot of the info out there, PHP could not possibly<br>
&gt;&gt;&gt;&gt;&gt;&gt;      be a less suitable language in which to write AGI scripts.  I<br>
&gt;&gt;&gt;&gt;&gt;&gt;      don&#39;t know who comes up with these lavish heights of mediocrity.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; If you are not looking to write it yourself you could always try<br>
&gt;&gt;&gt;&gt;&gt; ViciDial which has skills-based routing built in, and it&#39;s free and<br>
&gt;&gt;&gt;&gt;&gt; Open Source.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; MATT---<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt;&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; asterisk-users mailing list<br>
&gt;&gt;&gt;&gt;&gt; To UNSUBSCRIBE or update options visit:<br>
&gt;&gt;&gt;&gt;&gt;   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt;&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; asterisk-users mailing list<br>
&gt;&gt;&gt;&gt; To UNSUBSCRIBE or update options visit:<br>
&gt;&gt;&gt;&gt;    <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Alex Balashov<br>
&gt;&gt;&gt; Evariste Systems<br>
&gt;&gt;&gt; Web    : <a href="http://www.evaristesys.com/" target="_blank">http://www.evaristesys.com/</a><br>
&gt;&gt;&gt; Tel    : (+1) (678) 954-0670<br>
&gt;&gt;&gt; Direct : (+1) (678) 954-0671<br>
&gt;&gt;&gt; Mobile : (+1) (678) 237-1775<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; asterisk-users mailing list<br>
&gt;&gt;&gt; To UNSUBSCRIBE or update options visit:<br>
&gt;&gt;&gt;   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
&gt;&gt;<br>
&gt;&gt; asterisk-users mailing list<br>
&gt;&gt; To UNSUBSCRIBE or update options visit:<br>
&gt;&gt;    <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Alex Balashov<br>
&gt; Evariste Systems<br>
&gt; Web    : <a href="http://www.evaristesys.com/" target="_blank">http://www.evaristesys.com/</a><br>
&gt; Tel    : (+1) (678) 954-0670<br>
&gt; Direct : (+1) (678) 954-0671<br>
&gt; Mobile : (+1) (678) 237-1775<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
&gt;<br>
&gt; asterisk-users mailing list<br>
&gt; To UNSUBSCRIBE or update options visit:<br>
&gt;   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
&gt;<br>
<br>
_______________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Thanks,<br>Steve Totaro <br>+18887771888 (Toll Free)<br>+12409381212 (Cell)<br>+12024369784 (Skype)<br>