Project

General

Profile

OCTOI Event PBX » History » Version 10

laforge, 11/09/2022 09:12 AM

1 3 laforge
{{>toc}}
2
3 1 laforge
h1. OCTOI Event PBX
4
5
The OCTOI Event PBX are a couple of modified/enhannced 3U rackmount PBX systems which we can bring to retrocomputing / hacker events or museum exhibitions to provide a temporary point of connection to the OCTOI network.
6
7
They contain everything that's needed to connect to the network:
8
* An Auerswald COMmander 2 Basic PBX with
9
** one 8 port S0 line card (each S0 bus available on two RJ45 connectors)
10
** one 8 port analog line card (each analog port available on one RJ45 connector)
11
** one S2M (PRI) line card (connected to the icE1usb)
12
* the icE1usb device
13
* an embedded GNU/Linux computer (Beaglebone green) to run osmo-e1d and run the TDMoIP protocol endpoint
14
* an internal ethernet switch to allow access to the Auerswald
15
16
The idea is that you bring this unit to an event, connect it to power and ethernet (with internet access), connect some Phones/Modems/... and be ready to use the OCTOI network.
17
18
h2. Photos
19
20
h3. Front view with open lid
21
22 2 laforge
{{thumbnail(20221105_000955.jpg,size=600)}}
23 1 laforge
24
h3. Internal view showing Ethernet switch, icE1usb and beaglebone green
25
26 2 laforge
{{thumbnail(20221105_001006.jpg,size=600)}}
27 3 laforge
28
h2. Parameters / Configuration
29
30
|_.Unit|_.OCTOI Prefix|_.Beaglebone MAC|
31
|PBX 1|030-2601|40:bd:32:e4:88:b8|
32 5 laforge
|PBX 2|030-2602|34:84:e4:0c:87:c6|
33
|PBX 3|030-2603|98:f0:7b:70:9b:1f|
34
|PBX 4|030-2604|34:84:e4:0a:ec:f3|
35 3 laforge
36
h2. Dial Plan
37
38
|_.Port|_.Extension (MSN)|
39
|S0 1|2110, 2111, 2112|
40
|S0 2|2120, 2121, 2122|
41
|S0 3|2130, 2131, 2132|
42
|S0 4|2140, 2141, 2142|
43
|S0 5|2150, 2151, 2152|
44
|S0 6|2160, 2161, 2162|
45
|S0 7|2170, 2171, 2172|
46
|S0 8|2180, 2181, 2182|
47
|analog 1|2310|
48
|analog 2|2320|
49
|analog 3|2330|
50
|analog 4|2340|
51
|analog 5|2350|
52
|analog 6|2360|
53
|analog 7|2370|
54
|analog 8|2380|
55 1 laforge
56 6 laforge
h2. Usage
57
58
There really isn't much to be done.  
59
60
# Connect an Ethernet cable to the RJ45 connector on the bottom left side of the enclosure
61
# power up the system using the main switch next to the AC inleton the back
62
#* The beaglebone will obtain a DHCP lease and establish the OCTOI/TDMoIP connection to the OCTOI hub (@divf.retronetworking.org@).
63
#* the system (both the PBX and the beaglebone) will take quite a bit of time to boot.
64
# if you have GPS line of sight, optionally connect the GPS antenna to the SMA connector on the right hand side front panel. This will improve clock stability and avoid cycle slips.
65
# connect ISDN equipment to the ISDN ports (8 S0 busses each exposed to 2x8P8C on the two leftmost panels)
66
#* make sure the MSNs are configured correctly (see labels on the port and table above). The PBX will reject any calls originated from a phone with wrong MSN
67
#* one set of 100 Ohms terminators is active inside the PBX; for proper termination another set is formally required, but usually it just works without those, at leaset on short wires.
68
# connect analog equipment to the analog ports (8 a/b ports each exposed to 1x8P8C on a panel in the center of the front side)
69
#* you will need some adapters for 8P8C to TAE (or whatever telephone connector your equipment has)
70
71
h2. LEDs
72
73
h3. PBX LEDs on the left side of the face plate
74
75 9 laforge
h4. Power LED
76
77 6 laforge
FIXME
78
79 9 laforge
h4. Status LED
80
81
FIXME
82
83
h4. (left) Ethernet port LEDs
84
85 10 laforge
Please note the LEDs confusingly indicate the link/traffic status between PBX and Ethernet switch, and *not* the link status of the RJ45 port, which connects to the Ethernet switch.
86 6 laforge
87
h2. Debugging/Introspection
88 1 laforge
89 10 laforge
h3. externally (without opening the enclosure)
90
91
You can log into the beaglebone via
92
* ssh from admin ethernet port on the right hand 
93
* via VPN
94
* via the serial console exposed on a PL2303 USB UART on a USB type B connector (right hand side)
95
96
You can check
97
* if the beaglebone can ping divf.retronetworking.org (the OCTOI hub)
98
* if the OCTOI link is happy (see below)
99
100
h4. checking OCTOI link
101
102
<pre>
103
debian@octoi-pbx1:~$ telnet localhost 4269
104
Trying ::1...
105
Trying 127.0.0.1...
106
Connected to localhost.
107
Escape character is '^]'.
108
Welcome to the osmo-e1d VTY interface
109
110
(C) 2019-2022 by Sylvain Munaut, Harald Welte and contributors
111
osmo-e1d>
112
</pre>
113
114
<pre>
115
osmo-e1d> show line
116
Interface #0 (dc697407e74c8222), Line #0, Mode E1OIP:
117
 Counters for each line in e1d:
