Fix callerid of Originated calls.
[asterisk/asterisk.git] / main / channel.c
index f4717cc..3ec6ac4 100644 (file)
@@ -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) {