System information
If you hear echo, it’s not your phone that’s causing the problem; it’s the far end of the
circuit. Conversely, echo heard on the far end is being generated at your end. Echo can
be caused by the fact that an analog local loop circuit has to transmit and receive on
the same pair of wires. If this circuit is not electrically balanced, or if a low-quality
telephone is connected to the end of the circuit, signals it receives can be reflected back,
becoming part of the return transmission. When this reflected circuit gets back to you,
you will hear the words you spoke just moments before. Humans will perceive an echo
beyond a certain amount of delay (possibly as low as 20 milliseconds for some people).
This echo will become annoying as the delay increases.
In a cheap telephone, it is possible for echo to be generated in the body of the handset.
This is why some cheap IP phones can cause echo even when the entire end-to-end
connection does not contain an analog circuit.
§
In the VoIP world, echo is usually
introduced either by an analog circuit somewhere in the connection, or by a cheap
endpoint reflecting back some of the signal (e.g., feedback through a hands-free or
poorly designed handset or headset). The greater the latency on the network, the more
annoying this echo can be.
Managing Echo on DAHDI Channels
You can enable and disable echo cancellation for DAHDI interfaces in the
chan_dahdi.conf file. The default configuration enables echo cancellation with echocan
cel=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 throughout the duration of the call. Consequently, echo may be heard
at the beginning of a call and 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 be-
ginning of a call, and 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 a bit
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 fewer user complaints.
§ Actually, the handset in any phone, be it traditional or VoIP, is an analog connection.
Echo | 633