  	char *outbound_group = NULL;
  	char *macro_result = NULL, *macro_transfer_dest = NULL;
  	int digit = 0, result = 0;
-@@ -1057,7 +1076,8 @@
+@@ -1057,7 +1077,8 @@
  				       OPT_CALLEE_TRANSFER | OPT_CALLER_TRANSFER |
  				       OPT_CALLEE_HANGUP | OPT_CALLER_HANGUP |
  				       OPT_CALLEE_MONITOR | OPT_CALLER_MONITOR |

diff -Naur asterisk-1.2.32-old/apps/app_dial.c asterisk-1.2.32/apps/app_dial.c
--- asterisk-1.2.32-old/apps/app_dial.c	2009-04-14 12:34:28.166817789 -0400
+++ asterisk-1.2.32/apps/app_dial.c	2009-04-14 22:25:38.412446457 -0400
@@ -14,6 +14,12 @@
  * This program is free software, distributed under the terms of
  * the GNU General Public License Version 2. See the LICENSE file

 								ast_verbose ( VERBOSE_PREFIX_3 "%s is making progress passing it to %s\n", o->chan->name,in->name);
+							if (ast_test_flag(outgoing, OPT_ORIGINATE_RING)) {
+								if (option_verbose > 2)
+									ast_verbose ( VERBOSE_PREFIX_3 "%s is making progress, stopping originate-ring simulation on %s.\n", outgoing->chan->name, in->name);
+								ast_playtones_stop(in);
+							}
 							if (!ast_test_flag(outgoing, OPT_RINGBACK))
 								ast_indicate(in, AST_CONTROL_PROGRESS);
 							break;
@@ -749,6 +768,7 @@
 	char privintro[1024];
 	struct localuser *outgoing=NULL, *tmp;
 	struct ast_channel *peer;
+	char tmpname[AST_CHANNEL_NAME];
 	int to;
 	int numbusy = 0;
 	int numcongestion = 0;
@@ -773,7 +793,7 @@
 	char *var;
 	char status[256] = "INVALIDARGS";
 	int play_to_caller=0,play_to_callee=0;
