libresbc
libresbc copied to clipboard
An open source Session Border Controller 🌟 The SBC you dream about 🗽 LibreSBC will help you save thousands of dollars.
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.
Table of Contents
- Why
- Architecture
-
Functions
- Connectivity & Compatibility
- Security
- Quality of service
- Media services
- Intergration
- High Avaibility
- Documents
- Roadmap
- Deployment
- 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
- [x] Documentation
- [x] Access Layer
- [ ] TLS/SSL with LetEncrypt support
- [ ] MsTeam Direct Routing Intergaration
- [ ] STIR/SHAKEN and Identity Assurance
- [ ] Dashboard WebUI
- [ ] Self-Organizing Autonomous Clustering
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:
- Resource allocation
- Rate limiting include call per second (cps), concurrent calls (concurency)
- Traffic Optimization by token bucket and leaky bucket
- ToS/DSCP bit setting
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
- SNMP and/or Prometheus monitoring
High Avaibility
- Distributed System
- Active-Active Cluster Concept
- Healthcheck and Failure Autodetection
Documents
Roadmap
Discussions
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