Summary:ASTERISK-07265: app_amd broken in the case of no frames/digital silence
Reporter:davetroy (davetroy)Labels:
Date Opened:2006-06-30 11:34:33Date Closed:2007-01-15 23:28:30.000-0600
Versions:Frequency of
Description:app_amd assumes that the lack of a readable frame means that it should exit its silence searching loop.  This will cause a premature exit in the case of digital channels that do not generate frames during silence (muted, VAD, digitally generated voicemail).

Instead, a return value of 0 from ast_waitfor(chan, totalAnalysisTime) should indicate a period of digital silence lasting for totalAnalysisTime, while a return value of -1 indicates that the call has ended.

This then raises the question of whether the totalAnalysisTime works in the sense that the author intended, which I think it probably does not.

I do not have a patch to offer at this time, but could be convinced to write one if the original author is unavailable.


See ASTERISK-6420 (app_waitforsilence).  It suffered from the same issue but should now be corrected.
Comments:By: Serge Vecher (serge-v) 2006-09-01 13:30:23

davetroy: it looks like you will have to work on the patch here afterall ;)

By: jmls (jmls) 2006-10-31 12:46:34.000-0600

davetroy: do you have a patch for this ?

By: jmls (jmls) 2006-11-20 14:21:18.000-0600

would you be able to provide a patch for this ? Thanks

By: Joshua C. Colp (jcolp) 2006-12-04 14:19:16.000-0600

I see what davetroy is saying and in fact app_waitforsilence did not have the modification needed to fix this. If no patch is provided by davetroy within the next few days I will try to put the time in to research and make a patch.

By: Joshua C. Colp (jcolp) 2007-01-15 23:28:29.000-0600

I gave this more thought and finally decided that while it is not desired for app_amd to fail as such Asterisk currently does not handle VAD/silence suppression as a whole and simply fixing it in app_amd is not the best way to go. Hopefully we'll make some progress this dev cycle.