Hello,
Hello Daniel,
yes after playing around under kamailio-5.0.x, i understand that kemi exports are not complete.
For example the KSR.hdr.append_hf dont work in kamailio-5.0.xattempt to call field 'append_hf' (a nil value)
KSR.hdr.append_hf("P-Hint: outbound\r\n");But i found KSR.hdr.append("P-Hint: outbound\r\n"); (without _hf) - that did the same and works.
The hardest part with kemi seems to be "find the new kemi (function)name in your config-language" and also the module dependencies.
A few questions to kemi and kemi-docu:
* Are all config-language on the same level with the kemi-exports or are some "more ahead" - for example python or javascript?
* the behavior of "config-language exit - then exit kamailio" in lua makes me fear.
With the old-school kamailio-cfg you cannot break kamailio itself.
Pointing to nil values in app_lua / cfgengine lua or request nathelper modulein kemi-lua without load nathelper - breaks your kamailio. huuuu. so many kamailio-cores today in my testlab.Are there changes in the future for this?
* Is it better to say "if you want kemi, then go to 5.1.x or master branch"?
Thanks!
2017-11-22 14:40 GMT+01:00 Daniel-Constantin Mierla <miconda@gmail.com>:
Hello,
On 22.11.17 12:42, Karsten Horsmann wrote:
Hello List,
i dunno why this happen :) after i write an email to the list - but now i found it.
the app_lua/kemi function name is sr.dispatcher.select for ds_select_dst
as wrote on my previous response to your initial email in this discussion, this is not via KEMI, the "sr" module in Lua is old style implementation, when for each function exported to Lua, new C code had to be written inside app_lua. But you can still use it, as in v5.0 many modules didn't export their functions to kemi.
Cheers,
Daniel
The source-code documentation guides me to this point after greping around in app_lua.
# dst_select( "GROUP", "HASH METHOD")if(!ds_select_dst($avp(routing_target), "4")) { send_reply("404", "No destination");exit;}
In lua part it looks like this (the nil part maybe broken per default, lua dont like vars with nil)
--- dispatcher routefunction ksr_route_dispatch(direction, routing_target)
KSR.xlog.xinfo("new $fU -> $rU in routing_target ksr_route_dispatch");KSR.info(routing_target);if (routing_target == nil) thenKSR.xlog.xinfo("routing_target nil");KSR.sl.sl_send_reply(604, "Does Not Exist Anywhere");KSR.x.exit();end
-- return code dispatcher.select NOT true - then 404if (sr.dispatcher.select(routing_target, 4) ~= 1) then KSR.sl.sl_send_reply(404, "No destination");KSR.x.exit();endksr_route_myheader(pathinfo);ksr_route_relay();KSR.x.exit();end
--
Kind Regards
*Karsten Horsmann*
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/ cgi-bin/mailman/listinfo/sr- users
-- Daniel-Constantin Mierla www.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio Advanced Training - www.asipto.com Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com
--
Kind Regards
*Karsten Horsmann*
-- Daniel-Constantin Mierla www.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio Advanced Training - www.asipto.com Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com