Asterisk - The Open Source Telephony Project
18.5.0
|
Structure that is the essence of a bridge technology. More...
#include <bridge_technology.h>
Public Member Functions | |
AST_RWLIST_ENTRY (ast_bridge_technology) entry | |
Data Fields | |
uint32_t | capabilities |
int(* | compatible )(struct ast_bridge *bridge) |
Check if a bridge is compatible with the bridging technology. More... | |
int(* | create )(struct ast_bridge *bridge) |
Create a bridge technology instance for a bridge. More... | |
void(* | destroy )(struct ast_bridge *bridge) |
Destroy a bridging technology instance for a bridge. More... | |
int(* | join )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Add a channel to a bridging technology instance for a bridge. More... | |
void(* | leave )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Remove a channel from a bridging technology instance for a bridge. More... | |
struct ast_module * | mod |
const char * | name |
enum ast_bridge_preference | preference |
int(* | start )(struct ast_bridge *bridge) |
Request a bridge technology instance start operations. More... | |
void(* | stop )(struct ast_bridge *bridge) |
Request a bridge technology instance stop in preparation for being destroyed. More... | |
void(* | stream_topology_changed )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Callback for when a stream topology changes on the channel. More... | |
int(* | stream_topology_request_change )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Callback for when a request has been made to change a stream topology on a channel. More... | |
void(* | suspend )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Suspend a channel on a bridging technology instance for a bridge. More... | |
unsigned int | suspended:1 |
void(* | unsuspend )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Unsuspend a channel on a bridging technology instance for a bridge. More... | |
int(* | write )(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, struct ast_frame *frame) |
Write a frame into the bridging technology instance for a bridge. More... | |
Structure that is the essence of a bridge technology.
Definition at line 61 of file bridge_technology.h.
AST_RWLIST_ENTRY | ( | ast_bridge_technology | ) |
Linked list information
uint32_t capabilities |
The capabilities that this bridge technology is capable of. This has nothing to do with format capabilities.
Definition at line 66 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), ast_bridge_peer_nolock(), ast_bridge_snapshot_create(), bridge_channel_internal_join(), bridge_merge_locked(), bridge_reconfigured_connected_line_update(), bridges_allow_merge_optimization(), find_best_technology(), handle_bridge_technology_show(), manager_bridge_tech_list(), set_bridge_peer_vars(), and smart_bridge_operation().
int(* compatible) (struct ast_bridge *bridge) |
Check if a bridge is compatible with the bridging technology.
0 | if not compatible |
non-zero | if compatible |
Definition at line 149 of file bridge_technology.h.
Referenced by find_best_technology(), and smart_bridge_operation().
int(* create) (struct ast_bridge *bridge) |
Create a bridge technology instance for a bridge.
0 | on success |
-1 | on failure |
Definition at line 78 of file bridge_technology.h.
Referenced by smart_bridge_operation().
void(* destroy) (struct ast_bridge *bridge) |
Destroy a bridging technology instance for a bridge.
Definition at line 100 of file bridge_technology.h.
Referenced by bridge_tech_deferred_destroy(), destroy_bridge(), and smart_bridge_operation().
int(* join) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Add a channel to a bridging technology instance for a bridge.
0 | on success |
-1 | on failure |
Definition at line 117 of file bridge_technology.h.
Referenced by bridge_channel_complete_join().
void(* leave) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Remove a channel from a bridging technology instance for a bridge.
Definition at line 127 of file bridge_technology.h.
Referenced by bridge_channel_internal_pull(), and smart_bridge_operation().
struct ast_module* mod |
Module this bridge technology belongs to. It is used for reference counting bridges using the technology.
Definition at line 196 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), bridge_tech_deferred_destroy(), destroy_bridge(), find_best_technology(), and smart_bridge_operation().
const char* name |
Unique name to this bridge technology
Definition at line 63 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), ast_bridge_snapshot_create(), ast_bridge_technology_unregister(), bridge_channel_complete_join(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_tech_deferred_destroy(), complete_bridge_technology(), destroy_bridge(), find_best_technology(), PathSegment::get_child(), handle_bridge_technology_show(), handle_bridge_technology_suspend(), handle_manager_bridge_tech_suspend(), Parameter::load(), SwaggerType::load(), Property::load(), manager_bridge_tech_list(), and smart_bridge_operation().
enum ast_bridge_preference preference |
Preference level that should be used when determining whether to use this bridge technology or not
Definition at line 68 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), find_best_technology(), handle_bridge_technology_show(), and manager_bridge_tech_list().
int(* start) (struct ast_bridge *bridge) |
Request a bridge technology instance start operations.
0 | on success |
-1 | on failure |
Definition at line 88 of file bridge_technology.h.
Referenced by smart_bridge_operation().
void(* stop) (struct ast_bridge *bridge) |
Request a bridge technology instance stop in preparation for being destroyed.
Definition at line 94 of file bridge_technology.h.
Referenced by destroy_bridge(), and smart_bridge_operation().
void(* stream_topology_changed) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Callback for when a stream topology changes on the channel.
This is called when a bridge receives an indication that a topology has been changed on a channel and the new topology has been mapped to the bridge. A bridge technology should define a handler for this callback if it needs to update internals due to a channel's topology changing.
Definition at line 192 of file bridge_technology.h.
Referenced by bridge_channel_complete_join(), and bridge_handle_trip().
int(* stream_topology_request_change) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Callback for when a request has been made to change a stream topology on a channel.
This is called when a bridge receives a request to change the topology on the channel. A bridge technology should define a handler for this callback if it needs to update internals or intercept the request and not pass it on to other channels. This can be done by returning a nonzero value.
0 | Frame can pass to the bridge technology. |
non-zero | Frame intercepted by the bridge technology. |
Definition at line 179 of file bridge_technology.h.
Referenced by bridge_handle_trip().
void(* suspend) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Suspend a channel on a bridging technology instance for a bridge.
Definition at line 133 of file bridge_technology.h.
Referenced by bridge_channel_internal_suspend_nolock().
unsigned int suspended |
TRUE if the bridge technology is currently suspended.
Definition at line 194 of file bridge_technology.h.
Referenced by ast_bridge_technology_suspend(), ast_bridge_technology_unsuspend(), find_best_technology(), handle_bridge_technology_show(), and manager_bridge_tech_list().
void(* unsuspend) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel) |
Unsuspend a channel on a bridging technology instance for a bridge.
Definition at line 139 of file bridge_technology.h.
Referenced by bridge_channel_internal_unsuspend_nolock().
int(* write) (struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel, struct ast_frame *frame) |
Write a frame into the bridging technology instance for a bridge.
0 | Frame accepted into the bridge. |
-1 | Frame needs to be deferred. |
Definition at line 163 of file bridge_technology.h.
Referenced by __ast_bridge_technology_register(), bridge_channel_settle_owed_events(), bridge_channel_write_frame(), and MultiOrderedConfigParser::write().