Asterisk - The Open Source Telephony Project GIT-master-f36a736
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 */