Browse Source

modules/ims_charging: return false if Ro CCR returns with GSU <=0
- This caters for strange case where OCS returns CCR success
with a GSU of 0 (or less) seconds....

jaybeepee 10 years ago
parent
commit
83180ee760
1 changed files with 6 additions and 0 deletions
  1. 6 0
      modules/ims_charging/ims_ro.c

+ 6 - 0
modules/ims_charging/ims_ro.c

@@ -1218,6 +1218,12 @@ static void resume_on_initial_ccr(int is_timeout, void *param, AAAMessage *cca,
     LM_DBG("Valid CCA response with time chunk of [%i] and validity [%i]\n",
 	    ro_cca_data->mscc->granted_service_unit->cc_time,
 	    ro_cca_data->mscc->validity_time);
+    
+    if (ro_cca_data->mscc->granted_service_unit->cc_time <=0 ) {
+        LM_DBG("got zero GSU.... reservation failed");
+	error_code = RO_RETURN_FALSE;
+	goto error1;
+    }
 
     ssd->ro_session->last_event_timestamp = time(0);
     ssd->ro_session->event_type = pending;