add queue_dtmf application, takes one param, a string of dtmf that will be queued to send from the channel. You could use this in the dialplan before a bridge to queue up dtmf to be sent to the other channel for example if you need to dial digits after answer for an fxo ata device.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4085 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2007-01-29 20:06:23 +00:00
parent 9821a5237a
commit d246f3a07b
1 changed files with 20 additions and 1 deletions

View 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 = {