The folks at Wazo (a project aiming to offer a full open source API programable RTC platform) have recently published a blog article on SIP routing using Kamailio’s rtjson and http_async_client modules – it can be found at:
If you are looking to build (REST) API-driven RTC platforms with Kamailio, this article provides very useful details.
Citing from the blog:
“… 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.
To provide flexible, API-driven routing features in the Wazo Platform C4 Softswitch we decided to implement it on the foundations of the
rtjson module. This module not only allows you to push the routing destination
URI and the outbound proxy, but it also supports the normalization of the
To headers, the insertion of additional headers as well as various settings related to the transaction management and its timers.
Together with the
http_async_client Kamailio module, it offers a perfect solution to manage very complex and dynamic routing rules of SIP messages delegating the routing logic to an external, HTTP-based web service. The biggest advantage of
http_async_client is that, as the name suggests, it is asynchronous: the HTTP request to the API server doesn’t block the Kamailio worker process which is immediately released, ready to serve subsequent SIP message requests. As soon as the HTTP request completes and the
http_async_client worker process managing it collects the response, it resumes the Kamailio transaction and calls the Kamailio
route designated to manage the API responses, resuming the processing of the SIP message and its transaction. …”
Should you be aware of similar article that you think is worth sharing, let us know and we gladly publish a news article about it.
Thanks for flying Kamailio!
Looking forward to meeting many of you at the 8th edition of Kamailio World Conference, April 27-29, 2020, in Berlin, Germany!