Краткие заметки по дружбе OpenVox D110P (Digium Wildcard TE110P) и Астериск в 2022 году

Волей судеб не так давно досталась мне старенькая плата OpenVox D110P, делающая поток E1 PRI. И подумал я, а не подключить ли мне на работе Asterisk к старенькой АТС Panasonic?
Меня несколько увлекает вот этот мир IP телефонии, можно сказать, это моё хобби. Разбавляет суровые трудовыебудни. К тому же на работе потихоньку издыхает кабель между зданием с АТС, и зданием, где сидит основная толпа работников. И потихонечку умирают телефоны то у одного сотрудника, то у другого. 400 метров телефонного тридцатипарника стоит как то неадекватно дорого (от 200р/метр в магазинах и от 100р/метр на авито, итого - 40 000р - 80 000р),К тому же есть удалённые офисы, и хотелось бы и их привязать в общую сеть. Ну и между зданиями есть гигабитная оптика, загруженная максимум на 1%. Выделить VLAN на голосовую связь и гонять разговоры вообще ничего не мешает. Итого, посчитав плюсы и минусы кабельного и ип-телефонного направления дальнейшего развития я с этим вопросом пришёл к начальнику.
Ответ был ожидаем - ну дерзай, коль заняться нечем, сынку. И сынку устремился.
Для начала выбили 3000р денег для покупки на авито карты ISDN PRI 30 для АТС Panasonic TDA 600. И пока она ползёт с авито по необъятной родине, начинаем ставить астериск на старенький комп, собранный из списанного всякого, и настраивать карту.
В процессе установки я столкнулся с некоторыми трудностями, которые сейчас здесь и изложу. Может, кого то данная статейка избавит от душевных страданий, и сэкономит пару часов (или дней) времени.
Для начала я перечислю грабельки, на которые я наступил в процессе.
DAHDI - подсистема Digium, которая отвечает за взаимодействие всяких карточек (и USB устройств), предназначенных для взаимодействия непосредственно астериск с внешним миром. Карта потока E1 - из той же оперы.

Грабля №1 - DAHDI очень неохотно работает из виртуалки. DAHDI и OpenVox D110P (Digium Wildcard TE110P) из виртуалки не работают вообще никак. Даже скажу больше, если материнка повесила карту и какой нибудь USB на одно прерывание - то нормальной работы не будет. Если биос позволяет назначить прерывания ручками - хорошо. Если нет - ищем другую материнку. Вот тут товарисч, например, с такой картой развлекается, в каментах говорят, что подобные грабли бывают и на оригинальных картах.
http://asterisk-support.ru/question/66948/nastroika-karty-op...
Для себя сделал вывод, что карточки - это такое себе в плане надёжности, и если надо прям вот надёжную связь со старой АТС, то надо искать хороший шлюз E1 PRI в SIP. Все эти карты - это полупрофессиональные (и больше даже скажу, в сторону любительских) решения, но т.к. для меня это хобби, а к внутренней связи дофига требований не предъявляют, то почему бы и нет.

Грабля №2 - из репозитория а-ля apt-get install asterisk dahdi нифига ничего не работает. Т.е. астериск то работает, но поддержки dahdi в нём нет. И dahdi устанавливается какой то кривой. Как сервис не запускается, в init.d его нет, как то непонятно всё. Карточку видит, но подсовывает не тот драйвер (возможно потому, что OpenVox - это всё таки китайский аналог оригинала). Не тот драйвер мы конечно забанили в modprobe, но оно так и не взлетело. dahdi_tool карту не видит. Грусть-печаль. В итоге, когда нашёл таки норм dahdi, там всё сразу заработало, без этих вот забаниваний итд.

