Asterisk - The Open Source Telephony Project  21.4.1
doxyref.h
Go to the documentation of this file.
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2012, Digium, Inc.
5  *
6  * See http://www.asterisk.org for more information about
7  * the Asterisk project. Please do not directly contact
8  * any of the maintainers of this project for assistance;
9  * the project provides a web site, mailing lists and IRC
10  * channels for your use.
11  *
12  * This program is free software, distributed under the terms of
13  * the GNU General Public License Version 2. See the LICENSE file
14  * at the top of the source tree.
15  */
16 
17 /*!
18  * \file
19  *
20  * This is the main header file used for generating miscellaneous documentation
21  * using Doxygen. This also utilizes the documentation in
22  * include/asterisk/doxygen/ header files.
23  */
24 
25 /*
26  * The following is for Doxygen Developer's documentation generated
27  * by running "make progdocs" with doxygen installed on your
28  * system.
29  */
30 
31 /*!
32  * \page DevDoc Asterisk Developer's Documentation - Appendices
33  *
34  * \section devpolicy Development and Release Policies
35  * \arg \ref CodeGuide : The must-read document for all developers
36  * \arg \ref AstCREDITS : A Thank You to contributors (unfortunately out of date)
37  *
38  * \section apisandinterfaces Asterisk APIs and Interfaces
39  * \arg \ref AstAPI
40  * \arg \ref AstAPIChanges
41  * \arg \ref Def_Channel : What's a channel, anyway?
42  * \arg \ref channel_drivers : Existing channel drivers
43  * \arg \ref AstAMI : The Call management socket API
44  * \arg \ref AstARA : A generic data storage and retrieval API for Asterisk
45  * \arg \ref AstDUNDi : A way to find phone services dynamically by using the DUNDi protocol
46  * \arg \ref AstCDR
47  * \arg \ref AstVar
48  * \arg \ref AstVideo
49  * \arg \ref AstHTTP
50  *
51  * \section debugconfig Debugging and Configuration References
52  * \arg \ref extref
53  * \arg \ref SoundFiles included in the Asterisk distribution
54  *
55  * \section weblinks Web sites
56  * \arg \b Main: Asterisk Developer's website https://www.asterisk.org/developers/
57  * \arg \b Bugs: The Issue Tracker https://github.com/asterisk/asterisk/issues/
58  * \arg \b Lists: List Server http://lists.digium.com
59  * \arg \b Wiki: The Asterisk Wiki https://wiki.asterisk..org
60  * \arg \b Docs: The Asterisk Documentation Project http://www.asteriskdocs.org
61  * \arg \b Digium: The Asterisk Company https://www.digium.com
62  */
63 
64 /*!
65  * \page CodeGuide Coding Guidelines
66  * \AsteriskTrunkWarning
67  * \section Coding Guidelines
68  * This file is in the /doc directory in your Asterisk source tree.
69  * Make sure to stay up to date with the latest guidelines.
70  * \verbinclude CODING-GUIDELINES
71  */
72 
73 /*!
74  * \page AstAPI Asterisk API
75  * \section Asteriskapi Asterisk API
76  * Some generic documents on the Asterisk architecture
77  *
78  * \arg \ref AstThreadStorage
79  * \arg \ref AstExtState
80  *
81  * \subsection channel_txt Channels
82  * \arg See \ref Def_Channel
83  */
84 
85 /*!
86  * \page AstAPIChanges Asterisk API Changes
87  *
88  * \section Changes161 Version 1.6.1
89  * \li vmwi_generate()
90  * \li ast_channel_datastore_alloc()
91  * \li ast_channel_datastore_free()
92  * \li ast_channel_cmpwhentohangup()
93  * \li ast_channel_setwhentohangup()
94  * \li ast_settimeout()
95  * \li ast_datastore_alloc()
96  * \li ast_datastore_free()
97  * \li ast_device_state_changed()
98  * \li ast_device_state_changed_literal()
99  * \li ast_dnsmgr_get()
100  * \li ast_dnsmgr_lookup()
101  * \li ast_dsp_set_digitmode()
102  * \li ast_get_txt()
103  * \li ast_event_unsubscribe()
104  * \li localized_context_find_or_create()
105  * \li localized_merge_contexts_and_delete()
106  * \li ast_console_puts_mutable()
107  * \li ast_rtp_get_quality()
108  * \li ast_tcptls_client_start()
109  * \li ast_tcptls_server_start()
110  * \li ast_tcptls_server_stop()
111  *
112  * \section Changes162 Version 1.6.2
113  *
114  * \section Changes18 Version 1.8
115  * \li ast_channel_alloc()
116  */
117 
118 /*!
119  * \page AstAMI AMI - The Manager Interface
120  * \section ami AMI - The manager Interface
121  * \arg \link Config_ami Configuration file \endlink
122  * \arg \ref manager.c
123  * \todo include missing manager txt
124  */
125 
126 /*!
127  * \page AstARA ARA - The Asterisk Realtime Interface
128  * \section realtime ARA - a generic API to storage and retrieval
129  * Implemented in \ref config.c
130  * Implemented in \ref pbx_realtime.c
131  * \todo include missing realtime txt
132  * \todo include missing extconfig txt
133  */
134 
135 /*!
136  * \page AstDUNDi DUNDi
137  *
138  * DUNDi is a peer-to-peer system for locating Internet gateways to telephony
139  * services. Unlike traditional centralized services (such as the remarkably
140  * simple and concise ENUM standard), DUNDi is fully-distributed with no
141  * centralized authority whatsoever.
142  *
143  * DUNDi is not itself a Voice-over IP signaling or media protocol. Instead,
144  * it publishes routes which are in turn accessed via industry standard
145  * protocols such as IAX, SIP and H.323.
146  *
147  * \par References
148  * \arg DUNDi is documented at http://www.dundi.com
149  * \arg Implemented in \ref pbx_dundi.c and \ref dundi-parser.c
150  * \arg Configuration in \ref dundi.conf
151  */
152 
153 /*!
154  * \page AstCDR CDR - Call Data Records and billing
155  * \section cdr Call Data Records
156  * \par See also
157  * \arg \ref cdr.c
158  * \arg \ref cdr_drivers
159  *
160  * \todo include missing cdrdriver txt
161  */
162 
163 /*!
164  * \page AstCREDITS CREDITS
165  * \verbinclude CREDITS
166  */
167 
168 /*!
169  * \page AstVideo Video support in Asterisk
170  * \section sectAstVideo Video support in Asterisk
171  * \todo include missing video txt
172  */
173 
174 /*!
175  * \page AstVar Globally predefined channel variables
176  * \section globchan Globally predefined channel variables
177  *
178  * More and more of these variables are being replaced by dialplan functions.
179  * Some still exist though and some that does still exist needs to move to
180  * dialplan functions.
181  *
182  * See also
183  * - \ref pbx_retrieve_variable()
184  * - \ref AstChanVar
185  *
186  */
187 
188 /*!
189  * \page AstChanVar Asterisk Dialplan Variables
190  * Asterisk Dialplan variables are divided into three groups:
191  * - Predefined global variables, handled by the PBX core
192  * - Global variables, that exist for the duration of the pbx execution
193  * - Channel variables, that exist during a channel
194  *
195  * Global variables are reachable in all channels, all of the time.
196  * Channel variables are only reachable within the channel.
197  *
198  * For more information on the predefined variables, see \ref AstVar
199  *
200  * Global and Channel variables:
201  * - Names are Case insensitive
202  * - Names that start with a character, but are alphanumeric
203  * - Global variables are defined and reached with the GLOBAL() dialplan function
204  * and the set application, like
205  *
206  * exten => 1234,1,set(GLOBAL(myvariable)=tomteluva)
207  *
208  * - \ref func_global.c
209  *
210  * - Channel variables are defined with the set() dialplan application
211  *
212  * exten => 1234,1,set(xmasattribute=tomtegröt)
213  *
214  * - Some channels also supports setting channel variables with the \b setvar=
215  * configuraiton option for a device or line.
216  *
217  * \section AstChanVar_globalvars Global Variables
218  * Global variables can also be set in the [globals] section of extensions.conf. The
219  * setting \b clearglobalvars in extensions.conf [general] section affects whether
220  * or not the global variables defined in \b globals are reset at dialplan reload.
221  *
222  * There are CLI commands to change and read global variables. This can be handy
223  * to reset counters at midnight from an external script.
224  *
225  * \section AstChanVar_devnotes Developer notes
226  * Variable handling is managed within \ref pbx.c
227  * You need to include pbx.h to reach these functions.
228  * - \ref pbx_builtin_setvar_helper()
229  * - \ref pbx_builtin_getvar_helper()
230  *
231  * The variables is a linked list stored in the channel data structure
232  * with the list starting at varshead in struct ast_channel
233  */
234 
235 /*!
236  * \page Config_mod Modules configuration
237  * All res_ resource modules are loaded with globals on, which means
238  * that non-static functions are callable from other modules.
239  *
240  * If you want your non res_* module to export functions to other modules
241  * you have to include it in the [global] section.
242  */
243 
244 /*!
245  * \page Config_ext Extensions.conf - the Dial Plan
246  * \section dialplan Extensions.conf
247  * \verbinclude extensions.conf.sample
248  */
249 
250 /*!
251  * \page Config_rtp RTP configuration
252  * \arg Implemented in \ref rtp.c
253  * Used in various H.323 channels
254  * \section rtpconf rtp.conf
255  * \verbinclude rtp.conf.sample
256  */
257 
258 /*!
259  * \page Config_codec CODEC Configuration
260  * \section codecsconf codecs.conf
261  * \verbinclude codecs.conf.sample
262  */
263 
264 /*!
265  * \page Config_ara REALTIME Configuration
266  * \arg See also: \arg \link AstARA \endlink
267  * \section extconf extconfig.conf
268  * \verbinclude extconfig.conf.sample
269  */
270 
271 /*!
272  * \page Config_ami AMI configuration
273  * \arg See also: \arg \link AstAMI \endlink
274  * \section amiconf manager.conf
275  * \verbinclude manager.conf.sample
276  */
277 
278 /*!
279  * \page SoundFiles Sound files
280  * \section SecSound Asterisk Sound files
281  * Asterisk includes a large number of sound files. Many of these
282  * are used by applications and demo scripts within asterisk.
283  *
284  * Additional sound files are available in the asterisk-addons
285  * repository on svn.digium.com
286  */
287 
288 /*!
289  * \page AstHTTP AMI over HTTP support
290  * The http.c file includes support for manager transactions over
291  * http.
292  * \section amihttp AMI - The manager Interface
293  * \arg \link Config_ami Configuration file \endlink
294  */
295 
296 /*
297  * Doxygen Groups
298  */
299 
300 /*! \addtogroup configuration_file Configuration Files
301  */
302 
303 /*!
304  * \addtogroup cdr_drivers Module: CDR Drivers
305  * \section CDR_generic Asterisk CDR Drivers
306  * \brief CDR drivers are loaded dynamically, each loaded CDR driver produce
307  * a billing record for each call.
308  * \arg \ref Config_mod "Modules Configuration"
309  */
310 
311 /*!
312  * \addtogroup channel_drivers Module: Asterisk Channel Drivers
313  * \section channel_generic Asterisk Channel Drivers
314  * \brief Channel drivers are loaded dynamically.
315  * \arg \ref Config_mod "Modules Configuration"
316  */
317 
318 /*!
319  * \addtogroup applications Dial plan applications
320  * \section app_generic Asterisk Dial Plan Applications
321  * \brief Applications support the dialplan. They register dynamically with
322  * \see ast_register_application() and unregister with
323  * \see ast_unregister_application()
324  * \par See also
325  * \arg \ref functions
326  */
327 
328 /*!
329  * \addtogroup functions Module: Dial plan functions
330  * \section func_generic Asterisk Dial Plan Functions
331  * \brief Functions support the dialplan. They do not change any property of a channel
332  * or touch a channel in any way.
333  * \par See also
334  * \arg \ref applications
335  *
336  */
337 
338 /*!
339  * \addtogroup codecs Module: Codecs
340  * \section codec_generic Asterisk Codec Modules
341  * Codecs are referenced in configuration files by name
342  * \par See also
343  * \arg \ref formats
344  */
345 
346 /*!
347  * \addtogroup formats Module: Media File Formats
348  * \section format_generic Asterisk Format drivers
349  * Formats are modules that read or write media files to disk.
350  * \par See also
351  * \arg \ref codecs
352  */
353 
354 /*!
355  * \addtogroup rtp_engines Module: RTP Engines
356  * \section rtp_engine_blah Asterisk RTP Engines
357  */