]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
sofia log-level control improvements
authorMichael Jerris <mike@jerris.com>
Thu, 13 Dec 2007 02:42:00 +0000 (02:42 +0000)
committerMichael Jerris <mike@jerris.com>
Thu, 13 Dec 2007 02:42:00 +0000 (02:42 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6728 d0543943-73ff-0310-b7d9-9358b9ac24b2

Freeswitch.2008.sln
conf/sip_profiles/default.xml
conf/sip_profiles/nat.xml
conf/sip_profiles/outbound.xml
src/mod/endpoints/mod_sofia/mod_sofia.2008.vcproj
src/mod/endpoints/mod_sofia/mod_sofia.c
src/mod/endpoints/mod_sofia/mod_sofia.h
src/mod/endpoints/mod_sofia/sofia.c

index 9efe45cf47c5b5759077ea53174b5d34e44d0e16..9ca0c4121a39779bdbe3c22a6eaa4ce909b06e87 100644 (file)
@@ -128,6 +128,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sip_profiles", "sip_profile
        ProjectSection(SolutionItems) = preProject\r
                conf\sip_profiles\default.xml = conf\sip_profiles\default.xml\r
                conf\sip_profiles\nat.xml = conf\sip_profiles\nat.xml\r
+               conf\sip_profiles\outbound.xml = conf\sip_profiles\outbound.xml\r
        EndProjectSection\r
 EndProject\r
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "lang", "lang", "{09455AA9-C243-4F16-A1A1-A016881A2765}"\r
index c0c57d6be917c40b1e703f9d4bc03d0e27b282dd..743e499c2dba9ce73bd6038b95ad750d180e90a2 100644 (file)
@@ -16,6 +16,8 @@
   
   <settings>
     <param name="debug" value="0"/>
+    <!--<param name="sip_trace" value="yes"/>-->
+    sip_trace
     <param name="context" value="public"/>
     <param name="rfc2833-pt" value="101"/>
     <param name="sip-port" value="5060"/>
index 5a9c3007eeeef887144475ad0bd42026a97e25ad..2dabcc524f612b46c9f31eb488bacfbe46e4361a 100644 (file)
@@ -6,6 +6,7 @@
 
   <settings>
     <param name="debug" value="0"/>
+    <!--<param name="sip_trace" value="yes"/>-->
     <param name="rfc2833-pt" value="101"/>
     <param name="sip-port" value="5070"/>
     <param name="dialplan" value="XML"/>
index b1b108a48c91e6085526dc9b9f5c2c769eb85b33..8c8edef5d4a38ae09faca20a5f1237e46093b012 100644 (file)
@@ -11,6 +11,7 @@
 
   <settings>
     <param name="debug" value="0"/>
+    <!--<param name="sip_trace" value="yes"/>-->
     <param name="rfc2833-pt" value="101"/>
     <param name="sip-port" value="5080"/>
     <param name="dialplan" value="XML"/>
index dee6763333176b89138dcbe78ef9cfda7af865fd..3276eacda6d509fb16adfda44cceaa0d05472369 100644 (file)
@@ -39,7 +39,7 @@
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
-                               AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\su&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nua&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\win32&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\url&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\sip&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\msg&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\sdp&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nta&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nea&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\soa&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\iptsec&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\bnf&quot;"\r
+                               AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\su&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nua&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\win32&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\url&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\sip&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\msg&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\sdp&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nta&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nea&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\soa&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\iptsec&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\bnf&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\tport&quot;"\r
                                PreprocessorDefinitions="LIBSOFIA_SIP_UA_STATIC;PTW32_STATIC_LIB"\r
                                UsePrecompiledHeader="0"\r
                                DisableSpecificWarnings="4201"\r
                        />\r
                        <Tool\r
                                Name="VCCLCompilerTool"\r
-                               AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\su&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nua&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\win32&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\url&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\sip&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\msg&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\sdp&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nta&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nea&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\soa&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\iptsec&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\bnf&quot;"\r
+                               AdditionalIncludeDirectories="&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\su&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nua&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\win32&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\url&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\sip&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\msg&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\sdp&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nta&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\nea&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\soa&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\iptsec&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\bnf&quot;;&quot;$(InputDir)..\..\..\..\libs\sofia-sip\libsofia-sip-ua\tport&quot;"\r
                                PreprocessorDefinitions="LIBSOFIA_SIP_UA_STATIC;PTW32_STATIC_LIB"\r
                                UsePrecompiledHeader="0"\r
                                DisableSpecificWarnings="4201"\r
index 23339b458bb7c4ecd66ccafd57c0f1a04beb0325..54f842541e45f92d8a24f9f070c4dbfff23908b5 100644 (file)
@@ -1354,6 +1354,7 @@ SWITCH_STANDARD_API(sofia_function)
                "sofia help\n"
                "sofia profile <profile_name> [start|stop|restart|flush_inbound_reg|[register|unregister] [<gateway name>|all]] [reloadxml]\n"
                "sofia status [[profile | gateway] <name>]\n"
+               "sofia loglevel [0-9]\n"
                "--------------------------------------------------------------------------------\n";
                
        if (session) {
@@ -1379,6 +1380,20 @@ SWITCH_STANDARD_API(sofia_function)
                func = cmd_profile;
        } else if (!strcasecmp(argv[0], "status")) {
                func = cmd_status;
+       } else if (!strcasecmp(argv[0], "loglevel")) {
+               if (argc > 1 && argv[1]) {
+                       int level;
+                       level = atoi(argv[1]);
+                       if (level >= 0 && level <= 9) {
+                               su_log_set_level(NULL, atoi(argv[1]));
+                               stream->write_function(stream, "Sofia-sip log level set to [%d]", level);
+                       } else {
+                               stream->write_function(stream, "%s", usage_string);
+                       }
+               } else {
+                       stream->write_function(stream, "%s", usage_string);
+               }
+               goto done;
        } else if (!strcasecmp(argv[0], "help")) {
                stream->write_function(stream, "%s", usage_string);
                goto done;
index 064840d799b97d26c7caed2d44819ffcb8844951..015b040ba08ef1d15b7af132fd469a06ed0a3bd4 100644 (file)
@@ -148,7 +148,8 @@ typedef enum {
        TFLAG_INB_NOMEDIA = (1 << 23),
        TFLAG_LATE_NEGOTIATION = (1 << 24),
        TFLAG_SDP = (1 << 25),
-       TFLAG_VIDEO = (1 << 26)
+       TFLAG_VIDEO = (1 << 26),
+       TFLAG_TPORT_LOG = (1 << 27)
 } TFLAGS;
 
 struct mod_sofia_globals {
index 2cbc6c60a73c5676336d319a4c5dc4c95502c003..cd4ebd53535b96b9c63a6168cb4e48898c0e5eb0 100644 (file)
 #include "mod_sofia.h"
 #include "sofia-sip/msg_parser.h"
 #include "sofia-sip/sip_extra.h"
+#include "sofia-sip/tport_tag.h"
 
 extern su_log_t tport_log[];
+extern su_log_t iptsec_log[];
+extern su_log_t nea_log[];
+extern su_log_t nta_log[];
+extern su_log_t nth_client_log[];
+extern su_log_t nth_server_log[];
+extern su_log_t nua_log[];
+extern su_log_t soa_log[];
+extern su_log_t sresolv_log[];
+extern su_log_t stun_log[];
+
 
 static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
                                                                         char const *phrase,
@@ -334,6 +345,7 @@ void *SWITCH_THREAD_FUNC sofia_profile_thread_run(switch_thread_t *thread, void
        uint32_t ireg_loops = 0;
        uint32_t gateway_loops = 0;
        switch_event_t *s_event;
+       int tport_log = 0;
        
        switch_mutex_lock(mod_sofia_globals.mutex);
        mod_sofia_globals.threads++;
@@ -350,10 +362,14 @@ void *SWITCH_THREAD_FUNC sofia_profile_thread_run(switch_thread_t *thread, void
                goto end;
        }
 
+       if (switch_test_flag(profile, TFLAG_TPORT_LOG)) {
+               tport_log = 1;
+       }
+
        profile->nua = nua_create(profile->s_root,      /* Event loop */
                                                          sofia_event_callback, /* Callback for processing events */
                                                          profile,      /* Additional data to pass to callback */
-                                                         NUTAG_URL(profile->bindurl), NTATAG_UDP_MTU(65536), TAG_END());       /* Last tag should always finish the sequence */
+                                                         NUTAG_URL(profile->bindurl), NTATAG_UDP_MTU(65536), TAG_IF(tport_log,TPTAG_LOG(1)), TAG_END());       /* Last tag should always finish the sequence */
 
        if (!profile->nua) {
                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Creating SIP UA for profile: %s\n", profile->name);
@@ -755,8 +771,6 @@ switch_status_t config_sofia(int 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, "log-level-trace")) {
-                               su_log_set_level(tport_log, atoi(val));
                        }
                }
        }
@@ -813,7 +827,8 @@ switch_status_t config_sofia(int reload, char *profile_name)
                                                profile->debug = atoi(val);
                                        } else if (!strcasecmp(var, "use-rtp-timer") && switch_true(val)) {
                                                switch_set_flag(profile, TFLAG_TIMER);
-
+                                       } else if (!strcasecmp(var, "sip_trace") && switch_true(val)) {
+                                               switch_set_flag(profile, TFLAG_TPORT_LOG);
                                        } else if (!strcasecmp(var, "odbc-dsn") && !switch_strlen_zero(val)) {
 #ifdef SWITCH_HAVE_ODBC
                                                profile->odbc_dsn = switch_core_strdup(profile->pool, val);