Asterisk

Приложения Asterisk

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

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

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

Kamailio SIP proxy: пример установки и минимальной настройки

Опубликовано lynx - вс, 02/12/2017 - 18:47

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

Asterisk. Команда ZapScan.

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

ZapScan([группа])

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

Пример:

exten => 123,1,ZapScan()

 

См. также: ZapBarge()

Asterisk. Команда ZapRAS.

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

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

Asterisk. Команда ZapBarge.

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

ZapBarge([канал])
Прослушивает заданный Zap-канал или предлагает ввести номер канала, если он не задан. Абоненты, говорящие по каналу, не смогут слышать вас и не получат никакого сигнала о том, что их разговор прослушивается.
Если канал не задан, будет предложено ввести номер канала. Введите 1# для Zap/1, например.

Пример:

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

 

Asterisk. Команда Zapateller.

Zapateller() - Использует специальный информационный тон для блокирования звонков отдела маркетинга по телефону.

Zapateller(опции)

Генерирует специальный информационный тон для блокирования надоедливых звонков систем продаж по телефону и других автоматизированных звонков.
Доступны следующие опции:
answer - Перед воспроизведением тона должно быть установлено соединение.
nocallerid - Zapateller воспроизводит тон, только если недоступна информация идентификатора вызывающего абонента.

Пример:

Asterisk. Команда While.

While() - Начинает выполнение цикла while.

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

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

Пример:

Asterisk. Команда WaitMusicOnHold.

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

WaitMusicOnHold(задержка)

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

Пример: