diff --git a/res/res_agi.c b/res/res_agi.c
index 207befb7e625dbdbdd89e8b13b30296fd45fbadc..3ef41169ded35ba2c720bc744b38dec920740563 100644
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -130,6 +130,32 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 			</enumlist>
 		</description>
 	</agi>
+	<agi name="control stream file" language="en_US">
+		<synopsis>
+			Sends audio file on channel and allows the listner to control the stream.
+		</synopsis>
+		<syntax>
+			<parameter name="filename" required="true">
+				<para>The file extension must not be included in the filename.</para>
+			</parameter>
+			<parameter name="escape_digits" required="true" />
+			<parameter name="skipms" />
+			<parameter name="ffchar">
+				<para>Defaults to <literal>*</literal></para>
+			</parameter>
+			<parameter name="rewchr">
+				<para>Defaults to <literal>#</literal></para>
+			</parameter>
+			<parameter name="pausechr" />
+		</syntax>
+		<description>
+			<para>Send the given file, allowing playback to be controled by the given
+			digits, if any. Use double quotes for the digits if you wish none to be
+			permitted. Returns <literal>0</literal> if playback completes without a digit
+			being pressed, or the ASCII numerical value of the digit if one was pressed,
+			or <literal>-1</literal> on error or if the channel was disconnected.</para>
+		</description>
+	</agi>
 	<agi name="database del" language="en_US">
 		<synopsis>
 			Removes database key/value
@@ -571,6 +597,199 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 			<para>Always returns <literal>0</literal>.</para>
 		</description>
 	</agi>
