Migrate a large number of AMI events over to Stasis-Core

This patch moves a number of AMI events over to the Stasis-Core message bus.
This includes:
 * ChanSpyStart/Stop
 * MonitorStart/Stop
 * MusicOnHoldStart/Stop
 * FullyBooted/Reload
 * All Voicemail/MWI related events

In addition, it adds some Stasis-Core and AMI support for generic AMI messages,
refactors the message router in AMI to use a single router with topic
forwarding for the topics that AMI cares about, and refactors MWI message
types and topics to be more name compliant.

Review: https://reviewboard.asterisk.org/r/2532

(closes issue ASTERISK-21462)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@389733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan
2013-05-24 20:44:07 +00:00
parent c1b51fd265
commit 06be8463b6
37 changed files with 2093 additions and 710 deletions

View File

@@ -51,6 +51,20 @@ int ast_msg_init(void); /*!< Provided by message.c */
void ast_msg_shutdown(void); /*!< Provided by message.c */
int aco_init(void); /*!< Provided by config_options.c */
/*!
* \since 12
* \brief Possible return types for \ref ast_module_reload
*/
enum ast_module_reload_result {
AST_MODULE_RELOAD_SUCCESS = 0, /*!< The module was reloaded succesfully */
AST_MODULE_RELOAD_QUEUED, /*!< The module reload request was queued */
AST_MODULE_RELOAD_NOT_FOUND, /*!< The requested module was not found */
AST_MODULE_RELOAD_ERROR, /*!< An error occurred while reloading the module */
AST_MODULE_RELOAD_IN_PROGRESS, /*!< A module reload request is already in progress */
AST_MODULE_RELOAD_UNINITIALIZED, /*!< The module has not been initialized */
AST_MODULE_RELOAD_NOT_IMPLEMENTED, /*!< This module doesn't support reloading */
};
/*!
* \brief Initialize the bridging system.
* \since 12.0.0
@@ -78,13 +92,10 @@ int ast_local_init(void);
*
* \note Modules are reloaded using their reload() functions, not unloading
* them and loading them again.
*
* \return 0 if the specified module was not found.
* \retval 1 if the module was found but cannot be reloaded.
* \retval -1 if a reload operation is already in progress.
* \retval 2 if the specfied module was found and reloaded.
*
* \retval The \ref ast_module_reload_result status of the module load request
*/
int ast_module_reload(const char *name);
enum ast_module_reload_result ast_module_reload(const char *name);
/*!
* \brief Process reload requests received during startup.