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

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

Collaboration diagram for ast_channel:
Collaboration graph
[legend]

Data Fields

struct ast_string_field_pool__field_mgr_pool
 
const ast_string_field accountcode
 
struct timeval answertime
 
const char * appl
 
struct ast_audiohook_listaudiohooks
 
struct ast_autochan_list autochans
 
pthread_t blocker
 
int blocker_tid
 
const char * blockproc
 
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 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. More...
 
struct timeval creationtime
 
const char * data
 
struct ast_datastore_list datastores
 
const ast_string_field dialcontext
 
struct ast_party_dialed dialed
 Dialed/Called information. More...
 
struct ao2_containerdialed_causes
 
struct timeval dtmf_tv
 
struct ast_frame dtmff
 
struct ast_framehook_listframehooks
 
struct ast_generatorgenerator
 
void * generatordata
 
struct ast_hangup_handler_list hangup_handlers
 
const ast_string_field hangupsource
 
unsigned long insmpl
 
struct ast_jb jb
 
const ast_string_field language
 
const ast_string_field latest_musicclass
 
struct ast_channel_id linkedid
 
struct ast_channelmasq
 
struct ast_channelmasqr
 
struct ast_channel_monitormonitor
 
void * music_state
 
const ast_string_field musicclass
 
const ast_string_field name
 
struct ast_namedgroups * named_callgroups
 
struct ast_namedgroups * named_pickupgroups
 
unsigned long outsmpl
 
const ast_string_field parkinglot
 
struct ast_pbxpbx
 
const ast_string_field peeraccount
 
ast_group_t pickupgroup
 
struct ast_readq_list readq
 
struct ast_trans_pvtreadtrans
 
struct ast_party_redirecting redirecting
 Redirecting/Diversion information. More...
 
struct ast_sched_contextsched
 
struct ast_filestreamstream
 
const struct ast_channel_techtech
 
void * tech_pvt
 
void * timingdata
 
ast_timing_func_t timingfunc
 
struct ast_channel_id uniqueid
 
const ast_string_field userfield
 
struct varshead varshead
 
struct ast_filestreamvstream
 
struct timeval whentohangup
 
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:
/usr/src/asterisk-18.5.0/main/app.c.

Definition at line 73 of file channel_internal_api.c.

Field Documentation

◆ __field_mgr_pool

struct ast_string_field_pool* __field_mgr_pool

Definition at line 113 of file channel_internal_api.c.

◆ accountcode

const ast_string_field accountcode

Account code for billing

Definition at line 113 of file channel_internal_api.c.

◆ answertime

struct timeval answertime

The time the channel was answered

Definition at line 157 of file channel_internal_api.c.

Referenced by ast_channel_answertime_set().

◆ appl

const char* appl

Current application

Definition at line 82 of file channel_internal_api.c.

Referenced by ast_channel_appl(), ast_channel_appl_set(), and pbx_load_config().

◆ audiohooks

struct ast_audiohook_list* audiohooks

Definition at line 92 of file channel_internal_api.c.

Referenced by ast_channel_audiohooks(), and ast_channel_audiohooks_set().

◆ autochans

struct ast_autochan_list autochans

Autochans on the channel

Definition at line 163 of file channel_internal_api.c.

Referenced by ast_channel_autochans().

◆ blocker

pthread_t blocker

If anyone is blocking, this is them

Definition at line 119 of file channel_internal_api.c.

Referenced by ast_channel_blocker(), and ast_channel_blocker_set().

◆ blocker_tid

int blocker_tid

If anyone is blocking, this is their thread id

Definition at line 167 of file channel_internal_api.c.

Referenced by ast_channel_blocker_tid(), and ast_channel_blocker_tid_set().

◆ blockproc

const char* blockproc

Procedure causing blocking

Definition at line 81 of file channel_internal_api.c.

Referenced by ast_channel_blockproc(), and ast_channel_blockproc_set().

◆ call_forward

const ast_string_field call_forward

Where to forward to if asked to dial on this interface

Definition at line 113 of file channel_internal_api.c.

◆ caller

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 133 of file channel_internal_api.c.

Referenced by app_exec(), ast_channel_caller(), ast_channel_caller_set(), AST_TEST_DEFINE(), and channel_do_masquerade().

◆ callgroup

ast_group_t callgroup

Call group for call pickups