+	<agi name="set priority" language="en_US">
+		<synopsis>
+			Set channel dialplan priority.
+		</synopsis>
+		<syntax>
+			<parameter name="priority" required="true" />
+		</syntax>
+		<description>
+			<para>Changes the priority for continuation upon exiting the application.
+			The priority must be a valid priority or label.</para>
+		</description>
+	</agi>
+	<agi name="set variable" language="en_US">
+		<synopsis>
+			Sets a channel variable.
+		</synopsis>
+		<syntax>
+			<parameter name="variablename" required="true" />
+			<parameter name="value" required="true" />
+		</syntax>
+		<description>
+			<para>Sets a variable to the current channel.</para>
+		</description>
+	</agi>
+	<agi name="stream file" language="en_US">
+		<synopsis>
+			Sends audio file on channel.
+		</synopsis>
+		<syntax>
+			<parameter name="filename" required="true">
+				<para>File name to play. The file extension must not be
+				included in the <replaceable>filename</replaceable>.</para>
+			</parameter>
+			<parameter name="escape_digits" required="true">
+				<para>Use double quotes for the digits if you wish none to be
+				permitted.</para>
+			</parameter>
+			<parameter name="sample offset">
+				<para>If sample offset is provided then the audio will seek to sample
+				offset before play starts.</para>
+			</parameter>
+		</syntax>
+		<description>
+			<para>Send the given file, allowing playback to be interrupted by the given
+			digits, if any. Returns <literal>0</literal> if playback completes without a digit
+			being pressed, or the ASCII numerical value of the digit if one was pressed,
+			or <literal>-1</literal> on error or if the channel was disconnected.</para>
+		</description>
+		<see-also>
+			<ref type="agi">control stream file</ref>
+		</see-also>
+	</agi>
+	<agi name="tdd mode" language="en_US">
+		<synopsis>
+			Toggles TDD mode (for the deaf).
+		</synopsis>
+		<syntax>
+			<parameter name="boolean" required="true">
+				<enumlist>
+					<enum name="on" />
+					<enum name="off" />
+				</enumlist>
+			</parameter>
+		</syntax>
+		<description>
+			<para>Enable/Disable TDD transmission/reception on a channel. Returns <literal>1</literal> if
+			successful, or <literal>0</literal> if channel is not TDD-capable.</para>
+		</description>
+	</agi>
+	<agi name="verbose" language="en_US">
+		<synopsis>
+			Logs a message to the asterisk verbose log.
+		</synopsis>
+		<syntax>
+			<parameter name="message" required="true" />
+			<parameter name="level" required="true" />
+		</syntax>
+		<description>
+			<para>Sends <replaceable>message</replaceable> to the console via verbose
+			message system. <replaceable>level</replaceable> is the the verbose level (1-4).
+			Always returns <literal>1</literal></para>
+		</description>
+	</agi>
+	<agi name="wait for digit" language="en_US">
+		<synopsis>
+			Waits for a digit to be pressed.
+		</synopsis>
+		<syntax>
+			<parameter name="timeout" required="true" />
+		</syntax>
+		<description>
+			<para>Waits up to <replaceable>timeout</replaceable> milliseconds for channel to
+			receive a DTMF digit. Returns <literal>-1</literal> on channel failure, <literal>0</literal>
+			if no digit is received in the timeout, or the numerical value of the ascii of the digit if
+			one is received. Use <literal>-1</literal> for the <replaceable>timeout</replaceable> value if
+			you desire the call to block indefinitely.</para>
+		</description>
+	</agi>
+	<agi name="speech create" language="en_US">
+		<synopsis>
+			Creates a speech object.
+		</synopsis>
+		<syntax>
+			<parameter name="engine" required="true" />
+		</syntax>
+		<description>
+			<para>Create a speech object to be used by the other Speech AGI commands.</para>
+		</description>
+	</agi>
+	<agi name="speech set" language="en_US">
+		<synopsis>
+			Sets a speech engine setting.
+		</synopsis>
+		<syntax>
+			<parameter name="name" required="true" />
+			<parameter name="value" required="true" />
+		</syntax>
+		<description>
+			<para>Set an engine-specific setting.</para>
+		</description>
+	</agi>
+	<agi name="speech destroy" language="en_US">
+		<synopsis>
+			Destroys a speech object.
+		</synopsis>
+		<syntax>
+		</syntax>
+		<description>
+			<para>Destroy the speech object created by <literal>SPEECH CREATE</literal>.</para>
+		</description>
+		<see-also>
+			<ref type="agi">speech create</ref>
+		</see-also>
+	</agi>
+	<agi name="speech load grammar" language="en_US">
+		<synopsis>
+			Loads a grammar.
+		</synopsis>
+		<syntax>
+			<parameter name="grammar name" required="true" />
+			<parameter name="path to grammar" required="true" />
+		</syntax>
+		<description>
+			<para>Loads the specified grammar as the specified name.</para>
+		</description>
+	</agi>
+	<agi name="speech unload grammar" language="en_US">
+		<synopsis>
+			Unloads a grammar.
+		</synopsis>
+		<syntax>
+			<parameter name="grammar name" required="true" />
+		</syntax>
+		<description>
+			<para>Unloads the specified grammar.</para>
+		</description>
+	</agi>
+	<agi name="speech activate grammar" language="en_US">
+		<synopsis>
+			Activates a grammar.
+		</synopsis>
+		<syntax>
+			<parameter name="grammar name" required="true" />
+		</syntax>
+		<description>
+			<para>Activates the specified grammar on the speech object.</para>
+		</description>
+	</agi>
+	<agi name="speech deactivate grammar" language="en_US">
+		<synopsis>
+			Deactivates a grammar.
+		</synopsis>
+		<syntax>
+			<parameter name="grammar name" required="true" />
+		</syntax>
+		<description>
+			<para>Deactivates the specified grammar on the speech object.</para>
+		</description>
+	</agi>
+	<agi name="speech recognize" language="en_US">
+		<synopsis>
+			Recognizes speech.
+		</synopsis>
+		<syntax>
+			<parameter name="prompt" required="true" />
+			<parameter name="timeout" required="true" />
+			<parameter name="offset" />
+		</syntax>
+		<description>
+			<para>Plays back given <replaceable>prompt</replaceable> while listening for
+			speech and dtmf.</para>
+		</description>
+	</agi>
  ***/
 
 #define MAX_ARGS 128
@@ -2557,84 +2776,6 @@ static int handle_speechrecognize(struct ast_channel *chan, AGI *agi, int argc,
 	return RESULT_SUCCESS;
 }
 
