summaryrefslogtreecommitdiff
path: root/main/channel.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2012-02-27 23:42:12 +0000
committerRichard Mudgett <rmudgett@digium.com>2012-02-27 23:42:12 +0000
commit890717f3052c9715e1ac6be08d9e5d77b55892be (patch)
treee513ffee0d017688c78d2b8a334d3021b33d5169 /main/channel.c
parente37631d0713924e04f5e0417fdcf6297f2e1560b (diff)
Fix callerid of Originated calls.
Thanks to Matt Riddell for tracking this down. (closes issue ASTERISK-19385) Reported by: ornix ........ Merged revisions 357093 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 357095 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/main/channel.c b/main/channel.c
index f4717cc3d..3ec6ac4f3 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -5371,6 +5371,16 @@ struct ast_channel *__ast_request_and_dial(const char *type, struct ast_format_c
}
}
+ /*
+ * I seems strange to set the CallerID on an outgoing call leg
+ * to whom we are calling, but this function's callers are doing
+ * various Originate methods. This call leg goes to the local
+ * user. Once the local user answers, the dialplan needs to be
+ * able to access the CallerID from the CALLERID function as if
+ * the local user had placed this call.
+ */
+ ast_set_callerid(chan, cid_num, cid_name, cid_num);
+
ast_set_flag(ast_channel_cdr(chan), AST_CDR_FLAG_ORIGINATED);
ast_party_connected_line_set_init(&connected, &chan->connected);
if (cid_num) {