diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-10-03 20:44:22 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-10-03 20:44:22 +0000 |
commit | 56652203ad96893ce1fe199a42476fda4e0d1067 (patch) | |
tree | 91e60412eb8d0c7874ce35a0e408e1e003d1a788 /res | |
parent | 6bd68a1eb509eb5d1bc37f77296819a10bca9062 (diff) |
(closes issue #13425)
Reported by: mdu113
Tested by: mdu113
Similar to r143204, masquerade the channel in the case of Park being called from AGI.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@146129 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r-- | res/res_agi.c | 6 | ||||
-rw-r--r-- | res/res_features.c | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/res/res_agi.c b/res/res_agi.c index 20bb9331b..a60155087 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -64,6 +64,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/lock.h" #include "asterisk/strings.h" #include "asterisk/agi.h" +#include "asterisk/features.h" #define MAX_ARGS 128 #define MAX_COMMANDS 128 @@ -1110,6 +1111,9 @@ static int handle_exec(struct ast_channel *chan, AGI *agi, int argc, char **argv app = pbx_findapp(argv[1]); if (app) { + if(!strcasecmp(argv[1], PARK_APP_NAME)) { + ast_masq_park_call(chan, NULL, 0, NULL); + } res = pbx_exec(chan, app, argv[2]); } else { ast_log(LOG_WARNING, "Could not find application (%s)\n", argv[1]); @@ -2035,7 +2039,7 @@ static int agi_exec_full(struct ast_channel *chan, void *data, int enhanced, int int fds[2]; int efd = -1; int pid; - char *stringp; + char *stringp; AGI agi; if (ast_strlen_zero(data)) { diff --git a/res/res_features.c b/res/res_features.c index ce9b1d717..491ee4026 100644 --- a/res/res_features.c +++ b/res/res_features.c @@ -118,7 +118,7 @@ static char *descrip = "ParkedCall(exten):" "into the dialplan, although you should include the 'parkedcalls'\n" "context.\n"; -static char *parkcall = "Park"; +static char *parkcall = PARK_APP_NAME; static char *synopsis2 = "Park yourself"; @@ -565,7 +565,7 @@ static void set_peers(struct ast_channel **caller, struct ast_channel **callee, static int builtin_parkcall(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense, void *data) { struct ast_channel *parker; - struct ast_channel *parkee; + struct ast_channel *parkee; int res = 0; struct ast_module_user *u; |