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

Re-homing your calls with OpenSIPS 3.0

Re-homing represents the ability to move a call from one server to another, without causing any disruptions in the endpoints call experience. Although this was already possible using previous versions of OpenSIPS, the setup required to comply with certain network constraints, making it impossible to use in geo-distributed setups. However, starting with OpenSIPS 3.0, you … Continue reading Re-homing your calls with OpenSIPS 3.0

No Downtime for OpenSIPS 3.0 restarts

Doing maintenance on live production servers is never desired, but it is always necessary in order to enhance your platform with new features, or just for doing some small/quick fixes. And maintenance usually requires restarting OpenSIPS, so that it can re-parse its configuration script. Depending on your setup, OpenSIPS may need, for routing purposes, a … Continue reading No Downtime for OpenSIPS 3.0 restarts

Containing Memory-Related Issues in an Easy Way with OpenSIPS 3.0

OpenSIPS 3.0 includes major changes to the way in which the available memory allocators can be embedded into a build, as well as to the manner in which they can be selected at runtime. The end goal of this rework is to simplify and speed up many existing workflows (debugging, fine tuning, development) by avoiding … Continue reading Containing Memory-Related Issues in an Easy Way with OpenSIPS 3.0

New OpenSIPS CLI tool for the New Management Interface in OpenSIPS 3.0

When running a non-interactive service (daemon), such as OpenSIPS, a mandatory requirement is to have a method to interact with it. This is useful for different purposes, such as monitoring the service, provisioning certain data within it, or simply controlling different behaviors of its components. For these matters we have developed the new¬†OpenSIPS CLI¬†tool, an … Continue reading New OpenSIPS CLI tool for the New Management Interface in OpenSIPS 3.0

Achieving service redundancy in two steps with unified clustering in OpenSIPS 3.0

A hot backup means redundancy, redundancy means more uptime, more uptime means a better SLA, a better SLA means happier customers and more money. Building redundancy is a must when moving your service into production. And a typical approach for achieving redundancy is by implementing an active - backup setup with full realtime synchronization between … Continue reading Achieving service redundancy in two steps with unified clustering in OpenSIPS 3.0