[asterisk-users] AgentCallBackLogin vs AddQueueMember

James FitzGibbon james.fitzgibbon at gmail.com
Wed Feb 14 08:34:46 MST 2007


On 2/13/07, gc <garych at unidial.com> wrote:

> I am developing an ACD front end using Asterisk 1.2.14. I heard that
> AgentCallBackLogin will be deprecated in future version of *.
> Is this true? If it is, how can I use AddQueueMember to replace
> AgentCallBackLogin? I mean to login an agent in multiple queues at once. I
> have multiple queues and a lot of agents defined in  queues.conf and
> agents.conf. Each agent may login more than one queue. It seem that
> AgentCallBackLogin  is much easier than AddQueueMember to manage this kind
> of situation.
>

The setup to use AddQueueMember isn't terribly difficult.

Here's a contrived example where dialing *11[23]XX adds channel SIP[23]XX to
queue sales, and *21 with the same suffix removes them.  *12/*22 is for
custserv and *13/*23 is for techsupp.  There's no authentication here, but
that's not the difficult part of the exercise:

exten => _*11[23]XX,1,AddQueueMember(sales,SIP/${EXTEN:3})
exten => _*11[23]XX,n,Saydigits(${EXTEN:3})
exten => _*11[23]XX,n,Hangup()
exten => _*21[23]XX,1,RemoveQueueMember(sales,SIP/${EXTEN:3})
exten => _*21[23]XX,n,Saydigits(${EXTEN:3})
exten => _*21[23]XX,n,Hangup()

exten => _*12[23]XX,1,AddQueueMember(custserv,SIP/${EXTEN:3})
exten => _*12[23]XX,n,Saydigits(${EXTEN:3})
exten => _*12[23]XX,n,Hangup()
exten => _*22[23]XX,1,RemoveQueueMember(custserv,SIP/${EXTEN:3})
exten => _*22[23]XX,n,Saydigits(${EXTEN:3})
exten => _*22[23]XX,n,Hangup()

exten => _*13[23]XX,1,AddQueueMember(techsupp,SIP/${EXTEN:3})
exten => _*13[23]XX,n,Saydigits(${EXTEN:3})
exten => _*13[23]XX,n,Hangup()
exten => _*23[23]XX,1,RemoveQueueMember(techsupp,SIP/${EXTEN:3})
exten => _*23[23]XX,n,Saydigits(${EXTEN:3})
exten => _*23[23]XX,n,Hangup()

Then, calls to Queue(queuename) will work like AgentCallbackLogin() do.

The problem I am having is that the channel that shows up in the CDR and the
queue log is the phone that took the call, not the agent on the phone.  It
seems that I will have to establish a mapping between agents and channels
and remove down the mapping at agent logoff, then use the map to determine
which actual agent was on SIP/200 when the call came in in order to produce
meaningful per-agent reports.

Any suggestions on how to make that part easier are welcome.

-- 
j.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20070214/2b9df65c/attachment.htm


More information about the asterisk-users mailing list