aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_dial.c
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2009-01-09 00:13:12 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2009-01-09 00:13:12 +0000
commite25268ff2796830411eba28c27fca56ea4e61178 (patch)
tree8945a8f0f0f21d877568f162ba673111e6e39055 /apps/app_dial.c
parentcd081b854580da4ca5590890976c371e6269ea56 (diff)
Set peer context and exten values so MACRO_EXTEN and MACRO_CONTEXT will be set
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@167935 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r--apps/app_dial.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index f59aeb4ec..1da4c8b5f 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -1991,6 +1991,10 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
theapp = pbx_findapp("Macro");
if (theapp && !res) { /* XXX why check res here ? */
+ /* Set peer->exten and peer->context so that MACRO_EXTEN and MACRO_CONTEXT get set */
+ ast_copy_string(peer->context, chan->context, sizeof(peer->context));
+ ast_copy_string(peer->exten, chan->exten, sizeof(peer->exten));
+
replace_macro_delimiter(opt_args[OPT_ARG_CALLEE_MACRO]);
res = pbx_exec(peer, theapp, opt_args[OPT_ARG_CALLEE_MACRO]);
ast_debug(1, "Macro exited with status %d\n", res);