aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-02 07:12:24 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2007-04-02 07:12:24 +0000
commite58b87b994a3cc1d7f202ff71963ade511ead9cf (patch)
treece9c1d9c01534e30bd7014c35b406fdadc687098
parentb04642f14f66e1ed2764a5140ee683267892c0f2 (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.c6
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);