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

Freeswitch SVN mikej at freeswitch.org
Fri Jun 15 13:39:18 EDT 2007


Author: mikej
Date: Fri Jun 15 13:39:18 2007
New Revision: 5375

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

Log:
add system application (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	Fri Jun 15 13:39:18 2007
@@ -668,6 +668,12 @@
 	switch_ivr_fax_detect_session(session);
 }
 
+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 stop_fax_detect_session_function(switch_core_session_t *session, char *data)
 {
 	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Disabling fax detection\n");
@@ -1012,6 +1018,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",
@@ -1019,7 +1034,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