Грабля №3. Я давно уже живу с интернетами, зарегестрирован на куче форумов, везде плюс-минус достаточно адекватное общение. Но на форумах телефонии это прямо дичь какая то. Я там узнал о себе много нового. Даже мой командир в этих вот армиях не сумел так тонко раскрыть мой гнилой внутренний мир, как уважаемые телефонисты на профильных форумах. Так как объективно, классическая телефония отмирает, а эти люди посвятили ей свою жизнь, я так понял, им обидно, что никто не готов им платить 100$ за совет по настройке учрежденческой АТС панасоник. На форумах, таких, как http://forum.officeats.ru и прочих похожих есть весьма знающие люди, такие как НачШтаба, SergA, и т.д., но лет 5-10 назад они что то советовали, а ныне задают пару уточняющих вопросов, а потом рекомендуют обратиться за помощью к специалистам, либо просто мешают вопрошающего с говном. Либо , неточная цитата "Переведите мне 100$, я Вам за 5 мин всё настрою".
Вот еще пример: https://www.linux.org.ru/forum/general/14943017
Товарищи Turbid и NobleWolf тихонечко подъёбывают начинающего с высоты своего опыта, при это толком не говоря в чём проблема. В итоге когда их советы оказываются нерабочими, рекомендуют качать готовую сборку.
Ух, печёт от таких советчиков. И таких в мире телефонии оказалось прям вот много, что несколько затрудняет погружение в тему.

Грабля №4. В 2016 году примерно вышла 3-я версия dahdi. В ней исключили все  "старые" (по мнению digium) карты из поддержки. Т.е. моей карты там, блин, нет. Я пол-дня продрючился, пытаясь понять почему не грузится драйвер карты, перед тем, как понял что wcte11xp.so тупо нет в последней сборке dahdi. Ух, бля, негодяи. Ловля чёрной кошки в тёмной комнате как она есть.
Спасибо товарищу на каком то безымянном форуме, он указал на этот досадный факт.

Грабля №5. Начал под Ubuntu 20.04 собирать dahdi 2.xx - не собирается. Требует старые хедеры для сборки, под 20.04 я их не нашел, беда-печаль. Не хватило ква-квалификации для сборки старого dahdi. Кстати, из репозитория по " # apt install dahdi" ставится как раз dahdi 2.xx, но не работает. Ставится как то криво.
Но на сайте OpenVox (кто бы мог подумать, да) нашёлся всё же dahdi 3.1.0 с поддержкой старых карточек, и он нормально собрался в ubuntu 20.04. Алилуйя! А говорят - берите фирменное, нативное железо! Поддержка лучше, дольше. Ага, щаз. Китайская карта актуальна и поныне, в 2022г., а оригинал в 2016 сдох. Понятно, что и оригинал (Digium Wildcard TE110P) заведётся на опенвоксовских драйверах скорее всего, но сам факт вот этого плевка в душу от digium меня расстраивает.
Вот ссылочка: https://www.openvox.cn/pub/drivers/dahdi-linux-complete/

Ну и далее, укажу сейчас кратенький гайд, чего уж теперь тянуть то. Себе на память и добрым молодцам (и девицам так же) в помощь.
К коллайдеру!

Ставим ubuntu server 20.04 server. При установке ставим ssh.

$ sudo -s
# apt-get update && apt-get upgrade -y
# apt-get install mc wget build-essential git autoconf subversion pkg-config libtool -y
# mc
Смотрим, какое имя у нашей флешки
# fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/sdb4 * 256 31129599 31129344 14,9G c W95 FAT32 (LBA)
Монтируем флешку в папку /mnt
# mount /dev/sdb4 /mnt

Заходим mc в архив asterisk-18.tar.gz и копируем папку asterisk-src в домашнюю папку. У меня это /home/pbx


И извлекаем флешку

# umount /mnt

Ставим dahdi, dahdi-tools и libPRI:

# cd /home/pbx/asterisk-src/dahdi-linux-complete-3.1.0+3.1.0
# make
# make install
# cd ..

# cd dahdi-tools-3.1.0
# autoreconf -i
# ./configure
# make install
# make install-config
# dahdi_genconf modules
# cd ..

