Команда 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+)
Команда динамически добавляет интерфейс в существующую очередь вызовов, для обработки поступающих в нее вызовов (интерфейс как бы регистрируется в очереди вызовов, так же как агент, с использованием команды AgentCallbackLogin).
Аргументы
- queuename - имя очереди вызовов, в которую необходимо добавить интерфейс.
- interface - Название интерфейса для добавления в очередь, если не указано, используется текущий интерфейс.
- penalty - Целое число большее или равное нулю, доступные участники, обрабатывающие очередь, с меньшим значением пенальти получают вызовы в первую очередь.
- options: (версии 1.2+)
- j - Если заданный интерфейс уже обрабатывает поступающие вызовы данной очереди и существует команда с приоритетом n+101, тогда с нее продолжиться выполнение команд плана набора. Иначе, команда выйдет с кодом ошибки.
- В версии 1.6+ нет значений для поля "options", т.к. параметр "j" был удален, но, если необходимо указать остальные параметры, то этот аргумент должен быть указан как пустой параметр: ,,
- membername - имя для участника обработки очереди, под которым он будет добавлен (версии 1.4+).
- stateinterface - альтернативный интерфейс, который будет использоваться для определения состояния участника обработки очереди (версии 1.6+).
Замечание: Функция AddQueueMember не вносит никаких записей в queue_log. Для решения этой задачи, обратите внимание на эту ссылку: http://lists.digium.com/pipermail/asterisk-dev/2005-February/009615.html. Более полное решение, протестированное с анализатором лога QueueMetrics, можно найти тут: http://www.oinko.net/astrecipes/index.php?n=100.
Коды возврата:
При возникновении ошибки возвращает -1.По завершению выполнения, команда также установит переменную AQMSTATUS в одно из значений:
- ADDED
- MEMBERALREADY
- NOSUCHQUEUE
Пример:
AddQueueMember(techsupport|SIP/3000)Используя вариант этой команды: AddQueueMember(<queuename>), вы добавите интерфейс, который совершает вызов, в список участников, которые обрабатывают очередь.
<queuename> - это имя очереди вызовов, описанной в файле queues.conf
Ссылки по теме:
- Asterisk cmd RemoveQueueMember: Динамическое удаление агента или интерфейса , обрабатывающего очередь вызовов
- Asterisk config queues.conf
- Очереди вызовов в Asterisk
- Список команд