From 4de6b9858d9469645351ee8febc8d8a858b932bc Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Wed, 20 Jun 2007 02:19:29 +0000 Subject: [PATCH] add system app: MODAPP-14 git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5396 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/applications/mod_dptools/mod_dptools.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c index 1586690cd3..c38528d834 100644 --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -667,6 +667,12 @@ static void fax_detect_session_function(switch_core_session_t *session, char *da 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 @@ static switch_api_interface_t presence_api_interface = { /*.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 */ "", + /* flags */ SAF_NONE, + /*.next */ NULL +}; static switch_application_interface_t bridge_application_interface = { /*.interface_name */ "bridge", @@ -1079,7 +1094,8 @@ static switch_application_interface_t bridge_application_interface = { /* long_desc */ "Bridge the audio between two sessions", /* short_desc */ "Bridge Audio", /* syntax */ "", - /* flags */ SAF_SUPPORT_NOMEDIA + /* flags */ SAF_SUPPORT_NOMEDIA, + /* next */ &system_application_interface }; static switch_application_interface_t speak_application_interface = {