From 9ebe338bc6da752e58105a184f4607d42beb5bf6 Mon Sep 17 00:00:00 2001
From: Joshua Colp <jcolp@digium.com>
Date: Tue, 14 Aug 2007 15:30:03 +0000
Subject: [PATCH] Merged revisions 79397 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79397 | file | 2007-08-14 12:27:13 -0300 (Tue, 14 Aug 2007) | 4 lines

(closes issue #10415)
Reported by: atis
Revert fix for #10327 as it causes more issues then it solves.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79403 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 res/res_features.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/res/res_features.c b/res/res_features.c
index af5ee48656..70cf1ec81b 100644
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -804,15 +804,17 @@ static int builtin_blindtransfer(struct ast_channel *chan, struct ast_channel *p
 			ast_cdr_setdestchan(transferer->cdr, transferee->name);
 			ast_cdr_setapp(transferer->cdr, "BLINDTRANSFER","");
 		}
-
-		if (!transferee->pbx)
-			res = -1;
-		
-		/* Doh!  Use our handy async_goto functions */
-		ast_verb(3, "Transferring %s to '%s' (context %s) priority 1\n"
-			 ,transferee->name, xferto, transferer_real_context);
-		if (ast_async_goto(transferee, transferer_real_context, xferto, 1))
-			ast_log(LOG_WARNING, "Async goto failed :-(\n");
+		if (!transferee->pbx) {
+			/* Doh!  Use our handy async_goto functions */
+			if (option_verbose > 2) 
+				ast_verbose(VERBOSE_PREFIX_3 "Transferring %s to '%s' (context %s) priority 1\n"
+								,transferee->name, xferto, transferer_real_context);
+			if (ast_async_goto(transferee, transferer_real_context, xferto, 1))
+				ast_log(LOG_WARNING, "Async goto failed :-(\n");
+		} else {
+			/* Set the channel's new extension, since it exists, using transferer context */
+			set_c_e_p(transferee, transferer_real_context, xferto, 0);
+		}
 		check_goto_on_transfer(transferer);
 		return res;
 	} else {
-- 
GitLab