[asterisk-users] AgentCallBackLogin vs AddQueueMember

gc garych at unidial.com
Wed Feb 14 09:42:45 MST 2007


  ----- Original Message ----- 
  From: James FitzGibbon 
  To: Asterisk Users Mailing List - Non-Commercial Discussion 
  Sent: Wednesday, February 14, 2007 10:34 AM
  Subject: Re: [asterisk-users] AgentCallBackLogin vs AddQueueMember


  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. 


------------------------------------------------------------------------------


  _______________________________________________
  --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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20070214/7239bfb3/attachment.htm


More information about the asterisk-users mailing list