pbx.c: when set flag AST_SOFTHANGUP_ASYNCGOTO, ast_explicit_goto should return -1.

Under certain circumstances the context/extens/prio are set in the ast_async_goto, for example action Redirect.
In the situation that action Redirect is broken by GotoIf this info is changed.
that will causes confusion in dialplan execution.

Resolves: #1273
(cherry picked from commit bf9a6d80f8)
This commit is contained in:
Tinet-mucw
2025-06-18 19:34:56 -07:00
committed by Asterisk Development Team
parent 7f43577f64
commit 472db39bd3
2 changed files with 7 additions and 0 deletions

View File

@@ -6964,6 +6964,10 @@ int ast_explicit_goto(struct ast_channel *chan, const char *context, const char
ast_channel_lock(chan);
if (ast_channel_softhangup_internal_flag(chan) & AST_SOFTHANGUP_ASYNCGOTO) {
ast_channel_unlock(chan);
return -1;
}
if (!ast_strlen_zero(context))
ast_channel_context_set(chan, context);
if (!ast_strlen_zero(exten))