diff options
author | Mark Spencer <markster@digium.com> | 2004-11-08 18:23:01 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2004-11-08 18:23:01 +0000 |
commit | 0a2fff51c721c231ca254f4d80a3c2807d3176a0 (patch) | |
tree | 6c1316ef952817db28b92a1d72b7b0658569de26 /channels | |
parent | 6e8537634323b78bfe0c190269729a4ff7a90f91 (diff) |
Fix supervised transfer (bug #2813)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_sip.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 6f1829e63..ec20596e9 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); |