Собираю резервный сервер телефонии. Конфиг рабочий с другой системы. Проблема - похоже, что не работает эхоподавление. Везде, где только можно, эходав включен, загружен и активирован. Но при звонке с аналоговой станции на Астериск через карту 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