summaryrefslogtreecommitdiff
path: root/channel.c
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-11-01 21:11:57 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-11-01 21:11:57 +0000
commitb05e64ed12fdf0c73938d517c7d09f17911d6226 (patch)
tree9174292f27151eeb3b58254ab97faf9e9063b7f4 /channel.c
parent631ee6670c27e190c65541d2e8ad0be4d1d01e3a (diff)
issue #5564
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6935 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channel.c')
-rwxr-xr-xchannel.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/channel.c b/channel.c
index b67dc707a..e2448436a 100755
--- a/channel.c
+++ b/channel.c
@@ -2355,8 +2355,12 @@ struct ast_channel *__ast_request_and_dial(const char *type, int format, void *d
chan = ast_request(type, format, data, &cause);
if (chan) {
if (oh) {
- ast_set_variables(chan, oh->vars);
- ast_set_callerid(chan, oh->cid_num, oh->cid_name, oh->cid_num);
+ if (oh->vars)
+ ast_set_variables(chan, oh->vars);
+ if (oh->cid_num && *oh->cid_num && oh->cid_name && *oh->cid_name)
+ ast_set_callerid(chan, oh->cid_num, oh->cid_name, oh->cid_num);
+ if (oh->parent_channel)
+ ast_channel_inherit_variables(oh->parent_channel, chan);
}
ast_set_callerid(chan, cid_num, cid_name, cid_num);