}
+static void dtm_session_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ switch_ivr_inband_dtmf_session(session);
+}
+
+
+static void stop_dtmf_session_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+
+ switch_ivr_stop_inband_dtmf_session(session);
+}
+
static const switch_api_interface_t strepoch_api_interface = {
/*.interface_name */ "strepoch",
/*.desc */ "Convert a date string into epoch time",
/*.next */ &dptools_api_interface
};
+static const switch_application_interface_t dtmf_application_interface = {
+ /*.interface_name */ "start_dtmf",
+ /*.application_function */ dtm_session_function,
+ /* long_desc */ "Detect inband dtmf on the session",
+ /* short_desc */ "Detect dtmf",
+ /* syntax */ "",
+ /* flags */ SAF_NONE,
+ NULL
+};
+
+static const switch_application_interface_t stop_dtmf_application_interface = {
+ /*.interface_name */ "stop_dtmf",
+ /*.application_function */ stop_dtmf_session_function,
+ /* long_desc */ "Stop detecting inband dtmf.",
+ /* short_desc */ "stop inband dtmf.",
+ /* syntax */ "<path>",
+ /* flags */ SAF_NONE,
+ &dtmf_application_interface
+};
static const switch_application_interface_t exe_application_interface = {
/*.interface_name */ "execute_extension",
/*.short_desc */ "Execute an extension",
/*.syntax */ "<extension> <dialplan> <context>",
/* flags */ SAF_SUPPORT_NOMEDIA,
- /*.next */
+ /*.next */ &stop_dtmf_application_interface
};
static const switch_application_interface_t sched_transfer_application_interface = {