Index: channels/chan_sip.c
===================================================================
--- channels/chan_sip.c	(revision 81491)
+++ channels/chan_sip.c	(working copy)
@@ -662,8 +662,8 @@
 #define DEC_CALL_RINGING 2
 #define INC_CALL_RINGING 3
 
-/*! \brief sip_request: The data grabbed from the UDP socket
- *
+/*! \brief The data grabbed from the UDP socket
+ * \verbatim
  * Incoming messages: we first store the data from the socket in data[],
  * adding a trailing \0 to make string parsing routines happy.
  * Then call parse_request() and req.method = find_sip_method();
@@ -683,11 +683,12 @@
  * and then fill the rest with add_header() and add_line().
  * The \r\n at the end of the line are still there, so the get_header()
  * and similar functions don't work on these packets. 
+ * \endverbatim
  */
 struct sip_request {
 	char *rlPart1; 	        /*!< SIP Method Name or "SIP/2.0" protocol version */
 	char *rlPart2; 	        /*!< The Request URI or Response Status */
-	int len;                /*!< bytes used in data[], excluding trailing '\0'. Rarely used. */
+	int len;                /*!< bytes used in data[], excluding trailing null terminator. Rarely used. */
 	int headers;            /*!< # of SIP Headers */
 	int method;             /*!< Method of this request */
 	int lines;              /*!< Body Content */
@@ -1824,7 +1825,7 @@
 /* wrapper macro to tell whether t points to one of the sip_tech descriptors */
 #define IS_SIP_TECH(t)  ((t) == &sip_tech || (t) == &sip_tech_info)
 
-/*! \begin map from an integer value to a string.
+/*! \brief map from an integer value to a string.
  * If no match is found, return errorstring
  */
 static const char *map_x_s(const struct _map_x_s *table, int x, const char *errorstring)
@@ -1837,7 +1838,7 @@
 	return errorstring;
 }
 
-/*! \begin map from a string to an integer value, case insensitive.
+/*! \brief map from a string to an integer value, case insensitive.
  * If no match is found, return errorvalue.
  */
 static int map_s_x(const struct _map_x_s *table, const char *s, int errorvalue)
Index: include/asterisk/features.h
===================================================================
--- include/asterisk/features.h	(revision 81491)
+++ include/asterisk/features.h	(working copy)
@@ -53,7 +53,8 @@
  * \param chan the channel to actually be parked
  * \param host the channel which will have the parked location read to.
  * \param timeout is a timeout in milliseconds
- * \param extout is a parameter to an int that will hold the parked location, or NULL if you want
+ * \param extout is a parameter to an int that will hold the parked location, or NULL if you want.
+ * 
  * 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 time, 
  * then the call will return to the last step that it was in 
@@ -68,7 +69,8 @@
  * \param rchan the real channel to be parked
  * \param host the channel to have the parking read to.
  * \param timeout is a timeout in milliseconds
- * \param extout is a parameter to an int that will hold the parked location, or NULL if you want
+ * \param extout is a parameter to an int that will hold the parked location, or NULL if you want.
+ * 
  * Masquerade the channel rchan into a new, empty channel which is then parked with ast_park_call
  * \retval 0 on success.
  * \retval -1 on failure.
Index: include/asterisk/sha1.h
===================================================================
--- include/asterisk/sha1.h	(revision 81491)
+++ include/asterisk/sha1.h	(working copy)
@@ -47,23 +47,22 @@
 #endif
 #define SHA1HashSize 20
 
