Страница 1 из 3
Не работает эхоподавление
Добавлено: 07 июн 2016, 17:09
a378
Собираю резервный сервер телефонии. Конфиг рабочий с другой системы. Проблема - похоже, что не работает эхоподавление. Везде, где только можно, эходав включен, загружен и активирован. Но при звонке с аналоговой станции на Астериск через карту Digium TE235 в трубке SIP телефона появляется эхо. Эходав Oslec, ставил по инструкции - копированием из исходников ядра в исходники DAHDI и пересборкой:
mkdir /usr/src/dahdi/linux/drivers/staging
cp -fR /usr/src/linux-3.16.7/drivers/misc/echo /usr/src/dahdi/linux/drivers/staging
sed -i "s|#obj-m += dahdi_echocan_oslec.o|obj-m += dahdi_echocan_oslec.o|" /usr/src/dahdi/linux/drivers/dahdi/Kbuild
sed -i "s|#obj-m += ../staging/echo/|obj-m += ../staging/echo/|" /usr/src/dahdi/linux/drivers/dahdi/Kbuild
echo 'obj-m += echo.o' > /usr/src/dahdi/linux/drivers/staging/echo/Kbuild
cd /usr/src/dahdi/
make
make install
Единственное, в инструкции путь должен быть /usr/src/linux-X.X.X/drivers/staging/echo, но как я понял его изменили на .../misc/echo. Возможно, в этом проблема. Или эта инструкция совсем устарела?
Пробовал ставить mg2, все тоже самое - все везде включено, но эхо не пропадает. Если на старой рабочей системе для эксперимента выключить эходав, то при звонке абсолютно такое же эхо - один в один. Там правда другая E1 карта и Gentoo. Такое ощущение, что параметр echocancel=yes на новой системе не считывается из конфига. В остальном все работает как надо - PRI поднимается, звонки ходят, все хорошо. Кроме эха.
Может DAHDI криво собрался? Смущает то, что нигде в логах нет абсолютно никаких ошибок. Может кто сталкивался с таким?
Debian 8.4 - 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
DAHDI Version: 2.11.1
Asterisk 1.8.32.3
libpri version: 1.5.0
Re: Не работает эхоподавление
Добавлено: 07 июн 2016, 17:14
a378
-----------------------------------------------------------------
#less /proc/modules | grep oslec
dahdi_echocan_oslec 12578 60 - Live
dahdi 212264 67 dahdi_echocan_oslec,wcte43x,oct612x, Live
echo 12578 1 dahdi_echocan_oslec, Live
-----------------------------------------------------------------
#dahdi_cfg -v
...
DAHDI Version: 2.11.1
Echo Canceller(s): OSLEC
...
Setting echocan for channel 1 to oslec
Setting echocan for channel 2 to oslec
...
-----------------------------------------------------------------
#cat /proc/dahdi/1
...
1 WCTE2/0/1/1 Clear (In use) (EC: OSLEC - INACTIVE)
2 WCTE2/0/1/2 Clear (In use) (EC: OSLEC - INACTIVE)
...
-----------------------------------------------------------------
При звонке:
CLI> dahdi show channel 31
...
Echo Cancellation:
128 taps
currently ON
...
-----------------------------------------------------------------
/etc/dahdi/system.conf
echocanceller=oslec,1-15,17-31
-----------------------------------------------------------------
/etc/asterisk/chan_dahdi.conf
echocancel=yes
echocancelwhenbridged=yes
-----------------------------------------------------------------
Re: Не работает эхоподавление
Добавлено: 07 июн 2016, 17:19
ded
Работает или нет Oslec видно при выполнении команды
dahdi_cfg -vv
Код: Выделить всё
DAHDI Tools Version - 2.10.0.1
DAHDI Version: 2.10.0.1
Echo Canceller(s): OSLEC
Configuration
======================
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
SPAN 2: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
Dynamic span 1: driver eth, addr eth0/00:55:55:55:55:00, channels 30, timing 1
Dynamic span 2: driver eth, addr eth0/00:55:55:55:55:01, channels 30, timing 0
Channel map:
Channel 01: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 01)
Channel 02: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 02)
Channel 03: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 03)
Channel 04: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 04)
Channel 05: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 05)
Channel 06: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 06)
Channel 07: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 07)
Channel 08: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 08)
Channel 09: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 09)
Channel 10: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 10)
Channel 11: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 11)
Channel 12: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 12)
Channel 13: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 13)
Channel 14: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 14)
Channel 15: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 15)
Channel 16: D-channel (Default) (Echo Canceler: none) (Slaves: 16)
Channel 17: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 17)
Channel 18: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 18)
Channel 19: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 19)
Channel 20: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 20)
Channel 21: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 21)
Channel 22: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 22)
Channel 23: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 23)
Channel 24: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 24)
Channel 25: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 25)
Channel 26: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 26)
Channel 27: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 27)
Channel 28: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 28)
Channel 29: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 29)
Channel 30: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 30)
Channel 31: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 31)
Channel 32: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 32)
Channel 33: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 33)
Channel 34: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 34)
Channel 35: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 35)
Channel 36: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 36)
Channel 37: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 37)
Channel 38: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 38)
Channel 39: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 39)
Channel 40: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 40)
Channel 41: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 41)
Channel 42: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 42)
Channel 43: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 43)
Channel 44: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 44)
Channel 45: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 45)
Channel 46: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 46)
Channel 47: D-channel (Default) (Echo Canceler: none) (Slaves: 47)
Channel 48: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 48)
Channel 49: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 49)
Channel 50: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 50)
Channel 51: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 51)
Channel 52: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 52)
Channel 53: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 53)
Channel 54: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 54)
Channel 55: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 55)
Channel 56: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 56)
Channel 57: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 57)
Channel 58: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 58)
Channel 59: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 59)
Channel 60: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 60)
Channel 61: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 61)
Channel 62: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 62)
Re: Не работает эхоподавление
Добавлено: 07 июн 2016, 17:23
a378
Похоже, что все в порядке.
#dahdi_cfg -vv
DAHDI Tools Version - 2.11.1
DAHDI Version: 2.11.1
Echo Canceller(s): OSLEC
Configuration
======================
SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)
Channel map:
Channel 01: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 01)
Channel 02: Clear channel (Default) (Echo Canceler: oslec) (Slaves: 02)
...
Setting echocan for channel 1 to oslec
Setting echocan for channel 2 to oslec
Re: Не работает эхоподавление
Добавлено: 07 июн 2016, 18:03
a378
Еще заметил непонятный модуль oct612x в выводе lsmod:
Код: Выделить всё
# lsmod |grep oslec
dahdi_echocan_oslec 12578 60
dahdi 212264 67 dahdi_echocan_oslec,oct612x,wcte43x
echo 12578 1 dahdi_echocan_oslec
Re: Не работает эхоподавление
Добавлено: 07 июн 2016, 19:02
Samael28
Вопрос - точно нигде не затесалось 2 эходава в цепочке? Такая комбинация иногда к этому приводит.
PS: А зачем на цифре эходав? Акустическое эхо обычно сам аппарат давит.
Re: Не работает эхоподавление
Добавлено: 07 июн 2016, 20:15
awsswa
модули у вас лишнии грузятся - чистите dahdi от лишнего
а эхо лучше проверять - эхо тестом и слушать запись
Re: Не работает эхоподавление
Добавлено: 07 июн 2016, 20:57
Zavr2008
octasic нужен только если установлена дочерняя плата..
Re: Не работает эхоподавление
Добавлено: 08 июн 2016, 10:12
a378
Samael28 писал(а):Вопрос - точно нигде не затесалось 2 эходава в цепочке? Такая комбинация иногда к этому приводит.
PS: А зачем на цифре эходав? Акустическое эхо обычно сам аппарат давит.
Если только на SIP телефонах. Я его отключал - ничего не меняется. Эхо, как я понимаю, идет с аналоговой АТС, которая через Е1.
awsswa писал(а):модули у вас лишнии грузятся - чистите dahdi от лишнего
а эхо лучше проверять - эхо тестом и слушать запись
В /etc/dahdi/modules закомментировано все, кроме wcte43x. Где еще можно посмотреть?
Zavr2008 писал(а):octasic нужен только если установлена дочерняя плата..
Так вот что это, модуль аппаратного эходава. Значит, теоретически они могут конфликтовать?
Вот что еще нашел в логе при рестарте DAHDI, но думаю что это просто система проверяет наличие аппаратного эходава и, ничего не найдя, отключает его (или в том и дело, что не отключает?):
Код: Выделить всё
dahdi: Version: 2.11.1
dahdi: Telephony Interface Registered on major 196
wcte43x 0000:08:00.0: Firmware version: 13001e
wcte43x 0000:08:00.0: FALC version: 5
wcte43x 0000:08:00.0: firmware: direct-loading firmware dahdi-fw-oct6114-064.bin
wcte43x 0000:08:00.0: Echo cancellation for 64 channels
wcte43x 0000:08:00.0: Unable to Oct6100ChipOpen: 10301b
wcte43x 0000:08:00.0: VPM450: Failed to initialize
wcte43x 0000:08:00.0: Setting up global serial parameters for card 0
Re: Не работает эхоподавление
Добавлено: 08 июн 2016, 13:38
Zavr2008
ну да, нету чипа октасика)