Asterisk.org: Developer Documentation (28 Oct 2009)

Wed Oct 28 15:49:57 2009

## Asterisk developer's documentation

# File List

Here is a list of all files with brief descriptions:

acl.c [code] | Various sorts of access control
acl.h [code] | Access Control of various sorts
adpcm_slin_ex.h [code] | 4-bit ADPCM data, 20 milliseconds worth at 8 kHz
adsi.h [code] | ADSI Support (built upon Caller*ID)
adtranvofr.h [code] |
aes.h [code] | This file contains the definitions required to use AES in C. See aesopt.h for optimisation details
aescrypt.c [code] | This file contains the code for implementing encryption and decryption for AES (Rijndael) for block and key sizes of 16, 24 and 32 bytes. It can optionally be replaced by code written in assembler using NASM. For further details see the file aesopt.h
aeskey.c [code] | This file contains the code for implementing the key schedule for AES (Rijndael) for block and key sizes of 16, 24, and 32 bytes. See aesopt.h for further details including optimisation
aesopt.h [code] |
aestab.c [code] |
agi.h [code] | AGI Extension interfaces - Asterisk Gateway Interface
alaw.c [code] | U-Law to Signed linear conversion
alaw.h [code] | A-Law to Signed linear conversion
answer.h [code] | Signed 16-bit audio data
app.c [code] | Convenient Application Routines
app.h [code] | Application convenience functions, designed to give consistent look and feel to Asterisk apps
app_adsiprog.c [code] | Program Asterisk ADSI Scripts into phone
app_alarmreceiver.c [code] | Central Station Alarm receiver for Ademco Contact ID
app_authenticate.c [code] | Execute arbitrary authenticate commands
app_cdr.c [code] | Applications connected with CDR engine
app_chanisavail.c [code] | Check if Channel is Available
app_chanspy.c [code] | ChanSpy: Listen in on any channel
app_controlplayback.c [code] | Trivial application to control playback of a sound file
app_curl.c [code] | Curl - App to load a URL
app_cut.c [code] | Cut application
app_datetime.c [code] | Time of day - Report the time of day
app_db.c [code] | Database access functions
app_dial.c [code] | Dial() & retrydial() - Trivial application to dial a channel and send an URL on answer
app_dictate.c [code] | Virtual Dictation Machine Application For Asterisk
app_directed_pickup.c [code] | Directed Call Pickup Support
app_directory.c [code] | Provide a directory of extensions
app_disa.c [code] | DISA -- Direct Inward System Access Application
app_dumpchan.c [code] | Application to dump channel variables
app_echo.c [code] | Echo application -- play back what you hear to evaluate latency
app_enumlookup.c [code] | Enumlookup - lookup entry in ENUM
app_eval.c [code] | Eval application
app_exec.c [code] | Exec application
app_externalivr.c [code] | External IVR application interface
app_festival.c [code] | Connect to festival
app_flash.c [code] | App to flash a zap trunk
app_forkcdr.c [code] | Fork CDR application
app_getcpeid.c [code] | Get ADSI CPE ID
app_groupcount.c [code] | Group Manipulation Applications
app_hasnewvoicemail.c [code] | HasVoicemail application
app_ices.c [code] | Stream to an icecast server via ICES (see contrib/asterisk-ices.xml)
app_image.c [code] | App to transmit an image
app_intercom.c [code] | Use /dev/dsp as an intercom
app_ivrdemo.c [code] | IVR Demo application
app_lookupblacklist.c [code] | App to lookup the callerid number, and see if it is blacklisted
app_lookupcidname.c [code] | App to set callerid name from database, based on directory number
app_macro.c [code] | Dial plan macro Implementation
app_math.c [code] | A simple math application
app_md5.c [code] | MD5 checksum application
app_meetme.c [code] | Meet me conference bridge
app_milliwatt.c [code] | Digital Milliwatt Test
app_mixmonitor.c [code] | MixMonitor() - Record a call and mix the audio during the recording
app_mp3.c [code] | Silly application to play an MP3 file -- uses mpg123
app_nbscat.c [code] | Silly application to play an NBScat file -- uses nbscat8k
app_osplookup.c [code] | Open Settlement Protocol Lookup
app_page.c [code] | Page() - Paging application
app_parkandannounce.c [code] | ParkAndAnnounce application for Asterisk
app_playback.c [code] | Trivial application to playback a sound file
app_privacy.c [code] | Block all calls without Caller*ID, require phone # to be entered
app_queue.c [code] | True call queues with optional send URL on answer
app_random.c [code] | Random application
app_read.c [code] | Trivial application to read a variable
app_readfile.c [code] | ReadFile application -- Reads in a File for you
app_realtime.c [code] | RealTime App
app_record.c [code] | Trivial application to record a sound file
app_rpt.c [code] |
app_sayunixtime.c [code] | SayUnixTime application
app_senddtmf.c [code] | App to send DTMF digits
app_sendtext.c [code] | App to transmit a text message
app_setcallerid.c [code] | App to set callerid
app_setcdruserfield.c [code] | Applictions connected with CDR engine
app_setcidname.c [code] | App to set callerid
app_setcidnum.c [code] | App to set callerid number
app_setrdnis.c [code] | App to set rdnis
app_settransfercapability.c [code] | App to set the ISDN Transfer Capability
app_skel.c [code] | Skeleton application
app_sms.c [code] | SMS application - ETSI ES 201 912 protocol 1 implimentation
app_softhangup.c [code] | SoftHangup application
app_sql_postgres.c [code] | Connect to PostgreSQL
app_stack.c [code] | Stack applications Gosub, Return, etc
app_system.c [code] | Execute arbitrary system commands
app_talkdetect.c [code] | Playback a file with audio detect
app_test.c [code] | Applications to test connection and produce report in text file
app_transfer.c [code] | Transfer a caller
app_txtcidname.c [code] | Caller*id name lookup - Look up the caller's name via DNS
app_url.c [code] | App to transmit a URL
app_userevent.c [code] | UserEvent application -- send manager event
app_verbose.c [code] | Verbose logging application
app_voicemail.c [code] | Comedian Mail - Voicemail System
app_waitforring.c [code] | Wait for Ring Application

