From: Russell Bryant Date: Tue, 9 Nov 2004 05:28:47 +0000 (+0000) Subject: Fix supervised transfer (bug #2813) X-Git-Tag: 1.0.11.1~391 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d23dbb490bb9dbcc6aef3a84740a5f8cad8f3b1;p=thirdparty%2Fasterisk.git Fix supervised transfer (bug #2813) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4194 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 8ffccdfcc9..c19a6cad67 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -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);