Hi community.
Have a problem with cnxcc call monitoring. __set_max_credit() allocates new call as expected:
"DEBUG: cnxcc [cnxcc_mod.c:444]: __dialog_created_callback(): Flag is not set for this message. Ignoring DEBUG: cnxcc [cnxcc_mod.c:1569]: __set_max_credit(): Setting up new call for client [2], max-credit[0.100000], cost-per-sec[0.010000], initial-pulse [6], final-pulse [6], call-id[2f77fd103d0bfa28718d896876b373fe@b2b.user.agent:50600] DEBUG: cnxcc [cnxcc_mod.c:1470]: set_ctrl_flag(): Flag set! DEBUG: cnxcc [cnxcc_redis.c:313]: redis_get_int(): Got INT value: concurrent_calls=0i DEBUG: cnxcc [cnxcc_redis.c:68]: redis_get_or_create_credit_data(): credit_data with ID=[2] DOES NOT exist in the cluster, creating it... DEBUG: cnxcc [cnxcc_redis.c:92]: redis_insert_credit_data(): Inserting credit_data_t using ID [2] DEBUG: cnxcc [cnxcc_mod.c:1125]: __get_or_create_credit_data_entry(): Credit entry didn't exist. Allocated new entry [0x7f17668f6d70] DEBUG: cnxcc [cnxcc_mod.c:1255]: __alloc_new_call_by_money(): New call allocated for client [2]".
So that I can see values inside redis: redis.callision.info:6389> HGETALL cnxcc:money:2 1) "concurrent_calls" 2) "0" 3) "consumed_amount" 4) "0.000000" 5) "ended_calls_consumed_amount" 6) "0.000000" 7) "max_amount" 8) "0.000000" 9) "number_of_calls" 10) "1" 11) "type" 12) "1"
But cnxcc doesn't update credit amount during the call.
modparam("debugger", "mod_level", "cnxcc=4") but there are no rows in kamailio log like:
"DEBUG: cnxcc [cnxcc_check.c:94]: check_calls_by_money(): ec=0.000000, ca=0.600000, ca2=0.600000 DEBUG: cnxcc [cnxcc_check.c:107]: check_calls_by_money(): Client [some_client] | Ended-Calls-Credit-Spent: 0.000000 TotalCredit/MaxCredit: 0.600000/3.000000".
cnxcc parameters: modparam("cnxcc", "dlg_flag", FLG_DLG) modparam("cnxcc", "redis", "addr=redis.youwillnever.find;port=6389;db=0") modparam("cnxcc", "credit_check_period", 1)
function that performs credit setup: if (!cnxcc_set_max_credit("$var(setid)","$var(credit)","$var(cost_per_sec)","$var(i_pulse)","$var(f_pulse)")) { xlog("L_WARN", "----- cnxcc: $fU - Error setting up credit control - R=$ru ID=$ci\n"); sl_send_reply("402", "Payment Required"); }
Why is it so? And as see, all values are set zero. Seems to be problem with redis inserts. Any ideas are highly appreciated. Thanks.
Hello,
not a cnxcc user here ... anyhow, few questions to see where this can lead:
- is only the update to redis that doesn't work? are calls terminated/charged as expected?
- when the call is ended, are there any updates?
Cheers, Daniel
On 20.12.17 11:59, Donat Zenichev wrote:
Hi community.
Have a problem with cnxcc call monitoring. __set_max_credit() allocates new call as expected:
"DEBUG: cnxcc [cnxcc_mod.c:444]: __dialog_created_callback(): Flag is not set for this message. Ignoring DEBUG: cnxcc [cnxcc_mod.c:1569]: __set_max_credit(): Setting up new call for client [2], max-credit[0.100000], cost-per-sec[0.010000], initial-pulse [6], final-pulse [6], call-id[2f77fd103d0bfa28718d896876b373fe@b2b.user.agent:50600] DEBUG: cnxcc [cnxcc_mod.c:1470]: set_ctrl_flag(): Flag set! DEBUG: cnxcc [cnxcc_redis.c:313]: redis_get_int(): Got INT value: concurrent_calls=0i DEBUG: cnxcc [cnxcc_redis.c:68]: redis_get_or_create_credit_data(): credit_data with ID=[2] DOES NOT exist in the cluster, creating it... DEBUG: cnxcc [cnxcc_redis.c:92]: redis_insert_credit_data(): Inserting credit_data_t using ID [2] DEBUG: cnxcc [cnxcc_mod.c:1125]: __get_or_create_credit_data_entry(): Credit entry didn't exist. Allocated new entry [0x7f17668f6d70] DEBUG: cnxcc [cnxcc_mod.c:1255]: __alloc_new_call_by_money(): New call allocated for client [2]".
So that I can see values inside redis: redis.callision.info:6389 http://redis.callision.info:6389> HGETALL cnxcc:money:2 1) "concurrent_calls" 2) "0" 3) "consumed_amount" 4) "0.000000" 5) "ended_calls_consumed_amount" 6) "0.000000" 7) "max_amount" 8) "0.000000" 9) "number_of_calls" 10) "1" 11) "type" 12) "1"
But cnxcc doesn't update credit amount during the call.
modparam("debugger", "mod_level", "cnxcc=4") but there are no rows in kamailio log like:
"DEBUG: cnxcc [cnxcc_check.c:94]: check_calls_by_money(): ec=0.000000, ca=0.600000, ca2=0.600000 DEBUG: cnxcc [cnxcc_check.c:107]: check_calls_by_money(): Client [some_client] | Ended-Calls-Credit-Spent: 0.000000 TotalCredit/MaxCredit: 0.600000/3.000000".
cnxcc parameters: modparam("cnxcc", "dlg_flag", FLG_DLG) modparam("cnxcc", "redis", "addr=redis.youwillnever.find;port=6389;db=0") modparam("cnxcc", "credit_check_period", 1)
function that performs credit setup: if (!cnxcc_set_max_credit("$var(setid)","$var(credit)","$var(cost_per_sec)","$var(i_pulse)","$var(f_pulse)")) { xlog("L_WARN", "----- cnxcc: $fU - Error setting up credit control - R=$ru ID=$ci\n"); sl_send_reply("402", "Payment Required"); }
Why is it so? And as see, all values are set zero. Seems to be problem with redis inserts. Any ideas are highly appreciated. Thanks.
-- -- BR, Donat Zenichev Wnet VoIP team Tel Ukraine: +380(44) 5-900-800 Tel USA: +164(67) 8-174-17 https://w-net.us/ http://wnet.ua
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users