]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_sofia] Add abort-on-empty-external-ip global param disabled by default. 221/head
authorAndrey Volk <andywolk@gmail.com>
Fri, 10 Jan 2020 21:18:14 +0000 (01:18 +0400)
committerAndrey Volk <andywolk@gmail.com>
Fri, 10 Jan 2020 21:18:14 +0000 (01:18 +0400)
conf/vanilla/autoload_configs/sofia.conf.xml
src/mod/endpoints/mod_sofia/mod_sofia.h
src/mod/endpoints/mod_sofia/sofia.c

index d764a59e51c202045415c057a6947ceac2f64e0a..629a0019fa222df473e6e71bc1be78d2e0907296 100644 (file)
@@ -2,6 +2,7 @@
 
   <global_settings>
     <param name="log-level" value="0"/>
+    <!-- <param name="abort-on-empty-external-ip" value="true"/> -->
     <!-- <param name="auto-restart" value="false"/> -->
     <param name="debug-presence" value="0"/>
     <!-- <param name="capture-server" value="udp:homer.domain.com:5060"/> -->
index c71b2d0559f5edd64fdf1e1bd8f4cc81320255c8..59b52007806e4387359374a41302664abedc6360 100644 (file)
@@ -405,6 +405,7 @@ struct mod_sofia_globals {
        uint32_t max_reg_threads;
        time_t presence_epoch;
        int presence_year;
+       int abort_on_empty_external_ip;
 };
 extern struct mod_sofia_globals mod_sofia_globals;
 
index 6c33cf45a5cd231f186e9d12aaffd448c3fa0da3..f2388d6879d289df9cc2036fd566f791382c496f 100644 (file)
@@ -4416,6 +4416,8 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
                        char *val = (char *) switch_xml_attr_soft(param, "value");
                        if (!strcasecmp(var, "log-level")) {
                                su_log_set_level(NULL, atoi(val));
+                       } else if (!strcasecmp(var, "abort-on-empty-external-ip")) {
+                               mod_sofia_globals.abort_on_empty_external_ip = switch_true(val);
                        } else if (!strcasecmp(var, "tracelevel")) {
                                mod_sofia_globals.tracelevel = switch_log_str2level(val);
                        } else if (!strcasecmp(var, "debug-presence")) {
@@ -5059,7 +5061,9 @@ switch_status_t config_sofia(sofia_config_t reload, char *profile_name)
                                                        }
                                                } else {
                                                        switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid ext-rtp-ip\n");
-                                                       switch_goto_status(SWITCH_STATUS_GENERR, done);
+                                                       if (mod_sofia_globals.abort_on_empty_external_ip) {
+                                                               switch_goto_status(SWITCH_STATUS_GENERR, done);
+                                                       }
                                                }
                                        } else if (!strcasecmp(var, "rtp-ip")) {
                                                char *ip = mod_sofia_globals.guess_ip;