How To Install FreeSWITCH on Ubuntu 24.04 / 22.04 (Complete Guide 2026)

Published On: March 1, 2026
Follow Us
How To Install FreeSWITCH on Ubuntu

FreeSWITCH is a powerful open-source telephony platform used for SIP trunking, VoIP servers, WebRTC, and AI voice bots. In this guide, we’ll install FreeSWITCH on Ubuntu using the source method (most stable for 24.04).

Maintained by SignalWire, FreeSWITCH is designed for high-performance media processing.


📌 Why Install from Source?

Ubuntu 24.04 often gives repository errors (401 Unauthorized, GPG issues).
Source installation avoids:

  • Repo authentication problems
  • GPG key issues
  • Version conflicts
  • GCC compatibility errors

🖥 System Requirements

  • Ubuntu 22.04 / 24.04
  • 2GB RAM minimum (4GB recommended)
  • Root / sudo access
  • Open ports 5060 (SIP)

🔹 Step 1: Update Ubuntu

sudo apt update && sudo apt upgrade -y

🔹 Step 2: Install Dependencies

sudo apt install -y \
git build-essential autoconf automake libtool pkg-config \
libssl-dev libcurl4-openssl-dev libpcre3-dev \
libspeexdsp-dev libldns-dev libedit-dev \
libsqlite3-dev libopus-dev libsndfile1-dev \
libavformat-dev libswscale-dev libavcodec-dev \
liblua5.3-dev libjpeg-dev libtiff-dev \
yasm nasm libncurses5-dev uuid-dev

🔹 Step 3: Download FreeSWITCH Source

cd /usr/src
sudo git clone https://github.com/signalwire/freeswitch.git
cd freeswitch

Checkout stable branch:

sudo git checkout v1.10

🔹 Step 4: Bootstrap

sudo ./bootstrap.sh -j

🔹 Step 5: Configure

sudo ./configure

If no errors → continue.


🔹 Step 6: Fix Ubuntu 24.04 Build Errors

Edit modules file:

nano modules.conf

Comment these lines:

#applications/mod_av
#applications/mod_spandsp
#applications/mod_signalwire
#applications/mod_verto

This prevents GCC “warnings treated as errors” issues.


🔹 Step 7: Compile

make clean
make -j$(nproc)

Compilation may take 10–20 minutes.


🔹 Step 8: Install

sudo make install
sudo make sounds-install
sudo make moh-install

🔹 Step 9: Start FreeSWITCH

Foreground mode (testing):

/usr/local/freeswitch/bin/freeswitch -nc

If successful, you’ll see:

Ready to rock

Stop with Ctrl + C.

Run in background:

/usr/local/freeswitch/bin/freeswitch

🔹 Step 10: Connect to CLI

/usr/local/freeswitch/bin/fs_cli

Check status:

status

🔹 Step 11: Verify SIP Port

ss -lunpt | grep 5060

If listening → SIP server is active.


📞 Default Test Extension

FreeSWITCH includes test users:

  • Username: 1000
  • Password: 1234
  • Domain: Your Server IP
  • Port: 5060

Use any softphone (Zoiper, Linphone) and test call to 1001.


📂 Important Directories

DirectoryPurpose
/usr/local/freeswitch/confConfiguration
/usr/local/freeswitch/logLogs
/usr/local/freeswitch/soundsAudio files

🔥 How To Stop FreeSWITCH

Inside CLI:

shutdown

Or:

pkill freeswitch

🚀 What Can You Build With FreeSWITCH?

  • SIP Trunk Gateway
  • Call Center System
  • WebRTC Calling
  • AI Voice Assistant
  • Replace traditional PBX
  • Media Server for scalable telecom

Compared to Asterisk, FreeSWITCH offers better scalability for media-heavy applications.

sapan singh

👨‍💻 About Sapan Singh Hi, I’m Sapan Singh — a passionate software developer with a strong love for technology, gaming, and building useful digital tools.

Join WhatsApp

Join Now

Join Telegram

Join Now

Leave a Comment