Section 8.5. Echo

8.5. Echo

You may not realize it, but echo has been a problem in the PSTN for as long as there have been telephones. You probably haven't often experienced it, because the telecom industry has spent large sums of money designing expensive echo cancellation devices. Also, when the endpoints are physically closee.g., when you phone your neighbor down the streetthe delay is so minimal that anything you transmit will be returned back so quickly that it will be indistinguishable from the sidetone [*] normally occurring in your telephone.

[*] As discussed in Chapter 7, sidetone is a function in your telephone that returns part of what you say back to your own ear, to provide a more natural-sounding conversation.

8.5.1. Why Echo Occurs

Before we discuss measures to deal with echo, let's first take a look at why echo occurs in the analog world.

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 is 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. The human ear will perceive an echo after a delay of roughly 40 milliseconds .

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). A good rule of thumb is to keep latency to less than 250 milliseconds.

[ ] Actually, the handset in any phone, be it traditional or VoIP, is an analog connection.

8.5.2. Managing Echo

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 cancellers 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:


Note that aggressive echo cancellation can create a walkie-talkie, half-duplex effect. This 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 configuration 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 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 .

Asterisk. The Future of Telephony
Asterisk: The Future of Telephony: The Future of Telephony
Year: 2001
Pages: 380 © 2008-2017.
If you may any questions please contact us: