[Asterisk-Users] Queues - Can I PAUSE an agent instead of LOGGING OUT?

Johann johann.hoehn at ecommerce.com
Tue May 23 11:21:26 MST 2006


Matt,

Matt wrote:
> Hi,
> If an agent doesn't take a call.. is there some way I can PAUSE them
> instead of logging them out?

Sorta, I haven't had time to test it.  But you could do something like the 
following:

   * Use callback agents and have them log into a separate context
     (AgentCallbackLogin(${CALLERIDNUM},,${CALLERIDNUM}@queue)
   * Define autologoff=0 in agents.conf
   * In the context [queue], you have something like the following:
     exten => _XXX,1,Dial(SIP/${EXTEN},${TIMEOUT})
     exten => _XXX,2,PauseQueueMember(,Agent/${EXTEN})
     exten => _XXX,3,Busy ; should force the acd to pick another member
   * Make sure that queues.conf the timeout value is larger than ${TIMEOUT} so 
that asterisk will let it continue on to the PauseQueueMember part, then the 
BUSY part should be able to consume the remainder for it to give up on the member.

You may want to add more checking and do different things depending on the 
results of ${DIALSTATUS}.  For example CHANUNAVAIL you may want to log them out. 
  Also above assumes that you have a global variable called TIMEOUT defined.

The above doesnt do anything about unpausing the agent later which will need to 
be handled by a separate extension.  Unless the employee is aware of the no 
answer == pauses, they may not know to unpause themselves later.


--johann



More information about the asterisk-users mailing list