summaryrefslogtreecommitdiff
path: root/funcs/func_callerid.c
diff options
context:
space:
mode:
Diffstat (limited to 'funcs/func_callerid.c')
-rw-r--r--funcs/func_callerid.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/funcs/func_callerid.c b/funcs/func_callerid.c
index 3e9e74e0a..3de69950e 100644
--- a/funcs/func_callerid.c
+++ b/funcs/func_callerid.c
@@ -209,8 +209,8 @@ static int callerid_read(struct ast_channel *chan, const char *cmd, char *data,
}
}
} else if (!strncasecmp("rdnis", data, 5)) {
- if (chan->cid.cid_rdnis) {
- ast_copy_string(buf, chan->cid.cid_rdnis, len);
+ if (chan->redirecting.from.number) {
+ ast_copy_string(buf, chan->redirecting.from.number, len);
}
} else if (!strncasecmp("pres", data, 4)) {
ast_copy_string(buf, ast_named_caller_presentation(chan->cid.cid_pres), len);
@@ -311,10 +311,8 @@ static int callerid_write(struct ast_channel *chan, const char *cmd, char *data,
ast_channel_unlock(chan);
} else if (!strncasecmp("rdnis", data, 5)) {
ast_channel_lock(chan);
- if (chan->cid.cid_rdnis) {
- ast_free(chan->cid.cid_rdnis);
- }
- chan->cid.cid_rdnis = ast_strdup(value);
+ ast_free(chan->redirecting.from.number);
+ chan->redirecting.from.number = ast_strdup(value);
if (chan->cdr) {
ast_cdr_setcid(chan->cdr, chan);
}