Импульсный набор номера для Zap каналов
Начиная с версии 1.0.1, сервер Asterisk поддерживает импульсный набор номера для Zap каналов. Просто определите директиву:
pulsedial=yes
в файле zapata.conf
Прием решения проблемы неправильного детектирования импульсного набора
Если Вы используете FXS порт карты TDM400, и имеете проблему с распознаванием сервером Asterisk импульсного набора или ошибочным распознаванием цифр, которые в импульсном режиме набирает абонент, то Вам надо проделать следующие действия (проверено на Zaptel v1.2.0):
1) Открыть на редактирование файл wctdm.c из исходных кодов драйвера Zaptel.
2) Отыскать следующую строку:
/* Reset the debounce (must be multiple of 4ms) */
wc->mod[card].fxs.debounce = 8 * (4 * 8);
wc->mod[card].fxs.debounce = 8 * (4 * 8);
(Она находиться где то в районе 950 строки.)
4) А теперь изменим это значение (временной лимит, связанный с устранением ложных срабатываний), уменьшив наполовину значение переменной:
wc->mod[card].fxs.debounce = 4 * (4 * 8);
5) Скомпилируйте и установите заново драйвера Zaptel и убедитесь, что загружен уже новый модуль wctdm. Теперь сервер Asterisk должен распознавать импульсный набор точно и надежно.
(Это решение опубликовал некий Max в списке рассылки asterisk-users, при этом оно позволило корректно детектировать цифры в сервере Asterisk 1.2.0, передаваемые импульсным набором.)
Скорость импульсного набора при исходящих вызовах
Хотя большинство телефонных станций вполне нормально понимает импульсный набор со скоростью в пределах от 6 до 15 импульсов в секунду (pps), телефонные компании придерживаются стандарта скорости набора от 8 до 10 pps. Некоторые современные цифровые телефонные станции, свободные от механических проблем, связанных с инерционностью механизмов старых телефонных систем, могут поддерживать скорость набора до 20 импульсов в секунду.
Помимо норм на скорость набора, телефоны с импульсным набором имеют свое отношение "скваженности импульсов", обычно оно описывается в процентном отношении, но иногда в виде отношения продолжительности импульса к паузе. В северной Америке принят стандарт, определяющий этот параметр в 60/40 процентов; в большинстве Европейских стран принят стандарт - 63/37 процента. Это импульсы, измеренные на стороне телефона, а не на стороне телефонной станции, где эти значения могут уже отличаться, что связано с прохождением импульса через телефонные линии с распределенным сопротивлением, емкостью и индуктивностью. Практически, отношение длительности импульса к паузе не сказывается на правильности импульсного набора номера, когда телефон подключен к нормальной линии.
Существует три параметра для настройки параметров импульсного набора: отношения длительности импульса к паузе, когда сервер Asterisk набирает номер в импульсном режиме через FXO интерфейс.
Итак, параметры для Европейских телефонных линий должны выглядеть так:
zaptel.pulse.make: 60
zaptel.pulse.break: 40
zaptel.pulse.pause: 800
zaptel.pulse.break: 40
zaptel.pulse.pause: 800
Для FreeBSD драйвера, вы можете настроить эти параметры, используя утилиту sysctl.
Ссылки по теме:
- Модуль канала Zap
- Конфигурация канала Zap (zapata.conf)
- Инсталляция модуля Zaptel
- Драйвер Zaptel для FreeBSD: Разработка для сервера Asterisk от PortaOne
- Asterisk