Index: res/res_parking.c
===================================================================
RCS file: /usr/cvsroot/asterisk/res/res_parking.c,v
retrieving revision 1.13
diff -u -r1.13 res_parking.c
--- res/res_parking.c	23 Nov 2003 23:33:56 -0000	1.13
+++ res/res_parking.c	24 Jan 2004 17:30:36 -0000
@@ -25,6 +25,7 @@
 #include <asterisk/musiconhold.h>
 #include <asterisk/config.h>
 #include <asterisk/cli.h>
+#include <asterisk/indications.h>
 #include <stdlib.h>
 #include <errno.h>
 #include <unistd.h>
@@ -214,6 +215,7 @@
 	struct ast_channel *transferer;
 	struct ast_channel *transferee;
   char *transferer_real_context;
+        int ms;
 
 	/* Answer if need be */
 	if (ast_answer(chan))
@@ -274,6 +276,17 @@
 					transferer = chan;
 					transferee = peer;
 				}
+//IAS
+		ms = 250; /* ms */
+		
+		// Got a # - chuck the frame away, wait for 2nd #, if any
+                ast_frfree(f);
+		ms = ast_waitfordigit(transferer, ms);
+
+		// Didn't get another #, so regenerate it and queue for destination
+		if( ms != '#') {
+  			ast_playtones_start(transferee,0,"!941+1477/50,!0/50",0);
+		} else {
 
 				/* Use the non-macro context to transfer the call */
 				if(strlen(transferer->macrocontext))
@@ -382,6 +395,7 @@
 					if (option_verbose > 1)
 						ast_verbose(VERBOSE_PREFIX_2 "Hungup during autoservice stop on '%s'\n", transferee->name);
 				}
+		}
 			} else {
             if (f && (f->frametype == AST_FRAME_DTMF)) {
                   if (who == peer)
