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

Main Channel structure associated with a channel. More...

Data Fields

struct ast_string_field_pool__field_mgr_pool
 
const ast_string_field accountcode
 
enum ast_channel_adsicpe adsicpe
 
int alertpipe [2]
 
int amaflags
 
struct timeval answertime
 
const char * appl
 
struct ast_audiohook_listaudiohooks
 
struct ast_autochan_list autochans
 
pthread_t blocker
 
int blocker_tid
 
const char * blockproc
 
struct ast_bridgebridge
 
struct ast_bridge_channelbridge_channel
 
const ast_string_field call_forward
 
struct ast_party_caller caller
 Channel Caller ID information. More...
 
ast_group_t callgroup
 
ast_callid callid
 
struct ast_cdrcdr
 
struct stasis_forwardchannel_forward
 
struct ast_party_connected_line connected
 Channel Connected Line ID information. More...
 
struct ast_party_connected_line connected_indicated
 Channel Connected Line ID information that was last indicated.
 
char context [AST_MAX_CONTEXT]
 
struct timeval creationtime
 
const char * data
 
struct ast_datastore_list datastores
 
struct ast_streamdefault_streams [AST_MEDIA_TYPE_END]
 
const ast_string_field dialcontext
 
struct ast_party_dialed dialed
 Dialed/Called information. More...
 
struct ao2_containerdialed_causes
 
char dtmf_digit_to_emulate
 
struct timeval dtmf_tv
 
struct ast_frame dtmff
 
unsigned int emulate_dtmf_duration
 
struct stasis_forwardendpoint_forward
 
char exten [AST_MAX_EXTENSION]
 
int fdno
 
struct {
   size_t   current
 
   int *   elems
 
