Cronyx Site
About Cronyx
Products Prices Contact information Search English 
English Russian  Russian
Software Payment
What's new
F. A. Q.
Partners
Site map


Применение PCI-адаптеров Cronyx совместно с DAHDI/Zaptel/Asterisk

Asterisk Logo

Введение

Asterisk - это универсальная программная АТС с открытым исходным кодом. Авторы "Астериск" спроектировали её как модульную коммуникационную платформу, независимую от "телефонных" протоколов и линий связи. Поэтому Asterisk позволяет создавать гибкие многофункциональные и гетерогенные АТС, узлы связи и call-центры, объединяющие традиционную "проводную" телефонию, E1/ИКМ-30 и VoIP.

Asterisk функционирует на нескольких операционных систем, в частности Linux, FreeBSD, Mac OS X, OpenBSD и Sun Solaris. Поддерживает все основные протоколы Voice over IP (IAXTM Inter-Asterisk Exchange, H.323, SIP Session Initiation Protocol, MGCP Media Gateway Control Protocol, SCCP Cisco® Skinny®), может взаимодействовать с массой стандартного телефонного VoIP-оборудования. Используя относительно недорогие аппаратные средства и расширяемый набор управляющих модулей можно легко интегрировать Asterisk с традиционной телефонией (FXO/FXS), а также организовать подключение по E1/ИКМ-30.

На основе Asterisk IP PBX можно построить современную развитую и высоко-интеллектуальную АТС с поддержкой Voice over IP, E1/ИКМ-30, FXO/FXS, TDM over Ethernet. Объединить удаленные офисы, в которых имеется только Интернет-подключение, не прибегая при этом к услугам операторов телефонной связи. Обеспечить гибкий план нумерации, поддержку голосовой почты, интеграцию с существующими сетями IP-телефонии для международных звонков, взаимодействие с традиционными каналами телефонной связи, как с возможностью совершения исходящих вызовов, так и приёмом входящих, с переадресаций согласно плану нумерации.

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

В продолжение темы см. Обзор возможностей Asterisk.

Подключение к E1/ИКМ-30

Взаимодействие Asterisk с традиционным телефонным оборудованием обеспечивается стеком протоколов DAHDI/Zaptel, который представляет собой один из интерфейсных модулей Asterisk с набором драйверов режима ядра, обслуживающих отдельные модели интерфейсных плат-адаптеров. Таким образом реализуется возможность "подключения" Asterisk к инфраструктуре традиционной телефонии.

Наиболее сложный момент при подключении Asterisk к E1/ИКМ-30 - это поддержка протоколов телефонной сигнализации. Необходимые при этом взаимодействие и согласование производятся силами DAHDI/Zaptel-стека в комплекте с другим модулями, на основе общедоступных библиотек кода (libpri, libmcfr2, spandsp и т.д.) и других OpenSource-компонентов. Наиболее востребованной оказалось поддержка диалектов PRI-сигнализаций на базе ITU-T Q.931, что нашло отражение в развитии libpri и DAHDI/Zaptel-стека. Поддержка других сигнальных протоколов, как CCS (по общему каналу), так и CAS (по выделенным каналам) классов, сводится к реализации SS7 и MFC/R2 (модуль Unicall) в Zaptel/Asterisk версий 1.2.x.

В продолжение темы см. Описание модуля Zaptel.

Оборудование для DAHDI/Zaptel/Asterisk

Возможности / Модели Tau-PCI/32-Lite Tau-PCI/32 Tau-PCI/2E1 Tau-PCI/4E1 Tau-PCI/E1
интервал обмена 2 мс,
модель снята с производства
Количество интерфейсов E1/ИКМ-30 1 2 2 4 2
Количество PRI-потоков для Asterisk 1 1 2 4 2
Аппаратное подавление эха нет нет нет нет нет
Проброс неиспользуемых канальных интервалов нет да нет нет нет
Поддержка DACS запланировано запланировано запланировано запланировано нет
Шина, форм-фактор PCI 2.1 / 33 МГц,
Bus-Master DMA,
low-profile
PCI 2.1 / 33 МГц,
Bus-Master DMA
PCI 2.1 / 33 МГц,
Bus-Master DMA
PCI 2.1 / 33 МГц,
Bus-Master DMA
PCI 2.1 / 33 МГц,
Bus-Master DMA
Поддержка Linux 2.4,
Asterisk+Zaptel 1.2.x/1.4.x
да да да да да
Поддержка Linux 2.6,
Asterisk+DAHDI/Zaptel 1.2.x/1.4.x/1.6.x
да да да да да
Поддержка FreeBSD 6.x,
Asterisk+Zaptel 1.4.x
да да нет нет нет

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

