diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 005b10081b..1ac2437271 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -577,9 +577,16 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ } if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_AUTOADJ) && rtp_session->from_addr->port && (rtp_session->from_addr->port != rtp_session->remote_port)) { + const char *err; + char *tx_host; uint32_t old = rtp_session->remote_port; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Auto Changing port from %u to %u\n", old, rtp_session->from_addr->port); - rtp_session->remote_port = rtp_session->from_addr->port; + char *old_host; + + switch_sockaddr_ip_get(&tx_host, rtp_session->from_addr); + switch_sockaddr_ip_get(&old_host, rtp_session->remote_addr); + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Auto Changing port from %s:%u to %s:%u\n", old_host, old, tx_host, rtp_session->from_addr->port); + switch_rtp_set_remote_address(rtp_session, tx_host, rtp_session->from_addr->port, &err); } } else { if (rtp_session->recv_msg.header.version == 0 && rtp_session->ice_user) {