From 9afed23312d7e530de2755c1e2fcc20d8a06d260 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 19 Feb 2010 22:08:10 +0000 Subject: [PATCH] avoiding seglock git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16707 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/endpoints/mod_sofia/sofia_glue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index fa1c4b03c2..90554d4456 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -731,7 +731,7 @@ switch_status_t sofia_glue_tech_choose_port(private_object_t *tech_pvt, int forc if (lookup_rtpip == use_ip) { /* sofia_glue_ext_address_lookup didn't return any error, but the return IP is the same as the original one, which means no lookup was necessary. Check if NAT is detected */ - if (sofia_glue_check_nat(tech_pvt->profile, tech_pvt->remote_ip)) { + if (!zstr(tech_pvt->remote_ip) && sofia_glue_check_nat(tech_pvt->profile, tech_pvt->remote_ip)) { /* Yes, map the port through switch_nat */ switch_nat_add_mapping(tech_pvt->local_sdp_audio_port, SWITCH_NAT_UDP, &sdp_port, SWITCH_FALSE); } else { @@ -957,6 +957,8 @@ char *sofia_glue_strip_uri(const char *str) int sofia_glue_check_nat(sofia_profile_t *profile, const char *network_ip) { + switch_assert(network_ip); + return (profile->extsipip && !switch_check_network_list_ip(network_ip, profile->local_network)); }