diff --git a/libs/libiax2/src/iax2.h b/libs/libiax2/src/iax2.h
index 7d47127f0856232647059d3f43956c7cefcaa128..1be78757a457975f31b9c02e81fdf86935289a4e 100644
--- a/libs/libiax2/src/iax2.h
+++ b/libs/libiax2/src/iax2.h
@@ -158,57 +158,57 @@
 
 /* Full frames are always delivered reliably */
 struct ast_iax2_full_hdr {
-	unsigned short scallno;	/** Source call number -- high bit must be 1 */
-	unsigned short dcallno;	/** Destination call number -- high bit is 1 if retransmission */
-	unsigned int ts;		/** 32-bit timestamp in milliseconds (from 1st transmission) */
-	unsigned char oseqno;	/** Packet number (outgoing) */
-	unsigned char iseqno;	/** Packet number (next incoming expected) */
-	char type;				/** Frame type */
-	unsigned char csub;		/** Compressed subclass */
+	unsigned short scallno;	/**< Source call number -- high bit must be 1 */
+	unsigned short dcallno;	/**< Destination call number -- high bit is 1 if retransmission */
+	unsigned int ts;	/**< 32-bit timestamp in milliseconds (from 1st transmission) */
+	unsigned char oseqno;	/**< Packet number (outgoing) */
+	unsigned char iseqno;	/**< Packet number (next incoming expected) */
+	char type;		/**< Frame type */
+	unsigned char csub;	/**< Compressed subclass */
 	unsigned char iedata[0];
 } __PACKED;
 
 /* Mini header is used only for voice frames -- delivered unreliably */
 struct ast_iax2_mini_hdr {
-	unsigned short callno;	/** Source call number -- high bit must be 0, rest must be non-zero */
-	unsigned short ts;	/** 16-bit Timestamp (high 16 bits from last ast_iax2_full_hdr) */
-				/** Frametype implicitly VOICE_FRAME */
-				/** subclass implicit from last ast_iax2_full_hdr */
+	unsigned short callno;	/**< Source call number -- high bit must be 0, rest must be non-zero */
+	unsigned short ts;	/**< 16-bit Timestamp (high 16 bits from last ast_iax2_full_hdr) */
+				/**< Frametype implicitly VOICE_FRAME */
+				/**< subclass implicit from last ast_iax2_full_hdr */
 	unsigned char data[0];
 } __PACKED;
 
 struct ast_iax2_meta_hdr {
-	unsigned short zeros;			/** Zeros field -- must be zero */
-	unsigned char metacmd;			/** Meta command */
-	unsigned char cmddata;			/** Command Data */
+	unsigned short zeros;			/**< Zeros field -- must be zero */
+	unsigned char metacmd;			/**< Meta command */
+	unsigned char cmddata;			/**< Command Data */
 	unsigned char data[0];
 } __PACKED;
 
 struct ast_iax2_video_hdr {
-	unsigned short zeros;			/** Zeros field -- must be zero */
-	unsigned short callno;			/** Video call number */
-	unsigned short ts;			/** Timestamp and mark if present */
+	unsigned short zeros;			/**< Zeros field -- must be zero */
+	unsigned short callno;			/**< Video call number */
+	unsigned short ts;			/**< Timestamp and mark if present */
 	unsigned char data[0];
 } __PACKED;
 
 struct ast_iax2_meta_trunk_hdr {
-	unsigned int ts;			/** 32-bit timestamp for all messages */
+	unsigned int ts;			/**< 32-bit timestamp for all messages */
 	unsigned char data[0];
 } __PACKED;
 
 struct ast_iax2_meta_trunk_entry {
-	unsigned short callno;			/** Call number */
-	unsigned short len;			/** Length of data for this callno */
+	unsigned short callno;			/**< Call number */
+	unsigned short len;			/**< Length of data for this callno */
 } __PACKED;
 
 #define IAX_FIRMWARE_MAGIC 0x69617879
 
 struct ast_iax2_firmware_header {
-       unsigned int magic;             /** Magic number */
-       unsigned short version;         /** Software version */
-       unsigned char devname[16];      /** Device */
-       unsigned int datalen;           /** Data length of file beyond header */
-       unsigned char chksum[16];       /** Checksum of all data */
+       unsigned int magic;             /**< Magic number */
+       unsigned short version;         /**< Software version */
+       unsigned char devname[16];      /**< Device */
+       unsigned int datalen;           /**< Data length of file beyond header */
+       unsigned char chksum[16];       /**< Checksum of all data */
        unsigned char data[0];
 } __PACKED;
 
