00001 /* 00002 * Asterisk -- An open source telephony toolkit. 00003 * 00004 * Copyright (C) 1999 - 2005, Digium, Inc. 00005 * 00006 * Mark Spencer <markster@digium.com> 00007 * 00008 * See http://www.asterisk.org for more information about 00009 * the Asterisk project. Please do not directly contact 00010 * any of the maintainers of this project for assistance; 00011 * the project provides a web site, mailing lists and IRC 00012 * channels for your use. 00013 * 00014 * This program is free software, distributed under the terms of 00015 * the GNU General Public License Version 2. See the LICENSE file 00016 * at the top of the source tree. 00017 */ 00018 00019 /* \file This file generates Doxygen pages from files in the /doc 00020 directory of the Asterisk source code tree 00021 */ 00022 00023 /* The following is for Doxygen Developer's documentation generated 00024 * by running "make progdocs" with doxygen installed on your 00025 * system. 00026 */ 00027 /*! \page DevDoc Asterisk Developer's Documentation - appendices 00028 * \arg \ref CodeGuide : The must-read document for all developer's 00029 * \arg \ref AstAPI 00030 * \arg \ref Def_Channel : What's a channel, anyway? 00031 * \arg \ref channel_drivers : Existing channel drivers 00032 * \arg \ref AstDebug : Hints on debugging 00033 * \arg \ref AstAMI : The Call management socket API 00034 * \arg \ref AstARA : A generic data storage and retrieval API for Asterisk 00035 * \arg \ref AstDUNDi : A way to find phone services dynamically by using the DUNDi protocol 00036 * \arg \ref AstCDR 00037 * \arg \ref AstREADME 00038 * \arg \ref AstVar 00039 * \arg \ref AstENUM : The IETF way to redirect from phone numbers to VoIP calls 00040 * \arg \ref ConfigFiles 00041 * \arg \ref SoundFiles included in the Asterisk distribution 00042 * \arg \ref AstCREDITS : A Thank You to contributors 00043 \n\n 00044 * \section weblinks Web sites 00045 * \arg \b Main: Asterisk Developer's website http://www.asterisk.org/developers/ 00046 * \arg \b Bugs: The Issue tracker http://bugs.digium.com 00047 * \arg \b Lists: List server http://lists.digium.com 00048 * \arg \b Wiki: The Asterisk Wiki http://www.voip-info.org 00049 * \arg \b Docs: The Asterisk Documentation Project http://www.asteriskdocs.org 00050 * \arg \b Digium: The Asterisk company http://www.digium.com 00051 * 00052 */ 00053 00054 /*! \page CodeGuide Coding Guidelines 00055 * \section Coding Guidelines 00056 * This file is in the /doc directory in your Asterisk source tree. 00057 * Make sure to stay up to date with the latest guidelines. 00058 * \verbinclude CODING-GUIDELINES 00059 */ 00060 00061 /*! \page AstAPI Asterisk API 00062 * \section Asteriskapi Asterisk API 00063 * Some generic documents on the Asterisk architecture 00064 * \subsection model_txt Generic Model 00065 * \verbinclude model.txt 00066 * \subsection channel_txt Channels 00067 * \arg See \link Def_Channel 00068 * \verbinclude channel.txt 00069 */ 00070 00071 /*! \page AstDebug Debugging 00072 * \section debug Debugging 00073 * \verbinclude README.backtrace 00074 */ 00075 00076 /*! \page AstAMI AMI - The Manager Interface 00077 * \section ami AMI - The manager Interface 00078 * \arg \link Config_ami Configuration file \endlink 00079 * \arg \ref manager.c 00080 * \verbinclude manager.txt 00081 */ 00082 00083 /*! \page AstARA ARA - The Asterisk Realtime Interface 00084 * \section realtime ARA - a generic API to storage and retrieval 00085 * Implemented in \ref config.c 00086 * Implemented in \ref pbx_realtime.c 00087 * \verbinclude README.realtime 00088 * \verbinclude README.extconfig 00089 */ 00090 00091 /*! \page AstDUNDi DUNDi 00092 DUNDi is a peer-to-peer system for locating Internet gateways to telephony services. Unlike traditional centralized services (such as the remarkably simple and concise ENUM standard), DUNDi is fully-distributed with no centralized authority whatsoever. 00093 00094 DUNDi is not itself a Voice-over IP signaling or media protocol. Instead, it publishes routes which are in turn accessed via industry standard protocols such as IAX, SIP and H.323. 00095 00096 \par References 00097 \arg DUNDi is documented at http://www.dundi.com 00098 \arg Implemented in \ref pbx_dundi.c and \ref dundi-parser.c 00099 \arg Configuration in \link Config_dun dundi.conf \endlink 00100 */ 00101 00102 /*! \page AstCDR CDR - Call Data Records and billing 00103 * \section cdr Call Data Records 00104 * \par See also 00105 * \arg \ref cdr.c 00106 * \arg \ref cdr_drivers 00107 * \arg \ref Config_cdr CDR configuration files 00108 * 00109 * \verbinclude README.cdr 00110 */ 00111 00112 /*! \page AstREADME README - the general administrator introduction 00113 * \verbinclude README 00114 */ 00115 00116 /*! \page AstCREDITS CREDITS 00117 * \verbinclude CREDITS 00118 */ 00119 00120 /*! \page AstVar Global channel variables 00121 * \section globchan Global Channel Variables 00122 * \verbinclude README.variables 00123 */ 00124 00125 /*! \page AstENUM ENUM 00126 * \section enumreadme ENUM 00127 * \arg Configuration: \ref Config_enum 00128 * \arg \ref enum.c 00129 * \arg \ref app_enumlookup.c 00130 * 00131 * \verbinclude README.enum 00132 */ 00133 00134 /*! \page ConfigFiles Configuration files 00135 * \section config Main configuration files 00136 * \arg \link Config_ast asterisk.conf - the main configuration file \endlink 00137 * \arg \link Config_ext extensions.conf - The Dial Plan \endlink 00138 * \arg \link Config_mod modules.conf - which modules to load and not to load \endlink 00139 * \arg \link Config_fea features.conf - call features (transfer, parking, etc) \endlink 00140 * \section chanconf Channel configuration files 00141 * \arg \link Config_iax IAX2 configuration \endlink 00142 * \arg \link Config_sip SIP configuration \endlink 00143 * \arg \link Config_mgcp MGCP configuration \endlink 00144 * \arg \link Config_rtp RTP configuration \endlink 00145 * \arg \link Config_zap Zaptel configuration \endlink 00146 * \arg \link Config_oss OSS (sound card) configuration \endlink 00147 * \arg \link Config_alsa ALSA (sound card) configuration \endlink 00148 * \arg \link Config_agent Agent (proxy channel) configuration \endlink 00149 * \arg \link Config_misdn MISDN Experimental ISDN BRI channel configuration \endlink 00150 * \arg \link Config_h323 H.323 configuration \endlink 00151 * \section appconf Application configuration files 00152 * \arg \link Config_mm Meetme (conference bridge) configuration \endlink 00153 * \arg \link Config_qu Queue system configuration \endlink 00154 * \arg \link Config_vm Voicemail configuration \endlink 00155 * \section cdrconf CDR configuration files 00156 * \arg \link Config_cdr CDR configuration \endlink 00157 * \arg \link cdr_custom Custom CDR driver configuration \endlink 00158 * \arg \link cdr_ami Manager CDR driver configuration \endlink 00159 * \arg \link cdr_odbc ODBC CDR driver configuration \endlink 00160 * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink 00161 * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink 00162 * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink 00163 * \section miscconf Miscellenaous configuration files 00164 * \arg \link Config_adsi ADSI configuration \endlink 00165 * \arg \link Config_ami AMI - Manager configuration \endlink 00166 * \arg \link Config_ara Realtime configuration \endlink 00167 * \arg \link Config_codec Codec configuration \endlink 00168 * \arg \link Config_dun DUNDi configuration \endlink 00169 * \arg \link Config_enum ENUM configuration \endlink 00170 * \arg \link Config_moh Music on Hold configuration \endlink 00171 * \arg \link Config_vm Voicemail configuration \endlink 00172 */ 00173 00174 /*! \page Config_ast Asterisk.conf 00175 * \verbinclude README.asterisk.conf 00176 */ 00177 /*! \page Config_mod Modules configuration 00178 * All res_ resource modules are loaded with globals on, which means 00179 * that non-static functions are callable from other modules. 00180 * 00181 * If you want your non res_* module to export functions to other modules 00182 * you have to include it in the [global] section. 00183 * \verbinclude modules.conf.sample 00184 */ 00185 00186 /*! \page Config_fea Call features configuration 00187 * \par See also 00188 * \arg \ref res_features.c : Call feature implementation 00189 * \section featconf features.conf 00190 * \verbinclude features.conf.sample 00191 */ 00192 00193 /*! \page Config_ext Extensions.conf - the Dial Plan 00194 * \section dialplan Extensions.conf 00195 * \verbinclude extensions.conf.sample 00196 */ 00197 00198 /*! \page Config_iax IAX2 configuration 00199 * IAX2 is implemented in \ref chan_iax2.c 00200 * \arg \link Config_iax iax.conf Configuration file example \endlink 00201 * \section iaxreadme IAX readme file 00202 * \verbinclude README.iax 00203 * \section Config_iax IAX Configuration example 00204 * \verbinclude iax.conf.sample 00205 * \section iaxjitter IAX Jitterbuffer information 00206 * \verbinclude README.jitterbuffer 00207 */ 00208 00209 /*! \page Config_iax IAX configuration 00210 * \arg Implemented in \ref chan_iax2.c 00211 * \section iaxconf iax.conf 00212 * \verbinclude iax.conf.sample 00213 */ 00214 00215 /*! \page Config_sip SIP configuration 00216 * Also see \ref Config_rtp RTP configuration 00217 * \arg Implemented in \ref chan_sip.c 00218 * \section sipconf sip.conf 00219 * \verbinclude sip.conf.sample 00220 * 00221 * \arg \b Back \ref chanconf 00222 */ 00223 00224 /*! \page Config_mgcp MGCP configuration 00225 * Also see \ref Config_rtp RTP configuration 00226 * \arg Implemented in \ref chan_mgcp.c 00227 * \section mgcpconf mgcp.conf 00228 * \verbinclude mgcp.conf.sample 00229 */ 00230 00231 /*! \page Config_misdn MISDN configuration 00232 * \arg Implemented in \ref chan_misdn.c 00233 * \section misdnconf misdn.conf 00234 * \verbinclude misdn.conf.sample 00235 */ 00236 00237 /*! \page Config_vm VoiceMail configuration 00238 * \section vmconf voicemail.conf 00239 * \arg Implemented in \ref app_voicemail.c 00240 * \verbinclude voicemail.conf.sample 00241 */ 00242 00243 /*! \page Config_zap Zaptel configuration 00244 * \section zapconf zapata.conf 00245 * \arg Implemented in \ref chan_zap.c 00246 * \verbinclude zapata.conf.sample 00247 */ 00248 00249 /*! \page Config_h323 H.323 channel driver information 00250 * This is the configuration of the H.323 channel driver within the Asterisk 00251 * distribution. There's another one, called OH323, in asterisk-addons 00252 * \arg Implemented in \ref chan_h323.c 00253 * \section h323conf h323.conf 00254 * \ref chan_h323.c 00255 * \verbinclude README.h323 00256 */ 00257 00258 /*! \page Config_oss OSS configuration 00259 * \section ossconf oss.conf 00260 * \arg Implemented in \ref chan_oss.c 00261 * \verbinclude oss.conf.sample 00262 */ 00263 00264 /*! \page Config_alsa ALSA configuration 00265 * \section alsaconf alsa.conf 00266 * \arg Implemented in \ref chan_alsa.c 00267 * \verbinclude alsa.conf.sample 00268 */ 00269 00270 /*! \page Config_agent Agent configuration 00271 * \section agentconf agents.conf 00272 * The agent channel is a proxy channel for queues 00273 * \arg Implemented in \ref chan_agent.c 00274 * \verbinclude agents.conf.sample 00275 */ 00276 00277 /*! \page Config_rtp RTP configuration 00278 * \arg Implemented in \ref rtp.c 00279 * Used in \ref chan_sip.c and \ref chan_mgcp.c (and various H.323 channels) 00280 * \section rtpconf rtp.conf 00281 * \verbinclude rtp.conf.sample 00282 */ 00283 00284 /*! \page Config_dun DUNDi Configuration 00285 * \arg See also \ref AstDUNDi 00286 * \section dundiconf dundi.conf 00287 * \verbinclude dundi.conf.sample 00288 */ 00289 00290 /*! \page Config_enum ENUM Configuration 00291 * \section enumconf enum.conf 00292 * \arg See also \ref enumreadme 00293 * \arg Implemented in \ref app_enumlookup.c and \ref enum.c 00294 * \verbinclude enum.conf.sample 00295 */ 00296 00297 /*! \page cdr_custom Custom CDR Configuration 00298 * \par See also 00299 * \arg \ref cdrconf 00300 * \arg \ref cdr_custom.c 00301 * \verbinclude cdr_custom.conf.sample 00302 */ 00303 00304 /*! \page cdr_ami Manager CDR driver configuration 00305 * \par See also 00306 * \arg \ref cdrconf 00307 * \arg \ref AstAMI 00308 * \arg \ref cdr_manager.c 00309 * \verbinclude cdr_manager.conf.sample 00310 */ 00311 00312 /*! \page cdr_odbc ODBC CDR driver configuration 00313 * \arg See also \ref cdrconf 00314 * \arg \ref cdr_odbc.c 00315 * \verbinclude cdr_odbc.conf.sample 00316 * See also: 00317 * \arg http://www.unixodbc.org 00318 */ 00319 00320 /*! \page cdr_pgsql PostgreSQL CDR driver configuration 00321 * \arg See also \ref cdrconf 00322 * \arg \ref cdr_pgsql.c 00323 * See also: 00324 * \arg http://www.postgresql.org 00325 * \verbinclude cdr_pgsql.conf.sample 00326 */ 00327 00328 /*! \page cdr_sqlite SQLite CDR driver configuration 00329 * \arg See also \ref cdrconf 00330 * \arg \ref cdr_sqlite.c 00331 * See also: 00332 * \arg http://www.sqlite.org 00333 */ 00334 00335 /*! \page cdr_tds FreeTDS CDR driver configuration 00336 * \arg See also \ref cdrconf 00337 * See also: 00338 * \arg http://www.freetds.org 00339 * \verbinclude cdr_tds.conf.sample 00340 */ 00341 00342 /*! \page Config_cdr CDR configuration 00343 * \par See also 00344 * \arg \ref cdr_drivers 00345 * \arg \link Config_cdr CDR configuration \endlink 00346 * \arg \link cdr_custom Custom CDR driver configuration \endlink 00347 * \arg \link cdr_ami Manager CDR driver configuration \endlink 00348 * \arg \link cdr_odbc ODBC CDR driver configuration \endlink 00349 * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink 00350 * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink 00351 * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink 00352 * \verbinclude cdr.conf.sample 00353 */ 00354 00355 /*! \page Config_moh Music on Hold Configuration 00356 * \arg Implemented in \ref res_musiconhold.c 00357 * \section mohconf musiconhold.conf 00358 * \verbinclude musiconhold.conf.sample 00359 */ 00360 00361 /*! \page Config_adsi ADSI Configuration 00362 * \section adsiconf adsi.conf 00363 * \verbinclude adsi.conf.sample 00364 */ 00365 00366 /*! \page Config_codec CODEC Configuration 00367 * \section codecsconf codecs.conf 00368 * \verbinclude codecs.conf.sample 00369 */ 00370 00371 /*! \page Config_ara REALTIME Configuration 00372 * \arg See also: \arg \link AstARA \endlink 00373 * \section extconf extconfig.conf 00374 * \verbinclude extconfig.conf.sample 00375 */ 00376 00377 /*! \page Config_ami AMI configuration 00378 * \arg See also: \arg \link AstAMI \endlink 00379 * \section amiconf manager.conf 00380 * \verbinclude manager.conf.sample 00381 */ 00382 00383 /*! \page Config_qu ACD - Queue system configuration 00384 * \arg Implemented in \ref app_queue.c 00385 * \section quconf queues.conf 00386 * \verbinclude queues.conf.sample 00387 */ 00388 00389 /*! \page Config_mm Meetme - The conference bridge configuration 00390 * \arg Implemented in \ref app_meetme.c 00391 * \section mmconf meetme.conf 00392 * \verbinclude meetme.conf.sample 00393 */ 00394 00395 /*! \page SoundFiles Sound files 00396 * \section SecSound Asterisk Sound files 00397 * Asterisk includes a large amount of sound files. Many of these 00398 * are used by applications and demo scripts within asterisk. 00399 * 00400 * Additional sound files are available in the asterisk-addons 00401 * repository on cvs.digium.com 00402 * 00403 * \section SoundList List of included sound files 00404 * \verbinclude sounds.txt 00405 */ 00406 00407 /*! \addtogroup cdr_drivers Module: CDR Drivers 00408 * \section CDR_generic Asterisk CDR Drivers 00409 * \brief CDR drivers are loaded dynamically (see \ref Config_mod "Modules Configuration"). Each loaded CDR driver produce a billing record for each call. 00410 * \arg \ref Config_cdr "CDR Configuration" 00411 */ 00412 00413 00414 /*! \addtogroup channel_drivers Module: Asterisk Channel Drivers 00415 * \section channel_generic Asterisk Channel Drivers 00416 * \brief Channel drivers are loaded dynamically (see \ref Config_mod "Modules Configuration"). 00417 */ 00418 00419 /*! \addtogroup applications Module: Dial plan applications 00420 * \section app_generic Asterisk Dial Plan Applications 00421 * \brief Applications support the dialplan. They register dynamically with \ref ast_register_application() and unregister with ast_unregister_application() 00422 * \par See also 00423 * \arg \ref functions 00424 * 00425 */ 00426 00427 /*! \addtogroup functions Module: Dial plan functions 00428 * \section func_generic Asterisk Dial Plan Functions 00429 * \brief Functions support the dialplan. They do not change any property of a channel 00430 * or touch a channel in any way. 00431 * \par See also 00432 * \arg \ref applications 00433 * 00434 */ 00435 00436 /*! \addtogroup codecs Module: Codecs 00437 * \section codec_generic Asterisk Codec Modules 00438 * Codecs are referenced in configuration files by name 00439 * \par See also 00440 * \arg \ref formats 00441 * 00442 */ 00443 00444 /*! \addtogroup formats Module: Media File Formats 00445 * \section codec_generic Asterisk Format drivers 00446 * Formats are modules that read or write media files to disk. 00447 * \par See also 00448 * \arg \ref codecs 00449 */