Project

General

Profile

Actions

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

20221109_125221.jpg 20221109_125259.jpg 20221109_125251.jpg

Front view with open lid

20221105_000955.jpg

Internal view showing Ethernet switch, icE1usb and beaglebone green

20221105_001006.jpg

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.

  1. Connect an Ethernet cable to the RJ45 connector on the bottom left side of the enclosure
  2. 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.
  3. 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.
  4. 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.
  5. 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)
You can check
  • 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:        0 
If 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

GS305E PVID config screenshot GS305E VLAN config snapshot

Config backup is at GS305E.cfg

Beaglebone

  • boots from eMMC
  • Debian 10 for beaglebone with standard login/password (User debian, password Osmocom2022)
  • osmo-e1d package from osmocom: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

Updated by laforge 10 days ago · 11 revisions

Add picture from clipboard (Maximum size: 48.8 MB)