From 0a2fff51c721c231ca254f4d80a3c2807d3176a0 Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Mon, 8 Nov 2004 18:23:01 +0000
Subject: [PATCH] Fix supervised transfer (bug #2813)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 6f1829e63b..ec20596e99 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -6994,7 +6994,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");
@@ -7009,16 +7010,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);
-- 
GitLab