doxyref.h 11 KB

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