Core servers
Flexisip core servers provide the following:
Proxy
- Transport protocols: SIP/UDP, SIP/TCP and SIP/TLS
- Digest and TLS client certificate authentication
- Routing based on a 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 messages can be delivered when the recipient connects back to the network
- NAT-aware with a built-in media relay module and ICE/STUN
- Support for high level event logging designed for activity monitoring
- Real-time statistics available through a command line interface
- High availability and cluster mode for large deployments
Design
Flexisip/Proxy is designed around the concept of modules taking in charge a particular processing: authentication, registration, media-relay, routing... All requests and responses go through a chain of modules in order to be processed. Modules are listed and documented here.
The underlying SIP stack is a forked version of sofia-sip, that provides excellent performance and robust, asynchronous transport layer. The fork simply adds a few maintainance patches.
Clustering
Flexisip/Proxy is designed to work with several instances running on different server, communicating through Redis backend in which routing information of users is stored. Several Flexisip/Proxy instances can be used together in order to scale a large deployment and tolerate faults. This is achieved without load balancer (the load balancer would be a single point of failure): instead we recommend to use DNS-SRV records to define priorities between Flexisip/Proxy servers and client-based load-balancing (using DNS-SRV weights).
Presence
Flexisip 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
Conference (IM, audio, video)
- Entirely SIP-based solution
- Efficient management of groups and participants
- Multi-device support
- Notifications of group events (users joining or leaving, new admins etc.)
B2BUA
The back-to-back user-agent server provides specific call-level signaling and media services that cannot be rendered by the proxy, such as
- transcoding of media encryption protocols
- SIP-trunking
RegEvent
The RegEvent service enables user agents to subscribe to the registration state of a specific Address of Record (AoR). A subscription can be established for an AoR, allowing the subscriber to receive notifications whenever a registration binding is created, updated, or removed.
This service is an implementation of the server-side behavior defined in RFC 3680 – A Session Initiation Protocol (SIP) Event Package for Registrations.
A typical use case is enabling interaction between two conference infrastructures belonging to distinct SIP domains. Refer to the Interoperability between two domains documentation for more details.
Voicemail
The Voicemail server allows to record voice messages when a user misses a call before making them available through the Flexisip Account Manager.