Overview
Discover what makes Flexisip powerful
Flexisip is a **modular SIP server suite** written in modern C++17, designed to provide end‑to‑end voice, video, and instant‑messaging services for both cloud and embedded deployments. At its core it implements the SIP protocol stack, routing messages between clients while offering a rich set of extensions such as presence, conferencing, B2BUA (back‑to‑back user agent) features, and push notifications for mobile devices. The server’s architecture is intentionally split into lightweight subsystems that can be enabled or disabled at compile time, allowing developers to tailor the binary to their specific use case—whether that is a full‑blown VoIP provider or an on‑device SIP agent in an IoT gateway.
Language & Build
Core Libraries
Networking
Extensibility
Overview
Flexisip is a modular SIP server suite written in modern C++17, designed to provide end‑to‑end voice, video, and instant‑messaging services for both cloud and embedded deployments. At its core it implements the SIP protocol stack, routing messages between clients while offering a rich set of extensions such as presence, conferencing, B2BUA (back‑to‑back user agent) features, and push notifications for mobile devices. The server’s architecture is intentionally split into lightweight subsystems that can be enabled or disabled at compile time, allowing developers to tailor the binary to their specific use case—whether that is a full‑blown VoIP provider or an on‑device SIP agent in an IoT gateway.
Technical Stack
- Language & Build: C++17 with a standard
CMakebuild system, enabling cross‑platform compilation on Linux, macOS, and Windows. - Core Libraries:
OpenSSLfor TLS/SRTP security,LibNgHttp2for HTTP/2 support (useful for WebRTC signalling),libsrtp2andlibutfor media encryption,SQLite3,libmysql-client, and optionalHiredisfor persistent storage (registrar, presence, session data).
- Networking: Built on top of the POSIX socket API with an event‑driven I/O loop; optional SNMP support via
NetSNMPfor monitoring. - Extensibility: A plugin framework that allows developers to inject custom modules (e.g., authentication backends, routing policies) without modifying the core codebase.
Core Capabilities
- SIP Proxy & Registrar: Handles INVITE routing, REGISTER processing, and SIP‑trunking to other providers.
- Presence Server: Implements RFC 3863, exposing user availability via XMPP‑style subscriptions or REST endpoints.
- Conference Server: Supports multi‑party media mixing and media relay (mixing, forking) with optional video codecs via Mediastreamer2.
- B2BUA Server: Enables caller ID translation, media transcoding (G.711/G.729), and advanced call control (hold, transfer).
- Push Notification Service: Integrates with APNs/FCM to deliver SIP INVITEs and MESSAGEs to mobile clients when the app is idle.
- RegEvent Server: Emits registration events to third‑party services or custom listeners, useful for billing or presence propagation.
Deployment & Infrastructure
Flexisip is designed to run as a stand‑alone daemon or be embedded into other C++ applications. It is fully thread‑safe and scales linearly with the number of CPU cores thanks to its non‑blocking event loop. Docker images are available, and a Helm chart can be used for Kubernetes deployments, making it straightforward to orchestrate clusters of Flexisip instances behind a load balancer. For high‑availability, multiple nodes can share the same registrar database (SQLite/MySQL) or use Redis for fast inter‑node communication. The server also exposes a RESTful API (configured via YAML/JSON files) for runtime configuration, allowing DevOps to push routing rules or enable/disable modules on the fly.
Integration & Extensibility
- Plugin System: Developers can write custom modules in C++ that hook into SIP message processing or media pipelines. The API is well‑documented and exposes hooks for authentication, NAT traversal, and custom codec handling.
- Webhooks & Callbacks: Flexisip can emit HTTP callbacks on events such as registration, call start/end, or presence changes—ideal for integrating with billing systems or real‑time dashboards.
- SDK Integration: As part of the Linphone ecosystem, Flexisip can be paired with
liblinphoneon the client side, enabling seamless end‑to‑end development from device to server. - Configuration: All runtime parameters are exposed through a declarative configuration file, supporting environment variable overrides for CI/CD pipelines.
Developer Experience
The project maintains comprehensive documentation on its website, including RFC coverage, API references, and deployment guides. The source is hosted on GitLab with a clear branching strategy (stable releases vs nightly builds). Community support is active: issues are triaged quickly, and contributors can submit pull requests for new modules or bug fixes. The dual licensing model (AGPLv3 or proprietary) gives flexibility for open‑source projects while allowing commercial use without source disclosure.
Use Cases
- Enterprise VoIP Provider – Build a fully‑featured SIP service with call routing, billing hooks, and mobile push notifications.
- Embedded Telephony Gateway – Integrate Flexisip into a hardware appliance (e.g., IP‑phone, smart home hub) to provide SIP connectivity with minimal footprint.
- Video Conferencing Platform – Leverage the conference server and Mediastreamer2 to offer group calls with media transcoding.
- Instant Messaging & Presence Service – Use the presence subsystem to expose user status to other applications via REST or WebSocket.
Advantages
- Performance & Scalability: Native C++ implementation with non‑blocking I/O ensures low latency and high throughput, outperforming many Java/Python SIP stacks.
- Modularity: Optional components keep the binary lean for embedded use while enabling full feature sets for cloud deployments.
- Open Source Flexibility: AGPLv3 guarantees that improvements remain community‑driven, while the proprietary license allows closed‑source integration.
- Ecosystem Synergy: Tight coupling
Open SourceReady to get started?
Join the community and start self-hosting Flexisip today
Related Apps in apis-services
Mastodon
Decentralized, real‑time social networking
Discourse
Open‑source community forum platform with real‑time chat and AI
Rocket.Chat
Secure, open‑source team communication platform
Novu
Unified notification platform for multi‑channel delivery
Mattermost
Secure, self‑hosted team collaboration with chat, voice, and AI
Jitsi Meet
Free, encrypted video conferencing for everyone
Weekly Views
Repository Health
Information
Explore More Apps
Input
Self-hosted, no-code form builder for brandable surveys
BookStack
Self‑hosted wiki for easy knowledge organization
Jauth
Secure reverse proxy with SSH/Telegram auth and SSO
Docker Mailserver
Self‑hosted, full‑stack mail server in a single container
Gonic
Self-hosted Subsonic-compatible music server
Pelican Panel
Game server control panel with Docker isolation and security