Asterisk - The Open Source Telephony Project GIT-master-f36a736
|
Channel Bridging API. More...
Go to the source code of this file.
Data Structures | |
struct | ast_bridge_tech_optimizations |
Structure specific to bridge technologies capable of performing talking optimizations. More... | |
struct | ast_bridge_technology |
Structure that is the essence of a bridge technology. More... | |
Macros | |
#define | ast_bridge_technology_register(technology) __ast_bridge_technology_register(technology, AST_MODULE_SELF) |
See __ast_bridge_technology_register() More... | |
Enumerations | |
enum | ast_bridge_preference { AST_BRIDGE_PREFERENCE_BASE_HOLDING = 50 , AST_BRIDGE_PREFERENCE_BASE_EARLY = 100 , AST_BRIDGE_PREFERENCE_BASE_NATIVE = 90 , AST_BRIDGE_PREFERENCE_BASE_1TO1MIX = 50 , AST_BRIDGE_PREFERENCE_BASE_MULTIMIX = 10 } |
Base preference values for choosing a bridge technology. More... | |
Functions | |
int | __ast_bridge_technology_register (struct ast_bridge_technology *technology, struct ast_module *mod) |
Register a bridge technology for use. More... | |
void | ast_bridge_technology_suspend (struct ast_bridge_technology *technology) |
Suspend a bridge technology from consideration. More... | |
int | ast_bridge_technology_unregister (struct ast_bridge_technology *technology) |
Unregister a bridge technology from use. More... | |
void | ast_bridge_technology_unsuspend (struct ast_bridge_technology *technology) |
Unsuspend a bridge technology. More... | |
Channel Bridging API.
Definition in file bridge_technology.h.
#define ast_bridge_technology_register | ( | technology | ) | __ast_bridge_technology_register(technology, AST_MODULE_SELF) |
See __ast_bridge_technology_register()
Definition at line 223 of file bridge_technology.h.
Base preference values for choosing a bridge technology.
Enumerator | |
---|---|
AST_BRIDGE_PREFERENCE_BASE_HOLDING | |
AST_BRIDGE_PREFERENCE_BASE_EARLY | |
AST_BRIDGE_PREFERENCE_BASE_NATIVE | |
AST_BRIDGE_PREFERENCE_BASE_1TO1MIX | |
AST_BRIDGE_PREFERENCE_BASE_MULTIMIX |
Definition at line 36 of file bridge_technology.h.
int __ast_bridge_technology_register | ( | struct ast_bridge_technology * | technology, |
struct ast_module * | mod | ||
) |
Register a bridge technology for use.
technology | The bridge technology to register |
mod | The module that is registering the bridge technology |
0 | on success |
-1 | on failure |
Example usage:
This registers a bridge technology declared as the structure simple_bridge_tech with the bridging core and makes it available for use when creating bridges.
Definition at line 212 of file bridge.c.
References ast_log, AST_RWLIST_INSERT_BEFORE_CURRENT, AST_RWLIST_INSERT_TAIL, AST_RWLIST_TRAVERSE, AST_RWLIST_TRAVERSE_SAFE_BEGIN, AST_RWLIST_TRAVERSE_SAFE_END, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, ast_strlen_zero(), ast_verb, ast_bridge_technology::capabilities, current, LOG_WARNING, ast_bridge_technology::mod, ast_bridge_technology::name, ast_bridge_technology::preference, and ast_bridge_technology::write.
void ast_bridge_technology_suspend | ( | struct ast_bridge_technology * | technology | ) |
Suspend a bridge technology from consideration.
technology | The bridge technology to suspend |
Example usage:
This suspends the bridge technology simple_bridge_tech from being considered when creating a new bridge. Existing bridges using the bridge technology are not affected.
Definition at line 3047 of file bridge.c.
References ast_bridge_technology::suspended.
Referenced by handle_bridge_technology_suspend(), and handle_manager_bridge_tech_suspend().
int ast_bridge_technology_unregister | ( | struct ast_bridge_technology * | technology | ) |
Unregister a bridge technology from use.
technology | The bridge technology to unregister |
0 | on success |
-1 | on failure |
Example usage:
This unregisters a bridge technlogy declared as the structure simple_bridge_tech with the bridging core. It will no longer be considered when creating a new bridge.
Definition at line 263 of file bridge.c.
References AST_RWLIST_REMOVE_CURRENT, AST_RWLIST_TRAVERSE_SAFE_BEGIN, AST_RWLIST_TRAVERSE_SAFE_END, AST_RWLIST_UNLOCK, AST_RWLIST_WRLOCK, ast_verb, current, and ast_bridge_technology::name.
Referenced by dahdi_native_unload(), and unload_module().
void ast_bridge_technology_unsuspend | ( | struct ast_bridge_technology * | technology | ) |
Unsuspend a bridge technology.
technology | The bridge technology to unsuspend |
Example usage:
This makes the bridge technology simple_bridge_tech considered when creating a new bridge again.
Definition at line 3052 of file bridge.c.
References ast_bridge_technology::suspended.
Referenced by handle_bridge_technology_suspend(), and handle_manager_bridge_tech_suspend().