Для выполнения очередного проекта был заказан ряд новых устройств, ранее не применявшихся мной в проектах. В данный момент оборудование смонтировано и используется, а я могу поделиться опытом и впечатлениями. В интернете практически нет ресурсов, предоставляющих обзоры VoIP железа, особенно утройств российских производителей, особенно оборудования, работающего с Астериском. Попробую отчасти скомпенсировать этот пробел. Первой на очереди плата компьютерной телефонии TDM1600 от компании KTS из Санкт-Петербурга. О продукте
Карта имеет интерфейс PCI 2.2, напряжение 3.3 или 5 вольт. Заявленные системные требования - 500-Мгц Pentium III, с 64MB RAM. Материнская карта имеет возможность подключения до 8 аналоговых двухканальных мезонинов, что позволяет получить до 16 портов FXO/FXS в произвольных комбинациях. В комплекте поставки — разветвитель 4х контактного 12v разъема питания HDD, 4 кабеля для подключения RJ45 порта к кроссу и диск (видимо с документацией и драйверами). Плата собственной разработки.
Плата габаритная и войдет далеко не в каждый корпус, длина платы 250мм, высота стандартная — 100мм, при установке мезонинов высота — примерно 20мм. Для сравнения фото рядом с телефоном. На плате расположен разъем для подключения дополнительного питания, который необходим для работы FXS модулей. Данных по потреблению энергии платой получить не удалось, но по моим расчётом оно находится на уровне не выше 40w
Обратная сторона платы:
Карта с установленнымимезонинами в толщину:
Для получения требуемого количества портов на плату устанавливается до 8 мезонинов, каждый из которых несёт 2 порта, мезонины существуют 3х типов:
2xFXS
Мезонины FXS выполнены на текстолите зеленого цвета. Для масштаба на фото запечатлена SIM карта. Один мезонин обеспечивает работу двух портов FXS, аппаратная версия мезонионов, находящихся у меня — 1.2.
2xFXO
Плата выполнена на красном текстолите. У меня ревизия 1.0, на сайте заявлено что текущая аппаратная ревизия мезонина — 1.1
FXS/FXO
Относительно новый продкт. Мезонин выполнен на текстолите синего цвета, версия 1.1, совмещает FXS и FXO порт для реализации функции lifeline. При отсутствии питания, аналоговые линии, подключенные к этому мезонину коммутируются, что обеспечивает возможность приема/совершения звонков даже при отключении электричества.
На платах можно использовать сдвоенные платы каналов компании KTS, так и использовать альтернативные платы каналов. Платы совместимы с оборудованием Openvox/Zucco/A-tech. Можно использовать как одиночные так и сдвоенные каналы.
На планке имеется 4 разъема RJ45, каждый 4 канала. Распиновка для подключения к кроссу (полная инструкция здесь) простая: 1-2 контакты разъёма — первый канал, 3-4 контакты — второй и т.д. При подключении FXS/FXO мезонина было обнаружено небольшое несоответствие — несмотря на то, что FXO канал в системе виден как 1й канал, он выведен на пару №2, соответственно FXS (канал №2) — первая пара.
Цена
Цены на базовую плату (без и с установленными):
- Цена 16 канальной базовой платы - 2500р
- Цена на 16 портов fxo - 15520р (цена 1 канала — 970р)
- Цена на 16 портов fxs - 14800р (цена 1 канала — 925р)
Цены на мезонины:
- Цена 2х портовой платы fxo — 1940р
- Цена 2х портовой платы fxs — 1850р
- Цена гибридной платы fxs+fxo — 2200р
Бочёнок мёда
Если плата вошла в корпус, то никаких дальнейших проблем с установкой не возникнет. В моем случае пришлось вставлять плату в корпус «по-диагонали». Затем с помощью разветвителя питания подключаем разъем питания на плате (это обязательно сделать, если установлены FXS мезонины).
После первой загрузки системы индикаторы на задней стороне платы не загорятся, либо загорятся индикаторы первого порта (в моем случае это было связано с некорректным PCI ID платы, которая опозновалась драйвером как Digium TDM400P). Для корректной работы с Elastix нужно модифицировать драйвер.
Плата работает и с Zaptel и с DAHDI, я запускал вместе с DAHDI, особой разницы в процедуре установки в случае с Zaptel возникнуть не должно. Для установки платы в Elastix потребовались следующие шаги:
- Скачать исходные тексты DAHDI. Я брал исходный код без дополнительных патчей, которые содержатся в Elasix для работы с оборудованием Rhino/OpenVOX и т.п.
- Скачать wctdm.c.v2.0 с сайта производителя и заменить wctdm.c в исходниках
- Выполняем команду make; make install; для сборки и установки драйвера
- Перезагружаем систему
Вуаля:
Плата корректно настраивается с помощью утилиты fxotune:
[root@pbx modules]# fxotune -i
Tuning module /dev/dahdi/1
Done!
Tuning module /dev/dahdi/3
Done!
И корректно отображается в веб-интерфейсе Elastix:
Первоначально у меня возник ряд проблем, все были решены. Опишу
Ложка дёгтя
Первая проблема с которой пришлось столкнуться — некорректное распознавание платы как TDM400P. Карта, оказавшаяся у меня в руках действительно имела такой же PCI ID e159:0001/b100 как и Wildcard TDM400P REV E/F Board 17. Чтобы это исправить пришлось удалиить строку в wctdm.c от КТС, содержащую этот ID.
На этой же плате была проблема с тем, что удущие в комплекте RJ45 кабели не держались в разъеме. при малейшем движении кабель выскакивал из разъема. Позже оказалось, что эта плата сама по себе странная, на запасной плате кабели в разъемах сидят как влитые.
Из кабелей, идущих в комплекте один оказался битым: одна из пар в кабеле оказалась нерабочей. Спишем на проблемы комплектации и отсутствие тестирования такой мелочи как кабель.
Описанная выше карта оказалась действительно странной, что выяснилось поле подключения. После установки выяснилась невозможность набрать номер на FXS портах. Вместо набранных цифр стабильно набирались другие. Вместо набранной цифры 1 — 9, вместо 2 — C, вмсто 4 — #. Сначала это было списано на проблемы в драйвере, поддержка оказалась безсильной помочь, После серии звонков через эту плату выяснилось, что при всех тестовых вызовах происходит искажение звука, так что серьезно искажается голос. К чести производителя, нужно сказать, что плата была оперативно заменена на новую.
Так же, из находившихся у меня 10 мезонинов за время подготовки проекта к запуску, один порт вышел из строя, при этом при загрузке драйвера выдавалась ошибка подачи питания на SLIC, модуль DAHDI не загружался. На обмен мезонин пока не отправлял, но думаю что с гарантией проблем не возникнет.
И наконец, что не является проблемой, но вызывает некоторое опасение: при загрузке модуля выдается предупреждение (на работоспособность не влияет):
dmesg:
Module 0: Installed — AUTO FXO (RUSSIA mode)
Module 1: Installed — AUTO FXS/DPO
Module 2: Installed — AUTO FXO (RUSSIA mode)
Module 3: Installed — AUTO FXS/DPO
Module 4: Installed — AUTO FXS/DPO
Module 5: Installed — AUTO FXS/DPO
Module 6: Installed — AUTO FXS/DPO
Module 7: Installed — AUTO FXS/DPO
Module 8: Installed — AUTO FXS/DPO
Module 9: Installed — AUTO FXS/DPO
Module 10: Installed — AUTO FXS/DPO
BUG: soft lockup — CPU#2 stuck for 10s!
[modprobe:10842] Pid: 10842, comm: modprobe EIP: 0060:
[<c0618010>] CPU: 2 EIP is at _spin_unlock_irqrestore+0×8/0×9 EFLAGS: 00000286 Tainted: GF (2.6.18-164.el5 #1) EAX: e44b0228 EBX: e44b006b ECX: 00000286 EDX: 00000200 ESI: 00000286 EDI: e44b0228 EBP: 00000052 DS: 007b ES: 007b CR0: 8005003b CR2: 080f9c98 CR3: 34514000 CR4: 000006d0
[<f8c24852>] wctdm_getreg+0×37/0×42 [wctdm]
[<f8c25392>] wctdm_init_proslic+0×242/0x90b [wctdm]
[<c0424afb>] printk+0×18/0x8e
[<f8c25c6d>] wctdm_hardware_init+0×212/0xa23 [wctdm]
[<f8c27145>] wctdm_init_one+0×516/0x71c [wctdm]
[<c0558e63>] __driver_attach+0×0/0x6b
[<c04f69a5>] pci_device_probe+0×36/0×57
[<c0558db6>] driver_probe_device+0×42/0×92
[<c0558ea7>] __driver_attach+0×44/0x6b
[<c05587b3>] bus_for_each_dev+0×37/0×59
[<c0558d01>] driver_attach+0×11/0×13
[<c0558e63>] __driver_attach+0×0/0x6b
[<c055848b>] bus_add_driver+0×64/0xfd
[<c04f6c03>] __pci_register_driver+0×42/0x8c
[<f8838101>] wctdm_init+0×101/0×129 [wctdm]
[<c043d3d9>] sys_init_module+0x1aed/0x1caa
[<c042949c>] __request_region+0×0/0xb0
[<c044a5ce>] audit_syscall_entry+0x15a/0x18c
[<c0404f17>] syscall_call+0×7/0xb
=======================
Module 11: Installed — AUTO FXS/DPO
Module 12: Installed — AUTO FXS/DPO
Module 13: Installed — AUTO FXS/DPO
Module 14: Installed — AUTO FXS/DPO
Module 15: Installed — AUTO FXS/DPO
Found a Wildcard TDM: KTS TDM 1600 Prototype (16 modules)
Поддержка
Поддержка продукта осуществляется по ICQ, при возникновении вопросов отвечают достаточно оперативно. Хотя мою проблему решить они не смогли, я к этому отношусь спокойно, так как давно привык что, если мою проблему я сам не смог решить в течении получаса, то её мало кто сможет быстро решить. В целом поддержка работает, работает, я думаю хорошо.
При подробном описании проблем вопросов о замене бракованной платы не возникло вообще.
Итог
Я остался доволен приобретенным продуктом, несмотря на проблемы, которые пришлось испытать. По цене за порт очень конкурентноспособное предложение от отечественной компании. Вообще каждому отечественному производителю (хоть плата и производится реально в Китае), я бы памятник ставил. В целом это самая обычная FXS/FXO плата без каких-либо фирменных отличий и технологий. Рассмотрю плюсы и минусы (они достаточно очевидны):
Плюсы:
- Российский разработчик и производитель
- Цена
- Простота установки
- Русская служба поддержки
Минусы:
- Ряд проблем с комплектацией/надежностью (в моем случае)
- Отсутствие поддержки в дистрибутивах «из-коробки»
- Возможность в дальнейшем остаться без поддержки (пример Seiros)
Ссылки
- Страница обсуждения на форуме
- Страница загрузки драйверов и документации для TDM1600
- Cтраница описания TDM1600