mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-25 07:01:09 +00:00
Fix supervised transfer (bug #2813)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@4194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -7027,7 +7027,8 @@ static int attempt_transfer(struct sip_pvt *p1, struct sip_pvt *p2)
|
|||||||
*bridgeb = NULL,
|
*bridgeb = NULL,
|
||||||
*peera = NULL,
|
*peera = NULL,
|
||||||
*peerb = NULL,
|
*peerb = NULL,
|
||||||
*peerc = NULL;
|
*peerc = NULL,
|
||||||
|
*peerd = NULL;
|
||||||
|
|
||||||
if (!p1->owner || !p2->owner) {
|
if (!p1->owner || !p2->owner) {
|
||||||
ast_log(LOG_WARNING, "Transfer attempted without dual ownership?\n");
|
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;
|
peera = chana;
|
||||||
peerb = chanb;
|
peerb = chanb;
|
||||||
peerc = bridgea;
|
peerc = bridgea;
|
||||||
|
peerd = bridgeb;
|
||||||
} else if(bridgeb) {
|
} else if(bridgeb) {
|
||||||
peera = chanb;
|
peera = chanb;
|
||||||
peerb = chana;
|
peerb = chana;
|
||||||
peerc = bridgeb;
|
peerc = bridgeb;
|
||||||
|
peerd = bridgea;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(peera && peerb && peerc) {
|
if(peera && peerb && peerc) {
|
||||||
ast_quiet_chan(peera);
|
ast_quiet_chan(peera);
|
||||||
ast_quiet_chan(peerb);
|
ast_quiet_chan(peerb);
|
||||||
ast_quiet_chan(peerc);
|
ast_quiet_chan(peerc);
|
||||||
|
ast_quiet_chan(peerd);
|
||||||
|
|
||||||
if (peera->cdr && peerb->cdr) {
|
if (peera->cdr && peerb->cdr) {
|
||||||
peerb->cdr = ast_cdr_append(peerb->cdr, peera->cdr);
|
peerb->cdr = ast_cdr_append(peerb->cdr, peera->cdr);
|
||||||
|
Reference in New Issue
Block a user