]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
automerge commit
authorAutomerge Script <automerge@asterisk.org>
Thu, 22 Feb 2007 19:21:50 +0000 (19:21 +0000)
committerAutomerge Script <automerge@asterisk.org>
Thu, 22 Feb 2007 19:21:50 +0000 (19:21 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@56275 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channel.c
channels/chan_sip.c

index 577d0c799d6a426bde3013783ddea351ae09f3bb..82758b3d47ca8dbb76d0d00129ba2b9e68590aa3 100644 (file)
--- a/channel.c
+++ b/channel.c
@@ -2807,10 +2807,10 @@ int ast_channel_masquerade(struct ast_channel *original, struct ast_channel *clo
 
        /* each of these channels may be sitting behind a channel proxy (i.e. chan_agent)
           and if so, we don't really want to masquerade it, but its proxy */
-       if (original->_bridge && (original->_bridge != ast_bridged_channel(original)))
+       if (original->_bridge && (original->_bridge != ast_bridged_channel(original)) && (original->_bridge->_bridge != original))
                final_orig = original->_bridge;
 
-       if (clone->_bridge && (clone->_bridge != ast_bridged_channel(clone)))
+       if (clone->_bridge && (clone->_bridge != ast_bridged_channel(clone)) && (clone->_bridge->_bridge != clone))
                final_clone = clone->_bridge;
 
        if ((final_orig != original) || (final_clone != clone)) {
index 39b06598d5b5e2ee27618a61e4a986703fa1d191..82d808bd4b8629e60b54614dd7a986a4477c9988 100644 (file)
@@ -10555,7 +10555,7 @@ static int attempt_transfer(struct sip_pvt *p1, struct sip_pvt *p2)
        bridgea = ast_bridged_channel(chana);
        bridgeb = ast_bridged_channel(chanb);
        
-       if (bridgea && (bridgea == chana->_bridge)) {
+       if (bridgea) {
                peera = chana;
                peerb = chanb;
                peerc = bridgea;