Asterisk - The Open Source Telephony Project  21.4.1
Data Fields
ast_bridge_channel Struct Reference

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_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

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.

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

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

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

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.

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

struct ast_channel* chan
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(), and ast_bridge_channel_feature_digit_add().

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.

struct { ... } deferred_queue

Queue of deferred frames, queued onto channel when other party joins.

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

char dtmf_digit

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

Definition at line 166 of file bridge_channel.h.

struct { ... } dtmf_hook_state

DTMF hook sequence state

Referenced by ast_bridge_channel_feature_digit(), and ast_bridge_channel_feature_digit_add().

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.

struct { ... } entry

Linked list information

struct ast_bridge_features* features
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(), and ast_bridge_peer_nolock().

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

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

unsigned int just_joined

TRUE if the channel just joined the bridge.

Definition at line 123 of file bridge_channel.h.

struct { ... } owed

Owed events to the bridge.

unsigned int padding

Padding

Definition at line 185 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().

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

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

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_join(), bridge_channel_depart_thread(), bridge_channel_ind_thread(), and bridge_move().

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.

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

void* tech_pvt

Private information unique to the bridge technology.

Note
This information is added when the channel joins the bridge's technology and removed when it leaves the bridge's technology.

Definition at line 116 of file bridge_channel.h.

Referenced by map_source_to_destinations(), native_rtp_bridge_join(), remb_enable_collection(), sfu_topologies_on_join(), softmix_bridge_join(), softmix_bridge_leave(), softmix_bridge_stream_topology_changed(), softmix_bridge_unsuspend(), 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(), and ast_bridge_join().

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

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


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