2 * Asterisk -- An open source telephony toolkit.
4 * Copyright (C) 1999 - 2005, Digium, Inc.
6 * Mark Spencer <markster@digium.com>
8 * See http://www.asterisk.org for more information about
9 * the Asterisk project. Please do not directly contact
10 * any of the maintainers of this project for assistance;
11 * the project provides a web site, mailing lists and IRC
12 * channels for your use.
14 * This program is free software, distributed under the terms of
15 * the GNU General Public License Version 2. See the LICENSE file
16 * at the top of the source tree.
19 /* \file This file generates Doxygen pages from files in the /doc
20 directory of the Asterisk source code tree
23 /* The following is for Doxygen Developer's documentation generated
24 * by running "make progdocs" with doxygen installed on your
27 /*! \page DevDoc Asterisk Developer's Documentation - appendices
28 * \arg \ref CodeGuide : The must-read document for all developer's
30 * \arg \ref Def_Channel : What's a channel, anyway?
31 * \arg \ref channel_drivers : Existing channel drivers
32 * \arg \ref AstDebug : Hints on debugging
33 * \arg \ref AstAMI : The Call management socket API
34 * \arg \ref AstARA : A generic data storage and retrieval API for Asterisk
35 * \arg \ref AstDUNDi : A way to find phone services dynamically by using the DUNDi protocol
39 * \arg \ref AstENUM : The IETF way to redirect from phone numbers to VoIP calls
41 * \arg \ref ConfigFiles
42 * \arg \ref SoundFiles included in the Asterisk distribution
43 * \arg \ref AstCREDITS : A Thank You to contributors
45 * \section weblinks Web sites
46 * \arg \b Main: Asterisk Developer's website http://www.asterisk.org/developers/
47 * \arg \b Bugs: The Issue tracker http://bugs.digium.com
48 * \arg \b Lists: List server http://lists.digium.com
49 * \arg \b Wiki: The Asterisk Wiki http://www.voip-info.org
50 * \arg \b Docs: The Asterisk Documentation Project http://www.asteriskdocs.org
51 * \arg \b Digium: The Asterisk company http://www.digium.com
55 /*! \page CodeGuide Coding Guidelines
56 * \section Coding Guidelines
57 * This file is in the /doc directory in your Asterisk source tree.
58 * Make sure to stay up to date with the latest guidelines.
59 * \verbinclude CODING-GUIDELINES
62 /*! \page AstAPI Asterisk API
63 * \section Asteriskapi Asterisk API
64 * Some generic documents on the Asterisk architecture
65 * \subsection model_txt Generic Model
66 * \verbinclude model.txt
67 * \subsection channel_txt Channels
68 * \arg See \ref Def_Channel
71 /*! \page AstDebug Debugging
72 * \section debug Debugging
73 * \verbinclude backtrace.txt
76 /*! \page AstAMI AMI - The Manager Interface
77 * \section ami AMI - The manager Interface
78 * \arg \link Config_ami Configuration file \endlink
80 * \verbinclude manager.txt
83 /*! \page AstARA ARA - The Asterisk Realtime Interface
84 * \section realtime ARA - a generic API to storage and retrieval
85 * Implemented in \ref config.c
86 * Implemented in \ref pbx_realtime.c
87 * \verbinclude realtime.txt
88 * \verbinclude extconfig.txt
91 /*! \page AstDUNDi DUNDi
92 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.
94 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.
97 \arg DUNDi is documented at http://www.dundi.com
98 \arg Implemented in \ref pbx_dundi.c and \ref dundi-parser.c
99 \arg Configuration in \link Config_dun dundi.conf \endlink
102 /*! \page AstCDR CDR - Call Data Records and billing
103 * \section cdr Call Data Records
106 * \arg \ref cdr_drivers
107 * \arg \ref Config_cdr CDR configuration files
109 * \verbinclude cdr.txt
112 /*! \page AstREADME README - the general administrator introduction
113 * \verbinclude README
116 /*! \page AstCREDITS CREDITS
117 * \verbinclude CREDITS
120 /*! \page AstVar Global channel variables
121 * \section globchan Global Channel Variables
122 * \verbinclude variables.txt
125 /*! \page AstENUM ENUM
126 * \section enumreadme ENUM
127 * \arg Configuration: \ref Config_enum
129 * \arg \ref func_enum.c
131 * \verbinclude enum.txt
134 /*! \page ConfigFiles Configuration files
135 * \section config Main configuration files
136 * \arg \link Config_ast asterisk.conf - the main configuration file \endlink
137 * \arg \link Config_ext extensions.conf - The Dial Plan \endlink
138 * \arg \link Config_mod modules.conf - which modules to load and not to load \endlink
139 * \arg \link Config_fea features.conf - call features (transfer, parking, etc) \endlink
140 * \section chanconf Channel configuration files
141 * \arg \link Config_iax IAX2 configuration \endlink
142 * \arg \link Config_sip SIP configuration \endlink
143 * \arg \link Config_mgcp MGCP configuration \endlink
144 * \arg \link Config_rtp RTP configuration \endlink
145 * \arg \link Config_zap Zaptel configuration \endlink
146 * \arg \link Config_oss OSS (sound card) configuration \endlink
147 * \arg \link Config_alsa ALSA (sound card) configuration \endlink
148 * \arg \link Config_agent Agent (proxy channel) configuration \endlink
149 * \arg \link Config_misdn MISDN Experimental ISDN BRI channel configuration \endlink
150 * \arg \link Config_h323 H.323 configuration \endlink
151 * \section appconf Application configuration files
152 * \arg \link Config_mm Meetme (conference bridge) configuration \endlink
153 * \arg \link Config_qu Queue system configuration \endlink
154 * \arg \link Config_vm Voicemail configuration \endlink
155 * \section cdrconf CDR configuration files
156 * \arg \link Config_cdr CDR configuration \endlink
157 * \arg \link cdr_custom Custom CDR driver configuration \endlink
158 * \arg \link cdr_ami Manager CDR driver configuration \endlink
159 * \arg \link cdr_odbc ODBC CDR driver configuration \endlink
160 * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink
161 * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink
162 * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink
163 * \section miscconf Miscellenaous configuration files
164 * \arg \link Config_adsi ADSI configuration \endlink
165 * \arg \link Config_ami AMI - Manager configuration \endlink
166 * \arg \link Config_ara Realtime configuration \endlink
167 * \arg \link Config_codec Codec configuration \endlink
168 * \arg \link Config_dun DUNDi configuration \endlink
169 * \arg \link Config_enum ENUM configuration \endlink
170 * \arg \link Config_moh Music on Hold configuration \endlink
171 * \arg \link Config_vm Voicemail configuration \endlink
174 /*! \page Config_ast Asterisk.conf
175 * \verbinclude asterisk-conf.txt
177 /*! \page Config_mod Modules configuration
178 * All res_ resource modules are loaded with globals on, which means
179 * that non-static functions are callable from other modules.
181 * If you want your non res_* module to export functions to other modules
182 * you have to include it in the [global] section.
183 * \verbinclude modules.conf.sample
186 /*! \page Config_fea Call features configuration
188 * \arg \ref res_features.c : Call feature implementation
189 * \section featconf features.conf
190 * \verbinclude features.conf.sample
193 /*! \page Config_ext Extensions.conf - the Dial Plan
194 * \section dialplan Extensions.conf
195 * \verbinclude extensions.conf.sample
198 /*! \page Config_iax IAX2 configuration
199 * IAX2 is implemented in \ref chan_iax2.c
200 * \arg \link Config_iax iax.conf Configuration file example \endlink
201 * \section iaxreadme IAX readme file
202 * \verbinclude iax.txt
203 * \section Config_iax IAX Configuration example
204 * \verbinclude iax.conf.sample
205 * \section iaxjitter IAX Jitterbuffer information
206 * \verbinclude jitterbuffer.txt
209 /*! \page Config_iax IAX configuration
210 * \arg Implemented in \ref chan_iax2.c
211 * \section iaxconf iax.conf
212 * \verbinclude iax.conf.sample
215 /*! \page Config_sip SIP configuration
216 * Also see \ref Config_rtp RTP configuration
217 * \arg Implemented in \ref chan_sip.c
218 * \section sipconf sip.conf
219 * \verbinclude sip.conf.sample
221 * \arg \b Back \ref chanconf
224 /*! \page Config_mgcp MGCP configuration
225 * Also see \ref Config_rtp RTP configuration
226 * \arg Implemented in \ref chan_mgcp.c
227 * \section mgcpconf mgcp.conf
228 * \verbinclude mgcp.conf.sample
231 /*! \page Config_misdn MISDN configuration
232 * \arg Implemented in \ref chan_misdn.c
233 * \section misdnconf misdn.conf
234 * \verbinclude misdn.conf.sample
237 /*! \page Config_vm VoiceMail configuration
238 * \section vmconf voicemail.conf
239 * \arg Implemented in \ref app_voicemail.c
240 * \verbinclude voicemail.conf.sample
243 /*! \page Config_zap Zaptel configuration
244 * \section zapconf zapata.conf
245 * \arg Implemented in \ref chan_zap.c
246 * \verbinclude zapata.conf.sample
249 /*! \page Config_h323 H.323 channel driver information
250 * This is the configuration of the H.323 channel driver within the Asterisk
251 * distribution. There's another one, called OH323, in asterisk-addons
252 * \arg Implemented in \ref chan_h323.c
253 * \section h323conf h323.conf
255 * \verbinclude h323.txt
258 /*! \page Config_oss OSS configuration
259 * \section ossconf oss.conf
260 * \arg Implemented in \ref chan_oss.c
261 * \verbinclude oss.conf.sample
264 /*! \page Config_alsa ALSA configuration
265 * \section alsaconf alsa.conf
266 * \arg Implemented in \ref chan_alsa.c
267 * \verbinclude alsa.conf.sample
270 /*! \page Config_agent Agent configuration
271 * \section agentconf agents.conf
272 * The agent channel is a proxy channel for queues
273 * \arg Implemented in \ref chan_agent.c
274 * \verbinclude agents.conf.sample
277 /*! \page Config_rtp RTP configuration
278 * \arg Implemented in \ref rtp.c
279 * Used in \ref chan_sip.c and \ref chan_mgcp.c (and various H.323 channels)
280 * \section rtpconf rtp.conf
281 * \verbinclude rtp.conf.sample
284 /*! \page Config_dun DUNDi Configuration
285 * \arg See also \ref AstDUNDi
286 * \section dundiconf dundi.conf
287 * \verbinclude dundi.conf.sample
290 /*! \page Config_enum ENUM Configuration
291 * \section enumconf enum.conf
292 * \arg See also \ref enumreadme
293 * \arg Implemented in \ref func_enum.c and \ref enum.c
294 * \verbinclude enum.conf.sample
297 /*! \page cdr_custom Custom CDR Configuration
300 * \arg \ref cdr_custom.c
301 * \verbinclude cdr_custom.conf.sample
304 /*! \page cdr_ami Manager CDR driver configuration
308 * \arg \ref cdr_manager.c
309 * \verbinclude cdr_manager.conf.sample
312 /*! \page cdr_odbc ODBC CDR driver configuration
313 * \arg See also \ref cdrconf
314 * \arg \ref cdr_odbc.c
315 * \verbinclude cdr_odbc.conf.sample
317 * \arg http://www.unixodbc.org
320 /*! \page cdr_pgsql PostgreSQL CDR driver configuration
321 * \arg See also \ref cdrconf
322 * \arg \ref cdr_pgsql.c
324 * \arg http://www.postgresql.org
325 * \verbinclude cdr_pgsql.conf.sample
328 /*! \page cdr_sqlite SQLite CDR driver configuration
329 * \arg See also \ref cdrconf
330 * \arg \ref cdr_sqlite.c
332 * \arg http://www.sqlite.org
335 /*! \page cdr_tds FreeTDS CDR driver configuration
336 * \arg See also \ref cdrconf
338 * \arg http://www.freetds.org
339 * \verbinclude cdr_tds.conf.sample
342 /*! \page Config_cdr CDR configuration
344 * \arg \ref cdr_drivers
345 * \arg \link Config_cdr CDR configuration \endlink
346 * \arg \link cdr_custom Custom CDR driver configuration \endlink
347 * \arg \link cdr_ami Manager CDR driver configuration \endlink
348 * \arg \link cdr_odbc ODBC CDR driver configuration \endlink
349 * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink
350 * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink
351 * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink
352 * \verbinclude cdr.conf.sample
355 /*! \page Config_moh Music on Hold Configuration
356 * \arg Implemented in \ref res_musiconhold.c
357 * \section mohconf musiconhold.conf
358 * \verbinclude musiconhold.conf.sample
361 /*! \page Config_adsi ADSI Configuration
362 * \section adsiconf adsi.conf
363 * \verbinclude adsi.conf.sample
366 /*! \page Config_codec CODEC Configuration
367 * \section codecsconf codecs.conf
368 * \verbinclude codecs.conf.sample
371 /*! \page Config_ara REALTIME Configuration
372 * \arg See also: \arg \link AstARA \endlink
373 * \section extconf extconfig.conf
374 * \verbinclude extconfig.conf.sample
377 /*! \page Config_ami AMI configuration
378 * \arg See also: \arg \link AstAMI \endlink
379 * \section amiconf manager.conf
380 * \verbinclude manager.conf.sample
383 /*! \page Config_qu ACD - Queue system configuration
384 * \arg Implemented in \ref app_queue.c
385 * \section quconf queues.conf
386 * \verbinclude queues.conf.sample
389 /*! \page Config_mm Meetme - The conference bridge configuration
390 * \arg Implemented in \ref app_meetme.c
391 * \section mmconf meetme.conf
392 * \verbinclude meetme.conf.sample
395 /*! \page SoundFiles Sound files
396 * \section SecSound Asterisk Sound files
397 * Asterisk includes a large amount of sound files. Many of these
398 * are used by applications and demo scripts within asterisk.
400 * Additional sound files are available in the asterisk-addons
401 * repository on cvs.digium.com
403 * \section SoundList List of included sound files
404 * \verbinclude sounds.txt
407 /*! \addtogroup cdr_drivers Module: CDR Drivers
408 * \section CDR_generic Asterisk CDR Drivers
409 * \brief CDR drivers are loaded dynamically (see \ref Config_mod "Modules Configuration"). Each loaded CDR driver produce a billing record for each call.
410 * \arg \ref Config_cdr "CDR Configuration"
414 /*! \addtogroup channel_drivers Module: Asterisk Channel Drivers
415 * \section channel_generic Asterisk Channel Drivers
416 * \brief Channel drivers are loaded dynamically (see \ref Config_mod "Modules Configuration").
419 /*! \addtogroup applications Module: Dial plan applications
420 * \section app_generic Asterisk Dial Plan Applications
421 * \brief Applications support the dialplan. They register dynamically with \ref ast_register_application() and unregister with ast_unregister_application()
423 * \arg \ref functions
427 /*! \addtogroup functions Module: Dial plan functions
428 * \section func_generic Asterisk Dial Plan Functions
429 * \brief Functions support the dialplan. They do not change any property of a channel
430 * or touch a channel in any way.
432 * \arg \ref applications
436 /*! \addtogroup codecs Module: Codecs
437 * \section codec_generic Asterisk Codec Modules
438 * Codecs are referenced in configuration files by name
444 /*! \addtogroup formats Module: Media File Formats
445 * \section codec_generic Asterisk Format drivers
446 * Formats are modules that read or write media files to disk.
451 /*! \page AstHTTP AMI over HTTP support
452 * The http.c file includes support for manager transactions over
454 * \section ami AMI - The manager Interface
455 * \arg \link Config_ami Configuration file \endlink
456 * \verbinclude http.txt