118
  Rx Signal Lost:        0 (0/s 0/m 0/h 0/d)
119
  Rx Alignment Lost:        0 (0/s 0/m 0/h 0/d)
120
  E1 Rx CRC Errors:        0 (0/s 0/m 0/h 0/d)
121
  E1 Rx Overflow:        0 (0/s 0/m 0/h 0/d)
122
  E1 Tx Underflow:        0 (0/s 0/m 0/h 0/d)
123
  Rx Frames Reporting Remote CRC Error:        0 (0/s 0/m 0/h 0/d)
124
  Rx Frames Reporting Remote Alarm:        0 (0/s 0/m 0/h 0/d)
125
  E1 Tx Frames multiplexed: 306762727 (7999/s 511984/m 47521439/h 288008503/d)
126
  E1 Rx Frames demultiplexed: 306762504 (8000/s 511992/m 47521440/h 288008280/d)
127
</pre>
128
129
If things are good, you should see about 8000 E1 frames multiplexed per second ana no errors (0/s) for any of the other counters
130
131
<pre>
132
osmo-e1d> show octoi-clients 
133
Account 'foobar': Mode=ice1usb, Batching=32, Prefill=200
134
OCTOI Client Socket on 0.0.0.0:10013
135
 Peer '213.95.46.30:10013', Remote 213.95.46.30:10013, State ACCEPTED
136
  Counters for E1oIP line:
137
   Frames underrun / slipped in IP->E1 direction:    19462 (0/s 0/m 0/h 19462/d)
138
   Frames substituted in E1->IP direction:      213 (0/s 0/m 0/h 213/d)
139
   Frames overflowing the RIFO in IP->E1 direction:       48 (0/s 0/m 0/h 48/d)
140
   Frames overflowed in E1->IP direction:        0 (0/s 0/m 0/h 0/d)
141
   Packets out-of-order in IP->E1 direction:        1 (0/s 0/m 0/h 1/d)
142
   Packets out-of-rx-window in IP->E1 direction:        0 (0/s 0/m 0/h 0/d)
143
   OCTOI connections entering accepted state:        2 (0/s 0/m 0/h 2/d)
144
   Number of bytes received including UDP+IP header: 355466847 (9250/s 601900/m 55559499/h 333193223/d)
145
   Number of UDP packets received:  9604883 (250/s 16263/m 1501246/h 9003039/d)
146
   Number of bytes transmitted including UDP+IP header: 336025700 (8750/s 569188/m 52523558/h 314968877/d)
147
   Number of UDP packets transmitted:  9596614 (250/s 16251/m 1500046/h 8995250/d)
148
  Stat items for E1oIP line:
149
   Round Trip Time (in us):    24871 
150
   E1 originated FIFO level:       16 
151
   E1 terminated FIFO level:      216 
152
   E1 timeslots active in E1->IP direction:        0 
153
   E1 timeslots active in IP->E1 direction:        0 
