Various code and documentation cleanups for res_config_sqlite
[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 doxyref.h 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 AJI_intro : The Asterisk Jabber Interface
37  *  \arg \ref AstCDR
38  *  \arg \ref AstREADME
39  *  \arg \ref AstVar
40  *  \arg \ref AstVideo
41  *  \arg \ref AstENUM : The IETF way to redirect from phone numbers to VoIP calls
42  *  \arg \ref AstHTTP
43  *  \arg \ref AstSpeech
44  *  \arg \ref ConfigFiles
45  *  \arg \ref SoundFiles included in the Asterisk distribution
46  *  \arg \ref AstCREDITS : A Thank You to contributors
47  *  \arg \ref extref 
48  \n\n
49  * \section weblinks Web sites
50  * \arg \b Main:  Asterisk Developer's website http://www.asterisk.org/developers/
51  * \arg \b Bugs: The Issue tracker http://bugs.digium.com
52  * \arg \b Lists: List server http://lists.digium.com
53  * \arg \b Wiki: The Asterisk Wiki      http://www.voip-info.org
54  * \arg \b Docs: The Asterisk Documentation Project http://www.asteriskdocs.org
55  * \arg \b Digium: The Asterisk company http://www.digium.com
56  *
57  */
58
59 /*! \page CodeGuide Coding Guidelines
60  *  \section Coding Guidelines
61  *  This file is in the /doc directory in your Asterisk source tree.
62  *  Make sure to stay up to date with the latest guidelines.
63  *  \verbinclude CODING-GUIDELINES
64  */
65
66 /*! \page AstAPI Asterisk API
67  *  \section Asteriskapi Asterisk API
68  *  Some generic documents on the Asterisk architecture
69  *
70  *  \arg \ref AstThreadStorage
71  *  \arg \ref DataStores
72  *  \arg \ref AstExtState
73  *
74  *  \subsection model_txt Generic Model
75  *  \verbinclude model.txt
76  *  \subsection channel_txt Channels
77  *  \arg See \ref Def_Channel
78  */
79
80 /*! \page AstDebug Debugging
81  *  \section debug Debugging
82  *  \verbinclude backtrace.txt
83  */
84
85 /*! \page AstSpeech The Generic Speech Recognition API
86  *  \section debug The Generic Speech Recognition API
87  *  \verbinclude speechrec.txt
88  */
89
90 /*! \page DataStores Channel Data Stores
91  *  \section debug Channel Data Stores
92  *  \verbinclude datastores.txt
93  */
94
95 /*! \page AstAMI AMI - The Manager Interface
96  *  \section ami AMI - The manager Interface
97  *  \arg \link Config_ami Configuration file \endlink
98  * \arg \ref manager.c
99  *  \verbinclude manager.txt
100  */
101
102 /*!  \page AstARA ARA - The Asterisk Realtime Interface
103  *  \section realtime ARA - a generic API to storage and retrieval
104  *  Implemented in \ref config.c 
105  *  Implemented in \ref pbx_realtime.c 
106  *  \verbinclude realtime.txt
107  *  \verbinclude extconfig.txt
108  */
109
110 /*!  \page AstDUNDi DUNDi
111 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.
112
113 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. 
114
115         \par References
116         \arg DUNDi is documented at http://www.dundi.com
117         \arg Implemented in \ref pbx_dundi.c and \ref dundi-parser.c
118         \arg Configuration in \link Config_dun dundi.conf \endlink
119  */
120
121 /*! \page AstCDR CDR - Call Data Records and billing
122  * \section cdr Call Data Records
123  * \par See also
124  * \arg \ref cdr.c
125  * \arg \ref cdr_drivers
126  * \arg \ref Config_cdr CDR configuration files
127  *
128  * \verbinclude cdrdriver.txt
129  */
130
131 /*! \page AstREADME README - the general administrator introduction
132  *  \verbinclude README
133  */
134  
135 /*! \page AstCREDITS CREDITS
136  *  \verbinclude CREDITS
137  */
138
139 /*! \page AstVideo Video support in Asterisk
140  * \section sectAstVideo Video support in Asterisk
141  *  \verbinclude video.txt
142  */
143
144 /*! \page AstVar Globally predefined channel variables
145  * \section globchan Globally predefined channel variables
146  *
147  * More and more of these variables are being replaced by dialplan functions.
148  * Some still exist though and some that does still exist needs to move to
149  * dialplan functions.
150  *
151  * See also
152  * - \ref pbx_retrieve_variable()
153  * - \ref AstChanVar
154  *
155  *  \verbinclude channelvariables.txt
156
157  */
158
159 /*! \page AstChanVar Asterisk Dialplan Variables
160  *      Asterisk Dialplan variables are divided into three groups:
161  *      - Predefined global variables, handled by the PBX core
162  *      - Global variables, that exist for the duration of the pbx execution
163  *      - Channel variables, that exist during a channel
164  *
165  * Global variables are reachable in all channels, all of the time.
166  * Channel variables are only reachable within the channel.
167  *
168  * For more information on the predefined variables, see \ref AstVar
169  * 
170  * Global and Channel variables:
171  * - Names are Case insensitive
172  * - Names that start with a character, but are alphanumeric
173  * - Global variables are defined and reached with the GLOBAL() dialplan function
174  *   and the set application, like
175  *
176  *      exten => 1234,1,set(GLOBAL(myvariable)=tomteluva)
177  *
178  *      - \ref func_global.c
179  *
180  * - Channel variables are defined with the set() dialplan application
181  *
182  *      exten => 1234,1,set(xmasattribute=tomtegröt)
183  *
184  * - Some channels also supports setting channel variables with the \b setvar=
185  *   configuraiton option for a device or line.
186  *
187  * \section AstChanVar_globalvars Global Variables
188  * Global variables can also be set in the [globals] section of extensions.conf. The
189  * setting \b clearglobalvars in extensions.conf [general] section affects whether
190  * or not the global variables defined in \b globals are reset at dialplan reload.
191  * 
192  * There are CLI commands to change and read global variables. This can be handy
193  * to reset counters at midnight from an external script.
194  *
195  * \section AstChanVar_devnotes Developer notes
196  * Variable handling is managed within \ref pbx.c
197  * You need to include pbx.h to reach these functions.
198  *      - \ref pbx_builtin_setvar_helper()
199  *      - \ref pbx_builtin_getvar_helper()
200  *
201  * The variables is a linked list stored in the channel data structure
202  * with the list starting at varshead in struct ast_channel
203  * 
204  *
205  */
206
207 /*! \page AstENUM ENUM
208  * \section enumreadme ENUM
209  * \arg Configuration: \ref Config_enum
210  * \arg \ref enum.c
211  * \arg \ref func_enum.c
212  *
213  * \verbinclude enum.txt
214  */
215
216 /*! \page ConfigFiles Configuration files
217  * \section config Main configuration files
218  * \arg \link Config_ast asterisk.conf - the main configuration file \endlink
219  * \arg \link Config_ext extensions.conf - The Dial Plan \endlink
220  * \arg \link Config_mod modules.conf - which modules to load and not to load \endlink
221  * \arg \link Config_fea features.conf - call features (transfer, parking, etc) \endlink
222  * \section chanconf Channel configuration files
223  * \arg \link Config_iax IAX2 configuration  \endlink
224  * \arg \link Config_sip SIP configuration  \endlink
225  * \arg \link Config_mgcp MGCP configuration  \endlink
226  * \arg \link Config_rtp RTP configuration  \endlink
227  * \arg \link Config_zap Zaptel configuration  \endlink
228  * \arg \link Config_oss OSS (sound card) configuration  \endlink
229  * \arg \link Config_alsa ALSA (sound card) configuration  \endlink
230  * \arg \link Config_agent Agent (proxy channel) configuration  \endlink
231  * \arg \link Config_misdn MISDN Experimental ISDN BRI channel configuration  \endlink
232  * \arg \link Config_h323 H.323 configuration  \endlink
233  * \section appconf Application configuration files
234  * \arg \link Config_mm Meetme (conference bridge) configuration  \endlink
235  * \arg \link Config_qu Queue system configuration  \endlink
236  * \arg \link Config_vm Voicemail configuration  \endlink
237  * \arg \link Config_followme Followme configuration  \endlink
238  * \section cdrconf CDR configuration files
239  * \arg \link Config_cdr CDR configuration  \endlink
240  * \arg \link cdr_custom Custom CDR driver configuration \endlink
241  * \arg \link cdr_ami Manager CDR driver configuration \endlink
242  * \arg \link cdr_odbc ODBC CDR driver configuration \endlink
243  * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink
244  * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink
245  * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink
246  * \section miscconf Miscellenaous configuration files
247  * \arg \link Config_adsi ADSI configuration  \endlink
248  * \arg \link Config_ami AMI - Manager configuration  \endlink
249  * \arg \link Config_ara Realtime configuration  \endlink
250  * \arg \link Config_codec Codec configuration  \endlink
251  * \arg \link Config_dun DUNDi configuration  \endlink
252  * \arg \link Config_enum ENUM configuration  \endlink
253  * \arg \link Config_moh Music on Hold configuration  \endlink
254  * \arg \link Config_vm Voicemail configuration  \endlink
255  * \arg \link res_config_sqlite SQLite Resource driver configuration \endlink
256  */
257
258 /*! \page Config_ast Asterisk.conf
259  * \verbinclude asterisk-conf.txt
260  */
261 /*! \page Config_mod Modules configuration
262  * All res_ resource modules are loaded with globals on, which means
263  * that non-static functions are callable from other modules.
264  *
265  * If you want your non res_* module to export functions to other modules
266  * you have to include it in the [global] section.
267  * \verbinclude modules.conf.sample
268  */
269
270 /*! \page Config_fea Call features configuration
271  * \par See also
272  * \arg \ref res_features.c : Call feature implementation
273  * \section featconf features.conf
274  * \verbinclude features.conf.sample
275  */
276
277 /*! \page Config_followme Followme: An application for simple follow-me calls
278  * \section followmeconf Followme.conf
279  * - See app_followme.c
280  * \verbinclude followme.conf.sample
281  */
282
283 /*! \page Config_ext Extensions.conf - the Dial Plan
284  * \section dialplan Extensions.conf 
285  * \verbinclude extensions.conf.sample
286  */
287
288 /*! \page Config_iax IAX2 configuration
289  * IAX2 is implemented in \ref chan_iax2.c
290  * \arg \link Config_iax iax.conf Configuration file example \endlink
291  * \section iaxreadme IAX readme file
292  * \verbinclude iax.txt
293  * \section Config_iax IAX Configuration example
294  * \verbinclude iax.conf.sample
295  * \section iaxjitter IAX Jitterbuffer information
296  * \verbinclude jitterbuffer.txt
297  */
298
299 /*! \page Config_iax IAX configuration
300  * \arg Implemented in \ref chan_iax2.c
301  * \section iaxconf iax.conf
302  * \verbinclude iax.conf.sample
303  */
304
305 /*! \page Config_sip SIP configuration
306  * Also see \ref Config_rtp RTP configuration
307  * \arg Implemented in \ref chan_sip.c
308  * \section sipconf sip.conf
309  * \verbinclude sip.conf.sample
310  *
311  * \arg \b Back \ref chanconf
312  */
313
314 /*! \page Config_mgcp MGCP configuration
315  * Also see \ref Config_rtp RTP configuration
316  * \arg Implemented in \ref chan_mgcp.c
317  * \section mgcpconf mgcp.conf
318  * \verbinclude mgcp.conf.sample
319  */
320
321 /*! \page README_misdn MISDN documentation
322  * \arg See \ref Config_misdn
323  * \section mISDN configuration
324  * \verbinclude misdn.txt
325  */
326
327 /*! \page Config_misdn MISDN configuration
328  * \arg Implemented in \ref chan_misdn.c
329  * \arg \ref README_misdn
330  * \arg See the mISDN home page: http://www.isdn4linux.de/mISDN/
331  * \section misdnconf misdn.conf
332  * \verbinclude misdn.conf.sample
333  */
334
335 /*! \page Config_vm VoiceMail configuration
336  * \section vmconf voicemail.conf
337  * \arg Implemented in \ref app_voicemail.c
338  * \verbinclude voicemail.conf.sample
339  */
340
341 /*! \page Config_zap Zaptel configuration
342  * \section zapconf zapata.conf
343  * \arg Implemented in \ref chan_zap.c
344  * \verbinclude zapata.conf.sample
345  */
346
347 /*! \page Config_h323 H.323 channel driver information
348  * This is the configuration of the H.323 channel driver within the Asterisk
349  * distribution. There's another one, called OH323, in asterisk-addons
350  * \arg Implemented in \ref chan_h323.c
351  * \section h323conf h323.conf
352  * \ref chan_h323.c
353  * \verbinclude h323.txt
354  */
355
356 /*! \page Config_oss OSS configuration
357  * \section ossconf oss.conf
358  * \arg Implemented in \ref chan_oss.c
359  * \verbinclude oss.conf.sample
360  */
361
362 /*! \page Config_alsa ALSA configuration
363  * \section alsaconf alsa.conf
364  * \arg Implemented in \ref chan_alsa.c
365  * \verbinclude alsa.conf.sample
366  */
367
368 /*! \page Config_agent Agent configuration
369  * \section agentconf agents.conf
370  * The agent channel is a proxy channel for queues
371  * \arg Implemented in \ref chan_agent.c
372  * \verbinclude agents.conf.sample
373  */
374
375 /*! \page Config_rtp RTP configuration
376  * \arg Implemented in \ref rtp.c
377  * Used in \ref chan_sip.c and \ref chan_mgcp.c (and various H.323 channels)
378  * \section rtpconf rtp.conf
379  * \verbinclude rtp.conf.sample
380  */
381
382 /*! \page Config_dun DUNDi Configuration
383  * \arg See also \ref AstDUNDi
384  * \section dundiconf dundi.conf
385  * \verbinclude dundi.conf.sample
386  */
387
388 /*! \page Config_enum ENUM Configuration
389  * \section enumconf enum.conf
390  * \arg See also \ref enumreadme
391  * \arg Implemented in \ref func_enum.c and \ref enum.c
392  * \verbinclude enum.conf.sample
393  */
394
395 /*! \page cdr_custom Custom CDR Configuration
396  * \par See also 
397  * \arg \ref cdrconf
398  * \arg \ref cdr_custom.c
399  * \verbinclude cdr_custom.conf.sample
400  */
401
402 /*! \page cdr_ami Manager CDR driver configuration
403  * \par See also 
404  * \arg \ref cdrconf
405  * \arg \ref AstAMI
406  * \arg \ref cdr_manager.c
407  * \verbinclude cdr_manager.conf.sample
408  */
409
410 /*! \page cdr_odbc ODBC CDR driver configuration
411  * \arg See also \ref cdrconf
412  * \arg \ref cdr_odbc.c
413  * \verbinclude cdr_odbc.conf.sample
414  * See also:
415  * \arg http://www.unixodbc.org
416  */
417
418 /*! \page cdr_pgsql PostgreSQL CDR driver configuration
419  * \arg See also \ref cdrconf
420  * \arg \ref cdr_pgsql.c
421  * See also:
422  * \arg http://www.postgresql.org
423  * \verbinclude cdr_pgsql.conf.sample
424  */
425
426 /*! \page cdr_sqlite SQLite CDR driver configuration
427  * \arg See also \ref cdrconf
428  * \arg \ref cdr_sqlite.c
429  * See also:
430  * \arg http://www.sqlite.org
431  */
432
433 /*! \page cdr_tds FreeTDS CDR driver configuration
434  * \arg See also \ref cdrconf
435  * See also:
436  * \arg http://www.freetds.org
437  * \verbinclude cdr_tds.conf.sample
438  */
439
440 /*! \page Config_cdr CDR configuration
441  * \par See also
442  * \arg \ref cdr_drivers
443  * \arg \link Config_cdr CDR configuration  \endlink  
444  * \arg \link cdr_custom Custom CDR driver configuration \endlink
445  * \arg \link cdr_ami Manager CDR driver configuration \endlink
446  * \arg \link cdr_odbc ODBC CDR driver configuration \endlink
447  * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink
448  * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink
449  * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink
450  * \verbinclude cdr.conf.sample
451  */
452
453 /*! \page Config_moh Music on Hold Configuration
454  * \arg Implemented in \ref res_musiconhold.c
455  * \section mohconf musiconhold.conf
456  * \verbinclude musiconhold.conf.sample
457  */
458
459 /*! \page Config_adsi ADSI Configuration
460  * \section adsiconf adsi.conf
461  * \verbinclude adsi.conf.sample
462  */
463
464 /*! \page Config_codec CODEC Configuration
465  * \section codecsconf codecs.conf
466  * \verbinclude codecs.conf.sample
467  */
468
469 /*! \page Config_ara REALTIME Configuration
470  * \arg See also: \arg \link AstARA \endlink
471  * \section extconf extconfig.conf
472  * \verbinclude extconfig.conf.sample
473  */
474
475 /*! \page Config_ami AMI configuration
476  * \arg See also: \arg \link AstAMI \endlink
477  * \section amiconf manager.conf
478  * \verbinclude manager.conf.sample
479  */
480
481 /*! \page Config_qu ACD - Queue system configuration
482  * \arg Implemented in \ref app_queue.c
483  * \section quconf queues.conf
484  * \verbinclude queues.conf.sample
485  */
486
487 /*! \page Config_mm Meetme - The conference bridge configuration
488  * \arg Implemented in \ref app_meetme.c
489  * \section mmconf meetme.conf
490  * \verbinclude meetme.conf.sample
491  */
492
493 /*! \page SoundFiles Sound files
494  *  \section SecSound Asterisk Sound files
495  *  Asterisk includes a large number of sound files. Many of these
496  *  are used by applications and demo scripts within asterisk.
497  *
498  *  Additional sound files are available in the asterisk-addons
499  *  repository on svn.digium.com
500  */
501
502 /*! \addtogroup cdr_drivers Module: CDR Drivers
503  *  \section CDR_generic Asterisk CDR Drivers
504  *  \brief CDR drivers are loaded dynamically, each loaded CDR driver produce a billing record for each call.
505  *  \arg \ref Config_mod "Modules Configuration"
506  *  \arg \ref Config_cdr "CDR Configuration"
507  */
508
509
510 /*! \addtogroup channel_drivers Module: Asterisk Channel Drivers
511  *  \section channel_generic Asterisk Channel Drivers
512  *  \brief Channel drivers are loaded dynamically. 
513  *  \arg \ref Config_mod "Modules Configuration"
514  */
515
516 /*! \addtogroup applications Module: Dial plan applications
517  *  \section app_generic Asterisk Dial Plan Applications
518  *  \brief Applications support the dialplan. They register dynamically with \see ast_register_application() and unregister with \see ast_unregister_application()
519  * \par See also
520  * \arg \ref functions
521  *  
522  */
523
524 /*! \addtogroup functions Module: Dial plan functions
525  *  \section func_generic Asterisk Dial Plan Functions
526  *  \brief Functions support the dialplan.  They do not change any property of a channel
527  *  or touch a channel in any way.
528  * \par See also
529  * \arg \ref applications
530  *  
531  */
532
533 /*! \addtogroup codecs Module: Codecs
534  *  \section codec_generic Asterisk Codec Modules
535  *  Codecs are referenced in configuration files by name 
536  *  \par See also 
537  *  \arg \ref formats 
538  *
539  */
540
541 /*! \addtogroup formats Module: Media File Formats 
542  *  \section codec_generic Asterisk Format drivers
543  *  Formats are modules that read or write media files to disk.
544  *  \par See also
545  *  \arg \ref codecs 
546  */
547
548 /*! \page AstHTTP AMI over HTTP support
549  * The http.c file includes support for manager transactions over
550  * http.
551  *  \section ami AMI - The manager Interface
552  *  \arg \link Config_ami Configuration file \endlink
553  *  \verbinclude ajam.txt
554  */
555
556 /*! \page res_config_sqlite SQLite Resource driver configuration
557  * \arg Implemented in \ref res_config_sqlite.c
558  * \arg Configuration file:
559  * \verbinclude res_config_sqlite.conf
560  * \arg SQL tables:
561  * \verbinclude res_config_sqlite.txt
562  * \arg See also:
563  * http://www.sqlite.org
564  */