https://github.com/hnimminh/libresbc
An open source Session Border Controller 🌟 The SBC you dream about 🗽 LibreSBC will help you save thousands of dollars.
https://github.com/hnimminh/libresbc
asterisk b2bua freepbx freeswitch fusionpbx kamailio msteams nat opensips opensource sbc session-border-controller sip sip-server srtp telephony tls topology-hiding twillio
Last synced: 10 days ago
JSON representation
An open source Session Border Controller 🌟 The SBC you dream about 🗽 LibreSBC will help you save thousands of dollars.
- Host: GitHub
- URL: https://github.com/hnimminh/libresbc
- Owner: hnimminh
- License: mit
- Created: 2020-08-11T15:15:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2026-01-10T22:24:48.000Z (14 days ago)
- Last Synced: 2026-01-11T06:50:32.400Z (13 days ago)
- Topics: asterisk, b2bua, freepbx, freeswitch, fusionpbx, kamailio, msteams, nat, opensips, opensource, sbc, session-border-controller, sip, sip-server, srtp, telephony, tls, topology-hiding, twillio
- Language: Python
- Homepage: https://github.com/hnimminh/libresbc
- Size: 1.27 MB
- Stars: 451
- Watchers: 33
- Forks: 97
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
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 :
1. Star 🌟 the project.
2. Help people in the [issues](https://github.com/hnimminh/libresbc/issues) by sharing your knowledge and experience.
3. Find and report issues.
4. Influence the future of LibreSBC with feature requests.
**You can also contribute money to help secure LibreSBC's future.**
Bitcoin Wallet
1MNjpx5Jy9KUxx2gt5qVmExruehgPi3dQX
## Sponsors
*Special thanks to*

Your app, enterprise-ready.
call center in you hand

Leading integrations & services
marked its flagship in South-East Asia.
Your partner to Open
Cloud-Native 4G/5G Mobile Network.
## Table of Contents
- [Why](#why)
- [Architecture](#architecture)
- [Functions](#functions)
- [Connectivity & Compatibility](#connectivity-&-compatibility)
- [Security](#security)
- [Quality of service](#quality-of-service)
- [Media services](#media-services)
- [Intergration](#intergration)
- [High Avaibility](#high-avaibility)
- [Documents](#documents)
- [Roadmap](#roadmap)
- [Discussions](#discussions)
- [Community](#community)
- [Who use LibreSBC](#who-use-libresbc)
- [Performance Test](#performance-test)
- [License](#license)
## 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](https://github.com/hnimminh/libresbc/issues/123)
## 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](https://en.wikipedia.org/wiki/Network_address_translation) Traversal Capabilities
* [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) normalization, SIP message and header manipulation
* Call Party Translatation
* [VPN](https://en.wikipedia.org/wiki/Virtual_private_network) connectivity
* Protocol translations between [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol), [TCP](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) & [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security)
* Powerful built-in routing engine.
* Allowing control routing by 3rd-party software via [HTTP](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol)
* 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](https://en.wikipedia.org/wiki/Denial-of-service_attack)) or distributed DoS
* Toll fraud via rogue media streams
* SIP Malformed Packet Protection
* Topology hiding by back to back user agent ([B2BUA](https://en.wikipedia.org/wiki/Back-to-back_user_agent))
* Encryption of signaling (via TLS) and media ([SRTP](https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol))
* Access Control List
* Auto Control Network Firewall
* SIP Firewall Level
### Quality of service
The [QoS](https://en.wikipedia.org/wiki/Quality_of_service) policy of a network and prioritization of flows is usually implemented by the SBC. It can include such functions as:
* [Rate limiting](https://en.wikipedia.org/wiki/Call_volume_(telecommunications)) include call per second (cps), concurrent calls (concurency)
* Traffic Optimization by [token bucket](https://en.wikipedia.org/wiki/Token_bucket) and [leaky bucket](https://en.wikipedia.org/wiki/Leaky_bucket)
### Media services
Offer border-based media control and services such as:
* Media encoding/decoding ([SRTP](https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol)/[RTP](https://en.wikipedia.org/wiki/Real-time_Transport_Protocol))
* [DTMF](https://en.wikipedia.org/wiki/Dual-tone_multi-frequency_signaling) relay and interworking include In-Band Signaling (touch tones), Out-of-Band Signaling ([RFC2833](https://www.ietf.org/rfc/rfc2833.txt)) and SIP INFO Method
* Media Codec transcoding: [G711A/U](https://en.wikipedia.org/wiki/G.711), [G729](https://en.wikipedia.org/wiki/G.729), [OPUS](https://en.wikipedia.org/wiki/Opus_(audio_format)), [AMR](https://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec), [G.722.2 AMR-WB](https://en.wikipedia.org/wiki/Adaptive_Multi-Rate_Wideband)
* Tones and announcements (Early Media)
* Data and fax interworking
* Support multiple Media mode: Proxy, Bypass, Transcode
* Voice Activity Detection [VAD](https://en.wikipedia.org/wiki/Voice_activity_detection)
* Confort Noise Generation [CNG](https://en.wikipedia.org/wiki/Comfort_noise)
### Intergration
Support to intergrate with 3rd-party system or customer function easily
* Flexible JSON for Call Detail Record ([CDR](https://en.wikipedia.org/wiki/Call_detail_record)), 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](https://sipcapture.org/)
### High Avaibility
* [Distributed System](https://en.wikipedia.org/wiki/Distributed_computing)
* Active-Active [Cluster](https://en.wikipedia.org/wiki/Computer_cluster) Concept (_under development_)
* Healthcheck and Failure Autodetection
## Documents
Please go to [Wiki](https://github.com/hnimminh/libresbc/wiki)
## Discussions
* Let development [Discuss](https://github.com/hnimminh/libresbc/discussions)
## Who use LibreSBC
On my awareness, here is the list of them
* [Youphone](http://youph.one/)
* [ShiblySolution](http://www.shiblysolution.com/)
* [Orange](https://www.orange.com/)
* [LinkMobility](https://www.linkmobility.com/)
* [Courzad](https://www.courzad.com/)
## 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
[MIT](./LICENSE)