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
См. также

Команды диалплана Asterisk

  • asterisk/app/pausequeuemember.txt
  • Последние изменения: 2018/12/18