Литмир - Электронная Библиотека
Содержание  
A
A

exten => 123,1,Echo()

exten => 123,2,Playback(vm-goodbye)

Смотрите также

Milliwatt()

EndWhile()

Завершает цикл while

EndWhile()

Возвращается к ранее вызванному приложению While(). Полную информацию о том, как использовать цикл while, можно найти в описании приложения While().

exten => 123,1,Set(COUNT=1) exten => 123,2,While($[ ${COUNT} < 5 ]) exten => 123,3,SayNumber(${COUNT}) exten => 123,4,Set(COUNT=$[${COUNT} + 1] exten => 123,5,EndWhile()

Смотрите также

While(), ExitWhile(), GotoIf()

Exec()

Динамически выполняет приложение Asterisk

Ex.ec(имяприложения(aргументы))

Позволяет вызывать любое приложение, даже если оно не указано в коде диалплана. Выполняет выход так же, как и базовое приложение, или аварийно, если это приложение не найдено. Значение аргументы передается в вызываемое приложение.

Это приложение позволяет динамически вызывать приложения, извлекая их из базы данных или другого внешнего источника.

exten => 123,1,Set(MYAPP=SayDigits(12345)) exten => 123,2,Exec(${MYAPP})

Смотрите также

EVAL, TryExec(), ExecIf()

ExecIf()

Выполняет приложение Asterisk по условию

ExecIf(выражение,приложение, аргументы)

Если выражение истинно, выполняет заданное приложение, передавая в него аргументы, и возвращает результат. Больше информации о выражениях Asterisk можно найти в главе 6 или в файле channelvariables. txt в подпапке doc/ папки исходного кода Asterisk. Если выражение ложно, выполнение продолжается со следующего приоритета.

exten => 123,1,ExecIf($[ ${CALLERIDNUM} = 101 ],SayDigits,12345) exten => 123,2,SayDigits(6789)

Смотрите также

EVAL, Exec(), TryExec()

ExitWhile()

Выполняет выход из цикла While() независимо от того, было удовлетворено условие или нет

ExitWhile()

Завершит цикл While() независимо от того, было ли удовлетворено условие в выражении.

exten => 123,1,Set(COUNT=1)123,1,Set(COUNT=1)
exten => 123,n,While($[${COUNT} < 5])
exten => 123,n,GotoIf($[${COUNT} != 3]?continue)
exten => 123,n,ExitWhile()
exten => 123,n(continue),NoOp()
exten => 123,n,SayNumber(${COUNT})
exten => 123,n,Set(COUNT=$[${COUNT} + 1])
exten => 123,n,EndWhile()

Смотрите также

While(), ContinueWhile(), EndWhile()

ExtenSpy()

Прослушивает аудиосигнал по добавочному номеру и может (опционально) посылать сигнал в вызывающий канал

ExtenSpy([добавочныйномер@контекст[, опции]])

Это приложение используется для прослушивания аудиосигнала, поступающего в канал и из канала Asterisk. Для прослушивания будут выбираться только каналы, созданные исходящими вызовами с заданного добавочного номера.

При прослушивании канала могут выполняться следующие действия:

• Набор # циклически меняет уровень громкости.

• Набор * заставит приложение перейти к прослушиванию следующего доступного канала.

Параметр опции может содержать нуль или более следующих опций: b

Прослушивать только соединенные каналы.

g(группа)

Прослушивать только каналы с переменной канала SPYGROUP, в которой в необязательном списке с разделяющими двоеточиями должна быть указана группа.

q

Скрытый режим. Указывает приложению, начиная прослушивание, не подавать звуковой сигнал или не читать имя выбранного канала.

r[(базовоеимя)]

Записывает разговор, ведущийся по каналу, в папку очереди для записей разговоров (обычно это /var/spool/asterisk/monitor). Необязательный аргумент базовоеимя задает базовое имя файла для записей, значение по умолчанию - chanspy.

v([значение])

Настраивает громкость прослушиваемого аудиосигнала. Значение должно быть в диапазоне от 4 до -4. Отрицательное значение сделает звук тише, тогда как положительное - громче.

w

Режим шепота. Позволяет прослушивающему каналу «говорить» с прослушиваемым каналом. При этом ни один другой соединенный канал не сможет слышать этот разговор.

W

Закрытый режим шепота. Позволяет прослушивающему каналу «говорить» с прослушиваемым каналом без возможности слышать аудиосигнал из прослушиваемого канала.

; Прослушиваем каналы, созданные добавочным номером 125 ; в контексте lab

exten => 123,1,ExtenSpy(125@lab,w)

Смотрите также

ChanSpy()

ExternalIVR()

Обеспечивает сопряжение с внешним IVR-приложением

ExternalIVR(команда[,аргумент1[,аргумент2...]])

Создает процесс для выполнения указанной совместимой с интерфейсом ExternallVR команды и запускает генератор для канала. Список воспроизведения генератора управляет внешним приложением, которое может добавлять и удалять записи посредством простых команд, передаваемых по STDOUT. Внешнее приложение будет получать уведомления обо всех DTMF-событиях, полученных по каналу, а также уведомление о том, что абонент повесил трубку. Приложение не будет принудительно завершаться, когда абонент повесил трубку. Спецификацию интерфейса ExternalIVR можно найти в папке исходного кода Asterisk в файле doc/externalivr.txt.

; Выполняем внешнюю программу IVR, передавая аргумент

exten => 123,1,ExternalIVR(test_program,${MYARGUMENT})

Смотрите также

AGI()

FastAGI()

Удаленно выполняет совместимый с AGI сценарий

FastAGI(agl://имяхоста[:порт][/сценарий], аргументы)

Выполняет совместимую с AGI программу по сети. Это приложение очень похоже на AGI(), за исключением того что вызывает специально написанный сценарий FastAGI по сетевому соединению. Основные цели использования FastAGI - перенести требующие интенсивной работы ЦП AGI-сценарии на удаленные серверы и сократить время запуска AGI-сце- нария (программа FastAGI выполняется уже до того, как Asterisk соединится с ней).

Asterisk™: будущее телефонии Второе издание - img_147.png

FastAGI() пытается подключиться прямо к выполняющейся программе FastAGI, которая должна слушать соединения по заданному порту сервера, заданного параметром имяхоста. Если порт не задан, по умолчанию используется порт 4573. Если сценарий задан, он передается в программу FastAGI как переменная agi_network_script (сетевой agi-сцена- рий). Параметр аргументы будет передан в программу.

Пример сценария FastAGI можно найти в папке исходного кода Asterisk agi/fastagi-test. Он должен послужить вам хорошим образцом для написания собственных программ FastAGI.

Возвращает -1, если приложение запросило разорвать соединение, или 0 при выходе без разрыва соединения.

; соединяемся с программой fastagi-test, которая уже ; должна выполняться на локальном компьютере exten => 123,1,Answer() exten => 123,2,FastAGI(agi://localhost)

; соединяемся со сценарием FastAGI на хосте calvin ; через порт 8000 и передаем имя сценария testing ; с аргументом 12345 exten => 124,1,Answer()

exten => 124,2,FastAGI(agi://calvin:8000/testing,12345)

Смотрите также

AGI(), DeadAGI()

Festival()

Использует механизм речевого воспроизведения текста Festival для чтения текста вызывающему абоненту

Festival^^^, кнопкипрерывания])

Подключается к выполняемому локально серверу Festival, посылает ему текст и воспроизводит результирующий звуковой файл абоненту. Это приложение позволяет вызывающему абоненту нажимать определенную кнопку (заданную параметром кнопкипрерывания), чтобы немедленно прекратить воспроизведение и возвратить значение кнопкипреры- вания. Если для параметра кнопкипрерывания задано значение any (любой), Festival() передаст управление каналом добавочному номеру, введенному пользователем.

117
{"b":"282856","o":1}