diff --git a/acl.c b/acl.c
index ada5cc415947063fc0310136f98e27d7dd8612fb..7fd13ccf5d7432843f99a145d417e1410670f820 100755
--- a/acl.c
+++ b/acl.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Various sorts of access control
+ * \brief Various sorts of access control
  * 
  */
 
diff --git a/aescrypt.c b/aescrypt.c
index b6147c8344883f99670807e50ae4c78d9202656d..3406b6603721a7103ba75a2757a7337a7d9277df 100755
--- a/aescrypt.c
+++ b/aescrypt.c
@@ -30,7 +30,9 @@
  ---------------------------------------------------------------------------
  Issue Date: 26/08/2003
 
- This file contains the code for implementing encryption and decryption
+*/
+/*! \file
+\brief  This file contains the code for implementing encryption and decryption
  for AES (Rijndael) for block and key sizes of 16, 24 and 32 bytes. It
  can optionally be replaced by code written in assembler using NASM. For
  further details see the file aesopt.h
diff --git a/aeskey.c b/aeskey.c
index 9e8990d598cf44600f2fdeb18f962f23dca011c5..ec24e6caedaadc94828fd4b49eb97e70129cce45 100755
--- a/aeskey.c
+++ b/aeskey.c
@@ -30,7 +30,9 @@
  ---------------------------------------------------------------------------
  Issue Date: 26/08/2003
 
- This file contains the code for implementing the key schedule for AES
+*/
+/*! \file
+\brief  This file contains the code for implementing the key schedule for AES
  (Rijndael) for block and key sizes of 16, 24, and 32 bytes. See aesopt.h
  for further details including optimisation.
 */
diff --git a/alaw.c b/alaw.c
index b39fc19dffa93b7ad3096a15f4ed42f25f249359..a85c89f3d5af69a7263776f522473619fe4c3cb6 100755
--- a/alaw.c
+++ b/alaw.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * u-Law to Signed linear conversion
+ * \brief u-Law to Signed linear conversion
  * 
  */
 
diff --git a/app.c b/app.c
index d9883d110a15bee075f013d09d3aa9f427d6a743..f4afe8045c679fc669291cfe5c42ce79a94dabea 100755
--- a/app.c
+++ b/app.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Convenient Application Routines
+ * \brief Convenient Application Routines
  * 
  */
 
diff --git a/apps/app_adsiprog.c b/apps/app_adsiprog.c
index 8e9d3bf1cea0a73fd244019d3c9639fc09439639..d7d7c364d771b869bb5088550c6ebd79ceb1dfa3 100755
--- a/apps/app_adsiprog.c
+++ b/apps/app_adsiprog.c
@@ -16,9 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Program Asterisk ADSI Scripts into phone
+/*! \file
+ * \brief Program Asterisk ADSI Scripts into phone
  * 
  */
 
diff --git a/apps/app_alarmreceiver.c b/apps/app_alarmreceiver.c
index 9c3843f201c60bb2102936f5f0b82c5cb1a5d8b9..3e8fe4cce0f4a99aa08ee066e459d69c5b7c0987 100755
--- a/apps/app_alarmreceiver.c
+++ b/apps/app_alarmreceiver.c
@@ -16,9 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Central Station Alarm receiver for Ademco Contact ID  
+/*! \file
+ * \brief Central Station Alarm receiver for Ademco Contact ID  
  * 
  * *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING *** 
  *
diff --git a/apps/app_authenticate.c b/apps/app_authenticate.c
index e2b286fd4cc1d539ae6099eb998dde99341f6c5d..593ced433f875caa34e0111c1350ab05b5800dd0 100755
--- a/apps/app_authenticate.c
+++ b/apps/app_authenticate.c
@@ -16,9 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Execute arbitrary authenticate commands
+/*! \file
+ * \brief Execute arbitrary authenticate commands
  * 
  */
 
diff --git a/apps/app_cdr.c b/apps/app_cdr.c
index 80d136c35c27dd87f546bdfc0919826b6aac28c3..d8e8ecb5897e07647ce644748329a00aff59365b 100755
--- a/apps/app_cdr.c
+++ b/apps/app_cdr.c
@@ -16,9 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Applictions connected with CDR engine
+/*! \file
+ * \brief Applications connected with CDR engine
  *
  */
 
diff --git a/apps/app_chanisavail.c b/apps/app_chanisavail.c
index 5c9d4e707a2f6ab7bfc4a784e38084868e11d7d2..9975eebb48508f21263baf9b13861001103a96b4 100755
--- a/apps/app_chanisavail.c
+++ b/apps/app_chanisavail.c
@@ -17,9 +17,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Check if Channel is Available
+/*! \file
+ * \brief Check if Channel is Available
  * 
  */
 
diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c
index fefce3163b769836af4f146cab0c65490abbeadd..036c5edef80efa04e7ee2a4f48f56226c942f9eb 100755
--- a/apps/app_chanspy.c
+++ b/apps/app_chanspy.c
@@ -16,9 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * ChanSpy Listen in on any channel.
+/*! \file
+ * \brief ChanSpy: Listen in on any channel.
  * 
  */
 
diff --git a/apps/app_controlplayback.c b/apps/app_controlplayback.c
index 2a75c8652fe174cc6a95a8facb9c506a04de9f7e..b8e68a3dc5d2ebc500e2c87754665e82ab7953ce 100755
--- a/apps/app_controlplayback.c
+++ b/apps/app_controlplayback.c
@@ -16,9 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Trivial application to control playback a sound file
+/*! \file
+ * \brief Trivial application to control playback of a sound file
  * 
  */
  
diff --git a/apps/app_curl.c b/apps/app_curl.c
index c43d1a90e56a31c10cde47654bcca8f93365de11..596b908b68675215056f89f8bec8e6df24d22f2d 100755
--- a/apps/app_curl.c
+++ b/apps/app_curl.c
@@ -17,9 +17,8 @@
  *
  */
 
-/*
- *
- * Curl - App to load a URL
+/*! \file
+ * \brief Curl - App to load a URL
  * 
  */
  
diff --git a/apps/app_cut.c b/apps/app_cut.c
index bc270371d40e021ba9478c651edb0d42e9f9150a..c6576bfcc40ed332b5abb7740fc8b07c371697a9 100755
--- a/apps/app_cut.c
+++ b/apps/app_cut.c
@@ -15,9 +15,8 @@
  *
  */
 
-/*
- *
- * Cut application
+/*! \file
+ * \brief Cut application
  *
  */
 
diff --git a/apps/app_datetime.c b/apps/app_datetime.c
index 345fc8a484ec87c88d464a23e199816e6a788c97..7bae2fcbc12e33d0837cdd33d207397a01a1d93a 100755
--- a/apps/app_datetime.c
+++ b/apps/app_datetime.c
@@ -16,9 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Time of day - Report the time of day
+/*! \file
+ * \brief Time of day - Report the time of day
  * 
  */
 
diff --git a/apps/app_db.c b/apps/app_db.c
index 970956a3ad23b88d344b73b79ab0b2094e9b7caf..e808c8ef61bf0b5c9946bb5cd1f2b5c802ae1d90 100755
--- a/apps/app_db.c
+++ b/apps/app_db.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Database access functions
+ * \brief Database access functions
  *
  */
 
diff --git a/apps/app_dial.c b/apps/app_dial.c
index 5a32f28d4c70934beeb8c824676c5b5772e42f40..5792e34a21e3a9576255e0ee3ae2e4bc8cc9e3a8 100755
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Trivial application to dial a channel and send an URL on answer
+ * \brief dial() & retrydial() - Trivial application to dial a channel and send an URL on answer
  * 
  */
 
diff --git a/apps/app_dictate.c b/apps/app_dictate.c
index caa595e4150adecc5ef02c7d4799e8bfff503ca0..bf17432d2f4b6449e61efbc215b3d8a86adc3f6f 100755
--- a/apps/app_dictate.c
+++ b/apps/app_dictate.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Virtual Dictation Machine Application For Asterisk
+ * \brief Virtual Dictation Machine Application For Asterisk
  *
  */
 
diff --git a/apps/app_directed_pickup.c b/apps/app_directed_pickup.c
index 836d02b42f9503b5fa69f3b7bbb0a9f36bbde614..7be20881f0dddf22ac8163eff3a9980602db3804 100755
--- a/apps/app_directed_pickup.c
+++ b/apps/app_directed_pickup.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Directed Call Pickup Support
+ * \brief Directed Call Pickup Support
  *
  */
 
diff --git a/apps/app_directory.c b/apps/app_directory.c
index 0385d50baf5ff6bbf9206eb169ed36a19d5aa4f2..fd31be96589260738dcb66dbefde93e987e7775d 100755
--- a/apps/app_directory.c
+++ b/apps/app_directory.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Provide a directory of extensions
+ * \brief Provide a directory of extensions
  * 
  */
  
diff --git a/apps/app_disa.c b/apps/app_disa.c
index 7b2be2086e51ec7e59528d165161082d58353222..8075911f8e951bad7c59894561914286176c7ec7 100755
--- a/apps/app_disa.c
+++ b/apps/app_disa.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * DISA -- Direct Inward System Access Application
+ * \brief DISA -- Direct Inward System Access Application
  * 
  */
  
diff --git a/apps/app_dumpchan.c b/apps/app_dumpchan.c
index 490f12d6061a9f56ac6a6d7f4d0d7c256ff78c4b..65e8f1d2082930aa6e7d32c60c6368160e4c8b66 100755
--- a/apps/app_dumpchan.c
+++ b/apps/app_dumpchan.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Application to dump channel variables
+ * \brief Application to dump channel variables
  * 
  */
 
diff --git a/apps/app_echo.c b/apps/app_echo.c
index 6c4faaad9ec6bf217a57fc6677f449472656c75b..baf9577805b84a5c9d22aab315f042f045c4ee50 100755
--- a/apps/app_echo.c
+++ b/apps/app_echo.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Echo application -- play back what you hear to evaluate latency
+ * \brief Echo application -- play back what you hear to evaluate latency
  * 
  */
 
diff --git a/apps/app_enumlookup.c b/apps/app_enumlookup.c
index b59e668633291c7c8357311d63ed20692fd99e65..c87d7a1fc5e4771320886d5b2854a36e953261c6 100755
--- a/apps/app_enumlookup.c
+++ b/apps/app_enumlookup.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Enumlookup - lookup entry in ENUM
+ * \brief Enumlookup - lookup entry in ENUM
  *
  */
 
diff --git a/apps/app_eval.c b/apps/app_eval.c
index 25dcf7fc1ccfbff7d87f2a2aa3afbc56fa96d9e5..3d6ab38d34a32d8f23e6d7d178c5e2c958d486ce 100755
--- a/apps/app_eval.c
+++ b/apps/app_eval.c
@@ -15,10 +15,10 @@
  *
  */
 
-/*
- *
- * Eval application
+/*! \file
+ * \brief Eval application
  *
+ * \author Tilghman Lesher <app_eval__v001@the-tilghman.com>
  */
 
 #include <stdio.h>
diff --git a/apps/app_exec.c b/apps/app_exec.c
index 4b277cf3bb38ba1f2afd2620b2eca84a3b6178c8..50a8a270e5287aad147f3146f1c89e83349512d6 100755
--- a/apps/app_exec.c
+++ b/apps/app_exec.c
@@ -15,10 +15,11 @@
  *
  */
 
-/*
+/*! \file
  *
- * Exec application
+ * \brief Exec application
  *
+ * \author Tilghman Lesher <app_exec__v001@the-tilghman.com>
  */
 
 #include <stdio.h>
diff --git a/apps/app_externalivr.c b/apps/app_externalivr.c
index 06daddcdfd9103574b158cb0021a713f05bae50b..6630662b509f5ed858b926c2afe72b4943184d8f 100755
--- a/apps/app_externalivr.c
+++ b/apps/app_externalivr.c
@@ -19,9 +19,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * External IVR application interface
+ * \brief External IVR application interface
  * 
  */
 
diff --git a/apps/app_festival.c b/apps/app_festival.c
index 56691ff3d48ef9546450d8d69e4f65d207b592d9..d644a87722ae86b895ddcc8cd2933ff5fad76713 100755
--- a/apps/app_festival.c
+++ b/apps/app_festival.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Connect to festival
+ * \brief Connect to festival
  * 
  */
 
diff --git a/apps/app_flash.c b/apps/app_flash.c
index 2fd3870caa92e5eccf116f321f2f39f954b11b5d..ee72e0f385c2667677add92bd9658d303ad31f2b 100755
--- a/apps/app_flash.c
+++ b/apps/app_flash.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to flash a zap trunk
+ * \brief App to flash a zap trunk
  * 
  */
  
diff --git a/apps/app_forkcdr.c b/apps/app_forkcdr.c
index 601e8ff579e3d5b138eb57110fdf4d1c900997a3..9ff84b257d25f9241873d78052f166979f260e46 100755
--- a/apps/app_forkcdr.c
+++ b/apps/app_forkcdr.c
@@ -15,9 +15,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Fork CDR application
+ * \brief Fork CDR application
  * 
  */
 
diff --git a/apps/app_getcpeid.c b/apps/app_getcpeid.c
index 45a2a4b96471111238ce523c2a46300968b06284..6a04670444e0156bee79c20115df14e3698386a9 100755
--- a/apps/app_getcpeid.c
+++ b/apps/app_getcpeid.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Execute arbitrary system commands
+ * \brief Execute arbitrary system commands
  * 
  */
 
diff --git a/apps/app_groupcount.c b/apps/app_groupcount.c
index aa9048a0eeb40101903c174de2104ad79296e844..6ddb20f657344bd14fe8b2d962b86f003d98a78c 100755
--- a/apps/app_groupcount.c
+++ b/apps/app_groupcount.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Group Manipulation Applications
+ * \brief Group Manipulation Applications
  *
  */
 
diff --git a/apps/app_hasnewvoicemail.c b/apps/app_hasnewvoicemail.c
index 0115b5bb7839d79034fe72c73d3f5ababd38383b..47f9a4256ca999023f1110a04dd782e92a95d9fa 100755
--- a/apps/app_hasnewvoicemail.c
+++ b/apps/app_hasnewvoicemail.c
@@ -20,9 +20,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * HasVoicemail application
+ * \brief HasVoicemail application
  *
  */
 
diff --git a/apps/app_ices.c b/apps/app_ices.c
index b5803738e3b9e7b7244aaf8fc52ac9f6cb510b65..f7a2b014c1cf7aca122b236687f3ad9aae4ff875 100755
--- a/apps/app_ices.c
+++ b/apps/app_ices.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Stream to an icecast server via ICES (see contrib/asterisk-ices.xml)
+ * \brief Stream to an icecast server via ICES (see contrib/asterisk-ices.xml)
  * 
  */
  
diff --git a/apps/app_image.c b/apps/app_image.c
index 0434eb31039966c96d5f89f97bdd415a957aa1a8..21a98d8dab8aa420b98b0250d78f8d00a34c5818 100755
--- a/apps/app_image.c
+++ b/apps/app_image.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to transmit an image
+ * \brief App to transmit an image
  * 
  */
  
diff --git a/apps/app_intercom.c b/apps/app_intercom.c
index e18950be165120043e003d5566817abfe02093d8..68409f9f89c3f0fb115cd0690d8ddf525794015e 100755
--- a/apps/app_intercom.c
+++ b/apps/app_intercom.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Use /dev/dsp as an intercom.
+ * \brief Use /dev/dsp as an intercom.
  * 
  */
  
diff --git a/apps/app_ivrdemo.c b/apps/app_ivrdemo.c
index eb1cb7be0462d4ff20bd50dfdcbebf9396c726c5..c91fde4a57bc8bb8b1876e814f0adb3aae1889e1 100755
--- a/apps/app_ivrdemo.c
+++ b/apps/app_ivrdemo.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * IVR Demo application
+ * \brief IVR Demo application
  * 
  */
 
diff --git a/apps/app_lookupblacklist.c b/apps/app_lookupblacklist.c
index 98efa9f248f0f470762c8492d85a134ec6ab6fe8..8285fd812f928e0d01363c3957be6cac3d631a60 100755
--- a/apps/app_lookupblacklist.c
+++ b/apps/app_lookupblacklist.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to lookup the callerid number, and see if it is blacklisted
+ * \brief App to lookup the callerid number, and see if it is blacklisted
  * 
  */
 
diff --git a/apps/app_lookupcidname.c b/apps/app_lookupcidname.c
index a2ce8b4f84b357ab8fa0582baaec63b67eb98439..cf7d0496dd6efd1080387ece0dc0d69a286c029c 100755
--- a/apps/app_lookupcidname.c
+++ b/apps/app_lookupcidname.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to set callerid name from database, based on directory number
+ * \brief App to set callerid name from database, based on directory number
  * 
  */
 
diff --git a/apps/app_macro.c b/apps/app_macro.c
index f74d34766ace7f8ecf1d5ce8e78eeaee7b8e8c4f..2100f03f9f8030181851ad52ebc50003c4782f89 100755
--- a/apps/app_macro.c
+++ b/apps/app_macro.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Macro Implementation
+ * \brief Dial plan macro Implementation
  * 
  */
 
diff --git a/apps/app_math.c b/apps/app_math.c
index 8f351b519c4bcc730c4128dbaa375412d56bcb23..dd8f3bb866be2692142a27f24c2b6ef8a66e834d 100755
--- a/apps/app_math.c
+++ b/apps/app_math.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * simple math application
+ * \brief A simple math application
  * 
  */
 
diff --git a/apps/app_md5.c b/apps/app_md5.c
index e5f062235853b2026baf8c0829260bc0801070ca..648ac1bd3696ff792557a6f7ce9de21b1aada5da 100755
--- a/apps/app_md5.c
+++ b/apps/app_md5.c
@@ -15,10 +15,11 @@
  */
 
 
-/*
+/*! \file
  *
- * MD5 checksum application
+ * \brief MD5 checksum application
  * 
+ * \todo Remove this deprecated application in 1.3dev
  */
 
 #include <stdlib.h>
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 4a1edc698d9fdca465ddfd8261389d2654f3bb3e..e980bbd3953dfaa831ec0343287d592b243a3256 100755
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Meet me conference bridge
+ * \brief Meet me conference bridge
  * 
  */
 
diff --git a/apps/app_milliwatt.c b/apps/app_milliwatt.c
index f520d1a040aa7d43e01c53eb545a994743cd7900..d3a28039c7e1253cd2e92f47f6d975913c475486 100755
--- a/apps/app_milliwatt.c
+++ b/apps/app_milliwatt.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Digital Milliwatt Test
+ * \brief Digital Milliwatt Test
  * 
  */
 
diff --git a/apps/app_mixmonitor.c b/apps/app_mixmonitor.c
index a7f8de77cb863856f23394e638f5eb05f4a6ee8a..419e951fc3c32568d0501ef7026e880a152465ba 100755
--- a/apps/app_mixmonitor.c
+++ b/apps/app_mixmonitor.c
@@ -1,7 +1,6 @@
 /*
  * Asterisk -- A telephony toolkit for Linux.
  *
- * muxmon Application For Asterisk
  *
  * Copyright (C) 2005, Anthony Minessale II
  *
@@ -11,6 +10,10 @@
  * the GNU General Public License
  */
 
+/*! \file
+ * \brief muxmon() - record a call natively
+ */
+
 #include <asterisk/file.h>
 #include <asterisk/logger.h>
 #include <asterisk/channel.h>
diff --git a/apps/app_mp3.c b/apps/app_mp3.c
index eb1889d0b078ce46d288b7ccf4a810de625af9e1..2c0334042b0b5fe19b5342fe0e7203baeb28c899 100755
--- a/apps/app_mp3.c
+++ b/apps/app_mp3.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Silly application to play an MP3 file -- uses mpg123
+ * \brief Silly application to play an MP3 file -- uses mpg123
  * 
  */
  
diff --git a/apps/app_muxmon.c b/apps/app_muxmon.c
index a7f8de77cb863856f23394e638f5eb05f4a6ee8a..419e951fc3c32568d0501ef7026e880a152465ba 100755
--- a/apps/app_muxmon.c
+++ b/apps/app_muxmon.c
@@ -1,7 +1,6 @@
 /*
  * Asterisk -- A telephony toolkit for Linux.
  *
- * muxmon Application For Asterisk
  *
  * Copyright (C) 2005, Anthony Minessale II
  *
@@ -11,6 +10,10 @@
  * the GNU General Public License
  */
 
+/*! \file
+ * \brief muxmon() - record a call natively
+ */
+
 #include <asterisk/file.h>
 #include <asterisk/logger.h>
 #include <asterisk/channel.h>
diff --git a/apps/app_nbscat.c b/apps/app_nbscat.c
index 150744bcc84da65f2b826da8b77215da3a5aac73..dbbc2b52346aef45d14c1872e9e43c1d8c679ddd 100755
--- a/apps/app_nbscat.c
+++ b/apps/app_nbscat.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Silly application to play an NBScat file -- uses nbscat8k
+ * \brief Silly application to play an NBScat file -- uses nbscat8k
  * 
  */
  
diff --git a/apps/app_osplookup.c b/apps/app_osplookup.c
index a27f4d0c241298f36e9e46090c8a311ea6d6f7ee..6a0bc6aec052a7c12716bd6c4033116699dfe145 100755
--- a/apps/app_osplookup.c
+++ b/apps/app_osplookup.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Open Settlement Protocol Lookup
+ * \brief Open Settlement Protocol Lookup
  * 
  */
 
diff --git a/apps/app_page.c b/apps/app_page.c
index 2e3d0e1e5c7c8e0e3e3ef80db5652e9bfb4ed163..8db0356e6401047bb2c9efa217f3df90120b3dc4 100755
--- a/apps/app_page.c
+++ b/apps/app_page.c
@@ -16,9 +16,9 @@
  *
  */
 
-/*
+/*! \file
  *
- * Paging application
+ * \brief page() - Paging application
  *
  */
 
diff --git a/apps/app_parkandannounce.c b/apps/app_parkandannounce.c
index 3524b5cacaad848bdf44768aa496f4762fb9a739..109226a343a98afbb0fc338db661b9b54731d4ba 100755
--- a/apps/app_parkandannounce.c
+++ b/apps/app_parkandannounce.c
@@ -19,9 +19,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * ParkAndAnnounce application for Asterisk
+ * \brief ParkAndAnnounce application for Asterisk
  * 
  */
 
diff --git a/apps/app_playback.c b/apps/app_playback.c
index 62f647eb020a9f2623797553d1f1c7970b79d910..1e858b0a1eb513810259dadf3c70995b1bc20917 100755
--- a/apps/app_playback.c
+++ b/apps/app_playback.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Trivial application to playback a sound file
+ * \brief Trivial application to playback a sound file
  * 
  */
  
diff --git a/apps/app_privacy.c b/apps/app_privacy.c
index 90eb381e8ed1eec4013a3037bf864f10ea83a154..44de165cee80fd6c4a92b09b0a69bbc8b39f8185 100755
--- a/apps/app_privacy.c
+++ b/apps/app_privacy.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Block all calls without Caller*ID, require phone # to be entered
+ * \brief Block all calls without Caller*ID, require phone # to be entered
  * 
  */
 
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 35558fd881448f00ae604683e926877012851a25..a98612cc44652169aaa379ee0b3642b10ed782d0 100755
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -16,12 +16,12 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * True call queues with optional send URL on answer
+ * \brief True call queues with optional send URL on answer
  * 
  *
- * 2004-11-25: Persistent Dynamic Members added by:
+ * \note 2004-11-25: Persistent Dynamic Members added by:
  *             NetNation Communications (www.netnation.com)
  *             Kevin Lindsay <kevinl@netnation.com>
  * 
@@ -31,9 +31,9 @@
  *             configured with the 'persistent_members=<1|0>' setting in the
  *             '[general]' category in queues.conf. The default is on.
  * 
- * 2004-06-04: Priorities in queues added by inAccess Networks (work funded by Hellas On Line (HOL) www.hol.gr).
+ * \note 2004-06-04: Priorities in queues added by inAccess Networks (work funded by Hellas On Line (HOL) www.hol.gr).
  *
- * These features added by David C. Troy <dave@toad.net>:
+ * \note These features added by David C. Troy <dave@toad.net>:
  *    - Per-queue holdtime calculation
  *    - Estimated holdtime announcement
  *    - Position announcement
@@ -49,8 +49,6 @@
  * Fixed to work with CVS as of 2004-02-25 and released as 1.07a
  * by Matthew Enger <m.enger@xi.com.au>
  *
- * This program is free software, distributed under the terms of
- * the GNU General Public License
  */
 
 #include <stdlib.h>
diff --git a/apps/app_random.c b/apps/app_random.c
index 80c2f9949ddb655af9cd27d67b3662de73f9a60d..5f2c6cd871573e63f0e54a7b39013d9c3d8d73ce 100755
--- a/apps/app_random.c
+++ b/apps/app_random.c
@@ -15,10 +15,11 @@
  *
  */
 
-/*
+/*! \file
  *
- * Random application
+ * \brief Random application
  *
+ * \author Tilghman Lesher <asterisk__app_random__200508@the-tilghman.com>
  */
 
 #include <stdio.h>
diff --git a/apps/app_read.c b/apps/app_read.c
index 79b075b289e91ccd92a8165215c8f11d5427c96d..ecf472e595fc97526f08f627c183ab1d028f7ae3 100755
--- a/apps/app_read.c
+++ b/apps/app_read.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Trivial application to read a variable
+ * \brief Trivial application to read a variable
  * 
  */
  
diff --git a/apps/app_readfile.c b/apps/app_readfile.c
index d08041f4e43ea1fbd6fb434dd3620bf352641a2f..07d30ed78a2c7e4f458edf4f8875b13ac9ec50c1 100755
--- a/apps/app_readfile.c
+++ b/apps/app_readfile.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * ReadFile application -- Reads in a File for you.
+ * \brief ReadFile application -- Reads in a File for you.
  *
  */
 
diff --git a/apps/app_realtime.c b/apps/app_realtime.c
index 2a883d0710056d7742eeb5a124659ea34af63a85..ff7396520d5602074440557d3b509863b5f1f4aa 100755
--- a/apps/app_realtime.c
+++ b/apps/app_realtime.c
@@ -17,9 +17,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * RealTime App
+ * \brief RealTime App
  * 
  */
 
diff --git a/apps/app_record.c b/apps/app_record.c
index 4186e729a16407412f1555cf3b3ba12a7e95de8a..90def26f2733754c11c4c30762bb62e0b6126e1e 100755
--- a/apps/app_record.c
+++ b/apps/app_record.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Trivial application to record a sound file
+ * \brief Trivial application to record a sound file
  *
  */
  
diff --git a/apps/app_rpt.c b/apps/app_rpt.c
index 4c06b8dbb8e52cd113e47e0afc31e08ab8b0c48c..5310229639a9a95a09e0cbab6894221148a9237a 100755
--- a/apps/app_rpt.c
+++ b/apps/app_rpt.c
@@ -17,9 +17,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Radio Repeater / Remote Base program 
+ * \brief Radio Repeater / Remote Base program 
  *  version 0.31 09/15/05
  * 
  * See http://www.zapatatelephony.org/app_rpt.html
diff --git a/apps/app_sayunixtime.c b/apps/app_sayunixtime.c
index 0abce7b8b5648f8c9e65e7d87ccb6509fb9b746c..9c126a16722c6264658f6d0c200a8bd596f7e64e 100755
--- a/apps/app_sayunixtime.c
+++ b/apps/app_sayunixtime.c
@@ -15,9 +15,9 @@
  *
  */
 
-/*
+/*! \file
  *
- * SayUnixTime application
+ * \brief SayUnixTime application
  * 
  */
 
diff --git a/apps/app_senddtmf.c b/apps/app_senddtmf.c
index e42f065877876046bf3d61f041b57964576d360a..4625e3b44916ad359ec013f1952753581e8c104c 100755
--- a/apps/app_senddtmf.c
+++ b/apps/app_senddtmf.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to send DTMF digits
+ * \brief App to send DTMF digits
  * 
  */
  
diff --git a/apps/app_sendtext.c b/apps/app_sendtext.c
index bbc58b14adb9e1b23fde6c4f4363ea564572760c..917b8d71d6ec73067dd808a8a754b67404b90b95 100755
--- a/apps/app_sendtext.c
+++ b/apps/app_sendtext.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to transmit a text message
+ * \brief App to transmit a text message
  * 
  */
  
diff --git a/apps/app_setcallerid.c b/apps/app_setcallerid.c
index fec0ad605b66089d3dc365ed32b5ab7de0571939..36b11f9c1c41e74493fd02c4dee69fd693cca91a 100755
--- a/apps/app_setcallerid.c
+++ b/apps/app_setcallerid.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to set callerid
+ * \brief App to set callerid
  * 
  */
  
diff --git a/apps/app_setcdruserfield.c b/apps/app_setcdruserfield.c
index 98a265ff3526fe7c7319319d1f42fe86b65643d0..28e1846f0ae40e8cf864f9f703508b3286c3ea01 100755
--- a/apps/app_setcdruserfield.c
+++ b/apps/app_setcdruserfield.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Applictions connected with CDR engine
+ * \brief Applictions connected with CDR engine
  * 
  */
 
diff --git a/apps/app_setcidname.c b/apps/app_setcidname.c
index 8621e91e1988aecfcef25814cb56d46e5f2acca8..240b121dca27976bbff038163b8090a9db8b76cc 100755
--- a/apps/app_setcidname.c
+++ b/apps/app_setcidname.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to set callerid
+ * \brief App to set callerid
  *
  */
  
diff --git a/apps/app_setcidnum.c b/apps/app_setcidnum.c
index cd94f7555edaa2d1fe63237927c5c7b1a1353437..a4405fdf41a260a1e3409bcf669df87db8063636 100755
--- a/apps/app_setcidnum.c
+++ b/apps/app_setcidnum.c
@@ -17,9 +17,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to set callerid
+ * \brief App to set callerid number
  * 
  */
  
diff --git a/apps/app_setrdnis.c b/apps/app_setrdnis.c
index faff3efb501e0de5a1a8516e88f090b3c99b9ddd..ff477baa8db88bdcd6ecfcf7ef609c346662f50a 100755
--- a/apps/app_setrdnis.c
+++ b/apps/app_setrdnis.c
@@ -17,9 +17,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to set rdnis
+ * \brief App to set rdnis
  *
  */
  
diff --git a/apps/app_settransfercapability.c b/apps/app_settransfercapability.c
index 461c5fc99767e314ea4588735e30f0b98aca7ef3..95f28f124ae401eb590ad07f6edf5b653683aa37 100755
--- a/apps/app_settransfercapability.c
+++ b/apps/app_settransfercapability.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * App to set the ISDN Transfer Capability
+ * \brief App to set the ISDN Transfer Capability
  * 
  */
  
diff --git a/apps/app_skel.c b/apps/app_skel.c
index 825dd1927d1d5de5e2e54cd384f4d92fc84d0a26..89953b440ffcd4c26c0293521d2a31768569adeb 100755
--- a/apps/app_skel.c
+++ b/apps/app_skel.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Skeleton application
+ * \brief Skeleton application
  * 
  */
 
diff --git a/apps/app_sms.c b/apps/app_sms.c
index 77774f20b3729b87914a6cf304a9da5861535a0a..dd553a195f4bfa5bd8c5d38f7439418c6a37db23 100755
--- a/apps/app_sms.c
+++ b/apps/app_sms.c
@@ -14,9 +14,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * SMS application - ETSI ES 201 912 protocol 1 implimentation
+ * \brief SMS application - ETSI ES 201 912 protocol 1 implimentation
  * 
  */
 
diff --git a/apps/app_softhangup.c b/apps/app_softhangup.c
index 96fa6c12be8bbd1d304e9bc004ea9b1b47a846f7..d64530f7f6722de8a818f20cfa84f20d7d703fd2 100755
--- a/apps/app_softhangup.c
+++ b/apps/app_softhangup.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * SoftHangup application
+ * \brief SoftHangup application
  * 
  */
 
diff --git a/apps/app_sql_postgres.c b/apps/app_sql_postgres.c
index 810e00f722572f9dea986f2f93e91314c113b6e4..d2b666a4f24a19f5bb5458e8a852ecd65a2a543d 100755
--- a/apps/app_sql_postgres.c
+++ b/apps/app_sql_postgres.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Connect to PostgreSQL
+ * \brief Connect to PostgreSQL
  * 
  */
 
diff --git a/apps/app_striplsd.c b/apps/app_striplsd.c
index f8837712714058c8d174bb6d0e183a8cff34dc8e..597bca9d9bd006731f2413d7c9dd9ca5ba5255cd 100755
--- a/apps/app_striplsd.c
+++ b/apps/app_striplsd.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Skeleton application (?)
+ * \brief striplsd: Strip trailing digits app
  * 
  */
 
diff --git a/apps/app_substring.c b/apps/app_substring.c
index b06628cf04910d9d25eada4f78493b73a7b04088..4f9a16066a18787009e7e0a733fb05fed1e78b57 100755
--- a/apps/app_substring.c
+++ b/apps/app_substring.c
@@ -16,10 +16,11 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
+ *
+ * \brief substr
  *
- * Skeleton application (?)
- * 
+ * \todo Deprecate this application in 1.3dev
  */
 
 #include <sys/types.h>
diff --git a/apps/app_system.c b/apps/app_system.c
index 6aa71f1041f507e87bb31568674987e0947c8383..f1e38a3ebbf3f8ed4e3b1a508600fb92d297c871 100755
--- a/apps/app_system.c
+++ b/apps/app_system.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Execute arbitrary system commands
+ * \brief Execute arbitrary system commands
  * 
  */
 
diff --git a/apps/app_talkdetect.c b/apps/app_talkdetect.c
index ec2012f51ccb795854ace1df9005cf5563b2f23b..e0963e5578f3d46bc13566a90c139737d1c3dd8c 100755
--- a/apps/app_talkdetect.c
+++ b/apps/app_talkdetect.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Playback a file with audio detect
+ * \brief Playback a file with audio detect
  * 
  */
  
diff --git a/apps/app_test.c b/apps/app_test.c
index eb6a7efde3e16a1a01f393b3c5ca125f9347c942..cbcb05a040d7f8e36811aa743de92c6c64eb731d 100755
--- a/apps/app_test.c
+++ b/apps/app_test.c
@@ -17,9 +17,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Applications to test connection and produce report in text file
+ * \brief Applications to test connection and produce report in text file
  * 
  */
 
diff --git a/apps/app_transfer.c b/apps/app_transfer.c
index 44e1b24d98dcb91bb31ee1cb3197e1c9a4f46066..0333b4d1abbdb7db702dac3912d6c5d23f5e4a91 100755
--- a/apps/app_transfer.c
+++ b/apps/app_transfer.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Transfer a caller
+ * \brief Transfer a caller
  * 
  */
 
diff --git a/apps/app_txtcidname.c b/apps/app_txtcidname.c
index 4ea18e62bbbd44502700ae93e07da8042cf2ed11..bf39da38bafc681b1142348639ec5e5d920a7f72 100755
--- a/apps/app_txtcidname.c
+++ b/apps/app_txtcidname.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Caller*id name lookup - Look up the caller's name via DNS
+ * \brief Caller*id name lookup - Look up the caller's name via DNS
  * 
  */
 
diff --git a/apps/app_url.c b/apps/app_url.c
index 9f8a2badf8d61e19172e88bfe2f3b897d497c653..4e1cc011e57d660fbfc614cfb9dadb4262f411c7 100755
--- a/apps/app_url.c
+++ b/apps/app_url.c
@@ -16,9 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * App to transmit a URL
+/*! \file
+ * \brief App to transmit a URL
  * 
  */
  
diff --git a/apps/app_userevent.c b/apps/app_userevent.c
index 4facd489d26e04be5c202852617a7815acb132d8..5092e94e25bb2ba5abc9252f3014a5e9d37369a5 100755
--- a/apps/app_userevent.c
+++ b/apps/app_userevent.c
@@ -14,9 +14,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * UserEvent application -- send manager event
+ * \brief UserEvent application -- send manager event
  * 
  */
 
diff --git a/apps/app_verbose.c b/apps/app_verbose.c
index 3ff50bedcddd94fa2ea5bd89f42ac550f4384df4..28ccfa867699874d8cafd23a0a16e4cf630134a6 100755
--- a/apps/app_verbose.c
+++ b/apps/app_verbose.c
@@ -15,9 +15,9 @@
  *
  */
 
-/*
+/*! \file
  *
- * Verbose application
+ * \brief Verbose logging application
  *
  */
 
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 7cd529ad324c27a50a29b5c2f77031fd8c2a6afd..56002c734ba470de1f8bcd330822b771494b2b94 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -11,8 +11,6 @@
  * 05-10-2005 : Support for Swedish and Norwegian added by Daniel Nylander, http://www.danielnylander.se/
  *
  * 05-11-2005 : An option for maximum number of messsages per mailbox added by GDS Partners (www.gdspartners.com)
- *				 Stojan Sljivic <stojan.sljivic@gdspartners.com>
- *
  * 07-11-2005 : An issue with voicemail synchronization has been fixed by GDS Partners (www.gdspartners.com)
  *				 Stojan Sljivic <stojan.sljivic@gdspartners.com>
  *
@@ -27,9 +25,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Voicemail System
+ * \brief Comedian Mail - Voicemail System
  * 
  */
 
@@ -1400,7 +1398,7 @@ static int copy(char *infile, char *outfile)
 			}
 			if (len) {
 				res = write(ofd, buf, len);
-				if (res != len) {
+				if (errno == ENOMEM || errno == ENOSPC || res != len) {
 					ast_log(LOG_WARNING, "Write failed on %s (%d of %d): %s\n", outfile, res, len, strerror(errno));
 					close(ifd);
 					close(ofd);
diff --git a/apps/app_waitforring.c b/apps/app_waitforring.c
index 7c80e9463cf2ea62263a64fd5de71346d09ff28a..07e85f2d2c2a2e77c9518d8fa6455898aaa5cb81 100755
--- a/apps/app_waitforring.c
+++ b/apps/app_waitforring.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Wait for Ring Application
+ * \brief Wait for Ring Application
  * 
  */
 
diff --git a/apps/app_waitforsilence.c b/apps/app_waitforsilence.c
index 5521e202ac099d680b9c3f6d817b71ab8433d4af..d9274b4417feb40b7b301f1709ddc9a828caa5be 100755
--- a/apps/app_waitforsilence.c
+++ b/apps/app_waitforsilence.c
@@ -19,9 +19,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Wait for Silence
+ * \brief Wait for Silence
  *   - Waits for up to 'x' milliseconds of silence, 'y' times
  *   - WaitForSilence(500,2) will wait for 1/2 second of silence, twice
  *   - WaitForSilence(1000,1) will wait for 1 second of silence, once
diff --git a/apps/app_while.c b/apps/app_while.c
index 4f6a54144b7c3635009ee67a516c0316c441b141..8619294f41ee9808f51aa15b4ae515f89f229856 100755
--- a/apps/app_while.c
+++ b/apps/app_while.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * While Loop and ExecIf Implementations
+ * \brief While Loop and ExecIf Implementations
  * 
  */
 
diff --git a/apps/app_zapateller.c b/apps/app_zapateller.c
index 41e3de3648c4c2a7604cc9a6a30e0b2e26705434..0f764ee8d234ca14f63b49cdc728daf314363b40 100755
--- a/apps/app_zapateller.c
+++ b/apps/app_zapateller.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Playback the special information tone to get rid of telemarketers
+ * \brief Playback the special information tone to get rid of telemarketers
  * 
  */
  
diff --git a/apps/app_zapbarge.c b/apps/app_zapbarge.c
index 3f3a8ae66818517791ca4d1f84a5e27e1e554cb6..b608d9c153848904aa951c930f3dd9de845e82b3 100755
--- a/apps/app_zapbarge.c
+++ b/apps/app_zapbarge.c
@@ -19,9 +19,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Zap Barge support
+ * \brief Zap Barge support
  * 
  */
 
diff --git a/apps/app_zapras.c b/apps/app_zapras.c
index 6e2ea3aef046e97cea90caf2281ebc74d84d106c..9edb56d0b15ebd2e771327f43e9f39486d79c885 100755
--- a/apps/app_zapras.c
+++ b/apps/app_zapras.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Execute an ISDN RAS
+ * \brief Execute an ISDN RAS
  * 
  */
 
diff --git a/apps/app_zapscan.c b/apps/app_zapscan.c
index fc900b59e41bb86e6fc78a1683dd020ed9def05c..df215b45a50e3b8eeb991f069409c8a2d1fb876c 100755
--- a/apps/app_zapscan.c
+++ b/apps/app_zapscan.c
@@ -21,9 +21,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Zap Scanner
+ * \brief Zap Scanner
  *
  */
 
diff --git a/asterisk.c b/asterisk.c
index e1842fb864313a9b909f2b5c900b169bb22516f0..4c3bef8dcbee24591759cdcf75f3b249bea119f1 100755
--- a/asterisk.c
+++ b/asterisk.c
@@ -16,10 +16,41 @@
  * at the top of the source tree.
  */
 
-/*
+
+/* Doxygenified Copyright Header */
+/*!
+ * \mainpage Asterisk -- An Open Source Telephony Toolkit
+ *
+ * \arg \ref DevDoc 
+ * \arg \ref ConfigFiles
+ *
+ * \section copyright Copyright and author
+ *
+ * Copyright (C) 1999 - 2005, Digium, Inc.
+ * Asterisk is a trade mark registered by Digium, Inc.
+ *
+ * \author Mark Spencer <markster@digium.com>
+ * Also see \ref AstCREDITS
+ *
+ * \section license License
+ * 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.
  *
- * Top level source file for asterisk
- * 
+ * 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.
+ *
+ * \verbinclude LICENSE
+ *
+ */
+
+/*! \file
+  \brief Top level source file for Asterisk  - the Open Source PBX. Implementation
+  of PBX core functions and CLI interface.
+  
  */
 
 #include <unistd.h>
@@ -78,6 +109,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/linkedlists.h"
 #include "asterisk/devicestate.h"
 
+#include "asterisk/doxyref.h"		/* Doxygen documentation */
+
 #include "defaults.h"
 
 #ifndef AF_LOCAL
@@ -116,19 +149,20 @@ int fully_booted = 0;
 char record_cache_dir[AST_CACHE_DIR_LEN] = AST_TMP_DIR;
 char debug_filename[AST_FILENAME_MAX] = "";
 
-static int ast_socket = -1;		/* UNIX Socket for allowing remote control */
-static int ast_consock = -1;		/* UNIX Socket for controlling another asterisk */
+static int ast_socket = -1;		/*!< UNIX Socket for allowing remote control */
+static int ast_consock = -1;		/*!< UNIX Socket for controlling another asterisk */
 int ast_mainpid;
 struct console {
-	int fd;					/* File descriptor */
-	int p[2];				/* Pipe */
-	pthread_t t;			/* Thread of handler */
+	int fd;				/*!< File descriptor */
+	int p[2];			/*!< Pipe */
+	pthread_t t;			/*!< Thread of handler */
 };
 
 static struct ast_atexit {
 	void (*func)(void);
 	struct ast_atexit *next;
 } *atexits = NULL;
+
 AST_MUTEX_DEFINE_STATIC(atexitslock);
 
 time_t ast_startuptime;
@@ -222,6 +256,7 @@ static char show_version_files_help[] =
 "       Shows the revision numbers of the files used to build this copy of Asterisk.\n"
 "       Optional regular expression pattern is used to filter the file list.\n";
 
+/*! CLI command to list module versions */
 static int handle_show_version_files(int fd, int argc, char *argv[])
 {
 #define FORMAT "%-25.25s %-40.40s\n"
@@ -343,7 +378,7 @@ static int fdprint(int fd, const char *s)
 	return write(fd, s, strlen(s) + 1);
 }
 
-/* NULL handler so we can collect the child exit status */
+/*! NULL handler so we can collect the child exit status */
 static void null_sig_handler(int signal)
 {
 
@@ -408,7 +443,7 @@ int ast_safe_system(const char *s)
 	return res;
 }
 
-/*
+/*!
  * write the string to all attached console clients
  */
 static void ast_network_puts(const char *string)
@@ -420,7 +455,7 @@ static void ast_network_puts(const char *string)
 	}
 }
 
-/*
+/*!
  * write the string to the console, and all attached
  * console clients
  */
@@ -657,13 +692,15 @@ static int ast_tryconnect(void)
 		return 1;
 }
 
+/*! Urgent handler
+ Called by soft_hangup to interrupt the poll, read, or other
+ system call.  We don't actually need to do anything though.  
+ Remember: Cannot EVER ast_log from within a signal handler 
+ SLD: seems to be some pthread activity relating to the printf anyway:
+ which is leading to a deadlock? 
+ */
 static void urg_handler(int num)
 {
-	/* Called by soft_hangup to interrupt the poll, read, or other
-	   system call.  We don't actually need to do anything though.  */
-	/* Cannot EVER ast_log from within a signal handler */
-	/* SLD: seems to be some pthread activity relating to the printf anyway:
-	 * which is leading to a deadlock? */
 #if 0
 	if (option_debug > 2) 
 		printf("-- Asterisk Urgent handler\n");
@@ -698,9 +735,9 @@ static void child_handler(int sig)
 	signal(sig, child_handler);
 }
 
+/*! Set an X-term or screen title */
 static void set_title(char *text)
 {
-	/* Set an X-term or screen title */
 	if (getenv("TERM") && strstr(getenv("TERM"), "xterm"))
 		fprintf(stdout, "\033]2;%s\007", text);
 }
@@ -711,12 +748,12 @@ static void set_icon(char *text)
 		fprintf(stdout, "\033]1;%s\007", text);
 }
 
+/*! We set ourselves to a high priority, that we might pre-empt everything
+   else.  If your PBX has heavy activity on it, this is a good thing.  */
 int ast_set_priority(int pri)
 {
 	struct sched_param sched;
 	memset(&sched, 0, sizeof(sched));
-	/* We set ourselves to a high priority, that we might pre-empt everything
-	   else.  If your PBX has heavy activity on it, this is a good thing.  */
 #ifdef __linux__
 	if (pri) {  
 		sched.sched_priority = 10;
diff --git a/astmm.c b/astmm.c
index 8427888063b586057198b651b757ac4a8e334348..d1692de27d41528e7088db51662e386e425dfbcd 100755
--- a/astmm.c
+++ b/astmm.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Memory Management
+ * \brief Memory Management
  * 
  */
 
diff --git a/autoservice.c b/autoservice.c
index 7dcec2a8c29fccea4ae8d91ec21fdb9048e0d23d..d8b5d8e808afa7465dd12721e15c63bcd4d41833 100755
--- a/autoservice.c
+++ b/autoservice.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Automatic channel service routines
+ * \brief Automatic channel service routines
  * 
  */
 
diff --git a/callerid.c b/callerid.c
index fb71ee467348b73e34c80c640b03f9ab3be3ece2..192e9c7f18a23d3a9833e826a974b8ffafee0aa2 100755
--- a/callerid.c
+++ b/callerid.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * CallerID Generation support 
+ * \brief CallerID Generation support 
  * 
  */
 
diff --git a/cdr.c b/cdr.c
index 6a419633991be06d38add92101f3860ea8037460..a6b2ce5058bb1c52b92b66c794d66fae7a92590a 100755
--- a/cdr.c
+++ b/cdr.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Call Detail Record API 
+ * \brief Call Detail Record API 
  * 
  * Includes code and algorithms from the Zapata library.
  *
diff --git a/channel.c b/channel.c
index dbfc98c5c2cd478d17d535a942503c25f417ee6c..85692e7d6347ad8c8ca249c2bbb86e564664e5d8 100755
--- a/channel.c
+++ b/channel.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Channel Management
+ * \brief Channel Management
  * 
  */
 
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index d81aea33317d72c8beacd9d4dcf839cbb8f7d8dc..4b9359391d2452072962c7578d0354ddc08189a9 100755
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -17,11 +17,10 @@
  */
 
 
-/**
- * Implementation of Agents
+/*! \file
+ * \brief Implementation of Agents
  *
- * @file chan_agent.c
- * @brief This file is the implementation of Agents modules.
+ * This file is the implementation of Agents modules.
  * It is a dynamic module that is loaded by Asterisk. At load time, load_module is run.
  */
 
diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c
index 9d2241eb32f32a2942df744ed470aba6e1ab65e3..25b251fd4324402a5022339acc8053162180351a 100755
--- a/channels/chan_alsa.c
+++ b/channels/chan_alsa.c
@@ -16,6 +16,10 @@
  * at the top of the source tree.
  */
 
+/*! \file 
+ * \brief ALSA sound card channel driver 
+ */
+
 
 #include <unistd.h>
 #include <fcntl.h>
diff --git a/channels/chan_features.c b/channels/chan_features.c
index 9e436ae6f97672fe913c7eecc537cfc42716b45d..cd69d5d9e1472f0841b2bdb6dca5d622f08b43ce 100755
--- a/channels/chan_features.c
+++ b/channels/chan_features.c
@@ -16,11 +16,11 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * feature Proxy Channel
+ * \brief feature Proxy Channel
  * 
- * *** Experimental code ****
+ * \note *** Experimental code ****
  * 
  */
 
diff --git a/channels/chan_h323.c b/channels/chan_h323.c
index 1c0f31b17bb0c97c77edf45beffb45f54e9bd29c..e98638bb502bbace42dd797d05e1c50419f46ef8 100755
--- a/channels/chan_h323.c
+++ b/channels/chan_h323.c
@@ -21,9 +21,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * This file is part of the chan_h323 driver for Asterisk
+ * \brief This file is part of the chan_h323 driver for Asterisk
  *
  */
 
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index e0575500e4cfbee633ab1af768fa5e59116aa1e0..2e11a3744400afb767ae8810c8171afaf2f3493c 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Implementation of Inter-Asterisk eXchange Version 2
+ * \brief Implementation of Inter-Asterisk eXchange Version 2
  *
  */
 
diff --git a/channels/chan_local.c b/channels/chan_local.c
index dcd06100ad122ae9f17b6a78f89cfe5fb108be26..8e62f1a3f45ab53442e6b54da8927c645f789863 100755
--- a/channels/chan_local.c
+++ b/channels/chan_local.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Local Proxy Channel
+ * \brief Local Proxy Channel
  * 
  */
 
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index 74019bffab445634381f7923dbcdb56ca0f1ff79..329c72da17eb8a1e81e15f56c7b7564f9a828631 100755
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Implementation of Media Gateway Control Protocol
+ * \brief Implementation of Media Gateway Control Protocol
  * 
  */
 
diff --git a/channels/chan_modem.c b/channels/chan_modem.c
index c8ee153f0c743155e9e385eb09b190b9af232c28..3eb3ce500635e91792beb4c40e01047c9f4fb3ad 100755
--- a/channels/chan_modem.c
+++ b/channels/chan_modem.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * A/Open ITU-56/2 Voice Modem Driver (Rockwell, IS-101, and others)
+ * \brief A/Open ITU-56/2 Voice Modem Driver (Rockwell, IS-101, and others)
  * 
  */
 
diff --git a/channels/chan_modem_i4l.c b/channels/chan_modem_i4l.c
index 72d7b877587aab636f85c2352e51c1d028fd0048..0a5e1d1362dcc643c2e9f1375a4ecd24c45fb5e8 100755
--- a/channels/chan_modem_i4l.c
+++ b/channels/chan_modem_i4l.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * ISDN4Linux TTY Driver
+ * \brief ISDN4Linux TTY Driver
  * 
  */
 
diff --git a/channels/chan_nbs.c b/channels/chan_nbs.c
index 7f6ced6b4b578e72b83ef5af12067f9f0b270cd1..3c6583f8f677d50781bf0cdc51bc43edca74f129 100755
--- a/channels/chan_nbs.c
+++ b/channels/chan_nbs.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Generic Linux Telephony Interface driver
+ * \brief Generic Linux Telephony Interface driver
  * 
  */
 
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index 900b69f97fd08a5c0736deb392ba1eb0a8cc1788..eb5065382b989db83434221b82b1fa095ecd4d56 100755
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -19,9 +19,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * 
+ * \brief Channel driver for OSS sound cards
  *
  */
 
diff --git a/channels/chan_phone.c b/channels/chan_phone.c
index ad9f2c723e377f32ecda612072d629514d6bafaa..e1a65b2da69eee153c8845d082b3d0cfd43f63ba 100755
--- a/channels/chan_phone.c
+++ b/channels/chan_phone.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Generic Linux Telephony Interface driver
+ * \brief Generic Linux Telephony Interface driver
  * 
  */
 
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index accd7b4f1710db1e940c581a6b3d55e1ebcffbfe..c5177fe3b98ca0214996dbe35018c74c0364d257 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -16,10 +16,16 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Implementation of Session Initiation Protocol
+/*!
+ * \file
+ * \brief Implementation of Session Initiation Protocol
  * 
+ * Implementation of RFC 3261 - without S/MIME, TCP and TLS support
+ * Configuration file \link page20sip sip.conf \endlink
+ *
+ * \todo SIP over TCP
+ * \todo SIP over TLS
+ * \todo Better support of forking
  */
 
 
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 1d556d859e5f6f418d465e29ac4719cb64a651bb..498cc12cc11085880667784c5f6cf64d9bfe0de4 100755
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Implementation of the Skinny protocol
+ * \brief Implementation of the Skinny protocol
  * 
  */
 
diff --git a/channels/chan_vpb.c b/channels/chan_vpb.c
index 93ab04e67543807a419e77a7d96e822e76893ff2..f27fb4fe2ded27c5352aeb729b00061b11d27cb6 100755
--- a/channels/chan_vpb.c
+++ b/channels/chan_vpb.c
@@ -22,9 +22,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * VoiceTronix Interface driver
+ * \brief VoiceTronix Interface driver
  * 
  */
 
diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 7e41b65797179c8d47d20c49949b758dba4e1612..de6448459d3d52e1c5326cbe585d75433835ae77 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Zaptel Pseudo TDM interface 
+ * \brief Zaptel Pseudo TDM interface 
  * 
  */
 
diff --git a/chanvars.c b/chanvars.c
index 20806eec6c519bc247df2249dba493a919ad606f..d01c9260b0ee47ae8578da7499a1e127db54b5a3 100755
--- a/chanvars.c
+++ b/chanvars.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Channel Variables
+ * \brief Channel Variables
  * 
  */
 
diff --git a/cli.c b/cli.c
index b32ca13ca169ae6aa949f8eb45274476b1b907c7..5eb0fae1823c772979a4ab223c07b774313d83d3 100755
--- a/cli.c
+++ b/cli.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Standard Command Line Interface
+ * \brief Standard Command Line Interface
  * 
  */
 
diff --git a/config.c b/config.c
index bee08cc898d2e24c6959763830600e84421e2b24..3fbc180820ff8a8bcc4cc4824dcd8bccb89e49ed 100755
--- a/config.c
+++ b/config.c
@@ -16,10 +16,12 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
+ *
+ * \brief Configuration File Parser
  *
- * Configuration File Parser
- * 
+ * Includes the Asterisk Realtime API - ARA
+ * See README.realtime
  */
 
 #include <stdio.h>
diff --git a/contrib/asterisk-doxygen-header b/contrib/asterisk-doxygen-header
new file mode 100755
index 0000000000000000000000000000000000000000..a8eebd6c3c9290dba6a13613122ee9d2c60f5529
--- /dev/null
+++ b/contrib/asterisk-doxygen-header
@@ -0,0 +1,10 @@
+<HTML>
+    <HEAD>
+      <TITLE>Asterisk.org: Developer Documentation ($date)</TITLE>
+      <LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
+    </HEAD>
+    <BODY BGCOLOR="#FFFFFF">
+<div><font size="2" align="right">$datetime</font></div>
+
+<h2>Asterisk developer's documentation</h2>
+<hr/>
diff --git a/db.c b/db.c
index 78142f0750946d6ada65a87d2fec1c53956c5816..4faac5b233c74fba844252c26262fc187ef5f7fb 100755
--- a/db.c
+++ b/db.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Channel Management
+ * \brief ASTdb Management
  * 
  *
  * DB3 is licensed under Sleepycat Public License and is thus incompatible
diff --git a/devicestate.c b/devicestate.c
index c85f9a8fec3dd0c97897d2dd6dd9567568f78781..fabed739d5711665c5f32087315e73f8eb866f5d 100755
--- a/devicestate.c
+++ b/devicestate.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Device state management
+ * \brief Device state management
  * 
  */
 
diff --git a/dns.c b/dns.c
index f4fc6a55b5ebc643dbf59ad5990e26005636b329..8b26ff3779035248a79beb6ebc8a38ddb89fd6aa 100755
--- a/dns.c
+++ b/dns.c
@@ -18,10 +18,11 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * DNS Support for Asterisk
+ * \brief DNS Support for Asterisk
  *
+ * \author Thorsten Lockert <tholo@trollphone.org>
  */
 
 #include <sys/types.h>
diff --git a/dnsmgr.c b/dnsmgr.c
index 95253d05697f5942174003ba3827f1feae136821..4143f7d6412a0b5a1984312725cccc43e3c673b3 100755
--- a/dnsmgr.c
+++ b/dnsmgr.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Background DNS update manager
+ * \brief Background DNS update manager
  * 
  */
 
diff --git a/dsp.c b/dsp.c
index 3bbc93791014e48732a15c516e5d556c8189fc31..e204f53603c210bd3b2c70d9f9c811e72b65c660 100755
--- a/dsp.c
+++ b/dsp.c
@@ -19,9 +19,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Convenience Signal Processing routines
+ * \brief Convenience Signal Processing routines
  * 
  */
 
diff --git a/enum.c b/enum.c
index 1c47f18e7244421dea9855adf80cd9dd12288029..5e11ed906f5f71d5c1e5df11423e08a4ce733df7 100755
--- a/enum.c
+++ b/enum.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * ENUM Support for Asterisk
+ * \brief ENUM Support for Asterisk
  *
  */
 
diff --git a/file.c b/file.c
index d48aaeb0360684829c9f1ea47215fa77f445de1e..9ab3930498e11d71d8a63b258c4245f61abfd4fd 100755
--- a/file.c
+++ b/file.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Generic File Format Support.
+ * \brief Generic File Format Support.
  * 
  */
 
diff --git a/frame.c b/frame.c
index 27afa34ce4abe49ea1d47f4bd379cf1afcbcb945..5d9ddab118bb32a6e70e8f651af3ee0e59c0b64e 100755
--- a/frame.c
+++ b/frame.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Frame manipulation routines
+ * \brief Frame manipulation routines
  * 
  */
 
diff --git a/fskmodem.c b/fskmodem.c
index ddeffea2c9acd26e46ea5dc9eed5fcf96068485a..93bc1e6951a4a9d8c75c46a4c1e8a339db8483d6 100755
--- a/fskmodem.c
+++ b/fskmodem.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * FSK Modulator/Demodulator 
+ * \brief FSK Modulator/Demodulator 
  *
  */
 
diff --git a/funcs/func_callerid.c b/funcs/func_callerid.c
index de24211fed9bc0d6f480260f923264b3fe6cd2be..9ccfbeddd5a2d982868ba034ff0a9fafcc7d0250 100755
--- a/funcs/func_callerid.c
+++ b/funcs/func_callerid.c
@@ -14,9 +14,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Caller ID related dialplan functions
+ * \brief Caller ID related dialplan functions
  * 
  */
 
diff --git a/funcs/func_cdr.c b/funcs/func_cdr.c
index c3037bf5aa632e9f0e1ebf9670b1cbacf8c406a6..1612d54eba2f196dd2613df750cb82ab0c8a7d79 100755
--- a/funcs/func_cdr.c
+++ b/funcs/func_cdr.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Call Detail Record related dialplan functions
+ * \brief  Call Detail Record related dialplan functions
  * 
  */
 
diff --git a/funcs/func_db.c b/funcs/func_db.c
index e3256644fd911471cffe5482015a6592d46facd8..728bdb21887b2b808cbce0d6445cb6daa97bab02 100755
--- a/funcs/func_db.c
+++ b/funcs/func_db.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Functions for interaction with the Asterisk database
+ * \brief Functions for interaction with the Asterisk database
  * 
  */
 
diff --git a/funcs/func_enum.c b/funcs/func_enum.c
index ac55b1d1b418233787f9b9c226120795132abe2a..2d5d2196256dea61862d48941ef18ac43afa5b6b 100755
--- a/funcs/func_enum.c
+++ b/funcs/func_enum.c
@@ -18,10 +18,10 @@
  * at the top of the source tree.
  */
 
-/*
- *
- * Enum Functions
+/*! \file
  *
+ * \brief ENUM Functions
+ * \arg See also AstENUM
  */
 
 #include <stdlib.h>
diff --git a/funcs/func_env.c b/funcs/func_env.c
index 972b92daec8402b8832ef96bd9c81fc83a0aab21..424f7cf0d2e4c894dba269ebca1c7aed7c523a01 100755
--- a/funcs/func_env.c
+++ b/funcs/func_env.c
@@ -14,9 +14,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Environment related dialplan functions
+ * \brief Environment related dialplan functions
  * 
  */
 
diff --git a/funcs/func_groupcount.c b/funcs/func_groupcount.c
index 55aa4308631ec4ca8e3e2292718e4d4726108b46..0559aae295af0fcd51ab3ad9468f8474ecdab7b7 100755
--- a/funcs/func_groupcount.c
+++ b/funcs/func_groupcount.c
@@ -14,9 +14,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Channel group related dialplan functions
+ * \brief Channel group related dialplan functions
  * 
  */
 
diff --git a/funcs/func_language.c b/funcs/func_language.c
index 8c48ad66c5e7b4327293d87c619e99a9de345f82..ea829a2f4497528bcc58ef2b10ea91021c299be1 100755
--- a/funcs/func_language.c
+++ b/funcs/func_language.c
@@ -14,9 +14,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Language related dialplan functions
+ * \brief Language related dialplan functions
  * 
  */
 
diff --git a/funcs/func_logic.c b/funcs/func_logic.c
index d041c4d170d93d7e29e9a6870f1fc5ef79d95bbb..a195eca4384d1f1e8c90585fa658d31c9f504201 100755
--- a/funcs/func_logic.c
+++ b/funcs/func_logic.c
@@ -15,9 +15,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  * 
- * Conditional logic dialplan functions
+ * \brief Conditional logic dialplan functions
  * 
  */
 
diff --git a/funcs/func_math.c b/funcs/func_math.c
index 8b9cb92d2cef86dc3b39c6e893671808a3100fae..876fb22111f27bba3e3a4e22ed43d8e8ec602fc5 100755
--- a/funcs/func_math.c
+++ b/funcs/func_math.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Maths relatad dialplan functions
+ * \brief Maths relatad dialplan functions
  * 
  */
 
diff --git a/funcs/func_md5.c b/funcs/func_md5.c
index 784e49c5dcd84a009bcfc7555c603c73ee719390..f320d07496f2db3dd6d55d3c46849ec0a5813964 100755
--- a/funcs/func_md5.c
+++ b/funcs/func_md5.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * MD5 digest related dialplan functions
+ * \brief MD5 digest related dialplan functions
  * 
  */
 
diff --git a/funcs/func_moh.c b/funcs/func_moh.c
index d747ee52b9531f2de365c3baa6eac58cc71e559a..4262609b8fedd9705a2b6eb81487a899c58da0d5 100755
--- a/funcs/func_moh.c
+++ b/funcs/func_moh.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Functions for reading or setting the MusicOnHold class
+ * \brief Functions for reading or setting the MusicOnHold class
  * 
  */
 
diff --git a/funcs/func_strings.c b/funcs/func_strings.c
index d25d5bb771b6f46fcb3983df14dcc1f23b3e5e7b..d527e8256ecbe96a6f24193c5e7c4ccfd219c679 100755
--- a/funcs/func_strings.c
+++ b/funcs/func_strings.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * String manipulation dialplan functions
+ * \brief String manipulation dialplan functions
  * 
  */
 
diff --git a/funcs/func_timeout.c b/funcs/func_timeout.c
index 5d869d195b398490b32fc37fe5ef2c137a83ebb6..d7d5cf4efd08b4249f10ef941ea0fb09ba62d579 100755
--- a/funcs/func_timeout.c
+++ b/funcs/func_timeout.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Channel timeout related dialplan functions
+ * \brief Channel timeout related dialplan functions
  * 
  */
 
diff --git a/funcs/func_uri.c b/funcs/func_uri.c
index 28cf205c814cfc03166117ac9e96d4bf3a190bf2..bd1fee4f5aee582b1d1d0378be5737237037220e 100755
--- a/funcs/func_uri.c
+++ b/funcs/func_uri.c
@@ -16,12 +16,12 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * URI encoding / decoding
+ * \brief URI encoding / decoding
  * 
- * For now this code only supports 8 bit characters, not unicode,
- * which we ultimately will need to support.
+ * \note For now this code only supports 8 bit characters, not unicode,
+         which we ultimately will need to support.
  * 
  */
 
@@ -40,7 +40,7 @@
 #include "asterisk/app.h"
 #include "asterisk/module.h"
 
-/*--- builtin_function_uriencode: Encode URL according to RFC 2396 */
+/*! \brief builtin_function_uriencode: Encode URL according to RFC 2396 */
 static char *builtin_function_uriencode(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len) 
 {
 	char uri[BUFSIZ];
@@ -56,7 +56,7 @@ static char *builtin_function_uriencode(struct ast_channel *chan, char *cmd, cha
 	return buf;
 }
 
-/*--- builtin_function_uridecode: Decode URI according to RFC 2396 */
+/*!\brief builtin_function_uridecode: Decode URI according to RFC 2396 */
 static char *builtin_function_uridecode(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len) 
 {
 	if (!data || ast_strlen_zero(data)) {
diff --git a/funcs/pbx_functions.c b/funcs/pbx_functions.c
index 9944f0b9efc01014e52db97039de26bd4b13e7e7..f9422bf9559ab6dd27a254c74759b02ad2b41767 100755
--- a/funcs/pbx_functions.c
+++ b/funcs/pbx_functions.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Builtin dialplan functions
+ * \brief Builtin dialplan functions
  * 
  */
 
diff --git a/image.c b/image.c
index d74fd1df69ef7602d9b24a150a60d163e539271d..894e6605b08c2d17cd9940a602784f7ae2981b23 100755
--- a/image.c
+++ b/image.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Channel Management
+ * \brief Image Management
  * 
  */
 
diff --git a/include/asterisk/acl.h b/include/asterisk/acl.h
index 5079b7dbb644e8ec3a9d32754cb2665be00346af..ad946d57eb68407e2a027683a8a2077c12bbab25 100755
--- a/include/asterisk/acl.h
+++ b/include/asterisk/acl.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Access Control of various sorts
+/*! \file
+ * \brief Access Control of various sorts
  */
 
 #ifndef _ASTERISK_ACL_H
diff --git a/include/asterisk/adsi.h b/include/asterisk/adsi.h
index bc517919999e973aa0e5a37a01cbe83c0c115f11..51430721211df462b1193206d9491d521251904b 100755
--- a/include/asterisk/adsi.h
+++ b/include/asterisk/adsi.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * ADSI Support (built upon Caller*ID) 
+/*! \file
+ * \brief ADSI Support (built upon Caller*ID) 
  */
 
 #ifndef _ASTERISK_ADSI_H
diff --git a/include/asterisk/aes.h b/include/asterisk/aes.h
index c77ea8f98e14b339d49f01cb40dbf35aa4724e4c..af648e8eeacffd0794b3db881542475d4d5f2dc4 100755
--- a/include/asterisk/aes.h
+++ b/include/asterisk/aes.h
@@ -39,8 +39,10 @@
  and/or fitness for purpose.
  ---------------------------------------------------------------------------
  Issue Date: 26/08/2003
+*/
+/*!\file
 
- This file contains the definitions required to use AES in C. See aesopt.h
+ \brief This file contains the definitions required to use AES in C. See aesopt.h
  for optimisation details.
 */
 
diff --git a/include/asterisk/agi.h b/include/asterisk/agi.h
index 0d3fcc6595c4c3e0e8944910e347f379a7db3fbd..226041173f99f055271a44e19572374d7b5035af 100755
--- a/include/asterisk/agi.h
+++ b/include/asterisk/agi.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * AGI Extension interfaces
+/*! \file
+ * \brief AGI Extension interfaces - Asterisk Gateway Interface
  */
 
 #ifndef _ASTERISK_AGI_H
diff --git a/include/asterisk/alaw.h b/include/asterisk/alaw.h
index b2e0fae19ebf64c7f4d161e421d0f6f059372052..6feb07aa2bf0b6f1bd5cc573979b1151e2c22503 100755
--- a/include/asterisk/alaw.h
+++ b/include/asterisk/alaw.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * A-Law to Signed linear conversion
+/*! \file
+ * \brief A-Law to Signed linear conversion
  */
 
 #ifndef _ASTERISK_ALAW_H
diff --git a/include/asterisk/app.h b/include/asterisk/app.h
index 706871f8d6b419e61e0e6fc6e16552c41cce3035..36f24532540b59a5917784ac86fdd95954058a13 100755
--- a/include/asterisk/app.h
+++ b/include/asterisk/app.h
@@ -15,9 +15,9 @@
  * at the top of the source tree.
  */
 
-/*
- * Application convenience functions, designed to give consistent
- * look and feel to Asterisk apps.
+/*! \file
+ * \brief Application convenience functions, designed to give consistent
+ look and feel to Asterisk apps.
  */
 
 #ifndef _ASTERISK_APP_H
diff --git a/include/asterisk/astdb.h b/include/asterisk/astdb.h
index c1012cda78dcab4048f6f2af178673ec0129110f..828fe97259178e5f68d932f57b2fc40e4c8eba1a 100755
--- a/include/asterisk/astdb.h
+++ b/include/asterisk/astdb.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Persistant data storage (akin to *doze registry)
+/*! \file
+ * \brief Persistant data storage (akin to *doze registry)
  */
 
 #ifndef _ASTERISK_ASTDB_H
diff --git a/include/asterisk/astmm.h b/include/asterisk/astmm.h
index 3c86b7b9bed9f5ac512448091ef828c3818285de..9e70366fa7aad19af002d68d01b9f6d97c10d80e 100755
--- a/include/asterisk/astmm.h
+++ b/include/asterisk/astmm.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Asterisk memory usage debugging
+/*! \file
+ * \brief Asterisk memory usage debugging
  */
 
 #ifndef NO_AST_MM
diff --git a/include/asterisk/astosp.h b/include/asterisk/astosp.h
index 9baf3f0b4da46a9781c85791a736cba72ac584ae..ee809bbc2c8c10738a61df63f7dfc8491411497e 100755
--- a/include/asterisk/astosp.h
+++ b/include/asterisk/astosp.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * OSP support
+/*! \file
+ * \brief OSP support (Open Settlement Protocol)
  */
 
 #ifndef _ASTERISK_OSP_H
diff --git a/include/asterisk/callerid.h b/include/asterisk/callerid.h
index ba84a54dd632deb7bdf8fc3beddd944edafd6e3f..ff73883818ea346e6f84a9b8dbf0449c8403a870 100755
--- a/include/asterisk/callerid.h
+++ b/include/asterisk/callerid.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * CallerID (and other GR30) Generation support 
+/*! \file
+ * \brief CallerID (and other GR30) Generation support 
  * Includes code and algorithms from the Zapata library.
  */
 
diff --git a/include/asterisk/causes.h b/include/asterisk/causes.h
index 7311e89cfa1a80ee0a51b321051a02c804c29bda..fc27c797038d5ac5e58804b2d70f5cce44b90be6 100755
--- a/include/asterisk/causes.h
+++ b/include/asterisk/causes.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Internal Asterisk hangup causes
+/*! \file
+ * \brief Internal Asterisk hangup causes
  */
 
 #ifndef _ASTERISK_CAUSES_H
diff --git a/include/asterisk/cdr.h b/include/asterisk/cdr.h
index 6cb75e4156a9144dfd40373eed500cb1d4e6fa84..78df4b9de6ac1890866cd19bfab1fdefda042c6d 100755
--- a/include/asterisk/cdr.h
+++ b/include/asterisk/cdr.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Call Detail Record API 
+/*! \file
+ * \brief Call Detail Record API 
  */
 
 #ifndef _ASTERISK_CDR_H
@@ -104,26 +104,23 @@ extern int ast_cdr_copy_vars(struct ast_cdr *to_cdr, struct ast_cdr *from_cdr);
 
 typedef int (*ast_cdrbe)(struct ast_cdr *cdr);
 
-/*! Allocate a record */
-/*! 
+/*! \brief Allocate a CDR record 
  * Returns a malloc'd ast_cdr structure, returns NULL on error (malloc failure)
  */
 extern struct ast_cdr *ast_cdr_alloc(void);
 
-/*! Duplicate a record */
-/*! 
+/*! \brief Duplicate a record 
  * Returns a malloc'd ast_cdr structure, returns NULL on error (malloc failure)
  */
 extern struct ast_cdr *ast_cdr_dup(struct ast_cdr *cdr);
 
-/*! Free a record */
-/* \param cdr ast_cdr structure to free
+/*! \brief Free a CDR record 
+ * \param cdr ast_cdr structure to free
  * Returns nothing important
  */
 extern void ast_cdr_free(struct ast_cdr *cdr);
 
-/*! Initialize based on a channel */
-/*! 
+/*! \brief Initialize based on a channel
  * \param cdr Call Detail Record to use for channel
  * \param chan Channel to bind CDR with
  * Initializes a CDR and associates it with a particular channel
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index d0f3b98ea46e3f685b1a9f5bc4027ba5b4ae4bb2..00b0cce671a5b1b9cb42e302c40eea6b23e3b5d5 100755
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * General Asterisk channel definitions.
+/*! \file
+ * \brief General Asterisk PBX channel definitions.
  */
 
 #ifndef _ASTERISK_CHANNEL_H
diff --git a/include/asterisk/chanvars.h b/include/asterisk/chanvars.h
index 434874ba9e04d478cc2f906885b3e9400b557dc5..32cccf3340276ae34768c26b3676f0966b06b477 100755
--- a/include/asterisk/chanvars.h
+++ b/include/asterisk/chanvars.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Channel Variables
+/*! \file
+ * \brief Channel Variables
  */
 
 #ifndef _ASTERISK_CHANVARS_H
diff --git a/include/asterisk/cli.h b/include/asterisk/cli.h
index 20a259be14027b17bc49f8100bc0172106802efe..4dcdeab6509f04bcdccac2ec3d36f49056430bc0 100755
--- a/include/asterisk/cli.h
+++ b/include/asterisk/cli.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Standard Command Line Interface
+/*! \file
+ * \brief Standard Command Line Interface
  */
 
 #ifndef _ASTERISK_CLI_H
@@ -42,7 +42,7 @@ extern void ast_cli(int fd, char *fmt, ...)
 
 #define AST_CLI_COMPLETE_EOF	"_EOF_"
 
-/*! A command line entry */ 
+/*! \brief A command line entry */ 
 struct ast_cli_entry {
 	/*! Null terminated list of the words of the command */
 	char *cmda[AST_MAX_CMD_LEN];
@@ -60,14 +60,13 @@ struct ast_cli_entry {
 	int inuse;
 };
 
-/*! Interprets a command */
-/*! Interpret a command s, sending output to fd
+/*! \brief Interprets a command 
+ * Interpret a command s, sending output to fd
  * Returns 0 on succes, -1 on failure 
  */
 extern int ast_cli_command(int fd, char *s);
 
-/*! Registers a command or an array of commands */
-/*! 
+/*! \brief Registers a command or an array of commands 
  * \param e which cli entry to register
  * Register your own command
  * Returns 0 on success, -1 on failure
@@ -75,14 +74,14 @@ extern int ast_cli_command(int fd, char *s);
 extern int ast_cli_register(struct ast_cli_entry *e);
 
 /*! 
+ * \brief Register multiple commands
  * \param e pointer to first cli entry to register
  * \param len number of entries to register
- * Register multiple commands
  */
 extern void ast_cli_register_multiple(struct ast_cli_entry *e, int len);
 
-/*! Unregisters a command or an array of commands */
-/*!
+/*! \brief Unregisters a command or an array of commands
+ *
  * \param e which cli entry to unregister
  * Unregister your own command.  You must pass a completed ast_cli_entry structure
  * Returns 0.
@@ -90,14 +89,14 @@ extern void ast_cli_register_multiple(struct ast_cli_entry *e, int len);
 extern int ast_cli_unregister(struct ast_cli_entry *e);
 
 /*!
+ * \brief Unregister multiple commands
  * \param e pointer to first cli entry to unregister
  * \param len number of entries to unregister
- * Unregister multiple commands
  */
 extern void ast_cli_unregister_multiple(struct ast_cli_entry *e, int len);
 
-/*! Readline madness */
-/* Useful for readline, that's about it
+/*! \brief Readline madness 
+ * Useful for readline, that's about it
  * Returns 0 on success, -1 on failure
  */
 extern char *ast_cli_generator(char *, char *, int);
diff --git a/include/asterisk/compat.h b/include/asterisk/compat.h
index 71c18f29abe3b36d166c50c15b9571b25b7a233e..fc4791b9cc4e72251567acbdf12063421b523ade 100755
--- a/include/asterisk/compat.h
+++ b/include/asterisk/compat.h
@@ -1,7 +1,5 @@
 /*
  * Asterisk -- A telephony toolkit for Linux.
- *
- * General Definitions for Asterisk top level program
  * 
  * Copyright (C) 1999-2005, Mark Spencer
  *
@@ -11,6 +9,10 @@
  * the GNU General Public License
  */
 
+/*! \file
+ * \brief General Definitions for Asterisk top level program
+ */
+
 #ifndef _COMPAT_H
 #define _COMPAT_H
 
diff --git a/include/asterisk/compiler.h b/include/asterisk/compiler.h
index 3cd6220382a0ac3f347b8ca8cf79516d7977ac5d..f436f4cb44451f46e5ee62a7c8e1e2bd7a26e862 100755
--- a/include/asterisk/compiler.h
+++ b/include/asterisk/compiler.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Compiler-specific macros and other items
+/*! \file
+ * \brief Compiler-specific macros and other items
  */
 
 #ifndef _ASTERISK_COMPILER_H
diff --git a/include/asterisk/config.h b/include/asterisk/config.h
index 5a6e2b22de25a225103ce0dabe0a30dde6129c89..eff829b63dcdbac5ae1d13dc564a51ab235ca854 100755
--- a/include/asterisk/config.h
+++ b/include/asterisk/config.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Configuration File Parser
+/*! \file
+ * \brief Configuration File Parser
  */
 
 #ifndef _ASTERISK_CONFIG_H
@@ -37,8 +37,8 @@ struct ast_variable {
 	char *name;
 	char *value;
 	int lineno;
-	int object;		/* 0 for variable, 1 for object */
-	int blanklines; 	/* Number of blanklines following entry */
+	int object;		/*!< 0 for variable, 1 for object */
+	int blanklines; 	/*!< Number of blanklines following entry */
 	struct ast_comment *precomments;
 	struct ast_comment *sameline;
 	struct ast_variable *next;
@@ -59,8 +59,7 @@ struct ast_config_engine {
 	struct ast_config_engine *next;
 };
 
-/*! Load a config file */
-/*! 
+/*! \brief Load a config file 
  * \param configfile path of file to open.  If no preceding '/' character, path is considered relative to AST_CONFIG_DIR
  * Create a config structure from a given configuration file.
  *
@@ -68,16 +67,14 @@ struct ast_config_engine {
  */
 struct ast_config *ast_config_load(const char *filename);
 
-/*! Destroys a config */
-/*!
+/*! \brief Destroys a config 
  * \param config pointer to config data structure
  * Free memory associated with a given config
  *
  */
 void ast_config_destroy(struct ast_config *config);
 
-/*! Goes through categories */
-/*!
+/*! \brief Goes through categories 
  * \param config Which config structure you wish to "browse"
  * \param prev A pointer to a previous category.
  * This funtion is kind of non-intuitive in it's use.  To begin, one passes NULL as the second arguement.  It will return a pointer to the string of the first category in the file.  From here on after, one must then pass the previous usage's return value as the second pointer, and it will return a pointer to the category name afterwards.
@@ -86,8 +83,7 @@ void ast_config_destroy(struct ast_config *config);
  */
 char *ast_category_browse(struct ast_config *config, const char *prev);
 
-/*! Goes through variables */
-/*!
+/*! \brief Goes through variables
  * Somewhat similar in intent as the ast_category_browse.
  * List variables of config file category
  *
@@ -95,8 +91,7 @@ char *ast_category_browse(struct ast_config *config, const char *prev);
  */
 struct ast_variable *ast_variable_browse(const struct ast_config *config, const char *category);
 
-/*! Gets a variable */
-/*!
+/*! \brief Gets a variable 
  * \param config which (opened) config to use
  * \param category category under which the variable lies
  * \param value which variable you wish to get the data for
@@ -106,8 +101,7 @@ struct ast_variable *ast_variable_browse(const struct ast_config *config, const
  */
 char *ast_variable_retrieve(const struct ast_config *config, const char *category, const char *variable);
 
-/*! Retrieve a category if it exists */
-/*!
+/*! \brief Retrieve a category if it exists
  * \param config which config to use
  * \param category_name name of the category you're looking for
  * This will search through the categories within a given config file for a match.
@@ -116,8 +110,7 @@ char *ast_variable_retrieve(const struct ast_config *config, const char *categor
  */
 struct ast_category *ast_category_get(const struct ast_config *config, const char *category_name);
 
-/*! Check for category duplicates */
-/*!
+/*! \brief Check for category duplicates 
  * \param config which config to use
  * \param category_name name of the category you're looking for
  * This will search through the categories within a given config file for a match.
@@ -126,8 +119,7 @@ struct ast_category *ast_category_get(const struct ast_config *config, const cha
  */
 int ast_category_exist(const struct ast_config *config, const char *category_name);
 
-/*! Retrieve realtime configuration */
-/*!
+/*! \brief Retrieve realtime configuration 
  * \param family which family/config to lookup
  * \param keyfield which field to use as the key
  * \param lookup which value to look for in the key field to match the entry.
@@ -138,8 +130,7 @@ int ast_category_exist(const struct ast_config *config, const char *category_nam
  */
 struct ast_variable *ast_load_realtime(const char *family, ...);
 
-/*! Retrieve realtime configuration */
-/*!
+/*! \brief Retrieve realtime configuration 
  * \param family which family/config to lookup
  * \param keyfield which field to use as the key
  * \param lookup which value to look for in the key field to match the entry.
@@ -151,8 +142,7 @@ struct ast_variable *ast_load_realtime(const char *family, ...);
  */
 struct ast_config *ast_load_realtime_multientry(const char *family, ...);
 
-/*! Update realtime configuration */
-/*!
+/*! \brief Update realtime configuration 
  * \param family which family/config to be updated
  * \param keyfield which field to use as the key
  * \param lookup which value to look for in the key field to match the entry.
@@ -163,21 +153,24 @@ struct ast_config *ast_load_realtime_multientry(const char *family, ...);
  */
 int ast_update_realtime(const char *family, const char *keyfield, const char *lookup, ...);
 
-/*! Check if realtime engine is configured for family 
-  returns 1 if family is configured in realtime and engine exists
-  \param family which family/config to be checked
+/*! \brief Check if realtime engine is configured for family 
+ * returns 1 if family is configured in realtime and engine exists
+ * \param family which family/config to be checked
 */
 int ast_check_realtime(const char *family);
 
-/*! Free variable list */
-/*!
+/*! \brief Free variable list 
  * \param var the linked list of variables to free
  * This function frees a list of variables.
  */
 void ast_variables_destroy(struct ast_variable *var);
 
+/*! \brief Register config engine */
 int ast_config_engine_register(struct ast_config_engine *newconfig);
+
+/*! \brief Deegister config engine */
 int ast_config_engine_deregister(struct ast_config_engine *del);
+
 int register_config_cli(void);
 void read_config_maps(void);
 
diff --git a/include/asterisk/crypto.h b/include/asterisk/crypto.h
index 7d86da16d8aa205b4cbb498e54356485609c5383..2463ba4ed8d39af266a998f0df69da45e48d03ad 100755
--- a/include/asterisk/crypto.h
+++ b/include/asterisk/crypto.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Provide cryptographic signature routines
+/*! \file
+ * \brief Provide cryptographic signature routines
  */
 
 #ifndef _ASTERISK_CRYPTO_H
@@ -35,8 +35,7 @@ extern "C" {
 
 struct ast_key;
 
-/*! Retrieve a key */
-/*! 
+/*! \brief Retrieve a key 
  * \param name of the key we are retrieving
  * \param int type of key (AST_KEY_PUBLIC or AST_KEY_PRIVATE)
  *
@@ -44,8 +43,7 @@ struct ast_key;
  */
 extern struct ast_key *(*ast_key_get)(const char *key, int type);
 
-/*! Check the authenticity of a message signature using a given public key */
-/*!
+/*! \brief Check the authenticity of a message signature using a given public key 
  * \param key a public key to use to verify
  * \param msg the message that has been signed
  * \param sig the proposed valid signature in mime64-like encoding
@@ -55,8 +53,7 @@ extern struct ast_key *(*ast_key_get)(const char *key, int type);
  */
 extern int (*ast_check_signature)(struct ast_key *key, const char *msg, const char *sig);
 
-/*! Check the authenticity of a message signature using a given public key */
-/*!
+/*! \brief Check the authenticity of a message signature using a given public key 
  * \param key a public key to use to verify
  * \param msg the message that has been signed
  * \param sig the proposed valid signature in raw binary representation
@@ -76,6 +73,7 @@ extern int (*ast_check_signature_bin)(struct ast_key *key, const char *msg, int
  *
  */
 extern int (*ast_sign)(struct ast_key *key, char *msg, char *sig);
+
 /*!
  * \param key a private key to use to create the signature
  * \param msg the message to sign
diff --git a/include/asterisk/devicestate.h b/include/asterisk/devicestate.h
index ec8c6620b8ca3642d120c5189a18dcf27e5ff99e..49efcc10a4854990ffd54f80403185f432b39239 100755
--- a/include/asterisk/devicestate.h
+++ b/include/asterisk/devicestate.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Device state management
+/*! \file
+ * \brief Device state management
  */
 
 #ifndef _ASTERISK_DEVICESTATE_H
@@ -44,12 +44,12 @@ extern "C" {
 
 typedef int (*ast_devstate_cb_type)(const char *dev, int state, void *data);
 
-/*! Convert device state to text string for output */
-/*! \param devstate Current device state */
+/*! \brief Convert device state to text string for output 
+ * \param devstate Current device state 
+ */
 const char *devstate2str(int devstate);
 
-/*! Search the Channels by Name */
-/*!
+/*! \brief Search the Channels by Name
  * \param device like a dialstring
  * Search the Device in active channels by compare the channelname against 
  * the devicename. Compared are only the first chars to the first '-' char.
@@ -58,8 +58,7 @@ const char *devstate2str(int devstate);
  */
 int ast_parse_device_state(const char *device);
 
-/*! Asks a channel for device state */
-/*!
+/*! \brief Asks a channel for device state
  * \param device like a dialstring
  * Asks a channel for device state, data is  normaly a number from dialstring
  * used by the low level module
@@ -69,8 +68,7 @@ int ast_parse_device_state(const char *device);
  */
 int ast_device_state(const char *device);
 
-/*! Tells Asterisk the State for Device is changed */
-/*!
+/*! \brief Tells Asterisk the State for Device is changed
  * \param fmt devicename like a dialstring with format parameters
  * Asterisk polls the new extensionstates and calls the registered
  * callbacks for the changed extensions
@@ -80,8 +78,7 @@ int ast_device_state_changed(const char *fmt, ...)
 	__attribute__ ((format (printf, 1, 2)));
 
 
-/*! Tells Asterisk the State for Device is changed */
-/*!
+/*! \brief Tells Asterisk the State for Device is changed 
  * \param device devicename like a dialstrin
  * Asterisk polls the new extensionstates and calls the registered
  * callbacks for the changed extensions
@@ -89,8 +86,7 @@ int ast_device_state_changed(const char *fmt, ...)
  */
 int ast_device_state_changed_literal(const char *device);
 
-/*! Registers a device state change callback */
-/*!
+/*! \brief Registers a device state change callback 
  * \param data to pass to callback
  * The callback is called if the state for extension is changed
  * Return -1 on failure, ID on success
diff --git a/include/asterisk/dns.h b/include/asterisk/dns.h
index c1a0c3afdd338f91cda2db1f86c178bdd936a620..18ebaf585a7778f3c1720ed2ee49e21afa8fae75 100755
--- a/include/asterisk/dns.h
+++ b/include/asterisk/dns.h
@@ -16,8 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
- * DNS support
+/*! \file
+ * \brief DNS support for Asterisk
+ * \author Thorsten Lockert <tholo@trollphone.org>
  */
 
 #ifndef _ASTERISK_DNS_H
diff --git a/include/asterisk/dnsmgr.h b/include/asterisk/dnsmgr.h
index c5da2d9b04eb8a9e9bd9f453b3b23c9df034a45b..b5cc2a7edadbe1d2888e9aa803dbb20585218355 100755
--- a/include/asterisk/dnsmgr.h
+++ b/include/asterisk/dnsmgr.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Background DNS update manager
+/*! \file
+ * \brief Background DNS update manager
  */
 
 #ifndef _ASTERISK_DNSMGR_H
diff --git a/include/asterisk/doxyref.h b/include/asterisk/doxyref.h
new file mode 100755
index 0000000000000000000000000000000000000000..f87a98b4040c82c59b46e49d60e96ef9d4c2e288
--- /dev/null
+++ b/include/asterisk/doxyref.h
@@ -0,0 +1,286 @@
+/*
+ * Asterisk -- An open source telephony toolkit.
+ *
+ * Copyright (C) 1999 - 2005, Digium, Inc.
+ *
+ * Mark Spencer <markster@digium.com>
+ *
+ * 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 file generates Doxygen pages from files in the /doc
+ directory of the Asterisk source code tree 
+ */
+
+/* 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
+ *  \arg \ref CodeGuide 
+ *  \arg \ref AstAPI
+ *  \arg \ref AstDebug
+ *  \arg \ref AstAMI
+ *  \arg \ref AstARA
+ *  \arg \ref AstDUNDi
+ *  \arg \ref AstCDR
+ *  \arg \ref AstREADME
+ *  \arg \ref AstCREDITS
+ *  \arg \ref AstVar
+ *  \arg \ref AstENUM
+ *  \arg \ref ConfigFiles
+ */
+
+/*! \page CodeGuide Coding Guidelines
+ *  \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
+ *  This programmer's documentation covers the generic API.
+ *  \subsection generic Generic Model
+ *  \verbinclude model.txt
+ *  \subsection channel Channels
+ *  \verbinclude channel.txt
+ */
+/*! \page AstDebug Debugging
+ *  \section debug Debugging
+ *  \verbinclude README.backtrace
+ */
+/*! \page AstAMI AMI - The Manager Interface
+ *  \section ami AMI - The manager Interface
+ *  \arg \link Config_ami Configuration file \endlink
+ *  \verbinclude 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 
+ *  \verbinclude README.realtime 
+ *  \verbinclude README.extconfig
+ */
+/*!  \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. 
+
+ 	\arg Dundi is documented at http://www.dundi.com
+  	\arg Implemented in \ref pbx_dundi.c and \ref dundi-parser.c
+ 	\arg Configuration in \link Config_dun dundi.conf \endlink
+ */
+
+/*! \page AstCDR CDR - Call Data Records and billing
+ * \section cdr Call Data Records
+ *  \verbinclude README.cdr
+ * \arg \ref Config_cdr CDR configuration files
+ */
+/*! \page AstREADME README - the general administrator introduction
+ *  \verbinclude README
+ */
+ 
+/*! \page AstCREDITS CREDITS
+ *  \verbinclude CREDITS
+ */
+
+/*! \page AstVar Global channel variables
+ * \section globchan Global Channel Variables
+ *  \verbinclude README.variables
+ */
+
+/*! \page AstENUM ENUM
+ * \section enumreadme ENUM
+ * \arg Configuration: \ref Config_enum
+ * \verbinclude README.enum
+ */
+
+/*! \page ConfigFiles Configuration files
+ * \section config Main configuration files
+ * \arg \link Config_ast asterisk.conf - the main configuration file \endlink
+ * \arg \link Config_ext extensions.conf - The Dial Plan \endlink
+ * \arg \link Config_mod modules.conf - which modules to load and not to load \endlink
+ * \arg \link Config_fea features.conf - call features (transfer, parking, etc) \endlink
+ * \section chanconf Channel configurations
+ * \arg \link Config_iax IAX2 configuration  \endlink
+ * \arg \link Config_sip SIP configuration  \endlink
+ * \arg \link Config_mgcp MGCP configuration  \endlink
+ * \arg \link Config_rtp RTP configuration  \endlink
+ * \arg \link Config_zap Zaptel configuration  \endlink
+ * \arg \link Config_oss OSS (sound card) configuration  \endlink
+ * \arg \link Config_alsa ALSA (sound card) configuration  \endlink
+ * \arg \link Config_agent Agent (proxy channel) configuration  \endlink
+ * \section appconf Application configuration files
+ * \arg \link Config_mm Meetme (conference bridge) configuration  \endlink
+ * \arg \link Config_qu Queue system configuration  \endlink
+ * \arg \link Config_vm Voicemail configuration  \endlink
+ * \section miscconf Miscellenaous configuration files
+ * \arg \link Config_adsi Adsi configuration  \endlink
+ * \arg \link Config_ami AMI - Manager configuration  \endlink
+ * \arg \link Config_ara Realtime configuration  \endlink
+ * \arg \link Config_codec Codec configuration  \endlink
+ * \arg \link Config_dun Dundi configuration  \endlink
+ * \arg \link Config_enum ENUM configuration  \endlink
+ * \arg \link Config_moh Music on Hold configuration  \endlink
+ * \arg \link Config_vm Voicemail configuration  \endlink
+ */
+
+/*! \page Config_ast Asterisk.conf
+ * \verbinclude README.asterisk.conf
+ */
+/*! \page Config_mod Modules configuration
+ * \verbinclude modules.conf.sample
+ */
+
+/*! \page Config_fea Call features configuration
+ * \section featconf features.conf
+ * \verbinclude features.conf.sample
+ */
+
+/*! \page Config_ext Extensions.conf - the Dial Plan
+ * \section dialplan Extensions.conf 
+ * \verbinclude extensions.conf.sample
+ */
+
+/*! \page Config_iax IAX2 configuration
+ * IAX2 is implemented in \ref chan_iax2.c . 
+ * \arg \link iaxreadme README file \endlink
+ * \arg \link iaxconfig iax.conf Configuration file example \endlink
+ * \section iaxreadme IAX readme file
+ * \verbinclude README.iax
+ * \section iaxconfig IAX Configuration example
+ * \verbinclude iax.conf.sample
+ * \section iaxjitter IAX Jitterbuffer information
+ * \verbinclude README.jitterbuffer
+ */
+
+/*! \page Config_sip SIP configuration
+ * Also see \ref Config_rtp RTP configuration
+ * \ref chan_sip.c
+ * \section sipconf sip.conf
+ * \verbinclude sip.conf.sample
+ */
+
+/*! \page Config_mgcp MGCP configuration
+ * Also see \ref Config_rtp RTP configuration
+ * \ref chan_mgcp.c
+ * \section mgcpconf mgcp.conf
+ * \verbinclude mgcp.conf.sample
+ */
+
+
+/*! \page Config_vm VoiceMail configuration
+ * \section vmconf voicemail.conf
+ * \ref app_voicemail.c
+ * \verbinclude voicemail.conf.sample
+ */
+
+/*! \page Config_zap Zaptel configuration
+ * \section zapconf zapata.conf
+ * \ref chan_zap.c
+ * \verbinclude zapata.conf.sample
+ */
+
+/*! \page Config_oss OSS configuration
+ * \section ossconf oss.conf
+ * \ref chan_oss.c
+ * \verbinclude oss.conf.sample
+ */
+
+/*! \page Config_alsa ALSA configuration
+ * \section alsaconf alsa.conf
+ * \ref chan_alsa.c
+ * \verbinclude alsa.conf.sample
+ */
+
+/*! \page Config_agent Agent configuration
+ * \section agentconf agents.conf
+ * The agent channel is a proxy channel for queues
+ * \ref chan_agent.c
+ * \verbinclude agents.conf.sample
+ */
+
+/*! \page Config_rtp RTP configuration
+ * \ref rtp.c
+ * \section rtpconf rtp.conf
+ * \verbinclude rtp.conf.sample
+ */
+/*! \page Config_dun Dundi Configuration
+ * \arg See also \ref AstDundi
+ * \section dundiconf dundi.conf
+ * \verbinclude dundi.conf.sample
+ */
+/*! \page Config_enum ENUM Configuration
+ * \arg See also \ref enumreadme
+ * \section enumconf enum.conf
+ * \verbinclude enum.conf.sample
+ */
+/*! \page Config_cdr CDR configuration
+ * \arg \link cdrconf Main CDR Configuration \endlink
+ * \arg \link cdrcustom Custom CDR driver configuration \endlink
+ * \arg \link cdrami Manager CDR driver configuration \endlink
+ * \arg \link cdrodbc ODBC CDR driver configuration \endlink
+ * \arg \link cdrpgsql Postgres CDR driver configuration \endlink
+ * \arg \link cdrtds FreeTDS CDR driver configuration (Microsoft SQL Server) \endlink
+ * \section cdrconf Main CDR configuration
+ * \verbinclude cdr.conf.sample
+ * \section cdrcustom Custom CDR driver configuration
+ * \verbinclude cdr_custom.conf.sample
+ * \section cdrami Manager CDR driver configuration
+ * \verbinclude cdr_manager.conf.sample
+ * \section cdrodbc ODBC CDR driver configuration
+ * Based on http://www.unixodbc.org
+ * \verbinclude cdr_odbc.conf.sample
+ * \section cdrpgsql Postgres CDR driver configuration
+ * \verbinclude cdr_pgsql.conf.sample
+ * \verbinclude cdr_tds.conf.sample
+ * \section cdrtds FreeTDS CDR driver configuration
+ * \verbinclude cdr_tds.conf.sample
+ */
+
+/*! \page Config_moh Music on Hold Configuration
+ * \arg Implemented in \ref res_musiconhold.c
+ * \section mohconf musiconhold.conf
+ * \verbinclude musiconhold.conf.sample
+ */
+
+/*! \page Config_adsi ADSI Configuration
+ * \section adsiconf adsi.conf
+ * \verbinclude adsi.conf.sample
+ */
+
+/*! \page Config_codec CODEC Configuration
+ * \section codecsconf codecs.conf
+ * \verbinclude codecs.conf.sample
+ */
+
+/*! \page Config_ara REALTIME Configuration
+ * \arg See also: \AstARA
+ * \section extconf extconfig.conf
+ * \verbinclude extconfig.conf.sample
+ */
+
+/*! \page Config_ami AMI configuration
+ * \arg See also: \AstAMI
+ * \section amiconf manager.conf
+ * \verbinclude manager.conf.sample
+ */
+
+/*! \page Config_qu ACD - Queue system configuration
+ * \section quconf queues.conf
+ * \verbinclude queues.conf.sample
+ */
+
+/*! \page Config_mm Meetme - The conference bridge configuration
+ * \section mmconf meetme.conf
+ * \verbinclude meetme.conf.sample
+ */
+
diff --git a/include/asterisk/dsp.h b/include/asterisk/dsp.h
index c189f9d03c3dbccc8d46bb1005e185899f018004..b34701f3017cdecfa7f3e9f6fdecea80d5ef100e 100755
--- a/include/asterisk/dsp.h
+++ b/include/asterisk/dsp.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Convenient Signal Processing routines
+/*! \file
+ * \brief Convenient Signal Processing routines
  */
 
 #ifndef _ASTERISK_DSP_H
@@ -56,55 +56,56 @@ struct ast_dsp;
 
 struct ast_dsp *ast_dsp_new(void);
 void ast_dsp_free(struct ast_dsp *dsp);
-/* Set threshold value for silence */
+
+/*! \brief Set threshold value for silence */
 void ast_dsp_set_threshold(struct ast_dsp *dsp, int threshold);
 
-/* Set number of required cadences for busy */
+/*! \brief Set number of required cadences for busy */
 void ast_dsp_set_busy_count(struct ast_dsp *dsp, int cadences);
 
-/* Set expected lengths of the busy tone */
+/*! \brief Set expected lengths of the busy tone */
 void ast_dsp_set_busy_pattern(struct ast_dsp *dsp, int tonelength, int quietlength);
 
-/* Scans for progress indication in audio */
+/*! \brief Scans for progress indication in audio */
 int ast_dsp_call_progress(struct ast_dsp *dsp, struct ast_frame *inf);
 
-/* Set zone for doing progress detection */
+/*! \brief Set zone for doing progress detection */
 int ast_dsp_set_call_progress_zone(struct ast_dsp *dsp, char *zone);
 
-/* Return AST_FRAME_NULL frames when there is silence, AST_FRAME_BUSY on 
+/*! \brief Return AST_FRAME_NULL frames when there is silence, AST_FRAME_BUSY on 
    busies, and call progress, all dependent upon which features are enabled */
 struct ast_frame *ast_dsp_process(struct ast_channel *chan, struct ast_dsp *dsp, struct ast_frame *inf);
 
-/* Return non-zero if this is silence.  Updates "totalsilence" with the total
+/*! \brief Return non-zero if this is silence.  Updates "totalsilence" with the total
    number of seconds of silence  */
 int ast_dsp_silence(struct ast_dsp *dsp, struct ast_frame *f, int *totalsilence);
 
-/* Return non-zero if historically this should be a busy, request that
+/*! \brief Return non-zero if historically this should be a busy, request that
   ast_dsp_silence has already been called */
 int ast_dsp_busydetect(struct ast_dsp *dsp);
 
-/* Return non-zero if DTMF hit was found */
+/*! \brief Return non-zero if DTMF hit was found */
 int ast_dsp_digitdetect(struct ast_dsp *dsp, struct ast_frame *f);
 
-/* Reset total silence count */
+/*! \brief Reset total silence count */
 void ast_dsp_reset(struct ast_dsp *dsp);
 
-/* Reset DTMF detector */
+/*! \brief Reset DTMF detector */
 void ast_dsp_digitreset(struct ast_dsp *dsp);
 
-/* Select feature set */
+/*! \brief Select feature set */
 void ast_dsp_set_features(struct ast_dsp *dsp, int features);
 
-/* Get pending DTMF/MF digits */
+/*! \brief Get pending DTMF/MF digits */
 int ast_dsp_getdigits(struct ast_dsp *dsp, char *buf, int max);
 
-/* Set digit mode */
+/*! \brief Set digit mode */
 int ast_dsp_digitmode(struct ast_dsp *dsp, int digitmode);
 
-/* Get tstate (Tone State) */
+/*! \brief Get tstate (Tone State) */
 int ast_dsp_get_tstate(struct ast_dsp *dsp);
 
-/* Get tcount (Threshold counter) */
+/*! \brief Get tcount (Threshold counter) */
 int ast_dsp_get_tcount(struct ast_dsp *dsp);
 
 #endif /* _ASTERISK_DSP_H */
diff --git a/include/asterisk/dundi.h b/include/asterisk/dundi.h
index ef6b89fce76840207105bce827d8a8e9de05b73a..9290536d6859b089231382c38d98e0fd86b10905 100755
--- a/include/asterisk/dundi.h
+++ b/include/asterisk/dundi.h
@@ -16,8 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
- * Distributed Universal Number Discovery (DUNDi)
+/*! \file
+ * \brief Distributed Universal Number Discovery (DUNDi)
+ * See also \ref AstDUNDi
  */
 
 #ifndef _ASTERISK_DUNDI_H 
@@ -27,7 +28,7 @@
 
 #define DUNDI_PORT 4520
 
-/* A DUNDi Entity ID is essentially a MAC address, brief and unique */
+/*!\brief A DUNDi Entity ID is essentially a MAC address, brief and unique */
 struct _dundi_eid {
 	unsigned char eid[6];
 } __attribute__ ((__packed__));
@@ -35,12 +36,12 @@ struct _dundi_eid {
 typedef struct _dundi_eid dundi_eid;
 
 struct dundi_hdr {
-	unsigned short strans;			/* Source transaction */
-	unsigned short dtrans;			/* Destination transaction */
-	unsigned char iseqno;			/* Next expected incoming sequence number */
-	unsigned char oseqno;			/* Outgoing sequence number */
-	unsigned char cmdresp;			/* Command / Response */
-	unsigned char cmdflags;			/* Command / Response specific flags*/
+	unsigned short strans;			/*!< Source transaction */
+	unsigned short dtrans;			/*!< Destination transaction */
+	unsigned char iseqno;			/*!< Next expected incoming sequence number */
+	unsigned char oseqno;			/*!< Outgoing sequence number */
+	unsigned char cmdresp;			/*!< Command / Response */
+	unsigned char cmdflags;			/*!< Command / Response specific flags*/
 	unsigned char ies[0];
 } __attribute__ ((__packed__));
 
@@ -50,60 +51,60 @@ struct dundi_ie_hdr {
 	unsigned char iedata[0];
 } __attribute__ ((__packed__));
 
-#define DUNDI_FLAG_RETRANS			(1 << 16)	/* Applies to dtrans */
-#define DUNDI_FLAG_RESERVED			(1 << 16)	/* Applies to strans */
-
-#define DUNDI_PROTO_NONE			0	/* No answer yet */
-#define DUNDI_PROTO_IAX				1	/* IAX version 2 */
-#define DUNDI_PROTO_SIP				2	/* Session Initiation Protocol */
-#define DUNDI_PROTO_H323			3	/* ITU H.323 */
-
-#define DUNDI_FLAG_NONEXISTENT		(0)				/* Isn't and can't be a valid number */
-#define DUNDI_FLAG_EXISTS			(1 << 0)		/* Is a valid number */
-#define DUNDI_FLAG_MATCHMORE		(1 << 1)		/* Might be valid if you add more digits */
-#define DUNDI_FLAG_CANMATCH			(1 << 2)		/* Might be a match */
-#define DUNDI_FLAG_IGNOREPAT		(1 << 3)		/* Keep dialtone */
-#define DUNDI_FLAG_RESIDENTIAL		(1 << 4)		/* Destination known to be residential */
-#define DUNDI_FLAG_COMMERCIAL		(1 << 5)		/* Destination known to be commercial */
-#define DUNDI_FLAG_MOBILE			(1 << 6)		/* Destination known to be cellular/mobile */
-#define DUNDI_FLAG_NOUNSOLICITED	(1 << 7)		/* No unsolicited calls of any kind through this route */
-#define DUNDI_FLAG_NOCOMUNSOLICIT	(1 << 8)		/* No commercial unsolicited calls through this route */
-
-#define DUNDI_HINT_NONE				(0)
-#define DUNDI_HINT_TTL_EXPIRED		(1 << 0)		/* TTL Expired */
-#define DUNDI_HINT_DONT_ASK			(1 << 1)		/* Don't ask for anything beginning with data */
-#define DUNDI_HINT_UNAFFECTED		(1 << 2)		/* Answer not affected by entity list */
-
-struct dundi_encblock {				/* AES-128 encrypted block */
-	unsigned char iv[16];			/* Initialization vector of random data */
-	unsigned char encdata[0];		/* Encrypted / compressed data */
+#define DUNDI_FLAG_RETRANS		(1 << 16)	/*!< Applies to dtrans */
+#define DUNDI_FLAG_RESERVED		(1 << 16)	/*!< Applies to strans */
+
+#define DUNDI_PROTO_NONE		0		/*!< No answer yet */
+#define DUNDI_PROTO_IAX			1		/*!< IAX version 2 */
+#define DUNDI_PROTO_SIP			2		/*!< Session Initiation Protocol */
+#define DUNDI_PROTO_H323		3		/*!< ITU H.323 */
+
+#define DUNDI_FLAG_NONEXISTENT		(0)		/*!< Isn't and can't be a valid number */
+#define DUNDI_FLAG_EXISTS		(1 << 0)	/*!< Is a valid number */
+#define DUNDI_FLAG_MATCHMORE		(1 << 1)	/*!< Might be valid if you add more digits */
+#define DUNDI_FLAG_CANMATCH		(1 << 2)	/*!< Might be a match */
+#define DUNDI_FLAG_IGNOREPAT		(1 << 3)	/*!< Keep dialtone */
+#define DUNDI_FLAG_RESIDENTIAL		(1 << 4)	/*!< Destination known to be residential */
+#define DUNDI_FLAG_COMMERCIAL		(1 << 5)	/*!< Destination known to be commercial */
+#define DUNDI_FLAG_MOBILE		(1 << 6)	/*!< Destination known to be cellular/mobile */
+#define DUNDI_FLAG_NOUNSOLICITED	(1 << 7)	/*!< No unsolicited calls of any kind through this route */
+#define DUNDI_FLAG_NOCOMUNSOLICIT	(1 << 8)	/*!< No commercial unsolicited calls through this route */
+
+#define DUNDI_HINT_NONE			(0)
+#define DUNDI_HINT_TTL_EXPIRED		(1 << 0)	/*!< TTL Expired */
+#define DUNDI_HINT_DONT_ASK		(1 << 1)	/*!< Don't ask for anything beginning with data */
+#define DUNDI_HINT_UNAFFECTED		(1 << 2)	/*!< Answer not affected by entity list */
+
+struct dundi_encblock {				/*!< AES-128 encrypted block */
+	unsigned char iv[16];			/*!< Initialization vector of random data */
+	unsigned char encdata[0];		/*!< Encrypted / compressed data */
 } __attribute__ ((__packed__));
 
 struct dundi_answer {
-	dundi_eid eid;					/* Original source of answer */
-	unsigned char protocol;			/* Protocol (DUNDI_PROTO_*) */
-	unsigned short flags;			/* Flags relating to answer */
-	unsigned short weight;			/* Weight of answers */
-	unsigned char data[0];			/* Protocol specific URI */
+	dundi_eid eid;				/*!< Original source of answer */
+	unsigned char protocol;			/*!< Protocol (DUNDI_PROTO_*) */
+	unsigned short flags;			/*!< Flags relating to answer */
+	unsigned short weight;			/*!< Weight of answers */
+	unsigned char data[0];			/*!< Protocol specific URI */
 } __attribute__ ((__packed__));
 
 struct dundi_hint {
-	unsigned short flags;			/* Flags relating to answer */
-	unsigned char data[0];			/* For data for hint */
+	unsigned short flags;			/*!< Flags relating to answer */
+	unsigned char data[0];			/*!< For data for hint */
 } __attribute__ ((__packed__));
 
-#define DUNDI_CAUSE_SUCCESS			0	/* Success */
-#define DUNDI_CAUSE_GENERAL			1	/* General unspecified failure */
-#define DUNDI_CAUSE_DYNAMIC			2	/* Requested entity is dynamic */
-#define DUNDI_CAUSE_NOAUTH			3	/* No or improper authorization */
-#define DUNDI_CAUSE_DUPLICATE		4	/* Duplicate request */
-#define DUNDI_CAUSE_TTL_EXPIRED		5	/* Expired TTL */
-#define DUNDI_CAUSE_NEEDKEY			6	/* Need new session key to decode */
-#define DUNDI_CAUSE_BADENCRYPT		7	/* Badly encrypted data */
+#define DUNDI_CAUSE_SUCCESS		0	/*!< Success */
+#define DUNDI_CAUSE_GENERAL		1	/*!< General unspecified failure */
+#define DUNDI_CAUSE_DYNAMIC		2	/*!< Requested entity is dynamic */
+#define DUNDI_CAUSE_NOAUTH		3	/*!< No or improper authorization */
+#define DUNDI_CAUSE_DUPLICATE		4	/*!< Duplicate request */
+#define DUNDI_CAUSE_TTL_EXPIRED		5	/*!< Expired TTL */
+#define DUNDI_CAUSE_NEEDKEY		6	/*!< Need new session key to decode */
+#define DUNDI_CAUSE_BADENCRYPT		7	/*!< Badly encrypted data */
 
 struct dundi_cause {			
-	unsigned char causecode;		/* Numerical cause (DUNDI_CAUSE_*) */
-	char desc[0];					/* Textual description */
+	unsigned char causecode;		/*!< Numerical cause (DUNDI_CAUSE_*) */
+	char desc[0];				/*!< Textual description */
 } __attribute__ ((__packed__));
 
 struct dundi_peer_status {
@@ -113,7 +114,7 @@ struct dundi_peer_status {
 	dundi_eid peereid;
 } __attribute__ ((__packed__));
 
-#define DUNDI_PEER_PRIMARY			(1 << 0)
+#define DUNDI_PEER_PRIMARY		(1 << 0)
 #define DUNDI_PEER_SECONDARY		(1 << 1)
 #define DUNDI_PEER_UNAVAILABLE		(1 << 2)
 #define DUNDI_PEER_REGISTERED		(1 << 3)
@@ -122,73 +123,73 @@ struct dundi_peer_status {
 #define DUNDI_PEER_PCMOD_OUTBOUND	(1 << 6)
 #define DUNDI_PEER_PCMOD_INBOUND	(1 << 7)
 
-#define DUNDI_COMMAND_FINAL			(0x80)		/* Or'd with other flags */
-
-#define DUNDI_COMMAND_ACK			(0 | 0x40)	/* Ack a message */
-#define DUNDI_COMMAND_DPDISCOVER	1			/* Request discovery */
-#define DUNDI_COMMAND_DPRESPONSE	(2 | 0x40)	/* Respond to a discovery request */
-#define DUNDI_COMMAND_EIDQUERY		3			/* Request information for a peer */
-#define DUNDI_COMMAND_EIDRESPONSE	(4 | 0x40)	/* Response to a peer query */
-#define DUNDI_COMMAND_PRECACHERQ	5			/* Pre-cache Request */
-#define DUNDI_COMMAND_PRECACHERP	(6 | 0x40)	/* Pre-cache Response */
-#define DUNDI_COMMAND_INVALID		(7 | 0x40)	/* Invalid dialog state (does not require ack) */
-#define DUNDI_COMMAND_UNKNOWN		(8 | 0x40)	/* Unknown command */
-#define DUNDI_COMMAND_NULL			9			/* No-op */
-#define DUNDI_COMMAND_REGREQ		(10)		/* Register Request */
-#define DUNDI_COMMAND_REGRESPONSE	(11 | 0x40)	/* Register Response */
-#define DUNDI_COMMAND_CANCEL		(12)		/* Cancel transaction entirely */
-#define DUNDI_COMMAND_ENCRYPT		(13)		/* Send an encrypted message */
-#define DUNDI_COMMAND_ENCREJ		(14 | 0x40)	/* Reject an encrypted message */
-
-#define DUNDI_COMMAND_STATUS		15			/* Status command */
+#define DUNDI_COMMAND_FINAL		(0x80)		/*!< Or'd with other flags */
+
+#define DUNDI_COMMAND_ACK		(0 | 0x40)	/*!< Ack a message */
+#define DUNDI_COMMAND_DPDISCOVER	1		/*!< Request discovery */
+#define DUNDI_COMMAND_DPRESPONSE	(2 | 0x40)	/*!< Respond to a discovery request */
+#define DUNDI_COMMAND_EIDQUERY		3		/*!< Request information for a peer */
+#define DUNDI_COMMAND_EIDRESPONSE	(4 | 0x40)	/*!< Response to a peer query */
+#define DUNDI_COMMAND_PRECACHERQ	5		/*!< Pre-cache Request */
+#define DUNDI_COMMAND_PRECACHERP	(6 | 0x40)	/*!< Pre-cache Response */
+#define DUNDI_COMMAND_INVALID		(7 | 0x40)	/*!< Invalid dialog state (does not require ack) */
+#define DUNDI_COMMAND_UNKNOWN		(8 | 0x40)	/*!< Unknown command */
+#define DUNDI_COMMAND_NULL		9		/*!< No-op */
+#define DUNDI_COMMAND_REGREQ		(10)		/*!< Register Request */
+#define DUNDI_COMMAND_REGRESPONSE	(11 | 0x40)	/*!< Register Response */
+#define DUNDI_COMMAND_CANCEL		(12)		/*!< Cancel transaction entirely */
+#define DUNDI_COMMAND_ENCRYPT		(13)		/*!< Send an encrypted message */
+#define DUNDI_COMMAND_ENCREJ		(14 | 0x40)	/*!< Reject an encrypted message */
+
+#define DUNDI_COMMAND_STATUS		15		/*!< Status command */
 
 /*
  * Remember that some information elements may occur
  * more than one time within a message
  */
 
-#define DUNDI_IE_EID				1	/* Entity identifier (dundi_eid) */
-#define DUNDI_IE_CALLED_CONTEXT		2	/* DUNDi Context (string) */
-#define DUNDI_IE_CALLED_NUMBER		3	/* Number of equivalent (string) */
-#define DUNDI_IE_EID_DIRECT			4	/* Entity identifier (dundi_eid), direct connect */
-#define DUNDI_IE_ANSWER				5	/* An answer (struct dundi_answer) */
-#define DUNDI_IE_TTL				6	/* Max TTL for this request / Remaining TTL for the response  (short)*/
-#define DUNDI_IE_VERSION			10	/* DUNDi version (should be 1) (short) */
-#define DUNDI_IE_EXPIRATION			11	/* Recommended expiration (short) */
-#define DUNDI_IE_UNKNOWN			12	/* Unknown command (byte) */
-#define DUNDI_IE_CAUSE				14	/* Success or cause of failure */
-#define DUNDI_IE_REQEID				15	/* EID being requested for EIDQUERY*/
-#define DUNDI_IE_ENCDATA			16	/* AES-128 encrypted data */
-#define DUNDI_IE_SHAREDKEY			17	/* RSA encrypted AES-128 key */
-#define DUNDI_IE_SIGNATURE			18	/* RSA Signature of encrypted shared key */
-#define DUNDI_IE_KEYCRC32			19	/* CRC32 of encrypted key (int) */
-#define DUNDI_IE_HINT				20	/* Answer hints (struct ast_hint) */
-
-#define DUNDI_IE_DEPARTMENT			21	/* Department, for EIDQUERY (string) */
-#define DUNDI_IE_ORGANIZATION		22	/* Organization, for EIDQUERY (string) */
-#define DUNDI_IE_LOCALITY			23	/* City/Locality, for EIDQUERY (string) */
-#define DUNDI_IE_STATE_PROV			24	/* State/Province, for EIDQUERY (string) */
-#define DUNDI_IE_COUNTRY			25	/* Country, for EIDQUERY (string) */
-#define DUNDI_IE_EMAIL				26	/* E-mail addy, for EIDQUERY (string) */
-#define DUNDI_IE_PHONE				27	/* Contact Phone, for EIDQUERY (string) */
-#define DUNDI_IE_IPADDR				28	/* IP Address, for EIDQUERY (string) */
-#define DUNDI_IE_CACHEBYPASS		29	/* Bypass cache (empty) */
-
-#define DUNDI_IE_PEERSTATUS			30 	/* Peer/peer status (struct dundi_peer_status) */
-
-#define DUNDI_FLUFF_TIME			2000	/* Amount of time for answer */
-#define DUNDI_TTL_TIME				200		/* Incremental average time */
+#define DUNDI_IE_EID			1	/*!< Entity identifier (dundi_eid) */
+#define DUNDI_IE_CALLED_CONTEXT		2	/*!< DUNDi Context (string) */
+#define DUNDI_IE_CALLED_NUMBER		3	/*!< Number of equivalent (string) */
+#define DUNDI_IE_EID_DIRECT		4	/*!< Entity identifier (dundi_eid), direct connect */
+#define DUNDI_IE_ANSWER			5	/*!< An answer (struct dundi_answer) */
+#define DUNDI_IE_TTL			6	/*!< Max TTL for this request / Remaining TTL for the response  (short)*/
+#define DUNDI_IE_VERSION		10	/*!< DUNDi version (should be 1) (short) */
+#define DUNDI_IE_EXPIRATION		11	/*!< Recommended expiration (short) */
+#define DUNDI_IE_UNKNOWN		12	/*!< Unknown command (byte) */
+#define DUNDI_IE_CAUSE			14	/*!< Success or cause of failure */
+#define DUNDI_IE_REQEID			15	/*!< EID being requested for EIDQUERY*/
+#define DUNDI_IE_ENCDATA		16	/*!< AES-128 encrypted data */
+#define DUNDI_IE_SHAREDKEY		17	/*!< RSA encrypted AES-128 key */
+#define DUNDI_IE_SIGNATURE		18	/*!< RSA Signature of encrypted shared key */
+#define DUNDI_IE_KEYCRC32		19	/*!< CRC32 of encrypted key (int) */
+#define DUNDI_IE_HINT			20	/*!< Answer hints (struct ast_hint) */
+
+#define DUNDI_IE_DEPARTMENT		21	/*!< Department, for EIDQUERY (string) */
+#define DUNDI_IE_ORGANIZATION		22	/*!< Organization, for EIDQUERY (string) */
+#define DUNDI_IE_LOCALITY		23	/*!< City/Locality, for EIDQUERY (string) */
+#define DUNDI_IE_STATE_PROV		24	/*!< State/Province, for EIDQUERY (string) */
+#define DUNDI_IE_COUNTRY		25	/*!< Country, for EIDQUERY (string) */
+#define DUNDI_IE_EMAIL			26	/*!< E-mail addy, for EIDQUERY (string) */
+#define DUNDI_IE_PHONE			27	/*!< Contact Phone, for EIDQUERY (string) */
+#define DUNDI_IE_IPADDR			28	/*!< IP Address, for EIDQUERY (string) */
+#define DUNDI_IE_CACHEBYPASS		29	/*!< Bypass cache (empty) */
+
+#define DUNDI_IE_PEERSTATUS		30 	/*!< Peer/peer status (struct dundi_peer_status) */
+
+#define DUNDI_FLUFF_TIME		2000	/*!< Amount of time for answer */
+#define DUNDI_TTL_TIME			200	/*!< Incremental average time */
 
 #define DUNDI_DEFAULT_RETRANS		5
 #define DUNDI_DEFAULT_RETRANS_TIMER	1000
-#define DUNDI_DEFAULT_TTL			120	/* In seconds/hops like TTL */
+#define DUNDI_DEFAULT_TTL		120	/*!< In seconds/hops like TTL */
 #define DUNDI_DEFAULT_VERSION		1
-#define DUNDI_DEFAULT_CACHE_TIME	3600	/* In seconds */
-#define DUNDI_DEFAULT_KEY_EXPIRE	3600	/* Life of shared key In seconds */
-#define DUNDI_DEF_EMPTY_CACHE_TIME	60	/* In seconds, cache of empty answer */
-#define DUNDI_WINDOW				1	/* Max 1 message in window */
+#define DUNDI_DEFAULT_CACHE_TIME	3600	/*!< In seconds */
+#define DUNDI_DEFAULT_KEY_EXPIRE	3600	/*!< Life of shared key In seconds */
+#define DUNDI_DEF_EMPTY_CACHE_TIME	60	/*!< In seconds, cache of empty answer */
+#define DUNDI_WINDOW			1	/*!< Max 1 message in window */
 
-#define DEFAULT_MAXMS				2000
+#define DEFAULT_MAXMS			2000
 
 struct dundi_result {
 	unsigned int flags;
@@ -212,14 +213,14 @@ struct dundi_entity_info {
 	char ipaddr[80];
 };
 
-/* Lookup the given number in the given dundi context (or e164 if unspecified) using the given callerid (if specified) and return up to maxret results in the array specified.
+/*! \brief Lookup the given number in the given dundi context (or e164 if unspecified) using the given callerid (if specified) and return up to maxret results in the array specified.
    returns the number of results found or -1 on a hangup of teh channel. */
 int dundi_lookup(struct dundi_result *result, int maxret, struct ast_channel *chan, const char *dcontext, const char *number, int nocache);
 
-/* Retrieve information on a specific EID */
+/*! \brief Retrieve information on a specific EID */
 int dundi_query_eid(struct dundi_entity_info *dei, const char *dcontext, dundi_eid eid);
 
-/* Pre-cache to push upstream peers */
+/*! \brief Pre-cache to push upstream peers */
 int dundi_precache(const char *dcontext, const char *number);
 
 #endif /* _ASTERISK_DUNDI_H */
diff --git a/include/asterisk/endian.h b/include/asterisk/endian.h
index 0dfa4b2a970fd03e79d72294b977605351bf748a..55108b4e16161ef6616e8c074c4d9349bc7a6ede 100755
--- a/include/asterisk/endian.h
+++ b/include/asterisk/endian.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Asterisk architecture endianess compatibility definitions
+/*! \file
+ * \brief Asterisk architecture endianess compatibility definitions
  */
 
 #ifndef _ASTERISK_ENDIAN_H
diff --git a/include/asterisk/enum.h b/include/asterisk/enum.h
index 732a42a85b82512bef34f6e5d433f9149825db55..3547ef0a494f3196de2b56b0279b0eb38019803f 100755
--- a/include/asterisk/enum.h
+++ b/include/asterisk/enum.h
@@ -16,10 +16,6 @@
  * at the top of the source tree.
  */
 
-/*
- * ENUM support
- */
-
 /*!	\file enum.h
 	\brief DNS and ENUM functions
 */
@@ -45,6 +41,7 @@
 
 */
 extern int ast_get_enum(struct ast_channel *chan, const char *number, char *location, int maxloc, char *technology, int maxtech, char* suffix, char* options);
+
 /*!	\brief Lookup DNS TXT record (used by app TXTCIDnum
 	\param chan	Channel
        \param number   E164 number with or without the leading +
diff --git a/include/asterisk/features.h b/include/asterisk/features.h
index 4fa3e6daaefaa92e81bfe680aef6e3b5e507ffba..ffea39d2a5223a667b5c3fe4abc21f1486816d4d 100755
--- a/include/asterisk/features.h
+++ b/include/asterisk/features.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Call Parking and Pickup API 
+/*! \file
+ * \brief Call Parking and Pickup API 
  * Includes code and algorithms from the Zapata library.
  */
 
@@ -30,7 +30,7 @@
 #define FEATURE_SNAME_LEN	32
 #define FEATURE_EXTEN_LEN	32
 
-/* main call feature structure */
+/*! \brief main call feature structure */
 struct ast_call_feature {
 	int feature_mask;
 	char *fname;
@@ -46,8 +46,8 @@ struct ast_call_feature {
 
 
 
-/*! Park a call and read back parked location */
-/*! \param chan the channel to actually be parked
+/*! \brief Park a call and read back parked location 
+ *  \param chan the channel to actually be parked
     \param host the channel which will have the parked location read to
 	Park the channel chan, and read back the parked location to the
 	host.  If the call is not picked up within a specified period of
@@ -57,8 +57,9 @@ struct ast_call_feature {
 	\param extout is a parameter to an int that will hold the parked location, or NULL if you want
 */
 extern int ast_park_call(struct ast_channel *chan, struct ast_channel *host, int timeout, int *extout);
-/*! Park a call via a masqueraded channel */
-/*! \param rchan the real channel to be parked
+
+/*! \brief Park a call via a masqueraded channel
+ *  \param rchan the real channel to be parked
     \param host the channel to have the parking read to
 	Masquerade the channel rchan into a new, empty channel which is then
 	parked with ast_park_call
@@ -67,25 +68,27 @@ extern int ast_park_call(struct ast_channel *chan, struct ast_channel *host, int
 */
 extern int ast_masq_park_call(struct ast_channel *rchan, struct ast_channel *host, int timeout, int *extout);
 
-/*! Determine system parking extension */
-/*! Returns the call parking extension for drivers that provide special
+/*! \brief Determine system parking extension
+ *  Returns the call parking extension for drivers that provide special
     call parking help */
 extern char *ast_parking_ext(void);
-extern char *ast_pickup_ext(void);
 
-/*! Bridge a call, optionally allowing redirection */
+/*! \brief Determine system call pickup extension */
+extern char *ast_pickup_ext(void);
 
+/*! \brief Bridge a call, optionally allowing redirection */
 extern int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer,struct ast_bridge_config *config);
 
+/*! \brief Pickup a call */
 extern int ast_pickup_call(struct ast_channel *chan);
 
-/*! register new feature into feature_set 
+/*! \brief register new feature into feature_set 
    \param feature an ast_call_feature object which contains a keysequence
    and a callback function which is called when this keysequence is pressed
    during a call. */
 extern void ast_register_feature(struct ast_call_feature *feature);
 
-/*! unregister feature from feature_set
+/*! \brief unregister feature from feature_set
     \param feature the ast_call_feature object which was registered before*/
 extern void ast_unregister_feature(struct ast_call_feature *feature);
 
diff --git a/include/asterisk/file.h b/include/asterisk/file.h
index 7dc2f9ec5b40fe0c1154d31085441c21ced70b64..c25837384bb7264ad582efe3142d3966ffa9e992 100755
--- a/include/asterisk/file.h
+++ b/include/asterisk/file.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Generic File Format Support.
+/*! \file
+ * \brief Generic File Format Support.
  */
 
 #ifndef _ASTERISK_FILE_H
diff --git a/include/asterisk/frame.h b/include/asterisk/frame.h
index 47ec5a9842d6b1484824d3faaf38b865cc7a4dca..a4db87aba778e7e4b113fa04578c0df423f898ea 100755
--- a/include/asterisk/frame.h
+++ b/include/asterisk/frame.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Asterisk internal frame definitions.
+/*! \file
+ * \brief Asterisk internal frame definitions.
  */
 
 #ifndef _ASTERISK_FRAME_H
diff --git a/include/asterisk/fskmodem.h b/include/asterisk/fskmodem.h
index 5f919c0f4ba597e0db7c5b37f9ad4435b3a78be7..62b584ba44fb0f93fb1cf9735249a9735d8928f4 100755
--- a/include/asterisk/fskmodem.h
+++ b/include/asterisk/fskmodem.h
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
- * FSK Modem Support 
- * Includes code and algorithms from the Zapata library.
+/*! \file
+ * \brief FSK Modem Support 
+ * \note Includes code and algorithms from the Zapata library.
  */
 
 #ifndef _ASTERISK_FSKMODEM_H
@@ -57,7 +57,8 @@ typedef struct {
 	float cola_demod[NCOLA];	/* Cola de muestras demoduladas */
 } fsk_data;
 
-/* Retrieve a serial byte into outbyte.  Buffer is a pointer into a series of 
+/* \brief Retrieve a serial byte into outbyte.
+   Buffer is a pointer into a series of 
    shorts and len records the number of bytes in the buffer.  len will be 
    overwritten with the number of bytes left that were not consumed, and the
    return value is as follows:
diff --git a/include/asterisk/image.h b/include/asterisk/image.h
index b4044c974e984689e3e96eb4117f51cd835192fa..1b29b1daa18346d3b3ffdd2105607506f08c2593 100755
--- a/include/asterisk/image.h
+++ b/include/asterisk/image.h
@@ -16,14 +16,14 @@
  * at the top of the source tree.
  */
 
-/*
- * General Asterisk channel definitions.
+/*! \file
+ * \brief General Asterisk channel definitions for image handling
  */
 
 #ifndef _ASTERISK_IMAGE_H
 #define _ASTERISK_IMAGE_H
 
-/*! structure associated with registering an image format */
+/*! \brief structure associated with registering an image format */
 struct ast_imager {
 	/*! Name */
 	char *name;						
diff --git a/include/asterisk/indications.h b/include/asterisk/indications.h
index bc5f8b4314b3561b724136f4d73c9974324d874d..4ae0d20562934a60bf61a097ca6e8a862537cecf 100755
--- a/include/asterisk/indications.h
+++ b/include/asterisk/indications.h
@@ -8,8 +8,8 @@
  * channels for your use.
  */
 
-/*
- * BSD Telephony Of Mexico "Tormenta" Tone Zone Support 2/22/01
+/*! \file
+ * \brief BSD Telephony Of Mexico "Tormenta" Tone Zone Support 2/22/01
  * 
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
diff --git a/include/asterisk/inline_api.h b/include/asterisk/inline_api.h
index 52b5673f609d6d901a4cdae061f0498b9da71d59..2347d09d7f3b82142ba5925d2b17ed5f458b18ad 100755
--- a/include/asterisk/inline_api.h
+++ b/include/asterisk/inline_api.h
@@ -16,14 +16,12 @@
  * at the top of the source tree.
  */
 
-/*
- * Inlinable API function macro
- */
-
 #ifndef __ASTERISK_INLINEAPI_H
 #define __ASTERISK_INLINEAPI_H
 
-/*
+/*! \file
+ * \brief Inlinable API function macro
+
   Small API functions that are candidates for inlining need to be specially
   declared and defined, to ensure that the 'right thing' always happens.
   For example:
diff --git a/include/asterisk/io.h b/include/asterisk/io.h
index 8bda98a2ba0a60cbbc822ea247935e5102324787..c33fb515b85ea67cdfe67c1ebbee99dcffda891c 100755
--- a/include/asterisk/io.h
+++ b/include/asterisk/io.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * I/O Management (derived from Cheops-NG)
+/*! \file
+ * \brief I/O Management (derived from Cheops-NG)
  */
 
 #ifndef _ASTERISK_IO_H
diff --git a/include/asterisk/localtime.h b/include/asterisk/localtime.h
index c02dc43b6677b6edc1ecfb8d93bdb0e531b7471d..fac1788c04a62fa3f32188c6b4990fc367444755 100755
--- a/include/asterisk/localtime.h
+++ b/include/asterisk/localtime.h
@@ -17,8 +17,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Custom localtime functions for multiple timezones
+/*! \file
+ * \brief Custom localtime functions for multiple timezones
  */
 
 #ifndef _ASTERISK_LOCALTIME_H
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index a0b84c01f0305be9851d405e08f40a668459b0c8..f1747454c6fcf166e37f724a8c0dfea87c83e8cf 100755
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * General Asterisk channel definitions.
+/*! \file
+ * \brief General Asterisk channel locking definitions.
  */
 
 #ifndef _ASTERISK_LOCK_H
@@ -35,7 +35,7 @@
 
 #ifdef __APPLE__
 /* Provide the Linux initializers for MacOS X */
-#define PTHREAD_MUTEX_RECURSIVE_NP					PTHREAD_MUTEX_RECURSIVE
+#define PTHREAD_MUTEX_RECURSIVE_NP			PTHREAD_MUTEX_RECURSIVE
 #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP		 { 0x4d555458, \
 													   { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
 														 0x20 } }
diff --git a/include/asterisk/manager.h b/include/asterisk/manager.h
index ea8f91de929e44085c337a0bd73ab39584c16d51..efe6c89b6aae8de4366ba23960f9372503e1ddc4 100755
--- a/include/asterisk/manager.h
+++ b/include/asterisk/manager.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * AMI - Asterisk Management Interface
+/*! \file
+ * \brief AMI - Asterisk Management Interface
  * External call management support 
  */
 
diff --git a/include/asterisk/md5.h b/include/asterisk/md5.h
index b2d6eb3d7c0b557e87ef8f15db9bff8c7d3b1aae..f738bd5b6286022f7995544589a1cbc0e31521fb 100755
--- a/include/asterisk/md5.h
+++ b/include/asterisk/md5.h
@@ -16,6 +16,10 @@
  * at the top of the source tree.
  */
 
+/*!\file
+ * \brief MD5 digest functions
+ */
+
 #ifndef _ASTERISK_MD5_H
 #define _ASTERISK_MD5_H
 
diff --git a/include/asterisk/monitor.h b/include/asterisk/monitor.h
index 21f30f05ca75eb10e7ae2da44463f1bd1e28c4c5..8793f70c2ee8a79111d6e9facec1d2b840401162 100755
--- a/include/asterisk/monitor.h
+++ b/include/asterisk/monitor.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Channel monitoring
+/*! \file
+ * \brief Channel monitoring
  */
 
 #ifndef _ASTERISK_MONITOR_H
diff --git a/include/asterisk/musiconhold.h b/include/asterisk/musiconhold.h
index 410e99e588aaee75c46573301cdde3b90f1b5de8..8a0bf64175ac017b268d4f2aa6bfffd3833a1c28 100755
--- a/include/asterisk/musiconhold.h
+++ b/include/asterisk/musiconhold.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Music on hold handling
+/*! \file
+ * \brief Music on hold handling
  */
 
 #ifndef _ASTERISK_MOH_H
diff --git a/include/asterisk/netsock.h b/include/asterisk/netsock.h
index 3e99e68757635ef90e8c12c9c550770d39a40af7..dd1c3a8f6168d21d3edbfdd49ac584fdcc763426 100755
--- a/include/asterisk/netsock.h
+++ b/include/asterisk/netsock.h
@@ -17,8 +17,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Network socket handling
+/*! \file
+ * \brief Network socket handling
  */
 
 #ifndef _ASTERISK_NETSOCK_H
diff --git a/include/asterisk/options.h b/include/asterisk/options.h
index e00fb7696bb4107826c2b7b54a2205b0dd702f10..20df377fb2e6e68c0e1ebd0d31df2a4dd839cc98 100755
--- a/include/asterisk/options.h
+++ b/include/asterisk/options.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Options provided by main asterisk program
+/*! \file
+ * \brief Options provided by main asterisk program
  */
 
 #ifndef _ASTERISK_OPTIONS_H
diff --git a/include/asterisk/pbx.h b/include/asterisk/pbx.h
index f49eee16bdd9e614be1c792af908b42d19058a5d..2c54adb97724cc0ec09e8d45f402f0f32e21859f 100755
--- a/include/asterisk/pbx.h
+++ b/include/asterisk/pbx.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Core PBX routines and definitions.
+/*! \file
+ * \brief Core PBX routines and definitions.
  */
 
 #ifndef _ASTERISK_PBX_H
diff --git a/include/asterisk/plc.h b/include/asterisk/plc.h
index eda87b40842384a8c91e868a1f9978afb1de5fd2..bb1a9f52b5e3c20865af99c3a0db234f8f11cdcb 100755
--- a/include/asterisk/plc.h
+++ b/include/asterisk/plc.h
@@ -1,9 +1,9 @@
-/*
- * SpanDSP - a series of DSP components for telephony
+/*! \file
+ * \brief SpanDSP - a series of DSP components for telephony
  *
  * plc.h
  *
- * Written by Steve Underwood <steveu@coppice.org>
+ * \author Steve Underwood <steveu@coppice.org>
  *
  * Copyright (C) 2004 Steve Underwood
  *
@@ -27,7 +27,6 @@
  * This version is disclaimed to DIGIUM for inclusion in the Asterisk project.
  */
 
-/*! \file */
 
 #if !defined(_PLC_H_)
 #define _PLC_H_
diff --git a/include/asterisk/privacy.h b/include/asterisk/privacy.h
index 48d1518c52ecdb5b839c9506b409f74f2a7a741c..686a14d756869de4b97711cd88068beffdbc080d 100755
--- a/include/asterisk/privacy.h
+++ b/include/asterisk/privacy.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Persistant data storage (akin to *doze registry)
+/*! \file
+ * \brief Persistant data storage (akin to *doze registry)
  */
 
 #ifndef _ASTERISK_PRIVACY_H
diff --git a/include/asterisk/res_odbc.h b/include/asterisk/res_odbc.h
index edba5b3364ea43eccb162065e3c5a573199abe7f..d585ebdab7018c5002ac391cf57d0dadcd1f8126 100755
--- a/include/asterisk/res_odbc.h
+++ b/include/asterisk/res_odbc.h
@@ -18,8 +18,8 @@
  * at the top of the source tree.
  */
 
-/*
- * ODBC resource manager
+/*! \file
+ * \brief ODBC resource manager
  */
 
 #ifndef _ASTERISK_RES_ODBC_H
diff --git a/include/asterisk/rtp.h b/include/asterisk/rtp.h
index a5c3014eaf829f3a7f482ff59a18355a84b9a0b2..bdb0391fd9ce4e163b103857138b06edb031256f 100755
--- a/include/asterisk/rtp.h
+++ b/include/asterisk/rtp.h
@@ -20,7 +20,7 @@
  * \file rtp.h
  * \brief Supports RTP and RTCP with Symmetric RTP support for NAT traversal.
  * 
- * RTP is deffined in RFC 3550.
+ * RTP is defined in RFC 3550.
  */
 
 #ifndef _ASTERISK_RTP_H
diff --git a/include/asterisk/say.h b/include/asterisk/say.h
index 9634271f34ca80576cd0067c7f7bc230e69eb327..ac498cde203d9568527eafea2cc5d83bfa7443a4 100755
--- a/include/asterisk/say.h
+++ b/include/asterisk/say.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Say numbers and dates (maybe words one day too)
+/*! \file
+ * \brief Say numbers and dates (maybe words one day too)
  */
 
 #ifndef _ASTERISK_SAY_H
diff --git a/include/asterisk/sched.h b/include/asterisk/sched.h
index 766342f0f96bb082345f06553ed105b08f67f59e..eca928ca4481d837629205bb9fa3d9e2cc5231ad 100755
--- a/include/asterisk/sched.h
+++ b/include/asterisk/sched.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Scheduler Routines (derived from cheops)
+/*! \file
+ * \brief Scheduler Routines (derived from cheops)
  */
 
 #ifndef _ASTERISK_SCHED_H
diff --git a/include/asterisk/slinfactory.h b/include/asterisk/slinfactory.h
index fc799000065395cc2a7ef76a319cb4fdc1813b45..e7403032c24284d569bac61ab6a6994696e1f942 100755
--- a/include/asterisk/slinfactory.h
+++ b/include/asterisk/slinfactory.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * A machine to gather up arbitrary frames and convert them
+/*! \file
+ * \brief A machine to gather up arbitrary frames and convert them
  * to raw slinear on demand.
  */
 
diff --git a/include/asterisk/srv.h b/include/asterisk/srv.h
index cde9b6ac0dd7e6da3de798ac1ce489fd7730eba2..08dcac0f27e9840a8e4232a109f6926a30d6acfb 100755
--- a/include/asterisk/srv.h
+++ b/include/asterisk/srv.h
@@ -28,7 +28,7 @@ struct ast_channel;
 /*!
   \file srv.h
   \brief Support for DNS SRV records, used in to locate SIP services.
-	Note: The Asterisk DNS SRV record support is broken, it only
+  \note Note: The Asterisk DNS SRV record support is broken, it only
 	supports the first DNS SRV record and will give no load 
 	balancing or failover support.
 */
diff --git a/include/asterisk/strings.h b/include/asterisk/strings.h
index 508a3ba7e959af10754373ae7fe42341ee3f5450..d7d27e515cf8cddfcaabc00ad4a92540547e5364 100755
--- a/include/asterisk/strings.h
+++ b/include/asterisk/strings.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * String manipulation functions
+/*! \file
+ * \brief String manipulation functions
  */
 
 #ifndef _ASTERISK_STRINGS_H
diff --git a/include/asterisk/tdd.h b/include/asterisk/tdd.h
index 2e129fed43e53617874f0ffb9c3b6cd9560cb83e..ed85e0d34c86db735b5366707546c28dc3e259a3 100755
--- a/include/asterisk/tdd.h
+++ b/include/asterisk/tdd.h
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
- * TTY/TDD Generation support 
- * Includes code and algorithms from the Zapata library.
+/*! \file
+ * \brief TTY/TDD Generation support 
+ * \note Includes code and algorithms from the Zapata library.
  */
 
 #ifndef _ASTERISK_TDD_H
diff --git a/include/asterisk/term.h b/include/asterisk/term.h
index fc0dab66917b4161d93f91b39c3583e709dac1be..4999276004d8d2f607e0a6f23c781d2451c2c1fa 100755
--- a/include/asterisk/term.h
+++ b/include/asterisk/term.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Handy terminal functions for vt* terms
+/*! \file
+ * \brief Handy terminal functions for vt* terms
  */
 
 #ifndef _ASTERISK_TERM_H
@@ -29,22 +29,22 @@ extern "C" {
 
 #define ESC 0x1b
 #define ATTR_RESET	0
-#define ATTR_BRIGHT 1
+#define ATTR_BRIGHT	1
 #define ATTR_DIM	2
 #define ATTR_UNDER	4
 #define ATTR_BLINK	5
 #define ATTR_REVER	7
-#define ATTR_HIDDEN 8
+#define ATTR_HIDDEN	8
 
 #define COLOR_BLACK 	30
 #define COLOR_GRAY  	30 | 128
-#define COLOR_RED		31
-#define COLOR_BRRED		31 | 128
-#define COLOR_GREEN		32
+#define COLOR_RED	31
+#define COLOR_BRRED	31 | 128
+#define COLOR_GREEN	32
 #define COLOR_BRGREEN	32 | 128
-#define COLOR_BROWN		33
+#define COLOR_BROWN	33
 #define COLOR_YELLOW	33 | 128
-#define COLOR_BLUE		34 
+#define COLOR_BLUE	34 
 #define COLOR_BRBLUE	34 | 128
 #define COLOR_MAGENTA	35
 #define COLOR_BRMAGENTA 35 | 128
diff --git a/include/asterisk/time.h b/include/asterisk/time.h
index 45fdb46eddc40e3bf6ee668a9e67db02f946d34c..c957cb142223a1285bb0a594838be05f88ac7bf4 100755
--- a/include/asterisk/time.h
+++ b/include/asterisk/time.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Time-related functions and macros
+/*! \file
+ * \brief Time-related functions and macros
  */
 
 #ifndef _ASTERISK_TIME_H
diff --git a/include/asterisk/transcap.h b/include/asterisk/transcap.h
index 0187a738198e59b0d5ae573623c85130cbecacd1..5da8329dcb2705fc5cccaae269f321c6b54c3bbc 100755
--- a/include/asterisk/transcap.h
+++ b/include/asterisk/transcap.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * General Asterisk channel definitions.
+/*! \file
+ * \brief General Asterisk channel transcoding definitions.
  */
 
 #ifndef _ASTERISK_TRANSCAP_H
diff --git a/include/asterisk/translate.h b/include/asterisk/translate.h
index aea3996e5679ae9b9157b28b8dffe31d065ea6d6..7bb4aa441158543da9cc42f83832e9f34110dbac 100755
--- a/include/asterisk/translate.h
+++ b/include/asterisk/translate.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Translate via the use of pseudo channels
+/*! \file
+ * \brief Translate via the use of pseudo channels
  */
 
 #ifndef _ASTERISK_TRANSLATE_H
diff --git a/include/asterisk/ulaw.h b/include/asterisk/ulaw.h
index 58c1cb9d431212551724c977123e7a9747359a6e..b9edacb97735497ba95e7583f2f77d7834e65626 100755
--- a/include/asterisk/ulaw.h
+++ b/include/asterisk/ulaw.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * u-Law to Signed linear conversion
+/*! \file
+ * \brief u-Law to Signed linear conversion
  */
 
 #ifndef _ASTERISK_ULAW_H
diff --git a/include/asterisk/unaligned.h b/include/asterisk/unaligned.h
index f05369c75a717a96fab2f82fd8ca9c57118c5484..16791d6f03b92a237b680217c029562c2693e192 100755
--- a/include/asterisk/unaligned.h
+++ b/include/asterisk/unaligned.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Handle unaligned data access
+/*! \file
+ * \brief Handle unaligned data access
  */
 
 #ifndef _ASTERISK_UNALIGNED_H
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h
index cd2098d9409bea8a01a094aafa2939368036bb15..e0c32597dece6cf846742d4c628c2fea14579867 100755
--- a/include/asterisk/utils.h
+++ b/include/asterisk/utils.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Utility functions
+/*! \file
+ * \brief Utility functions
  */
 
 #ifndef _ASTERISK_UTILS_H
@@ -34,7 +34,9 @@
 #include "asterisk/time.h"
 #include "asterisk/strings.h"
 
-/* Note:
+/*! \note
+ \verbatim
+   Note:
    It is very important to use only unsigned variables to hold
    bit flags, as otherwise you can fall prey to the compiler's
    sign-extension antics if you try to use the top two bits in
@@ -46,13 +48,13 @@
    type of variable, a warning message similar to this:
 
    warning: comparison of distinct pointer types lacks cast
-
    will be generated.
 
    The "dummy" variable below is used to make these comparisons.
 
    Also note that at -O2 or above, this type-safety checking
    does _not_ produce any additional object code at all.
+ \endverbatim
 */
 
 extern unsigned int __unsigned_int_flags_dummy;
diff --git a/include/asterisk/vmodem.h b/include/asterisk/vmodem.h
index 1ea57c6d622c26b0461178e60ccdc39ed6151e39..8d700653bed9ab5022f9af89798e4b72addda35e 100755
--- a/include/asterisk/vmodem.h
+++ b/include/asterisk/vmodem.h
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Voice Modem Definitions
+/*! \file
+ * \brief Voice Modem Definitions
  */
 
 #ifndef _ASTERISK_VMODEM_H
@@ -35,13 +35,13 @@
 #define MODEM_DEV_SPKRPHONE	6
 #define MODEM_DEV_HANDSET	9
 
-#define MODEM_DTMF_NONE	(1 << 0)
-#define MODEM_DTMF_AST	(1 << 1)
-#define MODEM_DTMF_I4L	(1 << 2)
+#define MODEM_DTMF_NONE		(1 << 0)
+#define MODEM_DTMF_AST		(1 << 1)
+#define MODEM_DTMF_I4L		(1 << 2)
 
 /* Thirty millisecond sections */
-#define MODEM_MAX_LEN 30
-#define MODEM_MAX_BUF MODEM_MAX_LEN * 16
+#define MODEM_MAX_LEN		30
+#define MODEM_MAX_BUF		MODEM_MAX_LEN * 16
 
 #define AST_MAX_INIT_STR	256
 
diff --git a/indications.c b/indications.c
index 6b2095216fa6feee9236119a3fa2fb918330c128..a708a86c5b56eb57393d6cab224d884723771a02 100755
--- a/indications.c
+++ b/indications.c
@@ -3,7 +3,6 @@
  *
  * Copyright (C) 2002, Pauline Middelink
  *
- * Pauline Middelink <middelink@polyware.nl>
  *
  * See http://www.asterisk.org for more information about
  * the Asterisk project. Please do not directly contact
@@ -16,10 +15,12 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Tone Management
+ * \brief Tone Management
  * 
+ * \author Pauline Middelink <middelink@polyware.nl>
+ *
  * This set of function allow us to play a list of tones on a channel.
  * Each element has two frequencies, which are mixed together and a
  * duration. For silence both frequencies can be set to 0.
diff --git a/io.c b/io.c
index 31e84a7716d9dd9277e5078d7482ccc5202bde6c..c19d222c69577f855d9cb7e6ba0b5d4f3e7661d5 100755
--- a/io.c
+++ b/io.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * I/O Managment (Derived from Cheops-NG)
+ * \brief I/O Managment (Derived from Cheops-NG)
  *
  */
 
diff --git a/jitterbuf.c b/jitterbuf.c
index e4c73fd3f69f7280852fa60189bb4558105c762d..1f32231582df0cf73d1ba21ff2f5f37ddadeec1b 100755
--- a/jitterbuf.c
+++ b/jitterbuf.c
@@ -19,9 +19,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * jitterbuf: an application-independent jitterbuffer
+ * \brief jitterbuf: an application-independent jitterbuffer
  *
  */
 
diff --git a/loader.c b/loader.c
index 0af47a85924a4c0e5150c230c0347b953680e2fa..aa2a282974f388f3e41f37ae18f4c2aaed7fd43a 100755
--- a/loader.c
+++ b/loader.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Module Loader
+ * \brief Module Loader
  * 
  */
 
diff --git a/logger.c b/logger.c
index 987d52b7e2fa6257b71666fc22cd06be864e745f..bf6799d4a6dc080b96571d7d94e5fb8cb835056a 100755
--- a/logger.c
+++ b/logger.c
@@ -16,8 +16,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Asterisk Logger
+/*! \file
+ * \brief Asterisk Logger
  * 
  * Logging routines
  *
diff --git a/manager.c b/manager.c
index bd99025a2efa30979b58797b331c23477472ec98..3f3c68f111e637d8388cf784ec2fd63e40586e0b 100755
--- a/manager.c
+++ b/manager.c
@@ -16,12 +16,13 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * The Asterisk Management Interface - AMI
+ * \brief The Asterisk Management Interface - AMI
  *
  * Channel Management and more
  * 
+ * \ref manconf
  */
 
 #include <stdio.h>
@@ -100,7 +101,7 @@ static struct mansession *sessions = NULL;
 static struct manager_action *first_action = NULL;
 AST_MUTEX_DEFINE_STATIC(actionlock);
 
-/* If you are calling carefulwrite, it is assumed that you are calling
+/*! If you are calling ast_carefulwrite, it is assumed that you are calling
    it on a file descriptor that _DOES_ have NONBLOCK set.  This way,
    there is only one system call made to do a write, unless we actually
    have a need to wait.  This way, we get better performance. */
@@ -131,7 +132,7 @@ int ast_carefulwrite(int fd, char *s, int len, int timeoutms)
 	return res;
 }
 
-/*--- authority_to_str: Convert authority code to string with serveral options */
+/*! authority_to_str: Convert authority code to string with serveral options */
 static char *authority_to_str(int authority, char *res, int reslen)
 {
 	int running_total = 0, i;
@@ -334,7 +335,7 @@ struct ast_variable *astman_get_variables(struct message *m)
 	return head;
 }
 
-/* NOTE:
+/*! NOTE:
    Callers of astman_send_error(), astman_send_response() or astman_send_ack() must EITHER
    hold the session lock _or_ be running in an action callback (in which case s->busy will
    be non-zero). In either of these cases, there is no need to lock-protect the session's
@@ -342,7 +343,6 @@ struct ast_variable *astman_get_variables(struct message *m)
    be read until either the current action finishes or get_input() obtains the session
    lock.
  */
-
 void astman_send_error(struct mansession *s, struct message *m, char *error)
 {
 	char *id = astman_get_header(m,"ActionID");
@@ -371,7 +371,7 @@ void astman_send_ack(struct mansession *s, struct message *m, char *msg)
 	astman_send_response(s, m, "Success", msg);
 }
 
-/* Tells you if smallstr exists inside bigstr
+/*! Tells you if smallstr exists inside bigstr
    which is delim by delim and uses no buf or stringsep
    ast_instring("this|that|more","this",',') == 1;
 
@@ -452,7 +452,7 @@ static int ast_strings_to_mask(char *string)
 	return ret;
 }
 
-/* 
+/*! 
    Rather than braindead on,off this now can also accept a specific int mask value 
    or a ',' delim list of mask strings (the same as manager.conf) -anthm
 */
diff --git a/md5.c b/md5.c
index 225b5ff2af4f6d16b6296970371489bbd31600cc..367e8725c5a6087686f88c5bd3b6dea23dab7b0b 100755
--- a/md5.c
+++ b/md5.c
@@ -1,4 +1,6 @@
-/* MD5 checksum routines used for authentication.  Not covered by GPL, but
+
+/*!\file
+\brief     MD5 checksum routines used for authentication.  Not covered by GPL, but
    in the public domain as per the copyright below */
 
 /*
diff --git a/muted.c b/muted.c
index 6512b3d2d90034d8f85fe431b84ee1fd8971e20c..86795a71e3388bdcf0622747b4898e13d88e8749 100755
--- a/muted.c
+++ b/muted.c
@@ -19,8 +19,8 @@
  * at the top of the source tree.
  */
 
-/*
- * Mute Daemon
+/*! \file
+ * \brief Mute Daemon
  *
  * Specially written for Malcolm Davenport, but I think I'll use it too
  *
diff --git a/netsock.c b/netsock.c
index c6694539a20bc6a70f86f8a84a09312fa3c753b8..da22c549cc4800822b30c567d4284b642f688cbc 100755
--- a/netsock.c
+++ b/netsock.c
@@ -17,9 +17,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Network socket handling
+ * \brief Network socket handling
  * 
  */
 
diff --git a/pbx.c b/pbx.c
index da7d5be60345a31d5ff86a7a4933bfa0e0617873..b629980b01a87cfbb108cdc1817344bbc1cbfac1 100755
--- a/pbx.c
+++ b/pbx.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Core PBX routines.
+ * \brief Core PBX routines.
  * 
  */
 
diff --git a/pbx/dundi-parser.c b/pbx/dundi-parser.c
index ad468959d35d5b6359c0408eac46f6a8a8d601f6..9b9d9d205ffc1d7e3339f26c5f82b5b1f7a8bd63 100755
--- a/pbx/dundi-parser.c
+++ b/pbx/dundi-parser.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Distributed Universal Number Discovery (DUNDi)
+ * \brief Distributed Universal Number Discovery (DUNDi)
  *
  */
 
diff --git a/pbx/pbx_ael.c b/pbx/pbx_ael.c
index 97fbc8455a0e8f2f5da284838d7e4417a0bd02b4..2cdc650780c28fe902b6a1870b0210cc673b0077 100755
--- a/pbx/pbx_ael.c
+++ b/pbx/pbx_ael.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Compile symbolic Asterisk Extension Logic into Asterisk extensions
+ * \brief Compile symbolic Asterisk Extension Logic into Asterisk extensions
  * 
  */
 
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c
index 45df4b1b4c5b6c5b375de914d25ce640e00ed7a2..e43f2e1bfb6b9ab7ce09cd5bd6261d9aa3d90a0e 100755
--- a/pbx/pbx_config.c
+++ b/pbx/pbx_config.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Populate and remember extensions from static config file
+ * \brief Populate and remember extensions from static config file
  * 
  */
 
diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c
index 73e5346d0f1b75c21783fdd88314470b613784c4..0dce9670f6fa08c184ed220cd2bf958935863c70 100755
--- a/pbx/pbx_dundi.c
+++ b/pbx/pbx_dundi.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Distributed Universal Number Discovery (DUNDi)
+ * \brief Distributed Universal Number Discovery (DUNDi)
  *
  */
 
diff --git a/pbx/pbx_gtkconsole.c b/pbx/pbx_gtkconsole.c
index 5c70d11a67b759242e2300cd189d344f902547b1..f0d118b89e53ed8d72d79f812024523ea4a5df11 100755
--- a/pbx/pbx_gtkconsole.c
+++ b/pbx/pbx_gtkconsole.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * GTK Console monitor -- very kludgy right now
+ * \brief GTK Console monitor -- very kludgy right now
  * 
  */
 
diff --git a/pbx/pbx_loopback.c b/pbx/pbx_loopback.c
index 8e99756d374d49136f00f1507b1f7d26307b4bcf..aeba07dcb83e0651eac9404d0647b0bc42ec3761 100755
--- a/pbx/pbx_loopback.c
+++ b/pbx/pbx_loopback.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Loopback PBX Module
+ * \brief Loopback PBX Module
  *
  */
 
diff --git a/pbx/pbx_realtime.c b/pbx/pbx_realtime.c
index b3fd5edcf92ee7076e6a2bf70ca896c701a35360..af44f51e2d8ec8d74032805a5ecb712684479556 100755
--- a/pbx/pbx_realtime.c
+++ b/pbx/pbx_realtime.c
@@ -16,10 +16,11 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Realtime PBX Module
+ * \brief Realtime PBX Module
  *
+ * \arg See also: \ref AstARA
  */
 
 #include <stdlib.h>
diff --git a/pbx/pbx_spool.c b/pbx/pbx_spool.c
index 3a9a62c1f1f4a871676f6200dc65df7a043c3f5b..96531b5f95b09ea44169e3c978a5741c6b666cd2 100755
--- a/pbx/pbx_spool.c
+++ b/pbx/pbx_spool.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Full-featured outgoing call spool support
+ * \brief Full-featured outgoing call spool support
  * 
  */
 
diff --git a/plc.c b/plc.c
index 67a63467f7b8b8cfd5a9f52a84980335cf215823..bd75ee09ae59e3e5fc8ddedfe7f0126e3e4ff244 100755
--- a/plc.c
+++ b/plc.c
@@ -22,9 +22,9 @@
  * This version is disclaimed to DIGIUM for inclusion in the Asterisk project.
  */
 
-/*
+/*! \file
  *
- * SpanDSP - a series of DSP components for telephony
+ * \brief SpanDSP - a series of DSP components for telephony
  *
  */
 
diff --git a/privacy.c b/privacy.c
index 8b77ed5be2430add05c1c8a951c082f124b1a645..a3ffec3e3d52e44d0dd48bb80af7004e92bfe656 100755
--- a/privacy.c
+++ b/privacy.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Privacy Routines
+ * \brief Privacy Routines
  * 
  */
 
diff --git a/res/res_adsi.c b/res/res_adsi.c
index 3ebe53bda1207d951319beaa2f565b21a395220e..18e7849f3eb7c640536eb7a93e5e2ec0d0994197 100755
--- a/res/res_adsi.c
+++ b/res/res_adsi.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * ADSI support 
+ * \brief ADSI support 
  * 
  */
 
diff --git a/res/res_agi.c b/res/res_agi.c
index 5645b79cbcf6fa3568c927ff9b824c1fab81a16f..36e0e2803845e797613e7fb71e151c4b715ad047 100755
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Asterisk Gateway Interface
+ * \brief AGI - the Asterisk Gateway Interface
  * 
  */
 
diff --git a/res/res_config_odbc.c b/res/res_config_odbc.c
index e1d6e83b673a7d4371946232879d36955d3f661f..73d280d0bc775a328aab97198fcea0037c499322 100755
--- a/res/res_config_odbc.c
+++ b/res/res_config_odbc.c
@@ -5,7 +5,6 @@
  *
  * Mark Spencer <markster@digium.com>
  *
- * res_config_odbc.c <odbc+odbc plugin for portable configuration engine >
  * Copyright (C) 2004 - 2005 Anthony Minessale II <anthmct@yahoo.com>
  *
  * See http://www.asterisk.org for more information about
@@ -19,10 +18,11 @@
  * at the top of the source tree.
  */
 
-/*
- *
+/*! \file
  *
+ * \brief odbc+odbc plugin for portable configuration engine
  *
+ *	http://www.unixodbc.org
  */
 
 #include <stdlib.h>
diff --git a/res/res_crypto.c b/res/res_crypto.c
index 006238c2dfec03fb7d4ebd2aaee8cf5c16fd57eb..037ff8e7903c8355dbf950f8450bbabcebe3b0a6 100755
--- a/res/res_crypto.c
+++ b/res/res_crypto.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Provide Cryptographic Signature capability
+ * \brief Provide Cryptographic Signature capability
  * 
  */
 
diff --git a/res/res_features.c b/res/res_features.c
index 87fe851d59160ceb504923af3066fd41eefb7f30..2d1f852fed6bd3d308f5c0cc9d39f7047d83c3ff 100755
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Routines implementing call parking
+ * \brief Routines implementing call parking
  * 
  */
 
diff --git a/res/res_indications.c b/res/res_indications.c
index 18b486fb3ee3359b9077b066539f8c037c919253..f53ea766511adb004ba784721ec818e8566f47e5 100755
--- a/res/res_indications.c
+++ b/res/res_indications.c
@@ -3,7 +3,6 @@
  *
  * Copyright (C) 2002, Pauline Middelink
  *
- * Pauline Middelink <middelink@polyware.nl>
  *
  * See http://www.asterisk.org for more information about
  * the Asterisk project. Please do not directly contact
@@ -16,10 +15,12 @@
  * at the top of the source tree.
  */
 
-/** @file res_indications.c 
+/*! \file res_indications.c 
  *
- * Load the indications
+ * \brief Load the indications
  * 
+ * \author Pauline Middelink <middelink@polyware.nl>
+ *
  * Load the country specific dialtones into the asterisk PBX.
  */
  
diff --git a/res/res_monitor.c b/res/res_monitor.c
index 7b048cb7474e84a8037a44238d64c04aac8fbb6d..89fb5aef932b3cbb98fb23f645e4d8816da38a62 100755
--- a/res/res_monitor.c
+++ b/res/res_monitor.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/* 
+/*! \file
  *
- * res_monitor.c 
+ * \brief PBX channel monitoring
  *
  */
  
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index 8d9c845b8149f5431319d311f0586a0cc6863370..e029265ddf44500b6165618f66f30de8bc4d4b6b 100755
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -16,9 +16,11 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
+ *
+ * \brief Routines implementing music on hold
  *
- * Routines implementing music on hold
+ * \arg See also \ref Config_moh
  * 
  */
 
diff --git a/res/res_odbc.c b/res/res_odbc.c
index 2c58ce72eba54b7df26fa662025013bf5ec20093..987275a19909ca6c0cf223d17770e422dc9e37be 100755
--- a/res/res_odbc.c
+++ b/res/res_odbc.c
@@ -20,9 +20,11 @@
  */
 
 
-/*
- *
+/*! \file
  *
+ * \brief ODBC resource manager
+ * 
+ * \arg See also: \ref cdrodbc
  *
  */
 
diff --git a/res/res_osp.c b/res/res_osp.c
index dca948c72ca1024678e4b1e552df1ddad098c76a..41ca8c0cf0f28a94cb4ac925bdabcafe099d3fcc 100755
--- a/res/res_osp.c
+++ b/res/res_osp.c
@@ -16,10 +16,11 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Provide Open Settlement Protocol capability
+ * \brief Provide Open Settlement Protocol capability
  * 
+ * \arg See also: \ref chan_sip.c
  */
 
 #include <sys/types.h>
diff --git a/rtp.c b/rtp.c
index 284e99b1b346d6956d36e176b2c4bc19f45caebe..39b3745a37acffaee9b1f840a010b12e6e91cafb 100755
--- a/rtp.c
+++ b/rtp.c
@@ -17,7 +17,7 @@
  */
 
 /*! 
- * \file rtp.c
+ * \file 
  * \brief Supports RTP and RTCP with Symmetric RTP support for NAT traversal.
  * 
  * RTP is deffined in RFC 3550.
diff --git a/say.c b/say.c
index 87ea86aaaf95fcd3f4d1859571ae42b315161fe8..140da80cf244bd5691561593ddd6704965d4f4a2 100755
--- a/say.c
+++ b/say.c
@@ -17,9 +17,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Say numbers and dates (maybe words one day too)
+ * \brief Say numbers and dates (maybe words one day too)
  * 
  * 12-16-2004 : Support for Greek added by InAccess Networks (work funded by HOL, www.hol.gr)
  *  						George Konstantoulakis <gkon@inaccessnetworks.com>
diff --git a/sched.c b/sched.c
index 6aef96ae30bc44b58931025969ec9a9c1e0cf766..27dc68beef93d954ee89f41ad9729e216e69f5b0 100755
--- a/sched.c
+++ b/sched.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Scheduler Routines (from cheops-NG)
+ * \brief Scheduler Routines (from cheops-NG)
  *
  */
 
diff --git a/slinfactory.c b/slinfactory.c
index 72055b1915c743d9025a57818e893297fc0ccd12..7985ecdc60b22c2d61a87e22379187ad00dcc855 100755
--- a/slinfactory.c
+++ b/slinfactory.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * A machine to gather up arbitrary frames and convert them
+ * \brief A machine to gather up arbitrary frames and convert them
  * to raw slinear on demand.
  * 
  */
diff --git a/srv.c b/srv.c
index 980093d720d06559bcf2971a8b97de7e3a81d775..9e04d84e4531afe15958e63d9b3f479f80b5a48c 100755
--- a/srv.c
+++ b/srv.c
@@ -18,9 +18,11 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * ENUM Support for Asterisk
+ * \brief DNS SRV Record Lookup Support for Asterisk
+ * 
+ * \arg See also \ref AstENUM
  *
  */
 
diff --git a/tdd.c b/tdd.c
index 8f744fbab1e3d2a33c02a84474584f5bbfc66425..df6c9f0a3707abfe73ade9d3adf0ff085b753289 100755
--- a/tdd.c
+++ b/tdd.c
@@ -18,9 +18,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * TTY/TDD Generation support 
+ * \brief TTY/TDD Generation support 
  * 
  */
 
diff --git a/term.c b/term.c
index b6d4d4288f97d3f648b147027a04cd1012f10616..582adb0af841331ed813d0cb536dd9150d8481ed 100755
--- a/term.c
+++ b/term.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Terminal Routines 
+ * \brief Terminal Routines 
  * 
  */
 
diff --git a/translate.c b/translate.c
index 18f67796a4b73626bb97cc37c887c4baeea7a69d..bfc3932b14be87737d796b83f06ed108b3d4f207 100755
--- a/translate.c
+++ b/translate.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Translate via the use of pseudo channels
+ * \brief Translate via the use of pseudo channels
  * 
  */
 
diff --git a/ulaw.c b/ulaw.c
index e9202582ab3ec7ac83c6b81dd0a38881adf611f0..9001cf434b9fa9a4e99ebf5537e8071b2376ecb6 100755
--- a/ulaw.c
+++ b/ulaw.c
@@ -16,9 +16,9 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * u-Law to Signed linear conversion
+ * \brief u-Law to Signed linear conversion
  * 
  */
 
diff --git a/utils.c b/utils.c
index dca0dfd492fb6834dfa08258bf7603405298f35e..b635be94cc69d3fea3f4da65c457a91cb5c0e664 100755
--- a/utils.c
+++ b/utils.c
@@ -14,10 +14,13 @@
  * at the top of the source tree.
  */
 
-/*
+/*! \file
  *
- * Utility functions
+ * \brief Utility functions
  *
+ * \note These are important for portability and security,
+ * so please use them in favour of other routines.
+ * Please consult the CODING GUIDELINES for more information.
  */
 
 #include <ctype.h>