FreePBX and echo cancellation settings

Where in FreePBX UI does one set echo cancellation options?

What version of FreePBX are you using? Is this a Distro or installed by hand?

This is the most recent FreePBX distro with Asterisk 11.3 and FreePBX 2.11.0.0beta2.8.0

Look at the DAHDI module in the Connectivity menu.

Enabling EC in the DAHDI module has had absolutely no discernible effect thus my original question. The calls coming in over the POTS line sound like they are at the bottom of an echo chamber. Are there any other settings I can tweak?

I am having the same issue with my TDM410P with hardware echo cancellation.

What output do you get from this command

dahdi_cfg -vvv

I turned on echo cancellation in “/etc/dahdi/system.conf” by adding the line

echocanceller=mg2,1-4

This was the easy way to activate it and it will probably not survive changes made in the GUI.

#--------------------------------------------------------------------------------; # 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 echocanceller=mg2,1-4 loadzone=us defaultzone=us

If you put echocanceller=mg2,1-4 into “System Settings|Other Dahdi System Settings:” in the DAHDI module it will add that command to “/etc/dahdi/system.conf”. You will then need to save and apply the config and restart DAHDI and Asterisk.

This seems to have helped but I am not quite sure it is the correct way to configure the echo cancellation.

Did you set your levels yet? The echo canceller can only do so much if everything is way out of whack.

See fxo_tune

Have not had an opportunity to do so yet. Will report when able. Should be sometime tomorrow in the morning.

# dahdi_cfg -vvv DAHDI Tools Version - 2.6.1

DAHDI Version: 2.6.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

In DAHDI module
echocanceller=mg2,1-4

Reload DAHDI and Restart Asterisk

# dahdi_cfg -vvv DAHDI Tools Version - 2.6.1

DAHDI Version: 2.6.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

There is no improvement following this change nor can I detect any change in the settings.

mg2 is a software echo canceller. You can’t have it enabled if you have hardware echo cancellation.

However, I do not see anything that I understand to indicate that hardware echo cancellation is available. What tells me that this is the case?

When it is all working it will say

Setting echocan for channel 1 to hwec
.
.
.

The definitive file is /etc/dahdi/system.conf

and should include something like

echocanceller=hwec,1-4

if dahdi_cfg -vv doesn’t complain then you should be good to go. If it does complain, then you don’t have hwec hardware and/or the necessary binaries installed.

p.s.

But those with continuing echo problems, you might want to try oslec

http://svn.astfin.org/software/oslec/trunk/README.txt

where even Michael Gernoth, the Author of the MG2 echo canceller, endorses it. Some say it is better (and cheaper) than HWEC.

I don’t believe it is included in the Schmooze distro as yet, but if you hand build dahdi it is easy to implement.

In order to make the hardware echo cancellation work you need to use dahdi from digium. The dahdi from freepbx won’t work with it.

I 've just installed freepbx distro with two hfc cards.
I am looking at dahdi module but I can’t find anywhere a settings to use oslec echo canceler.
Do I have to edit a configuration file to do so ?

I could enable it by editing /etc/dahdi/genconf_parameters
from
#echo_can oslec
to
echo_can oslec
and then command
dahdi_genconf

but when I make changes to dahdi module, I see other values when “dahdi_cfg –vv”

alan,
Thanks for that one. Been banging my head against the wall trying to figure out just where to get the echocanceller statements to they would be effective. Removed the echo completely.

It works (with HFC Cologne Chip cards), check the <a href=http://issues.freepbx.org/browse/FPBXDISTRO-14?jql=text%20~%20%22OSLEC%22>FPBXDISTRO-14 ticket issued some time ago (please read the whole comments reported below: the ticket itself wasn’t about HFC Cologne Chip based ISDN card but I tested with a HFC and it’s up and running).

Was able to get the software cancellation configured correctly and resolved the issue. Many thanks to all for their input.

I want to change my FXOs to software cancellation, as described above, but I cannot access the file: permission denied. What do I do, or change so that I get access into this file. The echo is terrible. Alle the UI settings are not really doing the job.
I had it nice and smooth before, but the rx and tx gains were so low that the IVR would not play any of the system recordings. I wanted to change the values, but the changes backfired and I am left with an echoing system again. UI changes don’t work.

I already ran fxotune, but cannot change /etc/fxotune.conf either.

Do point me in the right direction. Thanks,

See below—

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)

3 channels to configure.

Setting echocan for channel 1 to none
Setting echocan for channel 2 to none
Setting echocan for channel 3 to none
[root@localhost ~]# /etc/dahdi/system.conf
-bash: /etc/dahdi/system.conf: Permission denied
[root@localhost ~]#

You are just blindly typing commands. What you told the system to do is execute “/etc/dahdi/system.conf” as if it was a command, its not, you need to prefix that with whatever editor you are trying to use.