When preparing the latest major release of Kamailio (the v5.2.0) and the days after, I run some tests to compare the performances of using native scripting versus Lua and Python (v2). The tests were not focused on measuring the capacity of Kamailio, but to see the difference in executing similar SIP routing logic with different scripting languages.
The results and conclusions are collected in a wiki page:
It was pleasant to discover that native scripting, Lua and Python perform more or less the same, the differences are so small that can be just a side effect of what other applications are running at that moment in the system. The tests were related to processing registrations with user authentication, using MySQL as a backend.
A test consisted of 20 000 registrations for 10 users being sent at a rate of 4000 requests/second, with a limit of 10 000 at the same time. Note that each registration was challenged for authentication and resent with credentials, then authenticated (this performs a MySQL query) and replied with 200ok. The average of running the routing script ranged form 60 to 80 microseconds, most of them being around 70 microseconds (for a better understanding, that means more than 10 000 authenticated registrations per second).
The wiki page includes the sipp scenario, used configs and tools to perform the tests, therefore anyone can try to run and check the results.
A bit of a surprise was to see that Python has really good results. I ran couple of basic tests during the development of KEMI framework for Kamailio 5.0 and using Python seemed slower. Not this time, so I will have to re-run the tests just to be sure I haven’t forgotten something.
Anyhow, during the development of Kamailio 5.2, there were couple of additions to KEMI to improve the performances. Among the most relevant were to export several functions that are equivalent to some native scripting language conditions, such as matching From/To URIs against myself keyword or matching the SIP methods.
The 7th edition of the event takes place again in Berlin, Germany, during May 6-8, 2019. Expect over 150 participants, developers and community members as well as representatives from other popular open source VoIP projects such as Asterisk or FreeSwitch.
November 28, 2018: Kamailio v5.2.0 is out – a new major release, bringing new features and improvements added during nine months of development and about two months of testing.
In short, this major release brings 6 new modules and enhancements to more than 70 existing modules, plus components of the core and internal libraries as well as optimizations for embedded interpreters (KEMI framework). Detailed release notes are available at:
This is the third major release in the series of 5.x.y versions. Besides adding plenty of new features, a lot of development was directed to unify the exports structure for modules, enhance dispatcher (the load balancer module), tls, RTP processing and to make available more functions to KEMI interface.
Enjoy SIP routing in a secure, flexible and easier way with Kamailio v5.2.0!
The next edition of Kamailio World Conference is planned to take place at the same location like the past editions, respectively hosted by Fraunhofer Fokus and Forum in the city center of Berlin, Germany, during May 6-8, 2019.
The website of the event and the call for presentations will be launched in the near future, stay tuned!
Meanwhile, you can browse the website of the previous edition in order to get an idea about the type of event and its content:
With the creation of branch 5.2 done yesterday, the master branch is from now on open for adding new features, to be part of future release series v5.3.x.
Based on the workflow used during the past years, the next future release v5.3.0 should be out after another 8-10 months of development, plus 1-2 months of testing, so sometime in the summer or autumn of 2019.
Even now there is a new pull request on its way to be merged in master branch that is adding a new module – the rtp_media_server:
Note that 5.2 is an official stable branch, so only bug fixes, missing kemi exports (to be discussed on sr-dev if something needs to be sorted out about the purpose of the exports) or improvements to documentation or helper tools will be pushed to this branch.
As usual, if there is a bug fixed, the commit will be pushed first to master branch and then cherry picked to 5.2 branch.
In few weeks, the first release from branch 5.2 will be out, respectively Kamailio v5.2.0.