Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/account.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/account.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/account.hpp	(revision 4672)
@@ -29,18 +29,14 @@
 #include <pjsua2/siptypes.hpp>
 
+/** PJSUA2 API is inside pj namespace */
+namespace pj
+{
+
 /**
  * @defgroup PJSUA2_ACC Account
  * @ingroup PJSUA2_Ref
- */
-
-/**
- * @defgroup PJSUA2_Acc_Data_Structure Data Structure
- * @ingroup PJSUA2_Ref
  * @{
  */
 
-/** PJSUA2 API is inside pj namespace */
-namespace pj
-{
 using std::string;
 
@@ -91,5 +87,5 @@
      * See also \a firstRetryIntervalSec setting.
      *
-     * Default: #PJSUA_REG_RETRY_INTERVAL
+     * Default: PJSUA_REG_RETRY_INTERVAL
      */
     unsigned		retryIntervalSec;
@@ -263,5 +259,5 @@
     /**
      * Specify how to offer call hold to remote peer. Please see the
-     * documentation on #pjsua_call_hold_type for more info.
+     * documentation on pjsua_call_hold_type for more info.
      *
      * Default: PJSUA_CALL_HOLD_TYPE_DEFAULT
@@ -280,5 +276,5 @@
     /**
      * Specify the usage of Session Timers for all sessions. See the
-     * #pjsua_sip_timer_use for possible values.
+     * pjsua_sip_timer_use for possible values.
      *
      * Default: PJSUA_SIP_TIMER_OPTIONAL
@@ -677,5 +673,5 @@
     /**
      * Specify whether stream keep-alive and NAT hole punching with
-     * non-codec-VAD mechanism (see @ref PJMEDIA_STREAM_ENABLE_KA) is enabled
+     * non-codec-VAD mechanism (see PJMEDIA_STREAM_ENABLE_KA) is enabled
      * for this account.
      *
@@ -689,5 +685,5 @@
      * PJMEDIA_SRTP_MANDATORY.
      *
-     * Default: #PJSUA_DEFAULT_USE_SRTP
+     * Default: PJSUA_DEFAULT_USE_SRTP
      */
     pjmedia_srtp_use	srtpUse;
@@ -702,5 +698,5 @@
      *	2: SRTP requires secure end-to-end transport (SIPS)
      *
-     * Default: #PJSUA_DEFAULT_SRTP_SECURE_SIGNALING
+     * Default: PJSUA_DEFAULT_SRTP_SECURE_SIGNALING
      */
     int			srtpSecureSignaling;
@@ -739,8 +735,8 @@
      * Regardless of this setting, application can detect incoming video
      * by implementing \a on_call_media_state() callback and enumerating
-     * the media stream(s) with #pjsua_call_get_info(). Once incoming
+     * the media stream(s) with pjsua_call_get_info(). Once incoming
      * video is recognised, application may retrieve the window associated
      * with the incoming video and show or hide it with
-     * #pjsua_vid_win_set_show().
+     * pjsua_vid_win_set_show().
      *
      * Default: False
@@ -757,5 +753,5 @@
      *
      * Regardless of the value of this setting, application can start and
-     * stop outgoing video transmission with #pjsua_call_set_vid_strm().
+     * stop outgoing video transmission with pjsua_call_set_vid_strm().
      *
      * Default: False
@@ -765,5 +761,5 @@
     /**
      * Specify video window's flags. The value is a bitmask combination of
-     * #pjmedia_vid_dev_wnd_flag.
+     * pjmedia_vid_dev_wnd_flag.
      *
      * Default: 0
@@ -984,4 +980,5 @@
 
 public:
+    /** Import from pjsip data */
     void fromPj(const pjsua_acc_info &pai);
 };
@@ -1274,13 +1271,4 @@
 };
 