Definition at line 152 of file channel_internal_api.c.

Referenced by ast_channel_callgroup(), and ast_channel_callgroup_set().

◆ callid

ast_callid callid

◆ cdr

struct ast_cdr* cdr

Call Detail Record

Definition at line 94 of file channel_internal_api.c.

Referenced by ast_channel_cdr(), and ast_channel_cdr_set().

◆ connected

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 140 of file channel_internal_api.c.

Referenced by ast_channel_connected(), ast_channel_connected_set(), and channel_do_masquerade().

◆ connected_indicated

struct ast_party_connected_line connected_indicated

Channel Connected Line ID information that was last indicated.

Definition at line 145 of file channel_internal_api.c.

Referenced by ast_channel_connected_indicated().

◆ creationtime

struct timeval creationtime

The time of channel creation

Definition at line 156 of file channel_internal_api.c.

Referenced by ast_channel_creationtime_set().

◆ data

const char* data

◆ datastores

struct ast_datastore_list datastores

Data stores on the channel

Definition at line 162 of file channel_internal_api.c.

Referenced by ast_channel_datastores().

◆ dialcontext

const ast_string_field dialcontext

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

Definition at line 113 of file channel_internal_api.c.

◆ dialed

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 126 of file channel_internal_api.c.

Referenced by ast_channel_dialed(), ast_channel_dialed_set(), channel_do_masquerade(), jingle_request(), and pbx_outgoing_attempt().

◆ dialed_causes

struct ao2_container* dialed_causes

◆ dtmf_tv

struct timeval dtmf_tv

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

Definition at line 160 of file channel_internal_api.c.

Referenced by ast_channel_dtmf_tv(), and ast_channel_dtmf_tv_set().

◆ dtmff

struct ast_frame dtmff

DTMF frame

Definition at line 150 of file channel_internal_api.c.

Referenced by ast_channel_dtmff(), and ast_channel_dtmff_set().

◆ framehooks

struct ast_framehook_list* framehooks

Definition at line 93 of file channel_internal_api.c.

Referenced by ast_channel_framehooks(), and ast_channel_framehooks_set().

◆ generator

struct ast_generator* generator

Current active data generator

Definition at line 78 of file channel_internal_api.c.

Referenced by ast_channel_generator(), ast_channel_generator_set(), and set_fn().

◆ generatordata

void* generatordata

Current generator data if there is any

Definition at line 77 of file channel_internal_api.c.

Referenced by ast_activate_generator(), ast_channel_generatordata(), and ast_channel_generatordata_set().

◆ hangup_handlers

struct ast_hangup_handler_list hangup_handlers

Hangup handlers on the channel.

Definition at line 161 of file channel_internal_api.c.

Referenced by ast_channel_hangup_handlers().

◆ hangupsource

const ast_string_field hangupsource

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

Definition at line 113 of file channel_internal_api.c.

◆ insmpl

unsigned long insmpl

Track the read/written samples for monitor use

Definition at line 164 of file channel_internal_api.c.

Referenced by ast_channel_insmpl(), and ast_channel_insmpl_set().

◆ jb

struct ast_jb jb

The jitterbuffer state

Definition at line 159 of file channel_internal_api.c.

Referenced by ast_channel_jb(), and ast_channel_jb_set().

◆ language

const ast_string_field language

Language requested for voice prompts

Definition at line 113 of file channel_internal_api.c.

◆ latest_musicclass

const ast_string_field latest_musicclass

Latest active music class

Definition at line 113 of file channel_internal_api.c.

◆ linkedid

struct ast_channel_id linkedid

◆ masq

struct ast_channel* masq

Channel that will masquerade as us

Definition at line 79 of file channel_internal_api.c.

Referenced by ast_channel_masq(), and ast_channel_masq_set().

◆ masqr

struct ast_channel* masqr

Who we are masquerading as

Definition at line 80 of file channel_internal_api.c.

Referenced by ast_channel_masqr(), and ast_channel_masqr_set().

◆ monitor

struct ast_channel_monitor* monitor

Channel monitoring

Definition at line 97 of file channel_internal_api.c.

Referenced by ast_channel_monitor(), and ast_channel_monitor_set().

◆ music_state

void* music_state

Music State

Definition at line 76 of file channel_internal_api.c.

Referenced by ast_channel_music_state(), and ast_channel_music_state_set().

