]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Do not set nat mode when the device's network_ip is within the acl also so if your...
authorBrian West <brian@freeswitch.org>
Tue, 14 Dec 2010 18:00:29 +0000 (12:00 -0600)
committerBrian West <brian@freeswitch.org>
Tue, 14 Dec 2010 18:00:55 +0000 (12:00 -0600)
src/mod/endpoints/mod_sofia/sofia.c

index 591cd7f4aa36baba78f661f959d9286549766a84..d429f5967293d4dcdcb75d9b3b221709b8d4c919 100644 (file)
@@ -6267,6 +6267,13 @@ void sofia_handle_sip_i_invite(nua_t *nua, sofia_profile_t *profile, nua_handle_
                        for (x = 0; x < profile->nat_acl_count; x++) {
                                last_acl = profile->nat_acl[x];
                                if (!(ok = switch_check_network_list_ip(contact_host, last_acl))) {
+                                       /* override the decision to say this is nat because the network_ip is within the acl too */
+                                       if ((ok = switch_check_network_list_ip(network_ip, last_acl))) { 
+                                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG10, "Endpoint is already inside nat with us.\n");
+                                               ok = 0;
+                                       } else {
+                                               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG10, "Decision stands they are behind nat.\n");
+                                       }
                                        break;
                                }
                        }