[SR-Users] KEMI

Grant Bagdasarian gb at cm.nl
Wed Feb 14 17:01:20 CET 2018


Where would one get the files which are imported when creating a Kamailio file using python?
import Router.Logger as Logger
import KSR as KSR

Would be awesome if we could reference these and get code completion when using for instance Visual Studio code.
So, basically, I'm looking for the KSR.py and Router.py files, but I cannot find them.


-----Original Message-----
From: sr-users [mailto:sr-users-bounces at lists.kamailio.org] On Behalf Of Daniel-Constantin Mierla
Sent: woensdag 7 februari 2018 16:02
To: Aleksandar Sosic <alex.sosic at timenet.it>
Cc: Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org>
Subject: Re: [SR-Users] KEMI

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 modules.


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

Kamailio (SER) - Users Mailing List
sr-users at lists.kamailio.org

More information about the sr-users mailing list