24 #ifndef _ASTERISK_BRIDGING_TECHNOLOGY_H
25 #define _ASTERISK_BRIDGING_TECHNOLOGY_H
27 #if defined(__cplusplus) || defined(c_plusplus)
37 AST_BRIDGE_PREFERENCE_BASE_HOLDING = 50,
38 AST_BRIDGE_PREFERENCE_BASE_EARLY = 100,
39 AST_BRIDGE_PREFERENCE_BASE_NATIVE = 90,
40 AST_BRIDGE_PREFERENCE_BASE_1TO1MIX = 50,
41 AST_BRIDGE_PREFERENCE_BASE_MULTIMIX = 10,
223 #define ast_bridge_technology_register(technology) __ast_bridge_technology_register(technology, AST_MODULE_SELF)
278 #if defined(__cplusplus) || defined(c_plusplus)
AST_RWLIST_ENTRY(ast_bridge_technology) entry
void(* suspend)(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
Suspend a channel on a bridging technology instance for a bridge.
unsigned int talking_threshold
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.
int(* start)(struct ast_bridge *bridge)
Request a bridge technology instance start operations.
void(* stream_topology_changed)(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
Callback for when a stream topology changes on the channel.
int __ast_bridge_technology_register(struct ast_bridge_technology *technology, struct ast_module *mod)
Register a bridge technology for use.
unsigned int silence_threshold
void(* leave)(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
Remove a channel from a bridging technology instance for a bridge.
int(* compatible)(struct ast_bridge *bridge)
Check if a bridge is compatible with the bridging technology.
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.
enum ast_bridge_preference preference
void ast_bridge_technology_suspend(struct ast_bridge_technology *technology)
Suspend a bridge technology from consideration.
Structure that contains information about a bridge.
void(* destroy)(struct ast_bridge *bridge)
Destroy a bridging technology instance for a bridge.
int ast_bridge_technology_unregister(struct ast_bridge_technology *technology)
Unregister a bridge technology from use.
void ast_bridge_technology_unsuspend(struct ast_bridge_technology *technology)
Unsuspend a bridge technology.
int(* join)(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
Add a channel to a bridging technology instance for a bridge.
Structure that contains information regarding a channel in a bridge.
Structure that is the essence of a bridge technology.
Data structure associated with a single frame of data.
unsigned int drop_silence
int(* create)(struct ast_bridge *bridge)
Create a bridge technology instance for a bridge.
void(* unsuspend)(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
Unsuspend a channel on a bridging technology instance for a bridge.
ast_bridge_preference
Base preference values for choosing a bridge technology.
void(* stop)(struct ast_bridge *bridge)
Request a bridge technology instance stop in preparation for being destroyed.
Structure specific to bridge technologies capable of performing talking optimizations.