[asterisk-dev] Building an embedded Asterisk PBX

David Rowe david at rowetel.com
Sat Sep 2 13:03:25 MST 2006


> With regards to echo cancellation, it is my opinion that it is 100% 
> neccessary to have hardware based echo cancellation on any piece of 
> hardware that will be deployed in a customer scenario. In all of my 
> experiences, I have finally come to the conclusion that the Software Echo 
> cancelling routines in Asterisk are just not acceptable enough to deal 
> with, and eliminate all forms of echo. I.E. some echo and artifacts always 
> remain. As a result, I have made the decision to deploy all hardware based 
> Echo cancelling cards.

OK, thanks for the tip.  As a first pass I plan to use the Asterisk echo
can software, but we can always try and improve from there.  I know from
personal experience that echo cancellers are tough pieces of DSP
software to write, so I understand the problem.  So to be fair I would
say that the authors of the Asterisk software echo can have actually
done a pretty good job - much better than I have to date :-)

Just to clarify "hardware echo cancellers" are actually proprietary
software running on programmable DSP chips (just like say G729 software
in binary form).  The reason they work so well is that they have been
written by echo can experts (like I said - this is tough, specialised
software).  The same software would work just as well on an x86 with
enough MIPS available.

There is no fundamental reason that Asterisk couldn't include an open
source, carrier grade, high performance echo can.  Its just that no one
has written one yet.  But then again a few years ago no one had written
an open source PBX, either.

> Do you think the blackfin STAMP has enough horsepower to enable carrier 
> grade echo cancelling? 

In terms of MIPs, I have calculated that about 12 channels of 128ms
echo-can will run comfortably on a Blackfin (or 24 ports of 64ms tail
echo can).  Thats while running Asterisk at the same time.  You see the
Blackfin _is_ a DSP chip, so it's optimised for this sort of thing.  It
just happens to run uClinux (and therefore Asterisk) as well.  

> Or is there an easy way to include a DSP based Echo 
> canceller into the system?

So what you really mean is how to get carrier-grade echo can?  You could
(i) license some proprietary echo can software and use it on the
Blackfin (ii) as a community we could develop one (I have talked to some
experienced DSP/echo guys about this) and (iii) you could hang something
like an Octasic chip off the side.  (i) and (iii) will make it cost
more, (iii) is needs some community development work.  And would be more
fun :-)

>  
> > _______________________________________________
> > --Bandwidth and Colocation provided by Easynews.com --
> > 
> > asterisk-dev mailing list
> > To UNSUBSCRIBE or update options visit:
> >    http://lists.digium.com/mailman/listinfo/asterisk-dev
> > 
> > 
> 




More information about the asterisk-dev mailing list