diff --git a/CHANGES b/CHANGES
index 2fc85752d4739e6b6a85fac0b1c93ecb919722a7..91a6c3f3b6432a9055c30a6c7ed1f464de23c306 100644
--- a/CHANGES
+++ b/CHANGES
@@ -395,4 +395,7 @@ Miscellaneous
     set to false; setting that to true will force the use of the new algorithm.
     Also, the cli commands "dialplan set extenpatternmatchingnew true/false" can
     be used to switch the algorithms at run time.
+  * A new option when starting a remote asterisk (rasterisk, asterisk -r) for
+    specifying which socket to use to connect to the running Asterisk daemon
+    (-s)
 
diff --git a/doc/asterisk.sgml b/doc/asterisk.sgml
index ff257ff67159d231ee910690f99704cadc1aadcb..ebcecfc064f5825463d0714c498ed4d73b397cab 100644
--- a/doc/asterisk.sgml
+++ b/doc/asterisk.sgml
@@ -8,7 +8,7 @@
 		<application>asterisk</application>
 	</refentrytitle>
 	<manvolnum>8</manvolnum>
-	<refmiscinfo>asterisk 1.2</refmiscinfo>
+	<refmiscinfo>asterisk 1.6</refmiscinfo>
 </refmeta>
 <refnamediv>
 	<refname>
@@ -21,7 +21,7 @@
 <refsynopsisdiv>
 	<cmdsynopsis>
 	<command>asterisk</command>
-<arg><option>-tThfdvVqpRgciIn</option></arg>
+<arg><option>-tThfdvVqpRgciIns</option></arg>
 <arg><option>-C </option><replaceable class="parameter">file</replaceable></arg>
 <arg><option>-U </option><replaceable class="parameter">user</replaceable></arg>
 <arg><option>-G </option><replaceable class="parameter">group</replaceable></arg>
@@ -38,7 +38,7 @@
 </refsynopsisdiv>
 <refsect1>
 	<refsect1info>
-		<date>2006-03-29</date>
+		<date>2007-12-19</date>
 	</refsect1info>
 	<title>DESCRIPTION</title>
 	<para>
@@ -47,9 +47,9 @@
 	Automated Call Distribution (ACD), Voice over IP (VoIP) gatewaying, 
 	Conferencing, and a plethora of other telephony applications to a broad
 	range of telephony devices including packet voice (SIP, IAX2, MGCP, Skinny,
-	H.323) devices (both endpoints and proxies), as well as traditional TDM
+	H.323, Unistim) devices (both endpoints and proxies), as well as traditional TDM
 	hardware including T1, E1, ISDN PRI, GR-303, RBS, Loopstart, Groundstart,
-	ISDN BRI, and many more.
+	ISDN BRI and many more.
 	</para>
 	<para>
 	At start, Asterisk reads the /etc/asterisk/asterisk.conf main configuration
@@ -233,6 +233,15 @@
 			</para>
 		</listitem>
 	</varlistentry>
+	<varlistentry>
+		<term>-s <replaceable class="parameter">socket file name</replaceable></term>
+		<listitem>
+			<para>
+			In combination with <command>-r</command>, connect directly to a specified
+			Asterisk server socket.
+			</para>
+		</listitem>
+	</varlistentry>
 	<varlistentry>
 		<term>-t</term>
 		<listitem>
diff --git a/main/asterisk.c b/main/asterisk.c
index c8c32d4f776920d938f28e7963b04f8f91e82404..4e29663831eeec05d705cc5ef04c57d12f58a55f 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -2398,6 +2398,7 @@ static int show_cli_help(void) {
 	printf("                   of output to the CLI\n");
 	printf("   -v              Increase verbosity (multiple v's = more verbose)\n");
 	printf("   -x <cmd>        Execute command <cmd> (only valid with -r)\n");
+	printf("   -s <socket>     Connect to Asterisk via socket <socket> (only valid with -r)\n");
 	printf("\n");
 	return 0;
 }
@@ -2670,6 +2671,7 @@ int main(int argc, char *argv[])
 	int isroot = 1;
 	char *buf;
 	const char *runuser = NULL, *rungroup = NULL;
+	char *remotesock = NULL;
 
 	/* Remember original args for restart */
 	if (argc > sizeof(_argv) / sizeof(_argv[0]) - 1) {
@@ -2700,7 +2702,7 @@ int main(int argc, char *argv[])
 	if (getenv("HOME")) 
 		snprintf(filename, sizeof(filename), "%s/.asterisk_history", getenv("HOME"));
 	/* Check for options */
-	while ((c = getopt(argc, argv, "mtThfFdvVqprRgciInx:U:G:C:L:M:e:")) != -1) {
+	while ((c = getopt(argc, argv, "mtThfFdvVqprRgciInx:U:G:C:L:M:e:s:")) != -1) {
 		switch (c) {
 #if defined(HAVE_SYSINFO)
 		case 'e':
@@ -2789,6 +2791,9 @@ int main(int argc, char *argv[])
 		case 'G':
 			rungroup = optarg;
 			break;
+		case 's':
+			remotesock = optarg;
+			break;
 		case '?':
 			exit(1);
 		}
@@ -2821,6 +2826,9 @@ int main(int argc, char *argv[])
 		ast_verbose("[ Reading Master Configuration ]\n");
 	ast_readconfig();
 
+	if (ast_opt_remote && remotesock != NULL)
+		ast_copy_string((char *) ast_config_AST_SOCKET, remotesock, sizeof(ast_config_AST_SOCKET));
+
 	if (!ast_language_is_prefix && !ast_opt_remote)
 		ast_log(LOG_WARNING, "The 'languageprefix' option in asterisk.conf is deprecated; in a future release it will be removed, and your sound files will need to be organized in the 'new style' language layout.\n");