Flexisip is a complete, modular and scalable SIP server suite written in C++11, comprising proxy, presence and group chat functions.
Flexisip offers an easy-to-install SIP server solution, offering « out of the box » all the required features to deploy your own SIP service tuned for mobile or desktop applications.
FlexiSIP can be integrated into your SIP infrastructure for different purposes :
FLEXISIP in the cloud
Flexisip instances can be deployed on server machines, in order to run a SIP VoIP service.
The free linphone.org SIP service is running with Flexisip since 2011, and enables Linphone users to create their SIP addresses in order to communicate together.
Thanks to its modular architecture and its limited number of required dependencies, Flexisip can perfectly run on small hardwares (embedded systems).
FlexiSIP Push Gateway
Push Gateway is a specific operation mode of FlexiSIP, developed by Belledonne Communications to deliver SIP incoming calls or text messages on mobile device platforms where push notifications are required to receive information while the app is in foreground.
Supporting push notifications was already highly recommended and becomes mandatory on some OS (iOS ≥ 10, Android ≥ 8). The push system is promoted as the efficient, highly reliable, bug-free system to receive information while the phone is off.
FlexiSIP Push Gateway aims at being integrated into existing SIP infrastructures that do not support push notifications, most of the time without any configuration change.
Flexisip has the following main features:
- transports: SIP/UDP, SIP/TCP and SIP/TLS
- digest and TLS client certificate authentication
- routing based on registrar database or static route file, with forking
- interconnected with push notifications systems for reliably notifying mobile apps of incoming calls or messages
- « store and forward" logic for SIP MESSAGE (IM) so that text message can be delivered when the recipient connects to the network
- NAT aware with built-in media relay module and ICE/STUN support - high level event logging for activity monitoring
- real-time statistics available through command line
- High availability and cluster mode for large deployments
PresenceFlexisip manages SIP SUBSCRIBE and PUBLISH from client applications, in order to
- identify users of the service within the address book
- provide users with real-time presence status
- entirely SIP-based solution
- efficient management of groups and participants
- multi-device support
- notifications of group events (users joining or leaving, new admins…)
Flexisip conference server can also be integrated into an existing third party server (read more on our wiki).
- SIP, RFC 3261
- An Extension to the Session Initiation Protocol (SIP), RFC 3581 (use of rport parameter)
- Managing Client-Initiated Connections in the Session Initiation Protocol (+sip.instance parameter), RFC 5626
- Connection reuse in the Session Initiation Protocol (alias parameter), RFC 5923
- GRUUs; RFC 5627
Presence & Conference
- Session Initiation Protocol (SIP) - Specific Event Notification, RFC 6665
- Session Initiation Protocol (SIP) Extension for Event State Publication, RFC 3903
- A Presence Event Package for the Session Initiation Protocol (SIP), RFC 3856
- A Data Model for Presence, RFC 4479
- RPID: Rich Presence Extensions to the Presence Information Data Format (PIDF), RFC 4480
- Subscriptions to Request-Contained Resource Lists in the Session Initiation Protocol (SIP), RFC 5367
- Conference Establishment Using Request-Contained Lists in SIP, RFC 5366
- SIP body compression, RFC 1951
- Message Body Handling in the Session Initiation Protocol, RFC 5621
- SIP Event Package for Conference State, RFC 4575
Flexisip is distributed for free under the Affero GPLv3 license. The Affero GPL is an open-source license similar to the GNU GPL license, with new conditions adapted to server-side software, mainly that the source code of the software must be made available to users of the service.
Alternate proprietary licensing is possible with commercial agreement. Please contact Belledonne Communications for costs and other service information.
Packages for Debian and Redhat/CentOS are available.
Please read installation instructions on our wiki.
Source code is available from git.
git clone git://git.linphone.org/flexisip.git--recursive
Flexisip depends on sofia-sip stack, with minor patches applied, kept on git.linphone.org repository under "BC" branch.
oRTP is also a required dependency.
Documentation is available from our wiki. For example:
- Installation and Configuration guides
- High availability setup
- Run-time statistics access and configuration
We invite anyone that wishes to get in touch with Flexisip's developer team to subscribe to flexisip-developers mailing list. Subscription is required to be authorized to post to this mailing list, in order to eliminate spam. Flexisip-developers mailing list is the place where to discuss technical issues and/or submit patches.