Sign inSign up

hnimminh/libresbc

By hnimminh

•Updated almost 3 years ago

🗽 LibreSBC. An open source Session Border Controller 🌟 The SBC you dream about..

Image
0

2.5K

hnimminh/libresbc repository overview

⁠

⁠ ⁠ ⁠ ⁠ ⁠

⁠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⁠ 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.

Paypal ⁠



BITCOIN
1MNjpx5Jy9KUxx2gt5qVmExruehgPi3dQX


⁠Sponsors

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

image

⁠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:

⁠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

⁠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

⁠License

⁠MIT⁠

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

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

Access UI via libreui (webui)

./libreui-linux-amd64 -L http://127.0.0.1:8080 -H 0.0.0.0 -P 9099

Tag summary

Content type

Image

Digest

sha256:9feb91134…

Size

967.2 MB

Last updated

almost 3 years ago

docker pull hnimminh/libresbc