Skip to main content

Kamailio HA: dispatcher and dmq modules

· 6 min read
Fabio Tranchitella

This is the first of a series of blog posts about the HA features of the Wazo Platform C4. In this article, we concentrate on the routing component which is composed of a scalable set of Kamailio instances denominated routers.

The routers are not accessed directly from carriers nor the termination IPBXs, as they are behind the SBC infrastructure. We assume then the routers are on an internal, non-externally accessible network segment and communicate with the SBC using the SIP protocol over UDP.

Kamailio routing with rtjson and http_async_client

· 5 min read
Fabio Tranchitella

The problem

In the Wazo Platform C4 we are committed to delivering the most flexible, as well as easy to configure and set up, Softswitch in the market. The SIP router key component is provided by Kamailio, the leading open-source SIP server.

Our goal was while supporting high degrees of flexibility and ease to configure, to avoid any compromise regarding performances: we aim to support a high number of concurrent calls, high call rates with predictable and linear degradation of performances in case of overload.

wazo-tester - an introduction to our SIP testing tool

· 6 min read
Aleksandar Sosic

Introduction

In a complex microservice VoIP architecture testing the functionalities or stress testing the whole system becomes a complex task especially if we want to run multiple tests and have a sterile environment for every test run without restarting the whole infrastructure every time. Also, there is a need for testing the architecture under heavy load but in a random way, much more close to real-life usage.

With our experience with scalable VoIP infrastructure and a lot of trials and errors, creating a mess with a lot of bash scripts doing different things preparing the environment for launching sipp tests and scenarios we decided to start from a clean slate and redesign or way to do tests.

Wazo Platform C4 overview

· 5 min read
Aleksandar Sosic
Fabio Tranchitella

Introduction

Wazo Platform allows you to build your own IP communication infrastructure and deliver innovative communication services. Fully open-source, API-centric, Cloud-native & multi-tenant, the project is designed around the famous open-source frameworks Asterisk & Kamailio.

If you want to know more about Wazo Platform, we encourage you to discover Frédéric Lepied's presentation introduced at the Astricon 2019.

To fulfill Wazo Platform's vision to bring a full-featured, open-source, cloud-native telecom solution for the communication industry, we knew that the C4 (Class 4) routing and SBC were essential for scaling, securing and load balancing the traffic to our B2BUA engines.

Keeping in mind our microservice architecture, we also wanted to further strip down some of the Asterisk dependant functionalities and try to use different tools.

Introducing Wazo Platform 19.13

· 4 min read
The Wazo Platform team

Hello Wazo community!

We are excited to release today the latest version of Wazo Platform!

Wazo Platform is an Open Source project allowing to build carrier grade programmable IP communication infrastructures. You can pick and choose the components you need to build your infrastructures.

It is designed so as to let you choose the components you need to build your infrastructures with:

  • Class 5 features such as audio and video calls, chat, call centers, conferences, voicemail, etc.,
  • Class 4 features like security, routing, load balancing, etc.

You can augment the platform and integrate it with your subscription and billing capabilities or any value-added services like Speech to Text, A.I. or sentiment analysis.

These communication infrastructures can be deployed and scaled on bare metal, virtual machines or containers.

Solving the emergency call prioritization issue with programmable telecom

· 7 min read
Jérome Pascal

A CRITICAL PAIN POINT FOR EMERGENCY CALL SERVICES

With the advent of the ubiquitous cell phone, the task of the emergency contact centers to prioritize a huge number of calls has become a tough challenge. The kind of challenge that needs to aggregate heterogenous pieces of technology to be addressed efficiently.

In the past, when a damaging event would occur - may it be a car accident, a terrorist attack or a climate disaster - only a limited number of people went to the nearby pharmacy or to the closest phone booth to warn the emergency service. In these times, adequate staffing was not so difficult for emergency contact centers: the call operator capacity was a mere function of the number of incidents.

Now, with so many devices in so many hands, should a mishap take place in a crowded place, you can be sure that everyone will try to reach the emergency contact center at the same time. The operators are then overwhelmed by a large number of simultaneous calls which all convey inefficiently the same pieces of information. Bad luck for the absent-minded woodcutter who left his chain saw inappropriately on at the same time a terrorist attack is taking place: our clumsy woodcutter will not be able to reach any emergency operator.

The situation could be described as an unintended yet effective denial of service attack.

We will show here, how in less than a 3-day period - during a short hackathon - a team of developers, with no prior knowledge of the Wazo programmable platform, was able to put in place an effective solution to this prioritization issue, and save lives.

How to Make your VoIP Application Always Reachable

· 4 min read
Emmanuel Quentin

call-keep

Making a professional VoIP mobile application can sometimes be a huge challenge, especially when we have to make sure that our customer should be notified when a call occurs.

Our application is always connected with our server via WebSocket, but there are many situations when this connection can be broken: Depending on the manufacturer of the device, when the application comes to background the connection is closed after a delay of 10 to 15 minutes. The connection can also be closed when the user closes the application.

We can't force the application to stay foreground, so how can we get rid of theses limitations?

Testing Interactions Between Mobile Applications: A Bumpy Ride

· 4 min read
Emmanuel Quentin

callkeep

For the past couple weeks, we've been working on the creation of automated integration tests for our new mobile application. This application is built with react-native and uses edge technologies like native WebRTC, native UI with ConnectionService or CallKit (see our library callkeep) and wake up push notifications.

Avoiding regressions on such a large application is a huge challenge. We are making big steps in the automation process to fulfill this goal.

Survey

· One min read
The Wazo Platform team

La version française suit

Dear Wazo users,

Your opinion matters to us and we want to prove it to you.

We would like to call on a couple of minutes of your time to help us improve Wazo for you.

This survey should only take a few minutes or so and we promise to keep you informed of how we will use it to improve the roadmap.

  • Survey in English (closed)

Thank you for contributing to the Wazo project.