Особенности адаптеров Cronyx

В модуле поддержки DAHDI/Zaptel есть один важный параметр ec-delay позволяющий, использовать встроенный в DAHDI/Zaptel эхоподавитель при больших фиксированных кольцевых задержках в линии связи. Иногда сети связи имеют фиксированную задержку которая превышает возможные пределы эхо подавления, делая его работу невозможным. Используя параметр ec-delay можно сдвинуть момент начала подавления эха, что позволяет компенсировать фиксированную задержку в сети и работать при задержках превышающих пределы встроенного в DAHDI/Zaptel эхоподавителя. Параметр ec-delay эквивалентен понятию tail-displacement, употребляемому в аппаратных эхоподавителях.

Выдержка из руководства по утилите sconfig:

ec-delay=#
При использовании DAHDI/zaptel-протокола задает задержку в миллисекундах (с точностью до 0.125 мс) в подаче переданного в линию E1/ИКМ-30 сигнала на вход обратной связи эхоподавителя. Допускается указание ec-delay=auto, в результате будет установлено адекватное значение исходя из текущего значения параметра qlen. Например: "ec-delay=3.125" или "ec-delay=auto";

В продолжение темы см. Подавление эха в сервере Asterisk

Установка драйверов адаптеров Cronyx для работы с DAHDI/Zaptel+Asterisk

Поддержка DAHDI/Zaptel+Asterisk для ОС Linux 2.6 и 2.4 реализована в штатном комплекте драйверов для ОС Linux, ниже будут даны пояснения по установке и использованию этого комплекта. Аналогичные драйверы для ОС FreeBSD 6.x входят в комплект Zaptel для этой ОС. Поддержка оборудования в ОС FreeBSD в настоящее время осуществляется не силами компании, а волонтерами и энтузиастами FreeBSD, которым мы стараемся помогать. За дополнительной информацией по использованию нашего оборудования с Zaptel/Asterisk в ОС FreeBSD рекомендуем обращаться на страницу проекта FreeBSD zaptel.

В комплекте драйверов для ОС Linux имеется модуль для обеспечения DAHDI/Zaptel-совместимого интерфейса. Перед установкой комплекта драйверов внимательно прочтите информацию из [readme.txt]. Также рекомендуется ознакомиться с руководством по утилите sconfig, посредством которой осуществляется конфигурирование и мониторинг оборудования в среде ОС Linux. Для сборки драйверов потребуется:

  • Среда сборки или комплект исходных текстов ядра ОС Linux версии 2.4.x или 2.6.x;
  • Исходные тексты DAHDI/Zaptel-стека или соответствующие заголовочные файлы;
  • Комплект драйверов;

В целом, схема взаимодействия с Asterisk будет следующей:
    Asterisk Модуль DAHDI/Zap Драйвер DAHDI/Zaptel (dahdi.ko/zaptel.ko) Протокол Cronyx для DAHDI/Zaptel (cdahdi.ko/czaptel.ko) Cronyx binder (cbinder.ko) Драйвер карты E1/PRI

Asterisk и DAHDI/Zaptel должны быть установлены в системе. Инструкции по установке и настройке Asterisk и DAHDI/Zaptel смотрите на сайте проекта Asterisk или по ссылкам ниже. Далее, для начала следует распаковать исходные тексты комплекта драйверов. Если Вы уже производили сборку драйверов без поддержки интерфейса DAHDI/Zaptel, то необходимо выполнить команду:

    make distclean

Затем следует сконфигурировать систему сборки под Вашу среду:

    ./configure --with-zaptel=[путь к заголовочным файлам Zaptel] или
    ./configure --with-dahdi=[путь к заголовочным файлам DAHDI]

где, --with-dahdi=... / --with-zaptel=... - включает поддержку DAHDI/zaptel/asterisk.org и задаёт месторасположение заголовочных файлов DAHDI/Zaptel-стека. После успешного выполнения ./configure c требуемыми опциями, можно произвести сборку и установку комплекта драйверов командами:

    make && sudo make install

Если инсталляция драйверов прошла успешно и были правильно построены зависимости драйверов, то при старте пакета драйверов будет загружен протокольный модуль cdahdi.ko/czaptel.ko (из комплекта драйверов) и модуль dahdi.ko/zaptel.ko (по зависимости) из пакета DAHDI/Zaptel. При сборке модуля czaptel.ko возможно появление предупреждений о неопределенных символах из Zaptel-стека (zt_receive, zt_transmit и т.д.). Это не является признаком ошибки, и часто является неизбежным, так как модули zaptel.ko и czaptel.ko являются внешними по отношению к системе сборки ядра (см. /usr/src/linux/Documentation/kbuild/modules.txt).

