[asterisk-commits] file: branch 1.4 r77778 - /branches/1.4/res/res_features.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Jul 30 12:11:03 CDT 2007


Author: file
Date: Mon Jul 30 12:11:02 2007
New Revision: 77778

URL: http://svn.digium.com/view/asterisk?view=rev&rev=77778
Log:
(closes issue #10327)
Reported by: kkiely
Instead of directly mucking with the extension/context/priority of the channel we are transferring when it has a PBX simply call ast_async_goto on it. This will ensure that the channel gets handled properly and sent to the right place.

Modified:
    branches/1.4/res/res_features.c

Modified: branches/1.4/res/res_features.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/res/res_features.c?view=diff&rev=77778&r1=77777&r2=77778
==============================================================================
--- branches/1.4/res/res_features.c (original)
+++ branches/1.4/res/res_features.c Mon Jul 30 12:11:02 2007
@@ -699,18 +699,14 @@
 			ast_cdr_setdestchan(transferer->cdr, transferee->name);
 			ast_cdr_setapp(transferer->cdr, "BLINDTRANSFER","");
 		}
-		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");
+		if (!transferee->pbx)
 			res = -1;
-		} else {
-			/* Set the channel's new extension, since it exists, using transferer context */
-			set_c_e_p(transferee, transferer_real_context, xferto, 0);
-		}
+		
+		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");
 		check_goto_on_transfer(transferer);
 		return res;
 	} else {




More information about the asterisk-commits mailing list