aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/app_dial.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index 47fdc5b79..178cd279a 100644
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -1393,7 +1393,10 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
ast_app_group_set_channel(tc, outbound_group);
/* Inherit context and extension */
- ast_copy_string(tc->dialcontext, chan->context, sizeof(tc->dialcontext));
+ if (!ast_strlen_zero(chan->macrocontext))
+ ast_copy_string(tc->dialcontext, chan->macrocontext, sizeof(tc->dialcontext));
+ else
+ ast_copy_string(tc->dialcontext, chan->context, sizeof(tc->dialcontext));
ast_copy_string(tc->exten, chan->exten, sizeof(tc->exten));
res = ast_call(tc, numsubst, 0); /* Place the call, but don't wait on the answer */