◆ musicclass

const ast_string_field musicclass

Default music class

Definition at line 113 of file channel_internal_api.c.

◆ name

const ast_string_field name

◆ named_callgroups

struct ast_namedgroups* named_callgroups

Named call group for call pickups

Definition at line 154 of file channel_internal_api.c.

Referenced by ast_channel_named_callgroups(), and ast_channel_named_callgroups_set().

◆ named_pickupgroups

struct ast_namedgroups* named_pickupgroups

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

Definition at line 155 of file channel_internal_api.c.

Referenced by ast_channel_named_pickupgroups(), and ast_channel_named_pickupgroups_set().

◆ outsmpl

unsigned long outsmpl

Track the read/written samples for monitor use

Definition at line 165 of file channel_internal_api.c.

Referenced by ast_channel_outsmpl(), and ast_channel_outsmpl_set().

◆ parkinglot

const ast_string_field parkinglot

Definition at line 113 of file channel_internal_api.c.

◆ pbx

struct ast_pbx* pbx

PBX private structure for this channel

Definition at line 89 of file channel_internal_api.c.

Referenced by ast_channel_pbx(), and ast_channel_pbx_set().

◆ peeraccount

const ast_string_field peeraccount

Peer account code for billing

Definition at line 113 of file channel_internal_api.c.

◆ pickupgroup

ast_group_t pickupgroup

Pickup group - which calls groups can be picked up?

Definition at line 153 of file channel_internal_api.c.

Referenced by ast_channel_pickupgroup(), and ast_channel_pickupgroup_set().

◆ readq

struct ast_readq_list readq

Definition at line 158 of file channel_internal_api.c.

Referenced by ast_channel_readq().

◆ readtrans

struct ast_trans_pvt* readtrans

Read translation path

Definition at line 91 of file channel_internal_api.c.

Referenced by ast_channel_readtrans(), and ast_channel_readtrans_set().

◆ redirecting

struct ast_party_redirecting redirecting

Redirecting/Diversion information.

Definition at line 148 of file channel_internal_api.c.

Referenced by ast_channel_redirecting(), ast_channel_redirecting_set(), and channel_do_masquerade().

◆ sched

Schedule context

Definition at line 84 of file channel_internal_api.c.

Referenced by ast_channel_sched(), and ast_channel_sched_set().

◆ stream

struct ast_filestream* stream

Stream itself.

Definition at line 85 of file channel_internal_api.c.

Referenced by ast_channel_stream(), and ast_channel_stream_set().

◆ tech

const struct ast_channel_tech* tech

◆ tech_pvt

void* tech_pvt

Private data used by the technology driver

Definition at line 75 of file channel_internal_api.c.

Referenced by ast_channel_tech_pvt(), ast_channel_tech_pvt_set(), native_bridge_join(), and skinny_senddigit_end().

◆ timingdata

void* timingdata

Definition at line 88 of file channel_internal_api.c.

Referenced by ast_channel_timingdata(), and ast_channel_timingdata_set().

◆ timingfunc

ast_timing_func_t timingfunc

Definition at line 87 of file channel_internal_api.c.

Referenced by ast_channel_timingfunc(), and ast_channel_timingfunc_set().

◆ uniqueid

struct ast_channel_id uniqueid

◆ userfield

const ast_string_field userfield

Userfield for CEL billing

Definition at line 113 of file channel_internal_api.c.

◆ varshead

A linked list for channel variables. See Asterisk Dialplan Variables

Definition at line 151 of file channel_internal_api.c.

Referenced by ast_channel_varshead(), ast_channel_varshead_set(), and shared_write().

◆ vstream

struct ast_filestream* vstream

Video Stream itself.

Definition at line 86 of file channel_internal_api.c.

Referenced by ast_channel_vstream(), and ast_channel_vstream_set().

◆ whentohangup

struct timeval whentohangup

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

Definition at line 118 of file channel_internal_api.c.

Referenced by ast_channel_whentohangup(), and ast_channel_whentohangup_set().

◆ writetrans

struct ast_trans_pvt* writetrans

Write translation path

Definition at line 90 of file channel_internal_api.c.

Referenced by ast_channel_writetrans(), and ast_channel_writetrans_set().

◆ x

char x

◆ zone

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.

Referenced by ast_channel_zone(), and ast_channel_zone_set().


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