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

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

Gateway between SIP and SMPP messages

While the SIP protocol is one of the most popular protocols used for voice calls, the SMPP (Short Message Peer-to-Peer) is one of the most widely used protocols for sending text messages. Having both of them offered by your service enhances your platform with more compatibility and flexibility. In order for your customers to have … Continue reading Gateway between SIP and SMPP messages

Full Anycast support in OpenSIPS 2.4

The advantages of doing Load Balancing and High Availability without any particular requirements from the clients side are starting to make Anycast IPs more and more appealing in the VoIP world. But are you actually using the best out of it? This article describes how you can use OpenSIPS 2.4 to make the best use of … Continue reading Full Anycast support in OpenSIPS 2.4

Call Recording in OpenSIPS 2.4 using SIPREC

The ability to record the calls that go through your platform is gradually shifting from being a feature to being a necessity. Whether you run a call center and you need it to monitor your agents' activity,  to comply with your countries laws, or simply to improve your services, you need a recording solution that … Continue reading Call Recording in OpenSIPS 2.4 using SIPREC

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

RabbitMQ evolution with OpenSIPS 2.3

RabbitMQ is a powerful and widely used tool for message queuing integrations. And the usage of such a tool requires a more flexible support from OpenSIPS. Let's see what 2.3 has to offer when comes to RabbitMQ based integration. RabbitMQ is an open source message queuing/broker server, used by applications to publish messages on one side and consume them on the other … Continue reading RabbitMQ evolution with OpenSIPS 2.3

Real-time billing using OpenSIPS 2.3 and CGRateS

SIP without billing is like a dinner without a good wine. While OpenSIPS does a great job for SIP, it often needs a billing partner to work with. CGRateS is an open-source rating engine used for carrier-grade, multi-tenant, real-time billing. It is able to do both postpaid and prepaid rating for multiple concurrent sessions with different balance units (eg: Monetary, … Continue reading Real-time billing using OpenSIPS 2.3 and CGRateS

Understanding and dimensioning memory in OpenSIPS

Running OpenSIPS with the right memory configuration is a very important task when developing and maintaining your VoIP service, because it has a direct effect over the scale of your platform, the customers you support, as well as the services you offer. Setting the limit to a low value might make OpenSIPS run out of memory during high volume … Continue reading Understanding and dimensioning memory in OpenSIPS