diff options
-rw-r--r-- | main/channel_internal_api.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/main/channel_internal_api.c b/main/channel_internal_api.c index b91e2e253..ced162884 100644 --- a/main/channel_internal_api.c +++ b/main/channel_internal_api.c @@ -43,6 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/data.h" #include "asterisk/indications.h" #include "asterisk/channel_internal.h" +#include "asterisk/test.h" /*! * \brief Main Channel structure associated with a channel. @@ -846,20 +847,28 @@ struct ast_callid *ast_channel_callid(const struct ast_channel *chan) } void ast_channel_callid_set(struct ast_channel *chan, struct ast_callid *callid) { + char call_identifier_from[AST_CALLID_BUFFER_LENGTH]; + char call_identifier_to[AST_CALLID_BUFFER_LENGTH]; + call_identifier_from[0] = '\0'; + ast_callid_strnprint(call_identifier_to, sizeof(call_identifier_to), callid); if (chan->callid) { - - if ((option_debug >= 3) || (ast_opt_dbg_module && ast_debug_get_by_module(AST_MODULE) >= 3)) { - char call_identifier_from[AST_CALLID_BUFFER_LENGTH]; - char call_identifier_to[AST_CALLID_BUFFER_LENGTH]; - ast_callid_strnprint(call_identifier_from, sizeof(call_identifier_from), chan->callid); - ast_callid_strnprint(call_identifier_to, sizeof(call_identifier_to), callid); - ast_log(LOG_DEBUG, "Channel Call ID changing from %s to %s\n", call_identifier_from, call_identifier_to); - } - + ast_callid_strnprint(call_identifier_from, sizeof(call_identifier_from), chan->callid); + ast_debug(3, "Channel Call ID changing from %s to %s\n", call_identifier_from, call_identifier_to); /* unbind if already set */ ast_callid_unref(chan->callid); } + chan->callid = ast_callid_ref(callid); + + ast_test_suite_event_notify("CallIDChange", + "State: CallIDChange\r\n" + "Channel: %s\r\n" + "CallID: %s\r\n" + "PriorCallID: %s\r\n", + ast_channel_name(chan), + call_identifier_to, + call_identifier_from); + } void ast_channel_state_set(struct ast_channel *chan, enum ast_channel_state value) { |