Asterisk - The Open Source Telephony Project GIT-master-f36a736
|
This group contains the topics, messages and corresponding message types found within Asterisk. More...
Data Structures | |
struct | ast_channel_blob |
Blob of data associated with a channel. More... | |
struct | ast_channel_snapshot |
Structure representing a snapshot of channel state. More... | |
struct | ast_channel_snapshot_base |
Structure containing base information for a channel snapshot. More... | |
struct | ast_channel_snapshot_bridge |
Structure containing bridge information for a channel snapshot. More... | |
struct | ast_channel_snapshot_caller |
Structure containing caller information for a channel snapshot. More... | |
struct | ast_channel_snapshot_connected |
Structure containing connected information for a channel snapshot. More... | |
struct | ast_channel_snapshot_dialplan |
Structure containing dialplan information for a channel snapshot. More... | |
struct | ast_channel_snapshot_hangup |
Structure containing hangup information for a channel snapshot. More... | |
struct | ast_channel_snapshot_peer |
Structure containing peer information for a channel snapshot. More... | |
struct | ast_channel_snapshot_update |
Structure representing a change of snapshot of channel state. More... | |
struct | ast_endpoint_blob |
Blob of data associated with an endpoint. More... | |
struct | ast_endpoint_snapshot |
A snapshot of an endpoint's state. More... | |
struct | stasis_cache_update |
Cache update message. More... | |
struct | stasis_subscription_change |
Holds details about changes to subscriptions for the specified topic. More... | |
Macros | |
#define | STASIS_UMOS_MAX (STASIS_UMOS_ENDPOINT + 1) |
Number of snapshot types. More... | |
Enumerations | |
enum | ast_channel_snapshot_segment_invalidation { AST_CHANNEL_SNAPSHOT_INVALIDATE_BRIDGE = (1 << 1) , AST_CHANNEL_SNAPSHOT_INVALIDATE_DIALPLAN = (1 << 2) , AST_CHANNEL_SNAPSHOT_INVALIDATE_CONNECTED = (1 << 3) , AST_CHANNEL_SNAPSHOT_INVALIDATE_CALLER = (1 << 4) , AST_CHANNEL_SNAPSHOT_INVALIDATE_HANGUP = (1 << 5) , AST_CHANNEL_SNAPSHOT_INVALIDATE_PEER = (1 << 6) , AST_CHANNEL_SNAPSHOT_INVALIDATE_BASE = (1 << 7) } |
Channel snapshot invalidation flags, used to force generation of segments. More... | |
enum | stasis_user_multi_object_snapshot_type { STASIS_UMOS_CHANNEL = 0 , STASIS_UMOS_BRIDGE , STASIS_UMOS_ENDPOINT } |
Object type code for multi user object snapshots. More... | |
Functions | |
struct stasis_message_type * | ast_channel_agent_login_type (void) |
Message type for agent login on a channel. More... | |
struct stasis_message_type * | ast_channel_agent_logoff_type (void) |
Message type for agent logoff on a channel. More... | |
struct stasis_message * | ast_channel_blob_create (struct ast_channel *chan, struct stasis_message_type *type, struct ast_json *blob) |
Creates a ast_channel_blob message. More... | |
struct stasis_message * | ast_channel_blob_create_from_cache (const char *uniqueid, struct stasis_message_type *type, struct ast_json *blob) |
Create a ast_channel_blob message, pulling channel state from the cache. More... | |
struct ao2_container * | ast_channel_cache_all (void) |
struct ao2_container * | ast_channel_cache_by_name (void) |
Secondary channel cache, indexed by name. More... | |
struct stasis_message_type * | ast_channel_chanspy_start_type (void) |
Message type for when a channel starts spying on another channel. More... | |
struct stasis_message_type * | ast_channel_chanspy_stop_type (void) |
Message type for when a channel stops spying on another channel. More... | |
struct stasis_message_type * | ast_channel_dial_type (void) |
Message type for when a channel dials another channel. More... | |
struct stasis_message_type * | ast_channel_dtmf_begin_type (void) |
Message type for when DTMF begins on a channel. More... | |
struct stasis_message_type * | ast_channel_dtmf_end_type (void) |
Message type for when DTMF ends on a channel. More... | |
struct stasis_message_type * | ast_channel_fax_type (void) |
Message type for a fax operation. More... | |
struct stasis_message_type * | ast_channel_flash_type (void) |
Message type for when a hook flash occurs on a channel. More... | |
struct stasis_message_type * | ast_channel_hangup_handler_type (void) |
Message type for hangup handler related actions. More... | |
struct stasis_message_type * | ast_channel_hangup_request_type (void) |
Message type for when a hangup is requested on a channel. More... | |
struct stasis_message_type * | ast_channel_hold_type (void) |
Message type for when a channel is placed on hold. More... | |
struct stasis_message_type * | ast_channel_masquerade_type (void) |
Message type for when a channel is being masqueraded. More... | |
struct stasis_message_type * | ast_channel_mixmonitor_mute_type (void) |
Message type for muting or unmuting mixmonitor on a channel. More... | |
struct stasis_message_type * | ast_channel_mixmonitor_start_type (void) |
Message type for starting mixmonitor on a channel. More... | |
struct stasis_message_type * | ast_channel_mixmonitor_stop_type (void) |
Message type for stopping mixmonitor on a channel. More... | |
struct stasis_message_type * | ast_channel_moh_start_type (void) |
Message type for starting music on hold on a channel. More... | |
struct stasis_message_type * | ast_channel_moh_stop_type (void) |
Message type for stopping music on hold on a channel. More... | |
void | ast_channel_publish_blob (struct ast_channel *chan, struct stasis_message_type *type, struct ast_json *blob) |
Publish a channel blob message. More... | |
void | ast_channel_publish_cached_blob (struct ast_channel *chan, struct stasis_message_type *type, struct ast_json *blob) |
Publish a channel blob message using the latest snapshot from the cache. More... | |
void | ast_channel_publish_dial (struct ast_channel *caller, struct ast_channel *peer, const char *dialstring, const char *dialstatus) |
Publish in the ast_channel_topic or ast_channel_topic_all topics a stasis message for the channels involved in a dial operation. More... | |
void | ast_channel_publish_dial_forward (struct ast_channel *caller, struct ast_channel *peer, struct ast_channel *forwarded, const char *dialstring, const char *dialstatus, const char *forward) |
Publish in the ast_channel_topic or ast_channel_topic_all topics a stasis message for the channels involved in a dial operation that is forwarded. More... | |
void | ast_channel_publish_final_snapshot (struct ast_channel *chan) |
Send the final channel snapshot for a channel, thus removing it from cache. More... | |
void | ast_channel_publish_snapshot (struct ast_channel *chan) |
Publish a ast_channel_snapshot for a channel. More... | |
void | ast_channel_publish_varset (struct ast_channel *chan, const char *variable, const char *value) |
Publish a ast_channel_publish_varset for a channel. More... | |
struct ast_channel_snapshot * | ast_channel_snapshot_create (struct ast_channel *chan) |
Generate a snapshot of the channel state. This is an ao2 object, so ao2_cleanup() to deallocate. More... | |
struct ast_channel_snapshot * | ast_channel_snapshot_get_latest (const char *uniqueid) |
Obtain the latest ast_channel_snapshot from the Stasis Message Bus API cache. This is an ao2 object, so use ao2_cleanup() to deallocate. More... | |
struct ast_channel_snapshot * | ast_channel_snapshot_get_latest_by_name (const char *name) |
Obtain the latest ast_channel_snapshot from the Stasis Message Bus API cache. This is an ao2 object, so use ao2_cleanup() to deallocate. More... | |
void | ast_channel_snapshot_invalidate_segment (struct ast_channel *chan, enum ast_channel_snapshot_segment_invalidation segment) |
Invalidate a channel snapshot segment from being reused. More... | |
struct stasis_message_type * | ast_channel_snapshot_type (void) |
Message type for ast_channel_snapshot_update. More... | |
void | ast_channel_stage_snapshot (struct ast_channel *chan) |
Set flag to indicate channel snapshot is being staged. More... | |
void | ast_channel_stage_snapshot_done (struct ast_channel *chan) |
Clear flag to indicate channel snapshot is being staged, and publish snapshot. More... | |
struct stasis_message_type * | ast_channel_talking_start (void) |
Message type for a channel starting talking. More... | |
struct stasis_message_type * | ast_channel_talking_stop (void) |
Message type for a channel stopping talking. More... | |
struct stasis_message_type * | ast_channel_tone_detect (void) |
Message type for a channel tone detection. More... | |
struct stasis_topic * | ast_channel_topic_all (void) |
A topic which publishes the events for all channels. More... | |
struct stasis_message_type * | ast_channel_unhold_type (void) |
Message type for when a channel is removed from hold. More... | |
struct stasis_message_type * | ast_channel_varset_type (void) |
Message type for when a variable is set on a channel. More... | |
struct stasis_message_type * | ast_channel_wink_type (void) |
Message type for when a wink occurs on a channel. More... | |
struct stasis_message * | ast_endpoint_blob_create (struct ast_endpoint *endpoint, struct stasis_message_type *type, struct ast_json *blob) |
Creates a ast_endpoint_blob message. More... | |
void | ast_endpoint_blob_publish (struct ast_endpoint *endpoint, struct stasis_message_type *type, struct ast_json *blob) |
Creates and publishes a ast_endpoint_blob message. More... | |
struct stasis_cache * | ast_endpoint_cache (void) |
Backend cache for ast_endpoint_topic_all_cached(). More... | |
struct stasis_cp_all * | ast_endpoint_cache_all (void) |
struct stasis_message_type * | ast_endpoint_contact_state_type (void) |
Message type for endpoint contact state changes. More... | |
struct ast_endpoint_snapshot * | ast_endpoint_latest_snapshot (const char *tech, const char *resource) |
Retrieve the most recent snapshot for the endpoint with the given name. More... | |
struct ast_endpoint_snapshot * | ast_endpoint_snapshot_create (struct ast_endpoint *endpoint) |
Create a snapshot of an endpoint. More... | |
struct stasis_message_type * | ast_endpoint_snapshot_type (void) |
Message type for ast_endpoint_snapshot. More... | |
struct stasis_message_type * | ast_endpoint_state_type (void) |
Message type for endpoint state changes. More... | |
struct stasis_topic * | ast_endpoint_topic (struct ast_endpoint *endpoint) |
Returns the topic for a specific endpoint. More... | |
struct stasis_topic * | ast_endpoint_topic_all (void) |
Topic for all endpoint related messages. More... | |
struct stasis_topic * | ast_endpoint_topic_all_cached (void) |
Cached topic for all endpoint related messages. More... | |
struct stasis_topic * | ast_endpoint_topic_cached (struct ast_endpoint *endpoint) |
Returns the topic for a specific endpoint. More... | |
void | ast_multi_channel_blob_add_channel (struct ast_multi_channel_blob *obj, const char *role, struct ast_channel_snapshot *snapshot) |
Add a ast_channel_snapshot to a ast_multi_channel_blob object. More... | |
struct ast_multi_channel_blob * | ast_multi_channel_blob_create (struct ast_json *blob) |
Create a ast_multi_channel_blob suitable for a stasis_message. More... | |
struct ast_channel_snapshot * | ast_multi_channel_blob_get_channel (struct ast_multi_channel_blob *obj, const char *role) |
Retrieve a channel snapshot associated with a specific role from a ast_multi_channel_blob. More... | |
struct ao2_container * | ast_multi_channel_blob_get_channels (struct ast_multi_channel_blob *obj, const char *role) |
Retrieve all channel snapshots associated with a specific role from a ast_multi_channel_blob. More... | |
struct ast_json * | ast_multi_channel_blob_get_json (struct ast_multi_channel_blob *obj) |
Retrieve the JSON blob from a ast_multi_channel_blob. Returned ast_json is still owned by obj. More... | |
void | ast_multi_object_blob_add (struct ast_multi_object_blob *multi, enum stasis_user_multi_object_snapshot_type type, void *object) |
Add an object to a multi object blob previously created. More... | |
struct ast_multi_object_blob * | ast_multi_object_blob_create (struct ast_json *blob) |
Create a stasis multi object blob. More... | |
void | ast_multi_object_blob_single_channel_publish (struct ast_channel *chan, struct stasis_message_type *type, struct ast_json *blob) |
Create and publish a stasis message blob on a channel with it's snapshot. More... | |
struct stasis_message_type * | ast_multi_user_event_type (void) |
Message type for custom user defined events with multi object blobs. More... | |
struct stasis_message_type * | ast_parked_call_type (void) |
accessor for the parked call stasis message type More... | |
struct stasis_topic * | ast_parking_topic (void) |
accessor for the parking stasis topic More... | |
struct stasis_message_type * | ast_rtp_rtcp_received_type (void) |
Message type for an RTCP message received from some external source. More... | |
struct stasis_message_type * | ast_rtp_rtcp_sent_type (void) |
Message type for an RTCP message sent from this Asterisk instance. More... | |
struct stasis_message_type * | stasis_cache_clear_type (void) |
Message type for clearing a message from a stasis cache. More... | |
struct stasis_message_type * | stasis_cache_update_type (void) |
Message type for cache update messages. More... | |
struct stasis_message_type * | stasis_subscription_change_type (void) |
Gets the message type for subscription change notices. More... | |
struct stasis_message * | stasis_test_message_create (void) |
Creates a test message. More... | |
struct stasis_message_type * | stasis_test_message_type (void) |
Gets the type of messages created by stasis_test_message_create(). More... | |
This group contains the topics, messages and corresponding message types found within Asterisk.
#define STASIS_UMOS_MAX (STASIS_UMOS_ENDPOINT + 1) |
Channel snapshot invalidation flags, used to force generation of segments.
Definition at line 35 of file stasis_channels.h.
struct stasis_message_type * ast_channel_agent_login_type | ( | void | ) |
Message type for agent login on a channel.
Referenced by ast_stasis_channels_init(), load_module(), queue_agent_cb(), send_agent_login(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_agent_logoff_type | ( | void | ) |
Message type for agent logoff on a channel.
Referenced by ast_stasis_channels_init(), load_module(), queue_agent_cb(), send_agent_logoff(), and stasis_channels_cleanup().
struct stasis_message * ast_channel_blob_create | ( | struct ast_channel * | chan, |
struct stasis_message_type * | type, | ||
struct ast_json * | blob | ||
) |
Creates a ast_channel_blob message.
The given blob should be treated as immutable and not modified after it is put into the message.
chan | Channel blob is associated with, or NULL for global/all channels. |
type | Message type for this blob. |
blob | JSON object representing the data, or NULL for no data. If NULL , ast_json_null() is put into the object. |
NULL | on error |
Definition at line 794 of file stasis_channels.c.
References ao2_bump, ao2_cleanup, ast_channel_snapshot(), create_channel_blob_message(), NULL, and type.
Referenced by app_send_end_msg(), ast_channel_publish_blob(), AST_TEST_DEFINE(), and meetme_stasis_generate_msg().
struct stasis_message * ast_channel_blob_create_from_cache | ( | const char * | uniqueid, |
struct stasis_message_type * | type, | ||
struct ast_json * | blob | ||
) |
Create a ast_channel_blob message, pulling channel state from the cache.
uniqueid | Uniqueid of the channel. |
type | Message type for this blob. |
blob | JSON object representing the data, or NULL for no data. If NULL , ast_json_null() is put into the object. |
NULL | on error |
Definition at line 777 of file stasis_channels.c.
References ao2_cleanup, ast_channel_snapshot_get_latest(), create_channel_blob_message(), NULL, and type.
Referenced by ast_cel_publish_event(), ast_channel_publish_cached_blob(), detect_callback(), manager_mute_mixmonitor(), mixmonitor_exec(), moh_post_start(), moh_post_stop(), playback_publish(), recording_publish(), report_fax_status(), report_receive_fax_status(), report_send_fax_status(), stop_mixmonitor_full(), and talk_detect_audiohook_cb().
struct ao2_container * ast_channel_cache_all | ( | void | ) |
Definition at line 124 of file stasis_channels.c.
References ao2_bump, and channel_cache.
Referenced by ast_ari_channels_list(), ast_complete_channels(), and channels_scrape_cb().
struct ao2_container * ast_channel_cache_by_name | ( | void | ) |
Secondary channel cache, indexed by name.
Definition at line 134 of file stasis_channels.c.
References ao2_bump, and channel_cache_by_name.
Referenced by action_coreshowchannels(), get_container(), and handle_chanlist().
struct stasis_message_type * ast_channel_chanspy_start_type | ( | void | ) |
Message type for when a channel starts spying on another channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), publish_chanspy_message(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_chanspy_stop_type | ( | void | ) |
Message type for when a channel stops spying on another channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), publish_chanspy_message(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_dial_type | ( | void | ) |
Message type for when a channel dials another channel.
Referenced by ast_channel_publish_dial_internal(), ast_stasis_channels_init(), create_routes(), load_module(), manager_channels_init(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_dtmf_begin_type | ( | void | ) |
Message type for when DTMF begins on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), send_dtmf_begin_event(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_dtmf_end_type | ( | void | ) |
Message type for when DTMF ends on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), send_dtmf_end_event(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_fax_type | ( | void | ) |
Message type for a fax operation.
Referenced by ast_stasis_channels_init(), manager_channels_init(), report_fax_status(), report_receive_fax_status(), report_send_fax_status(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_flash_type | ( | void | ) |
Message type for when a hook flash occurs on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), send_flash_event(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_hangup_handler_type | ( | void | ) |
Message type for hangup handler related actions.
Referenced by ast_stasis_channels_init(), manager_channels_init(), publish_hangup_handler_message(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_hangup_request_type | ( | void | ) |
Message type for when a hangup is requested on a channel.
Referenced by ast_queue_hangup(), ast_queue_hangup_with_cause(), ast_softhangup(), ast_stasis_channels_init(), manager_channels_init(), setup_stasis_subs(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_hold_type | ( | void | ) |
Message type for when a channel is placed on hold.
Referenced by ast_bridge_channel_write_hold(), ast_queue_hold(), ast_stasis_channels_init(), hold_intercept_framehook(), manager_channels_init(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_masquerade_type | ( | void | ) |
Message type for when a channel is being masqueraded.
Referenced by ast_channel_move(), ast_stasis_channels_init(), setup_stasis_subs(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_mixmonitor_mute_type | ( | void | ) |
Message type for muting or unmuting mixmonitor on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), manager_mute_mixmonitor(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_mixmonitor_start_type | ( | void | ) |
Message type for starting mixmonitor on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), mixmonitor_exec(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_mixmonitor_stop_type | ( | void | ) |
Message type for stopping mixmonitor on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), stasis_channels_cleanup(), and stop_mixmonitor_full().
struct stasis_message_type * ast_channel_moh_start_type | ( | void | ) |
Message type for starting music on hold on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), moh_post_start(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_moh_stop_type | ( | void | ) |
Message type for stopping music on hold on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), moh_post_stop(), and stasis_channels_cleanup().
void ast_channel_publish_blob | ( | struct ast_channel * | chan, |
struct stasis_message_type * | type, | ||
struct ast_json * | blob | ||
) |
Publish a channel blob message.
chan | Channel publishing the blob. |
type | Type of stasis message. |
blob | The blob being published. (NULL if no blob) |
Definition at line 1139 of file stasis_channels.c.
References ao2_ref, ast_channel_blob_create(), ast_channel_topic(), ast_json_null(), stasis_publish(), and type.
Referenced by ast_channel_move(), ast_channel_publish_varset(), ast_queue_hangup(), ast_queue_hangup_with_cause(), ast_queue_hold(), ast_queue_unhold(), ast_softhangup(), publish_dahdichannel(), publish_hangup_handler_message(), send_agent_login(), send_agent_logoff(), send_dtmf_begin_event(), send_dtmf_end_event(), send_flash_event(), and send_wink_event().
void ast_channel_publish_cached_blob | ( | struct ast_channel * | chan, |
struct stasis_message_type * | type, | ||
struct ast_json * | blob | ||
) |
Publish a channel blob message using the latest snapshot from the cache.
chan | Channel publishing the blob. |
type | Type of stasis message. |
blob | The blob being published. (NULL if no blob) |
Definition at line 1124 of file stasis_channels.c.
References ao2_ref, ast_channel_blob_create_from_cache(), ast_channel_topic(), ast_channel_uniqueid(), ast_json_null(), stasis_publish(), and type.
Referenced by agi_handle_command(), ast_bridge_channel_write_hold(), ast_bridge_channel_write_unhold(), hold_intercept_framehook(), join_queue(), launch_asyncagi(), leave_queue(), publish_async_exec_end(), and record_abandoned().
void ast_channel_publish_dial | ( | struct ast_channel * | caller, |
struct ast_channel * | peer, | ||
const char * | dialstring, | ||
const char * | dialstatus | ||
) |
Publish in the ast_channel_topic or ast_channel_topic_all topics a stasis message for the channels involved in a dial operation.
caller | The channel performing the dial operation |
peer | The channel being dialed |
dialstring | When beginning a dial, the information passed to the dialing application |
dialstatus | The current status of the dial operation (NULL if no status is known) |
Definition at line 745 of file stasis_channels.c.
References ast_channel_publish_dial_forward(), ast_channel_snapshot::caller, NULL, and ast_channel_snapshot::peer.
Referenced by app_control_dial(), AST_TEST_DEFINE(), begin_dial_channel(), bridge_handle_trip(), dial_exec_full(), do_forward(), findmeexec(), handle_frame(), hangupcalls(), monitor_dial(), publish_dial_end_event(), ring_entry(), try_calling(), wait_for_answer(), and wait_for_winner().
void ast_channel_publish_dial_forward | ( | struct ast_channel * | caller, |
struct ast_channel * | peer, | ||
struct ast_channel * | forwarded, | ||
const char * | dialstring, | ||
const char * | dialstatus, | ||
const char * | forward | ||
) |
Publish in the ast_channel_topic or ast_channel_topic_all topics a stasis message for the channels involved in a dial operation that is forwarded.
caller | The channel performing the dial operation |
peer | The channel being dialed |
forwarded | The channel created as a result of the call forwarding |
dialstring | The information passed to the dialing application when beginning a dial |
dialstatus | The current status of the dial operation |
forward | The call forward string provided by the dialed channel |
Definition at line 695 of file stasis_channels.c.
References ast_assert, ast_channel_lock, ast_channel_publish_dial_internal(), ast_channel_trylock, ast_channel_unlock, ast_strlen_zero(), ast_channel_snapshot::caller, NULL, ast_channel_snapshot::peer, remove_dial_masquerade(), remove_dial_masquerade_caller(), and set_dial_masquerade().
Referenced by ast_channel_publish_dial(), bridge_handle_trip(), do_forward(), handle_call_forward(), and wait_for_answer().
void ast_channel_publish_final_snapshot | ( | struct ast_channel * | chan | ) |
Send the final channel snapshot for a channel, thus removing it from cache.
chan | The channel to send the final channel snapshot for |
Definition at line 923 of file stasis_channels.c.
References ao2_find, ao2_ref, ast_channel_name(), ast_channel_snapshot_set(), ast_channel_snapshot_type(), ast_channel_topic(), ast_channel_uniqueid(), channel_cache, channel_cache_by_name, channel_snapshot_update_create(), NULL, OBJ_NODATA, OBJ_SEARCH_KEY, OBJ_UNLINK, stasis_message_create(), stasis_publish(), and update().
Referenced by ast_channel_destructor().
void ast_channel_publish_snapshot | ( | struct ast_channel * | chan | ) |
Publish a ast_channel_snapshot for a channel.
chan | Channel to publish. |
Definition at line 1061 of file stasis_channels.c.
References ao2_find, ao2_link_flags, ao2_ref, ao2_unlock, ao2_wrlock, ast_assert, ast_channel_flags(), ast_channel_name(), ast_channel_snapshot_segment_flags(), ast_channel_snapshot_set(), ast_channel_snapshot_type(), ast_channel_topic(), ast_channel_uniqueid(), ast_clear_flag, AST_FLAG_SNAPSHOT_STAGE, AST_FLAGS_ALL, ast_test_flag, channel_cache, channel_cache_by_name, channel_snapshot_update_create(), NULL, OBJ_NODATA, OBJ_NOLOCK, OBJ_SEARCH_KEY, OBJ_UNLINK, stasis_message_create(), stasis_publish(), and update().
Referenced by ast_channel_amaflags_set(), ast_channel_internal_bridge_set(), ast_channel_internal_copy_linkedid(), ast_channel_publish_varset(), ast_channel_set_caller_event(), ast_channel_set_connected_line(), ast_channel_set_redirecting(), ast_channel_stage_snapshot_done(), ast_pbx_exec_application(), ast_set_callerid(), ast_setstate(), AST_TEST_DEFINE(), channel_do_masquerade(), do_forward(), onCallEstablished(), pbx_exec(), and realtime_exec().
void ast_channel_publish_varset | ( | struct ast_channel * | chan, |
const char * | variable, | ||
const char * | value | ||
) |
Publish a ast_channel_publish_varset for a channel.
chan | Channel to publish the event for, or NULL for 'none'. |
variable | Name of the variable being set |
value | Value. |
If there are manager variables, force a cache update
Definition at line 1154 of file stasis_channels.c.
References ast_alloca, ast_assert, ast_channel_has_manager_vars(), ast_channel_name(), ast_channel_publish_blob(), ast_channel_publish_snapshot(), ast_channel_varset_type(), ast_json_pack(), ast_json_unref(), ast_log, ast_utf8_replace_invalid_chars(), AST_UTF8_REPLACE_VALID, LOG_ERROR, LOG_WARNING, name, NULL, result, and value.
Referenced by ast_channel_inherit_variables(), ast_unreal_call_setup(), frame_set_var(), pbx_builtin_setvar_helper(), and shared_write().
struct ast_channel_snapshot * ast_channel_snapshot_create | ( | struct ast_channel * | chan | ) |
Generate a snapshot of the channel state. This is an ao2 object, so ao2_cleanup() to deallocate.
chan | The channel from which to generate a snapshot |
NULL | on error |
Definition at line 457 of file stasis_channels.c.
References ast_channel_snapshot::amaflags, AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_alloc_options, ao2_bump, ao2_ref, ast_channel_snapshot::ari_vars, ast_channel_amaflags(), ast_channel_flags(), ast_channel_get_ari_vars(), ast_channel_get_manager_vars(), ast_channel_snapshot(), AST_CHANNEL_SNAPSHOT_INVALIDATE_BASE, AST_CHANNEL_SNAPSHOT_INVALIDATE_BRIDGE, AST_CHANNEL_SNAPSHOT_INVALIDATE_DIALPLAN, AST_CHANNEL_SNAPSHOT_INVALIDATE_HANGUP, AST_CHANNEL_SNAPSHOT_INVALIDATE_PEER, ast_channel_snapshot_segment_flags(), ast_channel_softhangup_internal_flag(), ast_channel_tech(), ast_copy_flags, ast_set_flag, ast_test_flag, ast_channel_snapshot::base, ast_channel_snapshot::bridge, ast_channel_snapshot::caller, channel_snapshot_base_create(), channel_snapshot_bridge_create(), channel_snapshot_caller_create(), channel_snapshot_connected_create(), channel_snapshot_dialplan_create(), channel_snapshot_dtor(), channel_snapshot_hangup_create(), channel_snapshot_peer_create(), ast_channel_snapshot::connected, ast_channel_snapshot::dialplan, ast_channel_snapshot::flags, ast_channel_snapshot::hangup, ast_channel_snapshot::manager_vars, NULL, ast_channel_snapshot::peer, ast_channel_snapshot::softhangup_flags, and ast_channel_snapshot::state.
Referenced by action_agents(), append_expected_event(), ast_channel_publish_dial_internal(), ast_do_pickup(), ast_multi_object_blob_single_channel_publish(), AST_TEST_DEFINE(), channel_snapshot_update_create(), parked_call_app_exec(), parked_call_payload_from_failure(), parked_call_payload_from_parked_user(), queue_publish_multi_channel_blob(), and send_start_msg().
struct ast_channel_snapshot * ast_channel_snapshot_get_latest | ( | const char * | uniqueid | ) |
Obtain the latest ast_channel_snapshot from the Stasis Message Bus API cache. This is an ao2 object, so use ao2_cleanup() to deallocate.
uniqueid | The channel's unique ID |
NULL | on error |
Definition at line 909 of file stasis_channels.c.
References ao2_find, ast_assert, ast_strlen_zero(), channel_cache, and OBJ_SEARCH_KEY.
Referenced by __test_cel_generate_peer_str(), action_confbridgelist_item(), ari_channels_handle_originate_with_id(), ari_channels_handle_snoop_channel(), ast_ari_channels_create(), ast_ari_channels_get(), ast_ari_channels_redirect(), ast_attended_transfer_message_add_app(), ast_attended_transfer_message_add_link(), ast_attended_transfer_message_create(), ast_blind_transfer_message_create(), ast_bridge_blob_create(), ast_bridge_transfer_blind(), ast_channel_blob_create_from_cache(), ast_channel_publish_dial_internal(), ast_do_pickup(), ast_rtp_publish_rtcp_message(), ast_sip_for_each_channel_snapshot(), blind_transfer_bridge(), bridge_channel_snapshot_pair_init(), bridge_parking_push(), bridge_show_specific_print_channel(), bridge_stasis_push_peek(), cel_generate_peer_str(), chan_pjsip_devicestate(), channel_id_sanitizer(), channel_replaced_cb(), conf_send_event_to_participants(), coreshowchannelmap_add_connected_channels(), find_channel_control(), generate_status(), handle_attended_transfer(), handle_blind_transfer(), handle_hangup(), local_channel_optimization_blob(), local_optimization_started_cb(), mwi_state_create_message(), notify_new_message(), pack_channel_into_message(), publish_chanspy_message(), publish_local_bridge_message(), send_bridge_info_item_cb(), stasis_app_control_get_snapshot(), stasis_app_exec(), stasis_app_user_event(), and test_cel_generate_peer_str().
struct ast_channel_snapshot * ast_channel_snapshot_get_latest_by_name | ( | const char * | name | ) |
Obtain the latest ast_channel_snapshot from the Stasis Message Bus API cache. This is an ao2 object, so use ao2_cleanup() to deallocate.
name | The channel's name |
NULL | on error |
Definition at line 916 of file stasis_channels.c.
References ao2_find, ast_assert, ast_strlen_zero(), channel_cache_by_name, name, and OBJ_SEARCH_KEY.
Referenced by action_coreshowchannelmap(), cli_channel_retrieve_by_id(), coreshowchannelmap_add_connected_channels(), and handle_channelstatus().
void ast_channel_snapshot_invalidate_segment | ( | struct ast_channel * | chan, |
enum ast_channel_snapshot_segment_invalidation | segment | ||
) |
Invalidate a channel snapshot segment from being reused.
chan | Channel to invalidate the segment on. |
segment | The segment to invalidate. |
Definition at line 1055 of file stasis_channels.c.
References ast_channel_snapshot_segment_flags(), and ast_set_flag.
Referenced by ast_channel_appl_set(), ast_channel_caller_set(), ast_channel_connected_set(), ast_channel_context_set(), ast_channel_creationtime_set(), ast_channel_data_set(), ast_channel_dialed_set(), ast_channel_exten_set(), ast_channel_hangupcause_set(), ast_channel_internal_bridge_set(), ast_channel_internal_copy_linkedid(), ast_channel_priority_set(), ast_channel_redirecting_set(), ast_channel_set_caller(), ast_channel_set_caller_event(), ast_channel_set_connected_line(), ast_channel_set_redirecting(), ast_channel_tech_pvt_set(), ast_channel_tenantid_set(), and realtime_exec().
struct stasis_message_type * ast_channel_snapshot_type | ( | void | ) |
Message type for ast_channel_snapshot_update.
Referenced by app_create(), ast_channel_publish_final_snapshot(), ast_channel_publish_snapshot(), ast_stasis_channels_init(), AST_TEST_DEFINE(), create_routes(), endpoint_internal_create(), load_module(), manager_channels_init(), realtime_exec(), and stasis_channels_cleanup().
void ast_channel_stage_snapshot | ( | struct ast_channel * | chan | ) |
Set flag to indicate channel snapshot is being staged.
chan | Channel being staged. |
Definition at line 1044 of file stasis_channels.c.
References ast_channel_flags(), AST_FLAG_SNAPSHOT_STAGE, and ast_set_flag.
Referenced by __ast_channel_alloc_ap(), __ast_request_and_dial(), ast_ari_channels_dial(), ast_bridge_vars_set(), ast_call_forward(), ast_iax2_new(), ast_rtp_instance_set_stats_vars(), ast_unreal_call_setup(), begin_dial_prerun(), chan_pjsip_new(), common_recall_channel_setup(), console_new(), dahdi_new(), dial_exec_full(), end_bridge_callback(), jingle_new(), parking_duration_callback(), pbx_outgoing_attempt(), unistim_new(), and wait_for_answer().
void ast_channel_stage_snapshot_done | ( | struct ast_channel * | chan | ) |
Clear flag to indicate channel snapshot is being staged, and publish snapshot.
chan | Channel being staged. |
Definition at line 1049 of file stasis_channels.c.
References ast_channel_flags(), ast_channel_publish_snapshot(), ast_clear_flag, and AST_FLAG_SNAPSHOT_STAGE.
Referenced by __ast_channel_alloc_ap(), __ast_request_and_dial(), ast_ari_channels_dial(), ast_bridge_vars_set(), ast_call_forward(), ast_iax2_new(), ast_rtp_instance_set_stats_vars(), ast_unreal_call_setup(), begin_dial_prerun(), chan_pjsip_new(), common_recall_channel_setup(), console_new(), dahdi_new(), dial_exec_full(), end_bridge_callback(), jingle_new(), parking_duration_callback(), pbx_outgoing_attempt(), unistim_new(), and wait_for_answer().
struct stasis_message_type * ast_channel_talking_start | ( | void | ) |
Message type for a channel starting talking.
Referenced by ast_stasis_channels_init(), stasis_channels_cleanup(), and talk_detect_audiohook_cb().
struct stasis_message_type * ast_channel_talking_stop | ( | void | ) |
Message type for a channel stopping talking.
Referenced by ast_stasis_channels_init(), stasis_channels_cleanup(), and talk_detect_audiohook_cb().
struct stasis_message_type * ast_channel_tone_detect | ( | void | ) |
Message type for a channel tone detection.
Referenced by ast_stasis_channels_init(), detect_callback(), and stasis_channels_cleanup().
struct stasis_topic * ast_channel_topic_all | ( | void | ) |
A topic which publishes the events for all channels.
Definition at line 129 of file stasis_channels.c.
References channel_topic_all.
Referenced by ast_channel_internal_setup_topics(), ast_channel_topic(), create_subscriptions(), forwards_create_channel(), load_module(), manager_channels_init(), manager_confbridge_init(), meetme_stasis_init(), publish_message_for_channel_topics(), and setup_stasis_subs().
struct stasis_message_type * ast_channel_unhold_type | ( | void | ) |
Message type for when a channel is removed from hold.
Referenced by ast_bridge_channel_write_unhold(), ast_queue_unhold(), ast_stasis_channels_init(), hold_intercept_framehook(), manager_channels_init(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_varset_type | ( | void | ) |
Message type for when a variable is set on a channel.
Referenced by ast_channel_publish_varset(), ast_stasis_channels_init(), and stasis_channels_cleanup().
struct stasis_message_type * ast_channel_wink_type | ( | void | ) |
Message type for when a wink occurs on a channel.
Referenced by ast_stasis_channels_init(), manager_channels_init(), send_wink_event(), and stasis_channels_cleanup().
struct stasis_message * ast_endpoint_blob_create | ( | struct ast_endpoint * | endpoint, |
struct stasis_message_type * | type, | ||
struct ast_json * | blob | ||
) |
Creates a ast_endpoint_blob message.
The given blob should be treated as immutable and not modified after it is put into the message.
endpoint | Endpoint blob is associated with. |
type | Message type for this blob. |
blob | JSON object representing the data, or NULL for no data. If NULL , ast_json_null() is put into the object. |
NULL | on error |
Definition at line 293 of file stasis_endpoints.c.
References ao2_alloc, ao2_ref, ast_endpoint_snapshot_create(), ast_json_null(), ast_json_ref(), ast_endpoint_blob::blob, endpoint_blob_dtor(), NULL, ast_endpoint_blob::snapshot, stasis_message_create(), and type.
Referenced by ast_endpoint_blob_publish().
void ast_endpoint_blob_publish | ( | struct ast_endpoint * | endpoint, |
struct stasis_message_type * | type, | ||
struct ast_json * | blob | ||
) |
Creates and publishes a ast_endpoint_blob message.
The given blob should be treated as immutable and not modified after it is put into the message.
endpoint | Endpoint blob is associated with. |
type | Message type for this blob. |
blob | JSON object representing the data, or NULL for no data. If NULL , ast_json_null() is put into the object. |
Definition at line 325 of file stasis_endpoints.c.
References ao2_ref, ast_endpoint_blob_create(), ast_endpoint_topic(), stasis_publish(), and type.
Referenced by __expire_registry(), __iax2_poke_noanswer(), ast_sip_persistent_endpoint_publish_contact_state(), ast_sip_persistent_endpoint_update_state(), socket_process_helper(), and update_registry().
struct stasis_cache * ast_endpoint_cache | ( | void | ) |
Backend cache for ast_endpoint_topic_all_cached().
Definition at line 111 of file stasis_endpoints.c.
References endpoint_cache_all, and stasis_cp_all_cache().
Referenced by ast_ari_endpoints_list(), ast_ari_endpoints_list_by_tech(), ast_endpoint_latest_snapshot(), endpoints_scrape_cb(), load_module(), and unload_module().
struct stasis_cp_all * ast_endpoint_cache_all | ( | void | ) |
Definition at line 106 of file stasis_endpoints.c.
References endpoint_cache_all.
Referenced by endpoint_internal_create().
struct stasis_message_type * ast_endpoint_contact_state_type | ( | void | ) |
Message type for endpoint contact state changes.
Referenced by ast_endpoint_stasis_init(), ast_sip_persistent_endpoint_publish_contact_state(), endpoints_stasis_cleanup(), forwards_create_endpoint(), and manager_endpoints_init().
struct ast_endpoint_snapshot * ast_endpoint_latest_snapshot | ( | const char * | tech, |
const char * | resource | ||
) |
Retrieve the most recent snapshot for the endpoint with the given name.
tech | Name of the endpoint's technology. |
resource | Resource name of the endpoint. |
NULL | if endpoint is not found, or on error. |
Definition at line 341 of file stasis_endpoints.c.
References ao2_ref, ast_asprintf, ast_assert, ast_endpoint_cache(), ast_endpoint_snapshot_type(), ast_free, ast_strlen_zero(), ast_tech_to_upper(), name, NULL, stasis_cache_get(), stasis_message_data(), and ast_endpoint_snapshot::tech.
Referenced by ast_ari_endpoints_get(), ast_ari_endpoints_refer_to_endpoint(), ast_ari_endpoints_send_message_to_endpoint(), ast_sip_get_endpoint_snapshot(), chan_pjsip_devicestate(), message_received_handler(), and stasis_app_user_event().
struct ast_endpoint_snapshot * ast_endpoint_snapshot_create | ( | struct ast_endpoint * | endpoint | ) |
Create a snapshot of an endpoint.
endpoint | Endpoint to snap a shot of. |
NULL | on error. |
Definition at line 445 of file main/endpoints.c.
References AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_alloc_options, ao2_cleanup, ao2_container_count(), ao2_iterator_destroy(), ao2_iterator_init(), ao2_iterator_next, ast_assert, ast_string_field_build, ast_string_field_init, ast_string_field_set, ast_strlen_zero(), ast_endpoint_snapshot::channel_ids, ast_endpoint::channel_ids, endpoint_snapshot_dtor(), lock, ast_endpoint_snapshot::max_channels, ast_endpoint::max_channels, NULL, ast_endpoint_snapshot::num_channels, ast_endpoint::resource, SCOPED_AO2LOCK, ast_endpoint_snapshot::state, ast_endpoint::state, and ast_endpoint::tech.
Referenced by ast_endpoint_blob_create(), AST_TEST_DEFINE(), create_endpoint_snapshot_message(), and endpoint_publish_snapshot().
struct stasis_message_type * ast_endpoint_snapshot_type | ( | void | ) |
Message type for ast_endpoint_snapshot.
Referenced by app_create(), ast_ari_endpoints_list(), ast_ari_endpoints_list_by_tech(), ast_endpoint_latest_snapshot(), ast_endpoint_stasis_init(), AST_TEST_DEFINE(), cache_update(), cache_update_cb(), create_endpoint_snapshot_message(), endpoint_internal_create(), endpoint_publish_snapshot(), endpoint_snapshot_get_id(), endpoints_scrape_cb(), endpoints_stasis_cleanup(), load_module(), sub_endpoint_update_handler(), and unload_module().
struct stasis_message_type * ast_endpoint_state_type | ( | void | ) |
Message type for endpoint state changes.
Referenced by __expire_registry(), __iax2_poke_noanswer(), ast_endpoint_stasis_init(), ast_sip_persistent_endpoint_update_state(), endpoints_stasis_cleanup(), forwards_create_endpoint(), manager_endpoints_init(), socket_process_helper(), and update_registry().
struct stasis_topic * ast_endpoint_topic | ( | struct ast_endpoint * | endpoint | ) |
Returns the topic for a specific endpoint.
endpoint | The endpoint. |
NULL
. Definition at line 93 of file main/endpoints.c.
References ast_endpoint_topic_all(), stasis_cp_single_topic(), and ast_endpoint::topics.
Referenced by ast_channel_forward_endpoint(), ast_endpoint_blob_publish(), ast_endpoint_shutdown(), AST_TEST_DEFINE(), endpoint_internal_create(), endpoint_publish_snapshot(), and forwards_create_endpoint().
struct stasis_topic * ast_endpoint_topic_all | ( | void | ) |
Topic for all endpoint related messages.
Definition at line 116 of file stasis_endpoints.c.
References endpoint_cache_all, and stasis_cp_all_topic().
Referenced by ast_endpoint_topic().
struct stasis_topic * ast_endpoint_topic_all_cached | ( | void | ) |
Cached topic for all endpoint related messages.
Definition at line 121 of file stasis_endpoints.c.
References endpoint_cache_all, and stasis_cp_all_topic_cached().
Referenced by ast_endpoint_topic_cached(), AST_TEST_DEFINE(), forwards_create_endpoint(), load_module(), and manager_endpoints_init().
struct stasis_topic * ast_endpoint_topic_cached | ( | struct ast_endpoint * | endpoint | ) |
Returns the topic for a specific endpoint.
ast_endpoint_snapshot messages are replaced with stasis_cache_update
endpoint | The endpoint. |
NULL
. Definition at line 101 of file main/endpoints.c.
References ast_endpoint_topic_all_cached(), stasis_cp_single_topic_cached(), and ast_endpoint::topics.
Referenced by forwards_create_endpoint().
void ast_multi_channel_blob_add_channel | ( | struct ast_multi_channel_blob * | obj, |
const char * | role, | ||
struct ast_channel_snapshot * | snapshot | ||
) |
Add a ast_channel_snapshot to a ast_multi_channel_blob object.
obj | The ast_multi_channel_blob object that will reference the snapshot |
role | A role that the snapshot has in the multi channel relationship |
snapshot | The ast_channel_snapshot being added to the ast_multi_channel_blob object |
Definition at line 962 of file stasis_channels.c.
References AO2_ALLOC_OPT_LOCK_NOLOCK, ao2_alloc_options, ao2_link, ao2_ref, ast_copy_string(), ast_strlen_zero(), channel_role_snapshot_dtor(), ast_multi_channel_blob::channel_snapshots, channel_role_snapshot::role, and channel_role_snapshot::snapshot.
Referenced by ast_channel_publish_dial_internal(), AST_TEST_DEFINE(), local_channel_optimization_blob(), local_optimization_started_cb(), pack_channel_into_message(), publish_chanspy_message(), publish_local_bridge_message(), queue_publish_multi_channel_snapshot_blob(), and send_call_pickup_stasis_message().
struct ast_multi_channel_blob * ast_multi_channel_blob_create | ( | struct ast_json * | blob | ) |
Create a ast_multi_channel_blob suitable for a stasis_message.
The given blob should be treated as immutable and not modified after it is put into the message.
blob | The JSON blob that defines the data of this ast_multi_channel_blob |
NULL | on error |
Definition at line 887 of file stasis_channels.c.
References ao2_alloc, AO2_ALLOC_OPT_LOCK_MUTEX, ao2_container_alloc_hash, ao2_ref, ast_assert, ast_json_ref(), ast_multi_channel_blob::blob, channel_role_cmp_cb(), channel_role_hash_cb(), ast_multi_channel_blob::channel_snapshots, multi_channel_blob_dtor(), NULL, and NUM_MULTI_CHANNEL_BLOB_BUCKETS.
Referenced by ast_channel_publish_dial_internal(), AST_TEST_DEFINE(), local_channel_optimization_blob(), publish_chanspy_message(), publish_local_bridge_message(), queue_publish_multi_channel_snapshot_blob(), and send_call_pickup_stasis_message().
struct ast_channel_snapshot * ast_multi_channel_blob_get_channel | ( | struct ast_multi_channel_blob * | obj, |
const char * | role | ||
) |
Retrieve a channel snapshot associated with a specific role from a ast_multi_channel_blob.
obj | The ast_multi_channel_blob containing the channel snapshot to retrieve |
role | The role associated with the channel snapshot |
NULL | on error or not found for the role specified |
Definition at line 983 of file stasis_channels.c.
References ao2_find, ao2_ref, ast_strlen_zero(), ast_multi_channel_blob::channel_snapshots, NULL, OBJ_SEARCH_KEY, and channel_role_snapshot::snapshot.
Referenced by AST_TEST_DEFINE(), call_forwarded_handler(), call_pickup_to_ami(), cel_dial_cb(), cel_local_optimization_cb_helper(), cel_pickup_cb(), channel_chanspy_start_cb(), channel_chanspy_stop_cb(), channel_dial_cb(), dial_to_json(), handle_dial_message(), handle_local_optimization_begin(), handle_local_optimization_end(), local_message_to_ami(), and queue_multi_channel_to_ami().
struct ao2_container * ast_multi_channel_blob_get_channels | ( | struct ast_multi_channel_blob * | obj, |
const char * | role | ||
) |
Retrieve all channel snapshots associated with a specific role from a ast_multi_channel_blob.
obj | The ast_multi_channel_blob containing the channel snapshots to retrieve |
role | The role associated with the channel snapshots |
NULL | on error or not found for the role specified |
Definition at line 1001 of file stasis_channels.c.
References AO2_ALLOC_OPT_LOCK_MUTEX, ao2_callback, ao2_container_alloc_hash, ao2_iterator_destroy(), ao2_iterator_next, ao2_link, ao2_ref, ast_strdupa, ast_strlen_zero(), channel_role_cmp_cb(), channel_snapshot_cmp_cb(), channel_snapshot_hash_cb(), ast_multi_channel_blob::channel_snapshots, NULL, NUM_MULTI_CHANNEL_BLOB_BUCKETS, OBJ_MULTIPLE, OBJ_SEARCH_KEY, channel_role_snapshot::role, and channel_role_snapshot::snapshot.
Referenced by AST_TEST_DEFINE().
struct ast_json * ast_multi_channel_blob_get_json | ( | struct ast_multi_channel_blob * | obj | ) |
Retrieve the JSON blob from a ast_multi_channel_blob. Returned ast_json is still owned by obj.
obj | Channel blob object. |
NULL | on error. |
Definition at line 1036 of file stasis_channels.c.
References ast_multi_channel_blob::blob, and NULL.
Referenced by AST_TEST_DEFINE(), channel_dial_cb(), dial_to_json(), get_blob_variable(), handle_dial_message(), handle_local_optimization_begin(), handle_local_optimization_end(), local_message_to_ami(), and queue_multi_channel_to_ami().
void ast_multi_object_blob_add | ( | struct ast_multi_object_blob * | multi, |
enum stasis_user_multi_object_snapshot_type | type, | ||
void * | object | ||
) |
Add an object to a multi object blob previously created.
multi | The multi object blob previously created |
type | Type code for the object such as channel, bridge, etc. |
object | Snapshot object of the type supplied to typename |
Add an object to a multi object blob previously created.
Definition at line 2002 of file stasis.c.
References ao2_cleanup, AST_VECTOR_APPEND, ast_multi_object_blob::snapshots, and type.
Referenced by ast_multi_object_blob_single_channel_publish(), and stasis_app_user_event().
struct ast_multi_object_blob * ast_multi_object_blob_create | ( | struct ast_json * | blob | ) |
Create a stasis multi object blob.
Multi object blob can store a combination of arbitrary json values (the blob) and also snapshots of various other system objects (such as channels, bridges, etc) for delivery through a stasis message. The multi object blob is first created, then optionally objects are added to it, before being attached to a message and delivered to stasis topic.
blob | Json blob |
ast_multi_object_blob* | if succeeded |
NULL | if creation failed |
Create a stasis multi object blob.
Definition at line 1976 of file stasis.c.
References ao2_alloc, ao2_ref, ast_assert, ast_json_ref(), AST_VECTOR_INIT, ast_multi_object_blob::blob, multi_object_blob_dtor(), NULL, ast_multi_object_blob::snapshots, STASIS_UMOS_MAX, and type.
Referenced by ast_multi_object_blob_single_channel_publish(), and stasis_app_user_event().
void ast_multi_object_blob_single_channel_publish | ( | struct ast_channel * | chan, |
struct stasis_message_type * | type, | ||
struct ast_json * | blob | ||
) |
Create and publish a stasis message blob on a channel with it's snapshot.
For compatibility with app_userevent, this creates a multi object blob message, attaches the channel snapshot to it, and publishes it to the channel's topic.
chan | The channel to snapshot and publish event to |
type | The message type |
blob | A json blob to publish with the snapshot |
Create and publish a stasis message blob on a channel with it's snapshot.
Definition at line 2011 of file stasis.c.
References ao2_ref, ast_channel_snapshot_create(), ast_channel_topic(), ast_multi_object_blob_add(), ast_multi_object_blob_create(), ast_multi_object_blob::blob, stasis_message_create(), stasis_publish(), STASIS_UMOS_CHANNEL, and type.
Referenced by userevent_exec().
struct stasis_message_type * ast_multi_user_event_type | ( | void | ) |
Message type for custom user defined events with multi object blobs.
Referenced by stasis_app_user_event(), stasis_cleanup(), stasis_init(), and userevent_exec().
struct stasis_message_type * ast_parked_call_type | ( | void | ) |
accessor for the parked call stasis message type
NULL | if the parking topic hasn't been created or has been canceled |
Referenced by ast_parking_stasis_init(), create_parked_subscription_full(), create_routes(), load_module(), park_and_announce_app_exec(), park_announce_update_cb(), parker_update_cb(), parking_event_cb(), parking_manager_enable_stasis(), parking_stasis_cleanup(), publish_parked_call(), and publish_parked_call_failure().
struct stasis_topic * ast_parking_topic | ( | void | ) |
accessor for the parking stasis topic
NULL | if the parking topic hasn't been created or has been disabled |
Definition at line 67 of file parking.c.
References parking_topic.
Referenced by create_parked_subscription_full(), create_subscriptions(), park_and_announce_app_exec(), parking_manager_enable_stasis(), publish_parked_call(), and publish_parked_call_failure().
struct stasis_message_type * ast_rtp_rtcp_received_type | ( | void | ) |
Message type for an RTCP message received from some external source.
Referenced by ast_rtcp_interpret(), ast_rtp_engine_init(), load_module(), rtcp_report_to_ami(), rtcp_report_to_json(), rtp_engine_shutdown(), and rtp_topic_handler().
struct stasis_message_type * ast_rtp_rtcp_sent_type | ( | void | ) |
Message type for an RTCP message sent from this Asterisk instance.
Referenced by ast_rtcp_calculate_sr_rr_statistics(), ast_rtp_engine_init(), load_module(), rtp_engine_shutdown(), and rtp_topic_handler().
struct stasis_message_type * stasis_cache_clear_type | ( | void | ) |
Message type for clearing a message from a stasis cache.
Referenced by caching_topic_exec(), stasis_cache_cleanup(), stasis_cache_clear_create(), stasis_cache_init(), and stasis_caching_accept_message_type().
struct stasis_message_type * stasis_cache_update_type | ( | void | ) |
Message type for cache update messages.
Referenced by AST_TEST_DEFINE(), cache_update(), find_route(), load_module(), stasis_cache_cleanup(), stasis_cache_init(), stasis_message_router_add_cache_update(), sub_endpoint_update_handler(), and update_create().
struct stasis_message_type * stasis_subscription_change_type | ( | void | ) |
Gets the message type for subscription change notices.
Referenced by app_create(), AST_TEST_DEFINE(), asterisk_start_devicestate_publishing(), asterisk_start_mwi_publishing(), caching_topic_exec(), cc_generic_agent_start_monitoring(), consumer_exec(), consumer_exec_sync(), create_message_types(), create_parked_subscription_full(), endpoint_internal_create(), message_sink_cb(), mwi_stasis_subscription_alloc(), mwi_state_get_id(), park_and_announce_app_exec(), refer_blind_callback(), send_subscription_subscribe(), send_subscription_unsubscribe(), stasis_caching_accept_message_type(), stasis_cleanup(), stasis_init(), stasis_message_router_create_internal(), stasis_subscription_final_message(), subscribe_device_state(), and subscription_invoke().
struct stasis_message * stasis_test_message_create | ( | void | ) |
Creates a test message.
Definition at line 236 of file res_stasis_test.c.
References ao2_alloc, ao2_cleanup, stasis_message::data, NULL, RAII_VAR, stasis_message_create(), and stasis_test_message_type().
struct stasis_message_type * stasis_test_message_type | ( | void | ) |
Gets the type of messages created by stasis_test_message_create().
Referenced by load_module(), stasis_test_message_create(), and unload_module().