[Asterisk-Users] chan_capi-cm-0.5 release announcement

Armin Schindler armin at melware.de
Thu Jun 23 03:41:29 MST 2005


On Thu, 23 Jun 2005, Klaus-Peter Junghanns wrote:
> > > > Yes, that should be possible. But I don't think a channel driver (and each
> > > > channel driver) should do that on its own. Software echo cancelling
> > > > belongs in a common part of Asterisk.
> > > > 
> > > I strongly agree. But asterisk doesn't seem to work this way. Zap channel has
> > > it's own echo cancel engine. Other channels don't.
> > > This is so sad :-(
> > > Why not implement a really common echo cancel api usable from any channel ??
> > 
> > Exactly!
> > I'm not familiar with the Asterisk API, but it could be some
> > plugin like res_* ... 
> > 
> > Maybe this belongs to the Asterisk-Dev list.
> > 
> > Armin
> 
> I strongly disagree. :-) You dont want to do echo cancelation in
> userspace. Especially not on a non-realtime operating system.
> To make echo cancelation work it has to be as close to the line
> interface as possible. Also the frames have to be as small
> as possible. This rules out capi pretty much.

If you don't want echo-canceling in user-space, then neither Asterisk nor
any chan_* plugin should do it.

I don't know the zap channel code, but does the zap echo-cancel-code is 
inside a kernel module?
If yes, then I have to disagree here. Something like 'playing' with 
audio-data is nothing the kernel should be concerned with.
This belongs in user-space and if you need realtime, then you should use a 
realtime OS or use RT-scheduling. Just putting such a code into kernelspace 
is a bad idea.

So the correct way is either the hardware supports it or the 
application knows what to do with the data received, like DTMF.

Armin



More information about the asterisk-users mailing list