   size_t   max
 
fds
 
unsigned int fin
 
unsigned int finalized:1
 
struct ast_flags flags
 
unsigned int fout
 
struct ast_framehook_listframehooks
 
struct ast_generatorgenerator
 
void * generatordata
 
struct ast_hangup_handler_list hangup_handlers
 
int hangupcause
 
const ast_string_field hangupsource
 
int hold_state
 
unsigned long insmpl
 
char is_t38_active
 
struct ast_jb jb
 
const ast_string_field language
 
char lastcontext [AST_MAX_CONTEXT]
 
char lastexten [AST_MAX_EXTENSION]
 
const ast_string_field latest_musicclass
 
struct ast_channel_id linkedid
 
struct ast_channelmasq
 
struct ast_channelmasqr
 
void * music_state
 
const ast_string_field musicclass
 
const ast_string_field name
 
struct ast_namedgroups * named_callgroups
 
struct ast_namedgroups * named_pickupgroups
 
struct ast_format_capnativeformats
 
struct ast_formatoldwriteformat
 
unsigned long outsmpl
 
const ast_string_field parkinglot
 
struct ast_pbxpbx
 
const ast_string_field peeraccount
 
ast_group_t pickupgroup
 
int priority
 
struct ast_formatrawreadformat
 
struct ast_formatrawwriteformat
 
struct ast_formatreadformat
 
struct ast_readq_list readq
 
struct ast_trans_pvtreadtrans
 
struct ast_party_redirecting redirecting
 Redirecting/Diversion information.
 
int rings
 
struct ast_sched_contextsched
 
char sending_dtmf_digit
 
struct timeval sending_dtmf_tv
 
struct ast_channel_snapshotsnapshot
 
struct ast_flags snapshot_segment_flags
 
int softhangup
 
enum ast_channel_state state
 
struct ast_filestreamstream
 
struct ast_stream_topologystream_topology
 
void * stream_topology_change_source
 
int streamid
 
const struct ast_channel_techtech
 
void * tech_pvt
 
struct ast_timertimer
 
void * timingdata
 
int timingfd
 
ast_timing_func_t timingfunc
 
struct stasis_topictopic
 
unsigned short transfercapability
 
char unbridged
 
struct ast_channel_id uniqueid
 
const ast_string_field userfield
 
struct varshead varshead
 
int visible_indication
 
struct ast_filestreamvstream
 
int vstreamid
 
struct timeval whentohangup
 
struct ast_formatwriteformat
 
struct ast_trans_pvtwritetrans
 
char x
 
struct ast_tone_zonezone
 

Detailed Description

Main Channel structure associated with a channel.

Note
When adding fields to this structure, it is important to add the field 'in position' with like-aligned fields, so as to keep the compiler from having to add padding to align fields. The structure's fields are sorted in this order: pointers, structures, long, int/enum, short, char. This is especially important on 64-bit architectures, where mixing 4-byte and 8-byte fields causes 4 bytes of padding to be added before many 8-byte fields.
Examples:
app_skel.c.

Definition at line 73 of file channel_internal_api.c.

Field Documentation

const ast_string_field accountcode

Account code for billing

Definition at line 112 of file channel_internal_api.c.

Referenced by ast_channel_yank().

enum ast_channel_adsicpe adsicpe

Whether or not ADSI is detected on CPE

Definition at line 181 of file channel_internal_api.c.

int amaflags

Set BEFORE PBX is started to determine AMA flags

Definition at line 180 of file channel_internal_api.c.

Referenced by ast_channel_amaflags_set(), and ast_channel_yank().

struct timeval answertime

The time the channel was answered

Definition at line 156 of file channel_internal_api.c.

const char* appl

Current application

Definition at line 82 of file channel_internal_api.c.

struct ast_autochan_list autochans

Autochans on the channel

Definition at line 162 of file channel_internal_api.c.

pthread_t blocker

If anyone is blocking, this is them

Definition at line 118 of file channel_internal_api.c.

int blocker_tid

If anyone is blocking, this is their thread id

Definition at line 166 of file channel_internal_api.c.

const char* blockproc

Procedure causing blocking

Definition at line 81 of file channel_internal_api.c.

struct ast_bridge* bridge

Bridge this channel is participating in

Definition at line 201 of file channel_internal_api.c.

Referenced by ast_channel_internal_bridge_set(), and ast_rtp_instance_set_stats_vars().

struct ast_bridge_channel* bridge_channel

The bridge_channel this channel is linked with.

Definition at line 202 of file channel_internal_api.c.

const ast_string_field call_forward

Where to forward to if asked to dial on this interface

Definition at line 112 of file channel_internal_api.c.

struct ast_party_caller caller

Channel Caller ID information.

Note
The caller id information is the caller id of this channel when it is used to initiate a call.

Definition at line 132 of file channel_internal_api.c.

Referenced by channel_do_masquerade().

ast_group_t callgroup

Call group for call pickups

Definition at line 151 of file channel_internal_api.c.

Referenced by ast_channel_callgroup_set().

ast_callid callid

Bound call identifier pointer

Definition at line 97 of file channel_internal_api.c.

Referenced by ast_channel_callid_set(), and local_request_with_stream_topology().

struct ast_cdr* cdr

Call Detail Record

Definition at line 94 of file channel_internal_api.c.

struct stasis_forward* channel_forward

Subscription for event forwarding to all channel topic

Definition at line 216 of file channel_internal_api.c.

Referenced by ast_ari_bridges_record(), and ast_channel_internal_swap_topics().

struct ast_party_connected_line connected

Channel Connected Line ID information.

Note
The connected line information identifies the channel connected/bridged to this channel.

Definition at line 139 of file channel_internal_api.c.

Referenced by channel_do_masquerade().

char context[AST_MAX_CONTEXT]

Dialplan: Current extension context

Definition at line 205 of file channel_internal_api.c.

Referenced by ast_channel_yank(), local_devicestate(), lua_sort_extensions(), and pbx_parse_location().

struct timeval creationtime

The time of channel creation

Definition at line 155 of file channel_internal_api.c.

const char* data

Data passed to current application

Definition at line 83 of file channel_internal_api.c.

Referenced by ast_call_forward(), ast_unreal_setoption(), and find_by_mark().

struct ast_datastore_list datastores

Data stores on the channel

Definition at line 161 of file channel_internal_api.c.

struct ast_stream* default_streams[AST_MEDIA_TYPE_END]

Default streams indexed by media type

Definition at line 220 of file channel_internal_api.c.

Referenced by ast_channel_get_default_stream().

const ast_string_field dialcontext

Who is responsible for hanging up this channel Dial: Extension context that we were called from

Definition at line 112 of file channel_internal_api.c.

struct ast_party_dialed dialed

Dialed/Called information.

Note
Set on incoming channels to indicate the originally dialed party.
Dialed Number Identifier (DNID)

Definition at line 125 of file channel_internal_api.c.

Referenced by channel_do_masquerade(), and jingle_request().

struct ao2_container* dialed_causes

Contains tech-specific and Asterisk cause data from dialed channels

Definition at line 98 of file channel_internal_api.c.

Referenced by ast_channel_dialed_causes_add(), ast_channel_dialed_causes_channels(), ast_channel_dialed_causes_clear(), and ast_channel_dialed_causes_find().

char dtmf_digit_to_emulate

Digit being emulated

Definition at line 212 of file channel_internal_api.c.

struct timeval dtmf_tv

The time that an in process digit began, or the last digit ended

Definition at line 159 of file channel_internal_api.c.

struct ast_frame dtmff

DTMF frame

Definition at line 149 of file channel_internal_api.c.

unsigned int emulate_dtmf_duration

Number of ms left to emulate DTMF for

Definition at line 195 of file channel_internal_api.c.

struct stasis_forward* endpoint_forward

Subscription for event forwarding to endpoint's topic

Definition at line 217 of file channel_internal_api.c.

Referenced by ast_channel_forward_endpoint(), and ast_channel_internal_swap_endpoint_forward().

char exten[AST_MAX_EXTENSION]

Dialplan: Current extension number

Definition at line 206 of file channel_internal_api.c.

Referenced by ast_channel_yank(), local_devicestate(), lua_sort_extensions(), and pbx_parse_location().

int fdno

Which fd had an event detected on

Definition at line 172 of file channel_internal_api.c.

struct { ... } fds

File descriptors for channel – Drivers will poll on these file descriptors, so at least one must be non -1. See

Referenced by ast_channel_fd_add(), and ast_channel_fd_count().

unsigned int fin

Frames in counters. The high bit is a debug mask, so the counter is only in the remaining bits

Definition at line 182 of file channel_internal_api.c.

unsigned int finalized

Whether or not the channel has been successfully allocated

Definition at line 187 of file channel_internal_api.c.

struct ast_flags flags

channel flags of AST_FLAG_ type

Definition at line 188 of file channel_internal_api.c.

unsigned int fout

Frames out counters. The high bit is a debug mask, so the counter is only in the remaining bits

Definition at line 184 of file channel_internal_api.c.

struct ast_generator* generator

Current active data generator

Definition at line 78 of file channel_internal_api.c.

void* generatordata

Current generator data if there is any

Definition at line 77 of file channel_internal_api.c.

Referenced by ast_activate_generator().

struct ast_hangup_handler_list hangup_handlers

Hangup handlers on the channel.

Definition at line 160 of file channel_internal_api.c.

int hangupcause

Why is the channel hanged up. See causes.h

Definition at line 186 of file channel_internal_api.c.

const ast_string_field hangupsource

Default parking lot struct ast_string_field_mgr __field_mgr if empty, default parking lot

Definition at line 112 of file channel_internal_api.c.

int hold_state

Current Hold/Unhold state

Definition at line 197 of file channel_internal_api.c.

unsigned long insmpl

Track the read/written samples for monitor use

Definition at line 163 of file channel_internal_api.c.

char is_t38_active

non-zero if T.38 is active on this channel.

Definition at line 211 of file channel_internal_api.c.

Referenced by ast_channel_is_t38_active_nolock(), and ast_channel_set_is_t38_active_nolock().

struct ast_jb jb

The jitterbuffer state

Definition at line 158 of file channel_internal_api.c.

const ast_string_field language

Language requested for voice prompts

Definition at line 112 of file channel_internal_api.c.

Referenced by ari_bridges_play_helper().

char lastcontext[AST_MAX_CONTEXT]

Dialplan: Previous extension context

Definition at line 207 of file channel_internal_api.c.

char lastexten[AST_MAX_EXTENSION]

Dialplan: Previous extension number

Definition at line 208 of file channel_internal_api.c.

const ast_string_field latest_musicclass

Latest active music class

Definition at line 112 of file channel_internal_api.c.

struct ast_channel_id linkedid
struct ast_channel* masq

Channel that will masquerade as us

Definition at line 79 of file channel_internal_api.c.

struct ast_channel* masqr

Who we are masquerading as

Definition at line 80 of file channel_internal_api.c.

void* music_state

Music State

Definition at line 76 of file channel_internal_api.c.

const ast_string_field musicclass

Default music class

Definition at line 112 of file channel_internal_api.c.

const ast_string_field name
struct ast_namedgroups* named_callgroups

Named call group for call pickups

Definition at line 153 of file channel_internal_api.c.

struct ast_namedgroups* named_pickupgroups

Named pickup group - which call groups can be picked up?

Definition at line 154 of file channel_internal_api.c.

struct ast_format_cap* nativeformats

Kinds of data this channel can natively handle

Definition at line 190 of file channel_internal_api.c.

struct ast_format* oldwriteformat

Original writer format

Definition at line 175 of file channel_internal_api.c.

unsigned long outsmpl

Track the read/written samples for monitor use

Definition at line 164 of file channel_internal_api.c.

struct ast_pbx* pbx

PBX private structure for this channel

Definition at line 89 of file channel_internal_api.c.

const ast_string_field peeraccount

Peer account code for billing

Definition at line 112 of file channel_internal_api.c.

ast_group_t pickupgroup

Pickup group - which calls groups can be picked up?

Definition at line 152 of file channel_internal_api.c.

Referenced by ast_channel_pickupgroup_set().

int priority

Dialplan: Current extension priority

Definition at line 179 of file channel_internal_api.c.

Referenced by ast_channel_yank().

struct ast_format* rawreadformat

Raw read format (before translation)

Definition at line 193 of file channel_internal_api.c.

struct ast_format* rawwriteformat

Raw write format (after translation)

Definition at line 194 of file channel_internal_api.c.

struct ast_format* readformat

Requested read format (after translation)

Definition at line 191 of file channel_internal_api.c.

Referenced by ast_channel_yank().

struct ast_trans_pvt* readtrans

Read translation path

Definition at line 91 of file channel_internal_api.c.

int rings

Number of rings so far

Definition at line 178 of file channel_internal_api.c.

Schedule context

Definition at line 84 of file channel_internal_api.c.

char sending_dtmf_digit

Digit this channel is currently sending out. (zero if not sending)

Definition at line 213 of file channel_internal_api.c.

struct timeval sending_dtmf_tv

The time this channel started sending the current digit. (Invalid if sending_dtmf_digit is zero.)

Definition at line 214 of file channel_internal_api.c.

struct ast_channel_snapshot* snapshot

The current up to date snapshot of the channel

Definition at line 221 of file channel_internal_api.c.

Referenced by ari_bridges_play_helper(), ast_ari_bridges_get(), and ast_channel_internal_swap_snapshots().

struct ast_flags snapshot_segment_flags

Flags regarding the segments of the snapshot

Definition at line 222 of file channel_internal_api.c.

int softhangup

Whether or not we have been hung up... Do not set this value directly, use ast_softhangup()

Definition at line 170 of file channel_internal_api.c.

State of line – Don't write directly, use ast_setstate()

Definition at line 177 of file channel_internal_api.c.

Referenced by ast_channel_get_t38_state().

struct ast_filestream* stream

Stream itself.

Definition at line 85 of file channel_internal_api.c.

struct ast_stream_topology* stream_topology

Stream topology

Definition at line 218 of file channel_internal_api.c.

Referenced by ast_channel_get_stream_topology().

void* stream_topology_change_source

Source that initiated a stream topology change

Definition at line 219 of file channel_internal_api.c.

Referenced by ast_channel_get_stream_topology_change_source().

int streamid

For streaming playback, the schedule ID

Definition at line 173 of file channel_internal_api.c.

const struct ast_channel_tech* tech

Technology (point to channel driver)

Definition at line 74 of file channel_internal_api.c.

Referenced by ast_channel_is_multistream(), dial_exec_full(), do_forward(), and wait_for_answer().

void* tech_pvt

Private data used by the technology driver

Definition at line 75 of file channel_internal_api.c.

struct ast_timer* timer

timer object that provided timingfd

Definition at line 203 of file channel_internal_api.c.

int timingfd

Timing fd

Definition at line 176 of file channel_internal_api.c.

struct stasis_topic* topic

Topic for this channel

Definition at line 215 of file channel_internal_api.c.

Referenced by ast_channel_internal_swap_topics(), and ast_channel_topic().

unsigned short transfercapability

ISDN Transfer Capability - AST_FLAG_DIGITAL is not enough

Definition at line 199 of file channel_internal_api.c.

char unbridged

non-zero if the bridge core needs to re-evaluate the current bridging technology which is in use by this channel's bridge.

Definition at line 209 of file channel_internal_api.c.

Referenced by ast_channel_set_unbridged_nolock(), and ast_channel_unbridged_nolock().

struct ast_channel_id uniqueid

Unique Channel Identifier - can be specified on creation

Definition at line 114 of file channel_internal_api.c.

Referenced by ast_channel_internal_set_fake_ids(), and ast_channel_internal_swap_uniqueid_and_linkedid().

const ast_string_field userfield

Userfield for CEL billing

Definition at line 112 of file channel_internal_api.c.

A linked list for channel variables. See Asterisk Dialplan Variables

Definition at line 150 of file channel_internal_api.c.

int visible_indication

Indication currently playing on the channel

Definition at line 196 of file channel_internal_api.c.

struct ast_filestream* vstream

Video Stream itself.

Definition at line 86 of file channel_internal_api.c.

int vstreamid

For streaming video playback, the schedule ID

Definition at line 174 of file channel_internal_api.c.

struct timeval whentohangup

Non-zero, set to actual time when channel is to be hung up

Definition at line 117 of file channel_internal_api.c.

Referenced by ast_channel_whentohangup_set().

struct ast_format* writeformat

Requested write format (before translation)

Definition at line 192 of file channel_internal_api.c.

Referenced by ast_channel_yank().

struct ast_trans_pvt* writetrans

Write translation path

Definition at line 90 of file channel_internal_api.c.

struct ast_tone_zone* zone

Tone zone as set in indications.conf or in the CHANNEL dialplan function

Definition at line 95 of file channel_internal_api.c.


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