From 10b1bd4a7926fc60e6f296c082504e0ec12c1a4d Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 13 Dec 2006 22:18:27 +0000 Subject: [PATCH] improve nat support git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3639 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_rtp.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 6edf270978..43b462e748 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -865,18 +865,15 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ if (rtp_session->recv_msg.header.version) { if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_AUTOADJ) && rtp_session->from_addr->port) { - if ((rtp_session->from_addr->port != rtp_session->remote_port)) { + char *tx_host; + char *old_host; + char bufa[30], bufb[30]; + tx_host = switch_get_addr(bufa, sizeof(bufa), rtp_session->from_addr); + old_host = switch_get_addr(bufb, sizeof(bufb), rtp_session->remote_addr); + + if ((rtp_session->from_addr->port != rtp_session->remote_port) || strcmp(tx_host, old_host)) { const char *err; - char *tx_host; uint32_t old = rtp_session->remote_port; - char *old_host; - char bufa[30], bufb[30]; - - //switch_sockaddr_ip_get(&tx_host, rtp_session->from_addr); - //switch_sockaddr_ip_get(&old_host, rtp_session->remote_addr); - - tx_host = switch_get_addr(bufa, sizeof(bufa), rtp_session->from_addr); - old_host = switch_get_addr(bufb, sizeof(bufb), rtp_session->remote_addr); if (!switch_strlen_zero(tx_host) && rtp_session->from_addr->port > 0) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Auto Changing port from %s:%u to %s:%u\n",