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:
parent
9821a5237a
commit
d246f3a07b
|
@ -71,6 +71,16 @@ static void ringback_function(switch_core_session_t *session, char *data)
|
||||||
switch_channel_ringback(channel);
|
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)
|
static void transfer_function(switch_core_session_t *session, char *data)
|
||||||
{
|
{
|
||||||
int argc;
|
int argc;
|
||||||
|
@ -469,13 +479,22 @@ static switch_api_interface_t presence_api_interface = {
|
||||||
/*.next */ &dptools_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 = {
|
static const switch_application_interface_t redirect_application_interface = {
|
||||||
/*.interface_name */ "redirect",
|
/*.interface_name */ "redirect",
|
||||||
/*.application_function */ redirect_function,
|
/*.application_function */ redirect_function,
|
||||||
/* long_desc */ "Send a redirect message to a session.",
|
/* long_desc */ "Send a redirect message to a session.",
|
||||||
/* short_desc */ "Send session redirect",
|
/* short_desc */ "Send session redirect",
|
||||||
/* syntax */ "<redirect_data>",
|
/* syntax */ "<redirect_data>",
|
||||||
/*.next */ NULL
|
/*.next */ &queuedtmf_application_interface
|
||||||
};
|
};
|
||||||
|
|
||||||
static const switch_application_interface_t ivr_application_interface = {
|
static const switch_application_interface_t ivr_application_interface = {
|
||||||
|
|
Loading…
Reference in New Issue