Asterisk: AddQueueMember
Приложение Asterisk: Динамическое добавление интерфейса для обработки очереди вызовов.
Описание
AddQueueMember(queuename[[,interface[[,penalty[[,options[[,membername[[,stateinterface]]]]]))
Команда динамически добавляет интерфейс в существующую очередь вызовов, для обработки поступающих в нее вызовов (интерфейс как бы регистрируется в очереди вызовов, так же как агент, с использованием команды AgentCallbackLogin).
Аргументы
- queuename - имя очереди вызовов, в которую необходимо добавить интерфейс.
- interface - Название интерфейса для добавления в очередь, если не указано, используется текущий интерфейс.
- penalty - Целое число большее или равное нулю, доступные участники, обрабатывающие очередь, с меньшим значением пенальти получают вызовы в первую очередь.
- options: (версии 1.2+)
- j - Если заданный интерфейс уже обрабатывает поступающие вызовы данной очереди и существует команда с приоритетом n+101, тогда с нее продолжиться выполнение команд плана набора. Иначе, команда выйдет с кодом ошибки.
- В версии 1.6+ нет значений для поля «options», т.к. параметр «j» был удален, но, если необходимо указать остальные параметры, то этот аргумент должен быть указан как пустой параметр: ,,
- membername - имя для участника обработки очереди, под которым он будет добавлен (версии 1.4+).
- stateinterface - альтернативный интерфейс, который будет использоваться для определения состояния участника обработки очереди (версии 1.6+).
Код возврата
При возникновении ошибки возвращает -1.
По завершению выполнения, команда также установит переменную AQMSTATUS в одно из значений:
- ADDED
- MEMBERALREADY
- NOSUCHQUEUE
Пример:
AddQueueMember(sales,PJSIP/2666)
Используя вариант этой команды: AddQueueMember(<queuename>), вы добавите интерфейс, который совершает вызов, в список участников, которые обрабатывают очередь. <queuename> - это имя очереди вызовов, описанной в файле queues.conf
пример2:
exten => _101,1,Noop(agent logged on) same => n,Set(queueN=q${EXTEN:0:1}) same => n,AddQueueMember(${queueN},Local/${CALLERID(num)}@from-queue/n) same => n,PlayBack(ru/agent-loginok)
*CLI> queue show q1 q1 has 0 calls (max 11) in 'random' strategy (0s holdtime, 0s talktime), W:0, C:0, A:0, SL:0.0% within 0s Members: Local/4887@from-queue/n (ringinuse disabled) (dynamic) (Not in use) has taken no calls yet No CallersСм. также