[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