[sr-dev] git:master:34efdc9c: ims_charging: Only send CCR_STOP, if we've had a positive reply for CCR_START

Carsten Bock carsten at ng-voice.com
Mon Jul 13 11:45:11 CEST 2015


Module: kamailio
Branch: master
Commit: 34efdc9c4fa9711f9a17b5a46f72efcf979b16a2
URL: https://github.com/kamailio/kamailio/commit/34efdc9c4fa9711f9a17b5a46f72efcf979b16a2

Author: Carsten Bock <carsten at ng-voice.com>
Committer: Carsten Bock <carsten at ng-voice.com>
Date: 2015-07-13T11:44:59+02:00

ims_charging: Only send CCR_STOP, if we've had a positive reply for CCR_START

---

Modified: modules/ims_charging/dialog.c
Modified: modules/ims_charging/ro_session_hash.h

---

Diff:  https://github.com/kamailio/kamailio/commit/34efdc9c4fa9711f9a17b5a46f72efcf979b16a2.diff
Patch: https://github.com/kamailio/kamailio/commit/34efdc9c4fa9711f9a17b5a46f72efcf979b16a2.patch

---

diff --git a/modules/ims_charging/dialog.c b/modules/ims_charging/dialog.c
index 0548fee..6ba4d3e 100644
--- a/modules/ims_charging/dialog.c
+++ b/modules/ims_charging/dialog.c
@@ -164,9 +164,11 @@ void dlg_terminated(struct dlg_cell *dlg, int type, struct dlg_cb_params *_param
 					}
 				}
 
-				LM_DBG("Sending CCR STOP on Ro_Session [%p]\n", ro_session);
-				send_ccr_stop(ro_session);
-				ro_session->active = 0;
+				if (ro_session->event_type != unknown) {
+					LM_DBG("Sending CCR STOP on Ro_Session [%p], as it is in '%d' state\n", ro_session, ro_session->event_type);
+					send_ccr_stop(ro_session);
+					ro_session->active = 0;
+				}
 				
 				if (ro_db_mode == DB_MODE_REALTIME) {
 				    ro_session->flags |= RO_SESSION_FLAG_DELETED;
diff --git a/modules/ims_charging/ro_session_hash.h b/modules/ims_charging/ro_session_hash.h
index 4e7c9fe..e481f88 100644
--- a/modules/ims_charging/ro_session_hash.h
+++ b/modules/ims_charging/ro_session_hash.h
@@ -23,6 +23,7 @@
 #define MAX_PANI_LEN 100
 
 enum ro_session_event_type {
+    unknown = 0,
     pending,
     answered,
     no_more_credit,




More information about the sr-dev mailing list