From 2b174a38fee8a7dbcd881b64ac33adb4177b53bb Mon Sep 17 00:00:00 2001
From: Naveen Albert <asterisk@phreaknet.org>
Date: Thu, 10 Jun 2021 10:34:53 -0400
Subject: [PATCH] pbx_builtins: Corrects SayNumber warning

Previously, SayNumber always emitted a warning if the caller hung up
during execution. Usually this isn't correct, so check if the channel
hung up and, if so, don't emit a warning.

ASTERISK-29475

Change-Id: Ieea4a67301c6ea83bbc7690c1d4808d79a704594
---
 main/pbx_builtins.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/main/pbx_builtins.c b/main/pbx_builtins.c
index 7f76b97765..e3703382f7 100644
--- a/main/pbx_builtins.c
+++ b/main/pbx_builtins.c
@@ -1299,7 +1299,7 @@ static int pbx_builtin_saynumber(struct ast_channel *chan, const char *data)
 
 	res = ast_say_number(chan, number_val, interrupt ? AST_DIGIT_ANY : "", ast_channel_language(chan), options);
 
-	if (res < 0) {
+	if (res < 0 && !ast_check_hangup_locked(chan)) {
 		ast_log(LOG_WARNING, "We were unable to say the number %s, is it too large?\n", tmp);
 	}
 
-- 
GitLab