Asterisk. Команда AddQueueMember.

AddQueueMember() - Динамически добавляет участников в очередь для заданной очереди вызовов.

AddQueueMember(queuename[|interface[|penalty]]): (в версиях 1.0)
AddQueueMember(queuename[|interface[|penalty[|options]]]): (в версиях 1.2)
AddQueueMember(queuename[|interface[|penalty[|options[|membername]]]]): (в версиях 1.4)
AddQueueMember(queuename[[,interface[[,penalty[[,options[[,membername[[,stateinterface]]]]])): (в версиях 1.6+)

Динамически добавляет заданный интерфейс в существующую очередь под именем "имяочереди", которое определено в файле queues.conf. Если задан, приоритет определяет для очередей приоритет данного участника. Участники вызываются в порядке увеличения приоритетов.
По завершении выполнения приложение AddQueueMember() задает переменную канала AQMSTATUS.
Переменной AQMSTATUS будет присвоено одно из следующих значений:
ADDED
MEMBERALREADY
NOSUCHQUEUE
При вызове AddQueueMember() без аргумента интерфейс будет использоваться интерфейс, которым в настоящее время пользуется вызывающий абонент.

Аргументы

  • queuename - имя очереди вызовов, в которую необходимо добавить интерфейс.
  • interface - Название интерфейса для добавления в очередь, если не указано, используется текущий интерфейс.
  • penalty - Целое число большее или равное нулю, доступные участники, обрабатывающие очередь, с меньшим значением пенальти получают вызовы в первую очередь.
  • options: (версии 1.2+)
    • j - Если заданный интерфейс уже обрабатывает поступающие вызовы данной очереди и существует команда с приоритетом n+101, тогда с нее продолжиться выполнение команд плана набора. Иначе, команда выйдет с кодом ошибки.
    • В версии 1.6+ нет значений для поля "options", т.к. параметр "j" был удален, но, если необходимо указать остальные параметры, то этот аргумент должен быть указан как пустой параметр: ,,
  • membername - имя для участника обработки очереди, под которым он будет добавлен (версии 1.4+).
  • stateinterface - альтернативный интерфейс, который будет использоваться для определения состояния участника обработки очереди (версии 1.6+).

 

Пример:

; добавляем SIP/3000 с приоритетом 1 в очередь techsupport
exten => 123,1,AddQueueMember(techsupport,SIP/3000,1)

См. также: Queue(), RemoveQueueMember(), PauseQueueMember(), UnpauseQueueMember()AgentLogin(), queues.conf