[asterisk-commits] jpeeler: trunk r116663 - /trunk/channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu May 15 16:54:19 CDT 2008


Author: jpeeler
Date: Thu May 15 16:54:18 2008
New Revision: 116663

URL: http://svn.digium.com/view/asterisk?view=rev&rev=116663
Log:
Fixes a problem I was having with two SIP phones using Packet2Packet bridging dropping audio nearly immediately. The problem was that the lock on the SIP dialog was not being unlocked while the bridge was still active. (Related to issue #12566)

Modified:
    trunk/channels/chan_sip.c

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=116663&r1=116662&r2=116663
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Thu May 15 16:54:18 2008
@@ -13053,11 +13053,13 @@
 	/* 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 */




More information about the asterisk-commits mailing list