355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Джим Меггелен » Asterisk™: будущее телефонии Второе издание » Текст книги (страница 35)
Asterisk™: будущее телефонии Второе издание
  • Текст добавлен: 7 октября 2016, 17:17

Текст книги "Asterisk™: будущее телефонии Второе издание"


Автор книги: Джим Меггелен


Соавторы: Джаред Смит,Лейф Мадсен

Жанр:

   

ОС и Сети


сообщить о нарушении

Текущая страница: 35 (всего у книги 41 страниц)

По завершении это приложение задает для переменной канала TRANSFERSTATUS одно из следующих значений:

SUCCESS

Переадресация была успешной.

FAILURE

Переадресация не была успешной.

UNSUPPORTED

Переадресация не поддерживается драйвером базового канала.

Если для параметра опции задано значение j, переадресация не поддерживается или не удалась и существует приоритет n + 101 (где n – текущий приоритет), выполнение перейдет в этот приоритет.

; переадресовываем звонки с добавочного номера 123 ; на добавочный номер SIP/123@otherserver exten => 123,1,Transfer(SIP/123@otherserver)

TryExec()

Делает попытку выполнить приложение Asterisk

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

Делает попытку выполнить заданное приложение Asterisk. Это приложение очень похоже на приложение Exec(), за исключением того что оно всегда возвращается нормально, тогда как приложение Exec() будет вести себя так, как если бы базовое приложение было вызвано обычным способом, включая статус выхода. Это приложение может использоваться для перехвата условия, которое при обычном выполнении привело бы к сбою базового приложения. exten => 123,1,TryExec(VMAuthenticate(@default))

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

Exec()

TrySystem()

Делает попытку выполнить команду операционной системы

TrySystem(команда)

Делает попытку выполнить команду в базовой операционной системе. Результат выполнения команды будет помещен в переменную канала SYSTEMSTATUS. Это может быть одно из следующих значений:

FAILURE

Не удалось выполнить указанную команду.

SUCCESS

Указанная команда была выполнена успешно.

APPERROR

Указанная команда была выполнена, но возвратила код ошибки.

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

exten => 123,1,TrySystem(echo hello > /tmp/hello.txt)

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

System()

UnpauseMonitor()

Возобновляет запись канала

UnpauseMonitor()

Возобновляет запись канала, после того как она была приостановлена с помощью приложения PauseMonitor().

exten => 123,1,Answer()

exten => 123,n,Monitor(wav,monitor_test)

exten => 123,n,Playback(demo-congrats)

; временно приостанавливаем запись на время сбора секретной информации exten => 123,n,PauseMonitor() exten => 123,n,Read(NEWPASS,vm-newpassword) exten => 123,n,SayDigits(${NEWPASS})

; возобновляем и продолжаем запись звонка exten => 123,n,UnpauseMonitor() exten => 123,n,Dial(${JOHN})

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

Monitor(),StopMonitor(), Page()

UnpauseQueueMember()

Возобновление работы участника обработки очереди вызовов

UnpauseQueueMember([имяочереди,]интерфейс[,опции])

Возобновляет работу участника обработки очереди вызовов (звонки к нему). Является аналогом приложения PauseQueueMember() и действует абсолютно так же, только не приостанавливает, а возобновляет работу данного интерфейса.

По завершении это приложение задает для переменной канала UPQMSTATUS значение UNPAUSED (возобновлен) или NOTFOUND (не найден). Если для параметра опции задано значение j , участник обработки очереди не найден и существует приоритет n + 101 (где n – текущий приоритет), управление вызовов передается в этот приоритет. exten => 123,1,PauseQueueMember(myqueue,SIP/300) exten => 124,1,UnpauseQueueMember(myqueue,SIP/300)

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

PauseQueueMember()

UserEvent()

Передает произвольное событие в интерфейс Manager

UserEvent(имясобытия[, тело])

Отправляет произвольное событие в интерфейс Manager. В качестве необязательного тела могут быть представлены дополнительные аргументы. Формат события такой:

Event: UserEvent UserEvent: имясобытия тело