-static const char usage_verbose[] =
-" Usage: VERBOSE <message> <level>\n"
-"	Sends <message> to the console via verbose message system.\n"
-" <level> is the the verbose level (1-4)\n"
-" Always returns 1.\n";
-
-static const char usage_setvariable[] =
-" Usage: SET VARIABLE <variablename> <value>\n";
-
-static const char usage_waitfordigit[] =
-" Usage: WAIT FOR DIGIT <timeout>\n"
-"	Waits up to 'timeout' milliseconds for channel to receive a DTMF digit.\n"
-" Returns -1 on channel failure, 0 if no digit is received in the timeout, or\n"
-" the numerical value of the ascii of the digit if one is received.  Use -1\n"
-" for the timeout value if you desire the call to block indefinitely.\n";
-
-static const char usage_tddmode[] =
-" Usage: TDD MODE <on|off>\n"
-"	Enable/Disable TDD transmission/reception on a channel. Returns 1 if\n"
-" successful, or 0 if channel is not TDD-capable.\n";
-
-static const char usage_streamfile[] =
-" Usage: STREAM FILE <filename> <escape digits> [sample offset]\n"
-"	Send the given file, allowing playback to be interrupted by the given\n"
-" digits, if any. Use double quotes for the digits if you wish none to be\n"
-" permitted. If sample offset is provided then the audio will seek to sample\n"
-" offset before play starts.  Returns 0 if playback completes without a digit\n"
-" being pressed, or the ASCII numerical value of the digit if one was pressed,\n"
-" or -1 on error or if the channel was disconnected. Remember, the file\n"
-" extension must not be included in the filename.\n";
-
-static const char usage_controlstreamfile[] =
-" Usage: CONTROL STREAM FILE <filename> <escape digits> [skipms] [ffchar] [rewchr] [pausechr]\n"
-"	Send the given file, allowing playback to be controled by the given\n"
-" digits, if any. Use double quotes for the digits if you wish none to be\n"
-" permitted.  Returns 0 if playback completes without a digit\n"
-" being pressed, or the ASCII numerical value of the digit if one was pressed,\n"
-" or -1 on error or if the channel was disconnected. Remember, the file\n"
-" extension must not be included in the filename.\n\n"
-" Note: ffchar and rewchar default to * and # respectively.\n";
-
-static const char usage_setpriority[] =
-" Usage: SET PRIORITY <priority>\n"
-"	Changes the priority for continuation upon exiting the application.\n"
-" The priority must be a valid priority or label.\n";
-
-static const char usage_speechcreate[] =
-" Usage: SPEECH CREATE <engine>\n"
-"       Create a speech object to be used by the other Speech AGI commands.\n";
-
-static const char usage_speechset[] =
-" Usage: SPEECH SET <name> <value>\n"
-"       Set an engine-specific setting.\n";
-
-static const char usage_speechdestroy[] =
-" Usage: SPEECH DESTROY\n"
-"       Destroy the speech object created by SPEECH CREATE.\n";
-
-static const char usage_speechloadgrammar[] =
-" Usage: SPEECH LOAD GRAMMAR <grammar name> <path to grammar>\n"
-"       Loads the specified grammar as the specified name.\n";
-
-static const char usage_speechunloadgrammar[] =
-" Usage: SPEECH UNLOAD GRAMMAR <grammar name>\n"
-"       Unloads the specified grammar.\n";
-
-static const char usage_speechactivategrammar[] =
-" Usage: SPEECH ACTIVATE GRAMMAR <grammar name>\n"
-"       Activates the specified grammar on the speech object.\n";
-
-static const char usage_speechdeactivategrammar[] =
-" Usage: SPEECH DEACTIVATE GRAMMAR <grammar name>\n"
-"       Deactivates the specified grammar on the speech object.\n";
-
-static const char usage_speechrecognize[] =
-" Usage: SPEECH RECOGNIZE <prompt> <timeout> [<offset>]\n"
-"       Plays back given prompt while listening for speech and dtmf.\n";
-
 /*!
  * \brief AGI commands list
  */
