Browse Source

cnxcc: check if final pulse is 0

- avoid dividing with it in such case
- GH #3859

(cherry picked from commit 7061a79fe64066dd5a6598e38d714bd40bf2eabc)
(cherry picked from commit ca3d4b3515024732805038509dd0d9f0b60ab273)
(cherry picked from commit a9a337562d1b57afedb31d49764e03c7ebd85f31)
Daniel-Constantin Mierla 1 year ago
parent
commit
559cbb1ea5
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/modules/cnxcc/cnxcc_check.c

+ 7 - 0
src/modules/cnxcc/cnxcc_check.c

@@ -62,6 +62,13 @@ void check_calls_by_money(unsigned int ticks, void *param)
 					if(!call->confirmed)
 						continue;
 
+					if(call->money_based.final_pulse == 0) {
+						LM_WARN("CID [%.*s] - final pulse is 0 - skipping\n",
+								call->sip_data.callid.len,
+								call->sip_data.callid.s);
+						continue;
+					}
+
 					consumed_time =
 							get_current_timestamp() - call->start_timestamp;