From 66cf23ff4baa9e14ffc938f7285cf98709d7dcc2 Mon Sep 17 00:00:00 2001
From: Shaddi Hasan <shaddi@cs.berkeley.edu>
Date: Mon, 12 Nov 2012 09:23:58 +0900
Subject: [PATCH] Add system command to chatplan

---
 src/mod/applications/mod_sms/mod_sms.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/mod/applications/mod_sms/mod_sms.c b/src/mod/applications/mod_sms/mod_sms.c
index 34b2971..372e790 100644
--- a/src/mod/applications/mod_sms/mod_sms.c
+++ b/src/mod/applications/mod_sms/mod_sms.c
@@ -438,6 +438,16 @@ static switch_status_t chat_send(switch_event_t *message_event)
 
 }
 
+SWITCH_STANDARD_CHAT_APP(system_function)
+{
+	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Executing command: %s\n", data);
+        if (switch_system(data, SWITCH_TRUE) < 0) {
+                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Failed to execute command: %s\n", data);
+		return SWITCH_STATUS_FALSE;
+        }
+	return SWITCH_STATUS_SUCCESS;
+}
+
 SWITCH_STANDARD_CHAT_APP(stop_function)
 {
 	switch_set_flag(message, EF_NO_CHAT_EXEC);
@@ -531,6 +541,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_sms_load)
 	SWITCH_ADD_CHAT_APP(chat_app_interface, "set", "set a variable", "set a variable", set_function, "", SCAF_NONE);
 	SWITCH_ADD_CHAT_APP(chat_app_interface, "send", "send the message as-is", "send the message as-is", send_function, "", SCAF_NONE);
 	SWITCH_ADD_CHAT_APP(chat_app_interface, "fire", "fire the message", "fire the message", fire_function, "", SCAF_NONE);
+	SWITCH_ADD_CHAT_APP(chat_app_interface, "system", "execute a system command", "execute a sytem command", system_function, "", SCAF_NONE);
 						
 	/* indicate that the module should continue to be loaded */
 	return SWITCH_STATUS_SUCCESS;
-- 
1.7.0.4

