Hello,
based on some of the plans for Kamailio 5.0
(
https://www.kamailio.org/wiki/devel/kamailio-5.0-design), I started the
implementation for the support to allow writing the active routing logic
at runtime (respectively what are now the routing blocks) in other
embedded languages than the native kamailio.cfg interpreter. Of course,
besides a lot more extensive set of functions and expressions coming
with the well established scripting languages, this way will allow
reloading the logic without kamailio restart.
I already committed the foundation for it, currently the request_route{}
and reply_route{} can be implemented in Lua, relying on app_lua module.
Lua was selected for first experiments given that I have some past
experience with it, but other languages such as Perl, Python will
hopefully follow soon, once the framework gets to a stable design.
I wrote some initial docuentation on the wiki:
-
https://www.kamailio.org/wiki/devel/config-engines
Would be helpful if people with experience on the other supported
embedded languages will join the effort to design the framework to suit
those languages, as well as other developers and community members to
start exporting C functions.
Also, there are some other things to decide on, listed in the to-do
section, where suggestions/assistance are appreciated:
-
https://www.kamailio.org/wiki/devel/config-engines#to-do
Many of them probably will be approached during the planned IRC devel
meeting next week:
-
https://www.kamailio.org/wiki/devel/irc-meetings/2016a
Any feedback is welcome!
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
Kamailio World Conference, Berlin, May 18-20, 2016 -
http://www.kamailioworld.com