Installing 3CX (SBC) Session Border Controller for Raspberry Pi
Zero Admin
With the new Dashboard
Bulletproof Security
With SSL certs and NGINX
Install on $150 Appliance
Intel MiniPC architecture
New, Intuitive Windows Client
More themes, more UC
More CRM Integrations
Scripting Interface to add your own
Improved Integrated Web Conferencing
iOS and Android apps included
Personal Click2Meet URLs

Installing 3CX (SBC) Session Border Controller for Raspberry Pi

Installing 3CX SBC (Session Border Controller) for Raspberry Pi or Debian 8 amd64

Installing 3CX SBC (Session Border Controller) for Raspberry Pi or Debian 8 amd64


Step 1: Install Raspbian Operating system

Step 2: Download and Install 3CX SBC

Step 3: Configure 3CX SBC

Upgrade SBC


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 opting for a Raspberry Pi, make sure to purchase the Raspberry Pi 2 or 3 Model B which is more performant than it’s predecessor (V1).

The 3CX SBC on a Raspberry PI 2 or 3 should be used when the remote office has up to 20 phones with a maximum of 10 BLF keys per device. If you have more than 20 phones, then you need to use the 3CX SBC for Windows or Debian.

A guide on how to install Raspbian on a PI check the how to on the end of the guide.

Step 1: Download and Install 3CX SBC

This step is common for Debian or Raspbian.

Type the following command to the terminal:  


and press “Enter”.

Now type this command:

sudo bash

and press “Enter”

Step 2: 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.

  1. Enter “FQDN”: You can get this from “Settings” > “Network” > “FQDN Tab”.

  1. 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.

  1. Enter “PBX Port”: You can get this from "Settings” >  “Network”> “Ports” tab > “SIP Port” field.

  1. Enter “Tunnel port”: located in “Settings” > “Security” > “3CX Tunnel” > “Tunnel Listening port”

  1. Enter “Tunnel Password”: which you can get from “Settings” > “Security” > “3CX Tunnel” > “Tunnel Password”.

  1. 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.

  1. 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.  

Step 3: Upgrading the SBC (Optional)

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. 

Install Raspbian Operating system


  1. Assemble your Raspberry Pi, connect it to a monitor using a HDMI cable, plug in to your network and power up the device.
  2. A window titled “NOOBS” will appear. Select Raspbian OS and install. When the installation is completed a menu will come up.
  3. Select option 2 to change the default password. The Default username is “pi” and password “raspberry”.
  4. Select option 8 - (Advanced Options) and select the “Hostname” option. Enter a unique hostname for the device.
  5. Enable SSH on the device to be able to connect to it using a SSH client.
  6. From the main menu select “Finish” and select “Yes” to reboot.

You might also be interested in:

Ask a Question

Please only post questions in regards to the document you are currently reading.
Technical support or pre sales questions must be posted via the support or sales channels and such comments will be deleted. Thank you for understanding

Leave a Reply

  1. Morten

    Hi there,

    How do i change the SBC Settings?

    December 10, 2015 at 1:37 pm Reply
    • Morten

      Never mind,

      Found another guide :P

      December 10, 2015 at 1:48 pm
    • J C

      sudo nano /etc/3cxsbc.conf

      July 28, 2016 at 12:20 pm
  2. When i set my sbc up it only seems to work if i manually restart the service through a command line after the pi restarts. Anyone had this or have a solution?

    February 11, 2016 at 11:50 pm Reply
    • Charalambos Eleftheriou

      @Michael, thanks for the question. Are you using the latest version of the SBC? If not please download and install again from step2 in this document.There should not be an issue with services not starting automatically.

      February 12, 2016 at 11:48 am
    • Patrick van Kampen

      I seem to be having the same issue. Im on the most recent software on the raspbian OS and the SBC software. When I reboot the SBC the SBC seems to time out connecting because the NIC has not been initialized (tho, im assuming this)?

      As soon as I do a “service 3cxsbc restart” I can see the SBC reinitialized and the tunnel connects and the keep alives are send and received.

      April 6, 2016 at 3:08 pm
  3. Pingback: 3CX SBC - Neue Version 3CX Session Border Controlers - 3CX - Schweiz

  4. Jamie

    The new Raspberry Pi 3 Model B is available for a while now and this documentation still states the model 2. Can you tell us if 3CX SBC will work on the model 3? And if yes, since the model 3 has a better processor (64 bit) is it able to handle more concurrent calls?

    June 15, 2016 at 2:34 pm Reply
  5. Hasheem

    I have the same service not restarting on a reboot issue – raspberry pi 3. Mine was an out of the box clean install from noob, pi was never used for anything else

    June 23, 2016 at 3:39 pm Reply
    • Charalambos Eleftheriou

      @Hasheem, Please note that Raspberry Pi 3 has not been fully tested for SBC, we are still testing it and will update with a blog post once it is supported.

      June 23, 2016 at 9:04 pm
    • Phil Fire IT

      I solved this by selecting the ‘Wait for Network’ (before completing boot) option under RPi Configuration (GUI)

      July 5, 2016 at 2:46 am
    • Charalambos Eleftheriou

      @Phil, Yes this will solve issues when services will not start due to network not being available during a restart but this generally indicates an issue with the actual PI, that you may want to look into.

      July 5, 2016 at 4:27 pm
    • Charalambos Eleftheriou

      @Ian, are you having trouble viewing the page? Do you not see the steps to download and install the SBC on the Pi?

      September 29, 2016 at 12:10 pm