<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">David Wessell &lt;david@ringfree.biz&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">To: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Asterisk Users Mailing
List - Non-Commercial Discussion &lt;asterisk-users@lists.digium.com&gt;,
</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">02/28/2013 04:34 PM</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">[asterisk-users]
Dynamic Agents in a queue</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Sent by: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">asterisk-users-bounces@lists.digium.com</font>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2>Hi,<br>
<br>
We have a queue running with dynamic agents in asterisk 1.8.12.0 and FreePBX
2.10.<br>
<br>
We are using the linear ring style.<br>
<br>
Calls are going to the agents in the order in which they log in.<br>
<br>
Is there a way to send calls to an agents in a specific listed order and
not in the order that they log in?<br>
<br>
That is (assuming agent logged in).<br>
<br>
Agent1<br>
Agent3<br>
Agent5.<br>
<br>
So calls would always go to Agent1 if he's logged in, than down to 3, and
finally to agent 5?<br>
<br>
Thanks<br>
David<br>
<br>
P.S. This seems to work fine with static agents, just not dynamic agents.<br>
<br>
</font></tt>
<br><tt><font size=2>I can interpret your question in one of two ways,
so if my explanation below is not what you want, please forgive me.</font></tt>
<br>
<br><tt><font size=2>I think your best bet is in your code where you add
the queue member you want to assign a penalty to that queue member. </font></tt>
<br>
<br><tt><font size=2>For instance, Using your example above, suppose you
had Agent 1 through Agents 5. Assign queue penalties of 10, 20, 30, 40,
and 50 to them, respectively. Now, using your example of 1, 3, and 5 logged
in, as long as he is available, agent 1 will get a call. If he is not,
it goes to agent 3. If 1 and 3 are not available, it goes to 5.</font></tt>
<br>
<br><tt><font size=2>However, this does mean that Agent 1 will take more
calls as anytime he is available it will ring him without attempting the
other agents. </font></tt>
<br>
<br><tt><font size=2>We use this as some agents are primary on one queue,
but secondary or tertiary on other queues. That way if the primary people
are all busy, they will fall through to their backups, but if they are
available it will always prefer them.</font></tt>
<br>
<br><tt><font size=2>We store the queue levels in the asterisk database
and when the agents log in, it looks them up in the database and applies
the appropriate penalty to the AddQueueMember command.</font></tt>
<br>
<br><tt><font size=2>Hope this helps.<br>
</font></tt>
<br>