]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fixes a problem I was having with two SIP phones using Packet2Packet bridging droppin...
authorJeff Peeler <jpeeler@digium.com>
Thu, 15 May 2008 21:54:18 +0000 (21:54 +0000)
committerJeff Peeler <jpeeler@digium.com>
Thu, 15 May 2008 21:54:18 +0000 (21:54 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116663 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index c86bf07eecf4180d4485383b9a5ebf9114532f21..6610563ddc0de3eeef3b46ba242300f073d70e65 100644 (file)
@@ -13053,11 +13053,13 @@ static int dialog_needdestroy(void *dialogobj, void *arg, int flags)
        /* We absolutely cannot destroy the rtp struct while a bridge is active or we WILL crash */
        if (dialog->rtp && ast_rtp_get_bridged(dialog->rtp)) {
                ast_debug(2, "Bridge still active.  Delaying destroy of SIP dialog '%s' Method: %s\n", dialog->callid, sip_methods[dialog->method].text);
+               sip_pvt_unlock(dialog);
                return 0;
        }
 
        if (dialog->vrtp && ast_rtp_get_bridged(dialog->vrtp)) {
                ast_debug(2, "Bridge still active.  Delaying destroy of SIP dialog '%s' Method: %s\n", dialog->callid, sip_methods[dialog->method].text);
+               sip_pvt_unlock(dialog);
                return 0;
        }
        /* Check RTP timeouts and kill calls if we have a timeout set and do not get RTP */