-/*
- *  This structure will hold context information for the SHA-1
- *  hashing operation
- */
+/*!
+ * \brief This structure will hold context information for the SHA-1 hashing operation
+*/
 typedef struct SHA1Context
 {
-    uint32_t Intermediate_Hash[SHA1HashSize/4]; /* Message Digest  */
+    uint32_t Intermediate_Hash[SHA1HashSize/4]; /*! Message Digest  */
 
-    uint32_t Length_Low;            /* Message length in bits      */
-    uint32_t Length_High;           /* Message length in bits      */
+    uint32_t Length_Low;            /*!< Message length in bits      */
+    uint32_t Length_High;           /*!< Message length in bits      */
 
                                /* Index into message block array   */
-    uint32_t Message_Block_Index;	/* 8 bits actually suffice */
-    uint8_t Message_Block[64];      /* 512-bit message blocks      */
+    uint32_t Message_Block_Index;	/*!< 8 bits actually suffice */
+    uint8_t Message_Block[64];      /*!< 512-bit message blocks      */
 
-    int Computed;               /* Is the digest computed?         */
-    int Corrupted;             /* Is the message digest corrupted? */
+    int Computed;               /*!< Is the digest computed?         */
+    int Corrupted;             /*!< Is the message digest corrupted? */
 } SHA1Context;
 
 /*
Index: include/asterisk/devicestate.h
===================================================================
--- include/asterisk/devicestate.h	(revision 81491)
+++ include/asterisk/devicestate.h	(working copy)
@@ -135,7 +135,7 @@
  * \brief Tells Asterisk the State for Device is changed
  *
  * \param state the new state of the device
- * \param fmt device name like a dial string with format parameters
+ * \param device device name like a dial string with format parameters
  *
  * The new state of the device will be sent off to any subscribers
  * of device states.  It will also be stored in the internal event
Index: include/asterisk/astobj2.h
===================================================================
--- include/asterisk/astobj2.h	(revision 81491)
+++ include/asterisk/astobj2.h	(working copy)
@@ -90,7 +90,7 @@
     struct ao2_container *c;
 
     c = ao2_container_alloc(MAX_BUCKETS, my_hash_fn, my_cmp_fn);
-
+    \endcode
 where
 - MAX_BUCKETS is the number of buckets in the hash table,
 - my_hash_fn() is the (user-supplied) function that returns a
@@ -153,7 +153,7 @@
  *
  * Allocates a struct astobj2 with sufficient space for the
  * user-defined structure.
- * \notes:
+ * \note
  * - storage is zeroed; XXX maybe we want a flag to enable/disable this.
  * - the refcount of the object just created is 1
  * - the returned pointer cannot be free()'d or realloc()'ed;
@@ -329,8 +329,9 @@
  * We allocate space for a struct astobj_container, struct container
  * and the buckets[] array.
  *
- * \param my_hash_fn Pointer to a function computing a hash value.
- * \param my_cmp_fn Pointer to a function comparating key-value 
+ * \param n_buckets Number of buckets for hash
+ * \param hash_fn Pointer to a function computing a hash value.
+ * \param cmp_fn Pointer to a function comparating key-value 
  * 			with a string. (can be NULL)
  * \return A pointer to a struct container.
  *
@@ -354,7 +355,7 @@
  * Add an object to a container.
  *
  * \param c the container to operate on.
- * \param obj the object to be added.
+ * \param newobj the object to be added.
  * \return NULL on errors, other values on success.
  *
  * This function insert an object in a container according its key.
@@ -364,7 +365,7 @@
 void *ao2_link(struct ao2_container *c, void *newobj);
 void *ao2_unlink(struct ao2_container *c, void *newobj);
 
-/*! \struct Used as return value if the flag OBJ_MULTIPLE is set */
+/*! \brief Used as return value if the flag OBJ_MULTIPLE is set */
 struct ao2_list {
 	struct ao2_list *next;
 	void *obj;	/* pointer to the user portion of the object */
Index: include/asterisk/strings.h
===================================================================
--- include/asterisk/strings.h	(revision 81491)
+++ include/asterisk/strings.h	(working copy)
@@ -238,14 +238,14 @@
 int ast_false(const char *val);
 
 /*
-  \brief Join an array of strings into a single string.
-  \param s the resulting string buffer
-  \param len the length of the result buffer, s
-  \param w an array of strings to join
-
-  This function will join all of the strings in the array 'w' into a single
-  string.  It will also place a space in the result buffer in between each
-  string from 'w'.
+ *  \brief Join an array of strings into a single string.
+ * \param s the resulting string buffer
+ * \param len the length of the result buffer, s
+ * \param w an array of strings to join.
+ *
+ * This function will join all of the strings in the array 'w' into a single
+ * string.  It will also place a space in the result buffer in between each
+ * string from 'w'.
 */
 void ast_join(char *s, size_t len, char * const w[]);
 
Index: include/asterisk/stringfields.h
===================================================================
--- include/asterisk/stringfields.h	(revision 81491)
+++ include/asterisk/stringfields.h	(working copy)
@@ -144,7 +144,7 @@
   \param needed Amount of space needed for this field
   \param fields Pointer to the first entry of the field array
   \param num_fields Number of fields in the array
-  \return NULL on failure, an address for the field on success
+  \return NULL on failure, an address for the field on success.
 
   This function will allocate the requested amount of space from
   the field pool. If the requested amount of space is not available,
@@ -356,7 +356,7 @@
 /*!
   \brief Free the stringfield storage pools attached to a structure
   \param x Pointer to a structure containing fields
-  \return nothing
+  \return nothing.
 
   After calling this macro, fields can no longer be accessed in
   structure; it should only be called immediately before freeing
@@ -373,7 +373,7 @@
 /*!
   \brief Free the stringfields in a structure
   \param x Pointer to a structure containing fields
-  \return nothing
+  \return nothing.
 
   After calling this macro, the most recently allocated pool
   attached to the structure will be available for use by
Index: include/asterisk/audiohook.h
===================================================================
--- include/asterisk/audiohook.h	(revision 81491)
+++ include/asterisk/audiohook.h	(working copy)
@@ -163,12 +163,12 @@
 void ast_audiohook_trigger_wait(struct ast_audiohook *audiohook);
 
 /*! \brief Lock an audiohook
- * \param audiohook Audiohook structure
+ * \param ah Audiohook structure
  */
 #define ast_audiohook_lock(ah) ast_mutex_lock(&(ah)->lock)
 
 /*! \brief Unlock an audiohook
- * \param audiohook Audiohook structure
+ * \param ah Audiohook structure
  */
 #define ast_audiohook_unlock(ah) ast_mutex_unlock(&(ah)->lock)
 
Index: main/sha1.c
===================================================================
--- main/sha1.c	(revision 81491)
+++ main/sha1.c	(working copy)
@@ -73,7 +73,7 @@
 
 /*!
  * \brief SHA1Reset
- * \param context the context to be reset
+ * \param context the context to be reset.
  * This function will initialize the SHA1Context in preparation
  * for computing a new SHA1 message digest.
  * \return sha Error Code.
@@ -146,7 +146,7 @@
  * \param context [in/out] The SHA context to update
  * \param message_array [in] An array of characters representing the next portion of
  *		   the message.
- * \param length [in] The length of the message in message_array
+ * \param length [in] The length of the message in message_array.
  *  This function accepts an array of octets as the next portion
  *  of the message.
  * \return sha Error Code.
@@ -281,7 +281,7 @@
 
 /*!
  * \brief Pad message to be 512 bits.
- * \param context [in/out]  The context to pad
+ * \param context [in/out]  The context to pad.
  * 
  * According to the standard, the message must be padded to an even
  *  512 bits.  The first padding bit must be a '1'.  The last 64
Index: main/audiohook.c
===================================================================
--- main/audiohook.c	(revision 81491)
+++ main/audiohook.c	(working copy)
@@ -60,6 +60,8 @@
 
 /*! \brief Initialize an audiohook structure
  * \param audiohook Audiohook structure
+ * \param type
+ * \param source
  * \return Returns 0 on success, -1 on failure
  */
 int ast_audiohook_init(struct ast_audiohook *audiohook, enum ast_audiohook_type type, const char *source)
Index: res/res_jabber.c
===================================================================
--- res/res_jabber.c	(revision 81491)
+++ res/res_jabber.c	(working copy)
@@ -508,7 +508,8 @@
  * \param prs the XML parser
  * \param type the SASL authentication type. Supported types are PLAIN and MD5
  * \param username
- * \param pass
+ * \param pass password.
+ *
  * If SASL authentication type is MD5, we simply call iks_start_sasl().
  * If type is PLAIN, we compute the authentication string by ourselves, 
  * because it looks like Google's jabber server does not accept the value 
Index: res/res_config_sqlite.c
===================================================================
--- res/res_config_sqlite.c	(revision 81491)
+++ res/res_config_sqlite.c	(working copy)
@@ -261,7 +261,7 @@
 
 /*!
  * \brief Asterisk callback function for CDR support.
- * \param cdr the CDR entry Asterisk sends us
+ * \param cdr the CDR entry Asterisk sends us.
  * 
  * Asterisk will call this function each time a CDR entry must be logged if
  * CDR support is enabled.
@@ -301,6 +302,7 @@
  * \param file the file to load from the database
  * \param cfg the struct ast_config object to use when storing variables
  * \param flags Optional flags.  Not used.
+ * \param suggested_incl suggest include.
  * \retval cfg object
  * \retval NULL if an error occurred
  * \see add_cfg_entry()
Index: res/res_config_odbc.c
===================================================================
--- res/res_config_odbc.c	(revision 81491)
+++ res/res_config_odbc.c	(working copy)
@@ -98,7 +98,8 @@
  * \brief Excute an SQL query and return ast_variable list
  * \param database
  * \param table
- * \param ap list containing one or more field/operator/value set
+ * \param ap list containing one or more field/operator/value set.
+ *
  * Select database and preform query on table, prepare the sql statement
  * Sub-in the values to the prepared statement and execute it. Return results
  * as a ast_variable list.
@@ -238,7 +239,8 @@
  * \brief Excute an Select query and return ast_config list
  * \param database
  * \param table
- * \param ap list containing one or more field/operator/value set
+ * \param ap list containing one or more field/operator/value set.
+ *
  * Select database and preform query on table, prepare the sql statement
  * Sub-in the values to the prepared statement and execute it. 
  * Execute this prepared query against several ODBC connected databases.
@@ -385,7 +387,8 @@
  * \param table
  * \param keyfield where clause field
  * \param lookup value of field for where clause
- * \param ap list containing one or more field/value set(s)
+ * \param ap list containing one or more field/value set(s).
+ *
  * Update a database table, prepare the sql statement using keyfield and lookup
  * control the number of records to change. All values to be changed are stored in ap list.
  * Sub-in the values to the prepared statement and execute it.
@@ -455,6 +458,7 @@
  * \param database
  * \param table
  * \param ap list containing one or more field/value set(s)
+ *
  * Insert a new record into database table, prepare the sql statement.
  * All values to be changed are stored in ap list.
  * Sub-in the values to the prepared statement and execute it.
@@ -530,7 +534,8 @@
  * \param keyfield where clause field
  * \param lookup value of field for where clause
  * \param ap list containing one or more field/value set(s)
- * Dlete a row from a database table, prepare the sql statement using keyfield and lookup
+ *
+ * Delete a row from a database table, prepare the sql statement using keyfield and lookup
  * control the number of records to change. Additional params to match rows are stored in ap list.
  * Sub-in the values to the prepared statement and execute it.
  *
Index: res/res_features.c
===================================================================
--- res/res_features.c	(revision 81491)
+++ res/res_features.c	(working copy)
@@ -211,6 +211,7 @@
 /*!
  * \brief Check goto on transfer
  * \param chan
+ *
  * Check if channel has 'GOTO_ON_BLINDXFR' set, if not exit.
  * When found make sure the types are compatible. Check if channel is valid
  * if so start the new channel else hangup the call. 
@@ -255,7 +256,8 @@
 
 /*!
  * \brief bridge the call 
- * \param data thread bridge 
+ * \param data thread bridge.
+ *
  * Set Last Data for respective channels, reset cdr for channels
  * bridge call, check if we're going back to dialplan
  * if not hangup both legs of the call
@@ -309,6 +311,7 @@
 /*!
  * \brief create thread for the parked call
  * \param data
+ *
  * Create thread and attributes, call ast_bridge_call_thread
 */
 static void ast_bridge_call_thread_launch(void *data) 
@@ -327,8 +330,8 @@
 
 /*!
  * \brief Announce call parking by ADSI
- * \param chan
- * \param parkingexten
+ * \param chan .
+ * \param parkingexten .
  * Create message to show for ADSI, display message.
  * \retval 0 on success.
  * \retval -1 on failure.
@@ -549,6 +552,7 @@
 /*! 
  * \brief set caller and callee according to the direction 
  * \param caller, callee, peer, chan, sense
+ *
  * Detect who triggered feature and set callee/caller variables accordingly
 */
 static void set_peers(struct ast_channel **caller, struct ast_channel **callee,
@@ -569,7 +573,8 @@
  * \param peer channel to be parked
  * \param config unsed
  * \param code unused
- * \param sense feature options 
+ * \param sense feature options
+ *
  * \param data
  * Setup channel, set return exten,priority to 's,1'
  * answer chan, sleep chan, park call
@@ -613,7 +618,8 @@
  * \param peer channel to be monitored
  * \param config
  * \param code
- * \param sense
+ * \param sense feature options
+ *
  * \param data
  * Check monitor app enabled, setup channels, both caller/callee chans not null
  * get TOUCH_MONITOR variable for filename if exists, exec monitor app.
@@ -719,6 +725,7 @@
  * \brief Find the context for the transfer
  * \param transferer
  * \param transferee
+ * 
  * Grab the TRANSFER_CONTEXT, if fails try grabbing macrocontext.
  * \return a context string
 */
@@ -736,13 +743,14 @@
 
 /*!
  * \brief Blind transfer user to another extension
- * \param chan channel initiated blind transfer
- * \param peer channel to be transfered
+ * \param chan channel to be transfered
+ * \param peer channel initiated blind transfer
  * \param config
  * \param code
- * \param sense
  * \param data
- * Place peer on hold, check if tranfered to parkinglot extension,
+ * \param sense  feature options
+ * 
+ * Place chan on hold, check if transferred to parkinglot extension,
  * otherwise check extension exists and transfer caller.
  * \retval FEATURE_RETURN_SUCCESS.
  * \retval -1 on failure.
@@ -856,16 +864,18 @@
 
 /*!
  * \brief Attended transfer
- * \param chan
- * \param peer
+ * \param chan transfered user
+ * \param peer person transfering call
  * \param config
  * \param code
- * \param sense
+ * \param sense feature options
+ * 
  * \param data
  * Get extension to transfer to, if you cannot generate channel (or find extension) 
  * return to host channel. After called channel answered wait for hangup of transferer,
  * bridge call between transfer peer (taking them off hold) to attended transfer channel.
- * \return -1 means what failure/success both?
+ *
+ * \return -1 on failure
 */
 static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense, void *data)
 {
@@ -1129,7 +1139,8 @@
 
 /*! 
  * \brief Add new feature group
- * \param fgname feature group name
+ * \param fgname feature group name.
+ *
  * Add new feature group to the feature group list insert at head of list.
  * \note This function MUST be called while feature_groups is locked.
 */
@@ -1163,7 +1174,8 @@
  * \brief Add feature to group
  * \param fg feature group
  * \param exten
- * \param feature feature to add
+ * \param feature feature to add.
+ *
  * Check fg and feature specified, add feature to list
  * \note This function MUST be called while feature_groups is locked. 
 */
@@ -1309,7 +1321,8 @@
 
 /*!
  * \brief exec an app by feature 
- * \param chan,peer,config,code,sense
+ * \param chan,peer,config,code,sense,data
+ *
  * Find a feature, determine which channel activated
  * \retval FEATURE_RETURN_PBX_KEEPALIVE,FEATURE_RETURN_NO_HANGUP_PEER
  * \retval -1 error.
@@ -1407,6 +1420,7 @@
 /*!
  * \brief Check the dynamic features
  * \param chan,peer,config,code,sense
+ *
  * Lock features list, browse for code, unlock list
  * \retval res on success.
  * \retval -1 on failure.
@@ -1526,11 +1540,13 @@
 }
 
 /*! 
- * \brief
+ * \brief Get feature and dial
  * \param caller,transferee,type,format,data,timeout,outstate,cid_num,cid_name,igncallerstate
+ *
  * Request channel, set channel variables, initiate call,check if they want to disconnect
  * go into loop, check if timeout has elapsed, check if person to be transfered hung up,
  * check for answer break loop, set cdr return channel.
+ *
  * \todo XXX Check - this is very similar to the code in channel.c 
  * \return always a channel
 */
@@ -1724,6 +1740,7 @@
 /*!
  * \brief bridge the call and set CDR
  * \param chan,peer,config
+ * 
  * Set start time, check for two channels,check if monitor on
  * check for feature activation, create new CDR
  * \retval res on success.
@@ -2023,7 +2040,8 @@
 
 /*! 
  * \brief Take care of parked calls and unpark them if needed 
- * \param ignore unused var
+ * \param ignore unused var.
+ * 
  * Start inf loop, lock parking lot, check if any parked channels have gone above timeout
  * if so, remove channel from parking lot and return it to the extension that parked it.
  * Check if parked channel decided to hangup, wait until next FD via select().
@@ -2393,6 +2411,7 @@
  * \brief Actual bridge
  * \param chan
  * \param tmpchan
+ * 
  * Stop hold music, lock both channels, masq channels,
  * after bridge return channel to next priority.
 */
@@ -2416,11 +2435,13 @@
  * \brief Bridge channels together
  * \param s
  * \param m
+ * 
  * Make sure valid channels were specified, 
  * send errors if any of the channels could not be found/locked, answer channels if needed,
  * create the placeholder channels and grab the other channels 
  * make the channels compatible, send error if we fail doing so 
- * setup the bridge thread object and start the bridge. 
+ * setup the bridge thread object and start the bridge.
+ * 
  * \retval 0 on success or on incorrect use.
  * \retval 1 on failure to bridge channels.
 */
@@ -2528,6 +2549,7 @@
  * \param e 
  * \param cmd
  * \param a
+ *  
  * Check right usage, lock parking lot, display parked calls, unlock parking lot list.
  * \retval CLI_SUCCESS on success.
  * \retval CLI_SHOWUSAGE on incorrect number of arguements.
@@ -2592,6 +2614,7 @@
  * \brief Dump parking lot status
  * \param s
  * \param m
+ * 
  * Lock parking lot, iterate list and append parked calls status, unlock parking lot.
  * \return Always RESULT_SUCCESS 
 */
@@ -2646,6 +2669,7 @@
  * \brief Create manager event for parked calls
  * \param s
  * \param m
+ *
  * Get channels involved in park, create event.
  * \return Always 0
 */
@@ -2705,7 +2729,8 @@
 
 /*!
  * \brief Pickup a call
- * \param chan channel that initiated pickup
+ * \param chan channel that initiated pickup.
+ *
  * Walk list of channels, checking it is not itself, channel is pbx one,
  * check that the callgroup for both channels are the same and the channel is ringing.
  * Answer calling channel, flag channel as answered on queue, masq channels together.
@@ -3074,7 +3099,8 @@
 /*!
  * \brief Bridge channels
  * \param chan
- * \param data channel to bridge with
+ * \param data channel to bridge with.
+ * 
  * Split data, check we aren't bridging with ourself, check valid channel,
  * answer call if not already, check compatible channels, setup bridge config
  * now bridge call, if transfered party hangs up return to PBX extension.
Index: res/res_crypto.c
===================================================================
--- res/res_crypto.c	(revision 81491)
+++ res/res_crypto.c	(working copy)
@@ -102,16 +102,6 @@
  * \param userdata
  * \return length of string,-1 on failure
 */
-
-
-/*!
- * \brief setting of priv key
- * \param buf
- * \param size
- * \param rwflag
- * \param userdata
- * \return length of string,-1 on failure
-*/
 static int pw_cb(char *buf, int size, int rwflag, void *userdata)
 {
 	struct ast_key *key = (struct ast_key *)userdata;
@@ -293,10 +283,6 @@
  * \brief signs outgoing message with public key
  * \see ast_sign_bin
 */
-/*!
- * \brief signs outgoing message with public key
- * \see ast_sign_bin
-*/
 static int __ast_sign_bin(struct ast_key *key, const char *msg, int msglen, unsigned char *dsig)
 {
 	unsigned char digest[20];
