[SR-Users] no event received for call disconnection

Aleksandar Sosic alex.sosic at timenet.it
Wed Nov 1 11:57:51 CET 2017


Thank you Daniel!
--
Aleksandar Sosic
mail: alex.sosic at timenet.it
skype: alex.sosic
cell: +385 91 2505 146


On Wed, Nov 1, 2017 at 10:39 AM, Daniel-Constantin Mierla
<miconda at gmail.com> wrote:
> Hello,
>
> ok, now the cfg execution flow is easier to understand. The evapi
> receiver was not designed to write back directly, I will try to find a
> solution for this case.
>
> Cheers,
> Daniel
>
> On 31.10.17 15:03, Aleksandar Sosic wrote:
>> Hi Daniel,
>>
>> so the kamailio.conf sections that matters are here:
>> https://gist.github.com/alexsosic/5a33d314d2db1832fd04166fe6615227
>>
>> Thanks for your time!
>> --
>> Aleksandar Sosic
>> mail: alex.sosic at timenet.it
>> skype: alex.sosic
>> cell: +385 91 2505 146
>>
>>
>> On Tue, Oct 31, 2017 at 12:51 PM, Daniel-Constantin Mierla
>> <miconda at gmail.com> wrote:
>>> It is a bit hard to guess the logic you have there, but seems like
>>> cgrates sends a disconnect request via event api, which via some actions
>>> triggers a dialog end, which then wants to send back an event to cgrates
>>> that call is ending? Like a loop back communication with evapi receiver ...
>>>
>>> Maybe you can share the config file (or the relevant parts).
>>>
>>> Cheers,
>>> Daniel
>>>
>>> On 31.10.17 12:18, Aleksandar Sosic wrote:
>>>> 17(114) NOTICE: evapi [evapi_dispatch.c:339]: evapi_recv_client(): {0}
>>>> [127.0.0.1:41154] - received
>>>> [99:{"Event":"CGR_SESSION_DISCONNECT","HashEntry":"715","HashId":"1885","Reason":"-INSUFFICIENT_FUNDS"},]
>>>> (103) (0)
>>>>
>>>> It seems like an evapi recieved command.
>>>> That triggers that route.
>>>>
>>>> After that I do have this errors in kamailio logs:
>>>> 17(114) ERROR: <core> [core/parser/parse_from.c:107]:
>>>> parse_from_uri(): failed to parse From uri
>>>> 17(114) ERROR: pv [pv_core.c:414]: pv_get_xto_attr(): cannot parse From URI
>>>> 17(114) ERROR: <core> [core/parser/parse_to.c:81]: parse_to_uri():
>>>> failed to parse To uri
>>>> 17(114) ERROR: pv [pv_core.c:408]: pv_get_xto_attr(): cannot parse To URI
>>>> --
>>>> Aleksandar Sosic
>>>> mail: alex.sosic at timenet.it
>>>> skype: alex.sosic
>>>> cell: +385 91 2505 146
>>>>
>>>>
>>>> On Tue, Oct 31, 2017 at 12:04 PM, Daniel-Constantin Mierla
>>>> <miconda at gmail.com> wrote:
>>>>> Hello,
>>>>>
>>>>> when is the route[CGR_SESSION_DISCONNECT] executed? In other words,
>>>>> where do you have route(CGR_SESSION_DISCONNECT) in your config or is
>>>>> there any modparam with CGR_SESSION_DISCONNECT in it?
>>>>>
>>>>> Cheers,
>>>>> Daniel
>>>>>
>>>>>
>>>>> On 31.10.17 11:45, Aleksandar Sosic wrote:
>>>>>> Hi Daniel,
>>>>>>
>>>>>> It's done by this cgrates route:
>>>>>> ```
>>>>>> # CGRateS request for session disconnect
>>>>>> route[CGR_SESSION_DISCONNECT] {
>>>>>>   json_get_field("$evapi(msg)", "HashEntry", "$var(HashEntry)");
>>>>>>   json_get_field("$evapi(msg)", "HashId", "$var(HashId)");
>>>>>>   json_get_field("$evapi(msg)", "Reason", "$var(Reason)");
>>>>>>   jsonrpc_exec('{"jsonrpc":"2.0","id":1,
>>>>>> "method":"dlg.end_dlg","params":[$(var(HashEntry){s.rm,"}),$(var(HashId){s.rm,"})]}');
>>>>>> }
>>>>>> ```
>>>>>>
>>>>>> It executes a dlg.end_dlg via jsonrpc.
>>>>>> --
>>>>>> Aleksandar Sosic
>>>>>> mail: alex.sosic at timenet.it
>>>>>> skype: alex.sosic
>>>>>> cell: +385 91 2505 146
>>>>>>
>>>>>>
>>>>>> On Mon, Oct 30, 2017 at 5:57 PM, Daniel-Constantin Mierla
>>>>>> <miconda at gmail.com> wrote:
>>>>>>> Hello,
>>>>>>>
>>>>>>>
>>>>>>> On 30.10.17 17:29, Aleksandar Sosic wrote:
>>>>>>>> Hi Everyone,
>>>>>>>>
>>>>>>>> we're trying to implement cgrates in our kamailio nodes.
>>>>>>>> Everything is working fine except for the fact that kamailio is not
>>>>>>>> signaling the call end to cgrates for prepaid users... The versions,
>>>>>>>> logs and confs are:
>>>>>>>>
>>>>>>>> ```
>>>>>>>> # kamailio -v
>>>>>>>> version: kamailio 5.0.3 (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 with gcc 5.3.1
>>>>>>>> ```
>>>>>>>>
>>>>>>>> ```
>>>>>>>> # cgr-engine --version
>>>>>>>> CGRateS 0.9.1~rc8 git+15a0793 (2017-10-23T12:15:40+02:00)
>>>>>>>> ```
>>>>>>>>
>>>>>>>> The kamailio conf regarding our problem is:
>>>>>>>> ```
>>>>>>>> # Inform CGRateS about CALL_END (stop debit loops, perform accounting
>>>>>>>> if desired in this way)
>>>>>>>> route[CGR_CALL_END] {
>>>>>>>>   if $sht(cgrconn=>cgr) == $null {
>>>>>>>>     xlog("Charging controller unreachable");
>>>>>>>>     exit;
>>>>>>>>   }
>>>>>>>>   $var(callDur) = $TS - $dlg(start_ts);
>>>>>>>>   evapi_relay("{\"event\":\"CGR_CALL_END\",
>>>>>>>>     \"callid\":\"$dlg(callid)\",
>>>>>>>>     \"from_tag\":\"$dlg(from_tag)\",
>>>>>>>>     \"cgr_reqtype\":\"$dlg_var(cgrReqType)\",
>>>>>>>>     \"cgr_tenant\":\"$dlg_var(cgrTenant)\",
>>>>>>>>     \"cgr_account\":\"$dlg_var(cgrAccount)\",
>>>>>>>>     \"cgr_destination\":\"$dlg_var(cgrDestination)\",
>>>>>>>>     \"cgr_answertime\":\"$dlg(start_ts)\",
>>>>>>>>     \"cgr_duration\":\"$var(callDur)\",
>>>>>>>>     \"cgr_supplier\":\"$dlg_var(cgrSupplier)\",
>>>>>>>>     \"cgr_disconnectcause\":\"$T_reply_code\"}");
>>>>>>>> }
>>>>>>>> ```
>>>>>>>>
>>>>>>>> The kamailio logs:
>>>>>>>>
>>>>>>>> ```
>>>>>>>> 17(114) ERROR: evapi [evapi_dispatch.c:707]: _evapi_relay(): failed to
>>>>>>>> pass the pointer to evapi dispatcher
>>>>>>>> 17(114) ERROR: evapi [evapi_mod.c:261]: w_evapi_relay(): failed to
>>>>>>>> relay event: {"event":"CGR_CALL_END",
>>>>>>>> [...]
>>>>>>> does this happen on BYE or on dialog timeout?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Daniel
>>>>>>>
>>>>>>> --
>>>>>>> Daniel-Constantin Mierla
>>>>>>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>>>>> Kamailio Advanced Training, Nov 13-15, 2017, in Berlin - www.asipto.com
>>>>>>> Kamailio World Conference - www.kamailioworld.com
>>>>>>>
>>>>> --
>>>>> Daniel-Constantin Mierla
>>>>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>>>>> Kamailio Advanced Training, Nov 13-15, 2017, in Berlin - www.asipto.com
>>>>> Kamailio World Conference - www.kamailioworld.com
>>>>>
>>> --
>>> Daniel-Constantin Mierla
>>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>>> Kamailio Advanced Training, Nov 13-15, 2017, in Berlin - www.asipto.com
>>> Kamailio World Conference - www.kamailioworld.com
>>>
>
> --
> Daniel-Constantin Mierla
> www.twitter.com/miconda -- www.linkedin.com/in/miconda
> Kamailio Advanced Training, Nov 13-15, 2017, in Berlin - www.asipto.com
> Kamailio World Conference - www.kamailioworld.com
>



More information about the sr-users mailing list