aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-07 17:23:37 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-07 17:23:37 +0000
commite14c5209133113d491e68d60bb8696ae36339c68 (patch)
tree9ad28a829ce6100ed573d23f971900779efa9407 /apps
parent1d15a6c895db878eb75888965e58fcc90d17f8ab (diff)
Merged revisions 300918 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r300918 | jpeeler | 2011-01-07 11:13:21 -0600 (Fri, 07 Jan 2011) | 7 lines Ensure good bye prompt in voicemail is played at the correct time. Specifically in the case of timing out but not leaving voicemail nothing should be heard. And when leaving voicemail it should be heard. ABE-2647 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@300951 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_voicemail.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 05f3926af..9f97fde21 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -5710,7 +5710,7 @@ static int leave_voicemail(struct ast_channel *chan, char *ext, struct leave_vm_
}
if (res == '0') {
goto transfer;
- } else if (res > 0)
+ } else if (res > 0 && res != 't')
res = 0;
if (duration < vmminsecs)
@@ -10015,6 +10015,11 @@ static int vm_exec(struct ast_channel *chan, void *data)
}
res = leave_voicemail(chan, args.argv0, &leave_options);
+ if (res == 't') {
+ ast_play_and_wait(chan, "vm-goodbye");
+ res = 0;
+ }
+
if (res == OPERATOR_EXIT) {
res = 0;
}
@@ -11992,10 +11997,10 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
/* Hang up or timeout, so delete the recording. */
ast_filedelete(tempfile, NULL);
}
- if (cmd == 't')
- cmd = 0;
- else if (outsidecaller) /* won't play if time out occurs */
+
+ if (cmd != 't' && outsidecaller)
ast_play_and_wait(chan, "vm-goodbye");
+
return cmd;
}