It is today one month since the release of a new major version for Kamailio SIP server, respectively v5.0.0, one with a consistent set of new features and enhancements:
Among its brand new features is the ability to execute JavaScript (ECMAScript) code embedded inside kamailio.cfg script — this is possible via app_jsdt module. The module relies on DukTape JavaScript engine, which is imported in the Kamailio source code, therefore it has no external library dependency.
It is also possible to use JavaScript to write entirely the SIP routing blocks for kamailio.cfg via KEMI framework, offering a more extensive language to control how next hop is selected. Next are the links showing such example:
- https://github.com/kamailio/kamailio/blob/master/misc/examples/kemi/kamailio-basic-kemi-jsdt.js
- https://github.com/kamailio/kamailio/blob/master/misc/examples/kemi/kamailio-basic-kemi.cfg
Among app_jsdt module features:
- can reload the routing functions without kamailio restart via an RPC command
- execute inline JavaScript within a native kamailio.cfg or write entire SIP routing blocks in JavaScript
- no external dependencies, it compiles with same tools and libraries as Kamailio core
- access to full scripting language constructs, expressions and statements, with extensive documentation, for building SIP routing language
More about configuration file engines for Kamailio 5.0 will be presented at the next Kamailio World Conference, May 8-10, 2017, in Berlin, Germany. See you there!