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

Sergiu Pojoga pojogas at gmail.com
Wed Oct 30 16:02:20 CET 2019


And BTW, not Kamailio related, but just FYI - you could disable that harsh
dialog syncing every *n* minutes in cgrates.

"sessions": {
"channel_sync_interval":"0", // sync channels to detect stale sessions (0
to disable)
}

On Wed, Oct 30, 2019 at 10:56 AM Sergiu Pojoga <pojogas at gmail.com> wrote:

> Hi Michal,
>
> I've already encountered this same problem and got an answer from Daniel.
> Check below link.
>
> https://lists.kamailio.org/pipermail/sr-users/2019-October/107092.html
>
> Cheers.
>
> On Wed, Oct 30, 2019 at 9:57 AM Daniel-Constantin Mierla <
> miconda at gmail.com> wrote:
>
>> Hello,
>>
>> how often are you requesting the list of all dialogs (what is the n in
>> that every n seconds)? Is it done using a single evapi connection, or are
>> there many of them?
>>
>> And to clarify, is the error ("cannot serialize event") happening when
>> there is no call or when there are too many? Is not clear for me given that
>> you follow with what you expect to be when nobody is calling ...
>>
>> Cheers,
>> Daniel
>> On 30.10.19 14:26, Michal Škuta wrote:
>>
>> 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
>>
>>
>>
>>
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing Listsr-users at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>> --
>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld.com
>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing List
>> sr-users at lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20191030/848a3c29/attachment.html>


More information about the sr-users mailing list