Dynamic Runtime Configuration using OpenSIPS 3.6 – continuation

Some time ago, we demonstrated how to dynamically tune OpenSIPS' runtime configuration using the OpenSIPS Control Panel in combination with the SQL Cacher module. While effective, that approach involved a certain level of configuration overhead to set up and maintain the SQL Cacher infrastructure. To address this, we’ve taken a significant step forward with the … Continue reading Dynamic Runtime Configuration using OpenSIPS 3.6 – continuation

Unified branches, or SIP branches before and after SIP relaying

SIP branching is particular to SIP forking scenarios - serial and parallel forking. The parallel forking is particular challenging as multiple branches must be managed in the same time. From life cycle perspective, we have two types of branches in OpenSIPS. Each type describe a different stage in a branch life cycle: message branches - … Continue reading Unified branches, or SIP branches before and after SIP relaying

Structured, Real-time SDP Manipulation in OpenSIPS 3.6

The ability to do fine but complex changes over the SDP at opensips.cfg level is as important as doing it for the SIP signaling. Such ability has been on our radar for quite some time now, as it was initially targeting the OpenSIPS 3.2 release. But what are the problems, the reasons calling for this … Continue reading Structured, Real-time SDP Manipulation in OpenSIPS 3.6

SIP Sockets Management at runtime in OpenSIPS 3.6

When it comes to high-performance SIP platforms like OpenSIPS, flexibility and uptime are crucial, especially in scenarios involving Session Border Controllers (SBCs) and trunking services. Traditionally, OpenSIPS has only supported statically defined SIP sockets, meaning any changes — such as adding new sockets to support additional interconnections — required a full service restart. This limitation … Continue reading SIP Sockets Management at runtime in OpenSIPS 3.6

Mastering Custom Tables with OpenSIPS Control Panel

The OpenSIPS Control Panel is a powerful tool for managing OpenSIPS through a user-friendly web interface. It provides various features for interacting with OpenSIPS modules, leveraging both database operations and the Management Interface (MI). But what if you need to provision an arbitrary table used from the OpenSIPS config? This is where the TViewer module … Continue reading Mastering Custom Tables with OpenSIPS Control Panel

High Availability for VoIP in Microsoft Azure

Running VoIP services in the cloud has become a common approach for providers seeking scalability and flexibility. A typical high-availability solution involves an active/standby pair of servers, where only one server is active while the others remain as warm backups, ready to take over at any moment. Different cloud providers offer various mechanisms to implement … Continue reading High Availability for VoIP in Microsoft Azure

OpenSIPS Cluster Hardening in Large Dataset Scenarios

The clustering support in OpenSIPS is a challenging area, under continuous evolution. Even after years since its initial version, we still discover challenging scenarios, which need to be understood and addressed. And production environments, especially the ones involving large amounts of data, are typical melting pots for such challenges. Below are some of our finds … Continue reading OpenSIPS Cluster Hardening in Large Dataset Scenarios

Enhance OpenSIPS Integration with New Python Package

In today's world of integrated services, the ability of OpenSIPS to interface with external applications is no longer optional - it's a necessity. And to meet this necessity, we have released a new Python package - a "Swiss army knife" tool to provide a simpler, faster and more efficient way to integrate with OpenSIPS. This … Continue reading Enhance OpenSIPS Integration with New Python Package