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 соединится с ней).

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() передаст управление каналом добавочному номеру, введенному пользователем.

Более подробную информацию об использовании Festival с Asterisk можно найти в главе 14 и в файле README.festival, находящемся в подпапке contrib/ папки исходного кода Asterisk. Сервер Festival должен быть запущен до запуска Asterisk, и, прежде чем вызывать Festival(), необходимо ответить каналу, используя приложение Answer().

exten => 123,1,Answer()

exten => 123,2,Festival('This is sample speech from Festival',#)

Flash()

Посылает мгновенное событие сброса в магистральный канал Zap

Flash()

Посылает мгновенное событие сброса в Zap-канал. Это инструмент для тех, кто хочет перадресовывать вызовы и выполнять другие действия, которые требуют мгновенного сброса, через AGI-сценарий. В целом

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату