8e45f56208bd90b54b8ac7164996add678f7c021
[asterisk/asterisk.git] / include / asterisk / doxyref.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2008, 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  * \brief This file generates Doxygen pages from files in the /doc
20  *        directory of the Asterisk source code tree 
21  */
22
23 /* 
24  * The following is for Doxygen Developer's documentation generated
25  * by running "make progdocs" with doxygen installed on your
26  * system.
27  */
28
29 /*! 
30  * \page DevDoc Asterisk Developer's Documentation - Appendices
31  *
32  * \section devpolicy Development and Release Policies
33  * \arg \ref CodeGuide : The must-read document for all developers
34  * \arg \ref CommitMessages : Information on formatting and special tags for commit messages
35  * \arg \ref ReleaseStatus : The current support level for various Asterisk releases
36  * \arg \ref ReleasePolicies : Asterisk Release and Commit Policies
37  * \arg \ref AstCREDITS : A Thank You to contributors (unfortunately out of date)
38  *
39  * \section apisandinterfaces Asterisk APIs and Interfaces
40  * \arg \ref AstAPI
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 AJI_intro : The Asterisk Jabber Interface
47  * \arg \ref AstCDR
48  * \arg \ref AstVar
49  * \arg \ref AstVideo
50  * \arg \ref AstENUM : The IETF way to redirect from phone numbers to VoIP calls
51  * \arg \ref AstHTTP
52  * \arg \ref AstSpeech
53  *
54  * \section debugconfig Debugging and Configuration References
55  * \arg \ref AstREADME : General Administrator README file
56  * \arg \ref AstDebug : Hints on debugging
57  * \arg \ref extref 
58  * \arg \ref ConfigFiles
59  * \arg \ref SoundFiles included in the Asterisk distribution
60  *
61  * \section weblinks Web sites
62  * \arg \b Main:  Asterisk Developer's website http://www.asterisk.org/developers/
63  * \arg \b Bugs: The Issue Tracker http://bugs.digium.com
64  * \arg \b Lists: List Server http://lists.digium.com
65  * \arg \b Wiki: The Asterisk Wiki      http://www.voip-info.org
66  * \arg \b Docs: The Asterisk Documentation Project http://www.asteriskdocs.org
67  * \arg \b Digium: The Asterisk Company http://www.digium.com
68  */
69
70 /*!
71  * \page ReleaseStatus Asterisk Release Status
72  *
73  * @AsteriskTrunkWarning
74  *
75  * \section warranty Warranty
76  * The following warranty applies to all open source releases of Asterisk:
77  *
78  * NO WARRANTY
79  *
80  * BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
81  * FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
82  * OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
83  * PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
84  * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
85  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
86  * TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
87  * PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
88  * REPAIR OR CORRECTION.
89
90  * IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
91  * WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
92  * REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
93  * INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
94  * OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
95  * TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
96  * YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
97  * PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
98  * POSSIBILITY OF SUCH DAMAGES.
99  *
100  * \section releasestatustypes Release Status Types
101  *
102  * Release management is a essentially an agreement between the development
103  * community and the %user community on what kind of updates can be expected
104  * for Asterisk releases, and what types of changes these updates will contain.
105  * Once these policies are established, the development community works very
106  * hard to adhere to them.  However, the development community does reserve
107  * the right to make exceptions to these rules for special cases as the need
108  * arises.
109  *
110  * Asterisk releases are in various states of maintenance.  The states are
111  * defined here:
112  *
113  * \arg <b>None</b> - This release series is receiving no updates whatsoever.
114  * \arg <b>Security-Only</b> - This release series is receiving updates, but
115  *      only to address security issues.  Security issues found and fixed in
116  *      this release series will be accompanied by a published security advisory
117  *      from the Asterisk project.
118  * \arg <b>Full-Support</b> - This release series is receiving updates for all
119  *      types of bugs.
120  * \arg <b>Full-Development</b> - Changes in this part of Asterisk include bug
121  *      fixes, as well as new %features and architectural improvements.
122  *
123  * \section AsteriskReleases Asterisk Maintenance Levels
124  *
125  * \htmlonly
126  * <table border="1">
127  *  <tr>
128  *   <td><b>Name</b></td>
129  *   <td><b>SVN Branch</b></td>
130  *   <td><b>Status</b></td>
131  *   <td><b>Notes</b></td>
132  *  </tr>
133  *  <tr>
134  *   <td>Asterisk 1.0</td>
135  *   <td>/branches/1.0</td>
136  *   <td>None</td>
137  *  </tr>
138  *  <tr>
139  *   <td>Asterisk 1.2</td>
140  *   <td>/branches/1.2</td>
141  *   <td>Security-Only</td>
142  *  </tr>
143  *  <tr>
144  *   <td>Asterisk 1.4</td>
145  *   <td>/branches/1.4</td>
146  *   <td>Full-Support</td>
147  *  </tr>
148  *  <tr>
149  *   <td>Asterisk 1.6.0</td>
150  *   <td>/branches/1.6.0</td>
151  *   <td>Full-Support</td>
152  *  </tr>
153  *  <tr>
154  *   <td>Asterisk 1.6.1</td>
155  *   <td>/branches/1.6.1</td>
156  *   <td>Full-Support</td>
157  *   <td>Still in beta</td>
158  *  </tr>
159  *  <tr>
160  *   <td>Asterisk trunk</td>
161  *   <td>/trunk</td>
162  *   <td>Full-Development</td>
163  *   <td>No releases are made directly from trunk.</td>
164  *  </tr>
165  * </table>
166  * \endhtmlonly
167  *
168  * For more information on how and when Asterisk releases are made, see the
169  * release policies page:
170  * \arg \ref ReleasePolicies
171  */
172
173 /*!
174  * \page ReleasePolicies Asterisk Release and Commit Policies
175  *
176  * \AsteriskTrunkWarning
177  *
178  * \section releasestatus Asterisk Release Status
179  *
180  * For more information on the current status of each Asterisk release series,
181  * please see the Asterisk Release Status page:
182  *
183  * \arg \ref ReleaseStatus
184  *
185  * <hr/>
186  *
187  * \section commitmonitoring Commit Monitoring
188  *
189  * To monitor commits to Asterisk and related projects, visit 
190  * <a href="http://lists.digium.com/">http://lists.digium.com</a>.  The Digium
191  * mailing list server hosts a %number of mailing lists for commits.
192  *
193  * <hr/>
194  *
195  * \section ast10policy Asterisk 1.0
196  *
197  * \subsection svnbranch SVN Branch
198  *
199  * \arg /branches/1.0
200  *
201  * \subsection ast10releases Release and Commit Policy
202  * No more releases of Asterisk 1.0 will be made for any reason.
203  *
204  * No commits should be made to the Asterisk 1.0 branch.
205  * 
206  * <hr/>
207  *
208  * \section ast12policy Asterisk 1.2
209  *
210  * \subsection svnbranch SVN Branch
211  *
212  * \arg /branches/1.2
213  *
214  * \subsection ast12releases Release and Commit Policy
215  *
216  * There will be no more scheduled releases of Asterisk 1.2.
217  * 
218  * Commits to the Asterisk 1.2 branch should only address security issues or
219  * regressions introduced by previous security fixes.  For a security issue, the
220  * commit should be accompanied by an 
221  * <a href="http://downloads.digium.com/pub/security/">Asterisk Security Advisory</a>
222  * and an immediate release.  When a commit goes in to fix a regression, the previous
223  * security advisory that is related to the change that introduced the bug should get
224  * updated to indicate that there is an updated version of the fix.  A release should
225  * be made immediately for these regression fixes, as well.
226  *
227  * <hr/>
228  *
229  * \section ast14policy Asterisk 1.4
230  *
231  * \subsection svnbranch SVN Branch
232  *
233  * \arg /branches/1.4
234  *
235  * \subsection ast14releases Release and Commit Policy
236  *
237  * Asterisk 1.4 is receiving regular bug fix release updates.  An attempt is made to
238  * make releases of every four to six weeks.  Since this release series is receiving
239  * changes for all types of bugs, the number of changes in a single release can be
240  * significant.  1.4.X releases go through a release candidate testing cycle to help
241  * catch any regressions that may have been introduced.
242  *
243  * Commits to Asterisk 1.4 must be to address bugs only.  No new %features should be
244  * introduced into Asterisk 1.4 to reduce the %number of changes to this established
245  * release series.  The only exceptions to this %rule are for cases where something
246  * that may be considered a feature is needed to address a bug or security issue.
247  *
248  * <hr/>
249  *
250  * \section ast16policy Asterisk 1.6
251  *
252  * \subsection svnbranch SVN Branch
253  *
254  * \arg /branches/1.6.*
255  *
256  * \subsection ast16releases Release and Commit Policy
257  *
258  * Asterisk 1.6 is managed in a different way than previous Asterisk release series.
259  * From a high level, it was inspired by the release model used for Linux 2.6.
260  * The intended time frame for 1.6.X releases is every 2 or 3 months.  Each 1.6.X
261  * release gets its own branch.  The 1.6.X branches are branches off of trunk.
262  * Once the branch is created, it only receives bug fixes.  Each 1.6.X release goes
263  * through a beta and release candidate testing cycle.
264  *
265  * After a 1.6.X release is published, it will be maintained until 1.6.[X + 3] is
266  * released.  While a 1.6.X release branch is still maintained, it will receive only
267  * bug fixes.  Periodic maintenance releases will be made and labeled as 1.6.X.Y.
268  * 1.6.X.Y releases should go through a release candidate test cycle before being
269  * published.
270  *
271  * For now, all previous 1.6 release will be maintained for security issues.  Once
272  * we have more 1.6 releases to deal with, this part of the policy will likely change.
273  * 
274  * For some history on the motivations for Asterisk 1.6 release management, see the
275  * first two sections of this
276  * <a href="http://lists.digium.com/pipermail/asterisk-dev/2007-October/030083.html">mailing list post</a>.
277  *
278  * <hr/>
279  *
280  * \section asttrunk Asterisk Trunk
281  *
282  * \subsection svnbranch SVN Branch
283  *
284  * \arg /trunk
285  *
286  * \subsection asttrunkpolicy Release and Commit Policy
287  *
288  * No releases are ever made directly from Asterisk trunk.
289  *
290  * Asterisk trunk is used as the main development area for upcoming Asterisk 1.6 
291  * releases.  Commits to Asterisk trunk are not limited.  They can be bug fixes,
292  * new %features, and architectural improvements.  However, for larger sets
293  * of changes, developers should work with the Asterisk project leaders to
294  * schedule them for inclusion.  Care is taken not to include too many invasive
295  * sets of changes for each new Asterisk 1.6 release.
296  *
297  * No changes should go into Asterisk trunk that are not ready to go into a
298  * release.  While the upcoming release will go through a beta and release
299  * candidate test cycle, code should not be in trunk until the code has been
300  * tested and reviewed such that there is reasonable belief that the code
301  * is ready to go.
302  *
303  * <hr/>
304  *
305  * \section astteam Asterisk Team Branches
306  *
307  * \subsection svnbranch SVN Branch
308  *
309  * \arg /team/&lt;developername&gt;
310  *
311  * \subsection astteampolicy Release and Commit Policy
312  *
313  * The Asterisk subversion repository has a special directory called "team"
314  * where developers can make their own personal development branches.  This is
315  * where new %features, bug fixes, and architectural improvements are developed
316  * while they are in %progress.
317  *
318  * Just about anything goes as far as commits to this area goes.  However,
319  * developers should keep in mind that anything committed here, as well as
320  * anywhere else on Digium's SVN server, falls under the contributor license
321  * agreement.
322  *
323  * In addition to each developer having their own space for working on projects,
324  * there is also a team/group folder where %group development efforts take place.
325  *
326  * Finally, in each developer folder, there is a folder called "private".  This
327  * is where developers can create branches for working on things that they are
328  * not ready for the whole world to see.
329  */
330
331 /*! 
332  * \page CodeGuide Coding Guidelines
333  * \AsteriskTrunkWarning
334  * \section Coding Guidelines
335  * This file is in the /doc directory in your Asterisk source tree.
336  * Make sure to stay up to date with the latest guidelines.
337  * \verbinclude CODING-GUIDELINES
338  */
339
340 /*!
341  * \page CommitMessages Guidelines for Commit Messages
342  *
343  * \AsteriskTrunkWarning
344  *
345  * <hr/>
346  *
347  * \section CommitMsgFormatting Commit Message Formatting
348  *
349  * The following illustrates the basic outline for commit messages:
350  *
351   \verbatim
352   <One-liner summary of changes>
353  
354   <Verbose description of the changes>
355
356   <Special Tags>
357   \endverbatim
358  *
359  * Some commit history viewers treat the first line of commit messages as the
360  * summary for the commit.  So, an effort should be made to format our commit
361  * messages in that fashion.  The verbose description may contain multiple 
362  * paragraphs, itemized lists, etc.
363  *
364  * Commit messages should be wrapped at 80 %columns.
365  *
366  * \note For trivial commits, such as "fix the build", or "fix spelling mistake",
367  *       the verbose description may not be necessary.
368  *
369  * <hr/>
370  *
371  * \section CommitMsgTags Special Tags for Commit Messages
372  *
373  * \subsection MantisTags Mantis (http://bugs.digium.com/)
374  *
375  * To have a commit noted in an issue, use a tag of the form: 
376  * \arg (issue #1234)
377  *
378  * To have a commit automatically close an issue, use a tag of the form:
379  * \arg (closes issue #1234)
380  *
381  * When making a commit for a mantis issue, it is easiest to use the
382  * provided commit %message template functionality.  It will format the
383  * special tags appropriately, and will also include information about who
384  * reported the issue, which patches are being applied, and who did testing.
385  * 
386  * Assuming that you have bug marshal access (and if you have commit access,
387  * it is pretty safe to assume that you do), you will find the commit %message
388  * template section directly below the issue details section and above the
389  * issue relationships section.  You will have to click the '+' next to
390  * "Commit message template" to make the contents of the section visible.
391  *
392  * Here is an example of what the template will generate for you:
393  *
394   \verbatim
395   (closes issue #1234)
396   Reported by: SomeGuy
397   Patches:
398        fix_bug_1234.diff uploaded by SomeDeveloper (license 5678)
399   \endverbatim
400  *
401  * If the patch being committed was written by the person doing the commit,
402  * and is not available to reference as an upload to the issue, there is no
403  * need to include something like "fixed by me", as that will be the default
404  * assumption when a specific patch is not referenced.
405  *
406  * \subsection ReviewBoardTags Review Board (http://reviewboard.digium.com/)
407  *
408  * To have a commit set a review request as submitted, include the full URL
409  * to the review request.  For example:
410  * \arg Review: %http://reviewboard.digium.com/r/95/
411  *
412  * <hr/>
413  *
414  * \section CommitMsgSvnmerge Commit Messages with svnmerge
415  *
416  * When using the svnmerge tool for merging changes between branches, use the
417  * commit %message generated by svnmerge.  The '-f' option to svnmerge allows
418  * you to specify a file for svnmerge to write out a commit %message to.  The
419  * '-F' option to svn commit allows you to specify a file that contains the
420  * commit %message.
421  *
422  * If you are using the expect script wrappers for svnmerge from repotools,
423  * a commit %message is automatically placed in the file '../merge.msg'.
424  *
425  * For more detailed information about working with branches and merging,
426  * see the following page on %asterisk.org:
427  * \arg http://www.asterisk.org/developers/svn-branching-merging
428  */
429
430 /*! 
431  * \page AstAPI Asterisk API
432  * \section Asteriskapi Asterisk API
433  * Some generic documents on the Asterisk architecture
434  *
435  * \arg \ref AstThreadStorage
436  * \arg \ref DataStores
437  * \arg \ref AstExtState
438  *
439  * \subsection model_txt Generic Model
440  * \verbinclude model.txt
441  * \subsection channel_txt Channels
442  * \arg See \ref Def_Channel
443  */
444
445 /*! 
446  * \page AstDebug Debugging
447  * \section debug Debugging
448  * \verbinclude backtrace.txt
449  */
450
451 /*!
452  * \page AstSpeech The Generic Speech Recognition API
453  * \section debug The Generic Speech Recognition API
454  * \verbinclude speechrec.txt
455  */
456
457 /*! 
458  * \page DataStores Channel Data Stores
459  * \section debug Channel Data Stores
460  * \verbinclude datastores.txt
461  */
462
463 /*! 
464  * \page AstAMI AMI - The Manager Interface
465  * \section ami AMI - The manager Interface
466  * \arg \link Config_ami Configuration file \endlink
467  * \arg \ref manager.c
468  * \verbinclude manager.txt
469  */
470
471 /*!
472  * \page AstARA ARA - The Asterisk Realtime Interface
473  * \section realtime ARA - a generic API to storage and retrieval
474  * Implemented in \ref config.c 
475  * Implemented in \ref pbx_realtime.c 
476  * \verbinclude realtime.txt
477  * \verbinclude extconfig.txt
478  */
479
480 /*! 
481  * \page AstDUNDi DUNDi
482  *
483  * DUNDi is a peer-to-peer system for locating Internet gateways to telephony 
484  * services. Unlike traditional centralized services (such as the remarkably 
485  * simple and concise ENUM standard), DUNDi is fully-distributed with no 
486  * centralized authority whatsoever.
487  *
488  * DUNDi is not itself a Voice-over IP signaling or media protocol. Instead, 
489  * it publishes routes which are in turn accessed via industry standard 
490  * protocols such as IAX, SIP and H.323. 
491  *
492  * \par References
493  * \arg DUNDi is documented at http://www.dundi.com
494  * \arg Implemented in \ref pbx_dundi.c and \ref dundi-parser.c
495  * \arg Configuration in \link Config_dun dundi.conf \endlink
496  */
497
498 /*! 
499  * \page AstCDR CDR - Call Data Records and billing
500  * \section cdr Call Data Records
501  * \par See also
502  * \arg \ref cdr.c
503  * \arg \ref cdr_drivers
504  * \arg \ref Config_cdr CDR configuration files
505  *
506  * \verbinclude cdrdriver.txt
507  */
508
509 /*! 
510  * \page AstREADME README
511  * \verbinclude README
512  */
513  
514 /*! 
515  * \page AstCREDITS CREDITS
516  * \verbinclude CREDITS
517  */
518
519 /*! 
520  * \page AstVideo Video support in Asterisk
521  * \section sectAstVideo Video support in Asterisk
522  * \verbinclude video.txt
523  */
524
525 /*! 
526  * \page AstVar Globally predefined channel variables
527  * \section globchan Globally predefined channel variables
528  *
529  * More and more of these variables are being replaced by dialplan functions.
530  * Some still exist though and some that does still exist needs to move to
531  * dialplan functions.
532  *
533  * See also
534  * - \ref pbx_retrieve_variable()
535  * - \ref AstChanVar
536  *
537  *  \verbinclude channelvariables.tex
538  */
539
540 /*! 
541  * \page AstChanVar Asterisk Dialplan Variables
542  *      Asterisk Dialplan variables are divided into three groups:
543  *      - Predefined global variables, handled by the PBX core
544  *      - Global variables, that exist for the duration of the pbx execution
545  *      - Channel variables, that exist during a channel
546  *
547  * Global variables are reachable in all channels, all of the time.
548  * Channel variables are only reachable within the channel.
549  *
550  * For more information on the predefined variables, see \ref AstVar
551  * 
552  * Global and Channel variables:
553  * - Names are Case insensitive
554  * - Names that start with a character, but are alphanumeric
555  * - Global variables are defined and reached with the GLOBAL() dialplan function
556  *   and the set application, like
557  *
558  *      exten => 1234,1,set(GLOBAL(myvariable)=tomteluva)
559  *
560  *      - \ref func_global.c
561  *
562  * - Channel variables are defined with the set() dialplan application
563  *
564  *      exten => 1234,1,set(xmasattribute=tomtegröt)
565  *
566  * - Some channels also supports setting channel variables with the \b setvar=
567  *   configuraiton option for a device or line.
568  *
569  * \section AstChanVar_globalvars Global Variables
570  * Global variables can also be set in the [globals] section of extensions.conf. The
571  * setting \b clearglobalvars in extensions.conf [general] section affects whether
572  * or not the global variables defined in \b globals are reset at dialplan reload.
573  * 
574  * There are CLI commands to change and read global variables. This can be handy
575  * to reset counters at midnight from an external script.
576  *
577  * \section AstChanVar_devnotes Developer notes
578  * Variable handling is managed within \ref pbx.c
579  * You need to include pbx.h to reach these functions.
580  *      - \ref pbx_builtin_setvar_helper()
581  *      - \ref pbx_builtin_getvar_helper()
582  *
583  * The variables is a linked list stored in the channel data structure
584  * with the list starting at varshead in struct ast_channel
585  */
586
587 /*! 
588  * \page AstENUM ENUM
589  * \section enumreadme ENUM
590  * \arg Configuration: \ref Config_enum
591  * \arg \ref enum.c
592  * \arg \ref func_enum.c
593  *
594  * \verbinclude enum.txt
595  */
596
597 /*! 
598  * \page ConfigFiles Configuration files
599  * \section config Main configuration files
600  * \arg \link Config_ast asterisk.conf - the main configuration file \endlink
601  * \arg \link Config_ext extensions.conf - The Dial Plan \endlink
602  * \arg \link Config_mod modules.conf - which modules to load and not to load \endlink
603  * \arg \link Config_fea features.conf - call features (transfer, parking, etc) \endlink
604  * \section chanconf Channel configuration files
605  * \arg \link Config_iax IAX2 configuration  \endlink
606  * \arg \link Config_sip SIP configuration  \endlink
607  * \arg \link Config_mgcp MGCP configuration  \endlink
608  * \arg \link Config_rtp RTP configuration  \endlink
609  * \arg \link Config_dahdi DAHDI configuration  \endlink
610  * \arg \link Config_oss OSS (sound card) configuration  \endlink
611  * \arg \link Config_alsa ALSA (sound card) configuration  \endlink
612  * \arg \link Config_agent Agent (proxy channel) configuration  \endlink
613  * \arg \link Config_misdn MISDN Experimental ISDN BRI channel configuration  \endlink
614  * \arg \link Config_h323 H.323 configuration  \endlink
615  * \section appconf Application configuration files
616  * \arg \link Config_mm Meetme (conference bridge) configuration  \endlink
617  * \arg \link Config_qu Queue system configuration  \endlink
618  * \arg \link Config_vm Voicemail configuration  \endlink
619  * \arg \link Config_followme Followme configuration  \endlink
620  * \section cdrconf CDR configuration files
621  * \arg \link Config_cdr CDR configuration  \endlink
622  * \arg \link cdr_custom Custom CDR driver configuration \endlink
623  * \arg \link cdr_ami Manager CDR driver configuration \endlink
624  * \arg \link cdr_odbc ODBC CDR driver configuration \endlink
625  * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink
626  * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink
627  * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink
628  * \section miscconf Miscellenaous configuration files
629  * \arg \link Config_adsi ADSI configuration  \endlink
630  * \arg \link Config_ami AMI - Manager configuration  \endlink
631  * \arg \link Config_ara Realtime configuration  \endlink
632  * \arg \link Config_codec Codec configuration  \endlink
633  * \arg \link Config_dun DUNDi configuration  \endlink
634  * \arg \link Config_enum ENUM configuration  \endlink
635  * \arg \link Config_moh Music on Hold configuration  \endlink
636  * \arg \link Config_vm Voicemail configuration  \endlink
637  * \arg \link res_config_sqlite SQLite Resource driver configuration \endlink
638  */
639
640 /*! 
641  * \page Config_ast Asterisk.conf
642  * \verbinclude asterisk-conf.txt
643  */
644
645 /*! 
646  * \page Config_mod Modules configuration
647  * All res_ resource modules are loaded with globals on, which means
648  * that non-static functions are callable from other modules.
649  *
650  * If you want your non res_* module to export functions to other modules
651  * you have to include it in the [global] section.
652  * \verbinclude modules.conf.sample
653  */
654
655 /*! 
656  * \page Config_fea Call features configuration
657  * \par See also
658  * \arg \ref res_features.c : Call feature implementation
659  * \section featconf features.conf
660  * \verbinclude features.conf.sample
661  */
662
663 /*! 
664  * \page Config_followme Followme: An application for simple follow-me calls
665  * \section followmeconf Followme.conf
666  * - See app_followme.c
667  * \verbinclude followme.conf.sample
668  */
669
670 /*! 
671  * \page Config_ext Extensions.conf - the Dial Plan
672  * \section dialplan Extensions.conf 
673  * \verbinclude extensions.conf.sample
674  */
675
676 /*! 
677  * \page Config_iax IAX2 configuration
678  * IAX2 is implemented in \ref chan_iax2.c
679  * \arg \link Config_iax iax.conf Configuration file example \endlink
680  * \section iaxreadme IAX readme file
681  * \verbinclude iax.txt
682  * \section Config_iax IAX Configuration example
683  * \verbinclude iax.conf.sample
684  * \section iaxjitter IAX Jitterbuffer information
685  * \verbinclude jitterbuffer.txt
686  */
687
688 /*! 
689  * \page Config_iax IAX configuration
690  * \arg Implemented in \ref chan_iax2.c
691  * \section iaxconf iax.conf
692  * \verbinclude iax.conf.sample
693  */
694
695 /*! 
696  * \page Config_sip SIP configuration
697  * Also see \ref Config_rtp RTP configuration
698  * \arg Implemented in \ref chan_sip.c
699  * \section sipconf sip.conf
700  * \verbinclude sip.conf.sample
701  *
702  * \arg \b Back \ref chanconf
703  */
704
705 /*! 
706  * \page Config_mgcp MGCP configuration
707  * Also see \ref Config_rtp RTP configuration
708  * \arg Implemented in \ref chan_mgcp.c
709  * \section mgcpconf mgcp.conf
710  * \verbinclude mgcp.conf.sample
711  */
712
713 /*! 
714  * \page README_misdn MISDN documentation
715  * \arg See \ref Config_misdn
716  * \section mISDN configuration
717  * \verbinclude misdn.txt
718  */
719
720 /*! 
721  * \page Config_misdn MISDN configuration
722  * \arg Implemented in \ref chan_misdn.c
723  * \arg \ref README_misdn
724  * \arg See the mISDN home page: http://www.isdn4linux.de/mISDN/
725  * \section misdnconf misdn.conf
726  * \verbinclude misdn.conf.sample
727  */
728
729 /*! 
730  * \page Config_vm VoiceMail configuration
731  * \section vmconf voicemail.conf
732  * \arg Implemented in \ref app_voicemail.c
733  * \verbinclude voicemail.conf.sample
734  */
735
736 /*! 
737  * \page Config_dahdi DAHDI configuration
738  * \section dahdiconf dahdi.conf
739  * \arg Implemented in \ref chan_dahdi.c
740  * \verbinclude dahdi.conf.sample
741  */
742
743 /*! 
744  * \page Config_h323 H.323 channel driver information
745  * This is the configuration of the H.323 channel driver within the Asterisk
746  * distribution. There's another one, called OH323, in asterisk-addons
747  * \arg Implemented in \ref chan_h323.c
748  * \section h323conf h323.conf
749  * \ref chan_h323.c
750  */
751
752 /*! 
753  * \page Config_oss OSS configuration
754  * \section ossconf oss.conf
755  * \arg Implemented in \ref chan_oss.c
756  * \verbinclude oss.conf.sample
757  */
758
759 /*! 
760  * \page Config_alsa ALSA configuration
761  * \section alsaconf alsa.conf
762  * \arg Implemented in \ref chan_alsa.c
763  * \verbinclude alsa.conf.sample
764  */
765
766 /*! 
767  * \page Config_agent Agent configuration
768  * \section agentconf agents.conf
769  * The agent channel is a proxy channel for queues
770  * \arg Implemented in \ref chan_agent.c
771  * \verbinclude agents.conf.sample
772  */
773
774 /*! 
775  * \page Config_rtp RTP configuration
776  * \arg Implemented in \ref rtp.c
777  * Used in \ref chan_sip.c and \ref chan_mgcp.c (and various H.323 channels)
778  * \section rtpconf rtp.conf
779  * \verbinclude rtp.conf.sample
780  */
781
782 /*! 
783  * \page Config_dun DUNDi Configuration
784  * \arg See also \ref AstDUNDi
785  * \section dundiconf dundi.conf
786  * \verbinclude dundi.conf.sample
787  */
788
789 /*! 
790  * \page Config_enum ENUM Configuration
791  * \section enumconf enum.conf
792  * \arg See also \ref enumreadme
793  * \arg Implemented in \ref func_enum.c and \ref enum.c
794  * \verbinclude enum.conf.sample
795  */
796
797 /*! 
798  * \page cdr_custom Custom CDR Configuration
799  * \par See also 
800  * \arg \ref cdrconf
801  * \arg \ref cdr_custom.c
802  * \verbinclude cdr_custom.conf.sample
803  */
804
805 /*! 
806  * \page cdr_ami Manager CDR driver configuration
807  * \par See also 
808  * \arg \ref cdrconf
809  * \arg \ref AstAMI
810  * \arg \ref cdr_manager.c
811  * \verbinclude cdr_manager.conf.sample
812  */
813
814 /*! 
815  * \page cdr_odbc ODBC CDR driver configuration
816  * \arg See also \ref cdrconf
817  * \arg \ref cdr_odbc.c
818  * \verbinclude cdr_odbc.conf.sample
819  * See also:
820  * \arg http://www.unixodbc.org
821  */
822
823 /*! 
824  * \page cdr_pgsql PostgreSQL CDR driver configuration
825  * \arg See also \ref cdrconf
826  * \arg \ref cdr_pgsql.c
827  * See also:
828  * \arg http://www.postgresql.org
829  * \verbinclude cdr_pgsql.conf.sample
830  */
831
832 /*! 
833  * \page cdr_sqlite SQLite CDR driver configuration
834  * \arg See also \ref cdrconf
835  * \arg \ref cdr_sqlite.c
836  * See also:
837  * \arg http://www.sqlite.org
838  */
839
840 /*! 
841  * \page cdr_tds FreeTDS CDR driver configuration
842  * \arg See also \ref cdrconf
843  * See also:
844  * \arg http://www.freetds.org
845  * \verbinclude cdr_tds.conf.sample
846  */
847
848 /*! 
849  * \page Config_cdr CDR configuration
850  * \par See also
851  * \arg \ref cdr_drivers
852  * \arg \link Config_cdr CDR configuration  \endlink  
853  * \arg \link cdr_custom Custom CDR driver configuration \endlink
854  * \arg \link cdr_ami Manager CDR driver configuration \endlink
855  * \arg \link cdr_odbc ODBC CDR driver configuration \endlink
856  * \arg \link cdr_pgsql PostgreSQL CDR driver configuration \endlink
857  * \arg \link cdr_sqlite SQLite CDR driver configuration \endlink
858  * \arg \link cdr_tds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink
859  * \verbinclude cdr.conf.sample
860  */
861
862 /*! 
863  * \page Config_moh Music on Hold Configuration
864  * \arg Implemented in \ref res_musiconhold.c
865  * \section mohconf musiconhold.conf
866  * \verbinclude musiconhold.conf.sample
867  */
868
869 /*! 
870  * \page Config_adsi ADSI Configuration
871  * \section adsiconf adsi.conf
872  * \verbinclude adsi.conf.sample
873  */
874
875 /*! 
876  * \page Config_codec CODEC Configuration
877  * \section codecsconf codecs.conf
878  * \verbinclude codecs.conf.sample
879  */
880
881 /*! 
882  * \page Config_ara REALTIME Configuration
883  * \arg See also: \arg \link AstARA \endlink
884  * \section extconf extconfig.conf
885  * \verbinclude extconfig.conf.sample
886  */
887
888 /*! 
889  * \page Config_ami AMI configuration
890  * \arg See also: \arg \link AstAMI \endlink
891  * \section amiconf manager.conf
892  * \verbinclude manager.conf.sample
893  */
894
895 /*! 
896  * \page Config_qu ACD - Queue system configuration
897  * \arg Implemented in \ref app_queue.c
898  * \section quconf queues.conf
899  * \verbinclude queues.conf.sample
900  */
901
902 /*! 
903  * \page Config_mm Meetme - The conference bridge configuration
904  * \arg Implemented in \ref app_meetme.c
905  * \section mmconf meetme.conf
906  * \verbinclude meetme.conf.sample
907  */
908
909 /*! 
910  * \page SoundFiles Sound files
911  * \section SecSound Asterisk Sound files
912  * Asterisk includes a large number of sound files. Many of these
913  * are used by applications and demo scripts within asterisk.
914  *
915  * Additional sound files are available in the asterisk-addons
916  * repository on svn.digium.com
917  */
918
919 /*! 
920  * \addtogroup cdr_drivers Module: CDR Drivers
921  * \section CDR_generic Asterisk CDR Drivers
922  * \brief CDR drivers are loaded dynamically, each loaded CDR driver produce 
923  *        a billing record for each call.
924  * \arg \ref Config_mod "Modules Configuration"
925  * \arg \ref Config_cdr "CDR Configuration"
926  */
927
928
929 /*! 
930  * \addtogroup channel_drivers Module: Asterisk Channel Drivers
931  * \section channel_generic Asterisk Channel Drivers
932  * \brief Channel drivers are loaded dynamically. 
933  * \arg \ref Config_mod "Modules Configuration"
934  */
935
936 /*! 
937  * \addtogroup applications Module: Dial plan applications
938  * \section app_generic Asterisk Dial Plan Applications
939  * \brief Applications support the dialplan. They register dynamically with 
940  *        \see ast_register_application() and unregister with 
941  *        \see ast_unregister_application()
942  * \par See also
943  * \arg \ref functions
944  */
945
946 /*! 
947  * \addtogroup functions Module: Dial plan functions
948  * \section func_generic Asterisk Dial Plan Functions
949  * \brief Functions support the dialplan.  They do not change any property of a channel
950  *        or touch a channel in any way.
951  * \par See also
952  * \arg \ref applications
953  *  
954  */
955
956 /*! 
957  * \addtogroup codecs Module: Codecs
958  * \section codec_generic Asterisk Codec Modules
959  * Codecs are referenced in configuration files by name 
960  * \par See also 
961  * \arg \ref formats 
962  */
963
964 /*! 
965  * \addtogroup formats Module: Media File Formats 
966  * \section codec_generic Asterisk Format drivers
967  * Formats are modules that read or write media files to disk.
968  * \par See also
969  * \arg \ref codecs 
970  */
971
972 /*! 
973  * \page AstHTTP AMI over HTTP support
974  * The http.c file includes support for manager transactions over
975  * http.
976  * \section ami AMI - The manager Interface
977  * \arg \link Config_ami Configuration file \endlink
978  */
979
980 /*! 
981  * \page res_config_sqlite SQLite Resource driver configuration
982  * \arg Implemented in \ref res_config_sqlite.c
983  * \arg Configuration file:
984  * \verbinclude res_config_sqlite.conf
985  * \arg SQL tables:
986  * \verbinclude res_config_sqlite.txt
987  * \arg See also:
988  * http://www.sqlite.org
989  */
990
991 /*!
992  * \page Licensing Asterisk Licensing Information
993  *
994  * \section license Asterisk License
995  * \verbinclude LICENSE
996  *
997  * \section otherlicenses Licensing of 3rd Party Code
998  *
999  * This section contains a (not yet complete) list of libraries that are used
1000  * by various parts of Asterisk, including related licensing information.
1001  *
1002  * \subsection alsa_lib ALSA Library
1003  * \arg <b>Library</b>: libasound
1004  * \arg <b>Website</b>: http://www.alsa-project.org
1005  * \arg <b>Used by</b>: chan_alsa
1006  * \arg <b>License</b>: LGPL
1007  *
1008  * \subsection openssl_lib OpenSSL
1009  * \arg <b>Library</b>: libcrypto, libssl
1010  * \arg <b>Website</b>: http://www.openssl.org
1011  * \arg <b>Used by</b>: Asterisk core (TLS for manager and HTTP), res_crypto
1012  * \arg <b>License</b>: Apache 2.0
1013  * \arg <b>Note</b>:    An exception has been granted to allow linking of 
1014  *                      OpenSSL with Asterisk.
1015  *
1016  * \subsection curl_lib Curl
1017  * \arg <b>Library</b>: libcurl
1018  * \arg <b>Website</b>: http://curl.haxx.se
1019  * \arg <b>Used by</b>: func_curl, res_config_curl, res_curl
1020  * \arg <b>License</b>: BSD
1021  *
1022  * \subsection portaudio_lib PortAudio
1023  * \arg <b>Library</b>: libportaudio
1024  * \arg <b>Website</b>: http://www.portaudio.com
1025  * \arg <b>Used by</b>: chan_console
1026  * \arg <b>License</b>: BSD
1027  * \arg <b>Note</b>:    Even though PortAudio is licensed under a BSD style
1028  *                      license, PortAudio will make use of some audio interface,
1029  *                      depending on how it was built.  That audio interface may
1030  *                      introduce additional licensing restrictions.  On Linux,
1031  *                      this would most commonly be ALSA: \ref alsa_lib.
1032  *
1033  * \subsection rawlist Raw list of libraries that used by any part of Asterisk
1034  * \li c-client.a (app_voicemail with IMAP support)
1035  * \li libSDL-1.2.so.0
1036  * \li libSaClm.so.2
1037  * \li libSaEvt.so.2
1038  * \li libX11.so.6
1039  * \li libXau.so.6
1040  * \li libXdmcp.so.6
1041  * \li libasound.so.2
1042  * \li libc.so.6
1043  * \li libcom_err.so.2
1044  * \li libcrypt.so.1
1045  * \li libcrypto.so.0.9.8 (chan_h323)
1046  * \li libcurl.so.4
1047  * \li libdirect-1.0.so.0
1048  * \li libdirectfb-1.0.so.0
1049  * \li libdl.so.2
1050  * \li libexpat.so (chan_h323)
1051  * \li libfusion-1.0.so.0
1052  * \li libgcc_s.so (chan_h323)
1053  * \li libgcrypt.so.11 (chan_h323)
1054  * \li libglib-2.0.so.0
1055  * \li libgmime-2.0.so.2
1056  * \li libgmodule-2.0.so.0
1057  * \li libgnutls.so.13 (chan_h323)
1058  * \li libgobject-2.0.so.0
1059  * \li libgpg-error.so.0 (chan_h323)
1060  * \li libgssapi_krb5.so.2
1061  * \li libgthread-2.0.so.0
1062  * \li libidn.so.11
1063  * \li libiksemel.so.3
1064  * \li libisdnnet.so
1065  * \li libjack.so.0
1066  * \li libjpeg.so.62
1067  * \li libk5crypto.so.3
1068  * \li libkeyutils.so.1
1069  * \li libkrb5.so.3
1070  * \li libkrb5support.so.0
1071  * \li liblber-2.4.so.2 (chan_h323)
1072  * \li libldap_r-2.4.so.2 (chan_h323)
1073  * \li libltdl.so.3
1074  * \li liblua5.1.so.0
1075  * \li libm.so.6
1076  * \li libmISDN.so
1077  * \li libnbs.so.1
1078  * \li libncurses.so.5
1079  * \li libnetsnmp.so.15
1080  * \li libnetsnmpagent.so.15
1081  * \li libnetsnmphelpers.so.15
1082  * \li libnetsnmpmibs.so.15
1083  * \li libnsl.so.1
1084  * \li libodbc.so.1
1085  * \li libogg.so.0
1086  * \li libopenh323.so (chan_h323)
1087  * \li libpcre.so.3
1088  * \li libperl.so.5.8
1089  * \li libportaudio.so.2
1090  * \li libpq.so.5
1091  * \li libpri.so.1.4
1092  * \li libpt.so (chan_h323)
1093  * \li libpthread.so.0
1094  * \li libradiusclient-ng.so.2
1095  * \li libresample.so.1.0
1096  * \li libresolv.so.2 (chan_h323)
1097  * \li librt.so.1
1098  * \li libsasl2.so.2 (chan_h323)
1099  * \li libselinux.so.1
1100  * \li libsensors.so.3
1101  * \li libspandsp.so.1
1102  * \li libspeex.so.1
1103  * \li libsqlite.so.0
1104  * \li libsqlite3.so.0
1105  * \li libss7.so.1
1106  * \li libssl.so.0.9.8 (chan_h323)
1107  * \li libstdc++.so (chan_h323, chan_vpb)
1108  * \li libsuppserv.so
1109  * \li libsybdb.so.5
1110  * \li libsysfs.so.2
1111  * \li libtasn1.so.3 (chan_h323)
1112  * \li libtds.so.4
1113  * \li libtiff.so.4
1114  * \li libtonezone.so.1.0
1115  * \li libvorbis.so.0
1116  * \li libvorbisenc.so.2
1117  * \li libvpb.a (chan_vpb)
1118  * \li libwrap.so.0
1119  * \li libxcb-xlib.so.0
1120  * \li libxcb.so.1
1121  * \li libz.so.1 (chan_h323)
1122  * \li linux-vdso.so.1
1123 */