]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add queue_dtmf application, takes one param, a string of dtmf that will be queued...
authorMichael Jerris <mike@jerris.com>
Mon, 29 Jan 2007 20:06:23 +0000 (20:06 +0000)
committerMichael Jerris <mike@jerris.com>
Mon, 29 Jan 2007 20:06:23 +0000 (20:06 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4085 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_dptools/mod_dptools.c

index 152d0a7d3c934ac0b7873f20305ad4dcdd662f68..c94702619160978ba68689ceec7f2bb16dc0cbb6 100644 (file)
@@ -71,6 +71,16 @@ static void ringback_function(switch_core_session_t *session, char *data)
        switch_channel_ringback(channel);
 }
 
+static void queue_dtmf_function(switch_core_session_t *session, char *data)
+{
+       switch_channel_t *channel;
+       if (!switch_strlen_zero(data)) {
+               channel = switch_core_session_get_channel(session);
+               assert(channel != NULL);
+               switch_channel_queue_dtmf(channel, data);
+       }
+}
+
 static void transfer_function(switch_core_session_t *session, char *data)
 {
        int argc;
@@ -469,13 +479,22 @@ static switch_api_interface_t presence_api_interface = {
        /*.next */ &dptools_api_interface
 };
 
+static const switch_application_interface_t queuedtmf_application_interface = {
+       /*.interface_name */ "queue_dtmf",
+       /*.application_function */ queue_dtmf_function, 
+       /* long_desc */ "Queue dtmf to be sent from a session",
+       /* short_desc */ "Queue dtmf to be sent",
+       /* syntax */ "<dtmf_data>",
+       /*.next */ NULL
+};
+
 static const switch_application_interface_t redirect_application_interface = {
        /*.interface_name */ "redirect",
        /*.application_function */ redirect_function,   
        /* long_desc */ "Send a redirect message to a session.",
        /* short_desc */ "Send session redirect",
        /* syntax */ "<redirect_data>",
-       /*.next */ NULL
+       /*.next */ &queuedtmf_application_interface
 };
 
 static const switch_application_interface_t ivr_application_interface = {