# cd libpri-1.6.0
# make
# make install
# cd ..
# cd dahdi-tool-distr
# cd ..
С помощью mc копируем бинарник dahdi_tool в /usr/sbin

Эта утилита почему то не компилируется с dahdi, хотя в исходниках она есть, и сообщений об ошибках в процессе не было, странно. Я тупо себе на флешку скопировал бинарник dahdi_tool из репозиторной установки, когда ещё ставил dahdi по apt-get. Он нормально заработал.


Ставим сам asterisk:

# cd asterisk-18
# contrib/scripts/get_mp3_source.sh
# contrib/scripts/install_prereq install
В середине процесса вводим телефонный код, или оставляем как есть, оно ни на что не влияет далее
Завершается вот так:
#######################################
## install completed successfully

#######################################

# ./configure

В конце будет ASCII логотип asterisk

# make menuselect

Выбрать format_mp3 и остальное по желанию. Убедиться, что помечен chan_dahdi в Chanel Drivers

# make
# make install
# make samples
# make basic-pbx
# make config
# ldconfig
# cd ..

Создаём пользователя asterisk без домашней папки, допускаем его к группам dialout, audio, и даём ему все права в папках с конфигами.

# adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
# usermod -a -G dialout,audio asterisk
# chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk /etc/dahdi
# chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk /etc/dahdi

Чтобы настроить Asterisk для запуска от имени вновь созданного пользователя asterisk, откройте файл /etc/default/asterisk

И добавьте либо раскомментируйте эти строчки:

AST_USER="asterisk"
AST_GROUP="asterisk"

Стартуем Asterisk:

# systemctl start asterisk

И ставим службу астериска в автозапуск:

# systemctl enable asterisk

Астериск установлен. Настраиваем конфиги DAHDI и ASTERISK


/etc/dahdi/system.conf

Основная строка выглядит так: span => <Number>,<Timing>,<Line BuildOut>,<Framing>,<Coding>[,Yellow]
Например, span = 1,1,0,ccs,hdb3,crc4
Number: номер платы
Timing:
0 - Порт является источником синхронизации (master)
1 - Получает синхронизацию с удаленной станции (slave)
2 - Receives secondary backup timing from remote end
3 - Receives tertiary backup timing from remote end
4 - Receives quaternary backup timing from remote en
При работе с "железной" АТС рекомендуется ставить АТС в мастер, а астериск в слейв, ибо с тактированием у этих карточек печально всё.
span = 1,1,0,ccs,hdb3,crc4
bchan = 1-15,17-31
dchan = 16
loadzone = ru
defaultzone = ru
или, как вариант:
span=1,1,0,ccs,hdb3
bchan=1-15,17-31
dchan=16
echocanceller=oslec,1-15,17-31
loadzone = ru
defaultzone = ru

/etc/asterisk/chan_dahdi.conf

[trunkgroups]
[channels]
language =ru
usecallerid =yes
callwaiting =yes
usecallingpres =yes
callwaitingcallerid =yes
threewaycalling =yes
transfer =yes
canpark =yes
cancallforward =yes
callreturn =yes
echocancel =yes
echocancelwhenbridged =yes
echotraining =yes
callerid =asreceived
group=1
;[E1]
context = from-internal
switchtype = qsig
signalling = pri_cpe
channel => 1-15,17-31

Включаем запуск модуля DAHDI в asterisk (добавляем строку в файл)

/etc/asterisk/modules.conf
load = chan_dahdi.so

На всякий случай ещё раз назначаем уровни доступа к файлам и владельцев, это на случай если конфиги создавали новые, а старые переименовывали. Мы ж всё из под рута делаем. А потом астериск ноет, что не могу загрузить файл конфигурации. Астериск то из под пользователя asterisk стартует. Перезагружаемся.
# chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk /etc/dahdi
# chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk /etc/dahdi
# reboot

Заходим под суперюзера:

# sudo -s

И, волнительный момент, заходим в консоль Астериска:

# asterisk -rvvvv

Это распространённые команды Asterisk для dahdi:

