Asterisk - The Open Source Telephony Project GIT-master-3dae2cf
Data Fields
ast_bridge_channel Struct Reference

Structure that contains information regarding a channel in a bridge. More...

#include <bridge_channel.h>

Collaboration diagram for ast_bridge_channel:
Collaboration graph
[legend]

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_bridgebridge
 Bridge this channel is participating in. More...
 
void * bridge_pvt
 Bridge class private channel data. More...
 
struct bridge_roles_datastorebridge_roles
 
ast_callid callid
 
struct ast_channelchan
 
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_featuresfeatures
 
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_formatread_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_channelswap
 
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_formatwrite_format
 

Detailed Description

Structure that contains information regarding a channel in a bridge.

Definition at line 84 of file bridge_channel.h.

Field Documentation

◆ 

union { ... } @197

◆ activity

The bridge channel thread activity.

Used by local channel optimization to determine if the thread is in an acceptable state to optimize.

Note
Needs to be atomically settable.

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().

◆ alert_pipe

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().

◆ binaural_pos_change

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().

◆ binaural_suspended

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().

◆ bridge

struct ast_bridge* bridge

Bridge this channel is participating in.

Note
The bridge pointer cannot change while the bridge or bridge_channel is locked.

Definition at line 100 of file bridge_channel.h.

Referenced by action_toggle_binaural(), agent_alert(), agent_connect_caller(), ast_bridge_add_channel(), 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_join(), ast_bridge_kick(), ast_bridge_notify_masquerade(), ast_bridge_peer_nolock(), ast_bridge_peers_nolock(), ast_bridge_queue_everyone_else(), ast_bridge_remove(), ast_bridge_snapshot_create(), ast_bridge_suspend(), ast_bridge_unsuspend(), 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_complete_join(), bridge_do_merge(), bridge_do_move(), bridge_find_channel(), bridge_handle_trip(), bridge_impart_internal(), bridge_reconfigured(), bridge_reconfigured_connected_line_update(), check_binaural_position_change(), check_bridge_play_sounds(), complete_bridge_participant(), defer_action(), deferred_action(), feature_automixmonitor(), handle_bridge_kick_channel(), holding_bridge_unsuspend(), native_bridge_changed(), native_bridge_compatible(), native_request_start(), native_rtp_bridge_compatible(), native_rtp_bridge_framehook_attach(), native_rtp_bridge_framehook_detach(), native_rtp_bridge_start(), native_rtp_bridge_stop(), native_stop(), on_personality_change_normal(), optimize_lock_chan_stack(), optimize_lock_peer_stack(), parking_blind_transfer_park(), parking_park_bridge_channel(), play_uri(), remove_hooks_on_personality_change(), set_bridge_peer_vars(), set_bridge_peer_vars_holding(), set_bridge_peer_vars_multiparty(), sfu_topologies_on_source_change(), and softmix_pass_video_top_priority().

◆ bridge_pvt

void* bridge_pvt

Bridge class private channel data.

Note
This information is added when the channel is pushed into the bridge and removed when it is pulled from the bridge.

Definition at line 108 of file bridge_channel.h.

Referenced by bridge_parking_pull(), and bridge_parking_push().

◆ bridge_roles

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().

◆ callid

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().

◆ chan

struct ast_channel* chan

Asterisk channel participating in the bridge

Definition at line 91 of file bridge_channel.h.

Referenced by __analog_ss_thread(), action_dialplan_exec(), action_kick_last(), action_playback(), action_playback_and_continue(), agent_alert(), agent_connect_caller(), analog_ss_thread(), ast_bridge_add_channel(), 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_kick(), ast_bridge_move(), ast_bridge_peer_nolock(), ast_bridge_peers_nolock(), ast_bridge_remove(), ast_bridge_snapshot_create(), ast_bridge_suspend(), ast_bridge_unreal_optimize_out(), ast_bridge_unsuspend(), ast_bridge_vars_set(), ast_channel_get_bridge_channel(), ast_channel_internal_bridge_channel(), ast_channel_internal_bridge_channel_set(), 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(), 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_move_locked(), 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(), dial_bridge_after_cb(), dynamic_dtmf_hook_callback(), dynamic_dtmf_hook_trip(), execute_menu_entry(), feature_attended_transfer(), feature_automixmonitor(), feature_blind_transfer(), gather_softmix_stats(), handle_participant_join(), hold(), holding_bridge_join(), internal_bridge_after_cb(), join_callback(), limits_interval_playback(), manager_park(), manager_park_bridged(), 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(), optimize_lock_chan_stack(), 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_failsound(), play_file(), play_on_channel_in_bridge(), play_sound(), play_uri(), recall_pull(), ringing(), 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(), stop_automixmonitor(), stream_failsound(), try_merge_optimize_out(), try_swap_optimize_out(), unhold(), and user_timeout().

◆ collected

char collected[MAXIMUM_DTMF_FEATURE_STRING]

◆ cond

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().

◆ depart_wait

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().

◆ dtmf_digit

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

◆ dtmf_tv

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

◆ features

struct ast_bridge_features* features

◆ first

struct ast_frame* first

Definition at line 147 of file bridge_channel.h.

◆ in_bridge

unsigned int in_bridge

◆ inhibit_colp

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().

◆ interdigit_timeout

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().

◆ just_joined

unsigned int just_joined

◆ last

struct ast_frame* last

Definition at line 147 of file bridge_channel.h.

◆ next

struct ast_bridge_channel* next

Definition at line 145 of file bridge_channel.h.

◆ 

struct { ... } owed

◆ padding

unsigned int padding

Padding

Definition at line 185 of file bridge_channel.h.

◆ raw

uint32_t raw

Definition at line 178 of file bridge_channel.h.

◆ read_format

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().

◆ state

◆ 

struct { ... } stream_map

◆ suspended

unsigned int suspended

◆ swap

struct ast_channel* swap

◆ t38_terminate

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().

◆ 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().

◆ tech_pvt

void* tech_pvt

◆ thread

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().

◆ to_bridge

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().

◆ to_channel

struct ast_vector_int to_channel

◆ 

struct { ... } wr_queue

◆ write_format

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().


The documentation for this struct was generated from the following file: