Kamailio is an open source SIP server that uses a scripting language for its configuration file to enable flexibility in deciding the routing of SIP messages. Starting with version 5.0, besides its native scripting language, Kamailio allows writing the routing logic in several other programming languages such as Lua, JavaScript, Python and Squirrel. This presentations aims to reveal the benefits and drawbacks of using any of these scripting languages for building scalable real time communication systems and services.
Real time communications evolved at a high pace in the last decade, no longer being an isolated service used primarily for voice and text sessions. Connectivity with other social media channels, integration of artificial intelligence or interaction with smart home or work environments requires lot more flexibility inside the SIP routing engine. Current version of Kamailio tries to cover the needs from fast routing needs of a performant load balancer, with a self designed scripting language, to the fast prototyping and development of innovative features, with a new scripting framework that allows leveraging the large set of extensions and libraries offered by languages such as Lua, JavaScript or Python.
This presentation focuses on the Kamailio Embedded Interface (KEMI) framework, going through the supported scripting languages, their benefits and drawbacks. Doors are now open to write Kamailio extensions also for people familiar with these programming languages, no longer only for C programmers, diversifying the sources of developers that can join the community of the project.
Speakers: Daniel-Constantin Mierla