Раздел [channels] определяет метод обмена сигналами для аппаратных каналов и их параметры. Если параметр задан, он наследуется далее по всему файлу. Для определения канала используется синтаксис channel =>. Каждое описание канала наследует все параметры, определенные в файле выше. Если для разных каналов требуется задать различные параметры, они должны задаваться перед описанием channel =>. Строка usecallerid=yes служит для активации возможности Caller ID, а строка hidecallerid=no определяет, что идентификатор вызывающего абонента не будет скрыт для исходящих вызовов. Отложенный вызов де- активирован для FXO-линии посредством строки callwaiting=no. Активация вызова с подключением третьего абонента (строка threewaycalling=yes) позволяет переводить активный вызов в состояние ожидания путем быстрого нажатия рычажного переключателя (обсуждается в главе 7). При этом текущий вызов будет отложен. После этого можно позвонить третьей стороне и подключить ее к разговору, еще раз нажав переключатель. По умолчанию возможность вызова с подключением третьего абонента деактивирована.
Разрешение переадресации вызова с помощью рычажного переключателя настраивается строкой transfer=yes; для этого требуется, чтобы была активирована возможность вызова с подключением третьего абонента. Для устранения эха, которое может возникнуть в аналоговых линиях, используется эхокомпенсатор Asterisk, он активируется строкой echocancel=yes. Эхокомпенсатору в Asterisk требуется некоторое время на изучение эха, но этот процесс можно ускорить, включив обучение эхоподавления (echotraining=yes). В этом режиме Asterisk посылает тональный сигнал в линию в начале вызова, чтобы измерить эхо, и таким образом, на его изучение уходит меньше времени. При поступлении вызова на интерфейс FXO вы захотите выполнять некоторые действия. Действия, которые будут осуществляться, задаются в блоке инструкций под названием context. Входящие вызовы FXO- интерфейса направляются в контекст incoming (входящие) посредством строки context=incoming. Команды, выполняемые в этом контексте, определены в файле extensions.conf.
Наконец, поскольку канал FXO использует протокол обмена сигналами FXS, это определено в строке signaling=fxs_ks.
Конфигурация диалплана
Приведенный ниже простейший диалплан использует приложение Echo() для проверки работы двунаправленной связи в канале:
[incoming]
; входящие вызовы, поступающие через порт FXO,
;направляются в этот контекст из zapata.conf
exten => s,1,Answer()
exten => s,n,Echo()
Приложение Echo() будет возвращать все, что вы скажете.
Звонок
Теперь, когда канал FXO сконфигурирован, протестируем его. Запустите приложение zttool и подключите линию PSTN к FXO-порту на плате TDM400P. Как только телефонная линия будет подключена к FXO-порту, красный световой индикатор погаснет. Теперь наберите номер PSTN с другого внешнего телефона (например, мобильного). Asterisk ответит на вызов и выполнит приложение Echo(). Если вы услышали в трубке свой голос, значит, FXO-канал установлен и сконфигурирован успешно.
Конфигурация канала FXS для аналогового телефона
Конфигурация канала FXS аналогична настройке канала FXO. Рассмотрим ее подробнее.
Конфигурация оборудования Zaptel
Ниже представлена минимальная конфигурация для канала FXS платы TDM400P. Эта конфигурация аналогична приведенной выше конфигурации канала FXO, добавлена только строка fxoks=1. Из наших предыдущих обсуждений вы должны помнить, что для каналов FXO и FXS используются противоположные типы протоколов обмена сигналами, поэтому для канала FXS мы зададим протокол FXO. В приведенном ниже примере канал 1 конфигурируется на использование протокола FXO с протоколом обмена сигналами kewlstart:
fxoks=1
fxsks=2
loadzone=us
defaultzone=us
После загрузки драйверов для своего оборудования можно проверить статус оборудования с помощью команды /sbin/ztcfg -vv:
Zaptel Configuration Channel map:
Channel 01: FXO Kewlstart (Default) (Slaves: 01)
Channel 02: FXS Kewlstart (Default) (Slaves: 02)
Конфигурация оборудования Zapata
Следующая конфигурация аналогична настройке канала FXO, добавлен только раздел для FXS-порта и строка immediate=no. Контекстом FXS-порта является phones, протокол обмена сигналами - fxoks (kewlstart), номер канала - 1.