Untangle, Asterisk PBX and File Server; All-in-One. Part 7.1 (OSLEC)
O.K. I said I’d write a bit about an excellent new echo canceller which happens to work with Asterisk. Here it is it’s called OSLEC the Open Source Line Echo Canceller and it’s written by a chap called David Rowe.
As readers may recall, I’ve built a small home server (VIA CN700) on which I plan to run Asterisk, Samba and Untangle. Samba is up and running and Asterisk is too. I have a single port, very cheap (about £15 inc postage from the USA) x100p card providing an interface to a normal analogue PSTN telephone line.
When we got everything working, we noticed a great deal of echo on voice calls over the x100p. Lots of playing with gains and various settings in the zaptel configuration failed to make any noticeable difference.
I came across this site whilst looking for something completely different and started to read… It sounded like just the thing. A bit of jiggery and a quick patch to the zaptel-1.4.5.1 sources – thanks to the asterisk mailing list – and I got the OSLEC canceller working.
Basically here’s what to do:
- Build the OSLEC module (it will need to find your kernel sources – just like zaptel) according to the instructions on the website. Once built and you’ve checked that you can install it by inserting the module into your running kernel, copy it (oslec.ko) to your kernel’s loadable module directory: on my system the zaptel modules reside in
/lib/modules/2.6.23/misc/
so that’s where I put the oslec module too. - Patch your zaptel source tree (if you have version 1.4.5.1 you will need to patch
Makefile.kernel26
or OSLEC will never get loaded) and rebuild and re-install as described. (Caution: Backup your/etc/zaptel.conf, /etc/asterisk/zapata.conf
and your modified SysV init scripts so you can simply overwrite the default files installed when you rerunmake install
on the zaptel sources.) - Edit your zapata.conf so the following are as below:
echocancel=yes
echocancelwhenbridged=no
;echotraining=400 - Reload everything (if in doubt, stop asterisk and zaptel using your SysV init scripts, e.g # /etc/rc.d/init.d/{asterisk,zaptel} stop. Then start them again. When zaptel starts you should see a message saying Echo canceller OSLEC or something like that; if it says MG2 then it isn’t working so you need to go back and recheck your build and patching and module loading.
That’s it.
Now make or receive a call through your cheap x100p card and marvel at the clear echo free sound! It worked brilliantly for me. Of course YMMV but it is definitely worth a try. Most of the reports on the ‘net are incredibly positive about this.
Tags: Asterisk, low power server, Open Source, OSLEC
[…] Asterisk appliance project has the chap who wrote the brilliant Open Source Echo Canceller I mentioned before in […]
[…] Machine took just about 3 minutes!. During the first boot up I noticed that it uses the excellent OSLEC echo canceller by default. That’s a plus mark from […]
Thanks for your input on Oslec echocan.
I have installed Oslec for Windows to work with Asterisk for Windows + Celoliax audio port for Asterisk to communicate via a sound card.
And echo is at issue.
Just open the following audio file
Asterisk Celliax audio recorded by Audiocity in .wav file format
http://www.sendspace.com/file/nk6tb6
If you have any suggestions, please PM me
dariusjack2006@yahoo.ie
Please keep in mind my Asterisk for Windows is run on Vista laptop 1.6 Ghz.
Quality of the same audio files played via local SIP softphone (X-Lite) is ok.
Thanks
Darius