Index: app.c =================================================================== --- app.c (revision 18783) +++ 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 no_audio = 0; if (silencethreshold < 0) silencethreshold = global_silence_threshold; @@ -645,6 +646,7 @@ if (!res) { ast_log(LOG_WARNING, "No audio available on %s??\n", chan->name); res = -1; + no_audio = 1; } } @@ -736,6 +738,8 @@ ast_channel_stop_silence_generator(chan, silgen); *duration = end - start; + if (no_audio && *duration >= 4) + *duration -= 4; for (x=0;x