[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