One of my friends is facing this problems and I could not find any solution to that. Hence this post. In her Asterisk PBX, she has programmed about 10 agents, and strategy is rrmemory. Everything works fine. When an agent has received an ACD call, another call is not presented to him as long as he is on the ACD call. However when an agent has made an outgoing call, he is still presented another ACD call when his turn comes. This results in unnecessary delay in answering that call. Taking out call waiting is not an option, as an agent can also get a direct dialed call, and he should be able to pick up that call even when he is on another call. Is there a way so that a busy agent (whether busy because of an incoming call, or outgoing call) is not presented another ACD call? Thanks, -- jt
Have you tried the "incominglimit" parameter (or did she)? I have found this to work pretty well when limiting the number of calls. After monitoring the "full" log, I saw that incoming calls where incrementing or decrementing the active call parameter for SIP agents. By limiting the number of calls that the phone extension/user can accept at one time limited the calls going to an agent. I am still trying to figure out how to jump out of the dialplan when a call comes into queue -- if anyone has any suggestions for that, it would be greatly appreciated. But in any event, for similar situations, limiting the number of calls for a SIP agent seems to help in the calls coming in on top of another. -----Original Message----- From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of J Thomas Sent: Saturday, October 15, 2005 7:04 PM To: asterisk-users@lists.digium.com Subject: [Asterisk-Users] ACD calls to busy agents One of my friends is facing this problems and I could not find any solution to that. Hence this post. In her Asterisk PBX, she has programmed about 10 agents, and strategy is rrmemory. Everything works fine. When an agent has received an ACD call, another call is not presented to him as long as he is on the ACD call. However when an agent has made an outgoing call, he is still presented another ACD call when his turn comes. This results in unnecessary delay in answering that call. Taking out call waiting is not an option, as an agent can also get a direct dialed call, and he should be able to pick up that call even when he is on another call. Is there a way so that a busy agent (whether busy because of an incoming call, or outgoing call) is not presented another ACD call? Thanks, -- jt _______________________________________________ --Bandwidth and Colocation sponsored by Easynews.com -- Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Setting incominglimit = 1 does not really solve the problem as I had already mentioned. That practically takes away the call waiting and will block all incoming calls including direct dialed calls. She does not want that. Moreover, incominglimit is deprecated too. -- jt On Sat, 2005-10-15 at 22:05, Jason Walker wrote:> Have you tried the "incominglimit" parameter (or did she)? > > I have found this to work pretty well when limiting the number of calls. > After monitoring the "full" log, I saw that incoming calls where > incrementing or decrementing the active call parameter for SIP agents. By > limiting the number of calls that the phone extension/user can accept at one > time limited the calls going to an agent. > > I am still trying to figure out how to jump out of the dialplan when a call > comes into queue -- if anyone has any suggestions for that, it would be > greatly appreciated. > > But in any event, for similar situations, limiting the number of calls for a > SIP agent seems to help in the calls coming in on top of another. > > -----Original Message-----
I don't know how to make this happen, and I don't even think it is really possible given the current Queue app, but this would be a very nice feature to have. The queue shouldn't pass a call to an agent if they are already on a call from the queue, but an incoming call from another internal extension, or even a DID ought to be able to get through. Consider this a feature request? Tom On Oct 15, 2005, at 10:04 PM, J Thomas wrote:> One of my friends is facing this problems and I could not find any > solution to that. Hence this post. > > In her Asterisk PBX, she has programmed about 10 agents, and > strategy is > rrmemory. Everything works fine. When an agent has received an ACD > call, > another call is not presented to him as long as he is on the ACD call. > > However when an agent has made an outgoing call, he is still presented > another ACD call when his turn comes. This results in unnecessary > delay > in answering that call. > > Taking out call waiting is not an option, as an agent can also get a > direct dialed call, and he should be able to pick up that call even > when > he is on another call. > > Is there a way so that a busy agent (whether busy because of an > incoming > call, or outgoing call) is not presented another ACD call? > > Thanks, > -- jt > > _______________________________________________ > --Bandwidth and Colocation sponsored by Easynews.com -- > > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >
Hello, are you using Asteriks agents or dialing straight to extensions? because if you are using agents for incoming calls and then you dial "straight" out of Asterisk, Asterisk will not know that the agent is busy. One possible workaround would be to make a call to the agent using a .call file, so that the agent is busy and the queue system recognizes it. (It's just an idea, I have never tried this) Thanks l. On Sun, 16 Oct 2005 04:04:02 +0200, J Thomas <jthomas@cequip.com> wrote:> One of my friends is facing this problems and I could not find any > solution to that. Hence this post. > > In her Asterisk PBX, she has programmed about 10 agents, and strategy is > rrmemory. Everything works fine. When an agent has received an ACD call, > another call is not presented to him as long as he is on the ACD call. > > However when an agent has made an outgoing call, he is still presented > another ACD call when his turn comes. This results in unnecessary delay > in answering that call. > > Taking out call waiting is not an option, as an agent can also get a > direct dialed call, and he should be able to pick up that call even when > he is on another call. > > Is there a way so that a busy agent (whether busy because of an incoming > call, or outgoing call) is not presented another ACD call? > > Thanks, > -- jt >-- Loway Research - Home of QueueMetrics http://queuemetrics.loway.it
> Date: Mon, 17 Oct 2005 14:20:18 -0500 > From: Corey Frang <corey@rockriver.net> > Subject: Re: [Asterisk-Users] ACD calls to busy agents > > So, I'm looking into using PauseQueueMember and unpause queuemember > > How the heck to you get Unpause to run, no matter what, after the call > is over? > > The "g" argument to Dial only works when the >called< party hangs up.Isn't this when you want to Unpause? If the called was still on the line, wouldn't the agent be busy? If you are thinking that the agent's channel will still be active after the call, just place the Unpause before you release the channel (hangup). Otherwise, with the first senario: exten => s,1,PauseQueueMember(...) exten => s,2,Dial(...,g) exten => s,3,UnPauseQueueMember(...) You can also add, to trap most conditions: exten => s,103,UnPauseQueueMember(...) ; Busy exten => T,1,UnPauseQueueMember(...) ; Absolute Timeout exten => t,1,UnPauseQueueMember(...) ; Timeout exten => i,1,UnPauseQueueMember(...) ; Invalid exten => h,1,UnPauseQueueMember(...) ; Hangup> Using the "h" extension appears to be doing nothing... > > Is there any way we could add a feature to the "pausequeuemember" that > basically says "As long as this channel is open, this member is paused" > so that way when they hang up they are unpaused automatically?
JT, yes. Here's how I've done it before for other clients: On the dialout portion I've changed the dial plan to: exten => _1NXXNXXXXXX,1,GotoIf($[${LEN(${$[AGENTBYCALLERID_${CALLERIDNUM}]})} > 2]?2:3) exten => _1NXXNXXXXXX,2,PauseQueueMember(|Agent/${$[AGENTBYCALLERID_${CALLERIDNUM}]}) exten => _1NXXNXXXXXX,3,Dial(SIP/<SIP PEER>/${EXTEN},,Tg) exten => _1NXXNXXXXXX,4,ForkCDR() What that's basically saying is that if the calling number is also logged in as an agent, go ahead and pause that queue member in all queues that they belong to and then make the call. I'm doing the GotoIf because there are other extensions in that same context that may not be logged in as agents and I don't want to make that pqm call (though there's no real harm in doing so, it'll just tell you there's no Interface as specified) with. Then, in that same context, you put the following in the h extension.... exten => h,1,ForkCDR() exten => h,2,GotoIf($[${LEN(${$[AGENTBYCALLERID_${CALLERIDNUM}]})} > 2]?3:4) exten => h,3,UnPauseQueueMember(|Agent/${$[AGENTBYCALLERID_${CALLERIDNUM}]}) exten => h,4,NoOp("Done!") ForkCDR is important because if you don't do it you're going to find that the original CDR that used to contain the destination number in it, now contains only the 'h' extension in it. You could also use ResetCDR(w) here. Your choice really. ForkCDR will fork the one CDR into two preserving the original dial information, and then you may choose to do a NoCDR() or just deal with the additional CDR generated to the 'h' extension by ignoring it when you parse CDRs. Hope this helps. BJ On 17 Oct 2005 18:28:02 -0400, J Thomas <jthomas@cequip.com> wrote:> > Hi BJ, > > Here are the relevant conf files: > > Agens.conf > [general] > persistentagents=yes > [agents] > agent => 8011,,Internet1 > agent => 8012,,Sonia > agent => 8013,,Filippo > > Queues.conf > [internetq] > music=default > strategy=rrmemory > retry = 20 > timeout = 21 > announce-frequency = 30 > announce-holdtime = yes > announce-round-seconds = 10 > member => Agent/8011 > member => Agent/8012 > member => Agent/8013 > > > Relevant lines from extensions.conf: > exten => 5000,1,AgentCallbackLogin() > > [internet-working] > exten => s,1,SetAccount(internet) > exten => s,2,Queue(internetq|t|||360) > > > Now an agent, say Sonia, (her SIP extension is 8012 too) calls 5000 and > logins as agent 8012. > > When she is on an ACD call, she does not receive another ACD call. Very > good. > > However when she makes an outgoing call, she still receives ACD call. > > Should I be doing something differently? > > -- jt > > > > > > > > > On Mon, 2005-10-17 at 15:55, BJ Weschke wrote: > > It is possible. I do it here and at many other client installs. > > > > Please post your configuration so we can see why it's not working for > > you. > > > > > > On 17 Oct 2005 15:31:46 -0400, J Thomas <jthomas@cequip.com> wrote: > > Given the current state of queues, it does not seem possible > > to stop ACD > > calls coming to a busy agent who has made an outgoing call. > > > > Looks like feature request is the right way to go for this. I > > am going > > to post this on dev mailing list too before making a feature > > request in > > case we have missed something. > > > > -- jt > > > > On Mon, 2005-10-17 at 15:20, Corey Frang wrote: > > > So, I'm looking into using PauseQueueMember and unpause > > queuemember > > > > > > How the heck to you get Unpause to run, no matter what, > > after the call > > > is over? > > > > > > The "g" argument to Dial only works when the >called< party > > hangs up. > > > > > > Using the "h" extension appears to be doing nothing... > > > > > > Is there any way we could add a feature to the > > "pausequeuemember" that > > > basically says "As long as this channel is open, this member > > is paused" > > > so that way when they hang up they are unpaused > > automatically? > > > > > > Julian Lyndon-Smith wrote: > > > > > > > Have you tried the "PauseQueueMember" application in the > > dialplan ? > > > > > > > > If the agent makes an outbound call, before the dial() > > call > > > > PauseQueuemember - and UnPauseQueuemember when the call is > > complete. > > > > The system should not then send any agent calls through, > > but all other > > > > calls (direct / internal) should come through. > > > > > > > > This is in 1.2b1 and CVS-HEAD. > > > > > > > > HTH > > > > > > > > Julian. > > > > > > > > Tom Rymes wrote: > > > > > > > >> I don't know how to make this happen, and I don't even > > think it is > > > >> really possible given the current Queue app, but this > > would be a > > > >> very nice feature to have. The queue shouldn't pass a > > call to an > > > >> agent if they are already on a call from the queue, but > > an incoming > > > >> call from another internal extension, or even a DID > > ought to be able > > > >> to get through. > > > >> > > > >> Consider this a feature request? > > > >> > > > >> Tom > > > >> > > > >> On Oct 15, 2005, at 10:04 PM, J Thomas wrote: > > > >> > > > >>> One of my friends is facing this problems and I could > > not find any > > > >>> solution to that. Hence this post. > > > >>> > > > >>> In her Asterisk PBX, she has programmed about 10 agents, > > and > > > >>> strategy is > > > >>> rrmemory. Everything works fine. When an agent has > > received an ACD > > > >>> call, > > > >>> another call is not presented to him as long as he is on > > the ACD call. > > > >>> > > > >>> However when an agent has made an outgoing call, he is > > still presented > > > >>> another ACD call when his turn comes. This results in > > unnecessary > > > >>> delay > > > >>> in answering that call. > > > >>> > > > >>> Taking out call waiting is not an option, as an agent > > can also get a > > > >>> direct dialed call, and he should be able to pick up > > that call even > > > >>> when > > > >>> he is on another call. > > > >>> > > > >>> Is there a way so that a busy agent (whether busy > > because of an > > > >>> incoming > > > >>> call, or outgoing call) is not presented another ACD > > call? > > > >>> > > > >>> Thanks, > > > >>> -- jt > > > >>> > > > >>> _______________________________________________ > > > >>> --Bandwidth and Colocation sponsored by Easynews.com<http://Easynews.com>-- > > > >>> > > > >>> Asterisk-Users mailing list > > > >>> Asterisk-Users@lists.digium.com > > > >>> http://lists.digium.com/mailman/listinfo/asterisk-users > > > >>> To UNSUBSCRIBE or update options visit: > > > > > >>> http://lists.digium.com/mailman/listinfo/asterisk-users > > > >>> > > > >> > > > >> _______________________________________________ > > > >> --Bandwidth and Colocation sponsored by Easynews.com<http://Easynews.com>-- > > > >> > > > >> Asterisk-Users mailing list > > > >> Asterisk-Users@lists.digium.com > > > >> http://lists.digium.com/mailman/listinfo/asterisk-users > > > >> To UNSUBSCRIBE or update options visit: > > > >> http://lists.digium.com/mailman/listinfo/asterisk-users > > > >> > > > >> > > > > > > > > _______________________________________________ > > > > --Bandwidth and Colocation sponsored by Easynews.com<http://Easynews.com>-- > > > > > > > > Asterisk-Users mailing list > > > > Asterisk-Users@lists.digium.com > > > > http://lists.digium.com/mailman/listinfo/asterisk-users > > > > To UNSUBSCRIBE or update options visit: > > > > http://lists.digium.com/mailman/listinfo/asterisk-users > > > > > > > > > > > > > > > > > > > _______________________________________________ > > --Bandwidth and Colocation sponsored by Easynews.com<http://Easynews.com>-- > > > > Asterisk-Users mailing list > > Asterisk-Users@lists.digium.com > > http://lists.digium.com/mailman/listinfo/asterisk-users > > To UNSUBSCRIBE or update options visit: > > http://lists.digium.com/mailman/listinfo/asterisk-users > > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20051017/27023cb3/attachment.htm