added support to be able to set the channel var TRANSFER_CONTEXT so when
authorAnthony Minessale II <anthmct@yahoo.com>
Sat, 24 Jul 2004 02:29:40 +0000 (02:29 +0000)
committerAnthony Minessale II <anthmct@yahoo.com>
Sat, 24 Jul 2004 02:29:40 +0000 (02:29 +0000)
a #transfer is executed it uses ${TRANSFER_CONTEXT} from transferree else
from transferer else it acts as always
-anthm

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3499 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_features.c

index b55f1be..d03f7f3 100755 (executable)
@@ -303,13 +303,14 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
                                        transferer = chan;
                                        transferee = peer;
                                }
-
-                               /* Use the non-macro context to transfer the call */
-                               if(strlen(transferer->macrocontext))
-                                       transferer_real_context=transferer->macrocontext;
-                               else
-                                       transferer_real_context=transferer->context;
-
+                               if(!(transferer_real_context=pbx_builtin_getvar_helper(transferee, "TRANSFER_CONTEXT")) &&
+                                  !(transferer_real_context=pbx_builtin_getvar_helper(transferer, "TRANSFER_CONTEXT"))) {
+                                       /* Use the non-macro context to transfer the call */
+                                       if(strlen(transferer->macrocontext))
+                                               transferer_real_context=transferer->macrocontext;
+                                       else
+                                               transferer_real_context=transferer->context;
+                               }
                                /* Start autoservice on chan while we talk
                                   to the originator */
                                ast_autoservice_start(transferee);