summaryrefslogtreecommitdiff
path: root/include/asterisk/doxyref.h
blob: 73da187029efa8c64aa0a1294ac46cf5eb6840c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
/*
 * Asterisk -- An open source telephony toolkit.
 *
 * Copyright (C) 1999 - 2012, Digium, Inc.
 *
 * See http://www.asterisk.org for more information about
 * the Asterisk project. Please do not directly contact
 * any of the maintainers of this project for assistance;
 * the project provides a web site, mailing lists and IRC
 * channels for your use.
 *
 * This program is free software, distributed under the terms of
 * the GNU General Public License Version 2. See the LICENSE file
 * at the top of the source tree.
 */

/*!
 * \file
 *
 * This is the main header file used for generating miscellaneous documentation
 * using Doxygen.  This also utilizes the documentation in
 * include/asterisk/doxygen/ header files.
 */

/*
 * The following is for Doxygen Developer's documentation generated
 * by running "make progdocs" with doxygen installed on your
 * system.
 */

/*!
 * \page DevDoc Asterisk Developer's Documentation - Appendices
 *
 * \section devpolicy Development and Release Policies
 * \arg \ref CodeGuide : The must-read document for all developers
 * \arg \ref AstCREDITS : A Thank You to contributors (unfortunately out of date)
 *
 * \section apisandinterfaces Asterisk APIs and Interfaces
 * \arg \ref AstAPI
 * \arg \ref AstAPIChanges
 * \arg \ref Def_Channel : What's a channel, anyway?
 * \arg \ref channel_drivers : Existing channel drivers
 * \arg \ref AstAMI : The Call management socket API
 * \arg \ref AstARA : A generic data storage and retrieval API for Asterisk
 * \arg \ref AstDUNDi : A way to find phone services dynamically by using the DUNDi protocol
 * \arg \ref AJI_intro : The Asterisk Jabber Interface
 * \arg \ref AstCDR
 * \arg \ref AstVar
 * \arg \ref AstVideo
 * \arg \ref AstENUM : The IETF way to redirect from phone numbers to VoIP calls
 * \arg \ref AstHTTP
 * \arg \ref AstSpeech
 *
 * \section debugconfig Debugging and Configuration References
 * \arg \ref AstDebug : Hints on debugging
 * \arg \ref extref
 * \arg \ref ConfigFiles
 * \arg \ref SoundFiles included in the Asterisk distribution
 *
 * \section weblinks Web sites
 * \arg \b Main:  Asterisk Developer's website https://www.asterisk.org/developers/
 * \arg \b Bugs: The Issue Tracker https://issues.asterisk.org
 * \arg \b Lists: List Server http://lists.digium.com
 * \arg \b Wiki: The Asterisk Wiki 	https://wiki.asterisk..org
 * \arg \b Docs: The Asterisk Documentation Project http://www.asteriskdocs.org
 * \arg \b Digium: The Asterisk Company https://www.digium.com
 */

/*!
 * \page CodeGuide Coding Guidelines
 * \AsteriskTrunkWarning
 * \section Coding Guidelines
 * This file is in the /doc directory in your Asterisk source tree.
 * Make sure to stay up to date with the latest guidelines.
 * \verbinclude CODING-GUIDELINES
 */

/*!
 * \page AstAPI Asterisk API
 * \section Asteriskapi Asterisk API
 * Some generic documents on the Asterisk architecture
 *
 * \arg \ref AstThreadStorage
 * \arg \ref DataStores
 * \arg \ref AstExtState
 * \arg \ref AstDataRetrieval
 *
 * \subsection channel_txt Channels
 * \arg See \ref Def_Channel
 */

