
Some time already past since we laid down the blueprints of version 3.3, the next major OpenSIPS release. Work was done, other work lays in front of us. So, where are we with this release and what is its timeline ?
The OpenSIPS 3.3 is focusing on advanced Instant Messaging, in the ecosystem of IMS/RCS and Unified Communication. Nevertheless, some unrelated items are also on the list – we all the time pay a careful attention to the real and immediate needs of the community and industry.
So, what is the current status of OpenSIPS 3.3 ?
(if you are really really anxious to find when is ready, skip at the end )
Instant Messaging
As being the main focus of the release, this topic got a lot of attention and resources from our side.
Important milestones are already reached. The MSRP support is already present in OpenSIPS (the proto_msrp module), as well a first functionality on top of it, namely the MSRP relay (the msrp_relay module).
Still work in progress here, also as a functionality over the MSRP stack, is the MSRP UA (user agent). This is needed to implement a simple MSRP User Server (to accept incoming MSRP calls) and to implement the MSRP-to-MESSAGE gateway (still in design phase).
The last item here is the Contact Center – the enhancement of the existing Call Center in order to support chats (MSRP based calls) when comes to queuing and distributing to agents. This item is in the latest design stage – some extensive due diligence was needed to properly understand the logic of such a Contact Center when comes to built-in and external call distribution algorithms.
As part of the IMS/RCS part, an extensive work was done to fully understand the implications and requirements over OpenSIPS of the RCS. Beside the need for the MSRP Relaying, the RCS already has the full support in OpenSIPS – still we documented some of RCS specifics .
RTP layer
But let’s not forget that most of the SIP sessions are about audio/video calls, so about media / RTP.
This is a never ending work, part of OpenSIPS 3.3 also.
What was added is to simplify and standardize the usage of whatever RTP backend you have.
Also the SIPREC and MEDIA Exchange functionalities are now supporting RTPEngine too.
On the SIPREC side, the ability to pause and resume a SIPREC recording was added.
An important item here – still work in progress- is the support for automatic engagement of a Media Relay across the B2B sessions.
TCP layer
Two major items are here still under work, still very important.
First is about improving the internal dispatching of the TCP connections / load across all the TCP workers. The current existing approach is ok considering for end-device oriented TCP communication, where there is a low volume of traffic per connection. But what about trunk/interconnection oriented TCP communication, which high traffic? How will the TCP connection balance across the TCP workers? and how can the parallel processing of data from a single connection can be increased ?
The second item is about implementing a generic and automatic support for controlling the properties of the TCP connections in OpenSIPS. We have different connections, like end-device oriented, trunk oriented, MSRP based, BIN based, etc – and each may require different settings (like the lifetime, the connect policy, the balancing policy, etc). And all this settings to be applied in a script independent way. Shortly we are working on o a tcp_mgm module, similar as concept as the tls_mgm for managing the TLS settings.
NoSQL layer
The last but not the least, the OpenSIPS 3.3 already got some useful additions when comes to noSQL support.
The cachedb_local module got support for restart persistence, making it definitely more appealing.
Also the b2b_entities/b2b_logic modules got support for Redis backend when comes to data persistence
Release timeframe
With the volume of work still to be done, the OpenSIPS 3.3 is planned for the beta release on 18th of May 2022 ! So finger crossed 🙂