154
</pre>
155
156
If things are good, you should see 
157
* a non-zero, about 200..240 high E1 terminated FIFO level
158
* 250 UDP packets per second Rx and Tx
159
* no significant rate (per second) of underrun/substitution/overflows
160 6 laforge
161 1 laforge
h2. Manufacturing
162
163 4 laforge
h3. Parts list
164
165
* Auerswald COMmander 2 Basic 2 19" base unit
166
* Auerswald S2M module
167
* Auerswald 8 a/b module
168
* Auerswald 8 S0 module
169
* Netgear GS305E ethernet switch
170
* MeanWell RD-35A power supply
171
* beaglebone green or black
172
* icE1usb
173
* USB-micro-B to 2 wire open ended DC power cable
174
* 2.1/5mm barrel plug 2 wire open ended DC power cable
175
* PE/L/N wire in 1/1.5mm2 with associated cable-end-sleeves
176
* 2x Wago 222-413 clamp
177
* 4x M3 6mm screw with your favorite drive (I like TX10)
178
* 4x M3 5mm hexagonal spacer with external / internal thread
179
* 4x M3 nut
180
* 2x M3 4mm screw with your favorite drive (I like TX10)
181
* 50cm RJ45 patch cable
182
* 25cm RJ45 patch cable
183
* optionally, a less noisy 80mm fan (like Noctua NF-8A FLX)
184
* SMA to SMA cable, ~20cm length
185
* bulkhead mount SMA-to-SMA pass-through or [[osmo-lab-rack:Bgt-keystone6]] with SMA keystone module
186
187
188 1 laforge
h3. Steps, rough outline
189
190
* drill mounting holes for combined 12V (switch) and 5V (beaglebone) PSU (Mean Well RD-35A) in the back plate
191
** do not mount the power supply yet, as  you won't be able to reach the terminal philips screws anymore
192
* configure GS305E ethernet switch (admin interface on 192.168.0.239 as described in manual)
193
* mount GS305E ethernet switch using mounting tape (make sure to clean surfaces first). It fits perfectly in the gap between Auerswald blue plastic carrier and the right side panel of the 3U 19" housing
194
* drill mounting holes for beaglebone into right side panel
195
* mount beaglebone using 5mm M3 hex spacers, M3 nuts and M3x6mm screws (nuts on beaglebone top PCB side, screws from outside of right side panel)
196
* use 2-wire USB-micro-B cable to connect 5V terminals of power supply to beaglebone
197
* use 2-wire 2.1mm/5mm barrel connector cable to connect 12V of power supply to Ethernet switch
198
* AC wiring
199
** remove PBX mainboard to  remove the L and N wires from its AC input (three PH1 screws)
200
** crimp and connect N (blue) and L (brown) wire (1.0/1.5mm2) with cable-end-sleeves and attach to PBX mainboard AC input
201
** re-mount the PBX mainboard (three PH1 screws)
202
** crimp and connect PE wire (1/1.5mm2) with cable-end-sleeve (power supply side) and ring terminal (attach to grounding bolt)
203
** crimp and connect N (blue) and L (brown) wire (1.0/1.5mm2) with cable-end-sleeves and attach to power supply
204
** Use one 3-way "Klapp-Wago" (Wago 222-413) clamps for L and N to connect power supply, PBX mainboard and AC input
205
* mount the power supply to the back panel using two M3x4 screws
206
* replace the existing fan with a low-noise fan (like Noctua NF-8A FLX). The PBX consumes very little power (20W idle, with switch/beaglebone/ice1usb maybe 30W) and even only the slightest airflow is sufficient.  No need for a noisy high-rpm fan.
207
* Ethernet wiring
208
** unplug the RJ45 pigtail from the PBX mainboard and plug it in switch port 2
209
** use a 50cm patch cable to connect the PBX mainboard with switch port 3
210
** use a 25cm patch cable to connect the beaglebone with switch port 5
211
* icE1usb
212
** use USB-C to USB-A cable to connect icE1usb to USB port of beaglebone
213
** crimp an E1 cross-over cable using two 8P8C RJ45 plugs and ~ 20cm of CAT5 cable; use it to connect PBX S2M card to line0 of icE1usb
214
** come up with some kind of panel-mount SMA pass-through for the GPS input signal. Example picture shows a [[osmo-lab-rack:Bgt-keystone6]], but you can also simply drill a 6mm hole into a blank face plate.
215
** use ~20cm SMA pigtail to connect SMA face plate pass-through to GPS input SMA jack of icE1usb
216
** mount icE1usb; an easy option is to remove the rubber gaskets from the icE1usb and use mounting tape to glue it to the top of the GS305E ethernet switch
217 7 laforge
218
h2. Software Setup
219
220
h3. Switch Configuration
221
222 8 laforge
|_.Port|_.VLAN|_.Connects to|
223
|1|1 U|Not used (switch admin interface at 192.168.0.239/24)|
224
|2|3002 U|Uplink / Internet|
225
|3|3003 U|Auerswald PBX|
226
|4|3003 U|Admin Ethernet|
227
|5|all T|beaglebone|
228 7 laforge
229 8 laforge
!gs305_pvid.png! !gs305_vlan.png!
230 1 laforge
231
Config backup is at attachment:GS305E.cfg
232 8 laforge
233
h3. Beaglebone
234
235
* boots from eMMC
236
* Debian 10 for beaglebone with standard login/password (User @debian@, password @Osmocom2022@)
237
* @osmo-e1d@ package from @osmocom:nightly@ feed (0.4.0.8.56a7.202210210002 at time of install), config in @/etc/osmocom/osmo-e1d.cfg@
238
* @openvpn@ config in @/etc/openvpn/client@
239
* serial console exposed via USB-UART to front panel as USB B connector
240
* 
241
242
h3. Auerswald PBX
243
244
* IP: 192.168.0.240 in internal VLAN, reachable via the Admin Ethernet Port
245
* Config backup: attachment:basic2_konfiguration_2022-11-02-1057.cfg
Add picture from clipboard (Maximum size: 48.8 MB)