Asterisk - The Open Source Telephony Project GIT-master-f36a736
|
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 = "This paragraph is copyright (c) 2006 by Digium, Inc. \In order for your module to load, it must return this \key via a function called \"key\". Any code which \includes this paragraph must be licensed under the GNU \General Public License version 2 or later (at your \option). In addition to Digium's general reservations \of rights, Digium expressly reserves the right to \allow other parties to license this paragraph under \different terms. Any use of Digium, Inc. trademarks or \logos (including \"Asterisk\" or \"Digium\") without \express written permission of Digium, Inc. is prohibited.\n" , .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 = { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP , NULL, {1, 0} } |
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_TEST_FAIL, AST_TEST_NOT_RUN, AST_TEST_PASS, CATEGORY, done, sip_to_pjsip::info(), 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(), ast_cli_command_full(), ast_dsp_process(), ast_rtp_instance_early_bridge(), ast_rtp_instance_early_bridge_make_compatible(), 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(), 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().