Radio over IP (RoIP) is an advanced technology that uses Internet Protocol (IP) networks to transmit voice communications traditionally carried over radio networks. By leveraging the power of IP networks, RoIP provides greater flexibility, scalability, and cost-efficiency. Ubuntu Server, with its stability, security, and extensive community support, is an excellent choice for setting up an RoIP server. This article will explore the essential software related to RoIP on Ubuntu Server and provide a step-by-step guide on setting it up.

Essential Software for RoIP on Ubuntu Server

  1. Asterisk: An open-source framework for building communications applications, Asterisk is a popular choice for implementing RoIP. It supports a variety of VoIP protocols, making it versatile and robust for RoIP solutions.
  2. Mumble: Known for low-latency audio communication, Mumble is another open-source option suitable for RoIP. It consists of a server component (Murmur) and client applications.
  3. FreeSWITCH: This open-source telephony platform is designed to route and interconnect communication protocols. It can be used to create sophisticated RoIP solutions with its wide range of features and flexibility.
  4. RTP (Real-Time Protocol) Tools: Tools like RTP Proxy can be employed to handle RTP streams, ensuring the seamless transmission of audio data over IP networks.

Setting Up an RoIP Server on Ubuntu

Step 1: Install Ubuntu Server

First, install the latest version of Ubuntu Server on your machine. You can download the ISO from the official Ubuntu website. Follow the installation prompts to set up the server. Ensure your system is updated after installation:

sudo apt update
sudo apt upgrade

Step 2: Install Asterisk

Asterisk is a robust choice for an RoIP server due to its extensive feature set.

  1. Add the Asterisk repository: sudo add-apt-repository ppa:ubuntu-voip/ppa sudo apt update
  2. Install Asterisk: sudo apt install asterisk
  3. Configure Asterisk:
    • Open the Asterisk configuration file:
      bash sudo nano /etc/asterisk/sip.conf
    • Add your SIP configurations. Example: [general] context=default allowguest=no srvlookup=yes udpbindaddr= tcpenable=no
    • type=friend username=your_username secret=your_password host=dynamic nat=yes canreinvite=no context=default

Save and exit the editor.

Start and enable Asterisk:
sudo systemctl start asterisk sudo systemctl enable asterisk

Step 3: Install and Configure Mumble Server (Murmur)

Mumble is known for its low latency, which is beneficial for real-time communication.

  1. Install Murmur: sudo apt install mumble-server
  2. Configure Murmur:
    • Edit the configuration file:
      sudo nano /etc/mumble-server.ini
    • Modify settings as needed. Example:
      ini autobanAttempts = 10 autobanTimeframe = 120 autobanTime = 300
    • Save and exit the editor.
  3. Start and enable Murmur:
    sudo systemctl start mumble-server sudo systemctl enable mumble-server

Step 4: Install and Configure FreeSWITCH

FreeSWITCH provides advanced telephony features that can be utilized in RoIP solutions.

  1. Install dependencies: sudo apt install gnupg2 wget lsb-release
  2. Add the FreeSWITCH repository: wget -O - | sudo apt-key add - sudo add-apt-repository "deb $(lsb_release -sc) main" sudo apt update
  3. Install FreeSWITCH: sudo apt install freeswitch-meta-all
  4. Configure FreeSWITCH:
    • Modify configuration files located in /etc/freeswitch as per your requirements.
  5. Start and enable FreeSWITCH:
    sudo systemctl start freeswitch sudo systemctl enable freeswitch


Setting up an RoIP server on Ubuntu Server involves installing and configuring a range of software like Asterisk, Mumble, and FreeSWITCH. Each of these tools brings unique strengths to an RoIP solution, ensuring robust and flexible communication capabilities. By following the steps outlined above, you can build a powerful RoIP server leveraging the stability and security of Ubuntu Server.


An amateur radio operator, Royal Signals veteran, jack of all trades and master of none.

Leave a Reply

Your email address will not be published. Required fields are marked *