Type: New Feature
Affects Version/s: None
Target Release Version/s: None
This app was put together so as to be able to deal with answering machines when making outbound calls. The idea is that you probably don't want to start playing your soundfile until there has been a given amount of silence.
Here is a simple implementation; note that it can be called repeatedly to deal with cadences of different situations:
Exten => 7001,1,WaitForSilence(200,7)
Exten => 7001,2,WaitForSilence(700,1)
Exten => 7001,3,Playback,outboundmsg
Exten => 7001,4,Hangup
This in (1) waits for silence 200ms, 7 times (1.4 seconds). Then upon that being done, it waits for silence 700ms once.
This deals with the possibility of multiple short periods of silence occuring within or before an answering machine message (200 x 7 instances), and then waits for 700ms of silence to be SURE that the remote side really is ready for you to talk. This essentially emulates human behavior when calling an answering machine, and in my tests, this configuration works very well.
This code is based on *'s internal DSP functions. It should be ready for inclusion in the CVS head. Just edit apps/Makefile to include app_waitforsilence.c in app list.
This app can be used for good or for evil; please use only for good.