Никто из технарей нашей компании до этого не работал с Asteroid. Для решения этого недоразумения взяли на тестирование Asteroid-1L3S на котором мы могли бы потренироваться.
Девайс приехал в фирменной коробке Parabel, упакованный по науке и со всеми необходимыми проводами для подключения. Руководство поручило изучать устройство мне.


Решил начать с чтения мануалов, за которыми сходил на сайт производителя. Документация оказалась подробная, с множеством схем, таблиц и вариантами конфигурирования, что не могло не радовать. Поймал себя на мысли, что специалисты Parabel к этому вопросу подошли качественно.
Порадовало, что банк каналов может подключаться как по E1 так и по Ethernet. Решил что буду настраивать по Ethernet с использованием драйвера DAHDI, причем Asteroid будет ведомый.
Для тестирования взял старый компьютер:
Процессор: Intel Pentium 4 CPU 2.00 Ггц
Память: 512 Мб
Жесткий диск: 80Гб
Установил на него Linux Debian 6, asterisk-1.6.2.22, asterisk-addons-1.6.2.4, dahdi-linux-2.6.0, dahdi-tools-2.6.0 и все необходимые пакеты.

Сделал простой system.conf:
Сконфигурировал банк каналов как было описано в инструкции для случая когда Asteroid ведомый и ввел заветную dahdi_cfg -vvvvv.
К моему глубокому разочарованию произошла ошибка конфигурирования. Начал думать что не так и как это решить. Первое что пришло в голову проверить все ли поставилось правильно и все ли модули и пакеты на месте. Проверил — все на месте.
Дальше мелькнула мысль поменять режим синхронизации DAHDI — Asteroid ведущий. Поменял настройки на банке каналов и изменил в system.conf параметры его описания dynamic=eth,eth0/00:55:55:55:55:00,30,1. Ввел dahdi_cfg -vvvvv и снова ошибка.
Никогда раньше не сталкивался с данной проблемой. Полез в Google, но ничего толкового там не нашел.
Обратился в тех поддержку Parabel, описал им ситуацию, прислал параметры системы, файл system.conf и начал ждать. Ждал пару часов. За это время созрел до отката до более старой версии dahdi. Потом на сайте производителя нашел сборку DAHDI 2.4.1.2+2.4.1, версии 2.4.3. Поставил, запустил конфигурирование, и оно заработало. Параметры остались те же(Asteroid ведущий), все то же, кроме DAHDI.
И тут пришло письмо от Parabel:
Ошибка в dahdi 2.6.0
issues.asterisk.org/jira/browse/DAHLIN-280
Обещали исправить в 2.6.1, пока тишина.
На неделе начнем делать сами исправление.
На данный момент рекомендуем 2.5.0, 2.4.0.
Вот так вот. Интересная ситуация. Главное что завелось, пускай и со скрипом.
Теперь надо было из тестового system.conf сделать боевой. Для этого каждый канал обозначил персонально:
Применил настройки, все заработало.

Теперь переходим к настройке Asterisk.
Завел SIP номер 200 для теста.
На сайте производителя есть готовые конфиги для chan_dahdi.conf и extensions.conf, но я решил написать свои.
Файл chan_dahdi.conf:
Далее приведу часть конфига для extensions.conf
Перезагрузил sip, dialplan и dahdi.
Решил попробовать позвонить с аналогового телефона, поднял трубку а в ней «электрический дребезг».
Начал думать в чем может быть дело. Подумал что эхоподавление виновато. Если в самом Asteroid включить EC то дребезг пропадает как и любой сигнал в трубке. Выключил эхоподавление на asterisk:
Помогло. По итогу заработало с выключенным эхоподавлением на Asteroid и на asterisk.
Пришло время для тестовых звонков. Сделал пару вызовов на подключенный телефон, с SIP учетки и обратно. Слышимость хорошая, эха нет, голос не пропадает. В целом все нормально.
Подведу свой субъективный итог, что понравилось а что нет.
Понравилось
Не понравилось
В последствии, когда ставил клиенту подобный банк каналов столкнулся еще с одной проблемой:
Менеджеры на некоторых из аппаратов слышали друг друга во время разговора, и в момент набора номера. Поскольку это было только на некоторых аппаратах(в офисе все телефоны одинаковые) решил сразу обратиться в тех поддержку.
Ответили в течении часа. В письме сообщалось что перекрестные помехи могут быть вызваны 2 случаями:
В моем случае проблема была в первом пункте. Действительно пары были обжаты по порядку слева на право. К сожалению нигде в руководстве данный момент описан не был, хотя он оказался весьма важным. Перехвалил. К чести инженеров Parabel, в этот же день мне пришла свежая инструкция со схемой распиновки и комментариями к ней.
В процессе установки пользовался руководством фирмы производителя:
Девайс приехал в фирменной коробке Parabel, упакованный по науке и со всеми необходимыми проводами для подключения. Руководство поручило изучать устройство мне.