-/**
- * @}  // PJSUA2_Acc_Data_Structure
- */
-
-/**
- * @addtogroup PJSUA2_ACC
- * @{
- */
-
 
 /**
@@ -1315,7 +1303,8 @@
      * reregistration on the account.
      *
-     * @param cfg 		New account config to be applied to the account.
-     */
-    void modify(const AccountConfig &acc) throw(Error);
+     * @param cfg 		New account config to be applied to the
+     * 				account.
+     */
+    void modify(const AccountConfig &cfg) throw(Error);
 
     /**
@@ -1495,5 +1484,5 @@
      *	  parameter. In this case, the library will automatically send NOTIFY
      *	  request upon returning from this callback.
-     *  - it may delay the processing of the request, for example to request
+     *	- it may delay the processing of the request, for example to request
      *    user permission whether to accept or reject the request. In this
      *	  case, the application MUST set the IncomingSubscribeParam.code
@@ -1559,10 +1548,10 @@
 };
 
+/**
+ * @}  // PJSUA2_ACC
+ */
+
 } // namespace pj
 
-/**
- * @}  // PJSUA2_ACC
- */
-
 #endif	/* __PJSUA2_ACCOUNT_HPP__ */
 
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/call.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/call.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/call.hpp	(revision 4672)
@@ -27,4 +27,8 @@
 #include <pjsua2/media.hpp>
 