*CLI> dahdi show channels

*CLI> dahdi show status

*CLI> dahdi restart

Так смотрим в каком состоянии находится поток E1

*CLI> pri show spans

PRI span 1/0: Up, Active

По нажатию "?" выпадает подсказка.

Так вот, если при наборе
*CLI> ?

Если вдруг в списке подсказок нет ни pri, ни dahdi, значит, либо dahdi не запускается, либо asterisk его не видит. Надо искать проблему.
Во первых, проверить, что сервис dahdi нормально стартует.
# service dahdi status

Должно выпасть сообщение, что dahdi запущен, модуль драйвера (wcte11xp - для моей карточки) запущен, или будет жаловаться на что то. Тут надо гуглить и разбираться.


# lspci -v
04:00.0 Network controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
Subsystem: Device 795e:0001
Flags: bus master, medium devsel, latency 64, IRQ 17
I/O ports at d000 [size=256]
Memory at f7c00000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 2
Kernel driver in use: wcte11xp
Kernel modules: netjet, wcte11xp
У меня OpenVox D110P. Он определяется так.
Видим лишний драйвер netjet. Его можно забанить в системе, если dahdi_hardware ругается на него. Я не стал.

# dahdi_hardware
pci:0000:04:00.0 wcte11xp+ e159:0001 Digium Wildcard TE110P T1/E1 Board
Вот если тут жалуется на netjet, тогда баним
Что бы забанить надо пойти в
/etc/modprobe.d/blacklist.conf
и там вбить
blacklist netjet

и перезагрузить систему


Позволяет смотреть сконфигурированные каналы dahdi:

# dahdi_tool

Смотрим прерывания:
# cat /proc/interrupts
17: 5727 7551876 IO-APIC 17-fasteoi wcte11xp
Драйвер висит на отдельном прерывании, всё ок. Функции ACPI не мешают. Но если на этом же прерывании висят какие нибудь USB, SATA, то нормальной работы карты можно не ждать. В современных биосах (хотя материнка с простым PCI это та ещё современность, да уж) нет настройки прерываний. Так что остаётся молиться и надеятся. Можно попробовать повесить обработку прерывания на другое ядро. Мне пришлось менять материнку.
Далее настраиваем диалплан в астериск, как обычно:
exten => s,1,Dial(Dahdi/g1/101,,tT)

это звонок в E1 на панасоник на номер 101, как пример

Вот такая вот история. Надеюсь, я изрядно повеселил Вас в это прекрасное субботнее утро. Тешу себя надеждой, что данное обобщение общесетевой мудрости кому то когда то пригодится. На очереди - борьба с АТС Панасоник, как только карта PRI30 дойдёт. Историю этой борьбы я так же изложу на пикабу.

Всем удачи, счастья, и т.д.

Лига Сисадминов

1.5K постов17.6K подписчика

Добавить пост

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Автор поста оценил этот комментарий

Вот. И если панас ещё может продаться (кто-нить склад телефонизирует, например, где нет и не будет СКС), то большие аваи и нортелы утилизировать проблемно. К тому же на них цена не столько в железе, сколько в лицензиях.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Это точно. Взять панас tde. Там надо сип - лицензия. Еще что то - лицензия.
Поэтому пусть панас доживает. В прошлом году молния шарахнула - выгорели две платы внутренних абонентов. Ну так и будет идти естественная убыль. Сейчас осталось 128 абонентов всего. Остальных начнем на сип сажать так или иначе.
1
DELETED
Автор поста оценил этот комментарий

Вот одна из моих любимых фоток на тему коммутации)

Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий
Ну не настолько, но близко :)
1
DELETED
Автор поста оценил этот комментарий

А контора при этом поди купит эту самую материнку в ДНС или Ситилинке за 4000 рублей, а вашим продаст за 15000) Вот так и пилятся наши налоги...

