Asterisk - The Open Source Telephony Project
18.5.0
|
Structure that contains information regarding a channel in a bridge. More...
#include <bridge_channel.h>
Data Fields | |
union { | |
struct { | |
unsigned int binaural_pos_change:1 | |
unsigned int binaural_suspended:1 | |
unsigned int padding:30 | |
} | |
uint32_t raw | |
}; | |
enum bridge_channel_thread_state | activity |
The bridge channel thread activity. More... | |
int | alert_pipe [2] |
struct ast_bridge * | bridge |
Bridge this channel is participating in. More... | |
void * | bridge_pvt |
Bridge class private channel data. More... | |
struct bridge_roles_datastore * | bridge_roles |
ast_callid | callid |
struct ast_channel * | chan |
ast_cond_t | cond |
struct { | |
struct ast_frame * first | |
struct ast_frame * last | |
} | deferred_queue |
unsigned int | depart_wait:1 |
struct { | |
char collected [MAXIMUM_DTMF_FEATURE_STRING] | |
struct timeval interdigit_timeout | |
} | dtmf_hook_state |
struct { | |
struct ast_bridge_channel * next | |
} | entry |
struct ast_bridge_features * | features |
unsigned int | in_bridge:1 |
unsigned int | inhibit_colp:1 |
unsigned int | just_joined:1 |
struct { | |
char dtmf_digit | |
struct timeval dtmf_tv | |
char t38_terminate | |
} | owed |
struct ast_format * | read_format |
enum bridge_channel_state | state |
struct { | |
struct ast_vector_int to_bridge | |
struct ast_vector_int to_channel | |
} | stream_map |
unsigned int | suspended:1 |
struct ast_channel * | swap |
struct ast_bridge_tech_optimizations | tech_args |
void * | tech_pvt |
Private information unique to the bridge technology. More... | |
pthread_t | thread |
struct { | |
struct ast_frame * first | |
struct ast_frame * last | |
} | wr_queue |
struct ast_format * | write_format |
Structure that contains information regarding a channel in a bridge.
Definition at line 84 of file bridge_channel.h.
union { ... } |
enum bridge_channel_thread_state activity |
The bridge channel thread activity.
Used by local channel optimization to determine if the thread is in an acceptable state to optimize.
Definition at line 160 of file bridge_channel.h.
Referenced by bridge_channel_handle_write(), bridge_channel_wait(), optimize_lock_chan_stack(), and optimize_lock_peer_stack().
int alert_pipe[2] |
Pipe to alert thread when frames are put into the wr_queue.
Definition at line 151 of file bridge_channel.h.
Referenced by ast_bridge_channel_queue_frame(), bridge_channel_destroy(), bridge_channel_handle_write(), bridge_channel_internal_alloc(), and bridge_channel_wait().
unsigned int binaural_pos_change |
TRUE if a change of binaural positions has to be performed.
Definition at line 183 of file bridge_channel.h.
Referenced by check_binaural_position_change().
unsigned int binaural_suspended |
TRUE if binaural is suspended.
Definition at line 181 of file bridge_channel.h.
Referenced by action_toggle_binaural(), and create_binaural_frame().
struct ast_bridge* bridge |
Bridge this channel is participating in.
Definition at line 100 of file bridge_channel.h.
Referenced by action_toggle_binaural(), agent_alert(), agent_connect_caller(), ast_bridge_channel_feature_digit(), ast_bridge_channel_lock_bridge(), ast_bridge_channel_merge_inhibit(), ast_bridge_channel_peer(), ast_bridge_channel_stream_map(), ast_bridge_channel_update_linkedids(), ast_bridge_notify_masquerade(), basic_hangup_hook(), bridge_channel_change_bridge(), bridge_channel_complete_join(), bridge_channel_destroy(), bridge_channel_dissolve_check(), bridge_channel_handle_control(), bridge_channel_internal_alloc(), bridge_channel_internal_join(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_channel_internal_suspend_nolock(), bridge_channel_internal_unsuspend_nolock(), bridge_channel_suspend(), bridge_channel_unsuspend(), bridge_channel_update_accountcodes_joining(), bridge_channel_update_accountcodes_leaving(), bridge_channel_wait(), bridge_channel_write_frame(), bridge_do_merge(), bridge_do_move(), bridge_handle_trip(), check_binaural_position_change(), defer_action(), deferred_action(), feature_automixmonitor(), feature_automonitor(), native_rtp_bridge_framehook_attach(), native_rtp_bridge_framehook_detach(), optimize_lock_chan_stack(), optimize_lock_peer_stack(), parking_blind_transfer_park(), and parking_park_bridge_channel().
void* bridge_pvt |
Bridge class private channel data.
Definition at line 108 of file bridge_channel.h.
Referenced by bridge_parking_pull(), and bridge_parking_push().
struct bridge_roles_datastore* bridge_roles |
A clone of the roles living on chan when the bridge channel joins the bridge. This may require some opacification
Definition at line 143 of file bridge_channel.h.
Referenced by ast_bridge_channel_clear_roles(), ast_bridge_channel_establish_roles(), ast_bridge_channel_get_role_option(), and ast_bridge_channel_has_role().
ast_callid callid |
Call ID associated with bridge channel
Definition at line 141 of file bridge_channel.h.
Referenced by bridge_channel_depart_thread(), bridge_channel_destroy(), bridge_channel_ind_thread(), and bridge_impart_internal().
struct ast_channel* chan |
Asterisk channel participating in the bridge
Definition at line 91 of file bridge_channel.h.
Referenced by action_dialplan_exec(), action_kick_last(), action_playback(), action_playback_and_continue(), agent_alert(), agent_bridge_channel_get_lock(), agent_connect_caller(), ast_bridge_channel_establish_roles(), ast_bridge_channel_feature_digit(), ast_bridge_channel_get_chan(), ast_bridge_channel_kick(), ast_bridge_channel_leave_bridge_nolock(), ast_bridge_channel_playfile(), ast_bridge_channel_queue_frame(), ast_bridge_channel_restore_formats(), ast_bridge_channel_run_app(), ast_bridge_channel_stream_map(), ast_bridge_channel_update_linkedids(), ast_bridge_channel_write_hold(), ast_bridge_depart(), ast_bridge_join(), ast_bridge_peer_nolock(), ast_bridge_peers_nolock(), ast_bridge_snapshot_create(), bridge_agent_hold_pull(), bridge_agent_hold_push(), bridge_basic_setup_features(), bridge_channel_attended_transfer(), bridge_channel_blind_transfer(), bridge_channel_change_bridge(), bridge_channel_complete_join(), bridge_channel_depart_thread(), bridge_channel_dissolve_check(), bridge_channel_do_callback(), bridge_channel_dtmf_stream(), bridge_channel_event_join_leave(), bridge_channel_feature_digit_add(), bridge_channel_feature_digit_timeout(), bridge_channel_handle_action(), bridge_channel_handle_control(), bridge_channel_handle_interval(), bridge_channel_handle_write(), bridge_channel_ind_thread(), bridge_channel_internal_join(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_channel_moving(), bridge_channel_park(), bridge_channel_poke(), bridge_channel_queue_deferred_frames(), bridge_channel_settle_owed_events(), bridge_channel_talking(), bridge_channel_update_accountcodes_joining(), bridge_channel_update_accountcodes_leaving(), bridge_channel_wait(), bridge_channel_write_frame(), bridge_do_move(), bridge_features_duration_callback(), bridge_find_channel(), bridge_handle_trip(), bridge_impart_internal(), bridge_parking_pull(), bridge_parking_push(), bridge_personality_atxfer_push(), bridge_reconfigured_connected_line_update(), bridge_stasis_moving(), bridge_stasis_pull(), bridge_stasis_push(), bridge_stasis_push_peek(), bridge_stasis_queue_join_action(), bridge_timeout(), bridgewait_timeout_callback(), caller_joined_bridge(), caller_safety_timeout(), check_bridge_play_sound(), clear_agent_status(), complete_bridge_participant(), conf_handle_dtmf(), conf_handle_talker_cb(), defer_action(), dynamic_dtmf_hook_callback(), dynamic_dtmf_hook_trip(), execute_menu_entry(), feature_attended_transfer(), feature_automixmonitor(), feature_automonitor(), feature_blind_transfer(), gather_softmix_stats(), handle_participant_join(), holding_bridge_join(), join_callback(), limits_interval_playback(), manager_park(), map_source_to_destinations(), native_bridge_changed(), native_bridge_compatible(), native_bridge_is_capable(), native_chan_changed(), native_rtp_bridge_compatible(), native_rtp_bridge_compatible_check(), native_rtp_bridge_framehook_attach(), native_rtp_bridge_framehook_detach(), native_rtp_bridge_join(), native_rtp_bridge_leave(), native_rtp_bridge_start(), native_rtp_bridge_stop(), native_rtp_bridge_suspend(), native_rtp_bridge_unsuspend(), native_rtp_stream_topology_changed(), native_start(), native_stop(), on_personality_change_normal(), parking_blind_transfer_park(), parking_park_bridge_channel(), parking_park_call(), participant_entertainment_start(), participant_entertainment_stop(), participant_idle_mode_setup(), participant_reaction_announcer_join(), play_file(), play_on_channel_in_bridge(), recall_pull(), say_parking_space(), set_bridge_peer_vars_holding(), set_bridge_peer_vars_multiparty(), set_interval_hook(), set_softmix_bridge_data(), sfu_topologies_on_join(), sfu_topologies_on_leave(), sfu_topologies_on_source_change(), simple_bridge_stream_topology_changed(), smart_bridge_operation(), softmix_bridge_join(), softmix_bridge_stream_sources_update(), softmix_bridge_stream_topology_changed(), softmix_bridge_unsuspend(), softmix_bridge_write_text(), softmix_bridge_write_video(), softmix_bridge_write_voice(), softmix_mixing_loop(), softmix_pass_video_top_priority(), start_automixmonitor(), start_automonitor(), stop_automixmonitor(), stop_automonitor(), try_merge_optimize_out(), try_swap_optimize_out(), and user_timeout().
char collected[MAXIMUM_DTMF_FEATURE_STRING] |
Collected DTMF digits for DTMF hooks.
Definition at line 175 of file bridge_channel.h.
Referenced by ast_bridge_channel_feature_digit(), ast_bridge_channel_feature_digit_add(), bridge_channel_feature_digit_add(), bridge_channel_feature_timeout(), bridge_channel_handle_feature_timeout(), bridge_channel_handle_write(), and bridge_handle_dtmf().
ast_cond_t cond |
Condition, used if we want to wake up a thread waiting on the bridged channel
Definition at line 87 of file bridge_channel.h.
Referenced by bridge_channel_destroy(), bridge_channel_internal_alloc(), bridge_channel_internal_unsuspend_nolock(), and bridge_channel_wait().
struct { ... } deferred_queue |
Queue of deferred frames, queued onto channel when other party joins.
Referenced by bridge_channel_destroy(), bridge_channel_queue_deferred_frames(), and bridge_channel_write_frame().
unsigned int depart_wait |
TRUE if the channel must wait for an ast_bridge_depart to reclaim the channel.
Definition at line 129 of file bridge_channel.h.
Referenced by ast_bridge_depart(), and bridge_impart_internal().
char dtmf_digit |
Digit currently sending into the bridge. (zero if not sending)
Definition at line 166 of file bridge_channel.h.
Referenced by bridge_channel_cancel_owed_events(), bridge_channel_settle_owed_events(), and bridge_channel_write_frame().
struct { ... } dtmf_hook_state |
struct timeval dtmf_tv |
Time started sending the current digit. (Invalid if owed.dtmf_digit is zero.)
Definition at line 164 of file bridge_channel.h.
Referenced by bridge_channel_settle_owed_events(), and bridge_channel_write_frame().
struct { ... } entry |
Linked list information
struct ast_bridge_features* features |
Features structure for features that are specific to this channel
Definition at line 132 of file bridge_channel.h.
Referenced by add_normal_hooks(), ast_bridge_channel_feature_digit(), ast_bridge_channel_kick(), ast_bridge_channel_queue_frame(), ast_bridge_join(), bridge_agent_hold_push(), bridge_base_pull(), bridge_basic_setup_features(), bridge_channel_depart_thread(), bridge_channel_dissolve_check(), bridge_channel_event_join_leave(), bridge_channel_handle_interval(), bridge_channel_ind_thread(), bridge_channel_internal_join(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_channel_moving(), bridge_channel_next_interval(), bridge_channel_talking(), bridge_dissolve_check_stolen(), bridge_do_merge(), bridge_do_move(), bridge_handle_dtmf(), bridge_handle_trip(), bridge_impart_internal(), bridge_move_locked(), bridge_parking_push(), bridge_personality_atxfer_push(), bridge_stasis_pull(), bridge_swap_attended_transfer(), native_bridge_is_capable(), native_rtp_bridge_compatible_check(), remove_hooks_on_personality_change(), set_interval_hook(), smart_bridge_operation(), and softmix_bridge_check_voice().
struct ast_frame* first |
Definition at line 147 of file bridge_channel.h.
unsigned int in_bridge |
TRUE if the channel is in a bridge.
Definition at line 121 of file bridge_channel.h.
Referenced by ast_bridge_channel_peer(), ast_bridge_peer_nolock(), bridge_channel_internal_allows_optimization(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_channel_internal_suspend_nolock(), bridge_channel_internal_unsuspend_nolock(), bridge_do_move(), and parking_blind_transfer_park().
unsigned int inhibit_colp |
TRUE if the COLP update on initial join is inhibited.
Definition at line 127 of file bridge_channel.h.
Referenced by ast_bridge_join(), bridge_channel_internal_join(), and bridge_impart_internal().
struct timeval interdigit_timeout |
Time at which the DTMF hooks should stop waiting for more digits to come.
Definition at line 173 of file bridge_channel.h.
Referenced by ast_bridge_channel_feature_digit(), bridge_channel_feature_timeout(), and bridge_channel_handle_feature_timeout().
unsigned int just_joined |
TRUE if the channel just joined the bridge.
Definition at line 123 of file bridge_channel.h.
Referenced by bridge_channel_complete_join(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_complete_join(), and smart_bridge_operation().
struct ast_frame* last |
Definition at line 147 of file bridge_channel.h.
struct ast_bridge_channel* next |
Definition at line 145 of file bridge_channel.h.
struct { ... } owed |
Owed events to the bridge.
Referenced by bridge_channel_cancel_owed_events(), bridge_channel_settle_owed_events(), and bridge_channel_write_frame().
unsigned int padding |
Padding
Definition at line 185 of file bridge_channel.h.
uint32_t raw |
Definition at line 178 of file bridge_channel.h.
struct ast_format* read_format |
Copy of read format used by chan before join
Definition at line 137 of file bridge_channel.h.
Referenced by ast_bridge_channel_restore_formats(), bridge_channel_destroy(), and bridge_channel_internal_join().
Current bridged channel state
Definition at line 89 of file bridge_channel.h.
Referenced by ast_bridge_channel_kick(), ast_bridge_channel_leave_bridge_nolock(), ast_bridge_channel_queue_frame(), basic_hangup_hook(), bridge_channel_dissolve_check(), bridge_channel_internal_join(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_channel_wait(), bridge_do_merge(), bridge_do_move(), bridge_move_locked(), bridge_swap_attended_transfer(), optimize_lock_chan_stack(), optimize_lock_peer_stack(), transfer_pull(), and try_swap_optimize_out().
struct { ... } stream_map |
unsigned int suspended |
TRUE if the channel is suspended from the bridge.
Definition at line 125 of file bridge_channel.h.
Referenced by ast_bridge_channel_feature_digit(), ast_bridge_channel_queue_frame(), bridge_channel_internal_pull(), bridge_channel_internal_push_full(), bridge_channel_internal_suspend_nolock(), bridge_channel_internal_unsuspend_nolock(), bridge_channel_wait(), native_request_start(), native_rtp_bridge_join(), smart_bridge_operation(), softmix_mixing_loop(), and softmix_pass_video_top_priority().
struct ast_channel* swap |
Asterisk channel we are swapping with (if swapping)
Definition at line 93 of file bridge_channel.h.
Referenced by _ast_bridge_channel_unlock(), ast_bridge_join(), bridge_channel_depart_thread(), bridge_channel_ind_thread(), bridge_channel_internal_join(), bridge_channel_internal_push_full(), bridge_do_move(), bridge_impart_internal(), bridge_move(), bridge_move_locked(), bridge_swap_attended_transfer(), and try_swap_optimize_out().
char t38_terminate |
Non-zero if a T.38 session terminate is owed to the bridge.
Definition at line 168 of file bridge_channel.h.
Referenced by bridge_channel_cancel_owed_events(), bridge_channel_settle_owed_events(), and bridge_channel_write_frame().
struct ast_bridge_tech_optimizations tech_args |
Technology optimization parameters used by bridging technologies capable of optimizing based upon talk detection.
Definition at line 135 of file bridge_channel.h.
Referenced by ast_bridge_join(), set_softmix_bridge_data(), and softmix_bridge_write_voice().
void* tech_pvt |
Private information unique to the bridge technology.
Definition at line 116 of file bridge_channel.h.
Referenced by clear_talking(), deferred_action(), holding_bridge_join(), holding_bridge_leave(), holding_bridge_suspend(), holding_bridge_unsuspend(), holding_bridge_write(), map_source_to_destinations(), native_bridge_join(), native_bridge_leave(), native_chan_changed(), native_request_start(), native_rtp_bridge_framehook_attach(), native_rtp_bridge_framehook_detach(), native_rtp_bridge_join(), native_rtp_bridge_leave(), native_rtp_bridge_start(), native_rtp_bridge_stop(), native_start(), native_stop(), participant_entertainment_start(), participant_entertainment_stop(), participant_idle_mode_setup(), remb_enable_collection(), set_softmix_bridge_data(), sfu_topologies_on_join(), sfu_topologies_on_leave(), sfu_topologies_on_source_change(), softmix_bridge_join(), softmix_bridge_leave(), softmix_bridge_stream_sources_update(), softmix_bridge_stream_topology_changed(), softmix_bridge_unsuspend(), softmix_bridge_write(), softmix_bridge_write_rtcp(), softmix_bridge_write_video(), softmix_bridge_write_voice(), and softmix_mixing_loop().
pthread_t thread |
Thread handling the bridged channel (Needed by ast_bridge_depart)
Definition at line 118 of file bridge_channel.h.
Referenced by ast_bridge_depart(), ast_bridge_join(), bridge_channel_poke(), bridge_channel_queue_action_data_sync(), and bridge_impart_internal().
struct ast_vector_int to_bridge |
An index mapping of where a channel's media needs to be routed
Definition at line 190 of file bridge_channel.h.
Referenced by ast_bridge_channel_stream_map(), bridge_channel_destroy(), bridge_channel_write_frame(), remb_send_report(), and softmix_bridge_stream_topology_changed().
struct ast_vector_int to_channel |
An index mapping of where a bridge's media needs to be routed
Definition at line 192 of file bridge_channel.h.
Referenced by ast_bridge_channel_queue_frame(), ast_bridge_channel_stream_map(), bridge_channel_destroy(), bridge_channel_handle_write(), map_source_to_destinations(), and softmix_bridge_stream_topology_changed().
struct { ... } wr_queue |
Queue of outgoing frames to the channel.
Referenced by ast_bridge_channel_queue_frame(), bridge_channel_destroy(), bridge_channel_handle_write(), and bridge_channel_internal_allows_optimization().
struct ast_format* write_format |
Copy of write format used by chan before join
Definition at line 139 of file bridge_channel.h.
Referenced by ast_bridge_channel_restore_formats(), bridge_channel_destroy(), bridge_channel_internal_join(), and softmix_bridge_join().