[Freeswitch-dev] [POST-1.0.2][RFC][V2 PATCH 0/2] Fine-grained logging: per-session logging
Hi again, This is the reworked patch series to add per-session logging to the FreeSWITCH core. Changes since V1: - Reworked based on second proposed method and feedback by Anthony - Most / all of mod_sofia has been converted to the new system (Needs a review, not sure if all of these changes are OK) Both patches are compile tested (only). Stefan Stefan Knoblich (2): Session log level #1: core support Session log level #2: convert mod_sofia as an example src/include/private/switch_core_pvt.h | 1 + src/include/switch_core.h | 15 +++ src/include/switch_types.h | 5 +- src/mod/applications/mod_commands/mod_commands.c | 37 ++++++ src/mod/applications/mod_dptools/mod_dptools.c | 19 +++ src/mod/endpoints/mod_sofia/mod_sofia.c | 74 ++++++------ src/mod/endpoints/mod_sofia/sofia.c | 96 ++++++++-------- src/mod/endpoints/mod_sofia/sofia_glue.c | 132 +++++++++++----------- src/switch_core_session.c | 15 +++ src/switch_log.c | 24 ++++- 10 files changed, 263 insertions(+), 155 deletions(-)
Both patches are also available via http: http://oss.axsentis.de/people/stkn/freeswitch/fs-r10758-session_loglevel-V2.... http://oss.axsentis.de/people/stkn/freeswitch/fs-r10758-session_loglevel-con...
--- src/include/private/switch_core_pvt.h | 1 + src/include/switch_core.h | 15 +++++++++ src/include/switch_types.h | 5 ++- src/mod/applications/mod_commands/mod_commands.c | 37 ++++++++++++++++++++++ src/mod/applications/mod_dptools/mod_dptools.c | 19 +++++++++++ src/switch_core_session.c | 15 +++++++++ src/switch_log.c | 24 ++++++++++++-- 7 files changed, 112 insertions(+), 4 deletions(-) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index 040a6ec..c3b9fc2 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -98,6 +98,7 @@ struct switch_core_session { switch_size_t id; switch_session_flag_t flags; int thread_running; + switch_log_level_t log_level; switch_channel_t *channel; switch_io_event_hooks_t event_hooks; diff --git a/src/include/switch_core.h b/src/include/switch_core.h index 7670435..89ffbf3 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -729,6 +729,21 @@ SWITCH_DECLARE(void *) switch_core_session_get_private(_In_ switch_core_session_ SWITCH_DECLARE(switch_status_t) switch_core_session_set_private(_In_ switch_core_session_t *session, _In_ void *private_info); /*! + \brief Set session loglevel + \param session the session + \param loglevel the desired loglevel + \return SWITCH_STATUS_SUCCESS on success +*/ +SWITCH_DECLARE(switch_status_t) switch_core_session_set_loglevel(_In_ switch_core_session_t *session, _In_ switch_log_level_t loglevel); + +/*! + \brief Get session loglevel + \param session the session + \return the loglevel +*/ +SWITCH_DECLARE(switch_log_level_t) switch_core_session_get_loglevel(_In_ switch_core_session_t *session); + +/*! \brief Add a logical stream to a session \param session the session to add the stream to \param private_info an optional pointer to private data for the new stream diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 4eca73a..415d8cc 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -678,7 +678,8 @@ SWITCH_CHANNEL_ID_EVENT - Write to the event engine as a LOG event typedef enum { SWITCH_CHANNEL_ID_LOG, SWITCH_CHANNEL_ID_LOG_CLEAN, - SWITCH_CHANNEL_ID_EVENT + SWITCH_CHANNEL_ID_EVENT, + SWITCH_SESSION_ID_LOG, } switch_text_channel_t; typedef enum { @@ -692,6 +693,8 @@ typedef uint32_t switch_core_session_message_flag_t; #define SWITCH_CHANNEL_LOG_CLEAN SWITCH_CHANNEL_ID_LOG_CLEAN, __FILE__, __SWITCH_FUNC__, __LINE__, NULL #define SWITCH_CHANNEL_EVENT SWITCH_CHANNEL_ID_EVENT, __FILE__, __SWITCH_FUNC__, __LINE__, NULL +#define SWITCH_SESSION_LOG(session) SWITCH_SESSION_ID_LOG, __FILE__, __SWITCH_FUNC__, __LINE__, (char *)session + /*! \enum switch_channel_state_t \brief Channel States (these are the defaults, CS_SOFT_EXECUTE, CS_EXCHANGE_MEDIA, and CS_CONSUME_MEDIA are often overridden by specific apps) diff --git a/src/mod/applications/mod_commands/mod_commands.c b/src/mod/applications/mod_commands/mod_commands.c index 677c5fa..52fd2e2 100644 --- a/src/mod/applications/mod_commands/mod_commands.c +++ b/src/mod/applications/mod_commands/mod_commands.c @@ -1296,6 +1296,41 @@ SWITCH_STANDARD_API(uuid_deflect) return SWITCH_STATUS_SUCCESS; } +#define UUID_LOGLEVEL_SYNTAX "<uuid> <level>" +SWITCH_STANDARD_API(uuid_loglevel) +{ + switch_core_session_t *tsession = NULL; + char *uuid = NULL, *text = NULL; + + if (!switch_strlen_zero(cmd) && (uuid = strdup(cmd))) { + if ((text = strchr(uuid, ' '))) { + *text++ = '\0'; + } + } + + if (switch_strlen_zero(uuid) || switch_strlen_zero(text)) { + stream->write_function(stream, "-USAGE: %s\n", UUID_LOGLEVEL_SYNTAX); + } else { + switch_log_level_t level = switch_log_str2level(text); + + if (level == SWITCH_LOG_INVALID) { + stream->write_function(stream, "-ERR Invalid log level!\n"); + } + else if ((tsession = switch_core_session_locate(uuid))) { + + switch_core_session_set_loglevel(tsession, level); + stream->write_function(stream, "+OK\n"); + switch_core_session_rwunlock(tsession); + } + else { + stream->write_function(stream, "-ERR No Such Channel %s!\n", uuid); + } + } + + switch_safe_free(uuid); + return SWITCH_STATUS_SUCCESS; +} + #define SCHED_TRANSFER_SYNTAX "[+]<time> <uuid> <extension> [<dialplan>] [<context>]" SWITCH_STANDARD_API(sched_transfer_function) { @@ -3148,6 +3183,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_commands_load) SWITCH_ADD_API(commands_api_interface, "system", "Execute a system command", system_function, SYSTEM_SYNTAX); SWITCH_ADD_API(commands_api_interface, "time_test", "time_test", time_test_function, "<mss>"); + SWITCH_ADD_API(commands_api_interface, "uuid_loglevel", "set loglevel on session", uuid_loglevel, UUID_LOGLEVEL_SYNTAX); + /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_NOUNLOAD; } diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c index 52fc3e9..70d3ebd 100644 --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -1648,6 +1648,23 @@ SWITCH_STANDARD_APP(phrase_function) } } +#define SESSION_LOGLEVEL_SYNTAX "<level>" +SWITCH_STANDARD_APP(session_loglevel_function) +{ + if (!switch_strlen_zero(data)) { + switch_log_level_t level = switch_log_str2level(data); + + if (level == SWITCH_LOG_INVALID) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid log level: %s\n", data); + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setting log level \"%s\" on session\n", switch_log_level2str(level)); + switch_core_session_set_loglevel(session, level); + } + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No log level specified\n"); + } +} + SWITCH_STANDARD_APP(playback_function) { @@ -2428,6 +2445,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_dptools_load) SWITCH_ADD_APP(app_interface, "wait_for_silence", "wait_for_silence", "wait_for_silence", wait_for_silence_function, WAIT_FOR_SILENCE_SYNTAX, SAF_NONE); + SWITCH_ADD_APP(app_interface, "session_loglevel", "session_loglevel", "session_loglevel", session_loglevel_function, SESSION_LOGLEVEL_SYNTAX, SAF_NONE); + SWITCH_ADD_DIALPLAN(dp_interface, "inline", inline_dialplan_hunt); /* indicate that the module should continue to be loaded */ diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 58f3853..63e80cf 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -221,6 +221,19 @@ SWITCH_DECLARE(int) switch_core_session_get_stream_count(switch_core_session_t * return session->stream_count; } +SWITCH_DECLARE(switch_status_t) switch_core_session_set_loglevel(switch_core_session_t *session, switch_log_level_t log_level) +{ + switch_assert(session != NULL); + session->log_level = log_level; + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_DECLARE(switch_log_level_t) switch_core_session_get_loglevel(switch_core_session_t *session) +{ + switch_assert(session != NULL); + return session->log_level; +} + SWITCH_DECLARE(switch_call_cause_t) switch_core_session_resurrect_channel(const char *endpoint_name, switch_core_session_t **new_session, switch_memory_pool_t **pool, void *data) { @@ -1090,6 +1103,8 @@ SWITCH_DECLARE(switch_core_session_t *) switch_core_session_request_uuid(switch_ switch_uuid_format(session->uuid_str, &uuid); } + session->log_level = runtime.hard_log_level; + session->endpoint_interface = endpoint_interface; session->raw_write_frame.data = session->raw_write_buf; session->raw_write_frame.buflen = sizeof(session->raw_write_buf); diff --git a/src/switch_log.c b/src/switch_log.c index 4804f6d..1cea7c4 100644 --- a/src/switch_log.c +++ b/src/switch_log.c @@ -248,12 +248,30 @@ SWITCH_DECLARE(void) switch_log_printf(switch_text_channel_t channel, const char switch_time_t now = switch_timestamp_now(); uint32_t len; const char *extra_fmt = "%s [%s] %s:%d %s()%c%s"; + switch_log_level_t level_limit = runtime.hard_log_level; - if (level > runtime.hard_log_level) { - return; + switch_assert(level < SWITCH_LOG_INVALID); + + /* + * Special-case (no pun intended) handling for extensions + */ + switch (channel) { + case SWITCH_SESSION_ID_LOG: + { + switch_core_session_t *session = (switch_core_session_t *)userdata; + switch_assert(session != NULL); + + level_limit = session->log_level; + } + break; + + default: + break; } - switch_assert(level < SWITCH_LOG_INVALID); + if (level > level_limit) { + return; + } va_start(ap, fmt); -- 1.5.6.4
--- src/mod/endpoints/mod_sofia/mod_sofia.c | 74 ++++++++-------- src/mod/endpoints/mod_sofia/sofia.c | 96 +++++++++++----------- src/mod/endpoints/mod_sofia/sofia_glue.c | 132 +++++++++++++++--------------- 3 files changed, 151 insertions(+), 151 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index 86f4d55..e0723ed 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -80,7 +80,7 @@ static switch_status_t sofia_on_init(switch_core_session_t *session) tech_pvt->read_frame.buflen = SWITCH_RTP_MAX_BUF_LEN; switch_mutex_lock(tech_pvt->sofia_mutex); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA INIT\n", switch_channel_get_name(channel)); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s SOFIA INIT\n", switch_channel_get_name(channel)); if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { sofia_glue_tech_absorb_sdp(tech_pvt); } @@ -127,7 +127,7 @@ static switch_status_t sofia_on_routing(switch_core_session_t *session) switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA ROUTING\n", switch_channel_get_name(switch_core_session_get_channel(session))); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s SOFIA ROUTING\n", switch_channel_get_name(switch_core_session_get_channel(session))); return SWITCH_STATUS_SUCCESS; } @@ -142,7 +142,7 @@ static switch_status_t sofia_on_reset(switch_core_session_t *session) switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA RESET\n", switch_channel_get_name(switch_core_session_get_channel(session))); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s SOFIA RESET\n", switch_channel_get_name(switch_core_session_get_channel(session))); return SWITCH_STATUS_SUCCESS; } @@ -157,7 +157,7 @@ static switch_status_t sofia_on_hibernate(switch_core_session_t *session) switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA HIBERNATE\n", switch_channel_get_name(switch_core_session_get_channel(session))); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s SOFIA HIBERNATE\n", switch_channel_get_name(switch_core_session_get_channel(session))); return SWITCH_STATUS_SUCCESS; } @@ -170,7 +170,7 @@ static switch_status_t sofia_on_execute(switch_core_session_t *session) if (!switch_test_flag(tech_pvt, TFLAG_HOLD_LOCK)) { switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SOFIA EXECUTE\n", switch_channel_get_name(switch_core_session_get_channel(session))); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s SOFIA EXECUTE\n", switch_channel_get_name(switch_core_session_get_channel(session))); return SWITCH_STATUS_SUCCESS; } @@ -250,7 +250,7 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session) if (!switch_strlen_zero(ps_cause) && (!strncasecmp(ps_cause, "sip:", 4) || !strncasecmp(ps_cause, "sips:", 5))) { int new_cause = atoi(sofia_glue_strip_proto(ps_cause)); if (new_cause) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Overriding SIP cause %d with %d from the other leg\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s Overriding SIP cause %d with %d from the other leg\n", switch_channel_get_name(channel), sip_cause, new_cause); sip_cause = new_cause; } @@ -284,7 +284,7 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session) sofia_glue_deactivate_rtp(tech_pvt); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel %s hanging up, cause: %s\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Channel %s hanging up, cause: %s\n", switch_channel_get_name(channel), switch_channel_cause2str(cause)); if (tech_pvt->hash_key) { @@ -341,14 +341,14 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session) if (!tech_pvt->got_bye) { switch_channel_set_variable(channel, "sip_hangup_disposition", "send_bye"); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending BYE to %s\n", switch_channel_get_name(channel)); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Sending BYE to %s\n", switch_channel_get_name(channel)); nua_bye(tech_pvt->nh, SIPTAG_REASON_STR(reason), TAG_IF(!switch_strlen_zero(bye_headers), SIPTAG_HEADER_STR(bye_headers)), TAG_END()); } else { if (switch_test_flag(tech_pvt, TFLAG_OUTBOUND)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending CANCEL to %s\n", switch_channel_get_name(channel)); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Sending CANCEL to %s\n", switch_channel_get_name(channel)); if (!tech_pvt->got_bye) { switch_channel_set_variable(channel, "sip_hangup_disposition", "send_cancel"); } @@ -358,7 +358,7 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session) TAG_IF(!switch_strlen_zero(bye_headers), SIPTAG_HEADER_STR(bye_headers)), TAG_END()); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Responding to INVITE with: %d\n", sip_cause); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Responding to INVITE with: %d\n", sip_cause); if (!tech_pvt->got_bye) { switch_channel_set_variable(channel, "sip_hangup_disposition", "send_refuse"); } @@ -400,13 +400,13 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session) static switch_status_t sofia_on_exchange_media(switch_core_session_t *session) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SOFIA LOOPBACK\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "SOFIA LOOPBACK\n"); return SWITCH_STATUS_SUCCESS; } static switch_status_t sofia_on_soft_execute(switch_core_session_t *session) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SOFIA TRANSMIT\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "SOFIA TRANSMIT\n"); return SWITCH_STATUS_SUCCESS; } @@ -447,7 +447,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session) SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_REUSE_REJECTED(1), SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), NUTAG_INCLUDE_EXTRA_SDP(1), TAG_END()); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "3PCC-PROXY, Sent a 200 OK, waiting for ACK\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "3PCC-PROXY, Sent a 200 OK, waiting for ACK\n"); /* Unlock the session signal to allow the ack to make it in */ // Maybe we should timeout? @@ -460,14 +460,14 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session) /* Regain lock on sofia */ switch_mutex_lock(tech_pvt->sofia_mutex); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "3PCC-PROXY, Done waiting for ACK\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "3PCC-PROXY, Done waiting for ACK\n"); } if ((is_proxy && !b_sdp) || switch_test_flag(tech_pvt, TFLAG_LATE_NEGOTIATION) || !tech_pvt->iananame) { switch_clear_flag_locked(tech_pvt, TFLAG_LATE_NEGOTIATION); if (is_proxy) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Disabling proxy mode due to call answer with no bridge\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Disabling proxy mode due to call answer with no bridge\n"); switch_channel_clear_flag(channel, CF_PROXY_MEDIA); switch_channel_clear_flag(channel, CF_PROXY_MODE); } @@ -499,7 +499,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session) if (tech_pvt->nh) { if (tech_pvt->local_sdp_str) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Local SDP %s:\n%s\n", switch_channel_get_name(channel), tech_pvt->local_sdp_str); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Local SDP %s:\n%s\n", switch_channel_get_name(channel), tech_pvt->local_sdp_str); } } } @@ -731,7 +731,7 @@ static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_f int rtp_hold_timeout_sec = 0; tech_pvt->codec_ms = codec_ms; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Changing codec ptime to %d. I bet you have a linksys/sipura =D\n", tech_pvt->codec_ms); switch_core_codec_destroy(&tech_pvt->read_codec); switch_core_codec_destroy(&tech_pvt->write_codec); @@ -937,7 +937,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi switch (msg->message_id) { case SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY: if (tech_pvt->rtp_session && switch_rtp_test_flag(tech_pvt->rtp_session, SWITCH_RTP_FLAG_PASS_RFC2833)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot pass 2833 on a transcoded call.\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Cannot pass 2833 on a transcoded call.\n"); switch_rtp_clear_flag(tech_pvt->rtp_session, SWITCH_RTP_FLAG_PASS_RFC2833); } goto end; @@ -1035,7 +1035,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi case SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT: { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending media re-direct:\n%s\n", msg->string_arg); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Sending media re-direct:\n%s\n", msg->string_arg); tech_pvt->local_sdp_str = switch_core_session_strdup(session, msg->string_arg); switch_set_flag_locked(tech_pvt, TFLAG_SENT_UPDATE); sofia_glue_do_invite(session); @@ -1111,11 +1111,11 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi case SWITCH_MESSAGE_INDICATE_REDIRECT: if (!switch_strlen_zero(msg->string_arg)) { if (!switch_channel_test_flag(channel, CF_ANSWERED)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Redirecting to %s\n", msg->string_arg); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Redirecting to %s\n", msg->string_arg); nua_respond(tech_pvt->nh, SIP_302_MOVED_TEMPORARILY, SIPTAG_CONTACT_STR(msg->string_arg), TAG_END()); switch_set_flag_locked(tech_pvt, TFLAG_BYE); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Too late for redirecting to %s, already answered\n", msg->string_arg); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Too late for redirecting to %s, already answered\n", msg->string_arg); } } break; @@ -1178,7 +1178,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi if (switch_strlen_zero(to_host)) { to_host = switch_channel_get_variable(channel, "sip_to_host"); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Challenging call %s\n", to_uri); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Challenging call %s\n", to_uri); sofia_reg_auth_challenge(NULL, tech_pvt->profile, tech_pvt->nh, REG_INVITE, to_host, 0); switch_channel_hangup(channel, SWITCH_CAUSE_USER_CHALLENGE); } else if (code == 484 && msg->numeric_arg) { @@ -1195,7 +1195,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi } } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Overlap Dial with %d %s\n", code, reason); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Overlap Dial with %d %s\n", code, reason); nua_respond(tech_pvt->nh, code, su_strdup(tech_pvt->nh->nh_home, reason), TAG_IF(to_uri, SIPTAG_CONTACT_STR(to_uri)), SIPTAG_SUPPORTED_STR(NULL), SIPTAG_ACCEPT_STR(NULL), TAG_IF(!switch_strlen_zero(max_forwards), SIPTAG_MAX_FORWARDS_STR(max_forwards)), TAG_END()); @@ -1210,7 +1210,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi switch_core_session_receive_message(session, msg); goto end_lock; } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Responding with %d [%s]\n", code, reason); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Responding with %d [%s]\n", code, reason); if (!switch_strlen_zero(((char *) msg->pointer_arg))) { tech_pvt->local_sdp_str = switch_core_session_strdup(tech_pvt->session, (char *) msg->pointer_arg); @@ -1250,7 +1250,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi if (!switch_test_flag(tech_pvt, TFLAG_ANS) && !switch_test_flag(tech_pvt, TFLAG_EARLY_MEDIA)) { switch_set_flag_locked(tech_pvt, TFLAG_EARLY_MEDIA); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Asked to send early media by %s\n", msg->from); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_INFO, "Asked to send early media by %s\n", msg->from); /* Transmit 183 Progress with SDP */ if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA)) { @@ -1291,7 +1291,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } if (tech_pvt->local_sdp_str) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Ring SDP:\n%s\n", tech_pvt->local_sdp_str); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_INFO, "Ring SDP:\n%s\n", tech_pvt->local_sdp_str); } } switch_channel_mark_pre_answered(channel); @@ -2284,7 +2284,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session } if (!(tech_pvt = (struct private_object *) switch_core_session_alloc(nsession, sizeof(*tech_pvt)))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Error Creating Session\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_CRIT, "Error Creating Session\n"); goto error; } switch_mutex_init(&tech_pvt->flag_mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(nsession)); @@ -2303,7 +2303,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session sofia_gateway_t *gateway_ptr = NULL; if (!(gw = strchr(profile_name, '/'))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid URL\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid URL\n"); cause = SWITCH_CAUSE_INVALID_NUMBER_FORMAT; goto error; } @@ -2311,7 +2311,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session *gw++ = '\0'; if (!(dest = strchr(gw, '/'))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid URL\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid URL\n"); cause = SWITCH_CAUSE_INVALID_NUMBER_FORMAT; goto error; } @@ -2319,13 +2319,13 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session *dest++ = '\0'; if (!(gateway_ptr = sofia_reg_find_gateway(gw))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Gateway\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid Gateway\n"); cause = SWITCH_CAUSE_INVALID_NUMBER_FORMAT; goto error; } if (gateway_ptr->status != SOFIA_GATEWAY_UP) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Gateway is down!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Gateway is down!\n"); cause = SWITCH_CAUSE_NETWORK_OUT_OF_ORDER; sofia_reg_release_gateway(gateway_ptr); gateway_ptr = NULL; @@ -2357,7 +2357,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session } if (tech_pvt->transport != gateway_ptr->register_transport) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "You are trying to use a different transport type for this gateway (overriding the register-transport), this is unsupported!\n"); cause = SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; goto error; @@ -2386,7 +2386,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session if (gateway_ptr->vars) { switch_event_header_t *hp; for(hp = gateway_ptr->vars->headers; hp; hp = hp->next) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s setting variable [%s]=[%s]\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s setting variable [%s]=[%s]\n", switch_channel_get_name(nchannel), hp->name, hp->value); switch_channel_set_variable(nchannel, hp->name, hp->value); } @@ -2394,14 +2394,14 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session } else { if (!(dest = strchr(profile_name, '/'))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid URL\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid URL\n"); cause = SWITCH_CAUSE_INVALID_NUMBER_FORMAT; goto error; } *dest++ = '\0'; if (!(profile = sofia_glue_find_profile(profile_name))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Profile\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid Profile\n"); cause = SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; goto error; } @@ -2421,7 +2421,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session tech_pvt->dest = switch_core_session_strdup(nsession, buf); tech_pvt->local_url = switch_core_session_sprintf(nsession, "%s@%s", dest, host); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot locate registered user %s@%s\n", dest, host); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Cannot locate registered user %s@%s\n", dest, host); cause = SWITCH_CAUSE_USER_NOT_REGISTERED; goto error; } @@ -2433,7 +2433,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session tech_pvt->local_url = switch_core_session_sprintf(nsession, "%s@%s", dest, profile_name); host = profile_name; } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot locate registered user %s@%s\n", dest, profile_name); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Cannot locate registered user %s@%s\n", dest, profile_name); cause = SWITCH_CAUSE_USER_NOT_REGISTERED; goto error; } diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index cd8c684..3817922 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -192,20 +192,20 @@ void sofia_handle_sip_i_notify(switch_core_session_t *session, int status, } if (!sofia_private || !sofia_private->gateway) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Gateway information missing Subscription Event: %s\n", sip->sip_event->o_type); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Gateway information missing Subscription Event: %s\n", sip->sip_event->o_type); goto error; } /* find the corresponding gateway subscription (if any) */ if (!(gw_sub_ptr = sofia_find_gateway_subscription(sofia_private->gateway, sip->sip_event->o_type))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Could not find gateway subscription. Gateway: %s. Subscription Event: %s\n", sofia_private->gateway->name, sip->sip_event->o_type); goto error; } if (!(gw_sub_ptr->state == SUB_STATE_SUBED || gw_sub_ptr->state == SUB_STATE_SUBSCRIBE)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Ignoring notify due to subscription state: %d\n", gw_sub_ptr->state); goto error; @@ -222,9 +222,9 @@ void sofia_handle_sip_i_notify(switch_core_session_t *session, int status, switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "profile_uri", "%s", sofia_private->gateway->profile->url); switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "gateway_name", "%s", sofia_private->gateway->name); switch_event_fire(&s_event); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "dispatched freeswitch event for message-summary NOTIFY\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "dispatched freeswitch event for message-summary NOTIFY\n"); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to create event\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Failed to create event\n"); goto error; } @@ -337,7 +337,7 @@ void sofia_event_callback(nua_event_t event, if (session) { if (channel && switch_channel_get_state(channel) >= CS_HANGUP) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel is already hungup.\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Channel is already hungup.\n"); goto done; } @@ -2325,7 +2325,7 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status sofia_glue_tech_proxy_remote_addr(tech_pvt); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Passing %d %s to other leg\n", status, phrase); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Passing %d %s to other leg\n", status, phrase); msg.message_id = SWITCH_MESSAGE_INDICATE_RESPOND; msg.from = __FILE__; @@ -2336,7 +2336,7 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status msg.pointer_arg_size = strlen(r_sdp); } if (switch_core_session_receive_message(other_session, &msg) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Other leg is not available\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Other leg is not available\n"); nua_respond(tech_pvt->nh, 403, "Hangup in progress", TAG_END()); } switch_core_session_rwunlock(other_session); @@ -2526,11 +2526,11 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, goto done; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel %s entering state [%s]\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Channel %s entering state [%s]\n", switch_channel_get_name(channel), nua_callstate_name(ss_state)); if (r_sdp) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Remote SDP:\n%s\n", r_sdp); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Remote SDP:\n%s\n", r_sdp); tech_pvt->remote_sdp_str = switch_core_session_strdup(session, r_sdp); switch_channel_set_variable(channel, SWITCH_R_SDP_VARIABLE, r_sdp); sofia_glue_pass_sdp(tech_pvt, (char *) r_sdp); @@ -2692,7 +2692,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, && (bnh = nua_handle_by_replaces(nua, replaces))) { sofia_private_t *b_private; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Processing Replaces Attended Transfer\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Processing Replaces Attended Transfer\n"); while (switch_channel_get_state(channel) < CS_EXECUTE) { switch_yield(10000); } @@ -2782,7 +2782,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, const char *var; if ((var = switch_channel_get_variable(channel, "sip_ignore_reinvites")) && switch_true(var)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Ignoring Re-invite\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Ignoring Re-invite\n"); nua_respond(tech_pvt->nh, SIP_200_OK, TAG_END()); goto done; } @@ -2836,7 +2836,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, msg.message_id = SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT; msg.from = __FILE__; msg.string_arg = (char *) r_sdp; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Passing SDP to other leg.\n%s\n", r_sdp); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Passing SDP to other leg.\n%s\n", r_sdp); if (switch_test_flag(tech_pvt, TFLAG_SIP_HOLD)) { if (!switch_stristr("sendonly", r_sdp)) { @@ -2850,12 +2850,12 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, if (switch_core_session_receive_message(other_session, &msg) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Other leg is not available\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Other leg is not available\n"); nua_respond(tech_pvt->nh, 403, "Hangup in progress", TAG_END()); } switch_core_session_rwunlock(other_session); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Re-INVITE to a no-media channel that is not in a bridge.\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Re-INVITE to a no-media channel that is not in a bridge.\n"); is_ok = 0; switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } @@ -2876,13 +2876,13 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, sofia_glue_set_local_sdp(tech_pvt, NULL, 0, NULL, 0); switch_set_flag_locked(tech_pvt, TFLAG_REINVITE); if (sofia_glue_activate_rtp(tech_pvt, 0) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Reinvite RTP Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Reinvite RTP Error!\n"); is_ok = 0; switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Processing Reinvite\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Processing Reinvite\n"); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Reinvite Codec Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Reinvite Codec Error!\n"); is_ok = 0; } } @@ -2921,7 +2921,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, if (match) { switch_set_flag_locked(tech_pvt, TFLAG_REINVITE); if (sofia_glue_activate_rtp(tech_pvt, 0) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "RTP Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "RTP Error!\n"); switch_channel_set_variable(tech_pvt->channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RTP ERROR"); is_ok = 0; } @@ -2943,13 +2943,13 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, switch_channel_clear_flag(channel, CF_REQ_MEDIA); } if (tech_pvt && nh == tech_pvt->nh2) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Cheater Reinvite!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Cheater Reinvite!\n"); switch_set_flag_locked(tech_pvt, TFLAG_REINVITE); tech_pvt->nh = tech_pvt->nh2; tech_pvt->nh2 = NULL; if (sofia_glue_tech_choose_port(tech_pvt, 0) == SWITCH_STATUS_SUCCESS) { if (sofia_glue_activate_rtp(tech_pvt, 0) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cheater Reinvite RTP Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Cheater Reinvite RTP Error!\n"); switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } } @@ -3017,14 +3017,14 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, if (sofia_glue_activate_rtp(tech_pvt, 0) == SWITCH_STATUS_SUCCESS) { switch_channel_mark_answered(channel); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "RTP Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "RTP Error!\n"); switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } if (switch_test_flag(tech_pvt, TFLAG_3PCC)) { /* Check if we are in 3PCC proxy mode, if so then set the flag to indicate we received the ack */ if (profile->pflags & PFLAG_3PCC_PROXY ) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "3PCC-PROXY, Got my ACK\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "3PCC-PROXY, Got my ACK\n"); switch_set_flag(tech_pvt, TFLAG_3PCC_HAS_ACK); } else if (switch_channel_get_state(channel) == CS_HIBERNATE) { switch_set_flag_locked(tech_pvt, TFLAG_READY); @@ -3126,7 +3126,7 @@ void *SWITCH_THREAD_FUNC nightmare_xfer_thread_run(switch_thread_t *thread, void if ((switch_channel_get_state(channel_a) < CS_HANGUP)) { if (status != SWITCH_STATUS_SUCCESS || cause != SWITCH_CAUSE_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel! [%s]\n", nhelper->exten); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Cannot Create Outgoing Channel! [%s]\n", nhelper->exten); nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("messsage/sipfrag"), NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"), SIPTAG_EVENT_STR(nhelper->event), TAG_END()); @@ -3189,7 +3189,7 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t } if (!sip->sip_cseq || !(etmp = switch_mprintf("refer;id=%u", sip->sip_cseq->cs_seq))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Memory Error!\n"); goto done; } @@ -3213,14 +3213,14 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t exten = (char *) refer_to->r_url->url_user; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Process REFER to [%s@%s]\n", exten, (char *) refer_to->r_url->url_host); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Process REFER to [%s@%s]\n", exten, (char *) refer_to->r_url->url_host); if (refer_to->r_url->url_headers && (rep = (char *)switch_stristr("Replaces=", refer_to->r_url->url_headers))) { sip_replaces_t *replaces; nua_handle_t *bnh; if (switch_channel_test_flag(channel_a, CF_PROXY_MODE)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Attended Transfer BYPASS MEDIA CALLS!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Cannot Attended Transfer BYPASS MEDIA CALLS!\n"); switch_channel_set_variable(channel_a, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "ATTENDED_TRANSFER_ERROR"); nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"), NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"), SIPTAG_EVENT_STR(etmp), TAG_END()); @@ -3240,9 +3240,9 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t if ((buf = switch_core_session_alloc(session, strlen(rep) + 1))) { rep = url_unescape(buf, (const char *) rep); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Replaces: [%s]\n", rep); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Replaces: [%s]\n", rep); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Memory Error!\n"); goto done; } @@ -3267,7 +3267,7 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t if (br_a && br_b) { switch_core_session_t *new_b_session = NULL, *a_session = NULL, *tmp = NULL; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Attended Transfer [%s][%s]\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_NOTICE, "Attended Transfer [%s][%s]\n", switch_str_nil(br_a), switch_str_nil(br_b)); @@ -3300,7 +3300,7 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t } } else { if (!br_a && !br_b) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot transfer channels that are not in a bridge.\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Cannot transfer channels that are not in a bridge.\n"); nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"), NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"), SIPTAG_EVENT_STR(etmp), TAG_END()); @@ -3342,7 +3342,7 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t switch_core_session_rwunlock(t_session); switch_channel_hangup(hup_channel, SWITCH_CAUSE_ATTENDED_TRANSFER); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Session to transfer to not found.\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Session to transfer to not found.\n"); nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"), NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"), SIPTAG_EVENT_STR(etmp), TAG_END()); @@ -3420,7 +3420,7 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t switch_channel_set_variable(channel, SOFIA_REFER_TO_VARIABLE, full_ref_to); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Good Luck, you'll need it......\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Good Luck, you'll need it......\n"); launch_nightmare_xfer(nightmare_xfer_helper); switch_core_session_rwunlock(a_session); @@ -3431,7 +3431,7 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t } else { error: - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Transfer! [%s]\n", br_a); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid Transfer! [%s]\n", br_a); switch_channel_set_variable(channel_a, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "ATTENDED_TRANSFER_ERROR"); nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"), NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"), SIPTAG_EVENT_STR(etmp), @@ -3439,13 +3439,13 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t } } } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot parse Replaces!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Cannot parse Replaces!\n"); } goto done; } } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Missing Refer-To\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Missing Refer-To\n"); goto done; } @@ -3475,7 +3475,7 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 200 OK"), SIPTAG_EVENT_STR(etmp), TAG_END()); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot Blind Transfer 1 Legged calls\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Cannot Blind Transfer 1 Legged calls\n"); switch_channel_set_variable(channel_a, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "ATTENDED_TRANSFER_ERROR"); nua_notify(tech_pvt->nh, NUTAG_NEWSUB(1), SIPTAG_CONTENT_TYPE_STR("message/sipfrag"), NUTAG_SUBSTATE(nua_substate_terminated), SIPTAG_PAYLOAD_STR("SIP/2.0 403 Forbidden"), SIPTAG_EVENT_STR(etmp), TAG_END()); @@ -3523,7 +3523,7 @@ void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t dtmf.digit = switch_rfc2833_to_char(tmp); } } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Bad signal\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Bad signal\n"); goto fail; } @@ -3548,7 +3548,7 @@ void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t switch_channel_queue_dtmf(channel, &dtmf); /* print debug info */ - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "INFO DTMF(%c)\n", dtmf.digit); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "INFO DTMF(%c)\n", dtmf.digit); /* Send 200 OK response */ nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS(nua), TAG_END()); @@ -3562,7 +3562,7 @@ void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t if ((clientcode_header = sofia_glue_get_unknown_header(sip, "x-clientcode"))) { if (!switch_strlen_zero(clientcode_header)) { switch_channel_set_variable(channel, "call_clientcode", clientcode_header); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Setting CMC to %s\n", clientcode_header); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_NOTICE, "Setting CMC to %s\n", clientcode_header); nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS(nua), TAG_END()); } else { goto fail; @@ -3572,7 +3572,7 @@ void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t if ((rec_header = sofia_glue_get_unknown_header(sip, "record"))) { if (switch_strlen_zero(profile->record_template)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Record attempted but no template defined.\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Record attempted but no template defined.\n"); nua_respond(nh, 488, "Recording not enabled", NUTAG_WITH_THIS(nua), TAG_END()); } else { if (!strcasecmp(rec_header, "on")) { @@ -3581,7 +3581,7 @@ void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t file = switch_channel_expand_variables(channel, profile->record_template); switch_ivr_record_session(session, file, 0, NULL); switch_channel_set_variable(channel, "sofia_record_file", file); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Recording %s to %s\n", switch_channel_get_name(channel), file); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_NOTICE, "Recording %s to %s\n", switch_channel_get_name(channel), file); nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS(nua), TAG_END()); if (file != profile->record_template) { free(file); @@ -3591,7 +3591,7 @@ void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t const char *file; if ((file = switch_channel_get_variable(channel, "sofia_record_file"))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Done recording %s to %s\n", switch_channel_get_name(channel), file); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_NOTICE, "Done recording %s to %s\n", switch_channel_get_name(channel), file); switch_ivr_stop_record_session(session, file); nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS(nua), TAG_END()); } else { @@ -3810,7 +3810,7 @@ void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_ } if (!(tech_pvt = (private_object_t *) switch_core_session_alloc(session, sizeof(private_object_t)))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hey where is my memory pool?\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_CRIT, "Hey where is my memory pool?\n"); nua_respond(nh, SIP_503_SERVICE_UNAVAILABLE, TAG_END()); switch_core_session_destroy(&session); return; @@ -3829,9 +3829,9 @@ void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_ switch_channel_set_variable(channel, "acl_token", acl_token); if (strchr(acl_token, '@')) { if (switch_ivr_set_user(session, acl_token) == SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Authenticating user %s\n", acl_token); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Authenticating user %s\n", acl_token); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Error Authenticating user %s\n", acl_token); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Error Authenticating user %s\n", acl_token); } } free(acl_token); @@ -4295,7 +4295,7 @@ void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_ if (is_nat) { switch_set_flag(tech_pvt, TFLAG_NAT); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setting NAT mode based on %s\n", is_nat); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Setting NAT mode based on %s\n", is_nat); switch_channel_set_variable(channel, "sip_nat_detected", "true"); } return; @@ -4341,7 +4341,7 @@ static void sofia_info_send_sipfrag(switch_core_session_t *aleg, switch_core_ses const char *ua = switch_channel_get_variable(channel, "sip_user_agent"); if (ua && switch_stristr("cisco", ua)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "If you were using some other phone besides a Cisco, we would have updated the caller id display on your phone for you!\n"); + switch_log_printf(SWITCH_SESSION_LOG(aleg), SWITCH_LOG_INFO, "If you were using some other phone besides a Cisco, we would have updated the caller id display on your phone for you!\n"); return; } diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index e96f7d2..72e7622 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -498,10 +498,10 @@ switch_status_t sofia_glue_ext_address_lookup(sofia_profile_t *profile, private_ status = SWITCH_STATUS_SUCCESS; if (tech_pvt) { if (myport == *port && !strcmp(*ip, tech_pvt->profile->rtpip)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "STUN Not Required ip and port match. [%s]:[%d]\n", *ip, *port); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "STUN Not Required ip and port match. [%s]:[%d]\n", *ip, *port); if (profile->pflags & PFLAG_STUN_AUTO_DISABLE) { profile->pflags &= ~PFLAG_STUN_ENABLED; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "STUN completely disabled.\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "STUN completely disabled.\n"); } } else { tech_pvt->stun_ip = switch_core_session_strdup(tech_pvt->session, stun_ip); @@ -559,7 +559,7 @@ switch_status_t sofia_glue_tech_choose_port(private_object_t *tech_pvt, int forc tech_pvt->local_sdp_audio_ip = ip; if (!(tech_pvt->local_sdp_audio_port = switch_rtp_request_port(tech_pvt->profile->rtpip))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "No RTP ports available!\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_CRIT, "No RTP ports available!\n"); return SWITCH_STATUS_FALSE; } sdp_port = tech_pvt->local_sdp_audio_port; @@ -607,7 +607,7 @@ switch_status_t sofia_glue_tech_choose_video_port(private_object_t *tech_pvt, in } if (!(tech_pvt->local_sdp_video_port = switch_rtp_request_port(tech_pvt->profile->rtpip))) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "No RTP ports available!\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_CRIT, "No RTP ports available!\n"); return SWITCH_STATUS_FALSE; } sdp_port = tech_pvt->local_sdp_video_port; @@ -841,7 +841,7 @@ switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt) } if (!(*rip && *rp)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "invalid SDP\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "invalid SDP\n"); return SWITCH_STATUS_FALSE; } @@ -855,7 +855,7 @@ switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt) if (tech_pvt->remote_sdp_video_ip && tech_pvt->remote_sdp_video_port) { if (!strcmp(tech_pvt->remote_sdp_video_ip, rip) && atoi(rvp) == tech_pvt->remote_sdp_video_port) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Remote video address:port [%s:%d] has not changed.\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Remote video address:port [%s:%d] has not changed.\n", tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port); } else { switch_set_flag_locked(tech_pvt, TFLAG_VIDEO); @@ -864,9 +864,9 @@ switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt) if (switch_rtp_set_remote_address(tech_pvt->video_rtp_session, tech_pvt->remote_sdp_video_ip, tech_pvt->remote_sdp_video_port, SWITCH_TRUE, &err) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VIDEO RTP REPORTS ERROR: [%s]\n", err); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "VIDEO RTP REPORTS ERROR: [%s]\n", err); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "VIDEO RTP CHANGING DEST TO: [%s:%d]\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "VIDEO RTP CHANGING DEST TO: [%s:%d]\n", tech_pvt->remote_sdp_video_ip, tech_pvt->remote_sdp_video_port); if (!sofia_test_pflag(tech_pvt->profile, PFLAG_DISABLE_RTP_AUTOADJ) && !switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MODE) && !((val = switch_channel_get_variable(tech_pvt->channel, "disable_rtp_auto_adjust")) && switch_true(val))) { @@ -883,7 +883,7 @@ switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt) switch_port_t remote_port = switch_rtp_get_remote_port(tech_pvt->rtp_session); if (remote_host && remote_port && !strcmp(remote_host, tech_pvt->remote_sdp_audio_ip) && remote_port == tech_pvt->remote_sdp_audio_port) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Remote address:port [%s:%d] has not changed.\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Remote address:port [%s:%d] has not changed.\n", tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port); return SWITCH_STATUS_SUCCESS; } @@ -893,9 +893,9 @@ switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt) if (switch_rtp_ready(tech_pvt->rtp_session)) { if (switch_rtp_set_remote_address(tech_pvt->rtp_session, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port, SWITCH_TRUE, &err) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "AUDIO RTP REPORTS ERROR: [%s]\n", err); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "AUDIO RTP REPORTS ERROR: [%s]\n", err); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "AUDIO RTP CHANGING DEST TO: [%s:%d]\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "AUDIO RTP CHANGING DEST TO: [%s:%d]\n", tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port); if (!sofia_test_pflag(tech_pvt->profile, PFLAG_DISABLE_RTP_AUTOADJ) && !((val = switch_channel_get_variable(tech_pvt->channel, "disable_rtp_auto_adjust")) && switch_true(val))) { @@ -924,13 +924,13 @@ void sofia_glue_tech_patch_sdp(private_object_t *tech_pvt) len = strlen(tech_pvt->local_sdp_str) + 384; if (switch_stristr("sendonly", tech_pvt->local_sdp_str) || switch_stristr("0.0.0.0", tech_pvt->local_sdp_str)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Skip patch on hold SDP\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Skip patch on hold SDP\n"); return; } if (switch_strlen_zero(tech_pvt->adv_sdp_audio_ip) || !tech_pvt->adv_sdp_audio_port) { if (sofia_glue_tech_choose_port(tech_pvt, 1) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s I/O Error\n", switch_channel_get_name(tech_pvt->channel)); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "%s I/O Error\n", switch_channel_get_name(tech_pvt->channel)); return; } tech_pvt->iananame = switch_core_session_strdup(tech_pvt->session, "PROXY"); @@ -1002,13 +1002,13 @@ void sofia_glue_tech_patch_sdp(private_object_t *tech_pvt) } if (!has_ip && !has_audio) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s SDP has no audio in it.\n%s\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "%s SDP has no audio in it.\n%s\n", switch_channel_get_name(tech_pvt->channel), tech_pvt->local_sdp_str); tech_pvt->local_sdp_str = tech_pvt->orig_local_sdp_str; return; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Patched SDP\n---\n%s\n+++\n%s\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "%s Patched SDP\n---\n%s\n+++\n%s\n", switch_channel_get_name(tech_pvt->channel), tech_pvt->orig_local_sdp_str, tech_pvt->local_sdp_str); } @@ -1094,7 +1094,7 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) const char *from_var = switch_channel_get_variable(tech_pvt->channel, "sip_from_uri"); if (switch_strlen_zero(tech_pvt->dest)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "URL Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "URL Error!\n"); return SWITCH_STATUS_FALSE; } @@ -1151,7 +1151,7 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) } if (!sofia_test_pflag(tech_pvt->profile, PFLAG_TLS) && sofia_glue_transport_has_tls(tech_pvt->transport)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "TLS not supported by profile\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "TLS not supported by profile\n"); return SWITCH_STATUS_FALSE; } @@ -1341,7 +1341,7 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) if (route_uri) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Setting proxy route to %s\n", route_uri, switch_channel_get_name(channel)); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s Setting proxy route to %s\n", route_uri, switch_channel_get_name(channel)); } nua_invite(tech_pvt->nh, @@ -1398,7 +1398,7 @@ void sofia_glue_do_xfer_invite(switch_core_session_t *session) SOATAG_ORDERED_USER(1), SOATAG_RTP_SORT(SOA_RTP_SORT_REMOTE), SOATAG_RTP_SELECT(SOA_RTP_SELECT_ALL), TAG_IF(rep, SIPTAG_REPLACES_STR(rep)), TAG_END()); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Memory Error!\n"); } switch_mutex_unlock(tech_pvt->sofia_mutex); } @@ -1474,18 +1474,18 @@ switch_status_t sofia_glue_tech_set_video_codec(private_object_t *tech_pvt, int if (strcasecmp(tech_pvt->video_read_codec.implementation->iananame, tech_pvt->video_rm_encoding) || tech_pvt->video_read_codec.implementation->samples_per_second != tech_pvt->video_rm_rate) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Changing Codec from %s to %s\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Changing Codec from %s to %s\n", tech_pvt->video_read_codec.implementation->iananame, tech_pvt->video_rm_encoding); switch_core_codec_destroy(&tech_pvt->video_read_codec); switch_core_codec_destroy(&tech_pvt->video_write_codec); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Already using %s\n", tech_pvt->video_read_codec.implementation->iananame); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Already using %s\n", tech_pvt->video_read_codec.implementation->iananame); return SWITCH_STATUS_SUCCESS; } } if (!tech_pvt->video_rm_encoding) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec with no name?\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Can't load codec with no name?\n"); return SWITCH_STATUS_FALSE; } @@ -1497,7 +1497,7 @@ switch_status_t sofia_glue_tech_set_video_codec(private_object_t *tech_pvt, int 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Can't load codec?\n"); return SWITCH_STATUS_FALSE; } else { if (switch_core_codec_init(&tech_pvt->video_write_codec, @@ -1508,13 +1508,13 @@ switch_status_t sofia_glue_tech_set_video_codec(private_object_t *tech_pvt, int 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Can't load codec?\n"); return SWITCH_STATUS_FALSE; } else { int ms; tech_pvt->video_read_frame.rate = tech_pvt->video_rm_rate; ms = tech_pvt->video_write_codec.implementation->microseconds_per_packet / 1000; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set VIDEO Codec %s %s/%ld %d ms\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Set VIDEO Codec %s %s/%ld %d ms\n", switch_channel_get_name(tech_pvt->channel), tech_pvt->video_rm_encoding, tech_pvt->video_rm_rate, tech_pvt->video_codec_ms); tech_pvt->video_read_frame.codec = &tech_pvt->video_read_codec; @@ -1534,7 +1534,7 @@ switch_status_t sofia_glue_tech_set_codec(private_object_t *tech_pvt, int force) int ms; if (!tech_pvt->iananame) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No audio codec available\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "No audio codec available\n"); return SWITCH_STATUS_FALSE; } @@ -1545,13 +1545,13 @@ switch_status_t sofia_glue_tech_set_codec(private_object_t *tech_pvt, int force) if (strcasecmp(tech_pvt->read_codec.implementation->iananame, tech_pvt->iananame) || tech_pvt->read_codec.implementation->samples_per_second != tech_pvt->rm_rate) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Changing Codec from %s to %s\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Changing Codec from %s to %s\n", tech_pvt->read_codec.implementation->iananame, tech_pvt->rm_encoding); switch_core_codec_destroy(&tech_pvt->read_codec); switch_core_codec_destroy(&tech_pvt->write_codec); switch_core_session_reset(tech_pvt->session, SWITCH_TRUE); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Already using %s\n", tech_pvt->read_codec.implementation->iananame); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Already using %s\n", tech_pvt->read_codec.implementation->iananame); return SWITCH_STATUS_SUCCESS; } } @@ -1564,7 +1564,7 @@ switch_status_t sofia_glue_tech_set_codec(private_object_t *tech_pvt, int force) 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE | tech_pvt->profile->codec_flags, NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Can't load codec?\n"); return SWITCH_STATUS_FALSE; } @@ -1576,7 +1576,7 @@ switch_status_t sofia_glue_tech_set_codec(private_object_t *tech_pvt, int force) 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE | tech_pvt->profile->codec_flags, NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Can't load codec?\n"); return SWITCH_STATUS_FALSE; } @@ -1589,11 +1589,11 @@ switch_status_t sofia_glue_tech_set_codec(private_object_t *tech_pvt, int force) ms = tech_pvt->write_codec.implementation->microseconds_per_packet / 1000; if (!tech_pvt->read_codec.implementation) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Can't load codec?\n"); return SWITCH_STATUS_FALSE; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set Codec %s %s/%ld %d ms %d samples\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Set Codec %s %s/%ld %d ms %d samples\n", switch_channel_get_name(tech_pvt->channel), tech_pvt->iananame, tech_pvt->rm_rate, tech_pvt->codec_ms, tech_pvt->read_codec.implementation->samples_per_packet); tech_pvt->read_frame.codec = &tech_pvt->read_codec; @@ -1647,7 +1647,7 @@ switch_status_t sofia_glue_build_crypto(private_object_t *tech_pvt, int index, s } tech_pvt->local_crypto_key = switch_core_session_sprintf(tech_pvt->session, "%d %s inline:%s", index, type_str, b64_key); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set Local Key [%s]\n", tech_pvt->local_crypto_key); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Set Local Key [%s]\n", tech_pvt->local_crypto_key); if (!sofia_test_pflag(tech_pvt->profile, PFLAG_DISABLE_SRTP_AUTH) && !((val = switch_channel_get_variable(tech_pvt->channel, "NDLB_support_asterisk_missing_srtp_auth")) && switch_true(val))) { @@ -1682,7 +1682,7 @@ switch_status_t sofia_glue_add_crypto(private_object_t *tech_pvt, const char *ke } else if (!strncasecmp(p, SWITCH_RTP_CRYPTO_KEY_80, strlen(SWITCH_RTP_CRYPTO_KEY_80))) { type = AES_CM_128_HMAC_SHA1_80; } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Parse Error near [%s]\n", p); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Parse Error near [%s]\n", p); goto bad; } @@ -1690,7 +1690,7 @@ switch_status_t sofia_glue_add_crypto(private_object_t *tech_pvt, const char *ke if (p && *p && *(p + 1)) { p++; if (strncasecmp(p, "inline:", 7)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Parse Error near [%s]\n", p); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Parse Error near [%s]\n", p); goto bad; } @@ -1711,7 +1711,7 @@ switch_status_t sofia_glue_add_crypto(private_object_t *tech_pvt, const char *ke bad: - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error!\n"); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Error!\n"); return SWITCH_STATUS_FALSE; } @@ -1801,17 +1801,17 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f switch_port_t remote_port = switch_rtp_get_remote_port(tech_pvt->rtp_session); if (remote_host && remote_port && !strcmp(remote_host, tech_pvt->remote_sdp_audio_ip) && remote_port == tech_pvt->remote_sdp_audio_port) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Audio params are unchanged for %s.\n", switch_channel_get_name(tech_pvt->channel)); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Audio params are unchanged for %s.\n", switch_channel_get_name(tech_pvt->channel)); goto video; } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Audio params changed for %s from %s:%d to %s:%d\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Audio params changed for %s from %s:%d to %s:%d\n", switch_channel_get_name(tech_pvt->channel), remote_host, remote_port, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port); } } if (!switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MEDIA)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "AUDIO RTP [%s] %s port %d -> %s port %d codec: %u ms: %d\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "AUDIO RTP [%s] %s port %d -> %s port %d codec: %u ms: %d\n", switch_channel_get_name(tech_pvt->channel), tech_pvt->local_sdp_audio_ip, tech_pvt->local_sdp_audio_port, @@ -1828,9 +1828,9 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f if (switch_rtp_set_remote_address(tech_pvt->rtp_session, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port, SWITCH_TRUE, &err) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "AUDIO RTP REPORTS ERROR: [%s]\n", err); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "AUDIO RTP REPORTS ERROR: [%s]\n", err); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "AUDIO RTP CHANGING DEST TO: [%s:%d]\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "AUDIO RTP CHANGING DEST TO: [%s:%d]\n", tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port); if (!sofia_test_pflag(tech_pvt->profile, PFLAG_DISABLE_RTP_AUTOADJ) && !((val = switch_channel_get_variable(tech_pvt->channel, "disable_rtp_auto_adjust")) && switch_true(val))) { @@ -1853,7 +1853,7 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f } timer_name = NULL; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "PROXY AUDIO RTP [%s] %s:%d->%s:%d codec: %u ms: %d\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "PROXY AUDIO RTP [%s] %s:%d->%s:%d codec: %u ms: %d\n", switch_channel_get_name(tech_pvt->channel), tech_pvt->local_sdp_audio_ip, tech_pvt->local_sdp_audio_port, @@ -1916,12 +1916,12 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f if ((vad_in && inb) || (vad_out && !inb)) { switch_rtp_enable_vad(tech_pvt->rtp_session, tech_pvt->session, &tech_pvt->read_codec, SWITCH_VAD_FLAG_TALKING); switch_set_flag(tech_pvt, TFLAG_VAD); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "AUDIO RTP Engage VAD for %s ( %s %s )\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "AUDIO RTP Engage VAD for %s ( %s %s )\n", switch_channel_get_name(switch_core_session_get_channel(tech_pvt->session)), vad_in ? "in" : "", vad_out ? "out" : ""); } if (stun_ping) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setting stun ping to %s:%d\n", tech_pvt->stun_ip, stun_ping); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Setting stun ping to %s:%d\n", tech_pvt->stun_ip, stun_ping); switch_rtp_activate_stun_ping(tech_pvt->rtp_session, tech_pvt->stun_ip, tech_pvt->stun_port, stun_ping, (tech_pvt->stun_flags & STUN_FLAG_FUNNY) ? 1 : 0); } @@ -1930,13 +1930,13 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f int len = atoi(val); if (len < 100 || len > 1000) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Jitterbuffer spec [%d] must be between 100 and 1000\n", len); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "Invalid Jitterbuffer spec [%d] must be between 100 and 1000\n", len); } else { int qlen; qlen = len / (tech_pvt->read_codec.implementation->microseconds_per_packet / 1000); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setting Jitterbuffer to %dms (%d frames)\n", len, qlen); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Setting Jitterbuffer to %dms (%d frames)\n", len, qlen); switch_rtp_activate_jitter_buffer(tech_pvt->rtp_session, qlen); } } @@ -1981,7 +1981,7 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f } if (tech_pvt->cng_pt && !(tech_pvt->profile->pflags & PFLAG_SUPPRESS_CNG)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set comfort noise payload to %u\n", tech_pvt->cng_pt); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "Set comfort noise payload to %u\n", tech_pvt->cng_pt); switch_rtp_set_cng_pt(tech_pvt->rtp_session, tech_pvt->cng_pt); } @@ -2024,7 +2024,7 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f tech_pvt->video_agreed_pt, 1, 10000, (switch_rtp_flag_t) flags, NULL, &err, switch_core_session_get_pool(tech_pvt->session)); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%sVIDEO RTP [%s] %s:%d->%s:%d codec: %u ms: %d [%s]\n", + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_DEBUG, "%sVIDEO RTP [%s] %s:%d->%s:%d codec: %u ms: %d [%s]\n", switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MEDIA) ? "PROXY " : "", switch_channel_get_name(tech_pvt->channel), tech_pvt->local_sdp_audio_ip, @@ -2036,13 +2036,13 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f if (switch_rtp_ready(tech_pvt->video_rtp_session)) { switch_channel_set_flag(tech_pvt->channel, CF_VIDEO); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VIDEO RTP REPORTS ERROR: [%s]\n", switch_str_nil(err)); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "VIDEO RTP REPORTS ERROR: [%s]\n", switch_str_nil(err)); switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); goto end; } } } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "AUDIO RTP REPORTS ERROR: [%s]\n", switch_str_nil(err)); + switch_log_printf(SWITCH_SESSION_LOG(tech_pvt->session), SWITCH_LOG_ERROR, "AUDIO RTP REPORTS ERROR: [%s]\n", switch_str_nil(err)); switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); switch_clear_flag_locked(tech_pvt, TFLAG_IO); status = SWITCH_STATUS_FALSE; @@ -2195,12 +2195,12 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * if ((tech_pvt->origin = switch_core_session_strdup(session, (char *) sdp->sdp_origin->o_username))) { if (strstr(tech_pvt->origin, "CiscoSystemsSIP-GW-UserAgent")) { switch_set_flag_locked(tech_pvt, TFLAG_BUGGY_2833); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Activate Buggy RFC2833 Mode!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Activate Buggy RFC2833 Mode!\n"); } if (strstr(tech_pvt->origin, "Sonus_UAC")) { switch_set_flag_locked(tech_pvt, TFLAG_BUGGY_2833); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_WARNING, "Hello,\nI see you have a Sonus!\n" "FYI, Sonus cannot follow the RFC on the proper way to send DTMF.\n" "Sadly, my creator had to spend several hours figuring this out so I thought you'd like to know that!\n" @@ -2253,7 +2253,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * int crypto_tag; if (m->m_proto != sdp_proto_srtp) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "a=crypto in RTP/AVP, refer to rfc3711\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "a=crypto in RTP/AVP, refer to rfc3711\n"); match = 0; goto done; } @@ -2263,13 +2263,13 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * if (tech_pvt->remote_crypto_key && switch_rtp_ready(tech_pvt->rtp_session)) { if (crypto_tag && crypto_tag == tech_pvt->crypto_tag) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Existing key is still valid.\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Existing key is still valid.\n"); } else { const char *a = switch_stristr("AES", tech_pvt->remote_crypto_key); const char *b = switch_stristr("AES", crypto); if (a && b && !strncasecmp(a, b, 23)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Change Remote key to [%s]\n", crypto); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Change Remote key to [%s]\n", crypto); tech_pvt->remote_crypto_key = switch_core_session_strdup(tech_pvt->session, crypto); tech_pvt->crypto_tag = crypto_tag; @@ -2280,12 +2280,12 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * } got_crypto++; } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Ignoring unacceptable key\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Ignoring unacceptable key\n"); } } } else if (!switch_rtp_ready(tech_pvt->rtp_session)) { tech_pvt->remote_crypto_key = switch_core_session_strdup(tech_pvt->session, crypto); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set Remote Key [%s]\n", tech_pvt->remote_crypto_key); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Set Remote Key [%s]\n", tech_pvt->remote_crypto_key); tech_pvt->crypto_tag = crypto_tag; got_crypto++; @@ -2297,7 +2297,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * switch_channel_set_variable(tech_pvt->channel, SOFIA_HAS_CRYPTO_VARIABLE, SWITCH_RTP_CRYPTO_KEY_80); sofia_glue_build_crypto(tech_pvt, atoi(crypto), AES_CM_128_HMAC_SHA1_80, SWITCH_RTP_CRYPTO_SEND); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Crypto Setup Failed!.\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Crypto Setup Failed!.\n"); } } } @@ -2315,7 +2315,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * } if (!connection) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find a c= line in the sdp at media or session level!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Cannot find a c= line in the sdp at media or session level!\n"); match = 0; break; } @@ -2333,7 +2333,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * if (match && connection->c_address && tech_pvt->remote_sdp_audio_ip && !strcmp(connection->c_address, tech_pvt->remote_sdp_audio_ip) && m->m_port == tech_pvt->remote_sdp_audio_port) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Our existing sdp is still good [%s %s:%d], let's keep it.\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Our existing sdp is still good [%s %s:%d], let's keep it.\n", tech_pvt->rm_encoding, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port); got_audio = 1; break; @@ -2359,7 +2359,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * if (!te && !strcasecmp(rm_encoding, "telephone-event")) { te = tech_pvt->te = (switch_payload_t) map->rm_pt; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set 2833 dtmf payload to %u\n", te); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Set 2833 dtmf payload to %u\n", te); if (tech_pvt->rtp_session) { switch_rtp_set_telephony_event(tech_pvt->rtp_session, tech_pvt->te); } @@ -2368,7 +2368,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * if (!(tech_pvt->profile->pflags & PFLAG_SUPPRESS_CNG) && !cng_pt && !strcasecmp(rm_encoding, "CN")) { cng_pt = (switch_payload_t) map->rm_pt; if (tech_pvt->rtp_session) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set comfort noise payload to %u\n", cng_pt); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Set comfort noise payload to %u\n", cng_pt); switch_rtp_set_cng_pt(tech_pvt->rtp_session, tech_pvt->cng_pt); } } @@ -2395,7 +2395,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * continue; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Audio Codec Compare [%s:%d:%u]/[%s:%d:%u]\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Audio Codec Compare [%s:%d:%u]/[%s:%d:%u]\n", rm_encoding, map->rm_pt, (int) map->rm_rate, imp->iananame, imp->ianacode, codec_rate); if (map->rm_pt < 96) { match = (map->rm_pt == imp->ianacode) ? 1 : 0; @@ -2434,7 +2434,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * mimp = near_match; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Substituting codec %s@%ui@%uh\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Substituting codec %s@%ui@%uh\n", mimp->iananame, mimp->microseconds_per_packet / 1000, mimp->samples_per_second); match = 1; } @@ -2488,7 +2488,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * } if (!connection) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find a c= line in the sdp at media or session level!\n"); + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_ERROR, "Cannot find a c= line in the sdp at media or session level!\n"); match = 0; break; } @@ -2511,7 +2511,7 @@ uint8_t sofia_glue_negotiate_sdp(switch_core_session_t *session, sdp_session_t * continue; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Video Codec Compare [%s:%d]/[%s:%d]\n", + switch_log_printf(SWITCH_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Video Codec Compare [%s:%d]/[%s:%d]\n", rm_encoding, map->rm_pt, imp->iananame, imp->ianacode); if (map->rm_pt < 96) { vmatch = (map->rm_pt == imp->ianacode) ? 1 : 0; -- 1.5.6.4
Just sending a message so Cherebrum can comment on this thread... Am Tuesday 16 December 2008 schrieb stkn@freeswitch.org:
Hi again,
This is the reworked patch series to add per-session logging to the FreeSWITCH core.
Changes since V1:
- Reworked based on second proposed method and feedback by Anthony - Most / all of mod_sofia has been converted to the new system (Needs a review, not sure if all of these changes are OK)
Both patches are compile tested (only).
Stefan
Stefan Knoblich (2): Session log level #1: core support Session log level #2: convert mod_sofia as an example
src/include/private/switch_core_pvt.h | 1 + src/include/switch_core.h | 15 +++ src/include/switch_types.h | 5 +- src/mod/applications/mod_commands/mod_commands.c | 37 ++++++ src/mod/applications/mod_dptools/mod_dptools.c | 19 +++ src/mod/endpoints/mod_sofia/mod_sofia.c | 74 ++++++------ src/mod/endpoints/mod_sofia/sofia.c | 96 ++++++++-------- src/mod/endpoints/mod_sofia/sofia_glue.c | 132 +++++++++++----------- src/switch_core_session.c | 15 +++ src/switch_log.c | 24 ++++- 10 files changed, 263 insertions(+), 155 deletions(-)
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Stefan Knoblich Systemadministrator axsentis GmbH Eupener Strasse 74 50933 Köln Tel: 0180 - 506 705 521* Fax: 0180 - 506 705 529* E-Mail: s.knoblich@axsentis.de Web: www.axsentis.de Eingetragen beim AG Köln: HR B 56238 UST-ID: DE244977565 Gesellschafter-Geschäftsführer: Yan Lecomte, Eduard Schlein, Apostolos Varsamis *14ct/min aus dem Festnetz der T-Com | dtms
I think it would be useful to have log messages with the uuid prepended on each message in a way that can be parsed with a log viewer or syslogng. This may only be useful for those of us that have more then 1 concurrent call on the box at a time. ;) Sent from my iPhone On Dec 19, 2008, at 2:11 PM, Stefan Knoblich <stkn@freeswitch.org> wrote:
Just sending a message so Cherebrum can comment on this thread...
Am Tuesday 16 December 2008 schrieb stkn@freeswitch.org:
Hi again,
This is the reworked patch series to add per-session logging to the FreeSWITCH core.
Changes since V1:
- Reworked based on second proposed method and feedback by Anthony - Most / all of mod_sofia has been converted to the new system (Needs a review, not sure if all of these changes are OK)
Both patches are compile tested (only).
Stefan
Stefan Knoblich (2): Session log level #1: core support Session log level #2: convert mod_sofia as an example
src/include/private/switch_core_pvt.h | 1 + src/include/switch_core.h | 15 +++ src/include/switch_types.h | 5 +- src/mod/applications/mod_commands/mod_commands.c | 37 ++++++ src/mod/applications/mod_dptools/mod_dptools.c | 19 +++ src/mod/endpoints/mod_sofia/mod_sofia.c | 74 ++++++------ src/mod/endpoints/mod_sofia/sofia.c | 96 +++++++ +-------- src/mod/endpoints/mod_sofia/sofia_glue.c | 132 ++++++++++ +----------- src/switch_core_session.c | 15 +++ src/switch_log.c | 24 ++++- 10 files changed, 263 insertions(+), 155 deletions(-)
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- dev http://www.freeswitch.org
-- Stefan Knoblich Systemadministrator
axsentis GmbH Eupener Strasse 74 50933 Köln
Tel: 0180 - 506 705 521* Fax: 0180 - 506 705 529*
E-Mail: s.knoblich@axsentis.de Web: www.axsentis.de
Eingetragen beim AG Köln: HR B 56238 UST-ID: DE244977565 Gesellschafter-Geschäftsführer: Yan Lecomte, Eduard Schlein, Apostolos Varsamis
*14ct/min aus dem Festnetz der T-Com | dtms
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
Hmm... this is one of those wishlist kinda things. If you know any C programming you could always add a little patch and have switch_log_printf() print an optional uuid if available. :) -MC On Tue, Dec 23, 2008 at 10:51 PM, Jason Garland <jgarland@jasongarland.com>wrote:
I think it would be useful to have log messages with the uuid prepended on each message in a way that can be parsed with a log viewer or syslogng.
This may only be useful for those of us that have more then 1 concurrent call on the box at a time. ;)
Sent from my iPhone
On Dec 19, 2008, at 2:11 PM, Stefan Knoblich <stkn@freeswitch.org> wrote:
Just sending a message so Cherebrum can comment on this thread...
Am Tuesday 16 December 2008 schrieb stkn@freeswitch.org:
Hi again,
This is the reworked patch series to add per-session logging to the FreeSWITCH core.
Changes since V1:
- Reworked based on second proposed method and feedback by Anthony - Most / all of mod_sofia has been converted to the new system (Needs a review, not sure if all of these changes are OK)
Both patches are compile tested (only).
Stefan
Stefan Knoblich (2): Session log level #1: core support Session log level #2: convert mod_sofia as an example
src/include/private/switch_core_pvt.h | 1 + src/include/switch_core.h | 15 +++ src/include/switch_types.h | 5 +- src/mod/applications/mod_commands/mod_commands.c | 37 ++++++ src/mod/applications/mod_dptools/mod_dptools.c | 19 +++ src/mod/endpoints/mod_sofia/mod_sofia.c | 74 ++++++------ src/mod/endpoints/mod_sofia/sofia.c | 96 +++++++ +-------- src/mod/endpoints/mod_sofia/sofia_glue.c | 132 ++++++++++ +----------- src/switch_core_session.c | 15 +++ src/switch_log.c | 24 ++++- 10 files changed, 263 insertions(+), 155 deletions(-)
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- dev http://www.freeswitch.org
-- Stefan Knoblich Systemadministrator
axsentis GmbH Eupener Strasse 74 50933 Köln
Tel: 0180 - 506 705 521* Fax: 0180 - 506 705 529*
E-Mail: s.knoblich@axsentis.de Web: www.axsentis.de
Eingetragen beim AG Köln: HR B 56238 UST-ID: DE244977565 Gesellschafter-Geschäftsführer: Yan Lecomte, Eduard Schlein, Apostolos Varsamis
*14ct/min aus dem Festnetz der T-Com | dtms
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
Not a big deal to add that, just requires some sort of global uuid log flag to be able to enable/disable it. Merry Christmas btw. :) Michael Collins wrote:
Hmm... this is one of those wishlist kinda things. If you know any C programming you could always add a little patch and have switch_log_printf() print an optional uuid if available. :) -MC
On Tue, Dec 23, 2008 at 10:51 PM, Jason Garland <jgarland@jasongarland.com <mailto:jgarland@jasongarland.com>> wrote:
I think it would be useful to have log messages with the uuid prepended on each message in a way that can be parsed with a log viewer or syslogng.
This may only be useful for those of us that have more then 1 concurrent call on the box at a time. ;)
Sent from my iPhone
On Dec 19, 2008, at 2:11 PM, Stefan Knoblich <stkn@freeswitch.org <mailto:stkn@freeswitch.org>> wrote:
> Just sending a message so Cherebrum can comment on this thread... > > Am Tuesday 16 December 2008 schrieb stkn@freeswitch.org <mailto:stkn@freeswitch.org>: >> Hi again, >> >> This is the reworked patch series to add per-session logging to the >> FreeSWITCH core. >> >> Changes since V1: >> >> - Reworked based on second proposed method and feedback by Anthony >> - Most / all of mod_sofia has been converted to the new system >> (Needs a review, not sure if all of these changes are OK) >> >> >> Both patches are compile tested (only). >> >> >> Stefan >> >> >> Stefan Knoblich (2): >> Session log level #1: core support >> Session log level #2: convert mod_sofia as an example >> >> src/include/private/switch_core_pvt.h | 1 + >> src/include/switch_core.h | 15 +++ >> src/include/switch_types.h | 5 +- >> src/mod/applications/mod_commands/mod_commands.c | 37 ++++++ >> src/mod/applications/mod_dptools/mod_dptools.c | 19 +++ >> src/mod/endpoints/mod_sofia/mod_sofia.c | 74 ++++++------ >> src/mod/endpoints/mod_sofia/sofia.c | 96 +++++++ >> +-------- >> src/mod/endpoints/mod_sofia/sofia_glue.c | 132 ++++++++++ >> +----------- >> src/switch_core_session.c | 15 +++ >> src/switch_log.c | 24 ++++- >> 10 files changed, 263 insertions(+), 155 deletions(-) >> >> >> _______________________________________________ >> Freeswitch-dev mailing list >> Freeswitch-dev@lists.freeswitch.org <mailto:Freeswitch-dev@lists.freeswitch.org> >> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- >> dev >> http://www.freeswitch.org >> > > > -- > Stefan Knoblich > Systemadministrator > > axsentis GmbH > Eupener Strasse 74 > 50933 Köln > > Tel: 0180 - 506 705 521* > Fax: 0180 - 506 705 529* > > E-Mail: s.knoblich@axsentis.de <mailto:s.knoblich@axsentis.de> > Web: www.axsentis.de <http://www.axsentis.de> > > Eingetragen beim AG Köln: HR B 56238 > UST-ID: DE244977565 > Gesellschafter-Geschäftsführer: > Yan Lecomte, Eduard Schlein, Apostolos Varsamis > > *14ct/min aus dem Festnetz der T-Com | dtms > > _______________________________________________ > Freeswitch-dev mailing list > Freeswitch-dev@lists.freeswitch.org <mailto:Freeswitch-dev@lists.freeswitch.org> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev > http://www.freeswitch.org
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org <mailto:Freeswitch-dev@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
------------------------------------------------------------------------
_______________________________________________ Freeswitch-dev mailing list Freeswitch-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
participants (4)
-
Jason Garland
-
Michael Collins
-
Stefan Knoblich
-
stkn@freeswitch.org