aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-31 23:34:22 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-31 23:34:22 +0000
commita28cc1eebd1dd3d640d5d902196c363462f5dde6 (patch)
tree0d2a88b03f8c5281247a228fdd7ab275c9642faf
parent5c5a72cc80723f308fbd4aebd5ed1bbcde1c04d6 (diff)
Pass redirecting number on PRI calls (bug #2763)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4134 f38db490-d61c-443f-a65b-d21fe96a405b
-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);