раскрыть ветку (1)
Автор поста оценил этот комментарий
Угу. :(
DELETED
Автор поста оценил этот комментарий

Да, у государственных контор своя специфика, особенно, если что-то связанное с военкой. Я сама работала в подобном месте, но у нас не так строго было. Обязательно нужно было согласовывать с ИБ закупку оборудования и раздачу доступов сотрудникам. Насчет сети особо не жестили, а телефония была отдельно проложена. Тоже какая-то УАТС стояла, Панасоник вроде. Мне в той конторе очень нравилось, как подписаны все кроссы и розетки, а ещё оттуда вынесла привычку делать все аплинки кабелями контрастного цвета, в идеале красного.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Не, в прокладке полный хаос. Я уже даже не лезу. Это просто жопа-сотона.
показать ответы
DELETED
Автор поста оценил этот комментарий

Я так понимаю, финансирование у вас из бюджета? Просто в коммерческой организации такой подход разорил бы моментально. Что-то связанное с обороной?

раскрыть ветку (1)
Автор поста оценил этот комментарий
И материнку я не могу в магазе купить. Я могу ее заказать в аффилированной конторе, с которой заключен договор на обслуживание. За 100500 тысяч денег. Счет раз в год выставляют. Космос.
показать ответы
DELETED
Автор поста оценил этот комментарий

Я так понимаю, финансирование у вас из бюджета? Просто в коммерческой организации такой подход разорил бы моментально. Что-то связанное с обороной?

раскрыть ветку (1)
Автор поста оценил этот комментарий
И письма в аудит пишем бумагой. Электронку могут перехватить, небезопасно это! И бумагу их с разрешением в дело потом вшить надо, а то атата. Сроки сами понимаете.
показать ответы
DELETED
Автор поста оценил этот комментарий

Я так понимаю, финансирование у вас из бюджета? Просто в коммерческой организации такой подход разорил бы моментально. Что-то связанное с обороной?

раскрыть ветку (1)
Автор поста оценил этот комментарий
Естественно, где ж еще куча контор может присосаться к сиське матери родины так просто, естестественно и безнаказанно.
DELETED
Автор поста оценил этот комментарий

У вас по макам фильтрация? А с СБ никак не согласовать переделку?

раскрыть ветку (1)
Автор поста оценил этот комментарий
Не. У нас по факту две сети. Основная - аттестованная для служебного пользования. Все устройства в сети прошли проверку. Сеть прошла аудит у привлеченной из другого региона конторой. Если ломается мышь на компе, весь комп выключается, мышь (проверенная, с документами о проверке) достается из загашника, пишем письмо в аудит. Мол, сломалась мышь на рабочем месте 415-б. Дозвольте поменять. Получаем ответ. Ок, меняйте. Меняем, вносим изменения в кучу документации (документов 20 навскидку). А если сломался комп ( ну там материнка к примеру), то это вообще целый квест. Покупаем материнку. Отправляем материнку в контору на проверку. Ждем м.п. с проверки. Ждем документы о проверке. Ждем аудит ( они раз в год примерно приезжают). Работник в это время побирается по компам коллег )))). После ставим материнку, аудит водит вокруг компа антеннками. Дают заключение. Мы перерабатываем порядка 20 документов, аудит их утверждает.

Проверить 1 (один) ип телефон для использования в аттестованной сети стоит около 15000р.
Вот теперь Вы немного в курсе, почему один шлюз в коридоре проще повесить и лапшой тянуть к обычным телефонам :)

Информационная безопасность, мать иë.
показать ответы
DELETED
Автор поста оценил этот комментарий

