diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-02 07:12:24 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-04-02 07:12:24 +0000 |
commit | e58b87b994a3cc1d7f202ff71963ade511ead9cf (patch) | |
tree | ce9c1d9c01534e30bd7014c35b406fdadc687098 | |
parent | b04642f14f66e1ed2764a5140ee683267892c0f2 (diff) |
we can now make 30 channels on a PRI (before we forgot chan 31..)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@59623 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | channels/misdn/isdn_lib.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c index 73ee20096..194b07bd7 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); |