diff options
Diffstat (limited to 'apps/app_dial.c')
-rw-r--r-- | apps/app_dial.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index 323647834..a585cfaa9 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1189,7 +1189,10 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags ast_copy_string(tmp->chan->dialcontext, chan->macrocontext, sizeof(tmp->chan->dialcontext)); else ast_copy_string(tmp->chan->dialcontext, chan->context, sizeof(tmp->chan->dialcontext)); - ast_copy_string(tmp->chan->exten, chan->exten, sizeof(tmp->chan->exten)); + if (!ast_strlen_zero(chan->macroexten)) + ast_copy_string(tmp->chan->exten, chan->macroexten, sizeof(tmp->chan->exten)); + else + ast_copy_string(tmp->chan->exten, chan->exten, sizeof(tmp->chan->exten)); /* Place the call, but don't wait on the answer */ res = ast_call(tmp->chan, numsubst, 0); |