The Flexisip server suite gets a new look with version 2.2

Primary tabs

November releases, Flexisip 2.2 has new features to discover ! 

As a reminder:

Flexisip is a complete, modular, and scalable SIP server suite written in C++14 offering proxy, presence, conference and group chat functions. It also includes a push notification gateway to deliver SIP incoming calls or text messages on mobile device platforms, where push notifications are required to receive information when the app is not active in the foreground.

Flexisip services can be deployed on bare metal or virtual server machines to run a SIP-based Voice over IP (VoIP) service. The free linphone.org SIP service has run on Flexisip since 2011 and allows Linphone users to create SIP accounts in order to connect with each other for free.

For more information: https://gitlab.linphone.org/BC/public/flexisip/-/blob/master/README.md

What's new?

This 2.2 version of Flexisip includes the following new features and changes:

  • Add-on of a Back-to-back user agent, a new complementary module of the Flexisip server suite, allowing the interconnection with classic PSTN telephony and the transcoding of encryption protocols (read the "focus" section).
  • The persistence of instant messages (in Beta):​ when the proxy tries to deliver a chat message to a user's device who is offline, the proxy momentarily stores the message for a limited period of time, so that it can deliver it when the user's device reconnects. This new feature guarantees the delivery of the stored message even if the Flexisip server has to be rebooted. This allows admins to update the proxy more safely. It also helps save memory, as the chat messages that are waiting to be delivered are not stored in memory anymore, but in a SQL database. module::Router/message-database-enabled
  • Packaging for Rocky Linux 8, Debian 11 and Ubuntu 22.04 LTS. Rocky 8 is now the recommended distribution for deployments.
  • New push notification strategy for calls from devices without a VoIP token (iOS).

Changes:

  • the usage of remote alert push notifications has been improved for incoming calls on Linhome's iOS version, and in the case of Linphone, we are happy to announce the end of "ghost pushes". This is especially useful for home automation applications that chose not to use classic VoIP push notifications. In this case, Flexisip will send multiple alert push notifications to the application until a called device accepts the call; then, it will send a final alert push notification to all other devices saying that the call has been picked up elsewhere. In addition, all called devices now receive a final push notification if the caller cancels the call.
    Related parameters: module::PushNotification/call-remote-push-interval.
  • a new mechanism has been added to ensure that all devices receive an 'INVITE' followed by a 'CANCEL' when a caller cancels a call invitation. This is useful for iOS devices that ring before receiving the 'INVITE' request because they are notified by a VoIP push notification. These devices therefore need to receive a 'CANCEL' request to stop ringing.

Quality:

We perform Flexisip tests on all the platforms that we package. The Sanitizer tool allows us to test for memory leaks and corruptions (execution of 'flexisip_tester' tests in sanitizer mode).

Zoom Back-to-back user agent :

The B2BUA server is a complementary module of Flexisip , which has been developed to bring features at the signaling or media levels that could not be achieved by a proxy, as defined in RFC3261 (SIP). Indeed, a proxy has very limited means of modifying the call's characteristics. In most cases this is an advantage in terms of performance and features offered to SIP clients. However, their are some circumstance where it is necessary to modify these call's characteristics, which is the reason for being of our new B2BUA module. As of today, this component is released with two main field of applications:

  • the transcoding of encryption protocols ("media encryption bridging"), named "trenscrypter", to allow the communication between two client software not supporting the same encryption protocols ((SDES, DTLS-SRTP, ZRTP or not encrypted)
  • a SIP-trunking feature, to allow the gateway between SIP communications and classic PSTN telephony. The B2BUA's purpose is then to interconnect a SIP network based on Flexisip with PSTN gateway services sold by third party providers of virtual numbers and internet telephony services (ITSP).