Proxy Protocol support in OpenSIPS 4.0

Modern SIP infrastructures increasingly rely on load balancers, reverse proxies and cloud edge services in order to provide scalability, security and geographic distribution. While these components are extremely useful, they often hide the original source address of the client from the backend SIP infrastructure. Starting with OpenSIPS 4.0, we are introducing support for the Proxy … Continue reading Proxy Protocol support in OpenSIPS 4.0

Big scale SIP forking

SIP forking is an important feature. It helps with parallel ringing, with class V features (like Hunt Groups), but also with failover (like multi-gateway/carrier failover). SIP parallel and serial forking means creating more and more branches (destinations) for a transaction, as the following real life scenarios demonstrate: Multi-level hunt groups in class V VPBX systems … Continue reading Big scale SIP forking

Scaling Geo-Distributed OpenSIPS Clusters with Bridge Replication

The upcoming OpenSIPS 4.0 release already includes a new feature for the clusterer module dubbed "Cluster-Bridge Replication". It mainly targets setups with multiple, geo-distributed data centers which make use of WAN links to exchange clustering data. Re-organizing the nodes into islands connected by bridges allows considerable bandwidth savings, especially if the WAN links are over … Continue reading Scaling Geo-Distributed OpenSIPS Clusters with Bridge Replication

We’re Back From #ClueCon25, and it was AI-mazing!

Last week, I had the great honor of representing the OpenSIPS Project in the ClueCon 2025 IT & Telephony conference: The ClueCon 2025 leaflet, pretty smooth! As always, the event took place in the "windy" city of Chicago, this time returning to the Swissôtel. Fun fact: "windy" isn't related to the city's weather, rather to … Continue reading We’re Back From #ClueCon25, and it was AI-mazing!

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