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.
All kinds of contributions are very welcome and appreciated ! Contributing
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
Sponsors
Special thanks to
Your app, enterprise-ready. call center in you hand |
Leading integrations & services marked its flagship in South-East Asia. |
Table of Contents
- Why
- Architecture
- Functions
- Documents
- Roadmap
- Discussions
- Community
- Who use LibreSBC
- Performance Test
- 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
Upcomming Features
- Access Layer
- TLS/SSL with LetEncrypt support
- Cluster (in progress)
- MsTeam Direct Routing Intergaration
- STIR/SHAKEN and Identity Assurance
- Dashboard WebUI (in progress)
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
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:
- Rate limiting include call per second (cps), concurrent calls (concurency)
- Traffic Optimization by token bucket and leaky bucket
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
- Distributed System
- Active-Active Cluster Concept (under development)
- Healthcheck and Failure Autodetection
Documents
Please go to Wiki
Roadmap
Discussions
- Let development Discuss
Community
- 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