[SR-Users] $jsonrpl(body) empty or malfunctioned during higher traffic

Michal Škuta michal.skuta at gmail.com
Wed Oct 30 14:26:04 CET 2019


Hello, Kamailio community,
we are implementing evapi communication to our Kamailio server. We have
implemented and tested it on our testing server. Everything was working OK.

Now we are testing it on our production servers with a lot more calls and
we have some problems here.
Every n seconds we are requesting from Kamailio list of all dialogs. And
this list of dialogs (from jsonrpc *dlg.list*) is sent to evapi connection.
Here is a snippet of our *Kamailio code*:

route[CGR_DLG_LIST]
{
        xlog("L_INFO", "XLOG: $ci [CGR_DLG_LIST] Requested dialog list");
        # CGRateS connection is still alive, set check to true
        $sht(cgrconn=>check) = 1;
        if $sht(cgrconn=>cgr) == $null {
                sl_send_reply("503","Charging controller unreachable");
                exit;
        }
        jsonrpc_exec('{"jsonrpc":"2.0","id":1,
"method":"dlg.list","params":[]}');
        xlog("L_INFO", "XLOG: $ci [CGR_DLG_LIST] Test1: $jsonrpl(body)");

        evapi_relay("{\"event\":\"CGR_DLG_LIST_REPLY\",
                        \"jsonrpl_body\":$jsonrpl(body)}");
}

During a higher number of calls Kamailio is generating ERROR messages from
evapi module. Here is the syslog:

Oct 30 12:02:15 kam-prod /opt/ipgate/kamailio/sbin/kamailio[19512]: INFO:
<script>: XLOG: 123 [CGR_DLG_LIST] Requested dialog list
Oct 30 12:02:15 kam-prod /opt/ipgate/kamailio/sbin/kamailio[19512]: INFO:
<script>:
Oct 30 12:02:15 kam-prod /opt/ipgate/kamailio/sbin/kamailio[19512]: DEBUG:
evapi [evapi_dispatch.c:740]: _evapi_relay(): relaying event data [
Oct 30 12:02:15 kam-prod /opt/ipgate/kamailio/sbin/kamailio[19512]: ERROR:
evapi [evapi_dispatch.c:764]: _evapi_relay(): cannot serialize event
Oct 30 12:02:15 kam-prod /opt/ipgate/kamailio/sbin/kamailio[19512]: ERROR:
evapi [evapi_mod.c:265]: w_evapi_relay(): failed to relay event:

*We are expecting something like this when nobody is calling*
Oct 30 14:12:22 kam-test /opt/ipgate/kamailio/sbin/kamailio[32090]: INFO:
<script>: XLOG: 123 [CGR_DLG_LIST] Requested dialog list
Oct 30 14:12:22 kam-test /opt/ipgate/kamailio/sbin/kamailio[32090]: INFO:
<script>: XLOG: 123 [CGR_DLG_LIST] Test1: {
#011"jsonrpc":#011"2.0",
#011"result":#011[],
#011"id":#0111
}
Oct 30 14:12:22 kam-test /opt/ipgate/kamailio/sbin/kamailio[32090]: DEBUG:
evapi [evapi_dispatch.c:740]: _evapi_relay(): relaying event data
[{"event":"CGR_DLG_LIST_REPLY",
#011#011#011"jsonrpl_body":{
#011"jsonrpc":#011"2.0",
#011"result":#011[],
#011"id":#0111
}}] (96)
Oct 30 14:12:22 kam-test /opt/ipgate/kamailio/sbin/kamailio[32090]: DEBUG:
evapi [evapi_dispatch.c:778]: _evapi_relay(): sending [0x169ff674]
[96:{"event":"CGR_DLG_LIST_REPLY",
#011#011#011"jsonrpl_body":{
#011"jsonrpc":#011"2.0",
#011"result":#011[],
#011"id":#0111
}},] (100)
Oct 30 14:12:22 kam-test /opt/ipgate/kamailio/sbin/kamailio[32090]: DEBUG:
evapi [evapi_dispatch.c:789]: _evapi_relay(): dispatching [0x169ff674]
[96:{"event":"CGR_DLG_LIST_REPLY",
#011#011#011"jsonrpl_body":{
#011"jsonrpc":#011"2.0",
#011"result":#011[],
#011"id":#0111
}},] (100)


We enabled debug messages for module evapi and are trying to understand
where is the problem. To make this work to this state we needed to increase
the *pv_buffer* to really big size (2097152).
It looks like $jsonrpl(body) is not ready and everything concated with it
is not working.

Any help or suggestion is welcomed.

Sincerely Michal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20191030/c62a3efa/attachment.html>


More information about the sr-users mailing list