+/** PJSUA2 API is inside pj namespace */
+namespace pj
+{
+
 /**
  * @defgroup PJSUA2_CALL Call
@@ -33,12 +37,9 @@
 
 /**
- * @defgroup PJSUA2_Call_Data_Structure Data Structure
- * @ingroup PJSUA2_Ref
+ * @defgroup PJSUA2_Call_Data_Structure Call Related Types
+ * @ingroup PJSUA2_DS
  * @{
  */
 
-/** PJSUA2 API is inside pj namespace */
-namespace pj
-{
 using std::string;
 using std::vector;
@@ -308,5 +309,5 @@
 {
     /**
-     * Bitmask of #pjsua_call_flag constants.
+     * Bitmask of pjsua_call_flag constants.
      *
      * Default: PJSUA_CALL_INCLUDE_DISABLED_MEDIA
@@ -316,5 +317,5 @@
     /**
      * This flag controls what methods to request keyframe are allowed on
-     * the call. Value is bitmask of #pjsua_vid_req_keyframe_method.
+     * the call. Value is bitmask of pjsua_vid_req_keyframe_method.
      *
      * Default: PJSUA_VID_REQ_KEYFRAME_SIP_INFO |
@@ -622,5 +623,5 @@
 
 /**
- * This structure contains parameters for onCallState() callback.
+ * This structure contains parameters for Call::onCallState() callback.
  */
 struct OnCallStateParam
@@ -633,5 +634,5 @@
 
 /**
- * This structure contains parameters for onCallTsxState() callback.
+ * This structure contains parameters for Call::onCallTsxState() callback.
  */
 struct OnCallTsxStateParam
@@ -644,5 +645,5 @@
 
 /**
- * This structure contains parameters for onCallMediaState() callback.
+ * This structure contains parameters for Call::onCallMediaState() callback.
  */
 struct OnCallMediaStateParam
@@ -651,5 +652,5 @@
 
 /**
- * This structure contains parameters for onCallSdpCreated() callback.
+ * This structure contains parameters for Call::onCallSdpCreated() callback.
  */
 struct OnCallSdpCreatedParam
@@ -667,5 +668,6 @@
 
 /**
- * This structure contains parameters for onStreamCreated() callback.
+ * This structure contains parameters for Call::onStreamCreated()
+ * callback.
  */
 struct OnStreamCreatedParam
@@ -690,5 +692,6 @@
 
 /**
- * This structure contains parameters for onStreamDestroyed() callback.
+ * This structure contains parameters for Call::onStreamDestroyed()
+ * callback.
  */
 struct OnStreamDestroyedParam
@@ -706,5 +709,6 @@
 
 /**
- * This structure contains parameters for onDtmfDigit() callback.
+ * This structure contains parameters for Call::onDtmfDigit()
+ * callback.
  */
 struct OnDtmfDigitParam
@@ -717,5 +721,6 @@
 
 /**
- * This structure contains parameters for onCallTransferRequest() callback.
+ * This structure contains parameters for Call::onCallTransferRequest()
+ * callback.
  */
 struct OnCallTransferRequestParam
@@ -740,5 +745,6 @@
 
 /**
- * This structure contains parameters for onCallTransferStatus() callback.
+ * This structure contains parameters for Call::onCallTransferStatus()
+ * callback.
  */
 struct OnCallTransferStatusParam
@@ -769,5 +775,6 @@
 
 /**
- * This structure contains parameters for onCallReplaceRequest() callback.
+ * This structure contains parameters for Call::onCallReplaceRequest()
+ * callback.
  */
 struct OnCallReplaceRequestParam
@@ -797,5 +804,5 @@
 
 /**
- * This structure contains parameters for onCallReplaced() callback.
+ * This structure contains parameters for Call::onCallReplaced() callback.
  */
 struct OnCallReplacedParam
@@ -808,5 +815,5 @@
 
 /**
- * This structure contains parameters for onCallRxOffer() callback.
+ * This structure contains parameters for Call::onCallRxOffer() callback.
  */
 struct OnCallRxOfferParam
@@ -831,4 +838,7 @@
 };
 
+/**
+ * This structure contains parameters for Call::onCallRedirected() callback.
+ */
 struct OnCallRedirectedParam
 {
@@ -843,5 +853,5 @@
      * received for the INVITE sent to subsequent targets, or empty
      * (e.type == PJSIP_EVENT_UNKNOWN)
-     * if this callback is called from within #Call::processRedirect()
+     * if this callback is called from within Call::processRedirect()
      * context.
      */
@@ -850,5 +860,5 @@
 
 /**
- * This structure contains parameters for onCallMediaEvent() callback.
+ * This structure contains parameters for Call::onCallMediaEvent() callback.
  */
 struct OnCallMediaEventParam
@@ -866,5 +876,6 @@
 
 /**
- * This structure contains parameters for onCallMediaTransportState() callback.
+ * This structure contains parameters for Call::onCallMediaTransportState()
+ * callback.
  */
 struct OnCallMediaTransportStateParam
@@ -892,5 +903,6 @@
 
 /**
- * This structure contains parameters for onCreateMediaTransport() callback.
+ * This structure contains parameters for Call::onCreateMediaTransport()
+ * callback.
  */
 struct OnCreateMediaTransportParam
@@ -1093,5 +1105,5 @@
      * Get media for the specified media index.
      *
-     * @psaram med_idx      Media index.
+     * @param med_idx       Media index.
      *
      * @return              The media or NULL if invalid or inactive.
@@ -1118,5 +1130,5 @@
      * @return              PJSIP_DIALOG_CAP_SUPPORTED if the specified
      *                      capability is explicitly supported, see
-     *                      @pjsip_dialog_cap_status for more info.
+     *                      pjsip_dialog_cap_status for more info.
      */
     pjsip_dialog_cap_status remoteHasCap(int htype,
@@ -1126,5 +1138,5 @@
     /**
      * Attach application specific data to the call. Application can then
-     * inspect this data by calling #Call::getUserData().
+     * inspect this data by calling getUserData().
      *
      * @param user_data     Arbitrary data to be attached to the call.
@@ -1134,5 +1146,5 @@
     /**
      * Get user data attached to the call, which has been previously set with
-     * #Call::setUserData().
+     * setUserData().
      *
      * @return              The user data.
@@ -1143,5 +1155,5 @@
      * Get the NAT type of remote's endpoint. This is a proprietary feature
      * of PJSUA-LIB which sends its NAT type in the SDP when \a natTypeInSdp
-     * is set in #UaConfig.
+     * is set in UaConfig.
      *
      * This function can only be called after SDP has been received from remote,
@@ -1180,9 +1192,8 @@
      *  - if no call setting is supplied when SDP has to be sent, i.e: answer
      *    with status code 183 or 2xx, the default call setting will be used,
-     *    check #CallSetting for its default values.
+     *    check CallSetting for its default values.
      *
      * @param prm.opt       Optional call setting.
-     * @param prm.statusCode    
-     *                      Status code, (100-699).
+     * @param prm.statusCode   Status code, (100-699).
      * @param prm.reason    Optional reason phrase. If empty, default text
      *                      will be used.
@@ -1197,7 +1208,7 @@
      * Hangup call by using method that is appropriate according to the
      * call state. This function is different than answering the call with
-     * 3xx-6xx response (with #Call::answer()), in that this function
+     * 3xx-6xx response (with answer()), in that this function
      * will hangup the call regardless of the state and role of the call,
-     * while #Call::answer() only works with incoming calls on EARLY
+     * while answer() only works with incoming calls on EARLY
      * state.
      *
@@ -1395,7 +1406,7 @@
      *
      * @param op            The video stream operation to be performed,
-     *                      possible values are #pjsua_call_vid_strm_op.
+     *                      possible values are pjsua_call_vid_strm_op.
      * @param param         The parameters for the video stream operation
-     *                      (see #CallVidSetStreamParam).
+     *                      (see CallVidSetStreamParam).
      */
     void vidSetStream(pjsua_call_vid_strm_op op,
@@ -1447,5 +1458,5 @@
      * Notify application when call state has changed.
      * Application may then query the call info to get the
-     * detail call states by calling Call::getInfo() function.
+     * detail call states by calling getInfo() function.
      *
      * @param prm	Callback parameter.
@@ -1639,5 +1650,5 @@
      *			  no decision can be made immediately (for example
      *			  to request confirmation from user). Application
-     *			  then MUST call #Call::processRedirect()
+     *			  then MUST call processRedirect()
      *			  to either accept or reject the redirection upon
      *			  getting user decision.
@@ -1693,10 +1704,10 @@
 };
 
+/**
+ * @}  // PJSUA2_CALL
+ */
+
 } // namespace pj
 
-/**
- * @}  // PJSUA2_CALL
- */
-
 #endif	/* __PJSUA2_CALL_HPP__ */
 
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/config.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/config.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/config.hpp	(revision 4672)
@@ -21,5 +21,5 @@
 
 /**
- * @file pjsua2/ua.hpp
+ * @file pjsua2/config.hpp
  * @brief PJSUA2 Base Agent Operation
  */
@@ -28,5 +28,5 @@
 /**
  * @defgroup PJSUA2_CFG_Compile Compile time settings
- * @ingroup PJSUA2_Ref
+ * @ingroup PJSUA2_DS
  * @{
  */
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/doxygen.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/doxygen.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/doxygen.hpp	(revision 4672)
@@ -26,24 +26,22 @@
 
 /**
- * @defgroup PJSUA2 PJSUA2: High Level Object Oriented PJSUA API
- * @{
- * The PJSUA2 API is a new, high-level, object-oriented API that is built
- * on top of PJSUA-LIB API. The PJSUA2 API is implemented with C++ and
- * can be used from other high level languages such as Java and Python.
- * Thanks to <A HREF="http://www.swig.org">SWIG</A>, the API can potentially
- * be used in other high level or scripting languages where SWIG binding is
- * available, such as C#, Perl, PHP, Ruby, and Tcl.
- *
- * This page mostly contains the reference documentation of the API. For
- * more guide on the API, please see the PJSUA2 wiki page:
- * http://trac.pjsip.org/repos/wiki/pjsua2_API
- * @}
+@mainpage pjsua2 API
+
+This documentation contains the API Reference for pjsua2. Please
+go to <b>Modules</b> section above for navigation.
+
+For more info regarding pjsua2, including some tutorials, please
+see The PJSIP Book.
+*/
+
+
+/**
+ * @defgroup PJSUA2_Ref pjsua2 API Reference
  */
 
 /**
- * @defgroup PJSUA2_Ref API Reference
- * @ingroup PJSUA2
+ * @defgroup PJSUA2_DS Data Structure
+ * @ingroup PJSUA2_Ref
  */
-
 
 
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/endpoint.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/endpoint.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/endpoint.hpp	(revision 4672)
@@ -21,5 +21,5 @@
 
 /**
- * @file pjsua2/ua.hpp
+ * @file pjsua2/endpoint.hpp
  * @brief PJSUA2 Base Agent Operation
  */
@@ -33,5 +33,5 @@
 
 /**
- * @defgroup PJSUA2_UA Base Endpoint Operations
+ * @defgroup PJSUA2_UA Endpoint
  * @ingroup PJSUA2_Ref
  * @{
@@ -163,5 +163,7 @@
 
 //////////////////////////////////////////////////////////////////////////////
-
+/**
+ * SIP User Agent related settings.
+ */
 struct UaConfig : public PersistentObject
 {
@@ -213,5 +215,5 @@
      *
      * When nameserver is not configured, entries will be resolved with
-     * #pj_gethostbyname() if it's not an IP address. Port number may be
+     * pj_gethostbyname() if it's not an IP address. Port number may be
      * specified if the server is not listening in standard STUN port.
      */
@@ -343,5 +345,5 @@
 
     /**
-     * Additional flags to be given to #pj_file_open() when opening
+     * Additional flags to be given to pj_file_open() when opening
      * the log file. By default, the flag is PJ_O_WRONLY. Application
      * may set PJ_O_APPEND here so that logs are appended to existing
@@ -499,5 +501,5 @@
 
     /**
-     * Echo canceller options (see #pjmedia_echo_create())
+     * Echo canceller options (see pjmedia_echo_create())
      *
      * Default: 0.
@@ -791,5 +793,5 @@
     /**
      * Schedule a timer with the specified interval and user data. When the
-     * interval elapsed, Endpoint::onTimer() callback will be
+     * interval elapsed, onTimer() callback will be
      * called. Note that the callback may be executed by different thread,
      * depending on whether worker thread is enabled or not.
@@ -811,5 +813,5 @@
      * 				previous utilTimerSchedule() call.
      */
-    void utilTimerCancel(Token prmTimerToken);
+    void utilTimerCancel(Token prmToken);
 
     /**
@@ -824,9 +826,9 @@
      * This is a utility function to detect NAT type in front of this endpoint.
      * Once invoked successfully, this function will complete asynchronously
-     * and report the result in Endpoint::onNatDetectionComplete().
+     * and report the result in onNatDetectionComplete().
      *
      * After NAT has been detected and the callback is called, application can
-     * get the detected NAT type by calling #natGetType(). Application
-     * can also perform NAT detection by calling #natDetectType()
+     * get the detected NAT type by calling natGetType(). Application
+     * can also perform NAT detection by calling natDetectType()
      * again at later time.
      *
@@ -836,7 +838,7 @@
 
     /**
-     * Get the NAT type as detected by #natDetectType() function. This
-     * function will only return useful NAT type after #natDetectType()
-     * has completed successfully and Endpoint::onNatDetectionComplete()
+     * Get the NAT type as detected by natDetectType() function. This
+     * function will only return useful NAT type after natDetectType()
+     * has completed successfully and onNatDetectionComplete()
      * callback has been called.
      *
@@ -848,5 +850,5 @@
     /**
      * Auxiliary function to resolve and contact each of the STUN server
-     * entries (sequentially) to find which is usable. The #pjsua_init() must
+     * entries (sequentially) to find which is usable. The libInit() must
      * have been called before calling this function.
      *
@@ -966,5 +968,5 @@
      * @param media	media to be added.
      */
-    void addMedia(AudioMedia &media);
+    void mediaAdd(AudioMedia &media);
 
     /**
@@ -973,5 +975,5 @@
      * @param media	media to be removed.
      */
-    void removeMedia(AudioMedia &media);
+    void mediaRemove(AudioMedia &media);
 
     /**
@@ -1005,4 +1007,9 @@
     const AudioMediaVector &mediaEnumPorts() const throw(Error);
 
+    /**
+     * Get the instance of Audio Device Manager.
+     *
+     * @return		The Audio Device Manager.
+     */
     AudDevManager &audDevManager();
 
@@ -1060,5 +1067,5 @@
     /**
      * Callback when the Endpoint has finished performing NAT type
-     * detection that is initiated with Endpoint::natDetectType().
+     * detection that is initiated with natDetectType().
      *
      * @param prm	Callback parameters containing the detection
@@ -1071,5 +1078,5 @@
     /**
      * Callback when the Endpoint has finished performing STUN server
-     * checking that is initiated with Endpoint::natCheckStunServers().
+     * checking that is initiated with natCheckStunServers().
      *
      * @param prm	Callback parameters.
@@ -1090,5 +1097,5 @@
     /**
      * Callback when a timer has fired. The timer was scheduled by
-     * Endpoint::utilTimerSchedule().
+     * utilTimerSchedule().
      *
      * @param prm	Callback parameters.
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/json.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/json.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/json.hpp	(revision 4672)
@@ -29,4 +29,8 @@
 #include <string>
 
+/** PJSUA2 API is inside pj namespace */
+namespace pj
+{
+
 /**
  * @defgroup PJSUA2_JSON JSON Persistent Support
@@ -36,10 +40,9 @@
  */
 
-/** PJSUA2 API is inside pj namespace */
-namespace pj
-{
 using std::string;
 
-
+/**
+ * Persistent document (file) with JSON format.
+ */
 class JsonDocument : public PersistentDocument
 {
@@ -104,10 +107,9 @@
 
 
-} // namespace pj
-
 /**
  * @}  PJSUA2
  */
 
+} // namespace pj
 
 
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/media.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/media.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/media.hpp	(revision 4672)
@@ -28,4 +28,8 @@
 #include <pjsua2/types.hpp>
 
+/** PJSUA2 API is inside pj namespace */
+namespace pj
+{
+
 /**
  * @defgroup PJSUA2_MED Media
@@ -34,7 +38,4 @@
  */
 
-/** PJSUA2 API is inside pj namespace */
-namespace pj
-{
 using std::string;
 using std::vector;
@@ -488,5 +489,5 @@
      * function at any time to replace current sound device.
      *
-     * @param capture dev   	Device ID of the capture device.
+     * @param capture_dev   	Device ID of the capture device.
      */
     void setCaptureDev(int capture_dev) const throw(Error);
@@ -1093,9 +1094,10 @@
 typedef void *CodecParam;
 
+
+/**
+ * @}  // PJSUA2_MED
+ */
+
 } // namespace pj
 
-/**
- * @}  // PJSUA2_MED
- */
-
 #endif	/* __PJSUA2_MEDIA_HPP__ */
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/persistent.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/persistent.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/persistent.hpp	(revision 4672)
@@ -28,4 +28,8 @@
 #include <string>
 #include <vector>
+
+/** PJSUA2 API is inside pj namespace */
+namespace pj
+{
 
 /**
@@ -41,7 +45,4 @@
  */
 
-/** PJSUA2 API is inside pj namespace */
-namespace pj
-{
 using std::string;
 using std::vector;
@@ -262,5 +263,5 @@
      *
      * @param name	The name for the value in the container.
-     * @param value	The value to be written.
+     * @param num	The value to be written.
      */
     void		writeNumber(const string &name,
@@ -271,5 +272,5 @@
      *
      * @param name	The name for the value in the container.
-     * @param value	The value to be written.
+     * @param num	The value to be written.
      */
     void		writeInt(const string &name,
@@ -298,8 +299,8 @@
      *
      * @param name	The name for the value in the container.
-     * @param array	The vector to be written.
+     * @param arr	The vector to be written.
      */
     void		writeStringVector(const string &name,
-        		                  const StringVector &value)
+        		                  const StringVector &arr)
 					  throw(Error);
 
@@ -348,7 +349,7 @@
 struct container_node_internal_data
 {
-    void	*doc;
-    void	*data1;
-    void	*data2;
+    void	*doc;		/**< The document.	*/
+    void	*data1;		/**< Internal data 1	*/
+    void	*data2;		/**< Internal data 2	*/
 };
 
@@ -524,5 +525,5 @@
      *
      * @param name	The name for the value in the container.
-     * @param value	The value to be written.
+     * @param num	The value to be written.
      */
     void		writeNumber(const string &name,
@@ -533,5 +534,5 @@
      *
      * @param name	The name for the value in the container.
-     * @param value	The value to be written.
+     * @param num	The value to be written.
      */
     void		writeInt(const string &name,
@@ -560,8 +561,8 @@
      *
      * @param name	The name for the value in the container.
-     * @param array	The vector to be written.
+     * @param arr	The vector to be written.
      */
     void		writeStringVector(const string &name,
-        		                  const StringVector &value)
+        		                  const StringVector &arr)
 					  throw(Error);
 
@@ -598,6 +599,6 @@
 public:
     /* internal data */
-    container_node_op *op;
-    container_node_internal_data data;
+    container_node_op *op;		/**< Method table.	*/
+    container_node_internal_data data;	/**< Internal data	*/
 };
 
@@ -607,4 +608,5 @@
  * implementation notes for more info.
  */
+//! @cond Doxygen_Suppress
 struct container_node_op
 {
@@ -652,7 +654,5 @@
 				         const string &name)
 					 throw(Error);
-
 };
-
 
 /*
@@ -677,11 +677,12 @@
 #define NODE_WRITE_OBJ(node,item)	node.writeObject(item)
 
+//! @endcond
+
+/**
+ * @}  PJSUA2
+ */
 
 } // namespace pj
 
-/**
- * @}  PJSUA2
- */
-
 
 
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/presence.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/presence.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/presence.hpp	(revision 4672)
@@ -27,4 +27,8 @@
 #include <pjsua2/siptypes.hpp>
 
+/** PJSUA2 API is inside pj namespace */
+namespace pj
+{
+
 /**
  * @defgroup PJSUA2_PRES Presence
@@ -33,7 +37,4 @@
  */
 
-/** PJSUA2 API is inside pj namespace */
-namespace pj
-{
 using std::string;
 using std::vector;
@@ -170,4 +171,5 @@
     
 public:
+    /** Import from pjsip structure */
     void fromPj(const pjsua_buddy_info &pbi);
 };
@@ -286,9 +288,9 @@
 
 
+/**
+ * @}  // PJSUA2_PRES
+ */
+
 } // namespace pj
 
-/**
- * @}  // PJSUA2_PRES
- */
-
 #endif	/* __PJSUA2_PRESENCE_HPP__ */
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/siptypes.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/siptypes.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/siptypes.hpp	(revision 4672)
@@ -30,10 +30,4 @@
 #include <vector>
 
-/**
- * @defgroup PJSUA2_TYPES Data structure
- * @ingroup PJSUA2_Ref
- * @{
- */
-
 /** PJSUA2 API is inside pj namespace */
 namespace pj
@@ -41,4 +35,10 @@
 
 /**
+ * @defgroup PJSUA2_SIP_Types SIP Types
+ * @ingroup PJSUA2_DS
+ * @{
+ */
+
+/**
  * Credential information. Credential contains information to authenticate
  * against a service.
@@ -75,7 +75,7 @@
     /*
      * Digest AKA credential information. Note that when AKA credential
-     * is being used, the \a data field of this #pjsip_cred_info is
+     * is being used, the \a data field of this pjsip_cred_info is
      * not used, but it still must be initialized to an empty string.
-     * Please see \ref PJSIP_AUTH_AKA_API for more information.
+     * Please see PJSIP_AUTH_AKA_API for more information.
      */
 
@@ -146,5 +146,5 @@
 
     /**
-     * TLS protocol method from #pjsip_ssl_method.
+     * TLS protocol method from pjsip_ssl_method.
      *
      * Default is PJSIP_SSL_UNSPECIFIED_METHOD (0), which in turn will
@@ -166,5 +166,5 @@
      * verification result:
      * - If \a verifyServer is disabled, TLS transport will just notify
-     *   the application via #pjsip_tp_state_callback with state
+     *   the application via pjsip_tp_state_callback with state
      *   PJSIP_TP_STATE_CONNECTED regardless TLS verification result.
      * - If \a verifyServer is enabled, TLS transport will be shutdown
@@ -173,5 +173,5 @@
      *   error, otherwise PJSIP_TP_STATE_CONNECTED will be notified.
      *
-     * In any cases, application can inspect #pjsip_tls_state_info in the
+     * In any cases, application can inspect pjsip_tls_state_info in the
      * callback to see the verification detail.
      *
@@ -184,5 +184,5 @@
      * verification result:
      * - If \a verifyClient is disabled, TLS transport will just notify
-     *   the application via #pjsip_tp_state_callback with state
+     *   the application via pjsip_tp_state_callback with state
      *   PJSIP_TP_STATE_CONNECTED regardless TLS verification result.
      * - If \a verifyClient is enabled, TLS transport will be shutdown
@@ -191,5 +191,5 @@
      *   error, otherwise PJSIP_TP_STATE_CONNECTED will be notified.
      *
-     * In any cases, application can inspect #pjsip_tls_state_info in the
+     * In any cases, application can inspect pjsip_tls_state_info in the
      * callback to see the verification detail.
      *
@@ -382,5 +382,5 @@
     string		    info;
 
-    /** Transport flags (see #pjsip_transport_flags_e). */
+    /** Transport flags (see pjsip_transport_flags_e). */
     unsigned		    flags;
 
@@ -860,4 +860,5 @@
 /* Utilities */
 #ifndef SWIG
+//! @cond Doxygen_Suppress
 void readIntVector( ContainerNode &node,
                     const string &array_name,
@@ -876,12 +877,13 @@
                      const string &array_name,
                      const SipHeaderVector &headers) throw(Error);
+//! @endcond
 #endif // SWIG
 
+/**
+ * @}  PJSUA2
+ */
+
 } // namespace pj
 
-/**
- * @}  PJSUA2
- */
-
 
 
Index: pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/types.hpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/types.hpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/include/pjsua2/types.hpp	(revision 4672)
@@ -34,13 +34,14 @@
 #include <vector>
 
-/**
- * @defgroup PJSUA2_TYPES Data structure
- * @ingroup PJSUA2_Ref
- * @{
- */
-
 /** PJSUA2 API is inside pj namespace */
 namespace pj
 {
+
+/**
+ * @defgroup PJSUA2_TYPES General Data Structure
+ * @ingroup PJSUA2_DS
+ * @{
+ */
+
 using std::string;
 using std::vector;
@@ -165,10 +166,13 @@
 
 #else
+    /** Raise Error exception */
 #   define PJSUA2_RAISE_ERROR(status)		\
 	PJSUA2_RAISE_ERROR2(status, string())
 
+/** Raise Error exception */
 #   define PJSUA2_RAISE_ERROR2(status,op)	\
 	PJSUA2_RAISE_ERROR3(status, op, string())
 
+/** Raise Error exception */
 #   define PJSUA2_RAISE_ERROR3(status,op,txt)	\
 	do { \
@@ -180,4 +184,5 @@
 #endif
 
+/** Raise Error exception if the expression fails */
 #define PJSUA2_CHECK_RAISE_ERROR2(status, op)	\
 	do { \
@@ -187,7 +192,9 @@
 	} while (0)
 
+/** Raise Error exception if the status fails */
 #define PJSUA2_CHECK_RAISE_ERROR(status)	\
 	PJSUA2_CHECK_RAISE_ERROR2(status, "")
 
+/** Raise Error exception if the expression fails */
 #define PJSUA2_CHECK_EXPR(expr)			\
 	do { \
@@ -197,5 +204,7 @@
 
 //////////////////////////////////////////////////////////////////////////////
-
+/**
+ * Version information.
+ */
 struct Version
 {
@@ -247,10 +256,10 @@
 };
 
+/**
+ * @}  PJSUA2
+ */
+
 } // namespace pj
 
-/**
- * @}  PJSUA2
- */
-
 
 
Index: pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/call.cpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/call.cpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/call.cpp	(revision 4672)
@@ -685,7 +685,7 @@
                 if (pj_ci.media[mi].stream.aud.conf_slot != PJSUA_INVALID_ID)
                 {
-                    Endpoint::instance().addMedia((AudioMedia &)*aud_med);
+                    Endpoint::instance().mediaAdd((AudioMedia &)*aud_med);
                 } else {
-                    Endpoint::instance().removeMedia((AudioMedia &)*aud_med);
+                    Endpoint::instance().mediaRemove((AudioMedia &)*aud_med);
                 }
             }
Index: pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/endpoint.cpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/endpoint.cpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/endpoint.cpp	(revision 4672)
@@ -1367,5 +1367,5 @@
 }
 
-void Endpoint::addMedia(AudioMedia &media)
+void Endpoint::mediaAdd(AudioMedia &media)
 {
     if (mediaExists(media))
@@ -1375,5 +1375,5 @@
 }
 
-void Endpoint::removeMedia(AudioMedia &media)
+void Endpoint::mediaRemove(AudioMedia &media)
 {
     AudioMediaVector::iterator it = std::find(mediaList.begin(),
Index: pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/media.cpp
===================================================================
--- pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/media.cpp	(revision 4671)
+++ pjproject/branches/projects/pjsua2/pjsip/src/pjsua2/media.cpp	(revision 4672)
@@ -146,5 +146,5 @@
     }
 
-    Endpoint::instance().addMedia(*this);
+    Endpoint::instance().mediaAdd(*this);
 }
 
@@ -162,5 +162,5 @@
     id = PJSUA_INVALID_ID;
 
-    Endpoint::instance().removeMedia(*this);
+    Endpoint::instance().mediaRemove(*this);
 }
 
