[commit] r5256 - freeswitch/trunk/src/mod/applications/mod_dptools
Author: mikej Date: Mon Jun 4 13:12:43 2007 New Revision: 5256 Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Log: add start_dtmf and stop_dtmf apps, inspired by trixter. 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 Mon Jun 4 13:12:43 2007 @@ -649,6 +649,27 @@ } +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", @@ -681,6 +702,25 @@ /*.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", @@ -689,7 +729,7 @@ /*.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 = {
participants (1)
-
Freeswitch SVN