From 8312f25b13513774d9cee3dad58e6430e079e25b Mon Sep 17 00:00:00 2001
From: Jeff Peeler <jpeeler@digium.com>
Date: Thu, 6 May 2010 20:11:53 +0000
Subject: [PATCH] Merged revisions 261735 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r261735 | jpeeler | 2010-05-06 15:10:59 -0500 (Thu, 06 May 2010) | 8 lines

  Only allow the operator key to be accepted after leaving a voicemail.

  Or rather disallow the operator key from being accepted when not offered,
  such as after finishing a recording from within the mailbox options menu.

  ABE-2121
  SWP-1267
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@261736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_voicemail.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index acc79a76c6..fece02aca6 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -10179,6 +10179,9 @@ static int vm_exec(struct ast_channel *chan, const char *data)
 	}
 
 	res = leave_voicemail(chan, args.argv0, &leave_options);
+	if (res == OPERATOR_EXIT) {
+		res = 0;
+	}
 
 	if (res == ERROR_LOCK_PATH) {
 		ast_log(AST_LOG_ERROR, "Could not leave voicemail. The path is already locked.\n");
@@ -12927,7 +12930,7 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
 				return 1;
 #endif
 		case '0':
-			if (!ast_test_flag(vmu, VM_OPERATOR)) {
+			if (!ast_test_flag(vmu, VM_OPERATOR) || !outsidecaller) {
 				cmd = ast_play_and_wait(chan, "vm-sorry");
 				break;
 			}
-- 
GitLab