Настройка потоковой платы Digium (на примере Wildcard TE121)
После того как плата была установлена в сервер, проверим ее наличие в ОС. В консоли введем команду ниже, она выведет подробную информацию обо всех устройствах в системе:
lspci –v
Найдем интересующее нас устройство, вы увидите что-то подобное:
82:08.0 Ethernet controller: Digium, Inc. Wildcard TE121 single-span T1/E1/J1 card (PCI-Express) (rev 11)
Subsystem: Digium, Inc. Wildcard TE121 single-span T1/E1/J1 card (PCI-Express)
Flags: bus master, medium devsel, latency 64, IRQ 50
I/O ports at f000 [size=256]
Memory at fbe20000 (32-bit, non-prefetchable) [size=1K]
Expansion ROM at fbe00000 [disabled] [size=128K]
Capabilities: [c0] Power Management version 2
Kernel driver in use: wcte12xp
Kernel modules: wcte12xp
Переходим в файл модулей Dahdi:
nano /etc/dahdi/modules
в нем уберем комментарий с нужного нам модуля wcte12xp, удалив символ ‘#’.
Выходим и сохраняем изменения в файл.
Далее в файле конфигурации:
nano /etc/dahdi/system.conf
Укажем зональную принадлежность сервера АТС:
loadzone = ru
defaultzone = ru
Настроим в этом же файле согласование потока между станцией и оператором связи (уточняйте настройки потоковой платы E1 у оператора):
span=1,1,0,ccs,hdb3,crc4; Синхронизация, тип кодирования, проверка четности
bchan=1-15,17-31; Тайм-слоты для голоса
dchan=16; Тайм-слоты для сигнализации
echocanceller=mg2,1-15,17-31; Тип эхоподавления, тайм-слоты на каких будет использоваться.
Теперь рассмотрим более подробно каждый параметр:
span=<span num>,<timing source>,<line build out (LBO)>,<framing>,<coding>[,yellow]
spannum – номер порта E1 (в нашем случае он один)
timing – параметр определяет источник синхронизации, 0 –мастер, 1 – удаленная сторона
linebuildout (LBO) – параметр по умолчанию устанавливать 0
framing — тип телефонной сигнализации. Для E1 используем cas или ccs
coding – кодирование в линии, используем либо ami, либо hdb3
yellow – выполнять проверку и генерацию crc4
echocanceller=<echocanceller name>,<channel's>
echocanceller name — mg2, kb1, sec2, sec
Далее перезагрузим демона Dahdi:
/etc/init.d/dahdi restart
Проверим карту на прерывания:
dahdi_test
99.998% 99.992% 99.998% 99.998% 99.997% 99.996% 99.996% 99.998%
99.997% 99.998% 99.996% 99.996% 99.997% 99.996% 99.998% 99.997%
— Results after 16 passes —
Best: 99.998% — Worst: 99.992% — Average: 99.996728%
Значения ниже 99,9 — плохой результат. Этот результат означает, что устройство конфликтует с какими либо процессами за прерывания, что приведет к ухудшению качества голоса.
Проверим прерывание потоковой платы с другими устройствами карта должна иметь свой IRQ:
cat /proc/interrupts
Теперь посмотрим статус карты и ее ошибки:
dahdi_tool
Перейдем в настройки chan_dahdi.conf:
nano /etc/asterisk/chan_dahdi.conf
Пример конфига chan_dahdi.conf:
[channels]
language=ru
callwaiting=yes
usecallingpres=yes
pridialplan=unknown
prilocaldialplan=unknown
resetinterval = 100000000
facilityenable = yes
usecallerid=yes
cidsignalling=bell
cidstart=ring
hidecallerid=no
sendcalleridafter=1
callwaitingcallerid=yes
callerid = asreceived
restrictcid = no
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
;echotraining=800
relaxdtmf=no
switchtype=national
signalling=pri_cpe
group=0
context=from-pstn
channels=>1-15,17-31
Выходим и сохраняем параметры chan_dahdi.conf.
Перезагружаем демона Dahdi:
/etc/init.d/dahdi restart
В веб-интерфейсе создадим DAHDI транк в разделе Администратор – Основные настройки – Транки. Дадим произвольное имя транку, укажем исходящий CID (уточнить у оператора, либо прописан в договоре).
Последний параметр это DAHDI идентификатор, он должен соответствовать группе указанной в файле chan_dahdi.conf, в нашем случае идентификатор будет g0. Настраиваем маршрутизацию, и пробуем совершить тестовые звонки.