/*!
 * \page AstAPIChanges Asterisk API Changes
 *
 * \section Changes161 Version 1.6.1
 * \li vmwi_generate()
 * \li ast_channel_datastore_alloc()
 * \li ast_channel_datastore_free()
 * \li ast_channel_cmpwhentohangup()
 * \li ast_channel_setwhentohangup()
 * \li ast_settimeout()
 * \li ast_datastore_alloc()
 * \li ast_datastore_free()
 * \li ast_device_state_changed()
 * \li ast_device_state_changed_literal()
 * \li ast_dnsmgr_get()
 * \li ast_dnsmgr_lookup()
 * \li ast_dsp_set_digitmode()
 * \li ast_get_txt()
 * \li ast_event_unsubscribe()
 * \li localized_context_find_or_create()
 * \li localized_merge_contexts_and_delete()
 * \li ast_console_puts_mutable()
 * \li ast_rtp_get_quality()
 * \li ast_tcptls_client_start()
 * \li ast_tcptls_server_start()
 * \li ast_tcptls_server_stop()
 *
 * \section Changes162 Version 1.6.2
 *
 * \section Changes18 Version 1.8
 * \li ast_channel_alloc()
 */

/*!
 * \page AstAMI AMI - The Manager Interface
 * \section ami AMI - The manager Interface
 * \arg \link Config_ami Configuration file \endlink
 * \arg \ref manager.c
 * \todo include missing manager txt
 */

/*!
 * \page AstARA ARA - The Asterisk Realtime Interface
 * \section realtime ARA - a generic API to storage and retrieval
 * Implemented in \ref config.c
 * Implemented in \ref pbx_realtime.c
 * \todo include missing realtime txt
 * \todo include missing extconfig txt
 */

/*!
 * \page AstDUNDi DUNDi
 *
 * 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.
 *
 * 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.
 *
 * \par References
 * \arg DUNDi is documented at http://www.dundi.com
 * \arg Implemented in \ref pbx_dundi.c and \ref dundi-parser.c
 * \arg Configuration in \ref dundi.conf
 */

/*!
 * \page AstCDR CDR - Call Data Records and billing
 * \section cdr Call Data Records
 * \par See also
 * \arg \ref cdr.c
 * \arg \ref cdr_drivers
 * \arg \ref Config_cdr CDR configuration files
 *
 * \todo include missing cdrdriver txt
 */

/*!
 * \page AstCREDITS CREDITS
 * \verbinclude CREDITS
 */

/*!
 * \page AstVideo Video support in Asterisk
 * \section sectAstVideo Video support in Asterisk
 * \todo include missing video txt
 */

/*!
 * \page AstVar Globally predefined channel variables
 * \section globchan Globally predefined channel variables
 *
 * More and more of these variables are being replaced by dialplan functions.
 * Some still exist though and some that does still exist needs to move to
 * dialplan functions.
 *
 * See also
 * - \ref pbx_retrieve_variable()
 * - \ref AstChanVar
 *
 */

/*!
 * \page AstChanVar Asterisk Dialplan Variables
 *	Asterisk Dialplan variables are divided into three groups:
 *	- Predefined global variables, handled by the PBX core
 *	- Global variables, that exist for the duration of the pbx execution
 *	- Channel variables, that exist during a channel
 *
 * Global variables are reachable in all channels, all of the time.
 * Channel variables are only reachable within the channel.
 *
 * For more information on the predefined variables, see \ref AstVar
 *
 * Global and Channel variables:
 * - Names are Case insensitive
 * - Names that start with a character, but are alphanumeric
 * - Global variables are defined and reached with the GLOBAL() dialplan function
 *   and the set application, like
 *
 * 	exten => 1234,1,set(GLOBAL(myvariable)=tomteluva)
 *
 * 	- \ref func_global.c
 *
 * - Channel variables are defined with the set() dialplan application
 *
 *	exten => 1234,1,set(xmasattribute=tomtegröt)
 *
 * - Some channels also supports setting channel variables with the \b setvar=
 *   configuraiton option for a device or line.
 *
 * \section AstChanVar_globalvars Global Variables
 * Global variables can also be set in the [globals] section of extensions.conf. The
 * setting \b clearglobalvars in extensions.conf [general] section affects whether
 * or not the global variables defined in \b globals are reset at dialplan reload.
 *
 * There are CLI commands to change and read global variables. This can be handy
 * to reset counters at midnight from an external script.
 *
 * \section AstChanVar_devnotes Developer notes
 * Variable handling is managed within \ref pbx.c
 * You need to include pbx.h to reach these functions.
 *	- \ref pbx_builtin_setvar_helper()
 * 	- \ref pbx_builtin_getvar_helper()
 *
 * The variables is a linked list stored in the channel data structure
 * with the list starting at varshead in struct ast_channel
 */