Решил начать с чтения мануалов, за которыми сходил на сайт производителя. Документация оказалась подробная, с множеством схем, таблиц и вариантами конфигурирования, что не могло не радовать. Поймал себя на мысли, что специалисты Parabel к этому вопросу подошли качественно.
Порадовало, что банк каналов может подключаться как по E1 так и по Ethernet. Решил что буду настраивать по Ethernet с использованием драйвера DAHDI, причем Asteroid будет ведомый.
Для тестирования взял старый компьютер:
Процессор: Intel Pentium 4 CPU 2.00 Ггц
Память: 512 Мб
Жесткий диск: 80Гб
Установил на него Linux Debian 6, asterisk-1.6.2.22, asterisk-addons-1.6.2.4, dahdi-linux-2.6.0, dahdi-tools-2.6.0 и все необходимые пакеты.

Сделал простой system.conf:
dynamic=eth,eth0/00:55:55:55:55:00,30,0
fxols=1-7
fxsls=8-15
fxols=16-22
fxols=23-30
alaw=1-30
echocanceller=mg2,1-30
loadzone=ru
defaultzone=ru Сконфигурировал банк каналов как было описано в инструкции для случая когда Asteroid ведомый и ввел заветную dahdi_cfg -vvvvv.
К моему глубокому разочарованию произошла ошибка конфигурирования. Начал думать что не так и как это решить. Первое что пришло в голову проверить все ли поставилось правильно и все ли модули и пакеты на месте. Проверил — все на месте.
Дальше мелькнула мысль поменять режим синхронизации DAHDI — Asteroid ведущий. Поменял настройки на банке каналов и изменил в system.conf параметры его описания dynamic=eth,eth0/00:55:55:55:55:00,30,1. Ввел dahdi_cfg -vvvvv и снова ошибка.
Никогда раньше не сталкивался с данной проблемой. Полез в Google, но ничего толкового там не нашел.
Обратился в тех поддержку Parabel, описал им ситуацию, прислал параметры системы, файл system.conf и начал ждать. Ждал пару часов. За это время созрел до отката до более старой версии dahdi. Потом на сайте производителя нашел сборку DAHDI 2.4.1.2+2.4.1, версии 2.4.3. Поставил, запустил конфигурирование, и оно заработало. Параметры остались те же(Asteroid ведущий), все то же, кроме DAHDI.
И тут пришло письмо от Parabel:
Ошибка в dahdi 2.6.0
issues.asterisk.org/jira/browse/DAHLIN-280
Обещали исправить в 2.6.1, пока тишина.
На неделе начнем делать сами исправление.
На данный момент рекомендуем 2.5.0, 2.4.0.
Вот так вот. Интересная ситуация. Главное что завелось, пускай и со скрипом.
Теперь надо было из тестового system.conf сделать боевой. Для этого каждый канал обозначил персонально:
dynamic=eth,eth0/00:55:55:55:55:00,30,1
fxols=1
echocanceller=mg2,1
…
fxols=8
echocanceller=mg2,8
fxsls=9
echocanceller=mg2,9
…
fxsls=16
echocanceller=mg2,16
fxols=17
echocanceller=mg2,17
…
fxols=30
echocanceller=mg2,30
alaw=1-30
echocanceller=mg2,1-30
loadzone=ru
defaultzone=ruПрименил настройки, все заработало.

