Asterisk - The Open Source Telephony Project
18.5.0
|
Local proxy channel special access. More...
Go to the source code of this file.
Functions | |
struct stasis_message_type * | ast_local_bridge_type (void) |
Message type for when two local channel halves are bridged together. More... | |
struct ast_channel * | ast_local_get_peer (struct ast_channel *ast) |
Get the other local channel in the pair. More... | |
void | ast_local_lock_all (struct ast_channel *chan, void **tech_pvt, struct ast_channel **base_chan, struct ast_channel **base_owner) |
Add a reference to the local channel's private tech, lock the local channel's private base, and add references and lock both sides of the local channel. More... | |
struct stasis_message_type * | ast_local_optimization_begin_type (void) |
Message type for when a local channel optimization begins. More... | |
struct stasis_message_type * | ast_local_optimization_end_type (void) |
Message type for when a local channel optimization completes. More... | |
int | ast_local_setup_bridge (struct ast_channel *ast, struct ast_bridge *bridge, struct ast_channel *swap, struct ast_bridge_features *features) |
Setup the outgoing local channel to join a bridge on ast_call(). More... | |
int | ast_local_setup_masquerade (struct ast_channel *ast, struct ast_channel *masq) |
Setup the outgoing local channel to masquerade into a channel on ast_call(). More... | |
void | ast_local_unlock_all (void *tech_pvt, struct ast_channel *base_chan, struct ast_channel *base_owner) |
Remove a reference to the given local channel's private tech, unlock the given local channel's private base, and remove references and unlock both sides of given the local channel. More... | |
struct stasis_message_type* ast_local_bridge_type | ( | void | ) |
Message type for when two local channel halves are bridged together.
A | Stasis Message Bus API message type |
Referenced by ast_local_init(), local_message_to_ami(), local_shutdown(), and publish_local_bridge_message().
struct ast_channel* ast_local_get_peer | ( | struct ast_channel * | ast | ) |
Get the other local channel in the pair.
ast | Local channel to get peer. |
peer | reffed on success. |
NULL | if no peer or error. |
Definition at line 276 of file core_local.c.
References ao2_find, ao2_lock, ao2_ref, ao2_unlock, ast_channel_ref, ast_channel_tech_pvt(), local_pvt::base, ast_unreal_pvt::chan, NULL, and ast_unreal_pvt::owner.
Referenced by ari_channels_handle_originate_with_id(), and park_local_transfer().
void ast_local_lock_all | ( | struct ast_channel * | chan, |
void ** | tech_pvt, | ||
struct ast_channel ** | base_chan, | ||
struct ast_channel ** | base_owner | ||
) |
Add a reference to the local channel's private tech, lock the local channel's private base, and add references and lock both sides of the local channel.
chan | Must be a local channel |
tech_pvt | [out] channel's private tech (ref and lock added) |
base_chan | [out] One side of the local channel (ref and lock added) |
base_owner | [out] Other side of the local channel (ref and lock added) |
Definition at line 241 of file core_local.c.
References ao2_bump, ast_channel_tech_pvt(), ast_unreal_lock_all(), local_pvt::base, and NULL.
Referenced by attended_transfer_bridge().
struct stasis_message_type* ast_local_optimization_begin_type | ( | void | ) |
Message type for when a local channel optimization begins.
A | Stasis Message Bus API message type |
Referenced by ast_local_init(), AST_TEST_DEFINE(), local_message_to_ami(), local_optimization_started_cb(), local_shutdown(), and setup_stasis_subs().
struct stasis_message_type* ast_local_optimization_end_type | ( | void | ) |
Message type for when a local channel optimization completes.
A | Stasis Message Bus API message type |
Referenced by ast_local_init(), AST_TEST_DEFINE(), create_routes(), local_message_to_ami(), local_optimization_finished_cb(), local_shutdown(), and setup_stasis_subs().
int ast_local_setup_bridge | ( | struct ast_channel * | ast, |
struct ast_bridge * | bridge, | ||
struct ast_channel * | swap, | ||
struct ast_bridge_features * | features | ||
) |
Setup the outgoing local channel to join a bridge on ast_call().
ast | Either channel of a local channel pair. |
bridge | Bridge to join. |
swap | Channel to swap with when joining. |
features | Bridge features structure. |
0 | on success. |
-1 | on error. |
Definition at line 599 of file core_local.c.
References local_pvt::action, ao2_find, ao2_lock, ao2_ref, ao2_unlock, ast_bridge_features_destroy(), ast_channel_lock, ast_channel_ref, ast_channel_tech_pvt(), ast_channel_unlock, ast_test_flag, AST_UNREAL_CARETAKER_THREAD, local_pvt::base, local_pvt::bridge, ast_unreal_pvt::chan, local_bridge::features, local_bridge::join, LOCAL_CALL_ACTION_BRIDGE, LOCAL_CALL_ACTION_DIALPLAN, NULL, ast_unreal_pvt::owner, local_bridge::swap, and local_pvt::type.
Referenced by attended_transfer_bridge().
int ast_local_setup_masquerade | ( | struct ast_channel * | ast, |
struct ast_channel * | masq | ||
) |
Setup the outgoing local channel to masquerade into a channel on ast_call().
ast | Either channel of a local channel pair. |
masq | Channel to masquerade into. |
0 | on success. |
-1 | on error. |
Definition at line 641 of file core_local.c.
References local_pvt::action, ao2_find, ao2_lock, ao2_ref, ao2_unlock, ast_channel_lock, ast_channel_ref, ast_channel_tech_pvt(), ast_channel_unlock, ast_test_flag, AST_UNREAL_CARETAKER_THREAD, local_pvt::base, ast_unreal_pvt::chan, LOCAL_CALL_ACTION_DIALPLAN, LOCAL_CALL_ACTION_MASQUERADE, local_pvt::masq, NULL, ast_unreal_pvt::owner, and local_pvt::type.
Referenced by attended_transfer_bridge().
void ast_local_unlock_all | ( | void * | tech_pvt, |
struct ast_channel * | base_chan, | ||
struct ast_channel * | base_owner | ||
) |
Remove a reference to the given local channel's private tech, unlock the given local channel's private base, and remove references and unlock both sides of given the local channel.
tech_pvt | channel's private tech (ref and lock removed) |
base_chan | One side of the local channel (ref and lock removed) |
base_owner | Other side of the local channel (ref and lock removed) |
Definition at line 256 of file core_local.c.
References ao2_ref, ao2_unlock, ast_channel_unlock, ast_channel_unref, and local_pvt::base.
Referenced by attended_transfer_bridge().