/*!
 * \page Config_mod Modules configuration
 * All res_ resource modules are loaded with globals on, which means
 * that non-static functions are callable from other modules.
 *
 * If you want your non res_* module to export functions to other modules
 * you have to include it in the [global] section.
 */

/*!
 * \page Config_ext Extensions.conf - the Dial Plan
 * \section dialplan Extensions.conf
 * \verbinclude extensions.conf.sample
 */

/*!
 * \page Config_rtp RTP configuration
 * \arg Implemented in \ref rtp.c
 * Used in \ref chan_sip.c and \ref chan_mgcp.c (and various H.323 channels)
 * \section rtpconf rtp.conf
 * \verbinclude rtp.conf.sample
 */

/*!
 * \page Config_codec CODEC Configuration
 * \section codecsconf codecs.conf
 * \verbinclude codecs.conf.sample
 */

/*!
 * \page Config_ara REALTIME Configuration
 * \arg See also: \arg \link AstARA \endlink
 * \section extconf extconfig.conf
 * \verbinclude extconfig.conf.sample
 */

/*!
 * \page Config_ami AMI configuration
 * \arg See also: \arg \link AstAMI \endlink
 * \section amiconf manager.conf
 * \verbinclude manager.conf.sample
 */

/*!
 * \page SoundFiles Sound files
 * \section SecSound Asterisk Sound files
 * Asterisk includes a large number of sound files. Many of these
 * are used by applications and demo scripts within asterisk.
 *
 * Additional sound files are available in the asterisk-addons
 * repository on svn.digium.com
 */

/*!
 * \page AstHTTP AMI over HTTP support
 * The http.c file includes support for manager transactions over
 * http.
 * \section ami AMI - The manager Interface
 * \arg \link Config_ami Configuration file \endlink
 */

/*
 * Doxygen Groups
 */

/*! \addtogroup configuration_file Configuration Files
 */

/*!
 * \addtogroup cdr_drivers Module: CDR Drivers
 * \section CDR_generic Asterisk CDR Drivers
 * \brief CDR drivers are loaded dynamically, each loaded CDR driver produce
 *        a billing record for each call.
 * \arg \ref Config_mod "Modules Configuration"
 * \arg \ref Config_cdr "CDR Configuration"
 */

/*!
 * \addtogroup channel_drivers Module: Asterisk Channel Drivers
 * \section channel_generic Asterisk Channel Drivers
 * \brief Channel drivers are loaded dynamically.
 * \arg \ref Config_mod "Modules Configuration"
 */

/*!
 * \addtogroup applications Dial plan applications
 * \section app_generic Asterisk Dial Plan Applications
 * \brief Applications support the dialplan. They register dynamically with
 *        \see ast_register_application() and unregister with
 *        \see ast_unregister_application()
 * \par See also
 * \arg \ref functions
 */

/*!
 * \addtogroup functions Module: Dial plan functions
 * \section func_generic Asterisk Dial Plan Functions
 * \brief Functions support the dialplan.  They do not change any property of a channel
 *        or touch a channel in any way.
 * \par See also
 * \arg \ref applications
 *
 */

/*!
 * \addtogroup codecs Module: Codecs
 * \section codec_generic Asterisk Codec Modules
 * Codecs are referenced in configuration files by name
 * \par See also
 * \arg \ref formats
 */

/*!
 * \addtogroup formats Module: Media File Formats
 * \section codec_generic Asterisk Format drivers
 * Formats are modules that read or write media files to disk.
 * \par See also
 * \arg \ref codecs
 */

/*!
 * \addtogroup rtp_engines Module: RTP Engines
 * \section rtp_engine_blah Asterisk RTP Engines
 */