diff --git a/agi/Makefile b/agi/Makefile
index 3a3495138b..b91eb5e1a8 100644
--- a/agi/Makefile
+++ b/agi/Makefile
@@ -21,7 +21,7 @@ endif
 
 include $(ASTTOPDIR)/Makefile.rules
 
-all: $(AGIS)
+all: #$(AGIS)
 
 strcompat.c: ../main/strcompat.c
 	@cp $< $@
diff --git a/agi/eagi-sphinx-test.c b/agi/eagi-sphinx-test.c
index 0ad12c787f..d2898763c3 100644
--- a/agi/eagi-sphinx-test.c
+++ b/agi/eagi-sphinx-test.c
@@ -6,6 +6,15 @@
  *
  */
 
+/*! \file
+ * Extended AGI test application
+ *
+ * This code is released into public domain
+ * without any warranty of any kind.
+ *
+ *	\ingroup agi
+ */
+
 #include <stdio.h>
 #include <unistd.h>
 #include <stdlib.h>
diff --git a/agi/eagi-test.c b/agi/eagi-test.c
index 7745d18ae2..ed725fcc3f 100644
--- a/agi/eagi-test.c
+++ b/agi/eagi-test.c
@@ -18,6 +18,15 @@
 
 #define AUDIO_FILENO (STDERR_FILENO + 1)
 
+/*! \file
+ * Extended AGI test application
+ *
+ * This code is released into the public domain
+ * with no warranty of any kind
+ *
+ * \ingroup agi
+ */
+
 static int read_environment(void)
 {
 	char buf[256];
diff --git a/contrib/asterisk-ng-doxygen b/contrib/asterisk-ng-doxygen
index 8fcf93cf68..868258b1c8 100644
--- a/contrib/asterisk-ng-doxygen
+++ b/contrib/asterisk-ng-doxygen
@@ -458,6 +458,7 @@ INPUT                  = ./ \
 			 codecs \
 			 formats \
 			 pbx \
+			 agi \
 			 res
 
 # If the value of the INPUT tag contains directories, you can use the 
diff --git a/main/devicestate.c b/main/devicestate.c
index 0711a10021..9fe50e6f16 100644
--- a/main/devicestate.c
+++ b/main/devicestate.c
@@ -22,6 +22,8 @@
  *
  *
  * \author Mark Spencer <markster@digium.com> 
+ *
+ *	\arg \ref AstExtState
  */
 /*! \page AstExtState Extension and device states in Asterisk
  *
@@ -59,10 +61,26 @@
  *	- SIP subscriptions, a.k.a. "blinking lamps" or 
  *	  "buddy lists"
  *
- *	None of these handle user states, like an IM presense
+ *	The CLI command "show hints" show last known state
+ *
+ *	\note None of these handle user states, like an IM presense
  *	system. res_jabber.c can subscribe and watch such states
  *	in jabber/xmpp based systems.
  *
+ *	\section AstExtStateARch Architecture
+ *
+ *	When a channel driver or asterisk app changes state for 
+ *	a watched object, it alerts the core. The core queues
+ *	a change. When the change is processed, there's a query
+ *	sent to the channel driver/provider if there's a function
+ *	to handle that, otherwise a channel walk is issued to find
+ *	a channel that involves the object.
+ *	
+ *	The changes are queued and processed by a separate thread.
+ *	This thread calls the watchers subscribing to status 
+ *	changes for the object. For manager, this results 
+ *	in events. For SIP, NOTIFY requests.
+ *
  *	
  */