]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix supervised transfer (bug #2813)
authorRussell Bryant <russell@russellbryant.com>
Tue, 9 Nov 2004 05:28:47 +0000 (05:28 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 9 Nov 2004 05:28:47 +0000 (05:28 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4194 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 8ffccdfcc927f93c000b6603f108efc967b589fb..c19a6cad67b1633d7f69b5cf92ae6e06d595963c 100755 (executable)
@@ -7027,7 +7027,8 @@ static int attempt_transfer(struct sip_pvt *p1, struct sip_pvt *p2)
                *bridgeb = NULL,
                *peera = NULL,
                *peerb = NULL,
-               *peerc = NULL;
+               *peerc = NULL,
+               *peerd = NULL;
 
        if (!p1->owner || !p2->owner) {
                ast_log(LOG_WARNING, "Transfer attempted without dual ownership?\n");
@@ -7042,16 +7043,19 @@ static int attempt_transfer(struct sip_pvt *p1, struct sip_pvt *p2)
                peera = chana;
                peerb = chanb;
                peerc = bridgea;
+               peerd = bridgeb;
        } else if(bridgeb) {
                peera = chanb;
                peerb = chana;
                peerc = bridgeb;
+               peerd = bridgea;
        }
 
        if(peera && peerb && peerc) {
                ast_quiet_chan(peera);
                ast_quiet_chan(peerb);
                ast_quiet_chan(peerc);
+               ast_quiet_chan(peerd);
 
                if (peera->cdr && peerb->cdr) {
                        peerb->cdr = ast_cdr_append(peerb->cdr, peera->cdr);