[Freeswitch-svn] [commit] r10252 - in freeswitch/trunk/src/mod/applications: mod_commands mod_dptools

Freeswitch SVN anthm at freeswitch.org
Wed Nov 5 12:25:54 EST 2008


Author: anthm
Date: Wed Nov  5 12:25:54 2008
New Revision: 10252

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

Log:
add flush_dtmf app and uuid_flush_dtmf api command

Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c	(original)
+++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c	Wed Nov  5 12:25:54 2008
@@ -2477,6 +2477,21 @@
 
 }
 
+SWITCH_STANDARD_API(uuid_flush_dtmf_function)
+{
+	switch_core_session_t *fsession;
+
+	if (!switch_strlen_zero(cmd) && (fsession = switch_core_session_locate(cmd))) {
+		switch_channel_flush_dtmf(switch_core_session_get_channel(fsession));
+		switch_core_session_rwunlock(fsession);
+		stream->write_function(stream, "+OK\n");
+	} else {
+		stream->write_function(stream, "-ERR no such session\n");
+	}
+
+	return SWITCH_STATUS_SUCCESS;
+}
+
 #define SETVAR_SYNTAX "<uuid> <var> <value>"
 SWITCH_STANDARD_API(uuid_setvar_function)
 {
@@ -2815,6 +2830,7 @@
 	switch_api_interface_t *commands_api_interface;
 	*module_interface = switch_loadable_module_create_module_interface(pool, modname);
 
+	SWITCH_ADD_API(commands_api_interface, "uuid_flush_dtmf", "Flush dtmf on a given uuid", uuid_flush_dtmf_function, "<uuid>");
 	SWITCH_ADD_API(commands_api_interface, "md5", "md5", md5_function, "<data>");
 	SWITCH_ADD_API(commands_api_interface, "hupall", "hupall", hupall_api_function, "<cause> [<var> <value>]");
 	SWITCH_ADD_API(commands_api_interface, "strftime_tz", "strftime_tz", strftime_tz_api_function, "<Timezone_name> [format string]");

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	Wed Nov  5 12:25:54 2008
@@ -411,6 +411,11 @@
 
 }
 
+SWITCH_STANDARD_APP(flush_dtmf_function)
+{
+	switch_channel_flush_dtmf(switch_core_session_get_channel(session));
+}
+
 SWITCH_STANDARD_APP(transfer_function)
 {
 	int argc;
@@ -2279,6 +2284,7 @@
 	SWITCH_ADD_APP(app_interface, "privacy", "Set privacy on calls", "Set caller privacy on calls.", privacy_function, "off|on|name|full|number",
 				   SAF_SUPPORT_NOMEDIA);
 
+	SWITCH_ADD_APP(app_interface, "flush_dtmf", "flush any queued dtmf", "flush any queued dtmf", flush_dtmf_function, "", SAF_SUPPORT_NOMEDIA);
 	SWITCH_ADD_APP(app_interface, "hold", "Send a hold message", "Send a hold message", hold_function, HOLD_SYNTAX, SAF_SUPPORT_NOMEDIA);
 	SWITCH_ADD_APP(app_interface, "unhold", "Send a un-hold message", "Send a un-hold message", unhold_function, UNHOLD_SYNTAX, SAF_SUPPORT_NOMEDIA);
 	SWITCH_ADD_APP(app_interface, "transfer", "Transfer a channel", TRANSFER_LONG_DESC, transfer_function, "<exten> [<dialplan> <context>]",



More information about the Freeswitch-svn mailing list