Если параметр тело не задан, в событии Manager будут пристутствовать только поля Event и UserEvent.

exten => 123,1,UserEvent(BossCalled,${CALLERID(name)} has called the boss!) exten => 123,2,Dial(${BOSS})

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

manager.conf, интерфейс Asterisk Manager

Verbose()

Передает произвольный текст в детальный вывод

Verbose([уровень,]сообщение)

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

exten => 123,1,Verbose(Somebody called extension 123) exten => 123,2,Playback(extension) exten => 123,3,SayDigits(${EXTEN})

Необязательный аргумент уровень вовсе не является необязательным, если в вызов Verbose() включен разделитель Если присутствует разделитель, Ve rbose() предполагает, что вы собирались задать уровень (и отбрасывает все до первого символа |). Поэтому, наверное, лучше выработать привычку всегда задавать параметр уровень.

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

NoOp(), Log()

VMAuthenticate()

Аутентификация вызывающего абонента по паролям голосовой почты

VMAuthenticate([почтовыйящик][@контекст[,опции]])

Ведет себя аналогично приложению Authenticate(), за исключением того что используются пароли из файла voicemail.conf. Если задан параметр почтовыйящик, действительными будут считаться только пароли этого почтового ящика. Если параметр почтовыйящик не задан, переменной канала AUTH_MAILBOX будет присвоено значение, соответствующее имени почтового ящика, для которого подошел пароль. Если для параметра опции задано значение s, Asterisk пропустит начальные сообщения.

; принимает любой пароль почтового ящика из контекста

; голосовой почты default и сообщает нам соответствующий

; номер почтового ящика

exten => 123,1,VMAuthenticate(@default)

exten => 123,2,SayDigits(${AUTH_MAILBOX})

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

Authenticate(), voicemail.conf

VoiceMail()

Оставляет сообщение голосовой почты в указанном почтовом ящике

VolceMall(почтовыйящик[@контекст][&почтовыйящик[@контекст]][...]|опции)

Оставляет голосовую почту для почтового ящика, заданного параметром почтовыйящик (должен быть сконфигурирован в файле voicemail.conf). Если задано более одного почтового ящика, будут использоваться сообщения почтового ящика, заданного первым. Опции: s

Пропускается воспроизведение инструкций.

u

Воспроизводится сообщение о недоступности абонента.

b

Воспроизводится сообщение о занятости абонента.

д(число)

Увеличивает громкость записи на заданное число децибел (дБ).

J

Если запрашиваемый почтовый ящик не существует и имеется приоритет n + 101 (где n – текущий приоритет), этот приоритет будет выполнен следующим.

Если вызывающий абонент во время воспроизведения сообщения нажимает кнопку 0 (нуль), вызов переходит в добавочный номер o (строчная буква o) текущего контекста, если в файле voicemail.conf было задано operator=yes.

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

По завершении это приложение задает переменную канала VMSTATUS. Она будет содержать одно из следующих значений:

SUCCESS

Вызов был успешно отправлен в систему голосовой почты.

USEREXIT

Вызывающий абонент вышел из системы голосовой почты.

FAILED

Система не смогла направить вызов в систему голосовой почты.

; отправляем вызывающего абонента в папку голосовой почты, используемую ; в случае недоступности почтового ящика 123 exten => 123,1,VoiceMail(123@default,u)

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

VoiceMailMain(), voicemail.conf

VoiceMailMain()

Выполняет вход в систему голосовой почты

