diff options
author | matteo <matteo@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-02-24 06:00:18 +0000 |
---|---|---|
committer | matteo <matteo@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-02-24 06:00:18 +0000 |
commit | f6a861f645e0b978daabe5c2095a22cb69978d5c (patch) | |
tree | 388e986b909e145722de5c909a1496e0402a4ac7 /manager.c | |
parent | b6be24372a79c5fe8568a831bab188db9ea98e8c (diff) |
Mon Feb 24 07:00:01 CET 2003
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@622 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'manager.c')
-rwxr-xr-x | manager.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -30,6 +30,7 @@ #include <asterisk/logger.h> #include <asterisk/options.h> #include <asterisk/cli.h> +#include <asterisk/app.h> #include <asterisk/pbx.h> static int enabled = 0; @@ -389,6 +390,18 @@ static int action_originate(struct mansession *s, struct message *m) return 0; } +static int action_mailboxstatus(struct mansession *s, struct message *m) +{ + char *mailbox = get_header(m, "Mailbox"); + if (!mailbox || !strlen(mailbox)) { + send_error(s, "Mailbox not specified"); + return 0; + } + send_ack(s, "Mailbox status will follow"); + manager_event(EVENT_FLAG_CALL, "MessageWaiting", "Mailbox: %s\r\nWaiting:%d\r\n", mailbox, ast_app_has_voicemail(mailbox)); + return 0; +} + static int process_message(struct mansession *s, struct message *m) { char action[80]; @@ -638,6 +651,7 @@ int init_manager(void) ast_manager_register( "Status", EVENT_FLAG_CALL, action_status, "Status" ); ast_manager_register( "Redirect", EVENT_FLAG_CALL, action_redirect, "Redirect" ); ast_manager_register( "Originate", EVENT_FLAG_CALL, action_originate, "Originate Call" ); + ast_manager_register( "MailboxStatus", EVENT_FLAG_CALL, action_mailboxstatus, "Check Mailbox" ); ast_manager_register( "Command", EVENT_FLAG_COMMAND, action_command, "Execute Command" ); ast_cli_register(&show_mancmds_cli); |