In the previous article, I promised to talk about an alternative to the SBC software (Session Border Controller) from 3CX based on the Raspberry PI single board computer.
Raspberry PI is a single-board (four-layer printed circuit board) computer with a size of no more than a pack of cigarettes and is available in several versions:
- "A" (Processor ARM1176JZ-F, 256 MB of RAM, 26 GPIO pins, 1 USB port),
- "A +" (ARM1176JZ-F processor, 512 MB of RAM, 40 GPIO pins, 1 USB port),
- “B” (ARM1176JZ-F processor, 512 MB of RAM, 26 GPIO pins, 2 USB ports, with ethernet),
- "B +" (ARM1176JZ-F processor, 512 MB of RAM, 40 GPIO pins, 4 USB ports, with ethernet),
- “2B” (Broadcom BCM2836 processor - 4 ARM Cortex-A7 cores, 1 GB RAM, 40 GPIO pins, 4 USB ports, with ethernet)
For our purposes, the minimum modification is the “B” modification with Micro SD Card support. But we would recommend model 2B:

')
Our recommendations given the load:
- Up to 5 simultaneous calls - Raspberry PI 2 model B, the average cost on the Yandex market is ~ 3900 rubles
- Up to 15 simultaneous calls - Raspberry PI 2 model 2B, the average cost on the Yandex market is ~ 4500 rubles
Installation and SetupThe piece of iron is configured in a couple of steps:
Step 1. Install the operating system
At startup, a window will appear with a choice of settings, we are interested in Raspbian OS:

After installing the OS, you need access to SSH for further configuration (Login / Password by default:
pi / password ).
Next, we connect via SSH (while loading, hold the Shift button to get to recovery mode) - it is recommended to update the OS (update command:
sudo apt-get update ).
Step 2. Install and configure 3CX SBC
Download and install 3CX SBC (command:
wget downloads.3cx.com/downloads/sbc/3cxsbc.zip ):

Install (command:
sudo sh 3cxsbc.zip ):

After installation, you need to configure the configuration file (command:
Sudo nano /etc/3cxsbc.conf ):
- Specify the password for connecting to the tunnel (configured in the 3CX web interface: Settings / Security / 3CX tunnel, string)
- Specify the port for the tunnel (configured in the 3CX web interface: Settings / Security / 3CX tunnel)
- Specify the host name (configured in the 3CX web interface: Settings / Network / FQDN)
- Specify the SIP port (configured in the 3CX web interface: Settings / Network)

File Location Structure:
- /etc/3cxsbc.conf - configuration file,
- /var/log/3cxsbc.log - logging is disabled by default,
- / usr / sbin / 3cxsbc - executable file
- /etc/init.d/3cxsbc - daemon
And as a result, we get a working scheme:

As mentioned earlier, this scheme is suitable for uniting offices, where no more than 15 simultaneous conversations. If more than 15 are required, we recommend using the software application described in the second part.
Note: the described recommendations are suitable for connecting to the latest version of
3CX Shone System v14 .
Part 1Part 2