- Вступ
- Підключення до E1 / ІКМ-30
- Устаткування для DAHDI / Zaptel / Asterisk
- Особливості адаптерів Cronyx
- Установка драйверів адаптерів Cronyx для роботи з DAHDI / Zaptel + Asterisk
- важливі зауваження
- Приклад налаштування Asterisk для використання спільно з E1-L / M-DAHDI
- Приклад налаштування Asterisk для використання спільно з E1-L / M-DAHDI і E1-XL / S-FX
- Приклад налаштування Asterisk для використання спільно з E1-XL / S-FX і Tau-PCI / 32-Lite
- Приклад конфігураційних файлів для Tau-PCI / 32 і Tau-PCI / 32-Lite
- Приклад конфігураційних файлів для Tau-PCI / 2E1 і Tau-PCI / 4E1

Вступ
AsteriskНаша взаимовыгодная связь https://banwar.org/
- це універсальна програмна АТС з відкритим вихідним кодом. Автори "Астеріск" спроектували її як модульну комунікаційну платформу, незалежну від "телефонних" протоколів і ліній зв'язку. Тому 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 відзначити пункт: 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