From 169b74c313a4619086f96e32823d3b90a9bdbb20 Mon Sep 17 00:00:00 2001
From: Tilghman Lesher <tilghman@meg.abyt.es>
Date: Wed, 23 Dec 2009 18:25:27 +0000
Subject: [PATCH] AGI may be invoked from outside the dialplan (closes issue
 #16510)  Reported by: atis  Patches:        20091223__issue16510.diff.txt
 uploaded by tilghman (license 14)  Tested by: atis

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

diff --git a/apps/app_stack.c b/apps/app_stack.c
index 5ee22e5a6d..08246d18af 100644
--- a/apps/app_stack.c
+++ b/apps/app_stack.c
@@ -605,12 +605,12 @@ static int handle_gosub(struct ast_channel *chan, AGI *agi, int argc, const char
 	 * call a Gosub for the CALLEE channel in Dial or Queue.
 	 */
 	if (argc == 5) {
-		if (asprintf(&gosub_args, "%s,%s,%d(%s)", argv[1], argv[2], priority + 1, argv[4]) < 0) {
+		if (asprintf(&gosub_args, "%s,%s,%d(%s)", argv[1], argv[2], priority + (chan->pbx ? 1 : 0), argv[4]) < 0) {
 			ast_log(LOG_WARNING, "asprintf() failed: %s\n", strerror(errno));
 			gosub_args = NULL;
 		}
 	} else {
-		if (asprintf(&gosub_args, "%s,%s,%d", argv[1], argv[2], priority + 1) < 0) {
+		if (asprintf(&gosub_args, "%s,%s,%d", argv[1], argv[2], priority + (chan->pbx ? 1 : 0)) < 0) {
 			ast_log(LOG_WARNING, "asprintf() failed: %s\n", strerror(errno));
 			gosub_args = NULL;
 		}
-- 
GitLab