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

Klaus-Peter Junghanns kpj at junghanns.net
Thu Jun 23 05:57:07 MST 2005


Am Donnerstag, den 23.06.2005, 12:41 +0200 schrieb Armin Schindler:

> > 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?

Yes, sir.

> 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.

What is so bad about "playing" with audio-data in kernel space?
If you "play" with echo cancelation in user space you will need
to de-jitter the audio first introducing more and more latency, so
your echo cancelation becomes way more computationally expensive.

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

Why should the application have to worry about things like echo
cancelation? Zaptel is not only used by Asterisk but also by other
projects. With EC in kernel space (which gets switched on and off
by userspace) there is no need to reinvent the EC-wheel for every
project.

Klaus





More information about the asterisk-users mailing list