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

enum bridge_channel_thread_state activity
 The bridge channel thread activity.
int alert_pipe [2]
struct ast_bridgebridge
 Bridge this channel is participating in.
void * bridge_pvt
 Bridge class private channel data.
struct bridge_roles_datastorebridge_roles
ast_callid callid
struct ast_channelchan
ast_cond_t cond
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
owed
struct ast_formatread_format
enum bridge_channel_state state
unsigned int suspended:1
struct ast_channelswap
struct
ast_bridge_tech_optimizations 
tech_args
void * tech_pvt
 Private information unique to the bridge technology.
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

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 158 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 149 of file bridge_channel.h.

Referenced by ast_bridge_channel_queue_frame(), bridge_channel_destroy(), bridge_channel_internal_alloc(), bridge_channel_read_wr_queue_alert(), and bridge_channel_wait().

struct ast_bridge* bridge [read]

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

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

Call ID associated with bridge channel

Definition at line 141 of file bridge_channel.h.

Referenced by ast_bridge_impart(), bridge_channel_depart_thread(), bridge_channel_destroy(), and bridge_channel_ind_thread().

struct ast_channel* chan [read]

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_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_update_linkedids(), ast_bridge_channel_write_hold(), ast_bridge_channel_write_unhold(), ast_bridge_depart(), ast_bridge_impart(), 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(), bridge_channel_moving(), bridge_channel_park(), bridge_channel_poke(), bridge_channel_read_wr_queue_alert(), bridge_channel_settle_owed_events(), bridge_channel_talking(), bridge_channel_update_accountcodes_joining(), bridge_channel_update_accountcodes_leaving(), bridge_channel_wait(), bridge_do_move(), bridge_features_duration_callback(), bridge_find_channel(), bridge_handle_trip(), 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(), bridgewait_timeout_callback(), caller_joined_bridge(), caller_safety_timeout(), check_bridge_play_sound(), clear_agent_status(), complete_bridge_participant(), 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(), limits_interval_playback(), manager_park(), native_bridge_changed(), native_bridge_compatible(), native_bridge_is_capable(), native_chan_changed(), native_rtp_bridge_compatible(), native_rtp_bridge_framehook_attach(), native_rtp_bridge_framehook_detach(), native_rtp_bridge_start(), native_rtp_bridge_stop(), 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_softmix_bridge_data(), smart_bridge_operation(), 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(), and try_swap_optimize_out().

char collected[MAXIMUM_DTMF_FEATURE_STRING]

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

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

char dtmf_digit

Digit currently sending into the bridge. (zero if not sending)

Definition at line 164 of file bridge_channel.h.

Referenced by bridge_channel_settle_owed_events(), and bridge_channel_write_frame().

struct { ... } dtmf_hook_state

struct timeval dtmf_tv [read]

Time started sending the current digit. (Invalid if owed.dtmf_digit is zero.)

Definition at line 162 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 [read]

struct ast_frame* first [read]

Definition at line 147 of file bridge_channel.h.

unsigned int in_bridge

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_impart(), ast_bridge_join(), and bridge_channel_internal_join().

struct timeval interdigit_timeout [read]

Time at which the DTMF hooks should stop waiting for more digits to come.

Definition at line 169 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

struct ast_frame* last [read]

Definition at line 147 of file bridge_channel.h.

struct ast_bridge_channel* next [read]

Definition at line 145 of file bridge_channel.h.

struct { ... } owed

Owed events to the bridge.

Referenced by bridge_channel_settle_owed_events(), and bridge_channel_write_frame().

struct ast_format* read_format [read]

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

unsigned int suspended

struct ast_channel* swap [read]

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

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_impart(), ast_bridge_join(), bridge_channel_poke(), and bridge_channel_queue_action_data_sync().

struct { ... } wr_queue

struct ast_format* write_format [read]

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(), and bridge_channel_internal_join().


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

Generated on Thu Apr 16 06:35:00 2015 for Asterisk - The Open Source Telephony Project by  doxygen 1.5.6