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

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

OpenSIPIt ’01 – Testing the Trending SIP Security Enhancements

Cooling off at the end of a brilliant OpenSIPIt'01! Last week, I had the honor to represent the OpenSIPS project in a multi-day, cross-project SIP testing event that took place online, called OpenSIPIt! With a pilot edition of the event dubbed "OpenSIPIt#00" having already taken place last year, right after the OpenSIPS Summit, everyone had … Continue reading OpenSIPIt ’01 – Testing the Trending SIP Security Enhancements

SIP Push Notification with OpenSIPS 3.1 LTS [RFC 8599 support][Part II]

Welcome or welcome back to the 2-part series on the RFC 8599 support in OpenSIPS! In this final post (please find the initial one here), you will learn how to enhance your platform with standards-based SIP Push Notification (PN) support using an OpenSIPS 3.1+ release, from high-level design all the way down to specific code … Continue reading SIP Push Notification with OpenSIPS 3.1 LTS [RFC 8599 support][Part II]

SIP Push Notification with OpenSIPS 3.1 LTS [RFC 8599 support][Part I]

As we get closer to the much-anticipated release of OpenSIPS 3.1 LTS, a new major feature has been merged into the master branch: full support for standards-based SIP Push Notifications (short: "SIP PN"), a.k.a. RFC 8599! In this two-part series, I'm going to present two sides of the story: first, the IETF document itself: the … Continue reading SIP Push Notification with OpenSIPS 3.1 LTS [RFC 8599 support][Part I]

Quality-based PSTN Routing in OpenSIPS 3.1 LTS [part 2]

Overview This post is a sequel to the initial write-up on the recently introduced qrouting (Quality-based Routing) module. During the last month, the module has received several key additions, aimed at both improving the data format (gateway statistics, thresholds and scores) as well as the runtime behavior, with a new traffic balancing algorithm having been … Continue reading Quality-based PSTN Routing in OpenSIPS 3.1 LTS [part 2]

Quality-based PSTN Routing in OpenSIPS 3.1 LTS [part 1]

Introduction Note: some information in this post may be outdated. Make sure to also read the follow-up post for the final view on qrouting's behavior. Up until today, the open-source SIP server garden seems to have yielded quite a handful of ways to perform PSTN routing. Some VoIP operators prefer to pull the latest rate … Continue reading Quality-based PSTN Routing in OpenSIPS 3.1 LTS [part 1]

The Module Function Interface Rework in OpenSIPS 3.0

As you begin to write or migrate to OpenSIPS 3.x configuration files, you will notice some major changes in the way module functions are invoked. These changes are part of an ongoing effort to improve the experience of writing opensips.cfg code, and in this article we're going to take a closer look at how this … Continue reading The Module Function Interface Rework in OpenSIPS 3.0