[asterisk-commits] crichter: trunk r132883 - in /trunk: ./ channels/misdn/isdn_lib.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jul 23 07:07:16 CDT 2008


Author: crichter
Date: Wed Jul 23 07:07:15 2008
New Revision: 132883

URL: http://svn.digium.com/view/asterisk?view=rev&rev=132883
Log:
Merged revisions 132826 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r132826 | crichter | 2008-07-23 13:37:50 +0200 (Mi, 23 Jul 2008) | 1 line

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:
    trunk/   (props changed)
    trunk/channels/misdn/isdn_lib.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/misdn/isdn_lib.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/misdn/isdn_lib.c?view=diff&rev=132883&r1=132882&r2=132883
==============================================================================
--- trunk/channels/misdn/isdn_lib.c (original)
+++ trunk/channels/misdn/isdn_lib.c Wed Jul 23 07:07:15 2008
@@ -2637,6 +2637,19 @@
 			misdn_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 ) {
@@ -3121,7 +3134,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, (int) now.tv_sec, (int) bc->last_used.tv_sec);
 			return 1;
 		}




More information about the asterisk-commits mailing list