summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJeff Peeler <jpeeler@digium.com>2011-01-07 17:24:52 +0000
committerJeff Peeler <jpeeler@digium.com>2011-01-07 17:24:52 +0000
commit3eec341083bef557ebc0706ee1ecb21af05a9494 (patch)
tree11a31cd5339d03e7dd24e4fcf0bfefffd44de0df /apps
parenta7f9ce2e776e68327c43781256a5b26bd78e9baf (diff)
Merged revisions 300955 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r300955 | jpeeler | 2011-01-07 11:24:14 -0600 (Fri, 07 Jan 2011) | 21 lines Merged revisions 300951 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r300951 | jpeeler | 2011-01-07 11:23:37 -0600 (Fri, 07 Jan 2011) | 14 lines 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: https://origsvn.digium.com/svn/asterisk/trunk@300959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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 26f0c77bc..14e11fdc4 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -5981,7 +5981,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 < vmu->minsecs)
@@ -10407,6 +10407,11 @@ static int vm_exec(struct ast_channel *chan, const char *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;
}
@@ -13189,10 +13194,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;
}