selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
FreeSBC logo

Self-host FreeSBC

v0.6.3

Single-binary SIP/WebRTC edge proxy for FreeSWITCH/Asterisk

BetaOpen SourceApache-2.0
Updated10 hours ago
LanguageGo
Setup difficultyAdvanced
ThemeDark mode
Stars
270
Ports
5060 (SIP UDP/TCP), 5061 (SIP TLS (SIPS)), 443 (WebRTC WSS), 8080 (Admin WebUI / WebSocket (dev)), 20000 (RTP range start (default 20000-29999)), 29999 (RTP range end (default 20000-29999))
Requires
FreeSWITCH or Asterisk
Install with Linux
FreeSBC WebUI dashboard during a test call load (light mode)FreeSBC WebUI dashboard during a test call load (dark mode)

What is FreeSBC?

FreeSBC is a Go-based Session Border Controller that creates a protective boundary between the public internet and a private SIP switch such as FreeSWITCH or Asterisk. It processes SIP signaling over UDP, TCP, TLS, WebSocket, and WebRTC on a public-facing IP while the switch remains on a private LAN. Every media stream is anchored to FreeSBC ports through hardened first-packet latching and a silence watchdog, with absolutely no transcoding. Security capabilities encompass per-IP rate limiting, scanner fingerprinting, REGISTER brute-force and enumeration blocking, and silent rejection of calls from unregistered endpoints. An embedded WebUI, REST API, and Prometheus metrics endpoint are secured behind bcrypt-checked admin authentication. FreeSBC executes as a single static binary with zero external dependencies — no database, Redis, kernel modules, or separate media process. Configuration relies on one YAML file, and installation options include a shell script, manual binary download, or building from source, with systemd service support on Linux.

Should you self-host FreeSBC?

FreeSBC scores 48/100 on selfhost.directory (how scoring works) and ranks #14 of 16 in VoIP. It has 270 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v0.6.3, came out on 28 October 2026. New versions land roughly every 1 days.

Setup is advanced: plan for several services and some ongoing maintenance. It is Apache-2.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is Mumble (71/100, 8 370 stars). It scores higher overall, so compare the two before you pick. See FreeSBC vs Mumble side by side.

Features

  • Carrier Support
  • Config Validation
  • Embedded WebUI
  • HOMER Integration
  • Hot Shield Reload
  • Prometheus Metrics
  • REST API
  • RTP/SRTP Media Relay
  • SDES-SRTP
  • SIP Proxy
  • SIP Security
  • Switch Pool
  • Topology Hiding
  • Two-Node Failover
  • WebRTC Gateway

FreeSBC README

How to install FreeSBC

Install FreeSBC with Linux

Environment variables
FREESBC_SWITCH, FREESBC_PRIVATE_IP, FREESBC_PUBLIC_IP, FREESBC_PUBLIC_BIND, FREESBC_UDP_PORT, FREESBC_VERSION, FREESBC_PREFIX, FREESBC_BASE_URL

curl -fsSL https://github.com/rasonyang/freesbc/releases/latest/download/install.sh | sh

Then write a config and run it: freesbc init -c freesbc.yaml # asks for the switch, detects the addresses freesbc check -c freesbc.yaml # validate; errors name the line and key freesbc run -c freesbc.yaml # SIGINT/SIGTERM to stop

Install script creates freesbc user, /etc/freesbc, systemd unit (not started). Run as root on systemd host.

FreeSBC releases & version history

More in WebRTC

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…