[SR-Users] KEMI

Daniel-Constantin Mierla miconda at gmail.com
Wed Feb 7 16:01:53 CET 2018

I am more into Lua when it comes on doing something the native
kamailio.cfg cannot do, that's because Lua has a decent range of
extensions (external Lua libraries).

JavaScript was added for those that do not need a lot of external
extensions, but want to have script reload.

Same for Squirrel, but that language is not so popular as JavaScript,
however, there could be people liking it, being very minimal, thus
expecting to need very low resources.

Anyhow, once implemented, a kemi interpreter module should not need much
maintenance. New kemi functions will be exported directly from the other


On 07.02.18 14:12, Aleksandar Sosic wrote:
> Thanks Dan for the extensive answer!
> My last question then is what kemi language do you use personally? :D
> Kind regards,
> --
> Aleksandar Sosic
> mail: alex.sosic at timenet.it
> skype: alex.sosic
> cell: +385 91 2505 146
> On Tue, Feb 6, 2018 at 8:44 PM, Daniel-Constantin Mierla
> <miconda at gmail.com> wrote:
>> The C code is the same for 99% of the KSR functions available either in
>> python or javascript (or the other kemi languages). Only KSR.pv and
>> KSR.x functions are implemented in the app_python or app_jsdt modules.
>> So if such a KSR function is broken, it is the same everywhere
>> Probably KSR.pv can be moved in a common place, but KSR.x are specific
>> extensions for each interpreter, so it will stay in app_*.
>> Then of course, it is a matter of the script interpreter, python vs js
>> ducktape, which are external project, we just bind to them. Also, it is
>> about the maintenance of app_python and app_jsdt. I am not the developer
>> of app_python and I cannot assert its state, I just added the kemi
>> enhancement. app_jsdt was developed by me, but I haven't used it
>> extensively so far.
>> Probably you can do some basic configs and test yourself and see what
>> fits your needs better, you can start from the examples at:
>>   - https://github.com/kamailio/kamailio/tree/master/misc/examples/kemi
>> In long term, you have to look at the extensions you may need, what
>> python offers vs ducktape js interpreter in terms of their own
>> extensions and libraries.
>> Cheers,
>> Daniel

Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com

More information about the sr-users mailing list