app_waitforsilence.c [code]

Wait for Silence

- Waits for up to 'x' milliseconds of silence, 'y' times
- WaitForSilence(500,2) will wait for 1/2 second of silence, twice
- WaitForSilence(1000,1) will wait for 1 second of silence, once

app_while.c [code] | While Loop and ExecIf Implementations
app_zapateller.c [code] | Playback the special information tone to get rid of telemarketers
app_zapbarge.c [code] | Zap Barge support
app_zapras.c [code] | Execute an ISDN RAS
app_zapscan.c [code] | Zap Scanner
ast_expr.h [code] |
ast_expr2.c [code] |
ast_expr2.h [code] |
ast_expr2f.c [code] | Dialplan Expression Parser
astdb.h [code] | Persistant data storage (akin to *doze registry)
asterisk.c [code] | Top level source file for Asterisk - the Open Source PBX. Implementation of PBX core functions and CLI interface
asterisk.h [code] | Asterisk main include file. File version handling, generic pbx functions
astmm.c [code] | Memory Management
astmm.h [code] | Asterisk memory usage debugging
astobj.h [code] | A set of macros implementing objects and containers. Macros are used for maximum performance, to support multiple inheritance, and to be easily integrated into existing structures without additional malloc calls, etc
astobj2.c [code] |
astobj2.h [code] | Object Model implementing objects and containers
astosp.h [code] | OSP support (Open Settlement Protocol)
autoservice.c [code] | Automatic channel service routines
buildinfo.c [code] | Build timestamp variables
callerid.c [code] | CallerID Generation support
callerid.h [code] | CallerID (and other GR30) management and generation Includes code and algorithms from the Zapata library. Caller ID names are currently 8 bit characters, propably ISO8859-1, depending on what your channel drivers handle
causes.h [code] | Internal Asterisk hangup causes
cdr.c [code] | Call Detail Record API
cdr.h [code] | Call Detail Record API
cdr_csv.c [code] | Comma Separated Value CDR records
cdr_custom.c [code] | Custom Comma Separated Value CDR records
cdr_manager.c [code] | Asterisk Call Manager CDR records
cdr_odbc.c [code] | ODBC CDR Backend
cdr_pgsql.c [code] | PostgreSQL CDR logger
cdr_sqlite.c [code] | Store CDR records in a SQLite database
cdr_tds.c [code] | FreeTDS CDR logger
chan_agent.c [code] | Implementation of Agents (proxy channel)
chan_alsa.c [code] | ALSA sound card channel driver
chan_features.c [code] | Feature Proxy Channel
chan_h323.c [code] | This file is part of the chan_h323 driver for Asterisk
chan_iax2.c [code] | Implementation of Inter-Asterisk eXchange Version 2
chan_local.c [code] | Local Proxy Channel
chan_mgcp.c [code] | Implementation of Media Gateway Control Protocol
chan_misdn.c [code] | Chan_misdn channel driver for Asterisk
chan_modem.c [code] | A/Open ITU-56/2 Voice Modem Driver (Rockwell, IS-101, and others)
chan_modem_aopen.c [code] |
chan_modem_bestdata.c [code] |
chan_modem_i4l.c [code] | ISDN4Linux TTY Driver
chan_nbs.c [code] | Network broadcast sound support channel driver
chan_oss.c [code] | Channel driver for OSS sound cards
chan_oss_old.c [code] |
chan_phone.c [code] | Generic Linux Telephony Interface driver
chan_sip.c [code] | Implementation of Session Initiation Protocol
chan_skinny.c [code] | Implementation of the Skinny protocol
chan_vpb.c [code] | VoiceTronix Interface driver
chan_zap.c [code] | Zaptel Pseudo TDM interface
channel.c [code] | Channel Management
channel.h [code] | General Asterisk PBX channel definitions
chanspy.h [code] | Asterisk PBX channel spy definitions
chanvars.c [code] | Channel Variables
chanvars.h [code] | Channel Variables
cli.c [code] | Standard Command Line Interface
cli.h [code] | Standard Command Line Interface
codec_a_mu.c [code] | Codec_a_mu.c - translate between alaw and ulaw directly
codec_adpcm.c [code] | Codec_adpcm.c - translate between signed linear and Dialogic ADPCM
codec_alaw.c [code] | Codec_alaw.c - translate between signed linear and alaw
codec_g723_1.c [code] | Translate between signed linear and G.723.1
codec_g726.c [code] | Codec_g726.c - translate between signed linear and ITU G.726-32kbps
codec_gsm.c [code] | Translate between signed linear and Global System for Mobile Communications (GSM)
codec_ilbc.c [code] | Translate between signed linear and Internet Low Bitrate Codec
codec_lpc10.c [code] | Translate between signed linear and LPC10 (Linear Predictor Code)
codec_speex.c [code] | Translate between signed linear and Speex (Open Codec)
codec_ulaw.c [code] | Codec_ulaw.c - translate between signed linear and ulaw
codec_zap.c [code] | Translate between various formats natively through Zaptel transcoding
coef_in.h [code] |
coef_out.h [code] |
compat.h [code] | General Definitions for Asterisk top level program
compiler.h [code] | Compiler-specific macros and other items
config.c [code] | Configuration File Parser
config.h [code] | Configuration File Parser
crypto.h [code] | Provide cryptographic signature routines
cryptostub.c [code] |
db.c [code] | ASTdb Management
devicestate.c [code] | Device state management
devicestate.h [code] | Device state management
DialTone.h [code] |
dlfcn-compat.h [code] |
dlfcn.c [code] |
dns.c [code] | DNS Support for Asterisk
dns.h [code] | DNS support for Asterisk
dnsmgr.c [code] | Background DNS update manager
dnsmgr.h [code] | Background DNS update manager
doxyref.h [code] |
dsp.c [code] | Convenience Signal Processing routines
dsp.h [code] | Convenient Signal Processing routines
dundi-parser.c [code] | Distributed Universal Number Discovery (DUNDi)
dundi-parser.h [code] |
dundi.h [code] | Distributed Universal Number Discovery (DUNDi) See also DUNDi
ecdisa.h [code] |
endian.h [code] | Asterisk architecture endianess compatibility definitions
enter.h [code] |
enum.c [code] | ENUM Support for Asterisk
enum.h [code] | DNS and ENUM functions
features.h [code] | Call Parking and Pickup API Includes code and algorithms from the Zapata library
file.c [code] | Generic File Format Support
file.h [code] | Generic File Format Support
format_au.c [code] | Work with Sun Microsystems AU format
format_g723.c [code] | Old-style G.723.1 frame/timestamp format
format_g726.c [code] | Headerless G.726 (16/24/32/40kbps) data format for Asterisk
format_g729.c [code] | Save to raw, headerless G729 data
format_gsm.c [code] | Save to raw, headerless GSM data
format_h263.c [code] | Save to raw, headerless h263 data
format_ilbc.c [code] | Save to raw, headerless iLBC data
format_jpeg.c [code] | JPEG File format support
format_ogg_vorbis.c [code] | OGG/Vorbis streams
format_pcm.c [code] | Flat, binary, ulaw PCM file format
format_pcm_alaw.c [code] | Flat, binary, alaw PCM file format
format_sln.c [code] | RAW SLINEAR Format
format_vox.c [code] | Flat, binary, ADPCM vox file format
format_wav.c [code] | Work with WAV in the proprietary Microsoft format. Microsoft WAV format (8000hz Signed Linear)
format_wav_gsm.c [code] | Save GSM in the proprietary Microsoft format
frame.c [code] | Frame manipulation routines
frame.h [code] | Asterisk internal frame definitions
fskmodem.c [code] | FSK Modulator/Demodulator
fskmodem.h [code] | FSK Modem Support
func_callerid.c [code] | Caller ID related dialplan functions
func_cdr.c [code] | Call Detail Record related dialplan functions
func_db.c [code] | Functions for interaction with the Asterisk database
func_enum.c [code] | ENUM Functions
func_env.c [code] | Environment related dialplan functions
func_groupcount.c [code] | Channel group related dialplan functions
func_language.c [code] | Language related dialplan functions
func_logic.c [code] | Conditional logic dialplan functions
func_math.c [code] | Maths relatad dialplan functions
func_md5.c [code] | MD5 digest related dialplan functions
func_moh.c [code] | Functions for reading or setting the MusicOnHold class
func_strings.c [code] | String manipulation dialplan functions
func_timeout.c [code] | Channel timeout related dialplan functions
func_uri.c [code] | URI encoding / decoding
g723_slin_ex.h [code] | 8-bit raw data
g726_slin_ex.h [code] | 4-bit G.726 data, 20 milliseconds worth at 8 kHz
gentone-ulaw.c [code] |
gentone.c [code] |
gsm_slin_ex.h [code] | 8-bit raw data
iax2-parser.c [code] | Implementation of Inter-Asterisk eXchange Protocol, v 2
iax2-parser.h [code] | Implementation of the IAX2 protocol
iax2-provision.c [code] | IAX Provisioning Protocol
iax2-provision.h [code] | IAX2 Provisioning protocol
iax2.h [code] |
ilbc_slin_ex.h [code] | Raw 8-bit data
image.c [code] | Image Management
image.h [code] | General Asterisk channel definitions for image handling
indications.c [code] | Tone Management
indications.h [code] | BSD Telephony Of Mexico "Tormenta" Tone Zone Support 2/22/01
inline_api.h [code] | Inlinable API function macro
io.c [code] | I/O Managment (Derived from Cheops-NG)
io.h [code] | I/O Management (derived from Cheops-NG)
jitterbuf.c [code] | Jitterbuf: an application-independent jitterbuffer
jitterbuf.h [code] |
leave.h [code] |
linkedlists.h [code] | A set of macros to manage forward-linked lists
loader.c [code] | Module Loader
localtime.c [code] |
localtime.h [code] | Custom localtime functions for multiple timezones
lock.h [code] | General Asterisk channel locking definitions
log2comp.h [code] | Log2comp.h - various base 2 log computation versions
logger.c [code] | Asterisk Logger
logger.h [code] | Support for logging to various files, console and syslog Configuration in file logger.conf
lpc10_slin_ex.h [code] | 8-bit raw data
manager.c [code] | The Asterisk Management Interface - AMI
manager.h [code] | The AMI - Asterisk Manager Interface - is a TCP protocol created to manage Asterisk with third-party software
md5.c [code] | MD5 checksum routines used for authentication. Not covered by GPL, but in the public domain as per the copyright below
md5.h [code] | MD5 digest functions
misdn_config.c [code] | Chan_misdn configuration management
module.h [code] | Asterisk module definitions
monitor.h [code] | Channel monitoring
msgsm.h [code] |
musiconhold.h [code] | Music on hold handling
muted.c [code] | Mute Daemon
netsock.c [code] | Network socket handling
netsock.h [code] | Network socket handling
options.h [code] | Options provided by main asterisk program
pbx.c [code] | Core PBX routines
pbx.h [code] | Core PBX routines and definitions
pbx_ael.c [code] | Compile symbolic Asterisk Extension Logic into Asterisk extensions
pbx_config.c [code] | Populate and remember extensions from static config file
pbx_dundi.c [code] | Distributed Universal Number Discovery (DUNDi)
pbx_functions.c [code] | Builtin dialplan functions
pbx_gtkconsole.c [code] | GTK Console monitor -- very kludgy right now
pbx_kdeconsole.h [code] |
pbx_loopback.c [code] | Loopback PBX Module
pbx_realtime.c [code] | Realtime PBX Module
pbx_spool.c [code] | Full-featured outgoing call spool support
plc.c [code] | SpanDSP - a series of DSP components for telephony
plc.h [code] | SpanDSP - a series of DSP components for telephony
poll-compat.h [code] |
poll.c [code] |
privacy.c [code] | Privacy Routines
privacy.h [code] | Persistant data storage (akin to *doze registry)
private.h [code] |
res_adsi.c [code] | ADSI support
res_agi.c [code] | AGI - the Asterisk Gateway Interface
res_config_odbc.c [code] | Odbc+odbc plugin for portable configuration engine
res_crypto.c [code] | Provide Cryptographic Signature capability
res_features.c [code] | Routines implementing call parking
res_indications.c [code] | Load the indications
res_monitor.c [code] | PBX channel monitoring
res_musiconhold.c [code] | Routines implementing music on hold
res_odbc.c [code] | ODBC resource manager
res_odbc.h [code] | ODBC resource manager
res_osp.c [code] | Provide Open Settlement Protocol capability
ring10.h [code] | Signed 16-bit audio data
rtp.c [code] | Supports RTP and RTCP with Symmetric RTP support for NAT traversal
rtp.h [code] | Supports RTP and RTCP with Symmetric RTP support for NAT traversal
say.c [code] | Say numbers and dates (maybe words one day too)
say.h [code] | Say numbers and dates (maybe words one day too)
sched.c [code] | Scheduler Routines (from cheops-NG)
sched.h [code] | Scheduler Routines (derived from cheops)
sha1.c [code] |
sha1.h [code] |
slin_adpcm_ex.h [code] | Slin_adpcm_ex.h --
slin_g723_ex.h [code] | Signed 16-bit audio data
slin_g726_ex.h [code] | Slin_adpcm_ex.h --
slin_gsm_ex.h [code] | Signed 16-bit audio data
slin_ilbc_ex.h [code] | Signed 16-bit audio data
slin_lpc10_ex.h [code] | Signed 16-bit audio data
slin_speex_ex.h [code] | Signed 16-bit audio data, 500ms of speech at 8kHz to ensure no DTX triggered
slin_ulaw_ex.h [code] | Slin_ulaw_ex.h --
slinfactory.c [code] | A machine to gather up arbitrary frames and convert them to raw slinear on demand
slinfactory.h [code] | A machine to gather up arbitrary frames and convert them to raw slinear on demand
speex_slin_ex.h [code] | Random Data data
srv.c [code] | DNS SRV Record Lookup Support for Asterisk
srv.h [code] | Support for DNS SRV records, used in to locate SIP services
strcompat.c [code] |
strings.h [code] | String manipulation functions
tdd.c [code] | TTY/TDD Generation support
tdd.h [code] | TTY/TDD Generation support
term.c [code] | Terminal Routines
term.h [code] | Handy terminal functions for vt* terms
test.c [code] | Testing localtime functionality
time.h [code] | Time-related functions and macros
transcap.h [code] | General Asterisk channel transcoding definitions
translate.c [code] | Translate via the use of pseudo channels
translate.h [code] | Translate via the use of pseudo channels
tzfile.h [code] |
ulaw.c [code] | U-Law to Signed linear conversion
ulaw.h [code] | U-Law to Signed linear conversion
ulaw_slin_ex.h [code] | Ulaw_slin_ex.h --
unaligned.h [code] | Handle unaligned data access
utils.c [code] | Utility functions
utils.h [code] | Utility functions
vmodem.h [code] | Voice Modem Definitions