From: Terry Wilson Date: Wed, 21 Jan 2009 23:23:59 +0000 (+0000) Subject: Fix builtin_blindtransfer calling back the wrong channel X-Git-Tag: 1.4.24-rc1~124 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3a24e8376802d682cf67d4686bbb32f501a300ce;p=thirdparty%2Fasterisk.git Fix builtin_blindtransfer calling back the wrong channel Blindtransfer also was calling back the wrong channel when a timeout occurred. This should be the last of these, as there are no more masq_park_announce calls that aren't passing orig_chan_name git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@169868 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_features.c b/res/res_features.c index c7fa2ef10a..5017188f2f 100644 --- a/res/res_features.c +++ b/res/res_features.c @@ -715,8 +715,10 @@ static int builtin_blindtransfer(struct ast_channel *chan, struct ast_channel *p const char *transferer_real_context; char xferto[256]; int res; + const char *orig_chan_name; set_peers(&transferer, &transferee, peer, chan, sense); + orig_chan_name = ast_strdupa(transferer->name); transferer_real_context = real_ctx(transferer, transferee); /* Start autoservice on chan while we talk to the originator */ ast_autoservice_start(transferee); @@ -743,7 +745,7 @@ static int builtin_blindtransfer(struct ast_channel *chan, struct ast_channel *p res = finishup(transferee); if (res) res = -1; - else if (!masq_park_call_announce(transferee, transferer, 0, NULL, NULL)) { /* success */ + else if (!masq_park_call_announce(transferee, transferer, 0, NULL, orig_chan_name)) { /* success */ /* We return non-zero, but tell the PBX not to hang the channel when the thread dies -- We have to be careful now though. We are responsible for hanging up the channel, else it will never be hung up! */