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@timenet.it skype: alex.sosic cell: +385 91 2505 146
On Tue, Oct 31, 2017 at 12:51 PM, Daniel-Constantin Mierla miconda@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@timenet.it skype: alex.sosic cell: +385 91 2505 146
On Tue, Oct 31, 2017 at 12:04 PM, Daniel-Constantin Mierla miconda@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@timenet.it skype: alex.sosic cell: +385 91 2505 146
On Mon, Oct 30, 2017 at 5:57 PM, Daniel-Constantin Mierla miconda@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