- Table of contents
- OCTOI Event PBX
OCTOI Event PBX¶
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.
They contain everything that's needed to connect to the network:- An Auerswald COMmander 2 Basic PBX with
- one 8 port S0 line card (each S0 bus available on two RJ45 connectors)
- one 8 port analog line card (each analog port available on one RJ45 connector)
- one S2M (PRI) line card (connected to the icE1usb)
- the icE1usb device
- an embedded GNU/Linux computer (Beaglebone green) to run osmo-e1d and run the TDMoIP protocol endpoint
- an internal ethernet switch to allow access to the Auerswald
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.
Photos¶
Fully assembled unit in flight case¶
Front view with open lid¶
Internal view showing Ethernet switch, icE1usb and beaglebone green¶
Parameters / Configuration¶
Unit | OCTOI Prefix | Beaglebone MAC |
---|---|---|
PBX 1 | 030-2601 | 40:bd:32:e4:88:b8 |
PBX 2 | 030-2602 | 34:84:e4:0c:87:c6 |
PBX 3 | 030-2603 | 98:f0:7b:70:9b:1f |
PBX 4 | 030-2604 | 34:84:e4:0a:ec:f3 |
Dial Plan¶
Port | Extension (MSN) |
---|---|
S0 1 | 2110, 2111, 2112 |
S0 2 | 2120, 2121, 2122 |
S0 3 | 2130, 2131, 2132 |
S0 4 | 2140, 2141, 2142 |
S0 5 | 2150, 2151, 2152 |
S0 6 | 2160, 2161, 2162 |
S0 7 | 2170, 2171, 2172 |
S0 8 | 2180, 2181, 2182 |
analog 1 | 2310 |
analog 2 | 2320 |
analog 3 | 2330 |
analog 4 | 2340 |
analog 5 | 2350 |
analog 6 | 2360 |
analog 7 | 2370 |
analog 8 | 2380 |
Usage¶
There really isn't much to be done.
- Connect an Ethernet cable to the RJ45 connector on the bottom left side of the enclosure
- power up the system using the main switch next to the AC inleton the back
- The beaglebone will obtain a DHCP lease and establish the OCTOI/TDMoIP connection to the OCTOI hub (
divf.retronetworking.org
). - the system (both the PBX and the beaglebone) will take quite a bit of time to boot.
- The beaglebone will obtain a DHCP lease and establish the OCTOI/TDMoIP connection to the OCTOI hub (
- 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.
- connect ISDN equipment to the ISDN ports (8 S0 busses each exposed to 2x8P8C on the two leftmost panels)
- 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
- 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.
- 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)
- you will need some adapters for 8P8C to TAE (or whatever telephone connector your equipment has)
LEDs¶
PBX LEDs on the left side of the face plate¶
Power LED¶
FIXME
Status LED¶
FIXME
(left) Ethernet port LEDs¶
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.
Debugging/Introspection¶
externally (without opening the enclosure)¶
You can log into the beaglebone via- ssh from admin ethernet port on the right hand
- via VPN
- via the serial console exposed on a PL2303 USB UART on a USB type B connector (right hand side)
- if the beaglebone can ping divf.retronetworking.org (the OCTOI hub)
- if the OCTOI link is happy (see below)
checking OCTOI link¶
debian@octoi-pbx1:~$ telnet localhost 4269 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Welcome to the osmo-e1d VTY interface (C) 2019-2022 by Sylvain Munaut, Harald Welte and contributors osmo-e1d>
osmo-e1d> show line Interface #0 (dc697407e74c8222), Line #0, Mode E1OIP: Counters for each line in e1d: Rx Signal Lost: 0 (0/s 0/m 0/h 0/d) Rx Alignment Lost: 0 (0/s 0/m 0/h 0/d) E1 Rx CRC Errors: 0 (0/s 0/m 0/h 0/d) E1 Rx Overflow: 0 (0/s 0/m 0/h 0/d) E1 Tx Underflow: 0 (0/s 0/m 0/h 0/d) Rx Frames Reporting Remote CRC Error: 0 (0/s 0/m 0/h 0/d) Rx Frames Reporting Remote Alarm: 0 (0/s 0/m 0/h 0/d) E1 Tx Frames multiplexed: 306762727 (7999/s 511984/m 47521439/h 288008503/d) E1 Rx Frames demultiplexed: 306762504 (8000/s 511992/m 47521440/h 288008280/d)
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
osmo-e1d> show octoi-clients Account 'foobar': Mode=ice1usb, Batching=32, Prefill=200 OCTOI Client Socket on 0.0.0.0:10013 Peer '213.95.46.30:10013', Remote 213.95.46.30:10013, State ACCEPTED Counters for E1oIP line: Frames underrun / slipped in IP->E1 direction: 19462 (0/s 0/m 0/h 19462/d) Frames substituted in E1->IP direction: 213 (0/s 0/m 0/h 213/d) Frames overflowing the RIFO in IP->E1 direction: 48 (0/s 0/m 0/h 48/d) Frames overflowed in E1->IP direction: 0 (0/s 0/m 0/h 0/d) Packets out-of-order in IP->E1 direction: 1 (0/s 0/m 0/h 1/d) Packets out-of-rx-window in IP->E1 direction: 0 (0/s 0/m 0/h 0/d) OCTOI connections entering accepted state: 2 (0/s 0/m 0/h 2/d) Number of bytes received including UDP+IP header: 355466847 (9250/s 601900/m 55559499/h 333193223/d) Number of UDP packets received: 9604883 (250/s 16263/m 1501246/h 9003039/d) Number of bytes transmitted including UDP+IP header: 336025700 (8750/s 569188/m 52523558/h 314968877/d) Number of UDP packets transmitted: 9596614 (250/s 16251/m 1500046/h 8995250/d) Stat items for E1oIP line: Round Trip Time (in us): 24871 E1 originated FIFO level: 16 E1 terminated FIFO level: 216 E1 timeslots active in E1->IP direction: 0 E1 timeslots active in IP->E1 direction: 0If things are good, you should see
- a non-zero, about 200..240 high E1 terminated FIFO level
- 250 UDP packets per second Rx and Tx
- no significant rate (per second) of underrun/substitution/overflows
Manufacturing¶
Parts list¶
- Auerswald COMmander 2 Basic 2 19" base unit
- Auerswald S2M module
- Auerswald 8 a/b module
- Auerswald 8 S0 module
- Netgear GS305E ethernet switch
- MeanWell RD-35A power supply
- beaglebone green or black
- icE1usb
- USB-micro-B to 2 wire open ended DC power cable
- 2.1/5mm barrel plug 2 wire open ended DC power cable
- PE/L/N wire in 1/1.5mm2 with associated cable-end-sleeves
- 2x Wago 222-413 clamp
- 4x M3 6mm screw with your favorite drive (I like TX10)
- 4x M3 5mm hexagonal spacer with external / internal thread
- 4x M3 nut
- 2x M3 4mm screw with your favorite drive (I like TX10)
- 50cm RJ45 patch cable
- 25cm RJ45 patch cable
- optionally, a less noisy 80mm fan (like Noctua NF-8A FLX)
- SMA to SMA cable, ~20cm length
- bulkhead mount SMA-to-SMA pass-through or Bgt-keystone6 with SMA keystone module
Steps, rough outline¶
- drill mounting holes for combined 12V (switch) and 5V (beaglebone) PSU (Mean Well RD-35A) in the back plate
- do not mount the power supply yet, as you won't be able to reach the terminal philips screws anymore
- configure GS305E ethernet switch (admin interface on 192.168.0.239 as described in manual)
- 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
- drill mounting holes for beaglebone into right side panel
- 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)
- use 2-wire USB-micro-B cable to connect 5V terminals of power supply to beaglebone
- use 2-wire 2.1mm/5mm barrel connector cable to connect 12V of power supply to Ethernet switch
- AC wiring
- remove PBX mainboard to remove the L and N wires from its AC input (three PH1 screws)
- crimp and connect N (blue) and L (brown) wire (1.0/1.5mm2) with cable-end-sleeves and attach to PBX mainboard AC input
- re-mount the PBX mainboard (three PH1 screws)
- crimp and connect PE wire (1/1.5mm2) with cable-end-sleeve (power supply side) and ring terminal (attach to grounding bolt)
- crimp and connect N (blue) and L (brown) wire (1.0/1.5mm2) with cable-end-sleeves and attach to power supply
- Use one 3-way "Klapp-Wago" (Wago 222-413) clamps for L and N to connect power supply, PBX mainboard and AC input
- mount the power supply to the back panel using two M3x4 screws
- 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.
- Ethernet wiring
- unplug the RJ45 pigtail from the PBX mainboard and plug it in switch port 2
- use a 50cm patch cable to connect the PBX mainboard with switch port 3
- use a 25cm patch cable to connect the beaglebone with switch port 5
- icE1usb
- use USB-C to USB-A cable to connect icE1usb to USB port of beaglebone
- 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
- come up with some kind of panel-mount SMA pass-through for the GPS input signal. Example picture shows a Bgt-keystone6, but you can also simply drill a 6mm hole into a blank face plate.
- use ~20cm SMA pigtail to connect SMA face plate pass-through to GPS input SMA jack of icE1usb
- 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
Software Setup¶
Switch Configuration¶
Port | VLAN | Connects to |
---|---|---|
1 | 1 U | Not used (switch admin interface at 192.168.0.239/24) |
2 | 3002 U | Uplink / Internet |
3 | 3003 U | Auerswald PBX |
4 | 3003 U | Admin Ethernet |
5 | all T | beaglebone |
Config backup is at GS305E.cfg
Beaglebone¶
- boots from eMMC
- Debian 10 for beaglebone with standard login/password (User
debian
, passwordOsmocom2022
) osmo-e1d
package fromosmocom:nightly
feed (0.4.0.8.56a7.202210210002 at time of install), config in/etc/osmocom/osmo-e1d.cfg
openvpn
config in/etc/openvpn/client
- serial console exposed via USB-UART to front panel as USB B connector *
Auerswald PBX¶
- IP: 192.168.0.240 in internal VLAN, reachable via the Admin Ethernet Port
- Config backup: basic2_konfiguration_2022-11-02-1057.cfg
Updated by laforge about 1 year ago · 11 revisions