aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xapps/app_dial.c2
-rwxr-xr-xchannels/chan_zap.c1
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);