Asterisk - The Open Source Telephony Project GIT-master-b023714
|
Test AMI hook. More...
#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/cli.h"
#include "asterisk/utils.h"
#include "asterisk/manager.h"
#include "asterisk/test.h"
Go to the source code of this file.
Macros | |
#define | CATEGORY "/main/amihooks/" |
Functions | |
static void | __reg_module (void) |
static void | __unreg_module (void) |
static int | amihook_helper (int category, const char *event, char *content) |
struct ast_module * | AST_MODULE_SELF_SYM (void) |
AST_TEST_DEFINE (amihook_cli_send) | |
static char * | handle_cli_amihook_register_hook (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_amihook_send (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | handle_cli_amihook_unregister_hook (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static int | hook_send (void) |
static int | load_module (void) |
static void | register_hook (void) |
static int | unload_module (void) |
static void | unregister_hook (void) |
static int | wait_for_hook (struct ast_test *test) |
Variables | |
static struct ast_module_info | __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "AMI Hook Test Module" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, .support_level = AST_MODULE_SUPPORT_CORE, } |
static const struct ast_module_info * | ast_module_info = &__mod_info |
static struct ast_cli_entry | cli_amihook_evt [] |
int | done |
ast_cond_t | hook_cond |
static ast_mutex_t | hook_lock = AST_MUTEX_INIT_VALUE |
static struct manager_custom_hook | test_hook |
Test AMI hook.
This started, and continues to serves, as an example illustrating the ability for a custom module to hook into AMI. Registration for AMI events and sending of AMI actions is shown. A test has also been created that utilizes the original example in order to make sure the ami event hook gets raised.
Definition in file test_amihooks.c.
#define CATEGORY "/main/amihooks/" |
Definition at line 44 of file test_amihooks.c.
|
static |
Definition at line 218 of file test_amihooks.c.
|
static |
Definition at line 218 of file test_amihooks.c.
|
static |
Definition at line 95 of file test_amihooks.c.
References ast_cond_signal, ast_log, ast_mutex_lock, ast_mutex_unlock, done, hook_cond, hook_lock, and LOG_NOTICE.
struct ast_module * AST_MODULE_SELF_SYM | ( | void | ) |
Definition at line 218 of file test_amihooks.c.
AST_TEST_DEFINE | ( | amihook_cli_send | ) |
Definition at line 72 of file test_amihooks.c.
References ast_cli_command, AST_TEST_FAIL, AST_TEST_NOT_RUN, AST_TEST_PASS, CATEGORY, done, TEST_EXECUTE, TEST_INIT, and wait_for_hook().
|
static |
Definition at line 156 of file test_amihooks.c.
References CLI_FAILURE, CLI_GENERATE, CLI_HANDLER, CLI_INIT, CLI_SUCCESS, ast_cli_entry::command, NULL, register_hook(), and ast_cli_entry::usage.
|
static |
Definition at line 137 of file test_amihooks.c.
References CLI_FAILURE, CLI_GENERATE, CLI_HANDLER, CLI_INIT, CLI_SUCCESS, ast_cli_entry::command, hook_send(), NULL, and ast_cli_entry::usage.
|
static |
Definition at line 175 of file test_amihooks.c.
References CLI_FAILURE, CLI_GENERATE, CLI_HANDLER, CLI_INIT, CLI_SUCCESS, ast_cli_entry::command, NULL, unregister_hook(), and ast_cli_entry::usage.
|
static |
Definition at line 111 of file test_amihooks.c.
References ast_hook_send_action(), and test_hook.
Referenced by handle_cli_amihook_send().
|
static |
Definition at line 207 of file test_amihooks.c.
References ARRAY_LEN, ast_cli_register_multiple, AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, AST_TEST_REGISTER, and cli_amihook_evt.
|
static |
Definition at line 120 of file test_amihooks.c.
References ast_manager_register_hook(), ast_manager_unregister_hook(), and test_hook.
Referenced by handle_cli_amihook_register_hook().
|
static |
Definition at line 200 of file test_amihooks.c.
References ARRAY_LEN, ast_cli_unregister_multiple(), ast_manager_unregister_hook(), AST_TEST_UNREGISTER, cli_amihook_evt, and test_hook.
|
static |
Definition at line 130 of file test_amihooks.c.
References ast_manager_unregister_hook(), and test_hook.
Referenced by handle_cli_amihook_unregister_hook().
|
static |
Definition at line 50 of file test_amihooks.c.
References ast_cond_timedwait, ast_mutex_lock, ast_mutex_unlock, ast_test_status_update, ast_tvnow(), done, hook_cond, and hook_lock.
Referenced by AST_TEST_DEFINE().
|
static |
Definition at line 218 of file test_amihooks.c.
|
static |
Definition at line 218 of file test_amihooks.c.
|
static |
Definition at line 194 of file test_amihooks.c.
Referenced by load_module(), and unload_module().
int done |
Definition at line 48 of file test_amihooks.c.
Referenced by __ast_answer(), __ast_cli_register(), __ast_read(), __ast_sorcery_wizard_register(), amihook_helper(), anonymous_identify(), app_exec(), ast_cli_command_full(), ast_dsp_process(), ast_rtp_instance_early_bridge(), ast_rtp_instance_early_bridge_make_compatible(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), AST_TEST_DEFINE(), ast_write_stream(), ast_xmpp_chatroom_invite(), bridge_exec(), bridge_stasis_push_peek(), close_mailbox(), dial_exec_full(), dial_trunk(), dictate_exec(), filter_cmp_fn(), forward_message(), httpd_helper_thread(), iax2_indicate(), load_modules(), loader_config_init(), make_channel(), message_range_and_existence_check(), native_rtp_bridge_start(), pbx_builtin_background(), playback_exec(), read_test(), retrydial_exec(), session_do(), sla_stop_ringing_station(), sms_exec(), speech_background(), tds_log(), tds_log(), wait_for_hook(), xmpp_client_set_group_presence(), xmpp_client_set_presence(), xmpp_client_unsubscribe_user(), xmpp_component_register_get_hook(), xmpp_component_register_set_hook(), xmpp_component_service_discovery_get_hook(), and xmpp_component_service_discovery_items_hook().
ast_cond_t hook_cond |
Definition at line 47 of file test_amihooks.c.
Referenced by amihook_helper(), and wait_for_hook().
|
static |
Definition at line 46 of file test_amihooks.c.
Referenced by amihook_helper(), and wait_for_hook().
|
static |
Definition at line 106 of file test_amihooks.c.
Referenced by hook_send(), register_hook(), unload_module(), and unregister_hook().