From: Christian Richter Date: Mon, 2 Apr 2007 07:12:24 +0000 (+0000) Subject: we can now make 30 channels on a PRI (before we forgot chan 31..) X-Git-Tag: 1.2.18~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=51366b90d01b01004e80d12289ae55e150aa880e;p=thirdparty%2Fasterisk.git we can now make 30 channels on a PRI (before we forgot chan 31..) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@59623 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c index 73ee200963..194b07bd75 100644 --- a/channels/misdn/isdn_lib.c +++ b/channels/misdn/isdn_lib.c @@ -429,9 +429,11 @@ static int find_free_chan_in_stack(struct misdn_stack *stack, int channel, int d } channel--; + + int bnums=stack->pri?stack->b_num:stack->b_num-1; if (dec) { - for (i = stack->b_num-1; i >=0; i--) { + for (i = bnums; i >=0; i--) { if (i != 15 && (channel < 0 || i == channel)) { /* skip E1 Dchannel ;) and work with chan preselection */ if (!stack->channels[i]) { cb_log (3, stack->port, " --> found chan%s: %d\n", channel>=0?" (preselected)":"", i+1); @@ -440,7 +442,7 @@ static int find_free_chan_in_stack(struct misdn_stack *stack, int channel, int d } } } else { - for (i = 0; i < stack->b_num; i++) { + for (i = 0; i <= bnums; i++) { if (i != 15 && (channel < 0 || i == channel)) { /* skip E1 Dchannel ;) and work with chan preselection */ if (!stack->channels[i]) { cb_log (3, stack->port, " --> found chan%s: %d\n", channel>=0?" (preselected)":"", i+1);