[SR-Users] kemi with lua and dispatcher - attempt to index field 'dispatcher' (a nil value)

Karsten Horsmann khorsmann at gmail.com
Wed Nov 22 11:24:25 CET 2017


Hello Daniel,
hello List,

after reading the fresh released kemi documentation (Thanks for that!) on
github i start to configure an kemi lua configuration. It seems to be that
there is not an dispatcher export to kemi in my installation. Or i
missconfigured something? How to use dispatcher with kemi?

1.) First try to solve this - use param "register" "modulename" to app_lua
- doesnt work
2.) grep around in the auto kemi in/export messages in debug startup -
nothing to see.
3.) grep around in the kamcmd api.list command for lua - no dispatcher

here the intressting parts of the configs and lua-script:

kamailio.cfg
...
loadmodule "dispatcher.so"
loadmodule "permissions.so"
loadmodule "avpops.so"
#!ifdef WITH_CFGLUA
loadmodule "app_lua.so"
modparam("app_lua", "reload", 1)
modparam("app_lua", "register", "dispatcher")
#!endif

#!ifdef WITH_CFGLUA
modparam("app_lua", "load", "/etc/kamailio/lua/kamailio-kemi-lua.lua")
cfgengine "lua"
#!else
import_file "request-route.cfg"
#!endif
...


kamailio-kemi-lua.lua
function ksr_request_route()
...
    -- dispatch destinations
    if KSR.permissions.allow_source_address(FLT_EDGE) then
        KSR.info("new $fU -> $rU in permissions");
        direction = "inbound";
        routing_target = FLT_FSNODE;
        ksr_route_dispatch(direction, routing_target);
        KSR.x.exit();
    end

    KSR.info("NOT-OKAY - $rU dropped");
    -- End of Route()
    KSR.sl.sl_send_reply(407, "Proxy Authentication Required. See IP GUI");
    return 1;
...
end


--- dispatcher route
function 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) then
        KSR.xlog.xinfo("routing_target nil");
        KSR.sl.sl_send_reply(604, "Does Not Exist Anywhere");
        KSR.x.exit();
    end

    if KSR.dispatcher.ds_select_dst(routing_target, 4) then
        send_reply(404, "No destination");
        KSR.x.exit();
    end
    ksr_route_myheader();
    ksr_route_relay();
    KSR.x.exit();
end


/usr/sbin/kamailio[26763]: ERROR: app_lua [app_lua_api.c:713]:
app_lua_run_ex(): error from Lua:
/etc/kamailio/lua/kamailio-kemi-lua.lua:131: attempt to index field
'dispatcher' (a nil value)




kamailio -v
version: kamailio 5.0.4 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE,
USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC,
TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT,
USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST,
HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled on 20:20:24 Nov 16 2017 with gcc 4.8.5

rpm -aq | grep kam
kamailio-mysql-5.0.4-26.el7.centos.x86_64
kamailio-5.0.4-26.el7.centos.x86_64
kamailio-lua-5.0.4-26.el7.centos.x86_64
kamailio-ims-5.0.4-26.el7.centos.x86_64


rpm -ql kamailio-5.0.4 | grep disp
/usr/lib64/kamailio/modules/dispatcher.so
/usr/share/doc/kamailio/modules/README.dispatcher
/usr/share/kamailio/dbtext/kamailio/dispatcher


-- 
Kind Regards
*Karsten Horsmann*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20171122/3e30b8d2/attachment.html>


More information about the sr-users mailing list