DAHDI echo cancellation on 2.9

I was wondering what echo cancellation fellow FreePBXers were using on their newer versions of the distro? I installed DAHDI 2.9 for my OpenVOX TDM400P using 5.211.65-11 FreePBX and it’s having horrible echo. I looked in Dahdi Config module and it doesnt look like i have an echo canceler installed. I checked into oslec but it looks like it only supports up to DAHDI 2.6. Anyone on DAHDI 2.9 have any success with a software echo canceler?

Yes, on my FreePBX Distro 5.211.65-13 with DAHDI I have Software Echo Canceller “OSLEC” enabled on channels (you have to manually set it through DAHDI Configuration Module as it will not be enabled by default if no Hardware Echo Canceller is found, AFAIK) on a cheap HFC ISDN BRI PCI Card (which hasn’t any Hardware Echo Canceller capability). Flawless, at least on Euro ISDN BRI Lines. Never heard of Hybrid echoes.

we use oslec on the FreePBX Distro if you do not have hardware echo cancellation. Not sure where you are getting facts its not supported on anything newer then DAHDI 2.6. Its all compilled in.

But we never recommend software echo can usually and always recommend hardware based octastic.

Thanks parmassus, how exactly do I enable oslec in the module?
Hi Tony, I read in an oslec guide that each version of dahdi requires a certain patch if I were to instal Oslec, but if it’s already part of Dahdi 2.9, I guess I just need to figure out how to enable it. This is only a 4 total line setup with just 5 extensions so didn’t want to drop the coin on a hardware version

You should add “echocanceller=oslec,1-2” (1-2 are the two channels of my BRI ISDN so you should adapt these values to your specific configuration) using the “Other Global Dahdi Settings” field of DAHDI Global Settings menu of DAHDI Config module menu.

If you’re using the FreePBX Distro and you care about it keeping it updated (I mean updating both FreePBX Modules and underlying SHMZ 6.5 operative system) you shouldn’t worry about any patch (thanks to FreePBX Developers)!

k I have 4 FXS ports so i did echocanceller=oslec,1-4 and restarted everything, but getting the following…
DAHDI Version:
Echo Canceller(s):

Channel map:

Channel 01: FXO Kewlstart (Default) (Echo Canceler: none) (Slaves: 01)
Channel 02: FXO Kewlstart (Default) (Echo Canceler: none) (Slaves: 02)
Channel 03: FXO Kewlstart (Default) (Echo Canceler: none) (Slaves: 03)
Channel 04: FXO 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

and when i tried putting the line manually inside /etc/dahdi/system.conf and loading dahdi I got this…

Channel map:

Channel 01: FXO Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 01)
Channel 02: FXO Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 02)
Channel 03: FXO Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 03)
Channel 04: FXO Kewlstart (Default) (Echo Canceler: oslec) (Slaves: 04)

4 channels to configure.

Setting echocan for channel 1 to oslec
DAHDI_ATTACH_ECHOCAN failed on channel 1: Invalid argument (22)

I thinks me broke something? lol

So quick update, I ended up uninstalling and reisntalling Dahdi, but didn’t allow the Dahdi COnfig module write access. The ports are now up and using mg2 echo cancellation (assuming this is default) so I’m afraid to enable he config module to re-write everything when it seems to give me trouble re-enabling echo cancel.

Also quick note, I went into system.conf and changed mg2 to oslec and got the error 22 bad arguement, so I changed it back to mg2 :frowning:

When you reinstall dahdi, unless you specifically set it up, oslec will not be compiled.

Here’s something that may help you out:

Are you sure your statement is valid for RPM packages (and/or FreePBX modules) of a “FreePBX Distro” ?
IMHO, in this particular case, he shouldn’t (re)compile anything…more…he should use FreePBX DAHDI Config module (from GUI) to setup its card leaving the various configuration files untouched as much as possible.

You should read this (old) thread and <a href=http://issues.freepbx.org/browse/FPBXDISTRO-14?jql=text%20~%20%22OSLEC%22>this (old) FreePBX Distro Ticket.

Basically if you have an OpenVox TDM400P with an X-100M FXO Module and the card itself seems to be not equipped with (or doesn’t support) any Hardware Echo Canceller add-in module you could use a Software based Echo Canceller: I’m not saying it’s the best solution if your system suffers of Hybrid Echo issues due to FXO lines…but it’s just a possibility.

In particular, on FXO lines, adjusting TX/RX line signal gains through “fxotune” command while Asterisk is stopped could also help

You could use any type of Software Echo Canceller (if it’s compiled in FreePBX DAHDI since you’re using that one on FreePBX Distro) by adding it on the FreePBX DAHDI Config module’s System Settings section (“Other Dahdi System Settings”).

Echo Canceller declared above (once your setting is applied and DAHDI properly restarted) should then appear into /etc/dahdi/system.conf automatically…at least this happend when I set OSLEC on my system.

Here the result of “dahdi_cfg -vvv” on my system:

DAHDI Tools Version -

DAHDI Version:
Echo Canceller(s): OSLEC

SPAN 1: CCS/ AMI 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)
Channel 03: Hardware assisted D-channel (Default) (Echo Canceler: none) (Slaves: 03)

3 channels to configure.

Setting echocan for channel 1 to oslec
Setting echocan for channel 2 to oslec
Setting echocan for channel 3 to none

And below the contents of my /etc/dahdi/system.conf generated by DAHDI Config module:

# -------------------------------------------------------------------------------; # 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; # -------------------------------------------------------------------------------; # span=1,0,0,CCS,AMI bchan=1-2 hardhdlc=3 loadzone=it defaultzone=it echocanceller=oslec,1-2

If you feel there is a bug or an issue with your setup then open a Ticket reporting what you would expect and what is not happening after applying your settings.

Thanks for the reply parnassus,
I did check out the rowetel , but was afraid to recompile anything. I had the FreePBX Dahdi config module redo all my settings, but again, no Oslec. I’m worried something didn’t set up correclty when I first installed FreePBX, and I was refraining from posting it as a “bug” since I doubt I would get any response other than “oslec is 3rd party, please contact the maker of Oslec for support” lol

You shouldn’t be worried: if you’re testing an untouched (I mean “stock” and not bloated) updated FreePBX Distro as suggested, if the Distro is then correctly configured through its FreePBX DAHDI Config module and your PSTN Card is supported yet through software (isn’t the OpenVox TDM400P similar to - or software compatible with - Digium TDM400P?) why don’t describe what you’re experiencing and ask Developer’s help? OSLEC should be compiled in FreePBX DAHDI, shouldn’t be a matter of 3rd Party component but just to understand why the configuration you’re testing is not working as you could expect…