Шрифт:
username=john_smith
B
Справочник по приложениям
Приложения являются основными функциональными элементами диалплана. И приложения, и функции, описанные в приложении F, выполняют некоторые операции с каналом, но функции просто возвращают значения, которые могут быть использованы приложениями. Очень немногие приложения по-прежнему просто возвращают значения, но они, вероятно, будут признаны устаревшими в будущих версиях, их заменят функции диалплана.
Необходимо помнить о некоторых особенностях приложений. Во-первых, они могут завершаться нормально и аварийно. Практически всегда аварийное завершение выполняется, когда приложение выявляет разрыв соединения по каналу (или, если не выявляет, диалплан обнаружит это несколько позже). Приложение также может завершиться аварийно, когда необходимо указать диалплану на то, что некоторое условие не удовлетворено и что необходимо выполнить принудительный разрыв соединения. Во всех остальных случаях приложение будет завершаться нормально, а это свидетельствует о том, что выполнение должно продолжиться в следующем приоритете диалплана. Часто при необходимости переопределить поведение приложения, обусловливающее разрыв соединения, для него создают оболочку TryExec. В данном справочнике часто встречается описание метка. Это сокращенная запись для описания точки диалплана, будь то просто приоритет, добавочный номер и приоритет или контекст, добавочный номер и приоритет. Обратите внимание, что, если текстовая метка определена для конкретного приоритета, приоритет может быть заменен этой текстовой меткой в любом из упомянутых случаев. Больше информации и пример можно найти в описании приложения GotoIf.
Во многих примерах данного приложения используются нумерованные приоритеты, что не рекомендуется при написании диалплана. Мы предпочитаем использовать n для обозначения всех приоритетов, кроме первого (нумерация которого является обязательной), но решили прибегнуть к нумерованным приоритетам, чтобы сделать некоторые примеры более наглядными.
AddQueueMember
Динамически добавляет участников в очередь для заданной очереди вызовов
AddQueueMember(имяочереди[, интерфейс[, приоритет,[опция ,[имяучастник.а]]]])
Динамически добавляет заданный интерфейс в существующую очередь под именем имяочереди, которое определено в файле queues.conf. Если задан, приоритет определяет для очередей приоритет данного участника. Участники вызываются в порядке увеличения приоритетов. По завершении выполнения приложение AddQueueMember задает переменную канала AQMSTATUS.
Переменной AQMSTATUS будет присвоено одно из следующих значений:
ADDED
MEMBERALREADY NOSUCHQUEUE
При вызове AddQueueMember без аргумента интерфейс будет использоваться интерфейс, которым в настоящее время пользуется вызывающий абонент.
Если аргументу опция задано значение j, Asterisk не может добавлять интерфейс в указанную очередь и существует приоритет n + 101 (где n - номер текущего приоритета), вызов перейдет в этот приоритет. Посредством аргумента имяучастника может быть задано имя участника очереди. Таким образом, это имя будет использоваться в записях queue_ log и событиях интерфейса Asterisk Manager, что упростит идентификацию агента при формировании отчетов:
; добавляем SIP/3000 с приоритетом 1 в очередь techsupport exten => 123,1,AddQueueMember(techsupport,SIP/3000,1)
Смотрите также
Queue, RemoveQueueMember, PauseQueueMember, UnpauseQueueMember, AgentLogin, queues.conf
ADSIProg
Загружает ADSI – сценарий в телефон, поддерживающий ADSI
ADSIProg(сценарий)
Программирует телефон, поддерживающий Analog Display Services Interface (ADSI), с помощью заданного сценария. Если сценарий не задан, используется сценарий по умолчанию, asterisk.adsi. Для сценария указывается относительный путь из папки конфигурации Asterisk (обычно это /etc/asterisk/). Также можно указать полный путь к сценарию.
Для получения CPE ID и другой информации от своего ADSI-телефона используйте приложение GetCPEID:
; программируем ADSI-телефон с помощью сценария telcordia-l.adsi exten => 123,1,ADSIProg(telcordia-1.adsi)
Смотрите также
GetCPEID, adsi.conf
AgentCallbackLogin
Регистрация агента с возможностью обратного вызова
AgentCallbackLogln([НомерАгентa][,[опции][,[добaвочныйномер]@контекст]])
Разрешает агенту вызовов, идентифицированному параметром Номер- Агента, регистрироваться в системе очереди вызовов, что позволяет при поступлении вызова для этого агента выполнять обратный вызов к нему.