[asterisk-commits] trunk r30548 - in /trunk: UPGRADE.txt res/res_features.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Fri May 26 10:59:30 MST 2006


Author: file
Date: Fri May 26 12:59:29 2006
New Revision: 30548

URL: http://svn.digium.com/view/asterisk?rev=30548&view=rev
Log:
attended transfer use transferer context first and set who is transfering at the beginning (issue #6752 reported by moy -- minor mods done by myself)

Modified:
    trunk/UPGRADE.txt
    trunk/res/res_features.c

Modified: trunk/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/trunk/UPGRADE.txt?rev=30548&r1=30547&r2=30548&view=diff
==============================================================================
--- trunk/UPGRADE.txt (original)
+++ trunk/UPGRADE.txt Fri May 26 12:59:29 2006
@@ -37,7 +37,13 @@
 
 * The (very old and undocumented) ability to use BYEXTENSION for dialing
   instead of ${EXTEN} has been removed.
-
+  
+* Builtin (res_features) transfer functionality attempts to use the context
+  defined in TRANSFER_CONTEXT variable of the transferer channel first. If
+  not set, it uses the transferee variable. If not set in any channel, it will 
+  attempt to use the last non macro context. If not possible, it will default
+  to the current context.
+ 
 Command Line Interface:
 
 * 'show channels concise', designed to be used by applications that will parse
@@ -158,6 +164,9 @@
 * OSP applications exports several new variables, ${OSPINHANDLE},
   ${OSPOUTHANDLE}, ${OSPINTOKEN}, ${OSPOUTTOKEN}, ${OSPCALLING},
   ${OSPINTIMELIMIT}, and ${OSPOUTTIMELIMIT}
+  
+* Builtin transfer functionality sets the variable ${TRANSFERERNAME} in the new
+  created channel. This variables holds the channel name of the transferer.
 
 Functions:
 

Modified: trunk/res/res_features.c
URL: http://svn.digium.com/view/asterisk/trunk/res/res_features.c?rev=30548&r1=30547&r2=30548&view=diff
==============================================================================
--- trunk/res/res_features.c (original)
+++ trunk/res/res_features.c Fri May 26 12:59:29 2006
@@ -563,9 +563,9 @@
 
 static const char *real_ctx(struct ast_channel *transferer, struct ast_channel *transferee)
 {
-        const char *s = pbx_builtin_getvar_helper(transferee, "TRANSFER_CONTEXT");
+        const char *s = pbx_builtin_getvar_helper(transferer, "TRANSFER_CONTEXT");
         if (ast_strlen_zero(s))
-                s = pbx_builtin_getvar_helper(transferer, "TRANSFER_CONTEXT");
+                s = pbx_builtin_getvar_helper(transferee, "TRANSFER_CONTEXT");
         if (ast_strlen_zero(s)) /* Use the non-macro context to transfer the call XXX ? */
                 s = transferer->macrocontext;
         if (ast_strlen_zero(s))
@@ -1039,6 +1039,7 @@
 	if ((chan = ast_request(type, format, data, &cause))) {
 		ast_set_callerid(chan, cid_num, cid_name, cid_num);
 		ast_channel_inherit_variables(caller, chan);	
+		pbx_builtin_setvar_helper(chan, "TRANSFERERNAME", caller->name);
 		if (!ast_call(chan, data, timeout)) {
 			struct timeval started;
 			int x, len = 0;



More information about the asterisk-commits mailing list