[asterisk-commits] file: trunk r77779 - in /trunk: ./ res/res_features.c

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


Author: file
Date: Mon Jul 30 12:12:58 2007
New Revision: 77779

URL: http://svn.digium.com/view/asterisk?view=rev&rev=77779
Log:
Merged revisions 77778 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77778 | file | 2007-07-30 14:11:02 -0300 (Mon, 30 Jul 2007) | 4 lines

(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:
    trunk/   (props changed)
    trunk/res/res_features.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/res/res_features.c
URL: http://svn.digium.com/view/asterisk/trunk/res/res_features.c?view=diff&rev=77779&r1=77778&r2=77779
==============================================================================
--- trunk/res/res_features.c (original)
+++ trunk/res/res_features.c Mon Jul 30 12:12:58 2007
@@ -736,17 +736,15 @@
 			ast_cdr_setdestchan(transferer->cdr, transferee->name);
 			ast_cdr_setapp(transferer->cdr, "BLINDTRANSFER","");
 		}
-		if (!transferee->pbx) {
-			/* 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)
 			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);
-		}
+		
+		/* 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");
 		check_goto_on_transfer(transferer);
 		return res;
 	} else {




More information about the asterisk-commits mailing list