Далее необходимо произвести конфигурирование адаптеров, линейных интерфейсов и логических каналов с помощью sconfig. Для того, чтобы эти действия производились при старте системы, а также по cronyx.start/cronyx.stop/cronyx.restart, необходимо отредактировать строки, соответствующие каналам в /etc/cronyx.conf. После запуска пакета драйверов Вы получите интерфейсы DAHDI/Zaptel (aka span'ы), дальнейшая настройка которых производится средствами Asterisk/DAHDI/Zaptel.

В продолжение темы см. Конфигурация каналов Zaptel.

Важные замечания

Обращаем ваше внимание, что при сборке IP-АТС Asterisk 1.4.x с помощью компилятора GCC версии 4.2.x, при работе получаемого продукта наблюдаются существенные искажения звуковых сигналов. Это является следствием несовместимости программного кода Asterisk 1.4.x с данной версией компилятора GCC, и ни как не связано с продукцией.

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

Решением проблемы может стать отключение оптимизации при сборке Asterisk:

./configuge
make menuselect
Oтметить пункт: Compiler Flags -> DONT_OPTIMIZE
Либо использование компилятора GCC ветви 4.1.x. или 4.3.x

Пример настройки Asterisk для использования совместно с E1-L/M-DAHDI

Для корректной работы, необходимо изучить документацию по настройке серверов Asterisk. Ниже приведен упрощенный пример настроек для E1-L/M-DAHDI

Настройка E1-L/M-DAHDI: e1l-m-dahdi.txt

Файлы конфигурации Asterisk:

/etc/dahdi/system.conf

/etc/asterisk/chan_dahdi.conf

В продолжение темы см. Описание и документация E1-L/M-DAHDI

Пример настройки Asterisk для использования совместно с E1-L/M-DAHDI и E1-XL/S-FX

Для корректной работы, необходимо изучить документацию по настройке серверов Asterisk. Ниже приведен упрощенный пример настроек для схемы соединения E1-L/M-DAHDI и E1-XL/S-FX c 4 портами FXS и 4 портами FXO (используется сигнализация «Kewl Start»)

Настройка E1-L/M-DAHDI: e1l-m-dahdi.txt

Настройка E1-XL/S-FX: e1-xl-fx.txt

Файлы конфигурации Asterisk:

/etc/dahdi/system.conf

/etc/asterisk/chan_dahdi.conf

/etc/asterisk/extensions.conf

В продолжение темы см. Описание и документация E1-L/M-DAHDI, Описание и документация E1-XL/S-FX

Пример настройки Asterisk для использования совместно с E1-XL/S-FX и Tau-PCI/32-Lite

Для корректной работы, необходимо изучить документацию по настройке серверов Asterisk. Ниже приведен упрощенный пример настроек для схемы соединения двух офисов, вплоть до примера диалплана и конфигурации iax2 протокола (используется сигнализация «Kewl Start»). Использован E1-XL/S-FX c 12 портами FXS и 4 портами FXO.

/etc/dahdi/system.conf

/etc/asterisk/chan_dahdi.conf

Примечание:
В случае использования другого типа вызывного сигнала в линиях FXO или FXS, необходимо определить в chan_dahdi переменную «cadence».

/etc/asterisk/extensions.conf

/etc/asterisk/iax2.conf

Примечание:
На противоположном сервере в диалплане (extensions.conf) вместо номеров 201-212 соответственно 301-312, вместо шаблонов _3XX - _2XX. IP адреса для IAX2 соответствуют IP адресам двух серверов Астериск (в примере адреса у серверов статические: 192.168.1.1 адрес одного сервера, другого 192.168.1.2).

Настройка Tau-PCI/32-Lite

/etc/cronyx.conf

В продолжение темы см. Описание и документация E1-XL/S-FX

Пример конфигурационных файлов для Tau-PCI/32 и Tau-PCI/32-Lite

Параметры канала E1: cинхронизация от канала, CRC4, телефонная сигнализация ISDN-PRI, используется весь поток

/etc/cronyx.conf
/etc/dahdi/system.conf
/etc/asterisk/chan_dahdi.conf

Пример конфигурационных файлов для Tau-PCI/2E1 и Tau-PCI/4E1

Используются 2 канала E1.
Параметры каналов E1: cинхронизация от канала, CRC4, телефонная сигнализация ISDN-PRI, используется весь поток

/etc/cronyx.conf
/etc/dahdi/system.conf
/etc/asterisk/chan_dahdi.conf

Ссылки по проекту Asterisk и VoIP

Ссылки по проекту Zaptel

Ссылки по MFC/R2



Copyright © 1996-2024 Cronyx