I have a customer with a small outgoing call center. Usually only 3 to 5 agents online. We are still using Agent/XXX channels in this application on Asterisk 1.4.18. I have an autodialer that is making the outgoing calls and then dropping them into a Queue where all the agents are logged on. My problem is that when an agent makes a call on his/her phone the queue always says that the agent is "Not in use". I have call-limit set to 1 on all sip phones that are used for agents but I can see that the queue tries to send a call to the agent. Since the agent has a limit of one the call gets rejected but instead of going back to the queue it is dropped. How can I make sure the agent will show "In Use" when they make a call? -- ?Telecomunicaciones Abiertas de M?xico S.A. de C.V. Carlos Ch?vez Prats Director de Tecnolog?a +52-55-91169161 ext 2001 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: This is a digitally signed message part Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20080714/6117b311/attachment.pgp
Carlos, Carlos Chavez wrote:> How can I make sure the agent will show "In Use" when they make a call?This is a common problem. Unfortunately, there are no good solutions; the queue engine has no way of knowing the state of every SIP peer, as far as whether there is an open INVITE transaction and so on. These state machines are entirely separate. The only way to determine that a SIP peer is in use is to try to place a call to it and see what the feedback is, which is how Dial(), ChanIsAvail(), etc. perform their evaluations. So, unfortunately, as far as the queue subsystem is concerned, the only way that an agent can be in "in use" is if they picked up an incoming queue call. There are many possible solutions. You can remove / increase the call-limit and use call waiting. Or, you can use Local channels for outbound calls to shunt the dialing through a set of dial plan instructions, and use the "M" argument to Dial() to call a macro upon far-end pickup that sets the agent to "paused" state and causes queue calls not to be routed to them. Perhaps you can use the 'h' extension to unpause the member once the outbound call exits. In my case, I modified the source code to set the queue member's "in use" flag when the SIP peer makes a relevant call, but this is expensive and inelegant as it requires doing linear lookups to correlate the calling SIP agent with any queue(s)s of which they may be a member on every outbound dial. It was a solution that caused a lot of problems as well as solving some. -- Alex -- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 Mobile : (+1) (706) 338-8599
From memory, I have seen something similar done with the SIPPEERS function (curcalls) but it's too fuzzy for me to remember it fully. Paul Hales NTS Carlos Chavez wrote:> I have a customer with a small outgoing call center. Usually only 3 to > 5 agents online. We are still using Agent/XXX channels in this > application on Asterisk 1.4.18. I have an autodialer that is making the > outgoing calls and then dropping them into a Queue where all the agents > are logged on. > > My problem is that when an agent makes a call on his/her phone the > queue always says that the agent is "Not in use". I have call-limit set > to 1 on all sip phones that are used for agents but I can see that the > queue tries to send a call to the agent. Since the agent has a limit of > one the call gets rejected but instead of going back to the queue it is > dropped. > > How can I make sure the agent will show "In Use" when they make a call? > > > ------------------------------------------------------------------------ > > _______________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > AstriCon 2008 - September 22 - 25 Phoenix, Arizona > Register Now: http://www.astricon.net > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users