Stress-Testing OpenSIPS 3.4 LTS

Quite a few years have passed since the last set of stress tests were performed on OpenSIPS, with the performance numbers achieved at that time becoming less and less relevant with each new major release. As the number of features has grown, so has the complexity of the codebase -- making the alpha version of … Continue reading Stress-Testing OpenSIPS 3.4 LTS

SIPssert and the journey of testing OpenSIPS

Our previous post presented SIPssert - an OpenSIPS Testing framework that does conformance testing for VoIP platforms (and not only). In this post we will describe how the OpenSIPS project has already started to benefit from the SIPssert capabilities in order to detect and prevent bugs as well as to avoid regressions and ensure that … Continue reading SIPssert and the journey of testing OpenSIPS

OpenSIPS Security Audit, fully disclosed

If almost one year ago we were releasing the first results of the security audit performed by of Enable Security over the OpenSIPS 3.2 code, now is the right time for the full disclosure. What was missing? As per the initial post, we hold back all the information about how to reproduce the crashes. Why? … Continue reading OpenSIPS Security Audit, fully disclosed

How To Generate Self-Signed STIR/SHAKEN Certificates

After having received some positive feedback on our presentation on the topic at hand at ClueCon '22, let's go through a more detailed run-down of all steps required, from a cryptographic point of view, in order to first become a fictive STIR/SHAKEN CA (Certification Authority), then to begin issuing signed certificates for various (also fictive) … Continue reading How To Generate Self-Signed STIR/SHAKEN Certificates

Using the Diameter Client Capability of OpenSIPS 3.3

In the previous iteration, OpenSIPS 3.2 introduced a first version of the support for Diameter protocol peering by leveraging the freeDiameter project and its excellent C libraries. Building on top of this, OpenSIPS 3.3 now offers a way of building and sending arbitrary Diameter protocol requests, from the opensips.cfg script. This brief post will teach … Continue reading Using the Diameter Client Capability of OpenSIPS 3.3

Fine-Grained TCP Configuration Using the “tcp_mgm” Module

OpenSIPS 3.3 introduces a new module which offers full control over the configuration of individual TCP connections. From filtering by the employed TCP-based protocol (e.g. BIN, TLS, MSRP, SMPP, etc.), all the way down to specific combinations of remote and local IPv4 or IPv6 addresses, OpenSIPS platform developers now have the ability to cherry-pick and … Continue reading Fine-Grained TCP Configuration Using the “tcp_mgm” Module

Managing RCS Capabilities with OpenSIPS

At its core, RCS (Rich Communication Services) is a suite of specifications from OMA[1] and GSMA[2] aimed at replacing SMS messages with a richer messaging system equipped with added services such as group chat, message read receipts, file and file thumbnail transfers, download pausing and resuming, geo-location push, to name a few. But what extensions … Continue reading Managing RCS Capabilities with OpenSIPS

Running MI commands from script in OpenSIPS 3.2

During this year's annually OpenSIPS Feature Survey, the poll results for the new OpenSIPS 3.2 reflected an emergent need for people to be able to run MI alike commands directly from the script. Initially, we were a bit reluctant from developing this feature due to the fact that (historically speaking), OpenSIPS's Management Interface has been … Continue reading Running MI commands from script in OpenSIPS 3.2

Getting Started With Diameter In OpenSIPS 3.2

This blog post will briefly talk about how RADIUS and Diameter work, how we managed to incorporate Diameter into OpenSIPS 3.2 and what we have built on top of it so far. Short Protocol Intro The RADIUS spec first appeared in 1997 and was revised in 2000. Its purpose is to offer Authentication (Are the … Continue reading Getting Started With Diameter In OpenSIPS 3.2

Media high availability/re-anchoring using OpenSIPS 3.2

Using a media relay server (such as RTPProxy, RTPEngine or MediaProxy) in your VoIP system is a rather common requirement due to various reasons: NATted clients media handling, legal compliance (recording) requirements or for offering enhanced services, etc. Thus, in order to provide high availability for your services, you also need to consider it for … Continue reading Media high availability/re-anchoring using OpenSIPS 3.2