--- apps/app_voicemail.c.ORIG 2007-11-18 11:12:03.000000000 -0600 +++ apps/app_voicemail.c 2007-11-23 10:45:49.232049881 -0600 @@ -4612,6 +4612,16 @@ make_file(vms->fn, sizeof(vms->fn), vms->curdir, vms->curmsg); vms->heard[vms->curmsg] = 1; res = wait_file(chan, vms, vms->fn); + /*! \note If the file playback of the message fails it is likely + due to a corrupt or empty message. If we return an error here + it will disconnect the user, so we'll just warn about the error + and ignore it. Most likely the user will hear an empty or + garbled message and just delete it. */ + if (res < 0) { + ast_log(LOG_WARNING, "Playback of voicemail message %s failed (%d).\n", + vms->fn, res); + res = 0; + } } DISPOSE(vms->curdir, vms->curmsg); return res;