- Doxygen additions
[asterisk/asterisk.git] / include / asterisk / doxyref.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2005, Digium, Inc.
5  *
6  * Mark Spencer <markster@digium.com>
7  *
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.
13  *
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.
17  */
18
19 /* \file This file generates Doxygen pages from files in the /doc
20  directory of the Asterisk source code tree 
21  */
22
23 /* The following is for Doxygen Developer's documentation generated
24  * by running "make progdocs" with doxygen installed on your
25  * system.
26  */
27 /*! \page DevDoc Asterisk Developer's Documentation - appendices
28  *  \arg \ref CodeGuide : The must-read document for all developer's
29  *  \arg \ref AstAPI
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
36  *  \arg \ref AstCDR
37  *  \arg \ref AstREADME
38  *  \arg \ref AstVar
39  *  \arg \ref AstENUM : The IETF way to redirect from phone numbers to VoIP calls
40  *  \arg \ref AstHTTP
41  *  \arg \ref ConfigFiles
42  *  \arg \ref SoundFiles included in the Asterisk distribution
43  *  \arg \ref AstCREDITS : A Thank You to contributors
44  \n\n
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
52  *
53  */
54
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
60  */
61
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
69  */
70
71 /*! \page AstDebug Debugging
72  *  \section debug Debugging
73  *  \verbinclude backtrace.txt
74  */
75
76 /*! \page AstAMI AMI - The Manager Interface
77  *  \section ami AMI - The manager Interface
78  *  \arg \link Config_ami Configuration file \endlink
79  * \arg \ref manager.c
80  *  \verbinclude manager.txt
81  */
82
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
89  */
90
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.
93
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. 
95
96         \par References
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
100  */
101
102 /*! \page AstCDR CDR - Call Data Records and billing
103  * \section cdr Call Data Records
104  * \par See also
105  * \arg \ref cdr.c
106  * \arg \ref cdr_drivers
107  * \arg \ref Config_cdr CDR configuration files
108  *
109  *  \verbinclude cdr.txt
110  */
111
112 /*! \page AstREADME README - the general administrator introduction
113  *  \verbinclude README
114  */
115  
116 /*! \page AstCREDITS CREDITS
117  *  \verbinclude CREDITS
118  */
119
120 /*! \page AstVar Global channel variables
121  * \section globchan Global Channel Variables
122  *  \verbinclude variables.txt
123  */
124
125 /*! \page AstENUM ENUM
126  * \section enumreadme ENUM
127  * \arg Configuration: \ref Config_enum
128  * \arg \ref enum.c
129  * \arg \ref func_enum.c
130  *
131  * \verbinclude enum.txt
132  */
133
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
172  */
173
174 /*! \page Config_ast Asterisk.conf
175  * \verbinclude asterisk-conf.txt
176  */
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.
180  *
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
184  */
185
186 /*! \page Config_fea Call features configuration
187  * \par See also
188  * \arg \ref res_features.c : Call feature implementation
189  * \section featconf features.conf
190  * \verbinclude features.conf.sample
191  */
192
193 /*! \page Config_ext Extensions.conf - the Dial Plan
194  * \section dialplan Extensions.conf 
195  * \verbinclude extensions.conf.sample
196  */
197
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
207  */
208
209 /*! \page Config_iax IAX configuration
210  * \arg Implemented in \ref chan_iax2.c
211  * \section iaxconf iax.conf
212  * \verbinclude iax.conf.sample
213  */
214
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
220  *
221  * \arg \b Back \ref chanconf
222  */
223
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
229  */
230
231 /*! \page Config_misdn MISDN configuration
232  * \arg Implemented in \ref chan_misdn.c
233  * \section misdnconf misdn.conf
234  * \verbinclude misdn.conf.sample
235  */
236
237 /*! \page Config_vm VoiceMail configuration
238  * \section vmconf voicemail.conf
239  * \arg Implemented in \ref app_voicemail.c
240  * \verbinclude voicemail.conf.sample
241  */
242
243 /*! \page Config_zap Zaptel configuration
244  * \section zapconf zapata.conf
245  * \arg Implemented in \ref chan_zap.c
246  * \verbinclude zapata.conf.sample
247  */
248
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
254  * \ref chan_h323.c
255  * \verbinclude h323.txt
256  */
257
258 /*! \page Config_oss OSS configuration
259  * \section ossconf oss.conf
260  * \arg Implemented in \ref chan_oss.c
261  * \verbinclude oss.conf.sample
262  */
263
264 /*! \page Config_alsa ALSA configuration
265  * \section alsaconf alsa.conf
266  * \arg Implemented in \ref chan_alsa.c
267  * \verbinclude alsa.conf.sample
268  */
269
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
275  */
276
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
282  */
283
284 /*! \page Config_dun DUNDi Configuration
285  * \arg See also \ref AstDUNDi
286  * \section dundiconf dundi.conf
287  * \verbinclude dundi.conf.sample
288  */
289
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
295  */
296
297 /*! \page cdr_custom Custom CDR Configuration
298  * \par See also 
299  * \arg \ref cdrconf
300  * \arg \ref cdr_custom.c
301  * \verbinclude cdr_custom.conf.sample
302  */
303
304 /*! \page cdr_ami Manager CDR driver configuration
305  * \par See also 
306  * \arg \ref cdrconf
307  * \arg \ref AstAMI
308  * \arg \ref cdr_manager.c
309  * \verbinclude cdr_manager.conf.sample
310  */
311
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
316  * See also:
317  * \arg http://www.unixodbc.org
318  */
319
320 /*! \page cdr_pgsql PostgreSQL CDR driver configuration
321  * \arg See also \ref cdrconf
322  * \arg \ref cdr_pgsql.c
323  * See also:
324  * \arg http://www.postgresql.org
325  * \verbinclude cdr_pgsql.conf.sample
326  */
327
328 /*! \page cdr_sqlite SQLite CDR driver configuration
329  * \arg See also \ref cdrconf
330  * \arg \ref cdr_sqlite.c
331  * See also:
332  * \arg http://www.sqlite.org
333  */
334
335 /*! \page cdr_tds FreeTDS CDR driver configuration
336  * \arg See also \ref cdrconf
337  * See also:
338  * \arg http://www.freetds.org
339  * \verbinclude cdr_tds.conf.sample
340  */
341
342 /*! \page Config_cdr CDR configuration
343  * \par See also
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
353  */
354
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
359  */
360
361 /*! \page Config_adsi ADSI Configuration
362  * \section adsiconf adsi.conf
363  * \verbinclude adsi.conf.sample
364  */
365
366 /*! \page Config_codec CODEC Configuration
367  * \section codecsconf codecs.conf
368  * \verbinclude codecs.conf.sample
369  */
370
371 /*! \page Config_ara REALTIME Configuration
372  * \arg See also: \arg \link AstARA \endlink
373  * \section extconf extconfig.conf
374  * \verbinclude extconfig.conf.sample
375  */
376
377 /*! \page Config_ami AMI configuration
378  * \arg See also: \arg \link AstAMI \endlink
379  * \section amiconf manager.conf
380  * \verbinclude manager.conf.sample
381  */
382
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
387  */
388
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
393  */
394
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.
399  *
400  *  Additional sound files are available in the asterisk-addons
401  *  repository on cvs.digium.com
402  * 
403  *  \section SoundList List of included sound files
404  *  \verbinclude sounds.txt
405  */
406
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"
411  */
412
413
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"). 
417  */
418
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()
422  * \par See also
423  * \arg \ref functions
424  *  
425  */
426
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.
431  * \par See also
432  * \arg \ref applications
433  *  
434  */
435
436 /*! \addtogroup codecs Module: Codecs
437  *  \section codec_generic Asterisk Codec Modules
438  *  Codecs are referenced in configuration files by name 
439  *  \par See also 
440  *  \arg \ref formats 
441  *
442  */
443
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.
447  *  \par See also
448  *  \arg \ref codecs 
449  */
450
451 /*! \page AstHTTP AMI over HTTP support
452  * The http.c file includes support for manager transactions over
453  * http.
454  *  \section ami AMI - The manager Interface
455  *  \arg \link Config_ami Configuration file \endlink
456  *  \verbinclude http.txt
457  */
458