Asterisk - The Open Source Telephony Project
18.5.0
|
#include "asterisk.h"
#include <corosync/cpg.h>
#include <corosync/cfg.h>
#include "asterisk/module.h"
#include "asterisk/logger.h"
#include "asterisk/poll-compat.h"
#include "asterisk/config.h"
#include "asterisk/event.h"
#include "asterisk/cli.h"
#include "asterisk/devicestate.h"
#include "asterisk/mwi.h"
#include "asterisk/stasis.h"
#include "asterisk/stasis_message_router.h"
#include "asterisk/stasis_system.h"
#include "asterisk/taskprocessor.h"
Go to the source code of this file.
Data Structures | |
struct | corosync_node |
struct | corosync_ping_payload |
A payload wrapper around a corosync ping event. More... | |
Macros | |
#define | COROSYNC_IPC_BUFFER_SIZE (8192 * 128) |
Corosync ipc dispatch/request and reply size. More... | |
#define | COROSYNC_POLL_TIMEOUT (10 * 1000) |
Timeout for Corosync's poll process. More... | |
#define | corosync_pthread_create_background(a, b, c, d) |
Version of pthread_create to ensure stack is large enough. More... | |
Enumerations | |
enum | { PUBLISH, SUBSCRIBE } |
Functions | |
AST_MODULE_INFO_STANDARD_EXTENDED (ASTERISK_GPL_KEY, "Corosync") | |
static void | cfg_shutdown_cb (corosync_cfg_handle_t cfg_handle, corosync_cfg_shutdown_flags_t flags) |
static void | cleanup_module (void) |
static int | clear_node_cache (void *obj, void *arg, int flags) |
static struct corosync_node * | corosync_node_alloc (struct ast_event *event) |
static int | corosync_node_cmp_fn (void *obj, void *arg, int flags) |
static int | corosync_node_hash_fn (const void *obj, const int flags) |
static char * | corosync_ping (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static void | corosync_ping_payload_dtor (void *obj) |
Destructor for the corosync_ping_payload wrapper object. More... | |
static struct ast_event * | corosync_ping_to_event (struct stasis_message *message) |
Convert a Corosync PING to a ast_event. More... | |
static char * | corosync_show_config (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static char * | corosync_show_members (struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) |
static struct stasis_topic * | corosync_topic (void) |
Internal accessor for our topic. More... | |
static void | cpg_confchg_cb (cpg_handle_t handle, const struct cpg_name *group_name, const struct cpg_address *member_list, size_t member_list_entries, const struct cpg_address *left_list, size_t left_list_entries, const struct cpg_address *joined_list, size_t joined_list_entries) |
static void | cpg_deliver_cb (cpg_handle_t handle, const struct cpg_name *group_name, uint32_t nodeid, uint32_t pid, void *msg, size_t msg_len) |
static void * | dispatch_thread_handler (void *data) |
static int | dump_cache_cb (void *obj, void *arg, int flags) |
static int | load_config (unsigned int reload) |
static int | load_general_config (struct ast_config *cfg) |
static int | load_module (void) |
static void | publish_cluster_discovery_to_stasis (struct ast_event *event) |
Publish a received cluster discovery ast_event to Stasis Message Bus API. More... | |
static void | publish_cluster_discovery_to_stasis_full (struct corosync_node *node, int joined) |
Publish cluster discovery to Stasis Message Bus API. More... | |
static void | publish_corosync_ping_to_stasis (struct ast_event *event) |
Publish a Corosync ping to Stasis Message Bus API. More... | |
static void | publish_device_state_to_stasis (struct ast_event *event) |
Publish a received device state ast_event to Stasis Message Bus API. More... | |
static void | publish_event_to_corosync (struct ast_event *event) |
static void | publish_mwi_to_stasis (struct ast_event *event) |
Publish a received MWI ast_event to Stasis Message Bus API. More... | |
static void | publish_to_corosync (struct stasis_message *message) |
static void | send_cluster_notify (void) |
Informs the cluster of our EID and our IP addresses. More... | |
static int | set_event (const char *event_type, int pubsub) |
static void | stasis_message_cb (void *data, struct stasis_subscription *sub, struct stasis_message *message) |
STASIS_MESSAGE_TYPE_DEFN_LOCAL (corosync_ping_message_type,.to_event=corosync_ping_to_event,) | |
static int | unload_module (void) |
Variables | |
static corosync_cfg_callbacks_t | cfg_callbacks |
static corosync_cfg_handle_t | cfg_handle |
static struct stasis_topic * | corosync_aggregate_topic |
The internal topic used for message forwarding and pings. More... | |
static struct ast_cli_entry | corosync_cli [] |
static int | corosync_node_joined = 0 |
Join to corosync. More... | |
static cpg_callbacks_t | cpg_callbacks |
static cpg_handle_t | cpg_handle |
struct { | |
int alert_pipe [2] | |
pthread_t id | |
unsigned int stop:1 | |
} | dispatch_thread |
struct { | |
struct stasis_cache *(* cache_fn )(void) | |
struct stasis_message_type *(* message_type_fn )(void) | |
const char * name | |
unsigned char publish | |
unsigned char publish_default | |
void(* publish_to_stasis )(struct ast_event *) | |
struct stasis_forward * sub | |
unsigned char subscribe | |
unsigned char subscribe_default | |
struct stasis_topic *(* topic_fn )(void) | |
} | event_types [] |
static ast_rwlock_t | event_types_lock = { PTHREAD_RWLOCK_INITIALIZER , NULL, {1, 0} } |
static ast_rwlock_t | init_cpg_lock = { PTHREAD_RWLOCK_INITIALIZER , NULL, {1, 0} } |
static struct ao2_container * | nodes |
All the nodes that we're aware of. More... | |
static struct stasis_message_router * | stasis_router |
Our Stasis Message Bus API message router. More... | |
module publishes ast_event representations of information to other Asterisk instances in a cluster.
Events have an associated event type, as well as information elements. The information elements are the meta data that go along with each event. For example, in the case of message waiting indication, the event type is MWI, and each MWI event contains at least three information elements: the mailbox, the number of new messages, and the number of old messages.
This module is based on and replaces the previous res_ais module.
Definition in file res_corosync.c.
#define COROSYNC_IPC_BUFFER_SIZE (8192 * 128) |
Corosync ipc dispatch/request and reply size.
Definition at line 89 of file res_corosync.c.
#define COROSYNC_POLL_TIMEOUT (10 * 1000) |
Timeout for Corosync's poll process.
Definition at line 55 of file res_corosync.c.
Referenced by dispatch_thread_handler().
Version of pthread_create to ensure stack is large enough.
Definition at line 92 of file res_corosync.c.
Referenced by load_module().
anonymous enum |
Enumerator | |
---|---|
PUBLISH | |
SUBSCRIBE |
Definition at line 1148 of file res_corosync.c.
AST_MODULE_INFO_STANDARD_EXTENDED | ( | ASTERISK_GPL_KEY | , |
"Corosync" | |||
) |
Referenced by unload_module().
|
static |
Definition at line 479 of file res_corosync.c.
|
static |
Definition at line 1249 of file res_corosync.c.
References ao2_callback, ao2_cleanup, ao2_container_count(), ao2_t_ref, ARRAY_LEN, ast_carefulwrite(), ast_debug, ast_log, AST_PTHREADT_NULL, ast_rwlock_trywrlock, ast_rwlock_unlock, ast_rwlock_wrlock, cache_fn, cfg_handle, clear_node_cache(), corosync_node_joined, cpg_handle, dispatch_thread, errno, event_types, event_types_lock, init_cpg_lock, LOG_ERROR, LOG_NOTICE, message_type_fn, name, NULL, OBJ_NODATA, stasis_cache_dump_all(), stasis_forward_cancel(), stasis_message_router_remove(), stasis_message_router_unsubscribe_and_join(), STASIS_MESSAGE_TYPE_CLEANUP, sub, subscribe, and topic_fn.
Referenced by load_module(), and unload_module().
|
static |
Definition at line 623 of file res_corosync.c.
References ao2_cleanup, ast_eid_cmp(), ast_eid_default, stasis_cache_clear_create(), stasis_message_eid(), and stasis_publish().
Referenced by cleanup_module(), and cpg_confchg_cb().
|
static |
Definition at line 97 of file res_corosync.c.
References corosync_node::addr, AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_alloc_options, ast_event_get_ie_raw(), ast_event_get_ie_str(), ast_event_get_ie_uint(), AST_EVENT_IE_EID, AST_EVENT_IE_LOCAL_ADDR, AST_EVENT_IE_NODE_ID, ast_sockaddr_parse(), corosync_node::eid, corosync_node::id, NULL, and PARSE_PORT_IGNORE.
Referenced by publish_cluster_discovery_to_stasis().
|
static |
Definition at line 133 of file res_corosync.c.
References ast_assert, CMP_MATCH, corosync_node::id, OBJ_SEARCH_KEY, OBJ_SEARCH_MASK, OBJ_SEARCH_OBJECT, and OBJ_SEARCH_PARTIAL_KEY.
Referenced by load_module().
|
static |
Definition at line 113 of file res_corosync.c.
References ast_assert, corosync_node::id, OBJ_SEARCH_KEY, OBJ_SEARCH_MASK, and OBJ_SEARCH_OBJECT.
Referenced by load_module().
|
static |
Definition at line 1059 of file res_corosync.c.
References ast_cli_args::argc, ast_cli_entry::args, ast_event_destroy(), AST_EVENT_IE_END, ast_event_new(), AST_EVENT_PING, CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, event_types, NULL, and ast_cli_entry::usage.
|
static |
Destructor for the corosync_ping_payload wrapper object.
Definition at line 167 of file res_corosync.c.
References ast_free, and corosync_ping_payload::event.
Referenced by publish_corosync_ping_to_stasis().
|
static |
Convert a Corosync PING to a ast_event.
Definition at line 175 of file res_corosync.c.
References ast_event_get_ie_raw(), AST_EVENT_IE_EID, AST_EVENT_IE_END, AST_EVENT_IE_PLTYPE_RAW, ast_event_new(), AST_EVENT_PING, corosync_ping_payload::event, NULL, stasis_message_data(), and STASIS_MESSAGE_TYPE_DEFN_LOCAL().
|
static |
Definition at line 1094 of file res_corosync.c.
References ast_cli_args::argc, ast_cli_entry::args, ARRAY_LEN, ast_cli(), ast_debug, ast_rwlock_rdlock, ast_rwlock_unlock, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, event_types, event_types_lock, ast_cli_args::fd, NULL, publish, subscribe, and ast_cli_entry::usage.
|
static |
Definition at line 965 of file res_corosync.c.
References ast_cli_args::argc, ast_cli_entry::args, ARRAY_LEN, ast_cli(), ast_debug, ast_log, ast_rwlock_tryrdlock, ast_rwlock_unlock, buf, cfg_handle, CLI_FAILURE, CLI_GENERATE, CLI_INIT, CLI_SHOWUSAGE, CLI_SUCCESS, ast_cli_entry::command, cpg_handle, ast_cli_args::fd, init_cpg_lock, LOG_WARNING, NULL, and ast_cli_entry::usage.
|
static |
Internal accessor for our topic.
Definition at line 74 of file res_corosync.c.
References corosync_aggregate_topic.
Referenced by load_general_config(), and publish_corosync_ping_to_stasis().
|
static |
Definition at line 647 of file res_corosync.c.
References ao2_callback, ao2_container_count(), ao2_find, ao2_ref, ao2_t_ref, ARRAY_LEN, ast_debug, ast_eid_default, ast_log, ast_rwlock_rdlock, ast_rwlock_unlock, cache_fn, clear_node_cache(), dump_cache_cb(), corosync_node::eid, event_types, event_types_lock, corosync_node::id, LOG_NOTICE, message_type_fn, name, NULL, OBJ_NODATA, OBJ_SEARCH_KEY, OBJ_UNLINK, publish, publish_cluster_discovery_to_stasis_full(), stasis_cache_dump_by_eid(), subscribe, and topic_fn.
Referenced by publish_device_state_to_stasis().
|
static |
Definition at line 484 of file res_corosync.c.
References ast_debug, ast_eid_cmp(), ast_eid_default, ast_eid_to_str(), ast_event_get_ie_raw(), ast_event_get_type(), ast_event_get_type_name(), AST_EVENT_IE_EID, ast_event_minimum_length(), AST_EVENT_PING, AST_EVENT_TOTAL, ast_free, ast_log, ast_malloc, ast_rwlock_rdlock, ast_rwlock_unlock, buf, corosync_node::eid, event_types, event_types_lock, LOG_NOTICE, NULL, and subscribe.
Referenced by publish_device_state_to_stasis().
|
static |
Definition at line 782 of file res_corosync.c.
References ARRAY_LEN, ast_copy_string(), ast_debug, ast_log, ast_poll, ast_rwlock_tryrdlock, ast_rwlock_trywrlock, ast_rwlock_unlock, cfg_callbacks, cfg_handle, corosync_node_joined, COROSYNC_POLL_TIMEOUT, cpg_callbacks, cpg_handle, dispatch_thread, errno, init_cpg_lock, LOG_ERROR, LOG_NOTICE, LOG_WARNING, NULL, and send_cluster_notify().
Referenced by load_module().
|
static |
Definition at line 610 of file res_corosync.c.
References publish_to_corosync().
Referenced by cpg_confchg_cb().
|
static |
Definition at line 1222 of file res_corosync.c.
References ast_category_browse(), ast_config_destroy(), ast_config_load, ast_log, CONFIG_STATUS_FILEINVALID, CONFIG_STATUS_FILEMISSING, load_general_config(), LOG_WARNING, and NULL.
Referenced by load_module().
|
static |
Definition at line 1177 of file res_corosync.c.
References ARRAY_LEN, ast_debug, ast_log, ast_rwlock_unlock, ast_rwlock_wrlock, ast_variable_browse(), corosync_topic(), event_types, event_types_lock, LOG_WARNING, message_type_fn, ast_variable::name, ast_variable::next, NULL, publish, PUBLISH, set_event(), stasis_forward_all(), stasis_forward_cancel(), stasis_message_cb(), stasis_message_router_add(), stasis_message_router_remove(), sub, SUBSCRIBE, topic_fn, and ast_variable::value.
Referenced by load_config().
|
static |
Definition at line 1336 of file res_corosync.c.
References AO2_ALLOC_OPT_LOCK_MUTEX, ao2_container_alloc_hash, ARRAY_LEN, ast_cli_register_multiple, ast_copy_string(), ast_debug, ast_eid_default, ast_eid_is_empty(), ast_log, AST_LOG_ERROR, AST_MODULE_LOAD_DECLINE, AST_MODULE_LOAD_SUCCESS, ast_rwlock_trywrlock, ast_rwlock_unlock, AST_TASKPROCESSOR_HIGH_WATER_LEVEL, cfg_callbacks, cfg_handle, cleanup_module(), corosync_node_cmp_fn(), corosync_node_hash_fn(), corosync_node_joined, corosync_pthread_create_background, cpg_callbacks, cpg_handle, dispatch_thread, dispatch_thread_handler(), errno, init_cpg_lock, load_config(), LOG_ERROR, NULL, stasis_message_router_create, stasis_message_router_set_congestion_limits(), STASIS_MESSAGE_TYPE_INIT, and stasis_topic_create().
|
static |
Publish a received cluster discovery ast_event to Stasis Message Bus API.
Definition at line 351 of file res_corosync.c.
References ao2_find, ao2_link_flags, ao2_lock, ao2_ref, ao2_unlock, ast_assert, ast_eid_cmp(), ast_eid_default, AST_EVENT_CLUSTER_DISCOVERY, ast_event_get_ie_raw(), ast_event_get_ie_uint(), ast_event_get_type(), AST_EVENT_IE_EID, AST_EVENT_IE_NODE_ID, corosync_node_alloc(), OBJ_NOLOCK, OBJ_SEARCH_KEY, publish_cluster_discovery_to_stasis_full(), and send_cluster_notify().
|
static |
Publish cluster discovery to Stasis Message Bus API.
Definition at line 303 of file res_corosync.c.
References corosync_node::addr, ao2_ref, ast_cluster_discovery_type(), ast_eid_to_str(), ast_json_pack(), ast_json_payload_create(), ast_json_unref(), ast_log, AST_LOG_NOTICE, ast_sockaddr_stringify_addr(), ast_system_topic(), corosync_node::eid, corosync_node::id, send_cluster_notify(), stasis_message_create(), and stasis_publish().
Referenced by cpg_confchg_cb(), and publish_cluster_discovery_to_stasis().
|
static |
Publish a Corosync ping to Stasis Message Bus API.
Definition at line 204 of file res_corosync.c.
References ao2_t_alloc, ao2_t_ref, ast_assert, ast_event_get_ie_raw(), ast_event_get_type(), AST_EVENT_IE_EID, AST_EVENT_IE_END, AST_EVENT_IE_PLTYPE_RAW, ast_event_new(), AST_EVENT_PING, corosync_ping_payload_dtor(), corosync_topic(), corosync_ping_payload::event, NULL, stasis_message_create(), and stasis_publish().
|
static |
Publish a received device state ast_event to Stasis Message Bus API.
Definition at line 432 of file res_corosync.c.
References ast_assert, ast_eid_to_str(), AST_EVENT_DEVICE_STATE_CHANGE, ast_event_get_ie_raw(), ast_event_get_ie_str(), ast_event_get_ie_uint(), ast_event_get_type(), AST_EVENT_IE_CACHABLE, AST_EVENT_IE_DEVICE, AST_EVENT_IE_EID, AST_EVENT_IE_STATE, ast_log, ast_publish_device_state_full(), ast_strlen_zero, cpg_confchg_cb(), cpg_deliver_cb(), corosync_node::eid, LOG_WARNING, and state.
|
static |
Definition at line 544 of file res_corosync.c.
References ast_debug, ast_event_get_size(), ast_event_get_type(), ast_event_get_type_name(), ast_log, ast_rwlock_tryrdlock, ast_rwlock_unlock, corosync_node_joined, cpg_handle, init_cpg_lock, and LOG_WARNING.
Referenced by publish_to_corosync(), and send_cluster_notify().
|
static |
Publish a received MWI ast_event to Stasis Message Bus API.
Definition at line 394 of file res_corosync.c.
References ast_assert, ast_eid_to_str(), ast_event_get_ie_raw(), ast_event_get_ie_str(), ast_event_get_ie_uint(), ast_event_get_type(), AST_EVENT_IE_CONTEXT, AST_EVENT_IE_EID, AST_EVENT_IE_MAILBOX, AST_EVENT_IE_NEWMSGS, AST_EVENT_IE_OLDMSGS, AST_EVENT_MWI, ast_log, ast_publish_mwi_state_full(), ast_strlen_zero, context, corosync_node::eid, LOG_WARNING, mailbox, and NULL.
|
static |
Definition at line 571 of file res_corosync.c.
References ast_eid_cmp(), ast_eid_default, ast_eid_to_str(), ast_event_destroy(), ast_event_get_ie_raw(), ast_event_get_type(), AST_EVENT_IE_EID, AST_EVENT_PING, ast_log, buf, corosync_node::eid, LOG_NOTICE, publish_event_to_corosync(), and stasis_message_to_event().
Referenced by dump_cache_cb(), and stasis_message_cb().
|
static |
Informs the cluster of our EID and our IP addresses.
Definition at line 737 of file res_corosync.c.
References ast_debug, AST_EVENT_CLUSTER_DISCOVERY, ast_event_destroy(), AST_EVENT_IE_END, AST_EVENT_IE_LOCAL_ADDR, AST_EVENT_IE_NODE_ID, AST_EVENT_IE_PLTYPE_STR, AST_EVENT_IE_PLTYPE_UINT, ast_event_new(), ast_log, ast_rwlock_tryrdlock, ast_rwlock_unlock, buf, cfg_handle, init_cpg_lock, LOG_WARNING, NULL, and publish_event_to_corosync().
Referenced by dispatch_thread_handler(), publish_cluster_discovery_to_stasis(), and publish_cluster_discovery_to_stasis_full().
|
static |
Definition at line 1153 of file res_corosync.c.
References ARRAY_LEN, event_types, name, PUBLISH, and SUBSCRIBE.
Referenced by load_general_config().
|
static |
Definition at line 601 of file res_corosync.c.
References publish_to_corosync().
Referenced by load_general_config().
STASIS_MESSAGE_TYPE_DEFN_LOCAL | ( | corosync_ping_message_type | , |
. | to_event = corosync_ping_to_event |
||
) |
Referenced by corosync_ping_to_event().
|
static |
Definition at line 1433 of file res_corosync.c.
References ARRAY_LEN, ast_cli_unregister_multiple(), AST_MODULE_INFO_STANDARD_EXTENDED(), ASTERISK_GPL_KEY, and cleanup_module().
int alert_pipe[2] |
Definition at line 276 of file res_corosync.c.
struct stasis_cache*(* cache_fn) (void) |
Definition at line 246 of file res_corosync.c.
Referenced by cleanup_module(), and cpg_confchg_cb().
|
static |
Definition at line 295 of file res_corosync.c.
Referenced by dispatch_thread_handler(), and load_module().
|
static |
Definition at line 284 of file res_corosync.c.
Referenced by agent_run(), agents_cfg_alloc(), agents_post_apply_config(), cleanup_module(), complete_bridge_profile_name(), complete_menu_name(), complete_user_profile_name(), conf_destroy_config(), conf_find_bridge_profile(), conf_find_user_profile(), conf_set_menu_to_user(), corosync_show_members(), destroy_config(), dispatch_thread_handler(), handle_cli_confbridge_show_bridge_profiles(), handle_cli_confbridge_show_menu(), handle_cli_confbridge_show_menus(), handle_cli_confbridge_show_user_profiles(), load_module(), menu_template_handler(), and send_cluster_notify().
|
static |
The internal topic used for message forwarding and pings.
Definition at line 68 of file res_corosync.c.
Referenced by corosync_topic().
|
static |
Definition at line 1142 of file res_corosync.c.
|
static |
Join to corosync.
Definition at line 62 of file res_corosync.c.
Referenced by cleanup_module(), dispatch_thread_handler(), load_module(), and publish_event_to_corosync().
|
static |
Definition at line 466 of file res_corosync.c.
Referenced by dispatch_thread_handler(), and load_module().
|
static |
Definition at line 283 of file res_corosync.c.
Referenced by cleanup_module(), corosync_show_members(), dispatch_thread_handler(), load_module(), and publish_event_to_corosync().
struct { ... } dispatch_thread |
Referenced by cleanup_module(), dispatch_thread_handler(), and load_module().
struct { ... } event_types[] |
Referenced by cleanup_module(), corosync_ping(), corosync_show_config(), cpg_confchg_cb(), cpg_deliver_cb(), load_general_config(), and set_event().
|
static |
Definition at line 51 of file res_corosync.c.
Referenced by cleanup_module(), corosync_show_config(), cpg_confchg_cb(), cpg_deliver_cb(), and load_general_config().
pthread_t id |
Definition at line 275 of file res_corosync.c.
|
static |
Definition at line 52 of file res_corosync.c.
Referenced by cleanup_module(), corosync_show_members(), dispatch_thread_handler(), load_module(), publish_event_to_corosync(), and send_cluster_notify().
struct stasis_message_type*(* message_type_fn) (void) |
Definition at line 247 of file res_corosync.c.
Referenced by cleanup_module(), cpg_confchg_cb(), and load_general_config().
const char* name |
Definition at line 239 of file res_corosync.c.
Referenced by cleanup_module(), cpg_confchg_cb(), and set_event().
|
static |
All the nodes that we're aware of.
Definition at line 65 of file res_corosync.c.
Referenced by AST_TEST_DEFINE().
unsigned char publish |
Definition at line 241 of file res_corosync.c.
Referenced by ast_bridge_transfer_blind(), ast_sip_publish_client_get_from_uri(), ast_sip_publish_client_get_to_uri(), corosync_show_config(), cpg_confchg_cb(), current_state_reusable(), load_general_config(), load_module(), outbound_auth_handler(), schedule_publish_refresh(), sip_outbound_publish_alloc(), sip_outbound_publish_callback(), sip_outbound_publish_destroy(), sip_outbound_publish_synchronize(), sip_outbound_publisher_init(), sip_outbound_publisher_set_uris(), unload_module(), and xmpp_pubsub_build_publish_skeleton().
unsigned char publish_default |
Definition at line 242 of file res_corosync.c.
void(* publish_to_stasis) (struct ast_event *) |
Definition at line 248 of file res_corosync.c.
|
static |
Our Stasis Message Bus API message router.
Definition at line 71 of file res_corosync.c.
unsigned int stop |
Definition at line 277 of file res_corosync.c.
struct stasis_forward* sub |
Definition at line 240 of file res_corosync.c.
Referenced by _skinny_show_lines(), acf_channel_read(), activatesub(), add_mwi_datastore(), allocate_subscription(), analog_new_ast_channel(), analog_set_inthreeway(), ao2_weakproxy_subscribe(), ao2_weakproxy_unsubscribe(), append_sub(), ast_channel_connected_line_sub(), ast_channel_redirecting_sub(), ast_mwi_subscribe_pool(), ast_sip_create_subscription(), AST_TEST_DEFINE(), attempt_transfer(), build_gateway(), channel_to_session(), cleanup_module(), close_call(), close_client(), config_device(), create_unsolicited_mwi_subscriptions(), create_virtual_subscriptions(), delete_device(), delete_sub(), destroy_endpoint(), discard_call(), exten_state_subscription_destructor(), find_rtp_port(), find_subchannel_and_lock(), find_subchannel_by_instance_reference(), find_subchannel_by_name(), find_subchannel_by_reference(), generic_monitor_instance_list_destructor(), get_devicestate(), get_or_create_subscription(), get_sub(), get_sub_holding(), get_subscription(), handle_call_incoming(), handle_call_outgoing(), handle_callforward_button(), handle_enbloc_call_message(), handle_key_fav(), handle_keypad_button_message(), handle_msg_cb(), handle_offhook_message(), handle_onhook_message(), handle_open_receive_channel_ack_message(), handle_request(), handle_soft_key_event_message(), handle_stimulus_message(), handle_transfer_button(), has_destination_cb(), internal_stasis_subscribe(), jb_debug_output(), key_call(), key_dial_page(), load_general_config(), load_module(), message_subscription_alloc(), message_subscription_dtor(), message_subscription_hash_cb(), messaging_app_subscribe_endpoint(), messaging_app_unsubscribe_endpoint(), mgcp_alloc_pktcgate(), mgcp_answer(), mgcp_call(), mgcp_fixup(), mgcp_get_codec(), mgcp_get_rtp_peer(), mgcp_hangup(), mgcp_indicate(), mgcp_pktcgate_open(), mgcp_pktcgate_remove(), mgcp_postrequest(), mgcp_prune_realtime_gateway(), mgcp_read(), mgcp_request(), mgcp_senddigit_begin(), mgcp_senddigit_end(), mgcp_set_rtp_peer(), mgcp_ss(), mgcp_write(), mgcpsock_read(), mwi_create_subscription(), mwi_ds_destroy(), mwi_on_aor(), mwi_subscribe_all(), mwi_subscribe_single(), mwi_subscription_alloc(), mwi_subscription_destructor(), mwi_subscription_established(), onevent(), proxy_dtor(), pubsub_on_rx_notify(), rcv_mac_addr(), rtp_learning_start(), send_unsolicited_mwi_notify(), send_unsolicited_mwi_notify_to_contact(), setsubstate(), skinny_answer(), skinny_autoanswer_cb(), skinny_call(), skinny_cfwd_cb(), skinny_dialer_cb(), skinny_fixup(), skinny_get_rtp_peer(), skinny_get_vrtp_peer(), skinny_hangup(), skinny_indicate(), skinny_new(), skinny_newcall(), skinny_read(), skinny_request(), skinny_senddigit_end(), skinny_set_rtp_peer(), skinny_transfer_attended(), skinny_write(), stasis_state_add_subscriber(), stasis_state_subscribe_pool(), stasis_subscription_is_subscribed(), stasis_subscription_statistics_create(), subscriber_dtor(), subscript(), subscriptions_create(), transfer_call_step1(), transfer_cancel_step2(), transfer_refer(), unistim_alloc_sub(), unistim_answer(), unistim_call(), unistim_do_senddigit(), unistim_get_rtp_peer(), unistim_hangup(), unistim_indicate(), unistim_read(), unistim_request(), unistim_set_rtp_peer(), unistim_show_info(), unistim_sp(), unistim_ss(), unistim_write(), and unload_module().
unsigned char subscribe |
Definition at line 243 of file res_corosync.c.
Referenced by cleanup_module(), corosync_show_config(), cpg_confchg_cb(), cpg_deliver_cb(), and xmpp_pubsub_subscribe().
unsigned char subscribe_default |
Definition at line 244 of file res_corosync.c.
struct stasis_topic*(* topic_fn) (void) |
Definition at line 245 of file res_corosync.c.
Referenced by cleanup_module(), cpg_confchg_cb(), and load_general_config().