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

Monitoring OpenSIPS using Prometheus and Grafana

Monitoring real time statistics is a great tool to assess the performance of your services, as well as for detecting, and possibly preventing, unfortunate events. And visualizing the monitored statistics in a graph or chart can definitely improve your DevOps team experience, as well as reduce the troubleshooting time of possible failure events. In a … Continue reading Monitoring OpenSIPS using Prometheus and Grafana

Improved series-based call statistics using OpenSIPS 3.2

Real-time call statistics is an excellent tool to evaluate the quality and performance of your telephony platform, that is why it is very important to expose as many statistics as possible, accumulated over different periods of time. OpenSIPS provides an easy to use interface that exposes simple primitives for creating, updating, and displaying various statistics, … Continue reading Improved series-based call statistics using OpenSIPS 3.2