Step 1: Add the SBC in 3CX
- In the 3CX “Management Console” go to “SIP Trunks”.
- Click “Add SBC” and provide a name for it, e.g. “Denver Office”.
- Now the SBC link will be created. Take note of the “Authentication KEY ID” and the “Provisioning URL”. These will be required for Step 6.
Step 2: Get the correct Raspberry Pi
- A Raspberry PI 4 B4 or B8
- 32+GB Class 10 Micro SDHC
- Raspberry Pi-compatible 2.5 Amp Micro USB power supply
- Ensure the device has a good casing that allows for maximum cooling
The following Raspberry Pi Shops have “3CX Ready” Raspberry Pis with Raspbian pre installed on the SD card:
- Pimoroni – 3CX PBX Kit. (UK based, ships to UK, EU & worldwide)
- Canakit – 3CX PBX Kit (Ships to USA and Canada)
Step 3: Prepare the SD card with Raspbian
- Download the Raspbian image.
- Extract the image (.img) file from the downloaded archive.
- Burn the Raspbian image file via Etcher.
- Place empty ssh file in the root directory to enable ssh access on pi – raspberry
Step 4: Install Raspbian and set Hostname
- Insert the SD card in the Raspberry Pi memory card slot and power the device to boot.
- Wait for the boot process to complete and login with the default user “pi” and password “raspberry”.
- Run the Raspbian configuration utility with the command:
sudo raspi-config
- Select “1. System Options” and press the <Enter> key.
- Select “S4 Hostname”, press the <Enter> key and then “OK” on the warning dialog.
- Enter the Pi’s hostname using only alphanumeric characters and dashes (“-”).
- Select <Finish> and then <Yes> to reboot and apply the hostname configuration.
Step 5: Set a Static IP
- Edit the “/etc/dhcpcd.conf” file to configure the ethernet interface “eth0” with the nano editor:
sudo nano /etc/dhcpcd.conf
- Scroll to the end of the file and add the following lines, making sure to replace the values for “interface”, “ip_address”, “routers” (gateway) and “domain_name_servers” based on your LAN settings:
#Ethernet static IP configuration
interface eth0
static ip_address=192.168.1.111/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8
Note: LAN installs are supported on properly configured RFC 1918 private networks, i.e. 172.16.0.0 /10.0.0.0/192.168.0.0 IP range.
- Press the “Ctrl” + “x” key combination, then “y” and <Enter> to confirm writing changes to the file.
- Reboot the Pi using:
sudo reboot
- When the Pi boots again, login with “pi” user and verify “eth0” IP address with the command:
ip a
Step 6: Install 3CX SBC
- Login as user “pi” via the CLI or SSH
- Run the 3CX install script:
wget http://downloads-global.3cx.com/downloads/sbc/3cxsbc.zip -O- | sudo bash
.
- Select <OK> to verify the “3CX Pre-requisites” and accept the “End-user License Agreement” to continue.
- Enter the “Provisioning URL” for your 3CX, e.g. https://mycompany.3cx.com:5001, and select <OK>.
- Enter the “Authentication KEY ID” and select <OK>.
- Select <OK> and proceed to install and restart.
Step 7: Provision your IP Phones
Once your SBC is installed, you can provision your IP Phones using the PnP provisioning method. See this guide on how to provision your IP Phones.