@@ -2670,21 +2811,21 @@ static struct agi_command commands[] = {
 	{ { "set", "context", NULL }, handle_setcontext, NULL, NULL, 0},
 	{ { "set", "extension", NULL }, handle_setextension, NULL, NULL, 0},
 	{ { "set", "music", NULL }, handle_setmusic, NULL, NULL, 0 },
-	{ { "set", "priority", NULL }, handle_setpriority, "Set channel dialplan priority", usage_setpriority , 0 },
-	{ { "set", "variable", NULL }, handle_setvariable, "Sets a channel variable", usage_setvariable , 1 },
-	{ { "stream", "file", NULL }, handle_streamfile, "Sends audio file on channel", usage_streamfile , 0 },
-	{ { "control", "stream", "file", NULL }, handle_controlstreamfile, "Sends audio file on channel and allows the listner to control the stream", usage_controlstreamfile , 0 },
-	{ { "tdd", "mode", NULL }, handle_tddmode, "Toggles TDD mode (for the deaf)", usage_tddmode , 0 },
-	{ { "verbose", NULL }, handle_verbose, "Logs a message to the asterisk verbose log", usage_verbose , 1 },
-	{ { "wait", "for", "digit", NULL }, handle_waitfordigit, "Waits for a digit to be pressed", usage_waitfordigit , 0 },
-	{ { "speech", "create", NULL }, handle_speechcreate, "Creates a speech object", usage_speechcreate, 0 },
-	{ { "speech", "set", NULL }, handle_speechset, "Sets a speech engine setting", usage_speechset, 0 },
-	{ { "speech", "destroy", NULL }, handle_speechdestroy, "Destroys a speech object", usage_speechdestroy, 1 },
-	{ { "speech", "load", "grammar", NULL }, handle_speechloadgrammar, "Loads a grammar", usage_speechloadgrammar, 0 },
-	{ { "speech", "unload", "grammar", NULL }, handle_speechunloadgrammar, "Unloads a grammar", usage_speechunloadgrammar, 1 },
-	{ { "speech", "activate", "grammar", NULL }, handle_speechactivategrammar, "Activates a grammar", usage_speechactivategrammar, 0 },
-	{ { "speech", "deactivate", "grammar", NULL }, handle_speechdeactivategrammar, "Deactivates a grammar", usage_speechdeactivategrammar, 0 },
-	{ { "speech", "recognize", NULL }, handle_speechrecognize, "Recognizes speech", usage_speechrecognize, 0 },
+	{ { "set", "priority", NULL }, handle_setpriority, NULL, NULL, 0 },
+	{ { "set", "variable", NULL }, handle_setvariable, NULL, NULL, 1 },
+	{ { "stream", "file", NULL }, handle_streamfile, NULL, NULL, 0 },
+	{ { "control", "stream", "file", NULL }, handle_controlstreamfile, NULL, NULL, 0 },
+	{ { "tdd", "mode", NULL }, handle_tddmode, NULL, NULL, 0 },
+	{ { "verbose", NULL }, handle_verbose, NULL, NULL, 1 },
+	{ { "wait", "for", "digit", NULL }, handle_waitfordigit, NULL, NULL, 0 },
+	{ { "speech", "create", NULL }, handle_speechcreate, NULL, NULL, 0 },
+	{ { "speech", "set", NULL }, handle_speechset, NULL, NULL, 0 },
+	{ { "speech", "destroy", NULL }, handle_speechdestroy, NULL, NULL, 1 },
+	{ { "speech", "load", "grammar", NULL }, handle_speechloadgrammar, NULL, NULL, 0 },
+	{ { "speech", "unload", "grammar", NULL }, handle_speechunloadgrammar, NULL, NULL, 1 },
+	{ { "speech", "activate", "grammar", NULL }, handle_speechactivategrammar, NULL, NULL, 0 },
+	{ { "speech", "deactivate", "grammar", NULL }, handle_speechdeactivategrammar, NULL, NULL, 0 },
+	{ { "speech", "recognize", NULL }, handle_speechrecognize, NULL, NULL, 0 },
 };
 
 static AST_RWLIST_HEAD_STATIC(agi_commands, agi_command);