diff options
-rwxr-xr-x | apps/app_dial.c | 2 | ||||
-rwxr-xr-x | channels/chan_zap.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c index eeb9a97e5..04ea18b00 100755 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -839,6 +839,8 @@ static int dial_exec(struct ast_channel *chan, void *data) tmp->chan->cdrflags = chan->cdrflags; if (ast_strlen_zero(tmp->chan->musicclass)) strncpy(tmp->chan->musicclass, chan->musicclass, sizeof(tmp->chan->musicclass) - 1); + if (chan->cid.cid_rdnis) + tmp->chan->cid.cid_rdnis = strdup(chan->cid.cid_rdnis); /* Pass callingpres setting */ tmp->chan->cid.cid_pres = chan->cid.cid_pres; /* Pass type of number */ diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 78233ab84..b544addcd 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -1777,6 +1777,7 @@ static int zt_call(struct ast_channel *ast, char *rdest, int timeout) pri_sr_set_caller(sr, l, n, p->pri->localdialplan - 1, l ? (p->use_callingpres ? ast->cid.cid_pres : PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN) : PRES_NUMBER_NOT_AVAILABLE); + pri_sr_set_redirecting(sr, ast->cid.cid_rdnis, p->pri->localdialplan - 1, PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN, PRI_REDIR_UNCONDITIONAL); if (pri_setup(p->pri->pri, p->call, sr)) { ast_log(LOG_WARNING, "Unable to setup call to %s\n", c + p->stripmsd); pri_rel(p->pri); |