summaryrefslogtreecommitdiff
path: root/res/res_features.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2007-08-14 15:30:03 +0000
committerJoshua Colp <jcolp@digium.com>2007-08-14 15:30:03 +0000
commit9ebe338bc6da752e58105a184f4607d42beb5bf6 (patch)
tree397607376e66305df096530ca4b3a6718b0f2953 /res/res_features.c
parentd9b52497f0952d264f11429ae760625538655581 (diff)
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
Diffstat (limited to 'res/res_features.c')
-rw-r--r--res/res_features.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/res/res_features.c b/res/res_features.c
index af5ee4865..70cf1ec81 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 {