Index: app.c =================================================================== --- app.c (revision 18302) +++ app.c (working copy) @@ -555,6 +555,7 @@ int gotsilence = 0; /* did we timeout for silence? */ int rfmt=0; struct ast_silence_generator *silgen = NULL; + int audio_avail = 0; if (silencethreshold < 0) silencethreshold = global_silence_threshold; @@ -652,6 +653,7 @@ f = NULL; break; } + audio_avail = 1; f = ast_read(chan); if (!f) break; @@ -735,7 +737,7 @@ if (silgen) ast_channel_stop_silence_generator(chan, silgen); - *duration = end - start; + *duration = audio_avail ? end - start : 0; for (x=0;x