[Asterisk-Users] Confused on Agents and Queues

Matt mhoppes at gmail.com
Tue Apr 4 10:24:35 MST 2006


Very good.. I modified your things (although not much) so that if the
agent is logged in it automatically logs them out.. if they aren't
logged in then it prompts them to login.

On 4/4/06, Alan Ferrency <alan at pair.com> wrote:
> The portion I forgot to mention:
>
> Our agent login extension checks AGENTBYCALLERID to make sure no one is
> already logged into the phone, before doing agentcallbacklogin. If you
> don't do this, then it's entirely possible for two agents to be logged
> into the same phone. However, only one will be shown in AGENTBYCALLERID
> for the phone.
>
> What this means is, both agents will be able to receive calls at the
> same phone, but the first agent who logged in won't be able to log
> out. They'd have to log into a different phone, and then log out of
> it, to log out.
>
> To avoid this, our agent login extension checks the AGENTBYCALLERID, and
> if it's set, gives an option to either log out the currently logged in
> extension, or to stay logged in. Unfortunately we don't know of a way to
> both log out the current extension, and log in the new one, without two
> extension dials.
>
> Alan
>
>
>
> On Mon, 3 Apr 2006, Matt wrote:
>
> > > Our solution to the "agent log out" problem is admittedly imperfect in
> > > the general case, but it works well enough if you can do without agent
> > > passwords.
> > >
> > > - This only works if agents don't have passwords. You could probably
> > >   modify it to look up passwords in real time, but it wasn't important
> > >   enough for us.
> > > - Use ${AGENT_BY_CALLERID_${CALLERID}} to get the agent logged into the
> > >   dialling extension.
> > > - Dial a local extension and send # after dial, to log out and press #
> > >   without agent intervention.
> > >
> > >
> > > The extension agents dial to log out looks like this. It calculates the
> > > logged in agent and calls the logout macro (below), or if there's no
> > > agent logged in, just plays back a message.
> > >
> > > [macro-agent_logout_ext]
> > > exten => s, 1, set(agent=${AGENTBYCALLERID_${ARG1}})
> > > exten => s, 2, gotoif(${agent}?3:101)
> > > exten => s, 3, macro(agent_logout,${agent})
> > > exten => s, 101, macro(answer_wait)
> > > exten => s, 102, playback(agent-loggedoff)
> > > exten => s, 103, hangup()
> > >
> > >
> > > The agent logout macro has a bit of a hack to send # to
> > > agentcallbacklogin after the agent ID is entered. In retrospect I'm not
> > > sure the global var needs to be global, here.
> > >
> > > Note that the agent hears agentcallbacklogin's "the agent is logged off"
> > > message, except the initial portion is cut off briefly.
> > >
> > > [macro-agent_logout]
> > >
> > > exten => s, 1, setglobalvar(agent=${ARG1})
> > > exten => s, 2, noop(agent ${agent})
> > > exten => s, 3, dial(local/logout at macro-agent_logout/n,,D(w#)o)
> > >
> > > exten => logout, 1, noop(agent logout ${agent})
> > > exten => logout, 2, wait(1)
> > > exten => logout, 3, agentcallbacklogin(${agent},, at shared_phones)
> > >
> > >
> > > I hope this helps.
> > >
> > > Alan Ferrency
> > > pair Networks, Inc.
> > > alan at pair.com
> > >
> > >
> > > _______________________________________________
> > > --Bandwidth and Colocation provided by Easynews.com --
> > >
> > > Asterisk-Users mailing list
> > > To UNSUBSCRIBE or update options visit:
> > >    http://lists.digium.com/mailman/listinfo/asterisk-users
> > >
> >
> > Hey that works really really well!  Thanks!
> > _______________________________________________
> > --Bandwidth and Colocation provided by Easynews.com --
> >
> > Asterisk-Users mailing list
> > To UNSUBSCRIBE or update options visit:
> >    http://lists.digium.com/mailman/listinfo/asterisk-users
> >
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>



More information about the asterisk-users mailing list