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

OpenSIPS Control Panel and Homer integration

There are several articles and examples showing how to integrate Homer and OpenSIPS for SIP tracing/capturing purposes - capturing SIP, log, REST queries, network data, Management commands and more. This is an integration at data exchange level. But an integration is also possible at the Web portal level - to integrate the Homer portal into … Continue reading OpenSIPS Control Panel and Homer integration

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 @ ClueCon 2017 – Training and more

As in each of the past 10 years, we will be attending (and sponsoring) ClueCon 2k17. Thanks to the wonderful organizer of this event, we will gather in Chicago among fellow VoIP enthusiasts and put our shoulders to the wheel in pushing things forward. After all, making things better (and learning about them) is the main … Continue reading OpenSIPS @ ClueCon 2017 – Training and more

Traffic balancing – the insertion into the SIP flow

In the last post we talked about the different available flavors of traffic balancing with OpenSIPS. But picking the right balancing logic is just the first step. The next step, and an important one, is to decide how you want to have the balancer inserted into the SIP flow (between the end-points and the main servers). … Continue reading Traffic balancing – the insertion into the SIP flow

Traffic balancing – load, weights, round robin ??

Many times, during discussion about various OpenSIPS based solutions, I noticed that people make a confusion when comes to the meaning of "load balancing". Whenever they talk about distributing SIP traffic between multiple destinations, the term of "load balancing" is abused in a very very generic way. Such a mis-usage of terms leads to mis-understandings … Continue reading Traffic balancing – load, weights, round robin ??

Distributed User Location replication using OpenSIPS

When building a large, highly-available, distributed VoIP platform, you definitely need to take into account geographically distributing you servers in different locations. And if you want them to be redundant and fail-over in case one of them goes down, you need to share a large amount of data between them. Users' location is a particular sensitive information that … Continue reading Distributed User Location replication using OpenSIPS

OpenSIPS minor releases 2.2.4 and 1.11.11

We are happy to announce a new set of OpenSIPS minor versions, namely 2.2.4 and 1.11.11 -  a total of 143 commits of fixes. The commits are mainly addressing minor bugs in different parts of the the code like the TCP layer, network layer, rest_client, transaction module, rtpproxy , sip tracing and accounting - to … Continue reading OpenSIPS minor releases 2.2.4 and 1.11.11