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

Generic Preprocessor Support in OpenSIPS 3.0

Starting with version 3.0, OpenSIPS will offer script writers full support for piping the opensips.cfg file (including any other files imported by it) to a generic preprocessing command. What's So New About It? Until now, the core problem of templating opensips.cfg was solved using fully externalized solutions such as GNU m4, which grabbed an input configuration file … Continue reading Generic Preprocessor Support in OpenSIPS 3.0

A Better Way of Saying “Thank You!” to OpenSIPS Contributors

As time goes by, code, pull requests and patches for an open-source project will naturally keep arriving in a steady stream.  Depending on the volume of these contributions, some projects end up doing just well with a single maintainer, while others require an entire team of maintainers, each specializing in one of the project's major … Continue reading A Better Way of Saying “Thank You!” to OpenSIPS Contributors

How To Script Advanced FreeSWITCH Integrations with OpenSIPS 2.4

Happy New Year 2018! In this follow-up article, we're going to take a look at a major feature that Santa merged into the OpenSIPS development branch, just about a couple of days before Christmas: a series of advanced FreeSWITCH integration capabilities. It is now possible to fully control FreeSWITCH within the OpenSIPS script. This is … Continue reading How To Script Advanced FreeSWITCH Integrations with OpenSIPS 2.4

Deep Dive into the OpenSIPS Statistics Support

Whether you are a seasoned OpenSIPS administrator or you are still trying to figure out why your ACKs are looping all over your network, one thing is for certain: all of us will sooner or later need to have OpenSIPS produce some numbers which will answer questions such as: how many minutes has my OpenSIPS … Continue reading Deep Dive into the OpenSIPS Statistics Support

How To Use Database “Partitions” in OpenSIPS

Intro Inside the OpenSIPS bubble, the notion of a "partition" was first introduced in OpenSIPS 2.1, roughly around March 2015. But what exactly are they and how do we use them? In short, they allow a single OpenSIPS module to be able to work with data from multiple database sources. In other words, in OpenSIPS terminology, a … Continue reading How To Use Database “Partitions” in OpenSIPS

Hunting Down Complex OpenSIPS Bugs in Production Environments

Three key principles have guided the development of OpenSIPS since its very beginnings: performance, flexibility and modularity. The resulting codebase and feature set all reflect this statement: multiple process management, shared memory, async I/O, module APIs, optimized code, etc. While these are trivial to use and benefit from once everything is nice and working, not … Continue reading Hunting Down Complex OpenSIPS Bugs in Production Environments

OpenSIPS 2.3 Stable: The Last Hurdle Before the Amsterdam Summit

Great news for everyone in the VoIP community: we have just released OpenSIPS 2.3.0 stable! This release is a follow-up of over a month full of testing and taking care of issues reported through the mailing lists, GitHub tracker and IRC. Over 150 fix-commits were backported into OpenSIPS 2.3, leading to what we now consider to be … Continue reading OpenSIPS 2.3 Stable: The Last Hurdle Before the Amsterdam Summit