Echo on External calls


We are using Asterisk 1.2.3 with FreePBX running in a Centos 4.7 server. All or our SIP phones are Polycom 650. We’ve been having echoing issue as far as I can remember but lately it’s getting worse. I noticed that the echo comes from calls to outside to people who use wireless headset or cordless phones. I believe it works fine for cellphones and does not have echo. We have a provider that supports our system and I’ve tried bringing up the issue to them many times but they said everything is fine. They said they have tweaked the echo cancellation and the gain to its optimun settings. I’m not sure what else to do now, can someone please help?


This is going to be very difficult to do well. Echo cancellation is best done close to the source of the echo, e.g. in the cordless phone or wireless headset. Because of digital transmission, these devices will be adding extra delays, possibly exceeding the echo delay that the canceller can handle, and certainly making it difficult for the canceller to train quickly. Because this is far end echo, the canceller will have to train for each remote party in turn.

You may find that the echo subsides once it adapts to them, but in the circumstances you describe, the call will always start with echo present, if the remote device doesn’t suppress it properly. The only way of speeding the training would be to send a training signal at the start of the call, but that might annoy the remote party.

Echo will be there on non-VoIP calls to these phones, but it will bot be so delayed, so less obvious.


You don’t tell us the most important thing, what are your lines ? ISDN , SIP good old pots ?


I read “provider” to mean an external SIP to PSTN provider, but if they actually provided the Asterisk system, and you have a direct PSTN interface, you really need to get your support from them as you are using an obsolete version of Asterisk, and presumably the PSTN card drivers.

We are using the Digium 1TE122PF card with a PRI line. Does that help?

In that case, you are running code that is so old that the first thing you would be advised to do is to upgrade to current versions and see if you still have the same problem.

However, as I noted before, echo cancelling something with unpredictable but substantially delayed echoes is not something that you can expect to work well, and certainly not something that will start working from the first second.

Like David said the best results are achieved when echo cancellation is close to the source. Nevertheless, if this can not be achieved, then you should use a server-side echo cancellation. The echo cancellation done on the server is designed to handle issues like long delay and audio distortion. Following is an interesting post on the subject.

TE122PF, that’s without the DSP echo cancellation module, unless you bought one after the fact and put it on there?

Would the zaptel version of the same vintage as his Asterisk actually have the echo cancellation firmware?

Ick, didn’t read that.

“Good luck” is my response. The TE122 wasn’t released without support for the echo module, so if he’s using it, he’s using a version of Zaptel that’s got support for it. BUT it’s an older version with older echo firmware, which isn’t as good as newer firmware, and, per policy, we don’t backport into Zaptel or make new release of it. So…yeah. :frowning: