Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

ast_channel Struct Reference

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

#include <channel.h>

Collaboration diagram for ast_channel:

Collaboration graph
[legend]

Public Member Functions

 AST_LIST_HEAD (varshead, ast_var_t) varshead

Data Fields

char name [AST_CHANNEL_NAME]
char language [MAX_LANGUAGE]
char * type
int fds [AST_MAX_FDS]
char musicclass [MAX_LANGUAGE]
void * generatordata
ast_generatorgenerator
int writeinterrupt
ast_channelbridge
ast_channeldialed
ast_channeldialing
int reversedialed
ast_channelmasq
ast_channelmasqr
int cdrflags
int blocking
int _softhangup
int zombie
time_t whentohangup
pthread_t blocker
ast_mutex_t lock
char * blockproc
char * appl
char * data
int exception
int fdno
sched_contextsched
int streamid
ast_filestreamstream
int vstreamid
ast_filestreamvstream
int oldwriteformat
int timingfd
int(* timingfunc )(void *data)
void * timingdata
int _state
int rings
int stack
int nativeformats
int readformat
int writeformat
char * dnid
char * callerid
char * ani
char * rdnis
int restrictcid
int callingpres
char context [AST_MAX_EXTENSION]
char macrocontext [AST_MAX_EXTENSION]
char macroexten [AST_MAX_EXTENSION]
int macropriority
char exten [AST_MAX_EXTENSION]
int priority
void * app [AST_CHANNEL_MAX_STACK]
char dtmfq [AST_MAX_EXTENSION]
int deferdtmf
ast_frame dtmff
ast_channel_pvtpvt
jmp_buf jmp [AST_CHANNEL_MAX_STACK]
ast_pbxpbx
int amaflags
char accountcode [20]
ast_cdrcdr
int adsicpe
char call_forward [AST_MAX_EXTENSION]
tone_zonezone
ast_channel_monitormonitor
unsigned long insmpl
unsigned long outsmpl
unsigned int fin
unsigned int fout
char uniqueid [32]
int hangupcause
ast_var_tvars
unsigned int callgroup
unsigned int pickupgroup
int flag
ast_channelnext

Detailed Description

Main Channel structure associated with a channel.

This is the side of it mostly used by the pbx and call management.

Definition at line 56 of file channel.h.


Member Function Documentation

AST_LIST_HEAD varshead  ,
ast_var_t 
 


Field Documentation

int _softhangup
 

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

Definition at line 94 of file channel.h.

Referenced by ast_autoservice_stop(), ast_check_hangup(), ast_dsp_process(), ast_pbx_run(), ast_queue_hangup(), ast_read(), ast_softhangup_nolock(), ast_waitstream(), ast_waitstream_fr(), ast_waitstream_full(), and ast_write().

int _state
 

State of line -- Don't write directly, use ast_setstate

Definition at line 134 of file channel.h.

Referenced by __ast_request_and_dial(), ast_answer(), ast_async_goto(), ast_cdr_init(), ast_control_streamfile(), ast_do_masquerade(), ast_pbx_outgoing_app(), ast_pbx_outgoing_exten(), ast_prod(), ast_request(), and ast_setstate().

char accountcode[20]
 

Account code for billing

Definition at line 194 of file channel.h.

Referenced by ast_cdr_init(), ast_cdr_setaccount(), and ast_cdr_update().

int adsicpe
 

Whether or not ADSI is detected on CPE

Definition at line 198 of file channel.h.

Referenced by ast_do_masquerade().

int amaflags
 

Set BEFORE PBX is started to determine AMA flags

Definition at line 192 of file channel.h.

Referenced by ast_cdr_init(), and ast_pbx_run().

char* ani
 

Malloc'd ANI

Definition at line 154 of file channel.h.

Referenced by ast_cdr_init(), ast_cdr_setcid(), ast_cdr_update(), ast_channel_free(), and ast_set_callerid().

void* app[AST_CHANNEL_MAX_STACK]
 

Application information -- see assigned numbers

Definition at line 176 of file channel.h.

Referenced by pbx_exec().

char* appl
 

Current application

Definition at line 107 of file channel.h.

Referenced by pbx_exec().

pthread_t blocker
 

If anyone is blocking, this is them

Definition at line 100 of file channel.h.

Referenced by ast_do_masquerade(), ast_hangup(), ast_queue_frame(), ast_read(), and ast_softhangup_nolock().

int blocking
 

Whether or not we're blocking

Definition at line 91 of file channel.h.

Referenced by ast_autoservice_stop(), ast_do_masquerade(), ast_hangup(), ast_queue_frame(), ast_sendtext(), ast_softhangup_nolock(), ast_waitfor_nandfds(), and ast_write().

char* blockproc
 

Procedure causing blocking

Definition at line 104 of file channel.h.

Referenced by ast_hangup().

struct ast_channel* bridge
 

Who are we bridged to, if we're bridged

Definition at line 77 of file channel.h.

Referenced by ast_channel_bridge().

char call_forward[AST_MAX_EXTENSION]
 

Where to forward to if asked to dial on this interface

Definition at line 200 of file channel.h.

char* callerid
 

Malloc'd Caller ID

Definition at line 152 of file channel.h.

Referenced by ast_cdr_init(), ast_cdr_setcid(), ast_cdr_update(), ast_channel_free(), ast_do_masquerade(), ast_pbx_run(), ast_request(), ast_set_callerid(), and ast_setstate().

unsigned int callgroup
 

Definition at line 226 of file channel.h.

int callingpres
 

Callerid presentation/screening

Definition at line 160 of file channel.h.

struct ast_cdr* cdr
 

Call Detail Record

Definition at line 196 of file channel.h.

Referenced by __ast_request_and_dial(), ast_answer(), ast_cdr_appenduserfield(), ast_cdr_setaccount(), ast_cdr_setuserfield(), ast_cdr_update(), ast_hangup(), ast_pbx_run(), ast_read(), ast_set_callerid(), and pbx_exec().

int cdrflags
 

Call Detail Record Flags

Definition at line 89 of file channel.h.

char context[AST_MAX_EXTENSION]
 

Current extension context

Definition at line 164 of file channel.h.

Referenced by __ast_request_and_dial(), ast_async_goto(), ast_cdr_init(), ast_cdr_update(), ast_pbx_outgoing_exten(), and ast_pbx_run().

char* data
 

Data passed to current application

Definition at line 109 of file channel.h.

Referenced by ast_indicate(), and pbx_exec().

int deferdtmf
 

Are DTMF digits being deferred

Definition at line 180 of file channel.h.

Referenced by ast_channel_defer_dtmf(), ast_channel_undefer_dtmf(), and ast_read().

struct ast_channel* dialed
 

Who did we call?

Definition at line 79 of file channel.h.

struct ast_channel* dialing
 

Who called us?

Definition at line 81 of file channel.h.

char* dnid
 

Malloc'd Dialed Number Identifier

Definition at line 150 of file channel.h.

Referenced by ast_channel_free(), and ast_do_masquerade().

struct ast_frame dtmff
 

DTMF frame

Definition at line 182 of file channel.h.

Referenced by ast_read().

char dtmfq[AST_MAX_EXTENSION]
 

Any/all queued DTMF characters

Definition at line 178 of file channel.h.

Referenced by ast_read().

int exception
 

Has an exception been detected

Definition at line 112 of file channel.h.

Referenced by ast_do_masquerade(), and ast_read().

char exten[AST_MAX_EXTENSION]
 

Current extension number

Definition at line 172 of file channel.h.

Referenced by __ast_request_and_dial(), ast_async_goto(), ast_cdr_init(), ast_cdr_update(), ast_pbx_outgoing_exten(), and ast_pbx_run().

int fdno
 

Which fd had an event detected on

Definition at line 114 of file channel.h.

Referenced by ast_do_masquerade(), and ast_read().

int fds[AST_MAX_FDS]
 

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

Definition at line 64 of file channel.h.

Referenced by ast_do_masquerade(), and ast_waitfor_nandfds().

unsigned int fin
 

Definition at line 213 of file channel.h.

Referenced by ast_read().

int flag
 

channel flags of AST_FLAG_ type

Definition at line 230 of file channel.h.

unsigned int fout
 

Definition at line 214 of file channel.h.

Referenced by ast_write().

struct ast_generator* generator
 

Current active data generator

Definition at line 72 of file channel.h.

Referenced by ast_activate_generator(), ast_deactivate_generator(), ast_hangup(), ast_openstream(), and ast_read().

void* generatordata
 

Current generator data if there is any

Definition at line 70 of file channel.h.

Referenced by ast_activate_generator(), ast_deactivate_generator(), ast_hangup(), ast_read(), ast_tonepair(), and ast_write().

int hangupcause
 

Definition at line 220 of file channel.h.

Referenced by __ast_request_and_dial(), and ast_hangup().

unsigned long insmpl
 

Track the read/written samples for monitor use

Definition at line 209 of file channel.h.

Referenced by ast_read(), and ast_write().

jmp_buf jmp[AST_CHANNEL_MAX_STACK]
 

Jump buffer used for returning from applications

Definition at line 188 of file channel.h.

Referenced by pbx_exec().

char language[MAX_LANGUAGE]
 

Language requested

Definition at line 60 of file channel.h.

Referenced by ast_app_getdata(), ast_app_getdata_full(), ast_app_getvoice(), ast_control_streamfile(), and ast_send_image().

ast_mutex_t lock
 

Lock, can be used to lock a channel for some operations

Definition at line 102 of file channel.h.

Referenced by ast_activate_generator(), ast_answer(), ast_async_goto(), ast_async_goto_by_name(), ast_call(), ast_channel_free(), ast_channel_make_compatible(), ast_channel_masquerade(), ast_deactivate_generator(), ast_hangup(), ast_indicate(), ast_parse_device_state(), ast_queue_frame(), ast_read(), ast_rtp_bridge(), ast_set_read_format(), ast_set_write_format(), ast_softhangup(), ast_transfer(), and ast_write().

char macrocontext[AST_MAX_EXTENSION]
 

Current non-macro context

Definition at line 166 of file channel.h.

char macroexten[AST_MAX_EXTENSION]
 

Current non-macro extension

Definition at line 168 of file channel.h.

int macropriority
 

Current non-macro priority

Definition at line 170 of file channel.h.

struct ast_channel* masq
 

Channel that will masquerade as us

Definition at line 85 of file channel.h.

Referenced by ast_channel_masquerade(), ast_do_masquerade(), ast_hangup(), ast_read(), ast_waitfor_nandfds(), and ast_write().

struct ast_channel* masqr
 

Who we are masquerading as

Definition at line 87 of file channel.h.

Referenced by ast_channel_masquerade(), ast_do_masquerade(), ast_hangup(), and ast_write().

struct ast_channel_monitor* monitor
 

Definition at line 206 of file channel.h.

Referenced by ast_channel_free(), ast_read(), and ast_write().

char musicclass[MAX_LANGUAGE]
 

Default music class

Definition at line 67 of file channel.h.

char name[AST_CHANNEL_NAME]
 

ASCII Description of channel name

Definition at line 58 of file channel.h.

Referenced by ast_app_getvoice(), ast_async_goto(), ast_async_goto_by_name(), ast_cdr_init(), ast_change_name(), ast_channel_bridge(), ast_channel_free(), ast_channel_make_compatible(), ast_channel_masquerade(), ast_do_masquerade(), ast_dsp_process(), ast_hangup(), ast_indicate(), ast_parse_device_state(), ast_pbx_outgoing_app(), ast_pbx_outgoing_exten(), ast_pbx_run(), ast_playtones_start(), ast_prod(), ast_queue_frame(), ast_read(), ast_request(), ast_rtp_bridge(), ast_set_callerid(), ast_set_read_format(), ast_set_write_format(), ast_setstate(), ast_softhangup_nolock(), and ast_write().

int nativeformats
 

Kinds of data this channel can natively handle

Definition at line 142 of file channel.h.

Referenced by ast_channel_make_compatible(), ast_do_masquerade(), ast_read(), ast_set_read_format(), ast_set_write_format(), and ast_streamfile().

struct ast_channel* next
 

For easy linking

Definition at line 233 of file channel.h.

Referenced by ast_active_channels(), ast_autoservice_start(), ast_channel_free(), ast_channel_register_ex(), ast_channel_unregister(), ast_do_masquerade(), and ast_request().

int oldwriteformat
 

Original writer format

Definition at line 126 of file channel.h.

Referenced by ast_openstream(), and ast_stopstream().

unsigned long outsmpl
 

Definition at line 210 of file channel.h.

Referenced by ast_read(), and ast_write().

struct ast_pbx* pbx
 

Definition at line 190 of file channel.h.

Referenced by ast_app_getdata(), ast_async_goto(), ast_channel_free(), and ast_pbx_run().

unsigned int pickupgroup
 

Definition at line 227 of file channel.h.

int priority
 

Definition at line 174 of file channel.h.

Referenced by __ast_request_and_dial(), ast_async_goto(), ast_pbx_outgoing_exten(), and ast_pbx_run().

struct ast_channel_pvt* pvt
 

Private channel implementation details

Definition at line 184 of file channel.h.

Referenced by ast_answer(), ast_call(), ast_channel_free(), ast_channel_sendhtml(), ast_channel_sendurl(), ast_channel_setoption(), ast_channel_supports_html(), ast_check_hangup(), ast_do_masquerade(), ast_hangup(), ast_indicate(), ast_prod(), ast_queue_frame(), ast_read(), ast_rtp_bridge(), ast_send_image(), ast_sendtext(), ast_set_read_format(), ast_set_write_format(), ast_supports_images(), ast_transfer(), ast_write(), and ast_write_video().

char* rdnis
 

Malloc'd RDNIS

Definition at line 156 of file channel.h.

Referenced by ast_channel_free().

int readformat
 

Requested read format

Definition at line 144 of file channel.h.

Referenced by ast_app_getvoice(), ast_async_goto(), ast_do_masquerade(), and ast_set_read_format().

int restrictcid
 

Hide callerid from user

Definition at line 158 of file channel.h.

int reversedialed
 

Reverse the dialed link (0 false, 1 true)

Definition at line 83 of file channel.h.

int rings
 

Number of rings so far

Definition at line 136 of file channel.h.

struct sched_context* sched
 

Schedule context

Definition at line 116 of file channel.h.

Referenced by ast_closestream(), ast_hangup(), ast_waitstream(), ast_waitstream_fr(), and ast_waitstream_full().

int stack
 

Current level of application

Definition at line 138 of file channel.h.

Referenced by pbx_exec().

struct ast_filestream* stream
 

Stream itself.

Definition at line 120 of file channel.h.

Referenced by ast_closestream(), ast_control_streamfile(), ast_hangup(), ast_readstring(), ast_readstring_full(), ast_stopstream(), ast_waitstream(), ast_waitstream_fr(), and ast_waitstream_full().

int streamid
 

For streaming playback, the schedule ID

Definition at line 118 of file channel.h.

Referenced by ast_closestream().

void* timingdata
 

Definition at line 131 of file channel.h.

Referenced by ast_read(), and ast_settimeout().

int timingfd
 

Timing fd

Definition at line 129 of file channel.h.

Referenced by ast_channel_free(), ast_do_masquerade(), ast_queue_frame(), ast_read(), and ast_settimeout().

int(* timingfunc)(void *data)
 

Referenced by ast_read(), ast_settimeout(), ast_waitstream(), ast_waitstream_fr(), and ast_waitstream_full().

char* type
 

Type of channel

Definition at line 62 of file channel.h.

Referenced by ast_channel_unregister(), ast_do_masquerade(), and ast_request().

char uniqueid[32]
 

Definition at line 217 of file channel.h.

Referenced by ast_cdr_init(), ast_change_name(), ast_hangup(), ast_pbx_run(), ast_request(), ast_set_callerid(), and ast_setstate().

struct ast_var_t* vars
 

Definition at line 223 of file channel.h.

struct ast_filestream* vstream
 

Stream itself.

Definition at line 124 of file channel.h.

Referenced by ast_closestream(), ast_hangup(), and ast_stopstream().

int vstreamid
 

For streaming playback, the schedule ID

Definition at line 122 of file channel.h.

Referenced by ast_closestream().

time_t whentohangup
 

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

Definition at line 98 of file channel.h.

Referenced by ast_channel_setwhentohangup(), ast_check_hangup(), ast_pbx_run(), and ast_waitfor_nandfds().

int writeformat
 

Requested write format

Definition at line 146 of file channel.h.

Referenced by ast_async_goto(), ast_do_masquerade(), ast_openstream(), and ast_set_write_format().

int writeinterrupt
 

Whether or not the generator should be interrupted by write

Definition at line 74 of file channel.h.

Referenced by ast_deactivate_generator(), and ast_write().

int zombie
 

Non-zero if this is a zombie channel

Definition at line 96 of file channel.h.

Referenced by ast_answer(), ast_call(), ast_channel_bridge(), ast_hangup(), ast_indicate(), ast_read(), ast_readstring(), ast_readstring_full(), ast_sendtext(), ast_transfer(), ast_waitfordigit(), ast_waitfordigit_full(), and ast_write().

struct tone_zone* zone
 

Tone zone

Definition at line 203 of file channel.h.

Referenced by ast_indicate().


The documentation for this struct was generated from the following file:
Generated on Sat Jun 12 16:41:52 2004 for Asterisk by doxygen 1.3.7