From 64aaf4e9d8da2113a7782212bf38c1f772e13c85 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 14 Jun 2010 13:42:06 -0500 Subject: [PATCH] FSMOD-61 --- src/mod/endpoints/mod_sofia/sofia.c | 3 +++ src/mod/endpoints/mod_sofia/sofia_glue.c | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index ac22a23544..a04b564184 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -2989,6 +2989,9 @@ switch_status_t config_sofia(int reload, char *profile_name) if (ip) { if (!strncasecmp(ip, "autonat:", 8)) { profile->extrtpip = switch_core_strdup(profile->pool, ip + 8); + if (zstr(profile->extsipip)) { + profile->extsipip = switch_core_strdup(profile->pool, profile->extrtpip); + } sofia_set_pflag(profile, PFLAG_AUTO_NAT); } else { profile->extrtpip = switch_core_strdup(profile->pool, ip); diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index 29690fe80c..442a15a8e8 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -1744,18 +1744,18 @@ switch_status_t sofia_glue_do_invite(switch_core_session_t *session) } } - if (!rpid_domain) { - rpid_domain = "cluecon.com"; - } - if (sofia_test_pflag(tech_pvt->profile, PFLAG_AUTO_NAT)) { - if (!zstr(tech_pvt->remote_ip) && sofia_glue_check_nat(tech_pvt->profile, tech_pvt->remote_ip)) { + if (!zstr(tech_pvt->remote_ip) && !zstr(profile->extsipip) && sofia_glue_check_nat(tech_pvt->profile, tech_pvt->remote_ip)) { rpid_domain = tech_pvt->profile->extsipip; } else { rpid_domain = tech_pvt->profile->sipip; } } + if (zstr(rpid_domain)) { + rpid_domain = "cluecon.com"; + } + /* * Ignore transport chanvar and uri parameter for gateway connections * since all of them have been already taken care of in mod_sofia.c:sofia_outgoing_channel()