Index: res/res_parking.c
===================================================================
RCS file: /usr/cvsroot/asterisk/res/res_parking.c,v
retrieving revision 1.18
diff -u -r1.18 res_parking.c
--- res/res_parking.c	1 Mar 2004 20:31:25 -0000	1.18
+++ res/res_parking.c	11 Mar 2004 07:26:46 -0000
@@ -26,6 +26,7 @@
 #include <asterisk/config.h>
 #include <asterisk/cli.h>
 #include <asterisk/manager.h>
+#include <asterisk/indications.h>   
 #include <stdlib.h>
 #include <errno.h>
 #include <unistd.h>
@@ -227,6 +228,7 @@
 	struct ast_channel *transferer;
 	struct ast_channel *transferee;
   char *transferer_real_context;
+        int ms;
 
 	/* Answer if need be */
 	if (ast_answer(chan))
@@ -299,6 +301,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))
@@ -407,6 +420,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)
