Summary: | ASTERISK-14426: [patch] mISDN rejects calls - NO FREE CHAN IN STACK | ||
Reporter: | Fabien Toune (fabientoune) | Labels: | |
Date Opened: | 2009-07-07 10:36:10 | Date Closed: | 2009-10-01 20:38:28 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_misdn |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) issue15458_channel_alloc_reentrancy.patch ( 1) log.txt | |
Description: | This issue is similar to 0013488 but somehow different because of the version used. I use a Beronet 4 BRI ports card, with only 3 ports configured, mISDN-1_1_9.1 Randomly, with an average frequence of once every two weeks, but sometimes two days in a row, mISDN starts to be able to use one port only (2 calls). The rest of the calls are rejected with : Tue Jul 7 16:47:47 2009: P[ 1] handle_frm: frm->addr:42000103 frm->prim:3f082 Tue Jul 7 16:47:47 2009: P[ 1] channel with stid:0 not in use! Tue Jul 7 16:47:47 2009: P[ 1] handle_frm: frm->addr:42000103 frm->prim:30582 Tue Jul 7 16:47:47 2009: P[ 1] set_channel: bc->channel:0 channel:1 Tue Jul 7 16:47:47 2009: P[ 1] I IND :NEW_CHANNEL oad:488235625 dad:65714545 pid:1974 state:none Tue Jul 7 16:47:47 2009: P[ 1] --> channel:1 mode:TE cause:16 ocause:16 rad: cad: Tue Jul 7 16:47:47 2009: P[ 1] --> info_dad: onumplan:2 dnumplan:2 rnumplan: cpnnumplan:0 Tue Jul 7 16:47:47 2009: P[ 1] --> caps:Speech pi:0 keypad: sending_complete:1 Tue Jul 7 16:47:47 2009: P[ 1] --> screen:0 --> pres:0 Tue Jul 7 16:47:47 2009: P[ 1] --> addr:0 l3id:2013c b_stid:0 layer_id:50020180 Tue Jul 7 16:47:47 2009: P[ 1] --> facility:Fac_None out_facility:Fac_None Tue Jul 7 16:47:47 2009: P[ 1] --> bc_state:BCHAN_CLEANED Tue Jul 7 16:47:47 2009: P[ 1] Chan not existing at the moment bc->l3id:2013c bc:0x82001d4 event:NEW_CHANNEL port:1 channel:1 Tue Jul 7 16:47:47 2009: P[ 1] NO USERUESRINFO Tue Jul 7 16:47:47 2009: P[ 1] !! NO FREE CHAN IN STACK Tue Jul 7 16:47:47 2009: P[ 1] Requested Channel Already in Use releasing this call with cause 34!!!! Tue Jul 7 16:47:47 2009: P[ 1] I SEND:RELEASE_COMPLETE oad:488235625 dad:65714545 pid:1974 Tue Jul 7 16:47:47 2009: P[ 1] --> bc_state:BCHAN_CLEANED Tue Jul 7 16:47:47 2009: P[ 1] --> channel:0 mode:TE cause:16 ocause:34 rad: cad: Tue Jul 7 16:47:47 2009: P[ 1] --> info_dad: onumplan:2 dnumplan:2 rnumplan: cpnnumplan:0 Tue Jul 7 16:47:47 2009: P[ 1] --> caps:Speech pi:3 keypad: sending_complete:1 Tue Jul 7 16:47:47 2009: P[ 1] --> screen:0 --> pres:0 Tue Jul 7 16:47:47 2009: P[ 1] --> addr:0 l3id:2013c b_stid:0 layer_id:50020180 Tue Jul 7 16:47:47 2009: P[ 1] --> facility:Fac_None out_facility:Fac_None Tue Jul 7 16:47:47 2009: P[ 1] $$$ CLEANUP CALLED pid:1974 Tue Jul 7 16:47:47 2009: P[ 1] couldn't handle event Tue Jul 7 16:47:47 2009: P[ 1] Sending msg, prim:35a80 addr:41000104 dinfo:2013c Tue Jul 7 16:47:47 2009: P[ 1] handle_frm: frm->addr:42000103 frm->prim:35a81 Tue Jul 7 16:47:47 2009: P[ 1] CC_RELEASE_COMPLETE|CONFIRM [TE] Tue Jul 7 16:47:47 2009: P[ 1] I IND :RELEASE_COMPLETE oad: dad: pid:1974 state:none Tue Jul 7 16:47:47 2009: P[ 1] --> channel:0 mode:TE cause:16 ocause:34 rad: cad: Tue Jul 7 16:47:47 2009: P[ 1] --> info_dad: onumplan:0 dnumplan:0 rnumplan:0 cpnnumplan:0 Tue Jul 7 16:47:47 2009: P[ 1] --> caps:Speech pi:0 keypad: sending_complete:0 Tue Jul 7 16:47:47 2009: P[ 1] --> screen:0 --> pres:0 Tue Jul 7 16:47:47 2009: P[ 1] --> addr:0 l3id:2013c b_stid:0 layer_id:50020180 Tue Jul 7 16:47:47 2009: P[ 1] --> facility:Fac_None out_facility:Fac_None Tue Jul 7 16:47:47 2009: P[ 1] --> bc_state:BCHAN_CLEANED Tue Jul 7 16:47:47 2009: P[ 1] --> no Ch, so we've already released. Tue Jul 7 16:47:47 2009: P[ 0] Cannot hangup chan, no ch Tue Jul 7 16:47:47 2009: P[ 1] release_chan: Ch not found! Tue Jul 7 16:47:47 2009: P[ 1] $$$ CLEANUP CALLED pid:1974 Tue Jul 7 16:47:47 2009: P[ 1] handle_frm: frm->addr:42000103 frm->prim:3f182 Tue Jul 7 16:47:47 2009: P[ 1] --> lib: RELEASE_CR Ind with l3id:2013c Tue Jul 7 16:47:47 2009: P[ 1] --> lib: CLEANING UP l3id: 2013c Tue Jul 7 16:47:47 2009: P[ 1] $$$ CLEANUP CALLED pid:1974 Other ports are free, but mISDN seems to focus only on port 1... I usually try to reload mISDN, to restart port 1, port 2, port 3, and somehow, it works. Today, I restarted ports, but the problem came back very fast/was not solved... If I restart the server, it's ok, but can't do that during use... This is a production server, and it's getting harder to manage... I'm now trying to change method from round-robin to standard_desc (first try was standard...) Here is my misdn.conf [general] misdn_init=/etc/misdn-init.conf debug=4 stop_tone_after_first_digit=yes bridging=yes tracefile=/var/log/asterisk/misdn.log [default] context=mISDN language=fr senddtmf=yes allowed_bearers=all nationalprefix=0 internationalprefix=00 rxgain=0 txgain=0 echocancel=yes te_choose_channel=no pmp_l1_check=yes method=standard_dec dialplan=0 localdialplan=0 cpndialplan=0 early_bconnect=yes always_immediate=no immediate=no hdlc=yes astdtmf=yes presentation=-1 screen=-1 block_on_alarm=no need_more_infos=no [mISDN] ports=1,2,3 context=mISDN msns=* | ||
Comments: | By: Fabien Toune (fabientoune) 2009-07-07 10:58:35 I restarted the 3 ports at 12:51:20 Tue Jul 7 12:51:20 2009: P[ 1] Restarting this port. Tue Jul 7 12:51:20 2009: P[ 1] Stack:0x81ff580 Tue Jul 7 12:51:20 2009: P[ 1] --> queue_hangup Tue Jul 7 12:51:20 2009: P[ 1] * RELEASING CHANNEL pid:1805 ctx:mISDN dad: oad:0471636345 state: CONNECTED Tue Jul 7 12:51:20 2009: P[ 1] --> * State Down Tue Jul 7 12:51:20 2009: P[ 1] --> Setting AST State to down Tue Jul 7 12:51:20 2009: P[ 1] empty_chan_in_stack: 1 Tue Jul 7 12:51:20 2009: P[ 1] $$$ CLEANUP CALLED pid:1805 Tue Jul 7 12:51:20 2009: P[ 1] $$$ Cleaning up bc with stid :10010100 pid:1805 Tue Jul 7 12:51:20 2009: P[ 1] --> ec_disable Tue Jul 7 12:51:20 2009: P[ 1] Sending Control ECHOCAN_OFF Tue Jul 7 12:51:20 2009: P[ 1] ph_control: c1:2319 c2:0 Tue Jul 7 12:51:20 2009: P[ 1] empty_chan_in_stack: 2 Tue Jul 7 12:51:20 2009: P[ 1] $$$ CLEANUP CALLED pid:1816 Tue Jul 7 12:51:20 2009: P[ 1] BCHAN: MGR_DELLAYER|CNF pid:1805 Tue Jul 7 12:51:20 2009: P[ 1] empty_chan_in_stack: 3 Tue Jul 7 12:51:20 2009: P[ 1] $$$ CLEANUP CALLED pid:0 Tue Jul 7 12:51:23 2009: P[ 2] Restarting this port. Tue Jul 7 12:51:23 2009: P[ 2] Stack:0x820b2e8 Tue Jul 7 12:51:23 2009: P[ 2] empty_chan_in_stack: 1 Tue Jul 7 12:51:23 2009: P[ 2] $$$ CLEANUP CALLED pid:0 Tue Jul 7 12:51:23 2009: P[ 2] empty_chan_in_stack: 2 Tue Jul 7 12:51:23 2009: P[ 2] $$$ CLEANUP CALLED pid:0 Tue Jul 7 12:51:23 2009: P[ 2] empty_chan_in_stack: 3 Tue Jul 7 12:51:23 2009: P[ 2] $$$ CLEANUP CALLED pid:0 Tue Jul 7 12:51:28 2009: P[ 3] Restarting this port. Tue Jul 7 12:51:28 2009: P[ 3] Stack:0x8217668 Tue Jul 7 12:51:28 2009: P[ 3] empty_chan_in_stack: 1 Tue Jul 7 12:51:28 2009: P[ 3] $$$ CLEANUP CALLED pid:0 Tue Jul 7 12:51:28 2009: P[ 3] empty_chan_in_stack: 2 Tue Jul 7 12:51:28 2009: P[ 3] $$$ CLEANUP CALLED pid:0 Tue Jul 7 12:51:28 2009: P[ 3] empty_chan_in_stack: 3 Tue Jul 7 12:51:28 2009: P[ 3] $$$ CLEANUP CALLED pid:0 But at 12:51:35 here is what happened again and probably caused the problem again (CAUSE:44) : Tue Jul 7 12:51:35 2009: P[ 0] --> Group Call group: mISDN Tue Jul 7 12:51:35 2009: P[ 1] Group [mISDN] Port [1] Tue Jul 7 12:51:35 2009: P[ 1] portup:1 Tue Jul 7 12:51:35 2009: P[ 1] channel with stid:0 not in use! Tue Jul 7 12:51:35 2009: P[ 0] --> * NEW CHANNEL dad:0471636345 oad:(null) Tue Jul 7 12:51:35 2009: P[ 1] * Queuing chan 0x95036a0 Tue Jul 7 12:51:35 2009: P[ 1] read_config: Getting Config Tue Jul 7 12:51:35 2009: P[ 1] --> TON: Unknown Tue Jul 7 12:51:35 2009: P[ 1] --> LTON: Unknown Tue Jul 7 12:51:35 2009: P[ 1] --> CTON: Unknown Tue Jul 7 12:51:35 2009: P[ 1] * CALL: g:mISDN/0471636345 Tue Jul 7 12:51:35 2009: P[ 1] --> * dad:0471636345 tech:mISDN/0-u3709 ctx:mISDN Tue Jul 7 12:51:35 2009: P[ 1] --> * adding2newbc ext 0471636345 -- Tue Jul 7 12:51:35 2009: P[ 1] --> * SEND: State Dialing pid:1817 Tue Jul 7 12:51:35 2009: P[ 1] Sending msg, prim:30580 addr:41000104 dinfo:9039c Tue Jul 7 12:51:35 2009: P[ 1] handle_frm: frm->addr:42000103 frm->prim:35a82 Tue Jul 7 12:51:35 2009: P[ 1] I IND :RELEASE_COMPLETE oad:42 dad:0471636345 pid:1817 state:CALLING Tue Jul 7 12:51:35 2009: P[ 1] --> channel:1 mode:TE cause:44 ocause:16 rad: cad: Tue Jul 7 12:51:35 2009: P[ 1] --> info_dad: onumplan:0 dnumplan:0 rnumplan:0 cpnnumplan:0 Tue Jul 7 12:51:35 2009: P[ 1] --> caps:Speech pi:0 keypad: sending_complete:0 Tue Jul 7 12:51:35 2009: P[ 1] --> screen:0 --> pres:0 Tue Jul 7 12:51:35 2009: P[ 1] --> addr:0 l3id:9039c b_stid:0 layer_id:50010180 Tue Jul 7 12:51:35 2009: P[ 1] --> facility:Fac_None out_facility:Fac_None Tue Jul 7 12:51:35 2009: P[ 1] --> bc_state:BCHAN_CLEANED Tue Jul 7 12:51:35 2009: P[ 1] --> queue_hangup Tue Jul 7 12:51:35 2009: P[ 1] * RELEASING CHANNEL pid:1817 ctx:mISDN dad:0471636345 oad:0471636345 state: CLEANING Tue Jul 7 12:51:35 2009: P[ 1] --> * State Down Tue Jul 7 12:51:35 2009: P[ 1] --> Setting AST State to down Tue Jul 7 12:51:35 2009: P[ 1] $$$ CLEANUP CALLED pid:1817 Tue Jul 7 12:51:35 2009: P[ 1] **** Received CAUSE:44, so not cleaning up channel 1 Tue Jul 7 12:51:35 2009: P[ 1] **** This channel is now no longer available, Tue Jul 7 12:51:35 2009: P[ 1] set_chan_in_stack: 1 Tue Jul 7 12:51:35 2009: P[ 1] channel already in use:1 Tue Jul 7 12:51:35 2009: P[ 1] Sending Restarts on this port. Tue Jul 7 12:51:35 2009: P[ 1] Restarting and cleaning channel 1 Tue Jul 7 12:51:35 2009: P[ 1] I SEND:RESTART oad: dad: pid:0 Tue Jul 7 12:51:35 2009: P[ 1] --> bc_state:BCHAN_CLEANED Tue Jul 7 12:51:35 2009: P[ 1] --> channel:1 mode:TE cause:0 ocause:0 rad: cad: Tue Jul 7 12:51:35 2009: P[ 1] --> info_dad: onumplan:0 dnumplan:0 rnumplan:0 cpnnumplan:0 Tue Jul 7 12:51:35 2009: P[ 1] --> caps:Speech pi:0 keypad: sending_complete:0 Tue Jul 7 12:51:35 2009: P[ 1] --> screen:0 --> pres:0 Tue Jul 7 12:51:35 2009: P[ 1] --> addr:0 l3id:ffff0002 b_stid:0 layer_id:0 Tue Jul 7 12:51:35 2009: P[ 1] --> facility:unknown out_facility:unknown Tue Jul 7 12:51:35 2009: P[ 1] Restarting channel 1 Tue Jul 7 12:51:35 2009: P[ 1] *HOLDER: find ffff0002 Tue Jul 7 12:51:35 2009: P[ 1] $$$ CLEANUP CALLED pid:1817 Tue Jul 7 12:51:35 2009: P[ 1] * IND : HANGUP pid:1817 ctx:mISDN dad:0471636345 oad:0471636345 State:CLEANING Tue Jul 7 12:51:35 2009: P[ 1] *HOLDER: find nothing Tue Jul 7 12:51:35 2009: P[ 1] handle_frm: frm->addr:42000103 frm->prim:3f182 Tue Jul 7 12:51:35 2009: P[ 1] --> l3id:9039c Tue Jul 7 12:51:35 2009: P[ 1] --> lib: RELEASE_CR Ind with l3id:9039c Tue Jul 7 12:51:35 2009: P[ 1] Sending msg, prim:34680 addr:41000104 dinfo:ffff0002 Tue Jul 7 12:51:35 2009: P[ 1] --> cause:16 Tue Jul 7 12:51:35 2009: P[ 1] --> lib: CLEANING UP l3id: 9039c Tue Jul 7 12:51:35 2009: P[ 1] --> out_cause:16 Tue Jul 7 12:51:35 2009: P[ 1] $$$ CLEANUP CALLED pid:1817 Tue Jul 7 12:51:35 2009: P[ 1] --> state:CLEANING Tue Jul 7 12:51:35 2009: P[ 1] --> Channel: mISDN/0-u3709 hanguped new state:CLEANING By: Richard Mudgett (rmudgett) 2009-07-07 13:48:09 The patch for issue 13488 does not appear to be in 1.6.0.9. The first marked code I have found with the patch in it is 1.6.0.11-rc1. Please apply the patch or upgrade. Because you are receiving cause 44, the channel is marked as unavailable and never released unless the channel is manually restarted. By: Fabien Toune (fabientoune) 2009-07-07 16:03:44 Thanks a lot, I will apply this patch and tell what it gives... By: Fabien Toune (fabientoune) 2009-08-16 13:07:27 I had the problem once again, even with the patch applied... As it is on a production system, i'll try to use a dirty workaround : simple event correlator to detect cause 44 and restart the channel... By: Richard Mudgett (rmudgett) 2009-08-18 13:22:59 I have not been able to reproduce the problem of losing channels. However, I have seen in the code a reentrancy problem that might give these symptoms. The reentrancy patch does several things: 1) Guards B channel and B channel structure allocation. 2) Makes the B channel structure find routines more precise in locating records. 3) Never leave a B channel allocated if we received cause 44. The last item may cause temporary outgoing call problems, but they should clear when the line becomes idle. By: Fabien Toune (fabientoune) 2009-08-18 15:20:53 Thank you for the update... Do you think it is safe to use this new patch on a production system ? By: Richard Mudgett (rmudgett) 2009-08-18 15:49:57 It should be safe. I have a test system that has been using a version of this patch. By: Fabien Toune (fabientoune) 2009-08-18 16:44:00 Thanks a lot... I'll apply new patch and let you know. Beside this, the frequency of the problem seems to be much lower since i've patched with first patch. By: Stefano Lucchetti (slutec18) 2009-08-23 03:57:48 Hello, I'm the reporter of the issue 15490 related with this one. I noted that both of us have fewer channels configured than maximum allowed. In my case I have an 8Bri card with 6 channels configured and I have the same behaviour in channel allocation with cause 44. Since it's an issue not very common do you believe that could be started from channel configuration? Anyway I'm using the reentrancy patch too and waiting. Please give me your advises about channel occupation. Since it's a production system it's not a problem to order 2 more BRI Thank you in advance By: Fabien Toune (fabientoune) 2009-08-24 07:15:19 Hello, indeed, i'm using 3 ports out ouf 4 availables. I don't know if it's related, but on another production system with 4 out of 4 ports used, i don't have this issue. Nevertheless, the provider is different, and the versions of asterisk and misdn too... I don't think it's related to channel configuration, excepted for the choose_channel option which have to be set to no. Two things I noticed is that the server is on heavy charge, and often reach the limit of 6 channels occupied. Since I applied the first patch in the beginning off July, the issue only occured once, but as the customer is pissed of, I've set up the simple event correlator (sec) to be sure the port is restarted automaticaly in case of cause 34... By: Stefano Lucchetti (slutec18) 2009-08-24 10:46:08 I'm using mISDN 1.1.7 and I've applied the reentrancy patch. Can you please post your SEC settings? Just in case I ordered a Sangoma for replacing the openvox board in case of new failure Thank you in advance By: Digium Subversion (svnbot) 2009-10-01 18:21:21 Repository: asterisk Revision: 221769 U branches/1.4/channels/misdn/isdn_lib.c U branches/1.4/channels/misdn/isdn_lib_intern.h ------------------------------------------------------------------------ r221769 | rmudgett | 2009-10-01 18:21:19 -0500 (Thu, 01 Oct 2009) | 26 lines Occasionally losing use of B channels in chan_misdn. I have not been able to reproduce the problem of losing channels. However, I have seen in the code a reentrancy problem that might give these symptoms. The reentrancy patch does several things: 1) Guards B channel and B channel structure allocation. 2) Makes the B channel structure find routines more precise in locating records. 3) Never leave a B channel allocated if we received cause 44. The last item may cause temporary outgoing call problems, but they should clear when the line becomes idle. (closes issue ASTERISK-14455) Reported by: slutec18 Patches: issue15490_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: rmudgett, slutec18 (closes issue ASTERISK-14426) Reported by: FabienToune Patches: issue15458_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: FabienToune, rmudgett, slutec18 ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=221769 By: Digium Subversion (svnbot) 2009-10-01 20:12:25 Repository: asterisk Revision: 221844 _U trunk/ U trunk/channels/misdn/isdn_lib.c U trunk/channels/misdn/isdn_lib_intern.h ------------------------------------------------------------------------ r221844 | rmudgett | 2009-10-01 20:12:24 -0500 (Thu, 01 Oct 2009) | 33 lines Merged revisions 221769 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221769 | rmudgett | 2009-10-01 18:18:28 -0500 (Thu, 01 Oct 2009) | 26 lines Occasionally losing use of B channels in chan_misdn. I have not been able to reproduce the problem of losing channels. However, I have seen in the code a reentrancy problem that might give these symptoms. The reentrancy patch does several things: 1) Guards B channel and B channel structure allocation. 2) Makes the B channel structure find routines more precise in locating records. 3) Never leave a B channel allocated if we received cause 44. The last item may cause temporary outgoing call problems, but they should clear when the line becomes idle. (closes issue ASTERISK-14455) Reported by: slutec18 Patches: issue15490_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: rmudgett, slutec18 (closes issue ASTERISK-14426) Reported by: FabienToune Patches: issue15458_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: FabienToune, rmudgett, slutec18 ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=221844 By: Digium Subversion (svnbot) 2009-10-01 20:23:04 Repository: asterisk Revision: 221853 _U branches/1.6.0/ U branches/1.6.0/channels/misdn/isdn_lib.c U branches/1.6.0/channels/misdn/isdn_lib_intern.h ------------------------------------------------------------------------ r221853 | rmudgett | 2009-10-01 20:23:03 -0500 (Thu, 01 Oct 2009) | 40 lines Merged revisions 221844 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r221844 | rmudgett | 2009-10-01 20:09:31 -0500 (Thu, 01 Oct 2009) | 33 lines Merged revisions 221769 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221769 | rmudgett | 2009-10-01 18:18:28 -0500 (Thu, 01 Oct 2009) | 26 lines Occasionally losing use of B channels in chan_misdn. I have not been able to reproduce the problem of losing channels. However, I have seen in the code a reentrancy problem that might give these symptoms. The reentrancy patch does several things: 1) Guards B channel and B channel structure allocation. 2) Makes the B channel structure find routines more precise in locating records. 3) Never leave a B channel allocated if we received cause 44. The last item may cause temporary outgoing call problems, but they should clear when the line becomes idle. (closes issue ASTERISK-14455) Reported by: slutec18 Patches: issue15490_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: rmudgett, slutec18 (closes issue ASTERISK-14426) Reported by: FabienToune Patches: issue15458_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: FabienToune, rmudgett, slutec18 ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=221853 By: Digium Subversion (svnbot) 2009-10-01 20:29:40 Repository: asterisk Revision: 221871 _U branches/1.6.1/ U branches/1.6.1/channels/misdn/isdn_lib.c U branches/1.6.1/channels/misdn/isdn_lib_intern.h ------------------------------------------------------------------------ r221871 | rmudgett | 2009-10-01 20:29:39 -0500 (Thu, 01 Oct 2009) | 40 lines Merged revisions 221844 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r221844 | rmudgett | 2009-10-01 20:09:31 -0500 (Thu, 01 Oct 2009) | 33 lines Merged revisions 221769 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221769 | rmudgett | 2009-10-01 18:18:28 -0500 (Thu, 01 Oct 2009) | 26 lines Occasionally losing use of B channels in chan_misdn. I have not been able to reproduce the problem of losing channels. However, I have seen in the code a reentrancy problem that might give these symptoms. The reentrancy patch does several things: 1) Guards B channel and B channel structure allocation. 2) Makes the B channel structure find routines more precise in locating records. 3) Never leave a B channel allocated if we received cause 44. The last item may cause temporary outgoing call problems, but they should clear when the line becomes idle. (closes issue ASTERISK-14455) Reported by: slutec18 Patches: issue15490_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: rmudgett, slutec18 (closes issue ASTERISK-14426) Reported by: FabienToune Patches: issue15458_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: FabienToune, rmudgett, slutec18 ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=221871 By: Digium Subversion (svnbot) 2009-10-01 20:38:27 Repository: asterisk Revision: 221879 _U branches/1.6.2/ U branches/1.6.2/channels/misdn/isdn_lib.c U branches/1.6.2/channels/misdn/isdn_lib_intern.h ------------------------------------------------------------------------ r221879 | rmudgett | 2009-10-01 20:38:26 -0500 (Thu, 01 Oct 2009) | 40 lines Merged revisions 221844 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r221844 | rmudgett | 2009-10-01 20:09:31 -0500 (Thu, 01 Oct 2009) | 33 lines Merged revisions 221769 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r221769 | rmudgett | 2009-10-01 18:18:28 -0500 (Thu, 01 Oct 2009) | 26 lines Occasionally losing use of B channels in chan_misdn. I have not been able to reproduce the problem of losing channels. However, I have seen in the code a reentrancy problem that might give these symptoms. The reentrancy patch does several things: 1) Guards B channel and B channel structure allocation. 2) Makes the B channel structure find routines more precise in locating records. 3) Never leave a B channel allocated if we received cause 44. The last item may cause temporary outgoing call problems, but they should clear when the line becomes idle. (closes issue ASTERISK-14455) Reported by: slutec18 Patches: issue15490_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: rmudgett, slutec18 (closes issue ASTERISK-14426) Reported by: FabienToune Patches: issue15458_channel_alloc_reentrancy.patch uploaded by rmudgett (license 664) Tested by: FabienToune, rmudgett, slutec18 ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=221879 |