FreeSWITCH Installation on Debian 12 (From Source) | Complete Step-by-Step Guide 2025

Опубликовано: 22 Июль 2026
на канале: TechBit
212
8

In this video, I demonstrate how to install FreeSWITCH on Debian 12 (Trixie) from source with all required dependencies.

This is a clean, production-ready installation suitable for:

VoIP softswitch setups

Call center solutions (Vicidial-like systems)

SIP trunking

IVR, inbound & outbound calling

WebRTC and real-time communications

✅ What’s covered in this tutorial:

System update and dependency installation

Installing PCRE 8.45 (required by FreeSWITCH)

Building and installing:

spandsp3

Sofia-SIP

libks

signalwire-client-c

Downloading FreeSWITCH from GitHub

Bootstrapping, configuring, compiling, and installing FreeSWITCH

Installing sounds and MOH (Music on Hold)

🧰 OS & Tools Used:

Debian 12 (Trixie)

GCC, CMake, Autotools

FreeSWITCH (latest source)

SignalWire libraries

👨‍💻 Who this video is for:

Linux system administrators

VoIP engineers

Call center developers

FreeSWITCH beginners & advanced users

Anyone building a SIP / telephony platform

📌 Commands Used:

All commands shown in this video are safe to run on a fresh Debian 12 system.
"=== Updating System & Installing Dependencies ==="
apt update
apt install -y git wget curl cmake automake autoconf build-essential \
libtool pkg-config uuid-dev libpcre2-dev libcurl4-openssl-dev \
libedit-dev libssl-dev libsrtp2-dev libspeex-dev libspeexdsp-dev \
libsqlite3-dev libopus-dev libsndfile1-dev libpq-dev libldns-dev \
libavformat-dev libavcodec-dev libswscale-dev libswresample-dev \
liblua5.2-dev libopusfile-dev yasm nasm

Prevent GitHub from asking username/password for public repos
git config --global url."https://github.com/".insteadOf "[email protected]:"

"=== Installing PCRE 8.45 (Required by FreeSWITCH) ==="
cd /usr/local/src
wget https://downloads.sourceforge.net/project/...
tar xzf pcre-8.45.tar.gz
cd pcre-8.45
./configure --prefix=/usr/local
make -j$(nproc)
make install
ldconfig

"=== Installing spandsp3 ==="
cd /usr/local/src
git clone https://github.com/freeswitch/spandsp.git spandsp3
cd spandsp3
./bootstrap.sh
./configure
make -j$(nproc)
make install
ldconfig

"=== Installing Sofia-SIP ==="
cd /usr/local/src
git clone https://github.com/freeswitch/sofia-sip.git
cd sofia-sip
./bootstrap.sh
./configure
make -j$(nproc)
make install
ldconfig

"=== Installing libks ==="
cd /usr/local/src
git clone https://github.com/signalwire/libks.git
cd libks
cmake .
make -j$(nproc)
make install
ldconfig

"=== Installing signalwire-client-c ==="
cd /usr/local/src
git clone --depth 1 https://github.com/signalwire/signalwire-c...
cd signalwire-client-c
cmake .
make -j$(nproc)
make install
ldconfig

"=== Downloading FreeSWITCH Source ==="
cd /usr/local/src
git clone https://github.com/signalwire/freeswitch.git
cd freeswitch

"=== Bootstrapping FreeSWITCH ==="
./bootstrap.sh -j

"=== Configuring FreeSWITCH ==="
./configure -C

"=== Building & Installing FreeSWITCH ==="
make -j$(nproc)
make install
make sounds-install
make moh-install