aboutsummaryrefslogtreecommitdiffstats
path: root/manager.c
diff options
context:
space:
mode:
authormatteo <matteo@f38db490-d61c-443f-a65b-d21fe96a405b>2003-02-24 06:00:18 +0000
committermatteo <matteo@f38db490-d61c-443f-a65b-d21fe96a405b>2003-02-24 06:00:18 +0000
commitf6a861f645e0b978daabe5c2095a22cb69978d5c (patch)
tree388e986b909e145722de5c909a1496e0402a4ac7 /manager.c
parentb6be24372a79c5fe8568a831bab188db9ea98e8c (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-xmanager.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/manager.c b/manager.c
index f7a3b5126..a0c06f5a5 100755
--- a/manager.c
+++ b/manager.c
@@ -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);