dect
/
asterisk
Archived
13
0
Fork 0

New manager action SendDTMF #6682 (squinky86)

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@24776 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
bweschke 2006-05-04 21:33:45 +00:00
parent f2143341e1
commit 9ec99bceb3
2 changed files with 33 additions and 0 deletions

View File

@ -43,6 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/options.h"
#include "asterisk/utils.h"
#include "asterisk/app.h"
#include "asterisk/manager.h"
static char *tdesc = "Send DTMF digits Application";
@ -93,11 +94,39 @@ static int senddtmf_exec(struct ast_channel *chan, void *data)
return res;
}
static char mandescr_playdtmf[] =
"Description: Plays a dtmf digit on the specified channel.\n"
"Variables: (all are required)\n"
" Channel: Channel name to send digit to\n"
" Digit: The dtmf digit to play\n";
static int manager_play_dtmf(struct mansession *s, struct message *m)
{
char *channel, *digit;
channel = astman_get_header(m, "Channel");
digit = astman_get_header(m, "Digit");
struct ast_channel *chan = ast_get_channel_by_name_locked(channel);
if (chan == NULL) {
astman_send_error(s, m, "No such channel");
return 0;
}
if (digit == NULL) {
astman_send_error(s, m, "No digit specified");
return 0;
}
ast_senddigit(chan, *digit);
ast_mutex_unlock(&chan->lock);
astman_send_ack(s, m, "DTMF successfully queued");
return 0;
}
static int unload_module(void *mod)
{
int res;
res = ast_unregister_application(app);
res |= ast_manager_unregister("PlayDTMF");
STANDARD_HANGUP_LOCALUSERS;
@ -106,6 +135,7 @@ static int unload_module(void *mod)
static int load_module(void *mod)
{
ast_manager_register2( "PlayDTMF", EVENT_FLAG_CALL, manager_play_dtmf, "Play DTMF signal on a specific channel.", mandescr_playdtmf );
return ast_register_application(app, senddtmf_exec, synopsis, descrip);
}

View File

@ -101,6 +101,9 @@ Parameters: Channel, Exten, Context, Priority, Timeout,
Command: Ping
Parameters: None
Command: PlayDTMF
Parameters: Channel, Digit
Command: Redirect
Parameters: Channel, ExtraChannel, Exten, Context, Priority