[Asterisk-Users] Help with strategy for echo cancellation.

Rich Adamson radamson at routers.com
Thu Sep 23 13:40:01 MST 2004


Inline...

> Not letting my ignorance of the issues get in the way, I humbly offer the 
> following in the interest of starting a discussion on developing a 
> strategy.
> 
> So the approach appears to need to be broken down into 2 categories: 
> issues with the analog cable plant and issues within the Asterisk box
> 
> Debugging the analog cable plant probably should be done first, but 
> probably also involves areas that we may not be in control of -- telco 
> closets, inside wall wiring, etc.

The analog cable plant has been by far less of an issue in the US then
what it was years ago. Even if the plant is somewhat marginal, it's not
likely to involve echo to the degree that we see it with *.

> Within the Asterisk box, you have motherboard issues you probably can't 
> control and Rx and Tx gain you can tweak to mask the problem.
> 
> For mobo issues, is there a utility that can measure PCI latencies? Maybe 
> an application that could measure the delay between sending and receiving 
> a tone between 2 analog ports tied together with a stub of cable and a 
> couple of rj11's?

Not that I've ever heard of. The test actually involves reading & writing
to the TDM card, not necessarily to anything external. I've not checked,
but I'd bet the Silicon Labs chip set has an internal loopback that
could be used for the test. The test would need to include at least 
the TDM drivers (eg, zaptel, wcfxo, etc) and probably a piece of
asterisk code just to ensure the issues are not buried in those pieces.
The real objective is to measure the delay from the time data is queued
within asterisk, until when the data is returned in the form of an 
echo. A loopback should work just fine for that.
 
> For a "[rx|tx]gain tweaking strategy," can somebody reply with a step by 
> step approach? Something like:
> 
> 1) Dial an extension that invokes the milliwatt application. Adjust 
> [rx|tx]gain so that ztmonitor displays x octothorpes (a patch to display a 
> "hard number" would be easier than counting "#'s")
> 
> 2) Dial out in a IAX circuit to your FXO port, invoking the milliwatt 
> application. Blah, blah, blah.
> 
> 3) Dial out an FXO port to another FXO port, blah, blah, blah.
> 
> 4) Dial out an FXO port to your buddy's FXO port on the opposite coast, 
> blah, blah, blah.
 
Don't think you need to do all of the above. You can, just to set 
levels (gains) to something reasonable. But the issue you're trying
to deal with is echo, and there really isn't any reasonable priced
test gear to do that in this environment. So, adjust the gains until
the echo is minimized and DTMF, etc, still function. Trial & Error.

> > Each site seems to be a little different, so there's no such thing as
> > a good value to start at. Some machines are very close to Central Offices
> > (where cable loss is insignificant) while others are some distance from
> > the Office (where the loss might be 10 db or so). In very general terms
> > start with 0,0 (rxgain, txgain) and adjust in maybe 2.0 db increments.
> > In most cases you need to stop/start asterisk (not just a reload). The
> > smaller the gain settings, the less echo, but will also become difficult
> > to hear as well. Going to low will also kill DTMF and/or CallerID functions.

Rich





More information about the asterisk-users mailing list