[asterisk-commits] crichter: branch 1.4 r132826 - /branches/1.4/channels/misdn/isdn_lib.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jul 23 06:37:51 CDT 2008


Author: crichter
Date: Wed Jul 23 06:37:50 2008
New Revision: 132826

URL: http://svn.digium.com/view/asterisk?view=rev&rev=132826
Log:
another Fix because of r119585, this commit has broken high frequented BRI Ports, there was a possibility that a channel, that was marked as in_use would be reused later, the corresponding port could got stuck then. So it is recommended to upgrade for chan_misdn users.

Modified:
    branches/1.4/channels/misdn/isdn_lib.c

Modified: branches/1.4/channels/misdn/isdn_lib.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/misdn/isdn_lib.c?view=diff&rev=132826&r1=132825&r2=132826
==============================================================================
--- branches/1.4/channels/misdn/isdn_lib.c (original)
+++ branches/1.4/channels/misdn/isdn_lib.c Wed Jul 23 06:37:50 2008
@@ -2625,6 +2625,19 @@
 			make_dummy(&dummybc, stack->port, MISDN_ID_GLOBAL, stack->nt, 0);
 			bc=&dummybc;
 		}
+
+		if (!bc && (frm->prim==(CC_SETUP|INDICATION)) ) {
+			make_dummy(&dummybc, stack->port, MISDN_ID_GLOBAL, stack->nt, 0);
+			dummybc.port=stack->port;
+			dummybc.l3_id=frm->dinfo;
+			bc=&dummybc;
+
+			misdn_lib_send_event(bc,EVENT_RELEASE_COMPLETE);
+
+			free_msg(msg);
+			return 1;
+		}
+
     
 handle_frm_bc:
 		if (bc ) {
@@ -3110,7 +3123,7 @@
 	struct timeval now;
 	gettimeofday(&now, NULL);
 	if (!bc->in_use) {
-		if ( bc->last_used.tv_sec == now.tv_sec ) {
+		if (misdn_lib_port_is_pri(bc->port) && bc->last_used.tv_sec == now.tv_sec ) {
 			cb_log(2,bc->port, "channel with stid:%x for one second still in use! (n:%d lu:%d)\n", bc->b_stid, now.tv_sec, bc->last_used.tv_sec);
 			return 1;
 		}




More information about the asterisk-commits mailing list