<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12">
<TITLE>RE: [Asterisk-Users] app_queue, fewestcalls and leastrecent logic</TITLE>
</HEAD>
<BODY>
<P><FONT SIZE=2>Most idle or longest idle should have nothing to do with how long your last call was, or total call time. Longest idle is supposed to be the agent who has been sitting there the longest since the last call was taken. </FONT></P>
<P><FONT SIZE=2>Now if your an agent that gets the 5 minute calls well then your just the lucky one. Or someone needs to tell your friends to stop calling! If your taking 3 hour calls someone needs to teach the agent how to wrap things up and close the sell, or again tell your friends to stop calling! ;)</FONT></P>
<P><FONT SIZE=2>But with longest idle at least everyone gets an equal amount of "off the phone" time, not an equal amount of "on the phone" time.</FONT></P>
<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: Richard Lyman</FONT>
<BR><FONT SIZE=2>To: asterisk-users@lists.digium.com</FONT>
<BR><FONT SIZE=2>Sent: 8/12/03 1:29 AM</FONT>
<BR><FONT SIZE=2>Subject: Re: [Asterisk-Users] app_queue, fewestcalls and leastrecent logic</FONT>
</P>
<P><FONT SIZE=2>ok and what happens when agentA in on a 3 hour call? once again i think </FONT>
<BR><FONT SIZE=2>this type of 'senario' should be covered by 'in house' policy.. not some</FONT>
</P>
<P><FONT SIZE=2>super queue tweek <G></FONT>
</P>
<P><FONT SIZE=2>Brian West wrote:</FONT>
</P>
<P><FONT SIZE=2>>Ok just had my boss point something out:</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>"I'd think dumping calls on most-idle would be fairly straightforward,</FONT>
<BR><FONT SIZE=2>but</FONT>
<BR><FONT SIZE=2>>could be skewed if agentA is on a 40 minute call, agentB has a bunch of</FONT>
<BR><FONT SIZE=2>5</FONT>
<BR><FONT SIZE=2>>minute calls"</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>So total call time should be counted in the logic somewhere.</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>bkw</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>On Sun, 10 Aug 2003, Brian West wrote:</FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>>>I think we are starting to see what type of logic people are wanting</FONT>
<BR><FONT SIZE=2>in</FONT>
<BR><FONT SIZE=2>>>fewestcalls and leastrecent strategy.</FONT>
<BR><FONT SIZE=2>>></FONT>
<BR><FONT SIZE=2>>>bkw</FONT>
<BR><FONT SIZE=2>>></FONT>
<BR><FONT SIZE=2>>>On Sun, 10 Aug 2003, Richard Lyman wrote:</FONT>
<BR><FONT SIZE=2>>></FONT>
<BR><FONT SIZE=2>>> </FONT>
<BR><FONT SIZE=2>>></FONT>
<BR><FONT SIZE=2>>>>i disagree, instead of thinking 'fallback' how about 'order' the</FONT>
<BR><FONT SIZE=2>agents</FONT>
<BR><FONT SIZE=2>>>>(by effecting the 'metric') so you 'target' the agent you want first</FONT>
<BR><FONT SIZE=2>>>>then if fail they go right to the next one in the 'ordered' list.</FONT>
<BR><FONT SIZE=2>>>></FONT>
<BR><FONT SIZE=2>>>>Brian West wrote:</FONT>
<BR><FONT SIZE=2>>>></FONT>
<BR><FONT SIZE=2>>>> </FONT>
<BR><FONT SIZE=2>>>></FONT>
<BR><FONT SIZE=2>>>>>leastrecent suffers the same fait as fewestcalls onlying ringing the</FONT>
<BR><FONT SIZE=2>>>>>leastrecent agent over and over endlessly. It should have a</FONT>
<BR><FONT SIZE=2>fallback</FONT>
<BR><FONT SIZE=2>>>>>option.</FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>>roundrobin with leastrecent first</FONT>
<BR><FONT SIZE=2>>>>>roundrobin with fewestcalls first</FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>>I would like to see a roundrobin with leastbusy first option.</FONT>
<BR><FONT SIZE=2>>>>>(just because you have taken less call or leastrecent doesn't mean</FONT>
<BR><FONT SIZE=2>you</FONT>
<BR><FONT SIZE=2>>>>>haven't been a busy agent!)</FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>>I'm sure better autologoff logic as per my first email would be a</FONT>
<BR><FONT SIZE=2>great</FONT>
<BR><FONT SIZE=2>>>>>idea also.</FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>>bkw</FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>>On Sun, 10 Aug 2003, Richard Lyman wrote:</FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>> </FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>>>well if you ask me, the leastrecent part would work if you reversed</FONT>
<BR><FONT SIZE=2>the</FONT>
<BR><FONT SIZE=2>>>>>>logic on the metric.</FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>my other last_used mod would do a time_t on that agent the last</FONT>
<BR><FONT SIZE=2>time it</FONT>
<BR><FONT SIZE=2>>>>>>was 'tried' (ast_request'd) then (i was using arrays) qsort so that</FONT>
<BR><FONT SIZE=2>(new</FONT>
<BR><FONT SIZE=2>>>>>>agents) '0' would be on top, and the agent that got the most recent</FONT>
<BR><FONT SIZE=2>>>>>>attempt would be on the bottom '1057174447' (below is an example)</FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>> -- sorted agent array: 317 last_used: 0</FONT>
<BR><FONT SIZE=2>>>>>> -- sorted agent array: 318 last_used: 0</FONT>
<BR><FONT SIZE=2>>>>>> -- sorted agent array: 319 last_used: 0</FONT>
<BR><FONT SIZE=2>>>>>> -- sorted agent array: 300 last_used: 1057174447</FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>that way, (for leastrecent anyway), you are always working with a</FONT>
<BR><FONT SIZE=2>full stack of agents.</FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>Brian West wrote:</FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>> </FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>First of all I would like to thank Mark for getting roundrobin to</FONT>
<BR><FONT SIZE=2>go</FONT>
<BR><FONT SIZE=2>>>>>>>roundrobin. Good job.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>Now we have some options here for leastrecent and fewestcalls</FONT>
<BR><FONT SIZE=2>strategy. It</FONT>
<BR><FONT SIZE=2>>>>>>>needs some work on the logic and Mark recommend that I ask the</FONT>
<BR><FONT SIZE=2>list and</FONT>
<BR><FONT SIZE=2>>>>>>>get some input before he makes any changes to it.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>fewestcalls from what I have seen would always ring the agent with</FONT>
<BR><FONT SIZE=2>the</FONT>
<BR><FONT SIZE=2>>>>>>>fewestcalls first then go into roundrobin if that agent didn't</FONT>
<BR><FONT SIZE=2>answer.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>Next new caller would ring fewestcalls agent first then start</FONT>
<BR><FONT SIZE=2>roundrobin.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>What do you think should happen in fewestcalls? Right now it just</FONT>
<BR><FONT SIZE=2>rings</FONT>
<BR><FONT SIZE=2>>>>>>>the agent with the fewestcalls over and over with current</FONT>
<BR><FONT SIZE=2>app_queue logic.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>leastrecent from what I have been looking at will ring the agent</FONT>
<BR><FONT SIZE=2>that has</FONT>
<BR><FONT SIZE=2>>>>>>>least recently take a call first then if they don't answer go into</FONT>
<BR><FONT SIZE=2>>>>>>>roundrobin. Then the next new call coming from queue would first</FONT>
<BR><FONT SIZE=2>go to</FONT>
<BR><FONT SIZE=2>>>>>>>the leastrecent first then try every agent in roundrobin till</FONT>
<BR><FONT SIZE=2>answered</FONT>
<BR><FONT SIZE=2>>>>>>>then starting over again. New caller from queue hits leastrecent</FONT>
<BR><FONT SIZE=2>agent</FONT>
<BR><FONT SIZE=2>>>>>>>first.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>Same thing happens in leastrecent strategy. The leastrecent agent</FONT>
<BR><FONT SIZE=2>will</FONT>
<BR><FONT SIZE=2>>>>>>>ring over and over with current app_queue logic.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>Now some of you might recommend autologoff options. But that also</FONT>
<BR><FONT SIZE=2>might</FONT>
<BR><FONT SIZE=2>>>>>>>need some work. I don't want to log off an agent for not</FONT>
<BR><FONT SIZE=2>answering the</FONT>
<BR><FONT SIZE=2>>>>>>>phone only once. So here is how I would like to see autologoff</FONT>
<BR><FONT SIZE=2>work.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>Example:</FONT>
<BR><FONT SIZE=2>>>>>>>queue timeout = 20</FONT>
<BR><FONT SIZE=2>>>>>>>agent autologoff = 60</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>The agent would have to not answer their phone 3 times in a row to</FONT>
<BR><FONT SIZE=2>get</FONT>
<BR><FONT SIZE=2>>>>>>>logged off. As it stands now they did not answer just once and</FONT>
<BR><FONT SIZE=2>get logged</FONT>
<BR><FONT SIZE=2>>>>>>>off. Thus allow for an employee to use the excuse for not working</FONT>
<BR><FONT SIZE=2>when</FONT>
<BR><FONT SIZE=2>>>>>>>they should be logged in and taking calls.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>Unless i'm wrong here.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>Please post your input on these options and how you would like</FONT>
<BR><FONT SIZE=2>them to see</FONT>
<BR><FONT SIZE=2>>>>>>>them function function.</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>Thanks,</FONT>
<BR><FONT SIZE=2>>>>>>>Brian</FONT>
<BR><FONT SIZE=2>>>>>>>CWIS Internet Services</FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>>_______________________________________________</FONT>
<BR><FONT SIZE=2>>>>>>>Asterisk-Users mailing list</FONT>
<BR><FONT SIZE=2>>>>>>>Asterisk-Users@lists.digium.com</FONT>
<BR><FONT SIZE=2>>>>>>><A HREF="http://lists.digium.com/mailman/listinfo/asterisk-users" TARGET="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</A></FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>> </FONT>
<BR><FONT SIZE=2>>>>>>></FONT>
<BR><FONT SIZE=2>>>>>>_______________________________________________</FONT>
<BR><FONT SIZE=2>>>>>>Asterisk-Users mailing list</FONT>
<BR><FONT SIZE=2>>>>>>Asterisk-Users@lists.digium.com</FONT>
<BR><FONT SIZE=2>>>>>><A HREF="http://lists.digium.com/mailman/listinfo/asterisk-users" TARGET="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</A></FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>> </FONT>
<BR><FONT SIZE=2>>>>>></FONT>
<BR><FONT SIZE=2>>>>>_______________________________________________</FONT>
<BR><FONT SIZE=2>>>>>Asterisk-Users mailing list</FONT>
<BR><FONT SIZE=2>>>>>Asterisk-Users@lists.digium.com</FONT>
<BR><FONT SIZE=2>>>>><A HREF="http://lists.digium.com/mailman/listinfo/asterisk-users" TARGET="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</A></FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>> </FONT>
<BR><FONT SIZE=2>>>>></FONT>
<BR><FONT SIZE=2>>>>_______________________________________________</FONT>
<BR><FONT SIZE=2>>>>Asterisk-Users mailing list</FONT>
<BR><FONT SIZE=2>>>>Asterisk-Users@lists.digium.com</FONT>
<BR><FONT SIZE=2>>>><A HREF="http://lists.digium.com/mailman/listinfo/asterisk-users" TARGET="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</A></FONT>
<BR><FONT SIZE=2>>>></FONT>
<BR><FONT SIZE=2>>>> </FONT>
<BR><FONT SIZE=2>>>></FONT>
<BR><FONT SIZE=2>>>_______________________________________________</FONT>
<BR><FONT SIZE=2>>>Asterisk-Users mailing list</FONT>
<BR><FONT SIZE=2>>>Asterisk-Users@lists.digium.com</FONT>
<BR><FONT SIZE=2>>><A HREF="http://lists.digium.com/mailman/listinfo/asterisk-users" TARGET="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</A></FONT>
<BR><FONT SIZE=2>>></FONT>
<BR><FONT SIZE=2>>> </FONT>
<BR><FONT SIZE=2>>></FONT>
<BR><FONT SIZE=2>>_______________________________________________</FONT>
<BR><FONT SIZE=2>>Asterisk-Users mailing list</FONT>
<BR><FONT SIZE=2>>Asterisk-Users@lists.digium.com</FONT>
<BR><FONT SIZE=2>><A HREF="http://lists.digium.com/mailman/listinfo/asterisk-users" TARGET="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</A></FONT>
<BR><FONT SIZE=2>></FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>></FONT>
</P>
<P><FONT SIZE=2>_______________________________________________</FONT>
<BR><FONT SIZE=2>Asterisk-Users mailing list</FONT>
<BR><FONT SIZE=2>Asterisk-Users@lists.digium.com</FONT>
<BR><FONT SIZE=2><A HREF="http://lists.digium.com/mailman/listinfo/asterisk-users" TARGET="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</A></FONT>
</P>
</BODY>
</HTML>