VoiceMailMain([почтовыйящик][@контекст][, опции)

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

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

s

Не проводится проверка пароля.

p

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

g( прирост)

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

a( папка)

Сообщение папки пропускается, и выполняется переход непосредственно к папке, заданной параметром папка. Значение по умолчанию для этой опции – INBOX.

; переходим к меню голосовой почты для почтового ; ящика 123 в контексте голосовой почты default exten => 123,1,VoiceMailMain(123@default)

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

VoiceMail(), voicemail.conf

Wait()

Ожидает заданное количество секунд

Wait(количествосекунд)

Ожидает в течение времени, заданного параметром количествосекунд. Можно передавать доли секунд. Например, значение количествосекунд, равное 1,5, заставит диалплан подождать 1,5 с перед переходом к следующему приоритету.

; ожидаем 1,5 с перед воспроизведением сообщения exten => s,1,Answer() exten => s,2,Wait(1.5)

exten => s,3,Background(enter-ext-of-person)

WaitExten()

Ожидает ввода добавочного номера

WaitExten([количествосекунд][, опции])

Ожидает ввода нового добавочного номера пользователем заданное количество секунд. Можно задавать доли секунд (например, 1,5 = 1,5 с). Если параметр количествосекунд не задан, используется время ожидания ввода добавочного номера по умолчанию. Чаще всего это приложение используется без задания опций количествосекунд. Для параметра опции может быть задано такое значение: m[(клaсс)[

В процессе ожидания ввода добавочного номера воспроизводится музыка во время ожидания. Можно (необязательно) задать класс музыки во время ожидания в круглых скобках.

; ожидаем ввода добавочного номера пользователем ; в течение 15 с exten => s,1,Answer()

exten => s,2,Playback(enter-ext-of-person) exten => s,3,WaitExten(15)

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

Background(), TIMEOUT

WaitForRing()

Ожидает звонка заданное количество секунд

WaitForRing(времяожидания)

Ожидает по крайней мере заданное параметром вермяожидания количество секунд после завершения следующего звонка.

; ожидаем звонка пять секунд, а затем передаем

; некоторую DTMF-последовательность

exten => 123,1,Answer()

exten => 123,2,WaitForRing(5)

exten => 123,3,SendDTMF(1234)

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

WaitForSilence()

WaitForSilence()

Ожидает заданное количество пауз

WaitForSilence(необходимаяпауза[, повтор[, времяожидания]])

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

Если задана опция времяожидания, это приложение возвратится к следующему приоритету диалплана по истечении заданного количества секунд, даже если пауза не была выявлена.

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

Это приложение задает для переменной канала WAITSTATUS значение SILENCE или TIMEOUT.

; ожидаем трех пауз по 300 мс exten => 123,WaitForSilence(300,3)

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

WaitForRing()

WaitMusicOnHold()

Ожидает заданное количество секунд, воспроизводя музыку во время ожидания

WaitMusicOnHold(задержка)

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

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

; даем вызывающему абоненту пять минут ; послушать музыку во время ожидания exten => 123,1,Answer() exten => 123,2,WaitMusic0nHold(300) exten => 123,3,Hangup()

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

SetMusicOnHold(), musiconhold.conf

While()

Начинает выполнение цикла while

While(выражение)

Начинает выполнение цикла while. Выполнение возвратится в эту точку, когда будет вызвано приложение EndWhile(), если раньше не будет выполнено условие выражения. Если условие выполнено, что приводит к завершению цикла, Asterisk продолжает выполнение диалплана со следующего приоритета после соответствующего приложения EndWhile().

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()

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

EndWhile(), ExitWhile(), GotoIf()

Zapateller()

Использует специальный информационный тон для блокирования звонков систем продаж по телефону

Zapateller(опции)

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

Аргумент опции – это разделенный символами вертикальной черты список опций. Доступны следующие опции:

answer

Перед воспроизведением тона должно быть установлено соединение.

nocallerid

Zapateller воспроизводит тон, только если недоступна информация идентификатора вызывающего абонента.

; отвечаем на звонок и воспроизводим SIT-тон,

; если не получаем информации CallerID

exten => 123,1,Zapateller(answernocallerid)

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

PrivacyManager()

ZapBarge()

Прослушивает (отслеживает) Zap -канал

ZapBarge([кaнaл])

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

Если канал не задан, вам будет предложено ввести номер канала. Введите 4# для Zap/4, например.

exten => 123,1,ZapBarge(Zap/2) exten => 123,2,Hangup()

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

ZapScan()

ZapRAS()

Выполняет ISDN -сервер удаленного доступа Zaptel

ZapRAS(аргументы)

Выполняет RAS-сервер ISDN, используя pppd для текущего канала. Чтобы использовать эту функцию, канал должен быть выделенным (то есть PRI-источником) и Zaptel-каналом.

Чтобы поддерживать Zaptel, необходимо установить все патчи для pppd. аргументы – это разделенный символами вертикальной черты список аргументов.

Это приложение может использоваться только для ISDN-линий, и, чтобы ядро поддерживало ZapRAS(), необходимо установить все необходимые патчи. Также ядро должно поддерживать ppp.

exten => 123,1,Answer()

exten => 123,1,ZapRas(debug64000noauthnetmask255.255.255.0 10.0.0.1:10.0.0.2)

ZapScan()

Сканирует Zap -каналы для прослушивания звонков

ZapScan([группа])

Предоставляет управляющему информационно-справочной службы удобный способ прослушивания Zap-каналов, используя кнопку # для выбора следующего канала и * для выхода. Можно ограничить сканирование конкретной группой каналов (определенной функцией GROUP()), задавая аргумент группа. exten => 123,1,ZapScan()

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

ZapBarge()

C

Справочник по AGI

ANSWER

Отвечает на вызов, поступающий по каналу (если соединение еще не установлено, то есть трубка не снята). Возвращаемые значения:

Сбой.

0

Успешное выполнение.

CHANNEL STATUS

CHANNEL STATUS [имяканала]

Запрашивает статус канала, определенного параметром имяканала или, если канал не задан, текущего. Возвращаемые значения:

0

Канал свободен и доступен.

1

Канал свободен, но зарезервирован.

Канал подключен.

Производится набор номера.

По линии поступил вызов.

Линия подключена.

Линия занята.

DATABASE DEL

DATABASE DEL семейство ключ

Удаляет запись из базы данных Asterisk для заданного семейства и ключа.

Возвращаемые значения:

0

Сбой.

1

Успешное выполнение.

DATABASE DELTREE

DATABASE DELTREE семейство [деревоключей]

Удаляет семейство и/или дерево ключей из базы данных Asterisk. Возвращаемые значения:

0

Сбой.

1

Успешное выполнение.

DATABASE GET

DATABASE GET семейство ключ

Извлекает значение из базы данных Asterisk по заданному семейству и ключу.

Возвращаемые значения:

0

Не задано. 1 ( значение )

Значение задано (и приведено в круглых скобках).

DATABASE PUT

DATABASE PUT семейство ключ .значение

Добавляет заданное значение для указанного семейства и ключа или обновляет запись базы данных Asterisk.

Возвращаемые значения:

0

Сбой.

1

Успешное выполнение.

EXEC

EXEC приложение опции

Выполняет заданное приложение диалплана, включая опции. Возвращаемые значения:

–2

Не удалось найти приложение.

значение

Возвращаемое значение приложения.

GET DATA

GET DATA имяфайла [времяожидания] [максимум_цифр]

Воспроизводит аудиофайл, заданный параметром имяфайла, и принимает DTMF-последовательность максимальной длиной максимум_цифр. Подобно приложению диалплана Background(). Возвращаемое значение: значение

Цифры, полученные от вызывающего абонента.

GET FULL VARIABLE

GET FULL VARIABLE имяпеременной [имяканала]

Если переменная, указанная в параметре имяпеременной, задана, возвращает ее значение в круглых скобках. Эта команда, в отличие от GET VARIABLE, принимает имена комплексных и встроенных переменных. Возвращаемые значения: 0

Канал или переменная не заданы.

1 ( значение )

Значение получено (и приведено в круглых скобках).

GET OPTION

GET OPTION имяфайла коды_выхода [времяожидания]

Ведет себя аналогично STREAM FILE, но имеет опцию времяожидания (в секундах).

Возвращаемое значение:

значение

ASCII-значение полученных цифр, в десятичной форме.

GET VARIABLE

GET VARIABLE имяпеременной

Если переменная задана, возвращает ее значение в круглых скобках. Эта команда не принимает комплексных или встроенных переменных; используйте команду GET FULL VARIABLE, если приложению необходимы такие типы переменных. Возвращаемые значения: 0

Канал или переменная не заданы. 1 ( значение )

Значение получено (и приведено в круглых скобках).

HANGUP

HANGUP [имяканала]

Выполняет разрыв соединения по указанному каналу или, если канал не задан, по текущему каналу. Возвращаемые значения:

–1

Указанный канал не существует.

1

Разрыв соединения выполнен успешно.

NoOp

NoOp [ текст]

Не выполняет никакого действия. В качестве побочного эффекта это команда выводит значение параметра текст в консоль Asterisk. Обычно используется в целях отладки. Возвращаемое значение:

0

Канал или переменная не заданы.

RECEIVE CHAR

RECEIVE CHAR времяожидания

Принимает один символ текста из канала. Параметр времяожидания, в миллисекундах, задает максимальную продолжительность ожидания ввода; при значении 0 ожидание будет длиться неопределенно долго. Обратите внимание, что большинство каналов не поддерживают прием текста. Возвращаемые значения: -1 (разрыв)

Сбой или разрыв соединения.

char (времяожидания) Время ожидания.

значение

ASCII-значение символа, в десятичной форме.

RECORD FILE

RECORD FILE имяфайла формат коды_выхода времяожидания [фрагменты_смещения] [BEEP] [s=пaузa]

Записывает аудиосигнал, передаваемый по каналу, в заданный файл до получения определенного кода выхода (DTMF). Аргумент формат определяет тип записываемого файла (wav, gsm и пр.). Аргумент времяожидания – это максимальная продолжительность записи в миллисекундах. Может быть задан равным -1, что означает отсутствие времени ожидания. Аргумент фрагменты_смещения необязательный; если задан, запись начнется со смещением на заданное количество фрагментов, без выхода за пределы файла. Аргумент BEEP обусловит подачу звукового сигнала абоненту для обозначения начала операции записи. Аргумент пауза – это допустимая пауза, в секундах, после которой функция возвращается, даже если не поступили DTMF-коды или не истекло время ожидания. Значению паузы должна предшествовать запись s=. Этот аргумент также необязательный. Возвращаемые значения: -1

Сбой.

0

Успешная запись.

SAY ALPHA

SAY ALPHA номер коды_выхода

Проговаривает заданную строку символов, возвращаясь досрочно в случае получения по каналу заданных DTMF-кодов.

Возвращаемые значения:

–1

Ошибка или разрыв соединения.

0

Воспроизведение завершено без прерывания кодом выхода.

значение

ASCII-значение цифры (если введена), в десятичной форме.

SAY DATE

SAY DATE дата коды_выхода

Проговаривает дату, заданную аргументом дата, возвращаясь досрочно в случае получения по каналу заданных DTMF-кодов. дата – это количество секунд, прошедших с 00:00:00 по Гринвичу (Coordinated Universal Time, UTC) 1 января 1970 года.

Возвращаемые значения:

–1

Ошибка или разрыв соединения.

0

Воспроизведение завершено без прерывания кодом выхода.

значение

ASCII-значение цифры (если введена), в десятичной форме.

SAY DATETIME

SAY DATETIME датавремя коды_выхода [формат] [часовойпояс]

Проговаривает дату и время, заданные аргументом датавремя, возвращаясь досрочно в случае получения по каналу заданных DTMF-кодов. датавремя – это количество секунд, прошедших с 00:00:00 по Гринвичу 1 января 1970 года. Необязательный аргумент формат – это формат, в котором должно проговариваться время. (Полное описание опций формата можно найти в файле voicemail.conf.) По умолчанию формат принимает значение ABdY digits/at' IMp. Допустимые значения аргумента часовойпояс можно найти по адресу /usr/share/zoneinfo/. По умолчанию значение агрумента часовойпояс принимается равным часовому поясу по умолчанию сервера Asterisk. Возвращаемые значения: -1

Ошибка или разрыв соединения.

Воспроизведение завершено без прерывания кодом выхода.

значение

ASCII-значение цифры (если введена), в десятичной форме.

SAY DIGITS

SAY DIGITS номер коды_выхода

Проговаривает заданную строку цифр, возвращаясь досрочно в случае получения по каналу заданных DTMF-кодов.

Возвращаемые значения:

–1

Ошибка или разрыв соединения.

0

Воспроизведение завершено без прерывания кодом выхода.

значение

ASCII-значение цифры (если введена), в десятичной форме.

SAY NUMBER

SAY NUMBER номер коды_выхода

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

–1

Ошибка или разрыв соединения.

0

Воспроизведение завершено без прерывания кодом выхода.

значение

ASCII-значение цифры (если введена), в десятичной форме.

SAY PHONETIC

SAY PHONETIC строка коды_выхода

Проговаривает заданную строку символов, используя фонетический алфавит. Возвращается досрочно в случае получения по каналу любого из заданных DTMF-кодов. Возвращаемые значения: -1

Ошибка или разрыв соединения.

0

Воспроизведение завершено без прерывания кодом выхода.

значение

ASCII-значение цифры (если введена), в десятичной форме.

SAY TIME

SAY TIME время коды_выхода

Проговаривает время, указанное параметром время, возвращаясь досрочно в случае получения по каналу любого из заданных DTMF-ко– дов. время – это количество секунд, прошедших с 00:00:00 по Гринвичу 1 января 1970 года.

Возвращаемые значения:

–1

Ошибка или разрыв соединения.

0

Воспроизведение завершено без прерывания кодом выхода.

значение

ASCII-значение цифры (если введена), в десятичной форме.

SEND IMAGE

SEND IMAGE изображение

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

Возвращаемые значения:

–1

Ошибка или разрыв соединения.

0

Изображение отправлено или канал не поддерживает отправку изображения.

SEND TEXT

SEND TEXT «текст_для_отправки»

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

Возвращаемые значения:

–1

Ошибка или разрыв соединения.

Текст отправлен или канал не поддерживает отправку текста.

SET AUTOHANGUP

SET AUTOHANGUP время

Обусловливает автоматическое разъединение связи по каналу по истечении количества секунд, заданного параметром время. Конечно, разрыв может произойти и раньше. Задавая для параметра время значение 0, можно отключить возможность autohangup (автоматическое разъединение) для данного канала. Возвращаемое значение: 0

Возможность автоматического разъединения установлена.

SET CALLERID

SET CALLERID номер

Меняет идентификатор вызывающего абонента текущего канала. Возвращаемое значение:

1

Идентификатор вызывающего абонента задан.

SET CONTEXT

SET CONTEXT контекст

Задает контекст, в котором будет продолжаться выполнение после выхода из приложения AGI. Возвращаемое значение:

0

Контекст задан.

SET EXTENSION

SET EXTENSION добавочныйномер

Меняет добавочныйномер, в который перейдет выполнение после выхода из приложения AGI. Возвращаемое значение:

0

Добавочный номер задан.

SET MUSIC ON

SET MUSIC ON [on|off] [класс]

Активирует/деактивирует генератор музыки во время ожидания. Если класс не задан, будет использоваться класс музыки во время ожидания по умолчанию.

Возвращаемое значение:

0

Всегда возвращает 0.

SET PRIORITY

SET PRIORITY приоритет

Меняет приоритет для продолжения выполнения после выхода из приложения AGI. Значение аргумента приоритет должен быть действительным приоритетом или меткой.

Возвращаемое значение:

0

Приоритет задан.

SET VARIABLE

SET VARIABLE имяпеременной значение

Задает или обновляет значение переменной, заданной параметром имя– переменной. Если переменной не существует, она создается.

Возвращаемое значение:

1

Переменная задана.

STREAM FILE

STREAM FILE имяфайла коды_выхода [фрагмент_смещения]

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

Возвращаемые значения:

0

Воспроизведение завершено, коды введены не были.

–1

Ошибка или разрыв соединения.

значение

ASCII-значение цифры (если введена), в десятичной форме.

TDD MODE

Активирует и отключает возможность взаимодействия со слуховыми аппаратами (Telecommunications Devices for the Deaf, TDD) для этого канала.

Возвращаемые значения:

0

Канал не поддерживает TDD.

1

Успешное выполнение.

VERBOSE

VERBOSE сообщение уровень

Отправляет сообщение, определенное аргументом сообщение, в консоль через систему детальных сообщений. Аргумент уровень – это минимальный уровень детальности, при котором сообщение появится в интерфейсе командной строки Asterisk. Возвращаемое значение: 0

Всегда возвращает 0.

WAIT FOR DIGIT

WAIT FOR DIGIT времяожидания

Ожидает введения DTMF-кода в течение количества секунд, заданного для канала параметром времяожидания. Используйте -1 в качестве значения параметра времяожидания, если вы хотите блокировать вызов неопределенно долго. Возвращаемые значения: -1

Ошибка или сбой канала.

0

Время ожидания истекло.

значение

ASCII-значение цифры (если введена), в десятичной форме.

D

Конфигурационные файлы

Данное приложение является справочником по конфигурационным файлам, которые не были рассмотрены в предыдущих приложениях. Настройки VoIP-канала можно найти в приложении А. Справочные данные по диалплану приведены в приложении В.

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

Не найдя ни одного файла .conf, Asterisk примет некоторые решения относительно модулей. Например, всегда выполняются следующие шаги:

• Загружается журнал регистрации событий Asterisk, и события протоколируются в файле /var/log/asterisk/event_log.

• Регистрируются команды интерфейса Manager.

• Запускается ядро офисной АТС.

• Выделяется ряд RTP-портов от 5000 до 31000.

• Загружается несколько встроенных приложений, таких как

Answer(), Background^, GotoIf(), NoOp() и Set().

• Запускается динамический загрузчик, то есть механизм, ответственный за загрузку модулей, описанных в файле modules.conf.

Это приложение начинается с детального обсуждения конфигурационного файла modules.conf. Затем кратко рассматриваются другие файлы, которые, возможно, вам придется сконфигурировать для своей системы Asterisk.

modules.conf

Файл modules.conf управляет тем, какие модули загружаются или не загружаются при запуске Asterisk. Описывается это с помощью структур load => или noload =>.

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

Файл modules.conf всегда начинается с заголовка [modules] (модули). Asterisk может автоматически загружать все модули, содержащиеся в папке модулей, используя выражение autoload (автозагрузка), или загружать только те модули, которые указаны выражениями load =>. Мы рекомендуем вручную загружать только необходимые модули, но многие считают, что проще позволить Asterisk автоматически загрузить все, что она найдет в папке /usr/lib/asterisk/modules. После этого определенные модули можно исключить1 из загрузки с помощью выражений noload =>. Вот пример файла modules.conf:


[modules][modules]
autoload=noзадайте значение yes – и Asterisk будет
загружать все модули, которые найдет
в папке /usr/lib/asterisk/modules



load => res_adsi.so
load => pbx_config.so ; Требует: ничего
load => chan_iax2.so ; Требует: res_crypto.so,
; res_features.so
load => chan_sip.so ; Требует: res_features.so
load => codec_alaw.so ; Требует: ничего
load => codec_gsm.so ; Требует: ничего
load => codec_ulaw.so ; Требует: ничего
load => format_gsm.so ; Требует: ничего

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

load => app_dial.so ; Требует: res_features.so, ; res_musiconhold.so

Поскольку мы предполагаем, что сборка Asterisk выполнена в Linux, имена всех используемых модулей заканчиваются расширением .so. Однако если вы выполнили сборку Asterisk в другой операционной системе, расширения будут другими.

На момент написания данной книги существует восемь типов модулей: ресурсы, приложения, коннекторы баз данных для хранения Call Detail Record, каналы, кодеки, форматы, модули АТС и самостоятельные функции. Остановимся на каждом из них в отдельности.

adsi.conf

Интерфейс сервисов для аналогового дисплея (Analog Display Services Interface, ADSI) был разработан для того, чтобы телефонные компании могли поставлять улучшенные сервисы по аналоговым телефонным сетям. В Asterisk этот файл можно использовать для передачи команд ADSI в поддерживающие его телефоны. Пожалуйста, обратите внимание, что телефон должен быть напрямую подключен к каналу Zapata. ADSI-сообщения не могут передаваться на удаленный аналоговый телефон через VoIP-соединение.


    Ваша оценка произведения:

Популярные книги за неделю