diff --git a/app.c b/app.c index c3686f12f564e59f792be29eba1d765fe419c97d..2f3ac6cd7bcfb836ae069c9476e79530f39ed7e8 100755 --- a/app.c +++ b/app.c @@ -459,7 +459,9 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char if (chan) ast_stopstream(chan); res = ast_waitfordigit(chan, 1000); - if (res == -1 || strchr(pause, res) || (stop && strchr(stop, res))) + if(res == 0) + continue; + else if(res == -1 || strchr(pause, res) || (stop && strchr(stop, res))) break; } if (res == *pause) { @@ -470,7 +472,7 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char if (res == -1) break; - if (stop != NULL && res == *stop) { + if (stop && strchr(stop, res)) { res = 0; break; } diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index 4c688b02312ca62bfefc016a9cc39ddd9e223e4d..f9f20fc068bc237151455269b85479d2fcabfef9 100755 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -2572,7 +2572,7 @@ static int wait_file2(struct ast_channel *chan, struct vm_state *vms, char *file static int wait_file(struct ast_channel *chan, struct vm_state *vms, char *file) { - return ast_control_streamfile(chan, file, "#", "*", "1", "0", skipms); + return ast_control_streamfile(chan, file, "#", "*", "14679", "0", skipms); } static int play_message_datetime(struct ast_channel *chan, struct ast_vm_user *vmu, char *origtime, char *filename)