LibreSBC
The Open Source Session Border Controller
LibreSBC is a open-source Session Border Controller provide robust security, simplified interoperability, advanced session management, high performance, scale of carrier-grade and reliability for voice over IP (VoIP) infrastructures. LibreSBC designed to typically deployed at the network edge, the demarcation points (borders) among networks/environments.
Contributing
All kinds of contributions are very welcome and appreciated !
If you want to contribute time to LibreSBC then here's a list of suggestions to get you started :
Star 🌟 the project.
Help people in the issues by sharing your knowledge and experience.
Find and report issues.
Influence the future of LibreSBC with feature requests.
You can also contribute money to help secure LibreSBC's future.
BITCOIN
1MNjpx5Jy9KUxx2gt5qVmExruehgPi3dQX
Special thanks to
Table of Contents
Why
Free & Open: It's free and always free for everyone
Comunity & Majoirity: Standing on the shoulders of giants, Kamailio and FreeSWITCH
Customisability: Make it do what you want
Capability: Carrier-grade
Roadmap
Detail of product roadmap and upcomming features is described here
Architecture
Functions
SBCs commonly maintain full session state and offer the following functions:
Connectivity & Compatibility
Allow multiple networks to communicate through the use of a variety of techniques such as:
Advanced NAT Traversal Capabilities
SIP normalization, SIP message and header manipulation
Call Party Translatation
VPN connectivity
Protocol translations between UDP , TCP & TLS
Powerful built-in routing engine.
Allowing control routing by 3rd-party software via HTTP
Dynamic Load Balancing, Failover, Distribution
IPv4/IPv6 Dual Stack
Security:
Protect the network and other devices from:
Malicious attacks such as a denial-of-service attack (DoS ) or distributed DoS
Toll fraud via rogue media streams
SIP Malformed Packet Protection
Topology hiding by back to back user agent (B2BUA )
Encryption of signaling (via TLS) and media (SRTP )
Access Control List
Auto Control Network Firewall
SIP Firewall Level
Quality of service
The QoS policy of a network and prioritization of flows is usually implemented by the SBC. It can include such functions as:
Media services
Offer border-based media control and services such as:
Media encoding/decoding (SRTP /RTP )
DTMF relay and interworking include In-Band Signaling (touch tones), Out-of-Band Signaling (RFC2833 ) and SIP INFO Method
Media Codec transcoding: G711A/U , G729 , OPUS , AMR , G.722.2 AMR-WB
Tones and announcements (Early Media)
Data and fax interworking
Support multiple Media mode: Proxy, Bypass, Transcode
Voice Activity Detection VAD
Confort Noise Generation CNG
Intergration
Support to intergrate with 3rd-party system or customer function easily
Flexible JSON for Call Detail Record (CDR ), Send CDR to HTTP API, enabling customized/3rd-party usage such as databases, data analysis or billing purpose.
Customization routing mechanism via HTTP API
Network capture support: Live Capture and Intergrated with Homer
High Avaibility
Documents
Please go to Wiki
Roadmap
Development & Roadmap
Discussions
LibreSBC has an initial community on the slack
Who use LibreSBC
On my awareness, here is the list of them
Performance Test
System Under Test
OS: Debian 4.19.132-1 x86_64 (10.6)
CPU: Intel(R) Xeon(R) CPU X5670 @ 2.93GHz
RAM: 8GB; SSD: 128GB
Result:
50 call per second, 1000 concurent call
Used Memory: 1730M, CPU Load: 26%, Call Duration: 600 seconds
License
Disclame : This is experience docker version of libresbc, some functions is not completed yet, such as console log, nft firewall (--cap-add NET_ADMIN)
How to run :
docker run --env-file libre.env --network host --name libresbc hnimminh/libresbc:latest
Copy
Sample of libre.env
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_DB=0
SCAN_COUNT=1000
REDIS_TIMEOUT=5
NODEID=vsbc
LOGSTACKS=CONSOLE,FILE
DISKCDR_ENABLE=YES
LIBRE_REDIS=NO
Copy
Access UI via libreui (webui)
./libreui-linux-amd64 -L http://127.0.0.1:8080 -H 0.0.0.0 -P 9099
Copy