Dear all

We are trying to use the evapi module to send some data to an external application but I'm having problems getting the clients connected.

I have the kamailio (version 5.3) running with a  tcp socket, and the evapi params are just
modparam("evapi", "workers", 4)
modparam("evapi", "netstring_format", 0)
modparam("evapi", "bind_addr", "")
modparam("evapi", "max_clients", 32)

I tried a different number of workers and netstring_format 1 too.
When I start the kamailio i added some debug to the code, and seems when doing the mod init of the evapi dispatcher
38(4779) DEBUG: <core> [core/sr_module.c:779]: init_mod_child(): idx 38 rank -2: evapi [EvAPI Dispatcher]
it reaches to 
        while(1) {
                ev_loop (loop, 0);
at evapi_run_dispatcher function.
I guess if I connected to the tcp socket and sent some event, I would see the client accepted and the event route evapi:connection-new would be triggered. But i'm not able to do that.
I tried to use the prime option, a tcp input client connection from logstash, so i could relay the data to the logstash using the evapi relay, but i only see the tcp socket being created but no client accepted.
I also tried to connect with an erlang gen_tcp client, but it's the same
i only see

47(4798) DEBUG: <core> [core/ip_addr.c:229]: print_ip(): tcpconn_new: new tcp connection:
47(4798) DEBUG: <core> [core/tcp_main.c:1174]: tcpconn_new(): on port 54537, type 2, socket 105
47(4798) DEBUG: <core> [core/tcp_main.c:1497]: tcpconn_add(): hashes: 1117:1187:1505, 1
47(4798) DEBUG: <core> [core/io_wait.h:375]: io_watch_add(): DBG: io_watch_add(0xad0880, 105, 2, 0x7fc211712d58), fd_no=53
and if i try to send any data

47(4798) DEBUG: <core> [core/io_wait.h:600]: io_watch_del(): DBG: io_watch_del (0xad0880, 105, -1, 0x0) fd_no=54 called
47(4798) DEBUG: <core> [core/tcp_main.c:4456]: handle_tcpconn_ev(): sending to child, events 1
47(4798) DEBUG: <core> [core/tcp_main.c:4129]: send2child(): selected tcp worker idx:0 proc:43 pid:4791 for activity on [tcp:], 0x7fc211712d58
43(4791) DEBUG: <core> [core/tcp_read.c:1749]: handle_io(): received n=8 con=0x7fc211712d58, fd=39
43(4791) DEBUG: <core> [core/io_wait.h:375]: io_watch_add(): DBG: io_watch_add(0xb3c720, 39, 2, 0x7fc211712d58), fd_no=1
43(4791) DEBUG: <core> [core/io_wait.h:600]: io_watch_del(): DBG: io_watch_del (0xb3c720, 39, -1, 0x10) fd_no=2 called
43(4791) DEBUG: <core> [core/tcp_read.c:1671]: release_tcpconn(): releasing con 0x7fc211712d58, state 1, fd=39, id=1 ([]:54537 -> []:8448)
43(4791) DEBUG: <core> [core/tcp_read.c:1672]: release_tcpconn(): extra_data (nil)
47(4798) DEBUG: <core> [core/tcp_main.c:3559]: handle_tcp_child(): reader response= 7fc211712d58, 1 from 0
47(4798) DEBUG: <core> [core/io_wait.h:375]: io_watch_add(): DBG: io_watch_add(0xad0880, 105, 2, 0x7fc211712d58), fd_no=53
47(4798) DEBUG: <core> [core/tcp_main.c:3686]: handle_tcp_child(): CONN_RELEASE  0x7fc211712d58 refcnt= 1

and when i try to send any data
38(10867) DEBUG: evapi [evapi_dispatch.c:610]: evapi_recv_notify(): received [0x7f17d23fc628] [{"test" : "", "uuid" : "1-31629@" , "pdd" : "4"}] (75)
38(10867) DEBUG: evapi [evapi_dispatch.c:316]: evapi_dispatch_notify(): the message was sent to 0 clients

I don't know what i'm missing, or if i'm understanding the use of the module correctly

could you please take a look?
thanks a lot


David Escartín Almudévar
VoIP/Switch Engineer

C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 ·