Теперь переходим к настройке Asterisk.
Завел SIP номер 200 для теста.
На сайте производителя есть готовые конфиги для chan_dahdi.conf и extensions.conf, но я решил написать свои.
Файл chan_dahdi.conf:
[channels]
rxflash=850
rxwink=300
language=ru
callerid=asreceived
usecallerid=yes
hidecallerid=no
restrictcid=yes
resetinterval=never
useincomingcalleridondahditransfer=yes
callwaiting=no
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
echotraining=no
rxgain=0.0
txgain=0.0
immediate=no
busydetect=yes
busycount=3
pulsedial=yes ;было yes
relaxdtmf=yes
dtmfmode=inband
;внешние линии
signalling = fxs_ls
group = 0
context = custom-from-dahdi8
channel => 8
...
signalling = fxs_ls
group = 0
context = custom-from-dahdi15
channel => 15
;конечные абоненты с 1 по 7
signalling = fxo_ls
callerid = "101" <101>
mailbox = 101@default
group = 1
callgroup = 1,2
pickupgroup = 1,2
context = from-internal
channel => 1
…
signalling = fxo_ls
callerid = "107" <107>
mailbox = 107@default
group = 1
callgroup = 1,2
pickupgroup = 1,2
context = from-internal
channel => 7
Далее приведу часть конфига для extensions.conf
[custom-from-dahdi8]
exten => s,1,Goto(from-pstn,<внешний номер1>,1)
…
[custom-from-dahdi15 ]
exten => s,1,Goto(from-pstn,<внешний номер8>,1)
[ext-did-pstn]
exten => _<внешний номер1>,1,Goto(ansver,s,1)
...
exten => _<внешний номер8>,1,Goto(ansver,s,1)
[ansver]
exten => s,1,Wait(1)
exten => s,n,Dial(DAHDI/2/102)
exten => s,n,Hangup()
[from-internal]
...
include => ext-local
[ext-local]
exten => 102,1,Macro(exten,${EXTEN})
exten => 102,hint,DAHDI/2
exten => 103,1,Macro(exten,${EXTEN})
exten => 103,hint,DAHDI/10
exten => 200,1,Macro(exten,${EXTEN})
exten => 200,hint,SIP/200
[macro-exten]
exten => s,1,Set(NUMBER=${ARG1})
exten => s,n,Set(TYPECHAN=${CHANNEL(channeltype)})
exten => s,n,Dial(${TYPECHAN}/${NUMBER})
exten => s,n,MacroExit()
Перезагрузил sip, dialplan и dahdi.
Решил попробовать позвонить с аналогового телефона, поднял трубку а в ней «электрический дребезг».
Начал думать в чем может быть дело. Подумал что эхоподавление виновато. Если в самом Asteroid включить EC то дребезг пропадает как и любой сигнал в трубке. Выключил эхоподавление на asterisk:
echocancel=no
echocancelwhenbridged=no
echotraining=noПомогло. По итогу заработало с выключенным эхоподавлением на Asteroid и на asterisk.
Пришло время для тестовых звонков. Сделал пару вызовов на подключенный телефон, с SIP учетки и обратно. Слышимость хорошая, эха нет, голос не пропадает. В целом все нормально.
Подведу свой субъективный итог, что понравилось а что нет.
Понравилось
- Качественно собранное коробочное решение
- Наличие потока E1
- Полный комплект поставки необходимый для подключения
- При наличии опыта подключения полностью настраивается за 15 минут
- Хорошая инструкция с примерами
- Готовые конфигурационные файлы на сайте производителя, которые помогают быстро сконфигурировать Asteroid
- Грамотная и быстрая техническая поддержка
- Управление через гипертерминал.
Не понравилось
- Очень шумный (через пару часов гул начинает напрягать)
- Есть свои нюансы, без знания которых будет сложно.
В последствии, когда ставил клиенту подобный банк каналов столкнулся еще с одной проблемой:
Менеджеры на некоторых из аппаратов слышали друг друга во время разговора, и в момент набора номера. Поскольку это было только на некоторых аппаратах(в офисе все телефоны одинаковые) решил сразу обратиться в тех поддержку.
Ответили в течении часа. В письме сообщалось что перекрестные помехи могут быть вызваны 2 случаями:
- Неправильная разделка кабеля на портах. Провод от одного порта, перекрещивается с проводом от другого порта. При этом оба порта работать будут, единственный признак такой разделки — наводки с порта на порт. На портах разъем RJ45 с «lan» распиновкой, т.е. пары идут не подряд по нумерации а по цветам в патч-корде. То есть часто путают — вместо пары 3-6, 4-5 используют 3,4 и 5,6.
- В силу упрощенного дизайна FXS, параметр затухание не симметрии у банка каналов
действительно хуже чем у традиционных АТС. Это может быть причиной наводок.
Однако проявляется это на расстояниях больше 50 м. Если все-таки причина в этом, нужно пересмотреть проводку. Кабель нужен с попарным экранированием.
В моем случае проблема была в первом пункте. Действительно пары были обжаты по порядку слева на право. К сожалению нигде в руководстве данный момент описан не был, хотя он оказался весьма важным. Перехвалил. К чести инженеров Parabel, в этот же день мне пришла свежая инструкция со схемой распиновки и комментариями к ней.
В процессе установки пользовался руководством фирмы производителя: