Thu Oct 11 06:49:59 2012

Asterisk developer's documentation


Data Structures

Here are the data structures with brief descriptions:
__priv_data
__show_chan_argArgument for the 'show channels|subscriptions' callback
_cfg_paths
_cm
_map_x_sGeneric struct to map between strings and integers. Fill it with x-s pairs, terminate with an entry with s = NULL; Then you can call map_x_s(...) to map an integer to a string, and map_s_x() for the string -> integer mapping
acf_odbc_query
acf_root
actionsList of actions registered
activate_call_plane_message
active_list
addr_range
adpcm_decoder_pvtWorkspace for translating ADPCM signals to signed linear
adpcm_encoder_pvtWorkspace for translating signed linear signals to ADPCM
adpcm_state
adsi_display
adsi_event
adsi_flag
adsi_key_cmd
adsi_script
adsi_soft_key
adsi_state
adsi_subscript
ael_extension
ael_priority
aes_decrypt_ctx
aes_encrypt_ctx
agent_pvtStructure representing an agent
agents
agi_cmd
agi_command
agi_commands
agi_state
ais_error
aji_buddy
aji_buddy_container
aji_capabilities
aji_client
aji_client::messages
aji_client_container
aji_message
aji_resource
aji_transport_container
aji_version
alarm_message
all_events
allowed_bearers
alltrans
announce_listitem
answer_exec_structStructure for 'ANSWER_EXEC' option
ao2_container
ao2_iteratorWhen we need to walk through a container, we use an ao2_iterator to keep track of the current position
ao2_listUsed as return value if the flag OBJ_MULTIPLE is set
app_tmp
apps
argapp
asent
aslist
ast_appAst_app: A registered application
ast_app_optionA structure to hold the description of an application 'option'
ast_atexit
ast_audiohook
ast_audiohook_list
ast_audiohook_options
ast_audiohook_translate
ast_bridgeStructure that contains information about a bridge
ast_bridge_channelStructure that contains information regarding a channel in a bridge
ast_bridge_configBridge configuration
ast_bridge_featuresStructure that contains features information
ast_bridge_features_attended_transferStructure that contains configuration information for the attended transfer built in feature
ast_bridge_features_blind_transferStructure that contains configuration information for the blind transfer built in feature
ast_bridge_features_hookStructure that is the essence of a features hook
ast_bridge_technologyStructure that is the essence of a bridge technology
ast_bridge_thread_obj
ast_call_feature
ast_calleridStructure for all kinds of caller ID identifications
ast_category
ast_category::template_instance_list
ast_category_template_instance
ast_cb_names
ast_cdrResponsible for call detail data
ast_cdr_batch
ast_cdr_batch_item
ast_cdr_beitem
ast_chan_write_info_tStructure to handle passing func_channel_write info to channels via setoption
ast_channelMain Channel structure associated with a channel. This is the side of it mostly used by the pbx and call management
ast_channel::datastores
ast_channel_monitor
ast_channel_techStructure to describe a channel "technology", ie a channel driver See for examples:
ast_cli_args
ast_cli_entryDescriptor for a cli entry
ast_codec_alias_table
ast_codec_pref
ast_commentStructure to keep comments for rewriting configuration files
ast_conf_userThe MeetMe User object
ast_conferenceThe MeetMe Conference object
ast_config
ast_config_engineConfiguration engine structure, used to define realtime drivers
ast_config_include
ast_config_map
ast_contextAst_context: An extension context
ast_control_t38_parameters
ast_custom_functionData structure associated with a custom dialplan function
ast_datastoreStructure for a data store object
ast_datastore_infoStructure for a data store type
ast_db_entry
ast_debug_fileMap a debug or verbose value to a filename
ast_devstate_aggregateYou shouldn't care about the contents of this struct
ast_dialMain dialing structure. Contains global options, channels being dialed, and more!
ast_dial_channelDialing channel structure. Contains per-channel dialing options, asterisk channel, and more!
ast_dial_features
ast_dialed_interface
ast_dnsmgr_entry
ast_dsp
ast_eidAn Entity ID is essentially a MAC address, brief and unique
ast_epoll_data
ast_eventAn event
ast_event_ieAn event information element
ast_event_ie_str_payloadThe payload for a string information element
ast_event_ie_val
ast_event_iteratorSupposed to be an opaque type
ast_event_refA holder for an event
ast_event_subEvent subscription
ast_event_sub_listEvent subscriptions The event subscribers are indexed by which event they are subscribed to
ast_extenAst_exten: An extension The dialplan is saved as a linked list with each context having it's own linked list of extensions - one item per priority
ast_fdset
ast_filestreamThis structure is allocated by file.c in one chunk, together with buf_size and desc_size bytes of memory to be used for private purposes (e.g. buffers etc.)
ast_flagsStructure used to handle boolean flags
ast_flags64Structure used to handle a large number of boolean flags == used only in app_dial?
ast_formatEach supported file format is described by the following structure
ast_format_listDefinition of supported media formats (codecs)
ast_frameData structure associated with a single frame of data
ast_frame_cache
ast_framesThis is just so ast_frames, a list head struct for holding a list of ast_frame structures, is defined
ast_generator
ast_group_infoChannel group info
ast_haInternal representation of acl entries In principle user applications would have no need for this, but there is sometimes a need to extract individual items, e.g. to print them, and rather than defining iterators to navigate the list, and an externally visible 'struct ast_ha_entry', at least in the short term it is more convenient to make the whole thing public and let users play with them
ast_hashtab
ast_hashtab_bucket
ast_hashtab_iterIterator for traversing the buckets
ast_heap
ast_hintStructure for dial plan hints
ast_hostent
ast_http_uriDefinition of a URI handler
ast_iax2_firmware_header
ast_iax2_full_enc_hdr
ast_iax2_full_hdr
ast_iax2_meta_hdr
ast_iax2_meta_trunk_entry
ast_iax2_meta_trunk_hdr
ast_iax2_meta_trunk_mini
ast_iax2_mini_enc_hdr
ast_iax2_mini_hdr
ast_iax2_video_hdr
ast_ignorepatAst_ignorepat: Ignore patterns in dial plan
ast_imagerStructure associated with registering an image format
ast_includeAst_include: include= support in extensions.conf
ast_ivr_menu
ast_ivr_option
ast_jbGeneral jitterbuffer state
ast_jb_confGeneral jitterbuffer configuration
ast_jb_implJitterbuffer implementation private struct
ast_key
ast_manager_userUser descriptor, as read from the config file
ast_module
ast_module_info
ast_module_user
ast_netsock
ast_netsock_list
ast_option_header
ast_option_typesOptions structure - maps options to respective handlers (enable/disable). This list MUST be perfectly kept in order, or else madness will happen
ast_park_call_args
ast_parkinglotStructure for parking lots which are put in a container
ast_parkinglot::parkinglot_parklist
ast_pbx
ast_pbx_argsOptions for ast_pbx_run()
ast_register_listThe register list: Other SIP proxies we register with and place calls to
ast_rtcpStructure defining an RTCP session
ast_rtpStructure representing a RTP session
ast_rtp_protocolThis is the structure that binds a channel (SIP/Jingle/H.323) to the RTP subsystem
ast_rtp_qualityRTCP quality report storage
ast_sched_thread
ast_silence_generator
ast_slinfactory
ast_smdi_interface
ast_smdi_interface_containerSMDI interface container
ast_smdi_md_messageAn SMDI message desk message
ast_smdi_md_queueSMDI message desk message queue
ast_smdi_mwi_messageAn SMDI message waiting indicator message
ast_smdi_mwi_queueSMDI message waiting indicator message queue
ast_smoother
ast_speech
ast_speech_engine
ast_speech_result
ast_state_cbAst_state_cb: An extension state notify register item
ast_strThe descriptor of a dynamic string XXX storage will be optimized later if needed We use the ts field to indicate the type of storage. Three special constants indicate malloc, alloca() or static variables, all other values indicate a struct ast_threadstorage pointer
ast_string_field_mgr
ast_string_field_pool
ast_subscription_mwi_listThe MWI subscription list
ast_swAst_sw: Switch statement in extensions.conf
ast_switch
ast_taskprocessorA ast_taskprocessor structure is a singleton by name
ast_taskprocessor::tps_queueTaskprocessor queue
ast_tcptls_session_argsArguments for the accepting thread
ast_tcptls_session_instance
ast_test_infoContains all the initialization information required to store a new test definition
ast_threadstorageData for a thread locally stored variable
ast_timer
ast_timing
ast_timing_interfaceTiming module interface
ast_tls_config
ast_tm
ast_tone_zoneA set of tones for a given locale
ast_tone_zone_partA description of a part of a tone
ast_tone_zone_soundDescription of a tone
ast_trans_pvtDefault structure for translators, with the basic fields and buffers, all allocated as part of the same chunk of memory. The buffer is preceded by AST_FRIENDLY_OFFSET bytes in front of the user portion. 'buf' points right after this space
ast_translatorDescriptor of a translator
ast_udptlStructure for an UDPTL session
ast_udptl_protocol
ast_var_t
ast_variableStructure for variables, used for configurations and for channel variables
ast_vm_user
astobj2
async_stat
atexits
audiohook_inheritance_datastore
audiohook_volumeAudiohook volume adjustment structure
b64_baseioStructure for base64 encoding
backendsList of registered channel types
baseio
be_list
bridge_pvt
bridge_technologies
bucket
bucket_list
button_definition
button_definition_template
button_template_res_message
cache_file_includeHold the mtime for config files, so if we don't need to reread our config, don't
cache_file_mtime
cache_file_mtime::includes
call_followmeData structure for followme scripts
call_followme::blnumbers
call_followme::numbers
call_followme::wlnumbers
call_info_message
call_queue
call_state_message
callattemptWe define a custom "local user" structure because we use it not only for keeping track of what is in use but also for keeping track of who we're dialing
callerid_state
callno_entry
capabilities_res_message
category_and_metric
cause_args
cdr_tds_config
cfextension_states
cfg_entry_args
cfmtime_head
cfsip_methodsThe core structure to setup dialogs. We parse incoming messages by using structure and then route the messages according to the type
cfsip_optionsList of well-known SIP options. If we get this in a require, we should check the list and answer accordingly
cfsubscription_typesSubscription types that we support. We support
  • dialoginfo updates (really device status, not dialog info as was the original intent of the standard)
  • SIMPLE presence used for device status
  • Voicemail notification subscriptions
chan2devMapping for channel states to device states
chan_alsa_pvt
chan_iax2_pvt
chan_iax2_pvt::signaling_queue
chan_listChannel call record structure
chan_oss_pvtDescriptor for one of our channels
chan_usbradio_pvt
change_collection
chanlistList of channel drivers
channel_lock_frame
channel_usage
channelsList of channels we have. Note that the lock for this list is used for both the channels list and the backends list
chanspy_ds
chanspy_translation_helper
clear_prompt_message
cli_alias
cli_permList of restrictions per user
cli_perm_head
cli_permsList of users and permissions
close_receive_channel_message
codec_dahdi_pvt
columns
conference_bridgeThe structure that represents a conference bridge
conference_bridge_userThe structure that represents a conference bridge user
config_item
config_odbc_obj
configs
confs
console
console_pvtConsole pvt structure
create_addr_info
curl_settings
custom_prepare_struct
dahdi_chan_confChannel configuration from chan_dahdi.conf . This struct is used for parsing the [channels] section of chan_dahdi.conf. Generally there is a field here for every possible configuration item
dahdi_distRings
dahdi_pvt
dahdi_subchannel
debug_file_list
definetimedate_message
devices
devstate_change
devstate_provA device state provider (not a channel)
devstate_provsA list of providers
dial_trunk_args
dialed_number_message
dialplan_countersCounters for the show dialplan manager command
digit_detect_state_t
directory_item
display_notify_message
display_prompt_status_message
displaytext_message
distRingData
dn_answer
dns_HEADER
domainDomain data structure
domain_list
dpcache
dpreq_data
drag_infoSupport for drag actions
dscp_codepoint
dtmf_detect_state_t
dundi_answer
dundi_cause
dundi_encblock
dundi_entity_info
dundi_hdr
dundi_hint
dundi_hint_metadata
dundi_ie
dundi_ie_data
dundi_ie_hdr
dundi_ies
dundi_mapping
dundi_packet
dundi_peer
dundi_peer::permissionlist
dundi_peer_status
dundi_precache_queue
dundi_query_state
dundi_request
dundi_result
dundi_result_datastore
dundi_transaction
dundi_transaction::packetlist
dynamic_list
ebl_context
enbloc_call_message
engines
entry_list
enum_context
enum_naptr_rr
enum_result_datastore
event_channel
event_channels
event_name
event_node
eventqent
expr_node
extension
fake_context
fast_originate_helperHelper function for originate
fax_session
fbuf_t
feature_group
feature_group_exten
feature_groups
feature_list
file_version
file_versions
filter_struct
find_call_cb_argArgument to the helper function to identify a call
findme_user
findme_user_listptr
firmwares
fixed_jbPrivate fixed_jb structure
fixed_jb_conf
fixed_jb_frame
fm_args
fm_args::cnumbers
followmes
format_map
formats
forward_stat_message
fragment_t
frame_list
frame_queueList of frames that may need to be retransmitted
fsk_data
function_table_tag
g722_decoder_pvt
g722_encoder_pvt
g726_coder_pvt
g726_desc
g726_state
gen_state
global_curl_info
goertzel_result_t
goertzel_state_t
gosub_stack_frame
grab_desc
group
group_entry
groups
gsm_translator_pvt
gtalk
gtalk_candidate
gtalk_container
gtalk_pvt
h263_desc
h264_desc
h323_alias_listH323 alias list
h323_peer_listH323 peer list
h323_user_listH323 User list
helpers
hold_info
http_routeStructure to hold http routes (valid URIs, and the files they link to)
http_uri_redirect
iax2_context
iax2_dpcache
iax2_ie
iax2_peer
iax2_pkt_buf
iax2_registry
iax2_thread
iax2_trunk_peer
iax2_user
iax_dual
iax_firmware
iax_flag
iax_frame
iax_frame_listThis is just so iax_frames, a list head struct for holding a list of iax_frame structures, is defined
iax_frames
iax_ie_data
iax_ies
iax_rr
iax_template
idle_list
ie_map
ilbc_coder_pvt
imagers
inclfile
inheritable_audiohook
inprocess
invstate2stringtableReadable descriptions of device states
io_contextGlobal IO variables are now in a struct in order to be made threadsafe
io_recKept for each file descriptor
isdn_msg
itemlist
ivr_localuser
ivr_localuser::finishlist
ivr_localuser::playlist
jack_data
jb_conf
jb_frame
jb_info
jingle
jingle_candidate
jingle_container
jingle_pvt
jitterbuf
keypad_button_message
keys
ldap_table_configTable configuration
leave_vm_optionsOptions for leaving voicemail with the voicemail() application
limits
line_stat_res_message
line_state_req_message
linear_state
lines
load_order
load_order_entry
loadupdate
local_pvt
lock_frame
locklist
logchannel
logchannels
logmsg
logmsgs
lpc10_coder_pvt
lsinfoLeap second information
mailbox_mappingA mapping between an SMDI mailbox ID and an Asterisk mailbox
manager_action
manager_custom_hook
manager_hooksList of hooks registered
mansession
mansession_session
mansession_session::mansession_datastores
mappings
match_charMatch_char: forms a syntax tree for quick matching of extension patterns
MD5Context
media_qualifier
member
message
message_templatesThe list of e-mail templates
mf_detect_state_t
mgcp_endpoint
mgcp_gateway
mgcp_messageMgcp_message: MGCP message for queuing up
mgcp_request
mgcp_response
mgcp_subchannel
mime_cbinfo
mimeType
minivm_accountStructure for linked list of Mini-Voicemail users: minivm_accounts
minivm_accountsThe list of e-mail accounts
minivm_statsStructure for gathering statistics
minivm_templateLinked list of e-mail templates in various languages These are used as templates for e-mails, pager messages and jabber messages message_templates
minivm_zoneVoicemail time zones
minivm_zonesThe list of e-mail time zones
misdn_bchannel
misdn_cfg_pt
misdn_cfg_spec
misdn_jb
misdn_lib
misdn_lib_iface
misdn_stack
mixmonitor
mixmonitor_ds
module_list
module_user_list
moh_files_state
mohclass
mohdata
morse_bits
msn_list
multiplexed_threadStructure which represents a single thread handling multiple 2 channel bridges
mwi_subAn MWI subscription
mwi_sub_task
mwi_subs
mwi_thread_data
mwisend_info
naptr
nbs_pvt
nodelog
numberNumber structure
odbc_cache_columns
odbc_cache_tables
odbc_cache_tables::_columns
odbc_class
odbc_datastore
odbc_datastore_row
odbc_objODBC container
odbc_tables
odbc_txn_frame
odmiana
offered_media
offhook_message
oh323_pvtPrivate structure of a OpenH323 channel
onhook_message
open_receive_channel_ack_message
open_receive_channel_message
oprmode
osp_callid
osp_provider
osp_result
outgoing
outgoing_helper
parkeduserDescription of one parked call, added to a list while active, then removed. The list belongs to a parkinglot
parse_io
parsed_dial_string
path_lock
path_lock_list
pbx_builtinDeclaration of builtin applications
pbx_exception
pbx_find_info
pcq
peercnt
peers
penalty_rule
permalias
permission
phone_profileStructure to hold phone profiles read from phoneprov.conf
phone_pvt
phoneprov_fileStructure to hold file data
pickup_criteria
playlist_entry
playtones_def
playtones_item
playtones_state
plc_ds
plc_state_t
pp_variable_lookupLookup table to translate between users.conf property names and variables for use in phoneprov templates
privacy_args
profile_data
profile_entry
progalias
progress
protosList of current sessions
psql_columns
psql_tables
pthread_timer
publish_event
pval
queries
queue_end_bridge
queue_ent
queue_transfer_ds
refresh_info
register_ack_message
register_message
register_rej_message
registrations
reload_classes
reload_queue
reload_queue_item
requests
reset_message
ringContextData
robin_list
rpt
rpt_chan_stat
rpt_cmd_struct
rpt_link
rpt_lstat
rpt_tele
rpt_topkey
rpt_xlat
rt_cfg_entry_args
rt_multi_cfg_entry_args
rtp_red
rtpPayloadTypeThe value of each payload format mapping:
rule
rule_list
rule_lists
run_station_args
say_args_t
sched
sched_context
scoreboard
select_soft_keys_message
send_lock
server_identifier
server_res_message
sessions
set_lamp_message
set_microphone_message
set_ringer_message
set_speaker_message
SHA1ContextThis structure will hold context information for the SHA-1 hashing operation
signaling_queue_entry
sip_authSip_auth: Credentials for authentication to other SIP services
sip_dualStructure used in transfers
sip_historySip_history: Structure for saving transactions within a SIP dialog
sip_history_head
sip_invite_paramParameters to the transmit_invite function
sip_mailboxA peer's mailbox
sip_peerStructure for SIP peer data, we place calls to peers if registered or fixed IP address (host)
sip_pktSip packet - raw format for outbound packets that are sent or scheduled for transmission Packets are linked in a list, whose head is in the struct sip_pvt they belong to. Each packet holds a reference to the parent struct sip_pvt. This structure is allocated in __sip_reliable_xmit() and only for packets that require retransmissions
sip_proxyDefinition of a sip proxy server
sip_pvtStructure used for each SIP dialog, ie. a call, a registration, a subscribe. Created and initialized by sip_alloc(), the descriptor goes into the list of descriptors (dialoglist)
sip_pvt::request_queue
sip_referStructure to handle SIP transfers. Dynamically allocated when needed
sip_registryRegistrations with other SIP proxies
sip_requestSip_request: The data grabbed from the UDP socket
sip_routeStructure to save routing information for a SIP session
sip_settingsPlace to store all global settings for the sip channel driver These are settings that will be possibly to apply on a group level later on
sip_socketThe SIP socket definition
sip_st_cfgStructure that encapsulates all attributes related to configuration of SIP Session-Timers feature on a per user/peer basis
sip_st_dlgStructure that encapsulates all attributes related to running SIP Session-Timers feature on a per dialog basis
sip_subscription_mwiDefinition of an MWI subscription to another server
sip_threadinfoDefinition of a thread that handles a socket
sip_viaStructure to store Via information
skinny_addon
skinny_data
skinny_device
skinny_device_options
skinny_line
skinny_line_options
skinny_req
skinny_speeddial
skinny_subchannel
skinnysession
sla_event
sla_failed_stationA station that failed to be dialed
sla_ringing_stationA station that is ringing
sla_ringing_trunkA trunk that is ringing
sla_station
sla_station_ref
sla_stations
sla_trunk
sla_trunk_ref
sla_trunks
slin16_to_slin8_pvt
slin8_to_slin16_pvt
smdi_msg_datastore
sms_s
soft_key_definitions
soft_key_event_message
soft_key_set_definition
soft_key_set_res_message
soft_key_template_definition
soft_key_template_res_message
softmix_channelDefine used to turn on 16 kHz audio support
sortable_keys
sound
speed_dial_stat_req_message
speed_dial_stat_res_message
speex_coder_pvt
speex_direction_info
speex_info
sql_values
sqlite_cache_columns
sqlite_cache_tables
sqlite_cache_tables::_columns
sqlite_tables
srv_context
srv_context::srv_entries
srv_entry
SSL
SSL_CTX
stackelement
start_media_transmission_message
start_tone_message
state
state_change
state_changesThe state change queue. State changes are queued for processing by a separate thread
state_struct
statechange
station_capabilities
stimulus_message
stop_media_transmission_message
stop_tone_message
store_hint
store_hints
strategy
stun_addr
stun_attr
stun_header
stun_stateHere we store credentials extracted from a message
stun_trans_idSTUN support code
subscribe_event
switches
sysstate
systemtime
t38propertiesT.38 channel settings (at some point we need to make this alloc'ed
table_configsShould be locked before using it
tables
tables::odbc_columns
tables::psql_columns
tcptls_packet
tdd_state
telem_defaults
templates
thr_arg
thread_list
thread_list_t
timerfd_timer
timing_holder
tone_detect_state_t
tone_zone_unistim
tonepair_def
tonepair_state
tpeers
tps_taskTps_task structure is queued to a taskprocessor
tps_taskprocessor_statsTps_taskprocessor_stats maintain statistics for a taskprocessor
translator
translator_path
translatorsList of translators
ttinfoTime type information
txt_context
tzhead
udptl_fec_rx_buffer_t
udptl_fec_tx_buffer_t
unistim_deviceA device containing one or more lines
unistim_line
unistim_subchannel
unistimsession
update2_prepare_struct
updaters
uri_redirects
uris
userStructure to hold users read from users.conf
usergroup_cli_permList of users to apply restrictions
usersList of users found in the config file
val
values
variable_count
varshead
verb
verbosers
version_res_message
video_codec_desc
video_dec_desc
vm_state
vm_zone
volume
volume_information
vorbis_desc
vox
wav_desc
wavg_desc
wsabuf
yy_buffer_state
yy_trans_info
yyalloc
yyguts_t
YYLTYPE
yyltype
YYSTYPE
zombie
zombies
zonelist
zones

Generated on Thu Oct 11 06:49:59 2012 for Asterisk - the Open Source PBX by  doxygen 1.5.6