Погодите, так ведь у вас уже протянуты кабели до рабочих мест. Компы можно подключить через телефоны, в них есть своего рода мини-свитч на два порта, и ничего тянуть не надо. А чтобы голос не мешал остальным данным, нужно просто настроить voice vlan на портах и qos.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Нет :) Сеть аттестованная, если туда воткнется левое устройство, то втыкальщику быстро навтыкает собственная безопасность.
показать ответы
Автор поста оценил этот комментарий
А тысяча первому сотруднику что давать? Все, порты закончились. Докупать ещё плату? Да нахер надо, новых на сип, старых постепенно тоже, и вывести из эксплуатации эту хрень за 100500 убитых енотов.
Кстати... А не будет ли выгоднее продать эту херню кому-то другому, и на полученные деньги накупиить сип-телефонов? Или проблема в том, что эту хрень никто не покупает?
раскрыть ветку (1)
Автор поста оценил этот комментарий
Именно. Этими панасами все авито завалено.
показать ответы
Автор поста оценил этот комментарий

А почему нельзя просто выкинуть всю аналоговую телефонию, и перевести вообще всё на сип? Ну, хотя бы в обозримом будущем....

раскрыть ветку (1)
Автор поста оценил этот комментарий
Потому что она уже есть. Она работает. Имеются аппараты, проведены линии в кабинеты. В то же время прокладка новых кабельных линий на режимных предприятиях - тот еще квест (я про прокладку локалки под сипофоны). Смартфоны тоже под запретом.
И стоимость. Стоимость кабеля под каждый ип-телефон до коммутатора тоже не три копейки.
Поэтому начинаем мягкий перевод на существующей базе в светлое завтра ип-телефонии.
Кстати, ип-телефоны не предполагаются. Предполагаются шлюзы на 24 абонента, и обычные аппараты, "как у всех". Штоб никому обидно вдруг не стало.
показать ответы
1
Автор поста оценил этот комментарий

Нормально все работает, в vmware у самого живет с этой же платой в подобном конфиге
vmware 6.5 ubunta 18.04 lts, asterisk 13.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Фига се, я в вмваре так и не увидел карту вообще.
Здорово, подредактирую, дабы в заблуждение не вводить людей.
Автор поста оценил этот комментарий

Не забудьте про QSIG )

раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо, постараюсь :)
1
Автор поста оценил этот комментарий

"Мы не ищем легких путей" ))

Шлюз ISDN - SIP элементарно делается из старой циски с Завито тыщ за 5 максимум.

А если у вас ещё не было сип-сервера, то простецкий делается на той же циске. Да и не особо простецкий, если в скрипты (tcl, vxml) научиться.

А у панаса с PRI есть свои нюансы ) Удачи!

раскрыть ветку (1)
Автор поста оценил этот комментарий
А какие ньюансы у панаса с PRI?
показать ответы
1
Автор поста оценил этот комментарий

Маршрутизаторы Cisco (вы же знаете разницу между маршрутизатором и коммутатором типа Catalyst?) начиная с 1751 (вроде бы) с соответствующим IOS (ipvoice) поддерживают CME (Call Manager Express), гуглите CCME, ну вот например https://wiki.merionet.ru/ip-telephoniya/56/bazovaya-nastrojk...

Карточки VWIC-1MFT-T1/E1 или VWIC-xMFT-G703 для древних. Ещё нужен PVDM. Проще купить уже нашпигованную, например 2811

Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий
Хмм, да, такое мне нравится больше.
показать ответы
1
Автор поста оценил этот комментарий

"Мы не ищем легких путей" ))

Шлюз ISDN - SIP элементарно делается из старой циски с Завито тыщ за 5 максимум.

А если у вас ещё не было сип-сервера, то простецкий делается на той же циске. Да и не особо простецкий, если в скрипты (tcl, vxml) научиться.

А у панаса с PRI есть свои нюансы ) Удачи!

раскрыть ветку (1)
Автор поста оценил этот комментарий

Ну старой циски у меня нет, а вот старая карточка - очень даже есть.

Но, тем не менее, я что то нигде не наткнулся на sip-циску. Подскажите в какую сторону глядеть, очень интересно. Я так понимаю, есть какой то SFP модуль с E1?


После быстрого гуглежа уточню: Вы с какими-нибудь такими решениями работали? Можете посоветовать конкретные модели, которые уверенно работают, подсказать тонкости настройки? Ибо всегда есть какие то тонкости...

показать ответы