Работа с DAHDi

После инсталляции карты, проверяем ее в системе

#lspci -v

Компилируем нужный пакет для нашей карты, парабел, например, тут http://parabel.ru/d/dahdi_2.4.1.2+2.4.1-parabel_2.4.3.tar.bz2

 

в /etc/dahdi/modules

комментим все модули, вписываем нужный нам, например, quasarm в /etc/dahdi/system.conf

 

Указываем зоновую (региональную) принадженость.

loadzone=ru

defaultzone=ru

 

Настраиваем согласование потока между АТС оператора и Asteris

k.

 

span = 1,0,0,CCS,HDB3,CRC4 //Задается источник синхронизации, тип кодирования и необходимость проверки четности

bchan=1-15,17-31 // Задаются тайм-слоты для голоса

dchan=16 //Задаются сигнальные тайм-слоты для данных (0-й — по умолчанию)

echocanceller=mg2,1-15,17-31 // Указывается тип эхоподавителя и тайм-слоты, на которых он будет задействован.

 

Теперь чуть более подробно по опциям.

span = <span_num>,<timing>,<LBO>,< framing>,<coding>[,crc4]

где

span_num – номер порта E1 (от 1 до максимального номера порта в плате)

timing – использовать ли порт как источник синхронизации

0 – порт адаптера ведущий по E1

1 и более – порт ведомый по E1 и является одним из источников

синхронизации адаптера. Чем больше число, тем меньше приоритет порта.

LBO – параметр не используется, ставить 0.

Framing – тип телефонной сигнализации, ставить ccs или cas.

Coding – кодирование в линии, может принимать значения ami или hdb3

Crc4 – разрешить проверку и генерацию crc4 (не обязательный параметр)

 

Делаем рестарт dahdi

 #service dahdi stop

#service dahdi status

 

Если не выгрузился, необходимо сначала остановить Asterisk

#service asterisk stop

после 

#service asterisk start

#service dahdi start

 

Проверка:

#dahdi_test

dahdi_test

Opened pseudo dahdi interface, measuring accuracy…

99.999% 99.995% 99.999% 99.999% 99.999% 99.999% 99.999%

— Results after 7 passes —

Best: 99.999 — Worst: 99.995 — Average: 99.998506, Difference: 99.998507

 

З

начения не ниже 99,9 — хороший результат.

Он означает, что DAHDI-устройство не вынуждено конкурировать с другими процессами за прерывания и время процессора. Значения ниже 99.9 будут приводить к ухудшению качества звука, срыву синхронизации канала E1, скрежету и обрывам голоса.

 

В случае, если значения ниже 99,9

(да и просто для профилактики), неободимо убедиться, что цифровая карта не делит прерывания с другими драйверами.

#cat /proc/interrupts

[pbx.localdomain ~]# cat /proc/interrupts

           CPU0       CPU1       

  0: 1326273128          0    IO-APIC-edge  timer

  1:       8959          0    IO-APIC-edge  i8042

  4:    2796129          0    IO-APIC-edge  serial

  6:          6          0    IO-APIC-edge  floppy

  7:          2          0    IO-APIC-edge  parport0

  8:          1          0    IO-APIC-edge  rtc

  9:          1          0   IO-APIC-level  acpi

 14:   50338541          0    IO-APIC-edge  ide0

 50:          0          0   IO-APIC-level  uhci_hcd:usb3

 58:       7369   23441503         PCI-MSI  ahci

114: 1326250778          0   IO-APIC-level  wctdm

146:   28024883          0         PCI-MSI  eth0

169:          0          0   IO-APIC-level  uhci_hcd:usb5

225:          0          0   IO-APIC-level  uhci_hcd:usb4

233:          0          0   IO-APIC-level  ehci_hcd:usb1, uhci_hcd:usb2

NMI:          0          0

LOC: 1325416311 1325416314

ERR:          0

MIS:          0

 

wctdm занимает отдельный irq, это правильно.Если с кем-то делит, то это может сказывать на работе карты и качестве голоса.

Чаще всего наблюдается ситуация, когда драйвера USB и DAHDI занимают одно прервывание. Это нежелательная ситуация, и в ней лучше всего либо разнести драйвера по разным прерываниям, либо отключить USB на уровне BIOS.

#dahdi_tool

тут можно увидеть ошибки в работе карты

#dahdi_scan

показывать сведения о карте

#dahdi_cfg -v

показывает конфигурационный файл, который используется

затем в /etc/asterisk/chan_dahdi.conf

примерный конфиг:

 

===================

[trunkgroups]

[channels]

language=ru

context=from-trunk

signalling=pri_cpe

rxwink=300              ; Atlas seems to use long (250ms) winks

;                                                                                                               

; Whether or not to do distinctive ring detection on FXO lines                                                  

;                                                                                                               

;usedistinctiveringdetection=yes                                                                                

                                                                                                                

usecallerid=yes                                                                                                 

hidecallerid=no                                                                                                 

callwaiting=yes                                                                                                 

usecallingpres=yes                                                                                              

callwaitingcallerid=yes                                                                                         

threewaycalling=yes                                                                                             

transfer=yes                                                                                                    

cancallforward=yes

callreturn=yes

echocancel=yes

echocancelwhenbridged=yes

echotraining=800

rxgain=0.0

txgain=0.0

group=0

callgroup=1

pickupgroup=1

immediate=no

;busydetect=yes

;busycount=5

faxdetect=no

 

switchtype=euroisdn ; or qsig

immediate=no

context=from-trunk

resetinterval=100000000

signalling=pri_cpe ; or pri_net

group=0

channel =>1-15,17-31

====================

В Астериск CLI

dahdi restart

dahdi show channels проверяем что каналы поднялись

dahdi show channel 1

 

Взято здесь http://www.voxlink.ru

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *