Index: pjproject/trunk/pjsip/include/pjsip/sip_msg.h
===================================================================
--- pjproject/trunk/pjsip/include/pjsip/sip_msg.h	(revision 266)
+++ pjproject/trunk/pjsip/include/pjsip/sip_msg.h	(revision 515)
@@ -21,5 +21,5 @@
 
 /**
- * @file sip_msg.h
+ * @file pjsip/sip_msg.h
  * @brief SIP Message Structure.
  */
@@ -32,6 +32,7 @@
 
 /**
- * @defgroup PJSIP_MSG SIP Message Structure
- * @ingroup PJSIP
+ * @defgroup PJSIP_MSG Messaging Elements
+ * @ingroup PJSIP_CORE
+ * @brief Various SIP message elements such as methods, headers, URIs, etc.
  * @{
  */
@@ -155,6 +156,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 /** 
- * @defgroup PJSIP_MSG_HDR Header Fields General Structure.
- * @brief General Header Fields Structure.
+ * @defgroup PJSIP_MSG_HDR Header Fields
+ * @brief Declarations for various SIP header fields.
  * @ingroup PJSIP_MSG
  * @{
@@ -462,6 +463,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 /**
- * @addtogroup PJSIP_MSG_MEDIA Media Type
- * @brief Media type definitions and manipulations.
+ * @addtogroup PJSIP_MSG_MEDIA Media/MIME Type
+ * @brief Media/MIME type declaration and manipulations.
  * @ingroup PJSIP_MSG
  * @{
@@ -655,5 +656,5 @@
 /**
  * @defgroup PJSIP_MSG_MSG Message Structure
- * @brief Message structure and operations.
+ * @brief SIP message (request and response) structure and operations.
  * @ingroup PJSIP_MSG
  * @{
@@ -846,7 +847,5 @@
 ///////////////////////////////////////////////////////////////////////////////
 /**
- * @addtogroup PJSIP_MSG_HDR_GEN Header Field: Generic
- * @brief Generic header field which contains header name and value.
- * @ingroup PJSIP_MSG
+ * @addtogroup PJSIP_MSG_HDR
  * @{
  */
@@ -905,15 +904,6 @@
 
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @addtogroup PJSIP_MSG_HDR_GEN_INT Header Field: Generic Integer
- * @brief Generic header field which contains header name and value.
- * @ingroup PJSIP_MSG
- * @{
- */
+
+///////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -965,24 +955,23 @@
 							    int value );
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_GENERIC_LIST Header Field: Generic string list.
- * @brief Header with list of strings separated with comma
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
 
 /** Maximum elements in the header array. */
 #define PJSIP_GENERIC_ARRAY_MAX_COUNT	32
 
+/**
+ * Generic array of string header.
+ */
 typedef struct pjsip_generic_array_hdr
 {
+    /** Standard header fields. */
     PJSIP_DECL_HDR_MEMBER(struct pjsip_generic_array_hdr);
-    unsigned	count;					/**< Number of elements. */
-    pj_str_t	values[PJSIP_GENERIC_ARRAY_MAX_COUNT];	/**< Elements.		 */
+
+    /** Number of tags/elements. */
+    unsigned	count;
+
+    /**< Tags/elements. */
+    pj_str_t	values[PJSIP_GENERIC_ARRAY_MAX_COUNT];
+
 } pjsip_generic_array_hdr;
 
@@ -1019,15 +1008,6 @@
 
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_ACCEPT Header Field: Accept
- * @brief Accept header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
+
 /** Accept header. */
 typedef pjsip_generic_array_hdr pjsip_accept_hdr;
@@ -1062,14 +1042,9 @@
 						  void *mem );
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_ALLOW Header Field: Allow
- * @brief Allow header field.
- * @ingroup PJSIP_MSG
- * @{
+
+///////////////////////////////////////////////////////////////////////////////
+
+/**
+ * Allow header.
  */
 typedef pjsip_generic_array_hdr pjsip_allow_hdr;
@@ -1103,15 +1078,6 @@
 						void *mem );
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_CID Header Field: Call-ID
- * @brief Call-ID header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
+
 /**
  * Call-ID header.
@@ -1152,15 +1118,6 @@
 
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_CLEN Header Field: Content-Length
- * @brief Content-Length header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+
+///////////////////////////////////////////////////////////////////////////////
 /**
  * Content-Length header.
@@ -1198,15 +1155,5 @@
 
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_CSEQ Header Field: CSeq
- * @brief CSeq header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
 /**
  * CSeq header.
@@ -1244,15 +1191,5 @@
 					      void *mem );
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_CONTACT Header Field: Contact
- * @brief Contact header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
 /**
  * Contact header.
@@ -1297,15 +1234,6 @@
 						    void *mem );
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_CTYPE Header Field: Content-Type
- * @brief Content-Type header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+
+///////////////////////////////////////////////////////////////////////////////
 /**
  * Content-Type.
@@ -1343,15 +1271,5 @@
 						void *mem );
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_EXPIRES Header Field: Expires
- * @brief Expires header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
 /** Expires header. */
 typedef pjsip_generic_int_hdr pjsip_expires_hdr;
@@ -1388,15 +1306,6 @@
 
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_FROMTO Header Field: From/To
- * @brief From and To header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+
+///////////////////////////////////////////////////////////////////////////////
 /**
  * To or From header.
@@ -1469,6 +1378,6 @@
  * Convert the header to a From header.
  *
- * @param pool	The pool.
- * @return	"From" header.
+ * @param hdr	    The generic from/to header.
+ * @return	    "From" header.
  */
 PJ_DECL(pjsip_from_hdr*) pjsip_fromto_hdr_set_from( pjsip_fromto_hdr *hdr );
@@ -1477,20 +1386,13 @@
  * Convert the header to a To header.
  *
- * @param pool	The pool.
- * @return	"To" header.
+ * @param hdr	    The generic from/to header.
+ * @return	    "To" header.
  */
 PJ_DECL(pjsip_to_hdr*)   pjsip_fromto_hdr_set_to( pjsip_fromto_hdr *hdr );
 
-/**
- * @}
- */
-
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_MAX_FORWARDS Header Field: Max-Forwards
- * @brief Max-Forwards header field.
- * @ingroup PJSIP_MSG
- * @{
+
+///////////////////////////////////////////////////////////////////////////////
+/**
+ * Max-Forwards header.
  */
 typedef pjsip_generic_int_hdr pjsip_max_fwd_hdr;
@@ -1526,15 +1428,8 @@
 pjsip_max_fwd_hdr_init( pj_pool_t *pool, void *mem, int value );
 
-/**
- * @}
- */
-
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_MIN_EXPIRES Header Field: Min-Expires
- * @brief Min-Expires header field.
- * @ingroup PJSIP_MSG
- * @{
+
+///////////////////////////////////////////////////////////////////////////////
+/**
+ * Min-Expires header.
  */
 typedef pjsip_generic_int_hdr pjsip_min_expires_hdr;
@@ -1571,16 +1466,6 @@
 							    int value );
 
-/**
- * @}
- */
-
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_ROUTING Header Field: Record-Route/Route
- * @brief Record-Route and Route header fields.
- * @ingroup PJSIP_MSG
- * @{
- */
+
+///////////////////////////////////////////////////////////////////////////////
 /**
  * Record-Route and Route headers.
@@ -1590,5 +1475,5 @@
     PJSIP_DECL_HDR_MEMBER(struct pjsip_routing_hdr);  /**< Generic header fields. */
     pjsip_name_addr  name_addr;	  /**< The URL in the Route/Record-Route header. */
-    pjsip_param	     other_param; /** Other parameter. */
+    pjsip_param	     other_param; /**< Other parameter. */
 } pjsip_routing_hdr;
 
@@ -1666,14 +1551,7 @@
 PJ_DECL(pjsip_route_hdr*)   pjsip_routing_hdr_set_route( pjsip_routing_hdr *r );
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_REQUIRE Header Field: Require
- * @brief Require header field.
- * @ingroup PJSIP_MSG
- * @{
+///////////////////////////////////////////////////////////////////////////////
+/**
+ * Require header.
  */
 typedef pjsip_generic_array_hdr pjsip_require_hdr;
@@ -1705,15 +1583,8 @@
 						    void *mem );
 
-/**
- * @}
- */
-
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_RETRY_AFTER Header Field: Retry-After
- * @brief Retry-After header field.
- * @ingroup PJSIP_MSG
- * @{
+
+///////////////////////////////////////////////////////////////////////////////
+/**
+ * Retry-After header.
  */
 typedef pjsip_generic_int_hdr pjsip_retry_after_hdr;
@@ -1745,14 +1616,7 @@
 
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_SUPPORTED Header Field: Supported
- * @brief Supported header field.
- * @ingroup PJSIP_MSG
- * @{
+///////////////////////////////////////////////////////////////////////////////
+/**
+ * Supported header.
  */
 typedef pjsip_generic_array_hdr pjsip_supported_hdr;
@@ -1779,14 +1643,7 @@
 							void *mem );
 
-/**
- * @}
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_UNSUPPORTED Header Field: Unsupported
- * @brief Unsupported header field.
- * @ingroup PJSIP_MSG
- * @{
+///////////////////////////////////////////////////////////////////////////////
+/**
+ * Unsupported header.
  */
 typedef pjsip_generic_array_hdr pjsip_unsupported_hdr;
@@ -1813,16 +1670,5 @@
 							    void *mem );
 
-/**
- * @}
- */
-
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_VIA Header Field: Via
- * @brief Via header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
 /**
  * SIP Via header.
@@ -1866,16 +1712,5 @@
 					    void *mem );
 
-/**
- * @}
- */
-
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_WARNING Header Field: Warning
- * @brief Warning header field.
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
 /**
  * SIP Warning header.
@@ -1918,23 +1753,5 @@
 				      pj_status_t status);
 
-/**
- * @}
- */
-
-/**
- * @bug Once a header is put in the message, the header CAN NOT be put in
- *      other list. Solution:
- *	- always clone header in the message.
- *	- create a list node for each header in the message.
- */
-
-
-///////////////////////////////////////////////////////////////////////////////
-/**
- * @defgroup PJSIP_MSG_HDR_UNIMP Unimplemented Header Fields
- * @brief Unimplemented header fields.
- * @ingroup PJSIP_MSG
- * @{
- */
+///////////////////////////////////////////////////////////////////////////////
 /** Accept-Encoding header. */
 typedef pjsip_generic_string_hdr pjsip_accept_encoding_hdr;
