Installing 3CX SBC (Session Border Controller) for Raspberry Pi
The 3CX SBC is deployed to remote offices where there are more than 2 or 3 IP Phones, to direct only their signaling through the 3CX Tunnel and keep the media streams local which reduces the amount of internet bandwidth that local calls between phones use. SBC will bundle all SIP traffic over a single TCP port which simplifies your deployment by reducing firewall configuration. In addition 3CX SBC will add stability & security and allow you to easily manage and provision your IP Phones remotely.
When purchasing a Raspberry Pi, make sure to purchase the Raspberry Pi 2 Model B which is more performant than it’s predecessor (V1) and select the “kit” option which includes a supported SD Card because not all SD cards are compatible.
Step 1: Install Raspbian Operating system
- Assemble your Raspberry Pi, connect it to a monitor using a HDMI cable, plug in to your network and power up the device.
- A window titled “NOOBS” will appear. Select Raspbian OS and install. When the installation is completed a menu will come up.
- Select option 2 to change the default password. The Default username is “pi” and password “raspberry”.
- Select option 8 - (Advanced Options) and select the “Hostname” option. Enter a unique hostname for the device.
- Enable SSH on the device to be able to connect to it using a SSH client.
- From the main menu select “Finish” and select “Yes” to reboot.
Step 2: Download and Install 3CX SBC
- Type the following command to the terminal:
‘wget http://downloads.3cx.com/downloads/sbc/3cxsbc.zip’ and press “Enter”
- Type this command ‘sudo bash 3cxsbc.zip’ and press “Enter”
Step 3: Configure 3CX SBC
Once installed you will be prompted to enter the details for your 3CX Phone System as described above in the Required Details section.
In this section you are going to need to access the 3CX Management console to get information from there.
- Enter “FQDN”: You can get this from “Settings” > “Network” > “FQDN Tab”.
- Enter “Local IP”. Enter the IP Address of 3CX Phone System. If 3CX Phone System is behind a NAT enter the local IP. If 3CX Phone System is not behind a NAT (where “ipconfig” will result in a public IP address), then enter the Public IP.
- Enter “PBX Port”: You can get this from "Settings” > “Network”> “Ports” tab > “SIP Port” field.
- Enter “Tunnel port”: located in “Settings” > “Security” > “3CX Tunnel” > “Tunnel Listening port”
- Enter “Tunnel Password”: which you can get from “Settings” > “Security” > “3CX Tunnel” > “Tunnel Password”.
- 3CX SBC has the ability to connect your remote office to another standby 3CX Phone System in case the 3CX Primary Server is no longer reachable. If you have failover configured with 3CX Phone System, select Option 1: Enable Failover followed by the public ip of the standby failover server. Otherwise choose Option 2.
- Enable Encryption to add an extra layer of security by encrypting all data and calls passing through the 3CX SBC and the 3CX PBX. This requires 3CXPhone System Version 14 and higher.
If you are already running version of the 3CX SBC installed on your Raspberry Pi you can upgrade as follows:
- Enter ‘sudo apt-get update’
- Enter ‘sudo apt-get install 3cxsbc’
- Type “N” and press “Enter”
Your 3CX SBC will update and restart. You can proceed to configure your IP Phones from your 3CX Phone System.