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 AstVideo 00040 * \arg \ref AstENUM : The IETF way to redirect from phone numbers to VoIP calls 00041 * \arg \ref AstHTTP 00042 * \arg \ref AstSpeech 00043 * \arg \ref DataStores 00044 * \arg \ref ConfigFiles 00045 * \arg \ref SoundFiles included in the Asterisk distribution 00046 * \arg \ref AstCREDITS : A Thank You to contributors 00047 \n\n 00048 * \section weblinks Web sites 00049 * \arg \b Main: Asterisk Developer's website http://www.asterisk.org/developers/ 00050 * \arg \b Bugs: The Issue tracker http://bugs.digium.com 00051 * \arg \b Lists: List server http://lists.digium.com 00052 * \arg \b Wiki: The Asterisk Wiki http://www.voip-info.org 00053 * \arg \b Docs: The Asterisk Documentation Project http://www.asteriskdocs.org 00054 * \arg \b Digium: The Asterisk company http://www.digium.com 00055 * 00056 */ 00057 00058 /*! \page CodeGuide Coding Guidelines 00059 * \section Coding Guidelines 00060 * This file is in the /doc directory in your Asterisk source tree. 00061 * Make sure to stay up to date with the latest guidelines. 00062 * \verbinclude CODING-GUIDELINES 00063 */ 00064 00065 /*! \page AstAPI Asterisk API 00066 * \section Asteriskapi Asterisk API 00067 * Some generic documents on the Asterisk architecture 00068 * \subsection model_txt Generic Model 00069 * \verbinclude model.txt 00070 * \subsection channel_txt Channels 00071 * \arg See \ref Def_Channel 00072 */ 00073 00074 /*! \page AstDebug Debugging 00075 * \section debug Debugging 00076 * \verbinclude backtrace.txt 00077 */ 00078 00079 /*! \page AstSpeech The Generic Speech Recognition API 00080 * \section debug The Generic Speech Recognition API 00081 * \verbinclude speechrec.txt 00082 */ 00083 00084 /*! \page DataStores Channel Data Stores 00085 * \section debug Channel Data Stores 00086 * \verbinclude datastores.txt 00087 */ 00088 00089 /*! \page AstAMI AMI - The Manager Interface 00090 * \section ami AMI - The manager Interface 00091 * \arg \link Config_ami Configuration file \endlink 00092 * \arg \ref manager.c 00093 * \verbinclude manager.txt 00094 */ 00095 00096 /*! \page AstARA ARA - The Asterisk Realtime Interface 00097 * \section realtime ARA - a generic API to storage and retrieval 00098 * Implemented in \ref config.c 00099 * Implemented in \ref pbx_realtime.c 00100 * \verbinclude realtime.txt 00101 * \verbinclude extconfig.txt 00102 */ 00103 00104 /*! \page AstDUNDi DUNDi 00105 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. 00106 00107 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. 00108 00109 \par References 00110 \arg DUNDi is documented at http://www.dundi.com 00111 \arg Implemented in \ref pbx_dundi.c and \ref dundi-parser.c 00112 \arg Configuration in \link Config_dun dundi.conf \endlink 00113 */ 00114 00115 /*! \page AstCDR CDR - Call Data Records and billing 00116 * \section cdr Call Data Records 00117 * \par See also 00118 * \arg \ref cdr.c 00119 * \arg \ref cdr_drivers 00120 * \arg \ref Config_cdr CDR configuration files 00121 * 00122 * \verbinclude cdrdriver.txt 00123 */ 00124 00125 /*! \page AstREADME README - the general administrator introduction 00126 * \verbinclude README 00127 */ 00128 00129 /*! \page AstCREDITS CREDITS 00130 * \verbinclude CREDITS 00131 */ 00132 00133 /*! \page AstVideo Video support in Asterisk 00134 * \section sectAstVideo Video support in Asterisk 00135 * \verbinclude video.txt 00136 */ 00137 00138 /*! \page AstVar Global channel variables 00139 * \section globchan Global Channel Variables 00140 * \verbinclude channelvariables.txt 00141 */ 00142 00143 /*! \page AstENUM ENUM 00144 * \section enumreadme ENUM 00145 * \arg Configuration: \ref Config_enum 00146 * \arg \ref enum.c 00147 * \arg \ref func_enum.c 00148 * 00149 * \verbinclude enum.txt 00150 */ 00151 00152 /*! \page ConfigFiles Configuration files 00153 * \section config Main configuration files 00154 * \arg \link Config_ast asterisk.conf - the main configuration file \endlink 00155 * \arg \link Config_ext extensions.conf - The Dial Plan \endlink 00156 * \arg \link Config_mod modules.conf - which modules to load and not to load \endlink 00157 * \arg \link Config_fea features.conf - call features (transfer, parking, etc) \endlink 00158 * \section chanconf Channel configuration files 00159 * \arg \link Config_iax IAX2 configuration \endlink 00160 * \arg \link Config_sip SIP configuration \endlink 00161 * \arg \link Config_mgcp MGCP configuration \endlink 00162 * \arg \link Config_rtp RTP configuration \endlink 00163 * \arg \link Config_zap Zaptel configuration \endlink 00164 * \arg \link Config_oss OSS (sound card) configuration \endlink 00165 * \arg \link Config_alsa ALSA (sound card) configuration \endlink 00166 * \arg \link Config_agent Agent (proxy channel) configuration \endlink 00167 * \arg \link Config_misdn MISDN Experimental ISDN BRI channel configuration \endlink 00168 * \arg \link Config_h323 H.323 configuration \endlink 00169 * \section appconf Application configuration files 00170 * \arg \link Config_mm Meetme (conference bridge) configuration \endlink 00171 * \arg \link Config_qu Queue system configuration \endlink 00172 * \arg \link Config_vm Voicemail configuration \endlink 00173 * \arg \link Config_followme Followme configuration \endlink 00174 * \section cdrconf CDR configuration files 00175 * \arg \link Config_cdr CDR configuration \endlink 00176 * \arg \link cdr_custom Custom CDR driver configuration \endlink 00177 * \arg \link cdr_ami Manager CDR driver configuration \endlink 00178 * \arg \link cdr_odbc ODBC CDR driver configuration \endlink 00179 * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink 00180 * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink 00181 * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink 00182 * \section miscconf Miscellenaous configuration files 00183 * \arg \link Config_adsi ADSI configuration \endlink 00184 * \arg \link Config_ami AMI - Manager configuration \endlink 00185 * \arg \link Config_ara Realtime configuration \endlink 00186 * \arg \link Config_codec Codec configuration \endlink 00187 * \arg \link Config_dun DUNDi configuration \endlink 00188 * \arg \link Config_enum ENUM configuration \endlink 00189 * \arg \link Config_moh Music on Hold configuration \endlink 00190 * \arg \link Config_vm Voicemail configuration \endlink 00191 */ 00192 00193 /*! \page Config_ast Asterisk.conf 00194 * \verbinclude asterisk-conf.txt 00195 */ 00196 /*! \page Config_mod Modules configuration 00197 * All res_ resource modules are loaded with globals on, which means 00198 * that non-static functions are callable from other modules. 00199 * 00200 * If you want your non res_* module to export functions to other modules 00201 * you have to include it in the [global] section. 00202 * \verbinclude modules.conf.sample 00203 */ 00204 00205 /*! \page Config_fea Call features configuration 00206 * \par See also 00207 * \arg \ref res_features.c : Call feature implementation 00208 * \section featconf features.conf 00209 * \verbinclude features.conf.sample 00210 */ 00211 00212 /*! \page Config_followme followme.conf 00213 * \section followmeconf Followme.conf 00214 * - See app_followme.c 00215 * \verbinclude followme.conf.sample 00216 */ 00217 00218 /*! \page Config_ext Extensions.conf - the Dial Plan 00219 * \section dialplan Extensions.conf 00220 * \verbinclude extensions.conf.sample 00221 */ 00222 00223 /*! \page Config_iax IAX2 configuration 00224 * IAX2 is implemented in \ref chan_iax2.c 00225 * \arg \link Config_iax iax.conf Configuration file example \endlink 00226 * \section iaxreadme IAX readme file 00227 * \verbinclude iax.txt 00228 * \section Config_iax IAX Configuration example 00229 * \verbinclude iax.conf.sample 00230 * \section iaxjitter IAX Jitterbuffer information 00231 * \verbinclude jitterbuffer.txt 00232 */ 00233 00234 /*! \page Config_iax IAX configuration 00235 * \arg Implemented in \ref chan_iax2.c 00236 * \section iaxconf iax.conf 00237 * \verbinclude iax.conf.sample 00238 */ 00239 00240 /*! \page Config_sip SIP configuration 00241 * Also see \ref Config_rtp RTP configuration 00242 * \arg Implemented in \ref chan_sip.c 00243 * \section sipconf sip.conf 00244 * \verbinclude sip.conf.sample 00245 * 00246 * \arg \b Back \ref chanconf 00247 */ 00248 00249 /*! \page Config_mgcp MGCP configuration 00250 * Also see \ref Config_rtp RTP configuration 00251 * \arg Implemented in \ref chan_mgcp.c 00252 * \section mgcpconf mgcp.conf 00253 * \verbinclude mgcp.conf.sample 00254 */ 00255 00256 /*! \page README_misdn MISDN documentation 00257 * \arg See \ref Config_misdn 00258 * \section mISDN configuration 00259 * \verbinclude misdn.txt 00260 */ 00261 00262 /*! \page Config_misdn MISDN configuration 00263 * \arg Implemented in \ref chan_misdn.c 00264 * \arg \ref README_misdn 00265 * \arg See the mISDN home page: http://www.isdn4linux.de/mISDN/ 00266 * \section misdnconf misdn.conf 00267 * \verbinclude misdn.conf.sample 00268 */ 00269 00270 /*! \page Config_vm VoiceMail configuration 00271 * \section vmconf voicemail.conf 00272 * \arg Implemented in \ref app_voicemail.c 00273 * \verbinclude voicemail.conf.sample 00274 */ 00275 00276 /*! \page Config_zap Zaptel configuration 00277 * \section zapconf chan_dahdi.conf 00278 * \arg Implemented in \ref chan_zap.c 00279 * \verbinclude chan_dahdi.conf.sample 00280 */ 00281 00282 /*! \page Config_h323 H.323 channel driver information 00283 * This is the configuration of the H.323 channel driver within the Asterisk 00284 * distribution. There's another one, called OH323, in asterisk-addons 00285 * \arg Implemented in \ref chan_h323.c 00286 * \section h323conf h323.conf 00287 * \ref chan_h323.c 00288 * \verbinclude h323.txt 00289 */ 00290 00291 /*! \page Config_oss OSS configuration 00292 * \section ossconf oss.conf 00293 * \arg Implemented in \ref chan_oss.c 00294 * \verbinclude oss.conf.sample 00295 */ 00296 00297 /*! \page Config_alsa ALSA configuration 00298 * \section alsaconf alsa.conf 00299 * \arg Implemented in \ref chan_alsa.c 00300 * \verbinclude alsa.conf.sample 00301 */ 00302 00303 /*! \page Config_agent Agent configuration 00304 * \section agentconf agents.conf 00305 * The agent channel is a proxy channel for queues 00306 * \arg Implemented in \ref chan_agent.c 00307 * \verbinclude agents.conf.sample 00308 */ 00309 00310 /*! \page Config_rtp RTP configuration 00311 * \arg Implemented in \ref rtp.c 00312 * Used in \ref chan_sip.c and \ref chan_mgcp.c (and various H.323 channels) 00313 * \section rtpconf rtp.conf 00314 * \verbinclude rtp.conf.sample 00315 */ 00316 00317 /*! \page Config_dun DUNDi Configuration 00318 * \arg See also \ref AstDUNDi 00319 * \section dundiconf dundi.conf 00320 * \verbinclude dundi.conf.sample 00321 */ 00322 00323 /*! \page Config_enum ENUM Configuration 00324 * \section enumconf enum.conf 00325 * \arg See also \ref enumreadme 00326 * \arg Implemented in \ref func_enum.c and \ref enum.c 00327 * \verbinclude enum.conf.sample 00328 */ 00329 00330 /*! \page cdr_custom Custom CDR Configuration 00331 * \par See also 00332 * \arg \ref cdrconf 00333 * \arg \ref cdr_custom.c 00334 * \verbinclude cdr_custom.conf.sample 00335 */ 00336 00337 /*! \page cdr_ami Manager CDR driver configuration 00338 * \par See also 00339 * \arg \ref cdrconf 00340 * \arg \ref AstAMI 00341 * \arg \ref cdr_manager.c 00342 * \verbinclude cdr_manager.conf.sample 00343 */ 00344 00345 /*! \page cdr_odbc ODBC CDR driver configuration 00346 * \arg See also \ref cdrconf 00347 * \arg \ref cdr_odbc.c 00348 * \verbinclude cdr_odbc.conf.sample 00349 * See also: 00350 * \arg http://www.unixodbc.org 00351 */ 00352 00353 /*! \page cdr_pgsql PostgreSQL CDR driver configuration 00354 * \arg See also \ref cdrconf 00355 * \arg \ref cdr_pgsql.c 00356 * See also: 00357 * \arg http://www.postgresql.org 00358 * \verbinclude cdr_pgsql.conf.sample 00359 */ 00360 00361 /*! \page cdr_sqlite SQLite CDR driver configuration 00362 * \arg See also \ref cdrconf 00363 * \arg \ref cdr_sqlite.c 00364 * See also: 00365 * \arg http://www.sqlite.org 00366 */ 00367 00368 /*! \page cdr_tds FreeTDS CDR driver configuration 00369 * \arg See also \ref cdrconf 00370 * See also: 00371 * \arg http://www.freetds.org 00372 * \verbinclude cdr_tds.conf.sample 00373 */ 00374 00375 /*! \page Config_cdr CDR configuration 00376 * \par See also 00377 * \arg \ref cdr_drivers 00378 * \arg \link Config_cdr CDR configuration \endlink 00379 * \arg \link cdr_custom Custom CDR driver configuration \endlink 00380 * \arg \link cdr_ami Manager CDR driver configuration \endlink 00381 * \arg \link cdr_odbc ODBC CDR driver configuration \endlink 00382 * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink 00383 * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink 00384 * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink 00385 * \verbinclude cdr.conf.sample 00386 */ 00387 00388 /*! \page Config_moh Music on Hold Configuration 00389 * \arg Implemented in \ref res_musiconhold.c 00390 * \section mohconf musiconhold.conf 00391 * \verbinclude musiconhold.conf.sample 00392 */ 00393 00394 /*! \page Config_adsi ADSI Configuration 00395 * \section adsiconf adsi.conf 00396 * \verbinclude adsi.conf.sample 00397 */ 00398 00399 /*! \page Config_codec CODEC Configuration 00400 * \section codecsconf codecs.conf 00401 * \verbinclude codecs.conf.sample 00402 */ 00403 00404 /*! \page Config_ara REALTIME Configuration 00405 * \arg See also: \arg \link AstARA \endlink 00406 * \section extconf extconfig.conf 00407 * \verbinclude extconfig.conf.sample 00408 */ 00409 00410 /*! \page Config_ami AMI configuration 00411 * \arg See also: \arg \link AstAMI \endlink 00412 * \section amiconf manager.conf 00413 * \verbinclude manager.conf.sample 00414 */ 00415 00416 /*! \page Config_qu ACD - Queue system configuration 00417 * \arg Implemented in \ref app_queue.c 00418 * \section quconf queues.conf 00419 * \verbinclude queues.conf.sample 00420 */ 00421 00422 /*! \page Config_mm Meetme - The conference bridge configuration 00423 * \arg Implemented in \ref app_meetme.c 00424 * \section mmconf meetme.conf 00425 * \verbinclude meetme.conf.sample 00426 */ 00427 00428 /*! \page SoundFiles Sound files 00429 * \section SecSound Asterisk Sound files 00430 * Asterisk includes a large number of sound files. Many of these 00431 * are used by applications and demo scripts within asterisk. 00432 * 00433 * Additional sound files are available in the asterisk-addons 00434 * repository on svn.digium.com 00435 */ 00436 00437 /*! \addtogroup cdr_drivers Module: CDR Drivers 00438 * \section CDR_generic Asterisk CDR Drivers 00439 * \brief CDR drivers are loaded dynamically (see \ref Config_mod "Modules Configuration"). Each loaded CDR driver produce a billing record for each call. 00440 * \arg \ref Config_cdr "CDR Configuration" 00441 */ 00442 00443 00444 /*! \addtogroup channel_drivers Module: Asterisk Channel Drivers 00445 * \section channel_generic Asterisk Channel Drivers 00446 * \brief Channel drivers are loaded dynamically (see \ref Config_mod "Modules Configuration"). 00447 */ 00448 00449 /*! \addtogroup applications Module: Dial plan applications 00450 * \section app_generic Asterisk Dial Plan Applications 00451 * \brief Applications support the dialplan. They register dynamically with \ref ast_register_application() and unregister with ast_unregister_application() 00452 * \par See also 00453 * \arg \ref functions 00454 * 00455 */ 00456 00457 /*! \addtogroup functions Module: Dial plan functions 00458 * \section func_generic Asterisk Dial Plan Functions 00459 * \brief Functions support the dialplan. They do not change any property of a channel 00460 * or touch a channel in any way. 00461 * \par See also 00462 * \arg \ref applications 00463 * 00464 */ 00465 00466 /*! \addtogroup codecs Module: Codecs 00467 * \section codec_generic Asterisk Codec Modules 00468 * Codecs are referenced in configuration files by name 00469 * \par See also 00470 * \arg \ref formats 00471 * 00472 */ 00473 00474 /*! \addtogroup formats Module: Media File Formats 00475 * \section codec_generic Asterisk Format drivers 00476 * Formats are modules that read or write media files to disk. 00477 * \par See also 00478 * \arg \ref codecs 00479 */ 00480 00481 /*! \page AstHTTP AMI over HTTP support 00482 * The http.c file includes support for manager transactions over 00483 * http. 00484 * \section ami AMI - The manager Interface 00485 * \arg \link Config_ami Configuration file \endlink 00486 * \verbinclude ajam.txt 00487 */ 00488 00489 /*! 00490 * \page Licensing Asterisk Licensing Information 00491 * 00492 * \section license Asterisk License 00493 * \verbinclude LICENSE 00494 * 00495 * \section otherlicenses Licensing of 3rd Party Code 00496 * 00497 * This section contains a (not yet complete) list of libraries that are used 00498 * by various parts of Asterisk, including related licensing information. 00499 * 00500 * \subsection alsa_lib ALSA Library 00501 * \arg <b>Library</b>: libasound 00502 * \arg <b>Website</b>: http://www.alsa-project.org 00503 * \arg <b>Used by</b>: chan_alsa 00504 * \arg <b>License</b>: LGPL 00505 * 00506 * \subsection openssl_lib OpenSSL 00507 * \arg <b>Library</b>: libcrypto, libssl 00508 * \arg <b>Website</b>: http://www.openssl.org 00509 * \arg <b>Used by</b>: Asterisk core (TLS for manager and HTTP), res_crypto 00510 * \arg <b>License</b>: Apache 2.0 00511 * \arg <b>Note</b>: An exception has been granted to allow linking of 00512 * OpenSSL with Asterisk. 00513 * 00514 * \subsection curl_lib Curl 00515 * \arg <b>Library</b>: libcurl 00516 * \arg <b>Website</b>: http://curl.haxx.se 00517 * \arg <b>Used by</b>: func_curl 00518 * \arg <b>License</b>: BSD 00519 * 00520 * \subsection rawlist Raw list of libraries that used by any part of Asterisk 00521 * \li c-client.a (app_voicemail with IMAP support) 00522 * \li libasound.so.2 00523 * \li libc.so.6 00524 * \li libcom_err.so.2 00525 * \li libcrypt.so.1 00526 * \li libcrypto.so.0.9.8 (chan_h323) 00527 * \li libcurl.so.4 00528 * \li libdl.so.2 00529 * \li libexpat.so (chan_h323) 00530 * \li libgcc_s.so (chan_h323) 00531 * \li libgcrypt.so.11 (chan_h323) 00532 * \li libgnutls.so.13 (chan_h323) 00533 * \li libgpg-error.so.0 (chan_h323) 00534 * \li libgssapi_krb5.so.2 00535 * \li libidn.so.11 00536 * \li libiksemel.so.3 00537 * \li libisdnnet.so 00538 * \li libk5crypto.so.3 00539 * \li libkeyutils.so.1 00540 * \li libkrb5.so.3 00541 * \li libkrb5support.so.0 00542 * \li liblber-2.4.so.2 (chan_h323) 00543 * \li libldap_r-2.4.so.2 (chan_h323) 00544 * \li libltdl.so.3 00545 * \li libm.so.6 00546 * \li libmISDN.so 00547 * \li libnbs.so.1 00548 * \li libncurses.so.5 00549 * \li libnetsnmp.so.15 00550 * \li libnetsnmpagent.so.15 00551 * \li libnetsnmphelpers.so.15 00552 * \li libnetsnmpmibs.so.15 00553 * \li libnsl.so.1 00554 * \li libodbc.so.1 00555 * \li libogg.so.0 00556 * \li libopenh323.so (chan_h323) 00557 * \li libperl.so.5.8 00558 * \li libpq.so.5 00559 * \li libpri.so.1.4 00560 * \li libpt.so (chan_h323) 00561 * \li libpthread.so.0 00562 * \li libradiusclient-ng.so.2 00563 * \li libresolv.so.2 (chan_h323) 00564 * \li libsasl2.so.2 (chan_h323) 00565 * \li libsensors.so.3 00566 * \li libspeex.so.1 00567 * \li libsqlite.so.0 00568 * \li libssl.so.0.9.8 (chan_h323) 00569 * \li libstdc++.so (chan_h323, chan_vpb) 00570 * \li libsuppserv.so 00571 * \li libsysfs.so.2 00572 * \li libtasn1.so.3 (chan_h323) 00573 * \li libtds.so.4 00574 * \li libtonezone.so.1.0 00575 * \li libvorbis.so.0 00576 * \li libvorbisenc.so.2 00577 * \li libvpb.a (chan_vpb) 00578 * \li libwrap.so.0 00579 * \li libz.so.1 (chan_h323) 00580 */