[asterisk-users] Zaptel -> DAHDI: now echo

Dave Fullerton dfullertasterisk at shorelinecontainer.com
Wed Aug 19 09:49:17 CDT 2009


Jeff LaCoursiere wrote:
> On Wed, 19 Aug 2009, Dave Fullerton wrote:
> 
>> Tzafrir Cohen wrote:
>>> On Tue, Aug 18, 2009 at 10:00:55AM -0400, Dave Fullerton wrote:
>>>
>>>> Here's my $0.02. If you don't want an echo canceller, specify
>>>> echocanceller=none,x-y and have dahdi_cfg print a warning (at any
>>>> verbosity level) when an echo canceller is not specified for a channel.
>>>> Personally, I would also like to see an option that says "Use the
>>>> hardware canceller", like echocanceller=hw,x-y. This would have the
>>>> added benefit of being able to display an error/warning when the
>>>> hardware canceller is specified but no hw canceller is present. It goes
>>>> against my grain to not specify a canceller to mean use a harware one if
>>>> it happens to exist.
>>> Though this means you have to explicitly configure hardware echo
>>> cancellers to work, which is not as before. This leaves even more room
>>> for error.
>>>
>> It is true that this method would require more configuration work and
>> that it would probably throw people off who were used to the old method.
>> However, I don't agree that it leaves more room for error. The current
>> system, IMHO, has a certain amount of ambiguity to it. If I inherit a
>> production system from someone, I can't tell for sure what the echo
>> canceller setup is just by looking at system.conf. I have to look at
>> system.conf and then know if hardware echo can is present. Aside from
>> opening the case or looking at dmesg output, I'm not even sure how to
>> see if a hardware echocan is present or not.
>> The post that started this thread is another example of that ambiguity.
>> Not defining an echo canceller to mean "don't use one, or use a hardware
>> one if there is one" I think leaves room for confusion and error.
>>
>> -Dave
>>
> 
> I feel like I must be missing something here.  In 1.4, to my knowledge, if 
> hardware echo cancellation was present, it would be used automatically. 
> Further, software echo was enabled by default.  If hardware was available 
> the software would turn itself off automatically.
> 
> What was wrong with this setup?  There was no ambiguity, and there was no 
> confusion.
> 
> Have I assumed the above in error all this time?
> 
> So in 1.6 the hardware echo is on if available, and its only that you must 
> enable software cancellation if you want it by adding the appropriate 
> module.  Is that right?
> 
> It seems then that we would be back to the 1.4 situation if asterisk 
> shipped with one of the SEC modules enabled by default, and you could 
> change it or turn it off if you wanted.  Kevin seemed to confirm that this 
> was the plan.  Sounds good to me.

Sort of, except it's not a difference between 1.4 and 1.6, it's a 
difference between Zaptel and DAHDI (which also works in asterisk 1.4). 
In Zaptel you compiled in a software echo canceller and that was used if 
a hardware canceller was not present (you didn't have to specify). In 
DAHDI, you must explicitly specify what software echo canceller you want 
to use for each channel in system.conf. If you do not specify, then you 
either do not get an echo canceller, or you automatically use the 
hardware canceller-if it is present. My suggestion is that you always 
have to explicitly state what echo canceler you wish to use for each 
channel, whether it be software, hardware or none at all.

-Dave



More information about the asterisk-users mailing list