diff --git a/libs/libiax2/src/jitterbuf.h b/libs/libiax2/src/jitterbuf.h
index 9c9225bba63226ea97fe4898270e6c9a4b5c74fe..293c92d4d3a7342c74500ac2c96feae35e15bad9 100644
--- a/libs/libiax2/src/jitterbuf.h
+++ b/libs/libiax2/src/jitterbuf.h
@@ -55,43 +55,43 @@ enum jb_frame_type {
 
 typedef struct jb_conf {
 	/* settings */
-	long max_jitterbuf;     /* defines a hard clamp to use in setting the jitter buffer delay */
-	long resync_threshold;  /* the jb will resync when delay increases to (2 * jitter) + this param */
-	long max_contig_interp; /* the max interp frames to return in a row */
-	long target_extra;      /* amount of additional jitterbuffer adjustment, overrides JB_TARGET_EXTRA */
+	long max_jitterbuf;     /**< defines a hard clamp to use in setting the jitter buffer delay */
+	long resync_threshold;  /**< the jb will resync when delay increases to (2 * jitter) + this param */
+	long max_contig_interp; /**< the max interp frames to return in a row */
+	long target_extra;      /**< amount of additional jitterbuffer adjustment, overrides JB_TARGET_EXTRA */
 } jb_conf;
 
 typedef struct jb_info {
 	jb_conf conf;
 
 	/* statistics */
-	long frames_in;		/* number of frames input to the jitterbuffer.*/
-	long frames_out;	/* number of frames output from the jitterbuffer.*/
-	long frames_late;	/* number of frames which were too late, and dropped.*/
-	long frames_lost;	/* number of missing frames.*/
-	long frames_dropped;	/* number of frames dropped (shrinkage) */
-	long frames_ooo;	/* number of frames received out-of-order */
-	long frames_cur;	/* number of frames presently in jb, awaiting delivery.*/
-	long jitter;		/* jitter measured within current history interval*/
-	long min;		/* minimum lateness within current history interval */
-	long current;		/* the present jitterbuffer adjustment */
-	long target;		/* the target jitterbuffer adjustment */
-	long losspct;		/* recent lost frame percentage (* 1000) */
-	long next_voice_ts;	/* the ts of the next frame to be read from the jb - in receiver's time */
-	long last_voice_ms;	/* the duration of the last voice frame */
-	long silence_begin_ts;	/* the time of the last CNG frame, when in silence */
-	long last_adjustment;	/* the time of the last adjustment */
-	long last_delay;	/* the last now added to history */
-	long cnt_delay_discont;	/* the count of discontinuous delays */
-	long resync_offset;	/* the amount to offset ts to support resyncs */
-	long cnt_contig_interp;	/* the number of contiguous interp frames returned */
+	long frames_in;		/**< number of frames input to the jitterbuffer.*/
+	long frames_out;	/**< number of frames output from the jitterbuffer.*/
+	long frames_late;	/**< number of frames which were too late, and dropped.*/
+	long frames_lost;	/**< number of missing frames.*/
+	long frames_dropped;	/**< number of frames dropped (shrinkage) */
+	long frames_ooo;	/**< number of frames received out-of-order */
+	long frames_cur;	/**< number of frames presently in jb, awaiting delivery.*/
+	long jitter;		/**< jitter measured within current history interval*/
+	long min;		/**< minimum lateness within current history interval */
+	long current;		/**< the present jitterbuffer adjustment */
+	long target;		/**< the target jitterbuffer adjustment */
+	long losspct;		/**< recent lost frame percentage (* 1000) */
+	long next_voice_ts;	/**< the ts of the next frame to be read from the jb - in receiver's time */
+	long last_voice_ms;	/**< the duration of the last voice frame */
+	long silence_begin_ts;	/**< the time of the last CNG frame, when in silence */
+	long last_adjustment;	/**< the time of the last adjustment */
+	long last_delay;	/**< the last now added to history */
+	long cnt_delay_discont;	/**< the count of discontinuous delays */
+	long resync_offset;	/**< the amount to offset ts to support resyncs */
+	long cnt_contig_interp;	/**< the number of contiguous interp frames returned */
 } jb_info;
 
 typedef struct jb_frame {
-	void *data;               /* the frame data */
-	long ts;                  /* the relative delivery time expected */
-	long ms;                  /* the time covered by this frame, in sec/8000 */
-	enum jb_frame_type type;  /* the type of frame */
+	void *data;               /**< the frame data */
+	long ts;                  /**< the relative delivery time expected */
+	long ms;                  /**< the time covered by this frame, in sec/8000 */
+	enum jb_frame_type type;  /**< the type of frame */
 	struct jb_frame *next, *prev;
 } jb_frame;
 
@@ -99,29 +99,30 @@ typedef struct jitterbuf {
 	jb_info info;
 
 	/* history */
-	long history[JB_HISTORY_SZ];		/* history */
-	int  hist_ptr;				/* points to index in history for next entry */
-	long hist_maxbuf[JB_HISTORY_MAXBUF_SZ];	/* a sorted buffer of the max delays (highest first) */
-	long hist_minbuf[JB_HISTORY_MAXBUF_SZ];	/* a sorted buffer of the min delays (lowest first) */
-	int  hist_maxbuf_valid;			/* are the "maxbuf"/minbuf valid? */
-
-	jb_frame *frames;		/* queued frames */
-	jb_frame *free;			/* free frames (avoid malloc?) */
+	long history[JB_HISTORY_SZ];		/**< history */
+	int  hist_ptr;				/**< points to index in history for next entry */
+	long hist_maxbuf[JB_HISTORY_MAXBUF_SZ];	/**< a sorted buffer of the max delays (highest first) */
+	long hist_minbuf[JB_HISTORY_MAXBUF_SZ];	/**< a sorted buffer of the min delays (lowest first) */
+	int  hist_maxbuf_valid;			/**< are the "maxbuf"/minbuf valid? */
+
+	jb_frame *frames;		/**< queued frames */
+	jb_frame *free;			/**< free frames (avoid malloc?) */
 } jitterbuf;
 
 
-/* new jitterbuf */
+/** new jitterbuf */
 jitterbuf *		jb_new(void);
 
-/* destroy jitterbuf */
+/** destroy jitterbuf */
 void			jb_destroy(jitterbuf *jb);
 
-/* reset jitterbuf */
+/** reset jitterbuf */
 /* NOTE:  The jitterbuffer should be empty before you call this, otherwise
  * you will leak queued frames, and some internal structures */
 void			jb_reset(jitterbuf *jb);
 
-/* queue a frame data=frame data, timings (in ms): ms=length of frame (for voice), ts=ts (sender's time)
+/** queue a frame data=frame data, timings (in ms): ms=length of frame (for voice), ts=ts (sender's time)
+ *
  * now=now (in receiver's time) return value is one of
  * JB_OK: Frame added. Last call to jb_next() still valid
  * JB_DROP: Drop this frame immediately
@@ -129,7 +130,8 @@ void			jb_reset(jitterbuf *jb);
  */
 enum jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, long ts, long now);
 
-/* get a frame for time now (receiver's time)  return value is one of
+/** get a frame for time now (receiver's time)  return value is one of
+ *
  * JB_OK:  You've got frame!
  * JB_DROP: Here's an audio frame you should just drop.  Ask me again for this time..
  * JB_NOFRAME: There's no frame scheduled for this time.
@@ -138,7 +140,7 @@ enum jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type t
  */
 enum jb_return_code jb_get(jitterbuf *jb, jb_frame *frame, long now, long interpl);
 
-/* unconditionally get frames from jitterbuf until empty */
+/** unconditionally get frames from jitterbuf until empty */
 enum jb_return_code jb_getall(jitterbuf *jb, jb_frame *frameout);
 
 /* when is the next frame due out, in receiver's time (0=EMPTY)