Hello All,
This took me a while to figure out but it appears we are not saving certain settings properly in the /etc/asterisk/chan_dahdi.conf and no settings in the /etc/dahdi/system.conf
After upgrading a system running a digium card TDM800P I found that the client was experiencing local echo. After researching I noticed that dahdi_cfg -vvv would show no noise cancelling even though the general settings in the dadhdi config option show echo cancelling yes.
OUTPUT:
DAHDI Tools Version - 2.5.0.1
DAHDI Version: 2.5.0.1
Echo Canceller(s): HWEC
Configuration
Channel map:
Channel 01: FXS Kewlstart (Default) (Echo Canceler: none) (Slaves: 01)
Channel 02: FXS Kewlstart (Default) (Echo Canceler: none) (Slaves: 02)
Channel 03: FXS Kewlstart (Default) (Echo Canceler: none) (Slaves: 03)
Channel 04: FXS Kewlstart (Default) (Echo Canceler: none) (Slaves: 04)
4 channels to configure.
Setting echocan for channel 1 to none
Setting echocan for channel 2 to none
Setting echocan for channel 3 to none
Setting echocan for channel 4 to none
I see that in /etc/asterisk/chan_dahdi.conf
echocancel=yes
However there are NO entries for /etc/dahdi/system.conf
reflecting echo cancelling.
If I manually added:
echocanceller=MG2,1-4
then that did part of the echo cancelling.
The next thing I noticed is in the global settings that
Enable Echo Training is set to no and then when you set it to yes, it actually writes out yes to the /etc/asterisk/chan_dahdi.conf file the value:
echotraining=yes
instead of writing echotraining=400 which is the default value according to the docs.
This in the end doesn’t work at all to do the echo training unless you put the physical number instead of Yes or No.
In the end the biggest problem is nothing is really being saved to /etc/dahdi/system.conf so the card never executes any noise cancelling so you get only this, no matter what your settings are:
-------------------------------------------------------------------------------;
Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
this file must be done via the web gui. There are alternative files to make ;
custom modifications, details at: http://freepbx.org/configuration_files ;
-------------------------------------------------------------------------------;
fxsks=1-4
loadzone=us
defaultzone=us
I added by hand:
echocanceller=MG2,1-4
I believe that’s the gist of the problem, that’s a lot of details so hoping I didn’t mistype anything.
Currently running everything updated to the minute:
/etc/schmooze/pbx-version
1.89.210.57-2
Which is 2.11.x branch.
Let me know, I don’t work with a lot of analog cards since we mainly work on pure SIP but I think this is an accurate detail of the problem.