summaryrefslogtreecommitdiff
path: root/main/manager.c
diff options
context:
space:
mode:
authorKinsey Moore <kmoore@digium.com>2014-07-30 18:32:25 +0000
committerKinsey Moore <kmoore@digium.com>2014-07-30 18:32:25 +0000
commit485d0379aeac18563f2fd3b3fee8516e32f16675 (patch)
tree230df76a414eefebfb510a2041337bfff52e45d2 /main/manager.c
parentcac711fc95d205d586d451c027b7e542ce9c64b3 (diff)
manager: Add state list commands
This patch adds three new AMI commands: * ExtensionStateList (pbx.c) - list all known extension state hints and their current statuses. Events emitted by the list action are equivalent to the ExtensionStatus events. * PresenceStateList (res_manager_presencestate) - list all known presence state values. Events emitted are generated by the stasis message type, and hence are PresenceStateChange events. * DeviceStateList (res_manager_devicestate) - list all known device state values. Events emitted are generated by the stasis message type, and hence are DeviceStateChange events. Patch-by: Matt Jordan Review: https://reviewboard.asterisk.org/r/3799/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@419806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/manager.c')
-rw-r--r--main/manager.c35
1 files changed, 25 insertions, 10 deletions
diff --git a/main/manager.c b/main/manager.c
index 0a10d8ce7..50f74db65 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -1063,6 +1063,31 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
<ref type="manager">Redirect</ref>
</see-also>
</manager>
+ <managerEvent name="ExtensionStatus" language="en_US">
+ <managerEventInstance class="EVENT_FLAG_CALL">
+ <synopsis>Raised when a hint changes due to a device state change.</synopsis>
+ <syntax>
+ <parameter name="Exten" />
+ <parameter name="Context" />
+ <parameter name="Hint" />
+ <parameter name="Status" />
+ <parameter name="StatusText" />
+ </syntax>
+ </managerEventInstance>
+ </managerEvent>
+ <managerEvent name="PresenceStatus" language="en_US">
+ <managerEventInstance class="EVENT_FLAG_CALL">
+ <synopsis>Raised when a hint changes due to a presence state change.</synopsis>
+ <syntax>
+ <parameter name="Exten" />
+ <parameter name="Context" />
+ <parameter name="Hint" />
+ <parameter name="Status" />
+ <parameter name="Subtype" />
+ <parameter name="Message" />
+ </syntax>
+ </managerEventInstance>
+ </managerEvent>
***/
/*! \addtogroup Group_AMI AMI functions
@@ -6244,11 +6269,6 @@ static int manager_state_cb(char *context, char *exten, struct ast_state_cb_info
switch(info->reason) {
case AST_HINT_UPDATE_DEVICE:
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when an extension state has changed.</synopsis>
- </managerEventInstance>
- ***/
manager_event(EVENT_FLAG_CALL, "ExtensionStatus",
"Exten: %s\r\n"
"Context: %s\r\n"
@@ -6262,11 +6282,6 @@ static int manager_state_cb(char *context, char *exten, struct ast_state_cb_info
ast_extension_state2str(info->exten_state));
break;
case AST_HINT_UPDATE_PRESENCE:
- /*** DOCUMENTATION
- <managerEventInstance>
- <synopsis>Raised when a presence state has changed.</synopsis>
- </managerEventInstance>
- ***/
manager_event(EVENT_FLAG_CALL, "PresenceStatus",
"Exten: %s\r\n"
"Context: %s\r\n"