diff --git a/src/include/switch_channel.h b/src/include/switch_channel.h index aea8c217d2..a305c96a45 100644 --- a/src/include/switch_channel.h +++ b/src/include/switch_channel.h @@ -165,6 +165,13 @@ SWITCH_DECLARE(switch_status_t) switch_channel_alloc(_In_ switch_channel_t **cha SWITCH_DECLARE(switch_status_t) switch_channel_init(switch_channel_t *channel, switch_core_session_t *session, switch_channel_state_t state, switch_channel_flag_t flag); +/*! + \brief Takes presence_data_cols as a parameter or as a channel variable and copies them to channel profile variables + \param channel the channel on which to set the channel profile variables + \param presence_data_cols is a colon separated list of channel variables to copy to channel profile variables + */ +SWITCH_DECLARE(void) switch_channel_set_presence_data_vals(switch_channel_t *channel, const char *presence_data_cols); + /*! \brief Fire A presence event for the channel \param channel the channel to initilize diff --git a/src/mod/endpoints/mod_sofia/rtp.c b/src/mod/endpoints/mod_sofia/rtp.c index 3f704c5f10..897534970e 100644 --- a/src/mod/endpoints/mod_sofia/rtp.c +++ b/src/mod/endpoints/mod_sofia/rtp.c @@ -622,7 +622,7 @@ static switch_status_t channel_receive_message(switch_core_session_t *session, s maxlen = atol(p); if ((q = strchr(p, ':'))) { q++; - max_drift = abs(atol(q)); + max_drift = abs(atoi(q)); } } } diff --git a/src/switch_channel.c b/src/switch_channel.c index 2168fd396e..c27f1c5ff9 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -1336,32 +1336,30 @@ SWITCH_DECLARE(switch_status_t) switch_channel_transfer_variable_prefix(switch_c SWITCH_DECLARE(void) switch_channel_set_presence_data_vals(switch_channel_t *channel, const char *presence_data_cols) { - if (!zstr(presence_data_cols)) { - char *cols[128] = { 0 }; - char header_name[128] = ""; - int col_count = 0, i = 0; - char *data_copy = NULL; - + char *cols[128] = { 0 }; + char header_name[128] = ""; + int col_count = 0, i = 0; + char *data_copy = NULL; + + if (zstr(presence_data_cols)) { + presence_data_cols = switch_channel_get_variable_dup(channel, "presence_data_cols", SWITCH_FALSE, -1); if (zstr(presence_data_cols)) { - presence_data_cols = switch_channel_get_variable_dup(channel, "presence_data_cols", SWITCH_FALSE, -1); - if (zstr(presence_data_cols)) { - return; - } + return; } - - data_copy = strdup(presence_data_cols); - - col_count = switch_split(data_copy, ':', cols); - - for (i = 0; i < col_count; i++) { - const char *val = NULL; - switch_snprintf(header_name, sizeof(header_name), "PD-%s", cols[i]); - val = switch_channel_get_variable(channel, cols[i]); - switch_channel_set_profile_var(channel, header_name, val); - } - - switch_safe_free(data_copy); } + + data_copy = strdup(presence_data_cols); + + col_count = switch_split(data_copy, ':', cols); + + for (i = 0; i < col_count; i++) { + const char *val = NULL; + switch_snprintf(header_name, sizeof(header_name), "PD-%s", cols[i]); + val = switch_channel_get_variable(channel, cols[i]); + switch_channel_set_profile_var(channel, header_name, val); + } + + switch_safe_free(data_copy); } diff --git a/src/switch_core_media.c b/src/switch_core_media.c index e4f6861fff..a6a846dad5 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -7655,7 +7655,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_receive_message(switch_core_se maxlen = atol(p); if ((q = strchr(p, ':'))) { q++; - max_drift = abs(atol(q)); + max_drift = abs(atoi(q)); } } } diff --git a/src/switch_rtp.c b/src/switch_rtp.c index eccce9d71c..de6a238852 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -6341,7 +6341,7 @@ static int rtp_common_write(switch_rtp_t *rtp_session, if (!switch_rtp_test_flag(rtp_session, SWITCH_RTP_FLAG_VIDEO)) { this_ts = ntohl(send_msg->header.ts); - if (abs(rtp_session->last_write_ts - this_ts) > 16000) { + if ((this_ts - rtp_session->last_write_ts) > 16000) { rtp_session->flags[SWITCH_RTP_FLAG_RESET] = 1; } diff --git a/src/switch_utils.c b/src/switch_utils.c index d13db78d86..66aa2e56d8 100644 --- a/src/switch_utils.c +++ b/src/switch_utils.c @@ -1560,10 +1560,6 @@ SWITCH_DECLARE(switch_status_t) switch_find_local_ip(char *buf, int len, int *ma goto doh; } - if (iface_out.sin6_addr.s6_addr == 0) { - goto doh; - } - inet_ntop(AF_INET6, (const void *) &iface_out.sin6_addr, buf, len - 1); status = SWITCH_STATUS_SUCCESS; }