]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix builtin_blindtransfer calling back the wrong channel
authorTerry Wilson <twilson@digium.com>
Wed, 21 Jan 2009 23:23:59 +0000 (23:23 +0000)
committerTerry Wilson <twilson@digium.com>
Wed, 21 Jan 2009 23:23:59 +0000 (23:23 +0000)
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

res/res_features.c

index c7fa2ef10a5f4c079059c2a2308c00430922e840..5017188f2f1b2da4297c62e8b41f554870b46228 100644 (file)
@@ -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! */