[Freeswitch-svn] [commit] r5396 - freeswitch/trunk/src/mod/applications/mod_dptools

Freeswitch SVN mikej at freeswitch.org
Tue Jun 19 22:19:29 EDT 2007


Author: mikej
Date: Tue Jun 19 22:19:29 2007
New Revision: 5396

Modified:
   freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c

Log:
add system app: MODAPP-14

Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c	(original)
+++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c	Tue Jun 19 22:19:29 2007
@@ -667,6 +667,12 @@
 	switch_ivr_tone_detect_session(session, "fax", "1100.0", "r", 0, NULL, NULL);
 }
 
+static void system_session_function(switch_core_session_t *session, char *data)
+{
+    switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Executing command: %s\n",data);
+    system(data);
+}
+
 static void tone_detect_session_function(switch_core_session_t *session, char *data)
 {
 	char *argv[6] = { 0 };
@@ -1072,6 +1078,15 @@
 	/*.next */ &dptools_api_interface
 };
 
+static switch_application_interface_t system_application_interface = {
+    /*.interface_name */ "system",
+    /*.application_function */ system_session_function,
+    /* long_desc */ "Execute a system command",
+    /* short_desc */ "Execute a system command",
+    /* syntax */ "<command>",
+    /* flags */ SAF_NONE,
+    /*.next */ NULL
+};
 
 static switch_application_interface_t bridge_application_interface = {
 	/*.interface_name */ "bridge",
@@ -1079,7 +1094,8 @@
 	/* long_desc */ "Bridge the audio between two sessions",
 	/* short_desc */ "Bridge Audio",
 	/* syntax */ "<channel_url>",
-	/* flags */ SAF_SUPPORT_NOMEDIA
+	/* flags */ SAF_SUPPORT_NOMEDIA,
+	/* next */ &system_application_interface
 };
 
 static switch_application_interface_t speak_application_interface = {



More information about the Freeswitch-svn mailing list