Managing Echo on Zaptel Channels





In the zconfig.h configuration file, you can choose from one of several echo-canceller
algorithms, with the default being MARK2. Experiment with the various echo cancel-
lers on your network to determine the best one for your environment. Asterisk also has
an option in the zconfig.h file to make the echo cancellation more aggressive. You can
enable it by uncommenting the following line:


#define AGGRESSIVE_SUPPRESSOR


Note that aggressive echo cancellation can create a walkie-talkie, half-duplex effect. It
should be enabled only if all other methods of reducing echo have failed.
Enable echo cancellation for Zaptel interfaces in the zapata.conf file. The default con-
figuration enables echo cancellation with echocancel=yes. echocancelwhenbridged=yes


will enable echo cancellation for TDM bridged calls. While bridged calls should not
require echo cancellation, this may improve call quality.
When echo cancellation is enabled, the echo canceller learns of echo on  the line by
listening  for it for the  duration  of the call.  Consequently, echo may be heard  at the
beginning of a call and eventually lessen after a period of time. To avoid this situation,
you can employ a method called echo training, which will mute the line briefly at the
beginning of a call, and then send a tone from which the amount of echo on the line
can  be  determined. This  allows  Asterisk  to  deal  with  the  echo  more quickly.  Echo
training can be enabled with echotraining=yes.


Hardware Echo Cancellation


The most effective way to handle echo cancellation is not in software. If you are plan-
ning on deploying a good quality system, spend the extra money and purchase cards
for the system that have onboard hardware echo cancellation. These cards are some-
what more expensive, but they quickly pay for themselves in terms of reduced load on
the CPU, as well as reduced load on you due to less user complaints.