Asterisk: PauseQueueMember
Приложение Asterisk: Поставить агента очереди на паузу (временно вывести из обслуживания очереди).
Описание
Не направлять вызовы из очереди статическому или динамическому агенту. Устанавливает паузу на указаном интерфейсе, в указанной очереди.
Если очередь не определена, устанавливает паузу для указанного интерфейса во всех очередях, которые он обслуживает.
Приложение не выполняется, если интерфейс агента не найден.
Следующие текстовын значения возвращаются в переменную ${PQMSTATUS} по выполнению:
- PAUSED
- NOTFOUND
пример:
PauseQueueMember(,SIP/3000)
Синтаксис
PauseQueueMember([queuename],interface[,options[,reason]])
Аргументы
- queuename - имя очереди
- queuename - интерфейс агента
- options - ?
- reason - если назначено, дополнительная информация добавляется в лог очереди и в события AMI.
Пример #1
exten => _[1234]02,1,Noop(agent pause) same => n,Set(queueN=q${EXTEN:0:1}) same => n,PauseQueueMember(${queueN},SIP/${CALLERID(num)}) same => n,PlayBack(ru/agent-loggedoff)
CLI> queue show <queue_name>
SIP/4887 (ringinuse disabled) (dynamic) (paused) (Not in use) has taken no calls yet
Пример #2
Динамические агенты очереди, подключаются с разных интерфейсов, где XXX
в 77XXX
,
становится именем агента в очереди.
exten => _77XXX,1,addqueuemember(q_test,,,,${EXTEN:2}) same => n,Answer() same => n,gotoif($["${AQMSTATUS}" == "ADDED"]?success:fail) same => n(success),SayAlpha(${EXTEN:2}) same => n(success),playback(ru/agent-loginok) same => n(success),wait(1) same => n(success),hangup same => n(fail),SayAlpha(${EXTEN:2}) same => n(fail),playback(ru/agent-alreadyon) same => n(fail),wait(1) same => n(fail),hangup exten => _64,1,pausequeuemember(q_test,${CHANNEL(channeltype)}/${CALLERID(num)},,WC) same => n,gotoif($["${PQMSTATUS}" == "PAUSED"]?success:fail) same => n(success),playback(ru/goodbye) same => n(success),wait(1) same => n(success),hangup same => n(fail),playback(ru/beeperr) same => n(fail),wait(1) same => n(fail),hangup exten => _65,1,unpausequeuemember(q_test,${CHANNEL(channeltype)}/${CALLERID(num)},,UNWC) same => n,gotoif($["${UPQMSTATUS}" == "UNPAUSED"]?success:fail) same => n(success),playback(ru/agent-loginok) same => n(success),wait(1) same => n(success),hangup same => n(fail),playback(ru/beeperr) same => n(fail),wait(1) same => n(fail),hangup exten => _66,1,removequeuemember(q_test,${CHANNEL(channeltype)}/${CALLERID(num)}) same => n,gotoif($["${RQMSTATUS}" == "REMOVED"]?success:fail) same => n(success),playback(ru/agent-loggedoff) same => n(success),wait(1) same => n(success),hangup same => n(fail),playback(ru/agent-incorrect) same => n(fail),wait(1) same => n(fail),hangup