That is a known internal limitation in Asterisk-R2 code for 1.4, nothing to do with openr2 itself. For each comma a new r2link is created and there is a limit of about 32 links, on the other hand, separating by a dash just adds all the channels to the same r2link.<div>
<div><br></div><div>It's relatively easy to fix but requires changing the C source code for the openr2-asterisk-1.4.21.patch and I have decided that I will not touch Asterisk 1.4 R2 code except for bug fixes and paid consultancy.<div>
<br></div><div>Asterisk 1.6 R2 code does not has this limitation.</div><div><br></div><div>But seriously, why someone could think of generating such file if it's just easier to read and arguably even parse, 1-15,17-31??<br>
<br></div><div>-- <br>Moises Silva<br>Senior Software Engineer<br>Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3 Canada<br>t. 1 905 474 1990 x 128 | e. <a href="mailto:moy@sangoma.com">moy@sangoma.com</a></div>
<div><br><div class="gmail_quote">On Tue, Jan 26, 2010 at 6:18 PM, Norman Schmidt <span dir="ltr"><<a href="mailto:norman@omegatecnologia.com">norman@omegatecnologia.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello,<br>
Some time ago I wrote a php script which generates the zaptel/zapata.conf<br>
files.<br>
Recently I discovered a problem directly related to the format I use to<br>
represent the channels at zapata.conf.<br>
<br>
Im using the last pre-dahdi asterisk/zaptel version:<br>
- Asterisk 1.4.21.2 built by root @ servidor on a i686 running Linux on<br>
2009-04-12 19:48:21 UTC<br>
- Zaptel version 1.4.12.1<br>
- OpenR2 patch downloaded from:<br>
<a href="http://openr2.googlecode.com/files/openr2-asterisk-1.4.21.patch" target="_blank">http://openr2.googlecode.com/files/openr2-asterisk-1.4.21.patch</a><br>
- OpenR2 version: 1.1.0, revision: exported<br>
- LibopenR2 version 1.1.0 download from:<br>
<a href="http://openr2.googlecode.com/files/openr2-1.1.0.tar.gz" target="_blank">http://openr2.googlecode.com/files/openr2-1.1.0.tar.gz</a><br>
<br>
The problem arises when Im using more than one E1 port interface. I traced<br>
it down to the "channels" directive, at zapata.conf. Lets say Im using a<br>
2xE1 interface and I set the "channel=" directive this way at zapata.conf:<br>
<br>
signalling=mfcr2<br>
context=um<br>
mfcr2_etcetcetc options<br>
group=1<br>
channel=1-15,17-31<br>
<br>
signalling=mfcr2<br>
context=dois<br>
mfcr2_etcetcetc options<br>
group=2<br>
channel=32-46,48-62<br>
<br>
Everything works perfectly. All channels available, working:<br>
gw*CLI> mfcr2 show channels<br>
Chan Variant Max ANI Max DNIS ANI First Immediate Accept Tx CAS Rx CAS<br>
1 BR 20 20 No No IDLE IDLE<br>
2 BR 20 20 No No IDLE IDLE<br>
3 BR 20 20 No No IDLE IDLE<br>
4 BR 20 20 No No IDLE IDLE<br>
5 BR 20 20 No No IDLE IDLE<br>
6 BR 20 20 No No IDLE IDLE<br>
7 BR 20 20 No No IDLE IDLE<br>
8 BR 20 20 No No IDLE IDLE<br>
9 BR 20 20 No No IDLE IDLE<br>
10 BR 20 20 No No IDLE IDLE<br>
11 BR 20 20 No No IDLE IDLE<br>
12 BR 20 20 No No IDLE IDLE<br>
13 BR 20 20 No No IDLE IDLE<br>
14 BR 20 20 No No IDLE IDLE<br>
15 BR 20 20 No No IDLE IDLE<br>
17 BR 20 20 No No IDLE IDLE<br>
18 BR 20 20 No No IDLE IDLE<br>
19 BR 20 20 No No IDLE IDLE<br>
20 BR 20 20 No No IDLE IDLE<br>
21 BR 20 20 No No IDLE IDLE<br>
22 BR 20 20 No No IDLE IDLE<br>
23 BR 20 20 No No IDLE IDLE<br>
24 BR 20 20 No No IDLE IDLE<br>
25 BR 20 20 No No IDLE IDLE<br>
26 BR 20 20 No No IDLE IDLE<br>
27 BR 20 20 No No IDLE IDLE<br>
28 BR 20 20 No No IDLE IDLE<br>
29 BR 20 20 No No IDLE IDLE<br>
30 BR 20 20 No No IDLE IDLE<br>
31 BR 20 20 No No IDLE IDLE<br>
32 BR 20 20 No No IDLE IDLE<br>
33 BR 20 20 No No IDLE IDLE<br>
34 BR 20 20 No No IDLE IDLE<br>
35 BR 20 20 No No IDLE IDLE<br>
36 BR 20 20 No No IDLE IDLE<br>
37 BR 20 20 No No IDLE IDLE<br>
38 BR 20 20 No No IDLE IDLE<br>
39 BR 20 20 No No IDLE IDLE<br>
40 BR 20 20 No No IDLE IDLE<br>
41 BR 20 20 No No IDLE IDLE<br>
42 BR 20 20 No No IDLE IDLE<br>
43 BR 20 20 No No IDLE IDLE<br>
44 BR 20 20 No No IDLE IDLE<br>
45 BR 20 20 No No IDLE IDLE<br>
46 BR 20 20 No No IDLE IDLE<br>
48 BR 20 20 No No IDLE IDLE<br>
49 BR 20 20 No No IDLE IDLE<br>
50 BR 20 20 No No IDLE IDLE<br>
51 BR 20 20 No No IDLE IDLE<br>
52 BR 20 20 No No IDLE IDLE<br>
53 BR 20 20 No No IDLE IDLE<br>
54 BR 20 20 No No IDLE IDLE<br>
55 BR 20 20 No No IDLE IDLE<br>
56 BR 20 20 No No IDLE IDLE<br>
57 BR 20 20 No No IDLE IDLE<br>
58 BR 20 20 No No IDLE IDLE<br>
59 BR 20 20 No No IDLE IDLE<br>
60 BR 20 20 No No IDLE IDLE<br>
61 BR 20 20 No No IDLE IDLE<br>
62 BR 20 20 No No IDLE IDLE<br>
<br>
* BUT * If I set the "channel=" directives the following way (the way my<br>
script generates them):<br>
<br>
signalling=mfcr2<br>
context=um<br>
mfcr2_etcetcetc options<br>
group=1<br>
channel=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31<br>
<br>
signalling=mfcr2<br>
context=dois<br>
mfcr2_etcetcetc options<br>
group=2<br>
channel=32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62<br>
<br>
Only 34 channels are made available, and there is NO WAY I can use the<br>
channels 34-62 :<br>
<br>
gw*CLI> mfcr2 show channels<br>
Chan Variant Max ANI Max DNIS ANI First Immediate Accept Tx CAS Rx CAS<br>
1 BR 20 20 No No IDLE BLOCK<br>
2 BR 20 20 No No IDLE BLOCK<br>
3 BR 20 20 No No IDLE BLOCK<br>
4 BR 20 20 No No IDLE BLOCK<br>
5 BR 20 20 No No IDLE BLOCK<br>
6 BR 20 20 No No IDLE BLOCK<br>
7 BR 20 20 No No IDLE BLOCK<br>
8 BR 20 20 No No IDLE BLOCK<br>
9 BR 20 20 No No IDLE BLOCK<br>
10 BR 20 20 No No IDLE BLOCK<br>
11 BR 20 20 No No IDLE BLOCK<br>
12 BR 20 20 No No IDLE BLOCK<br>
13 BR 20 20 No No IDLE BLOCK<br>
14 BR 20 20 No No IDLE BLOCK<br>
15 BR 20 20 No No IDLE BLOCK<br>
17 BR 20 20 No No IDLE BLOCK<br>
18 BR 20 20 No No IDLE BLOCK<br>
19 BR 20 20 No No IDLE BLOCK<br>
20 BR 20 20 No No IDLE BLOCK<br>
21 BR 20 20 No No IDLE BLOCK<br>
22 BR 20 20 No No IDLE BLOCK<br>
23 BR 20 20 No No IDLE BLOCK<br>
24 BR 20 20 No No IDLE BLOCK<br>
25 BR 20 20 No No IDLE BLOCK<br>
26 BR 20 20 No No IDLE BLOCK<br>
27 BR 20 20 No No IDLE BLOCK<br>
28 BR 20 20 No No IDLE BLOCK<br>
29 BR 20 20 No No IDLE BLOCK<br>
30 BR 20 20 No No IDLE BLOCK<br>
31 BR 20 20 No No IDLE BLOCK<br>
32 BR 20 20 No No IDLE BLOCK<br>
33 BR 20 20 No No IDLE BLOCK<br>
<br>
I use this "one-channel-at-a-time-with-commas" format of channel= directives<br>
with PRI E1 ports with *no* problems. I can even MIX PRI E1 ports with R2<br>
ports in a Quad E1 interface, and the problem arises only when Im using this<br>
format on more than one E1 port with mfcr2 signalling. The zaptel.conf file<br>
accepts both formats, for both types of signalling.<br>
<br>
Resuming, on zapata.conf, this:<br>
<br>
channel=1-15,17-31<br>
channel=32-46,48-62<br>
<br>
works with signalling=mfcr2<br>
while this:<br>
<br>
channel=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31<br>
channel=32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62<br>
<br>
does not. Does libopenR2 not accept the long format?<br>
<br>
Norman<br>
<font color="#888888"><br>
<br>
<br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-r2 mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
<a href="http://lists.digium.com/mailman/listinfo/asterisk-r2" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-r2</a><br>
</font></blockquote></div><br><br>
</div></div></div>