From b50e07e2a3d75dc68360394ce1750d827d6cb020 Mon Sep 17 00:00:00 2001 From: DanB Date: Thu, 21 Mar 2019 13:58:53 +0100 Subject: [PATCH] SessionS store_session_costs configuration option --- config/config_defaults.go | 1 + config/config_json_test.go | 1 + config/config_test.go | 1 + config/libconfig_json.go | 1 + config/smconfig.go | 4 ++++ 5 files changed, 8 insertions(+) diff --git a/config/config_defaults.go b/config/config_defaults.go index ddcfd2912..7277899a2 100755 --- a/config/config_defaults.go +++ b/config/config_defaults.go @@ -306,6 +306,7 @@ const CGRATES_CFG_JSON = ` "attributes_conns": [], // connections to AttributeS for altering event fields <""|*internal|127.0.0.1:2013> "session_replication_conns": [], // replicate sessions towards these session services "debit_interval": "0s", // interval to perform debits on. + "store_session_costs": true, // enable storing of the session costs within CDRs "min_call_duration": "0s", // only authorize calls with allowed duration higher than this "max_call_duration": "3h", // maximum call duration a prepaid call can last "session_ttl": "0s", // time after a session with no updates is terminated, not defined by default diff --git a/config/config_json_test.go b/config/config_json_test.go index 8efbc5da7..7518b605d 100755 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -482,6 +482,7 @@ func TestSmgJsonCfg(t *testing.T) { Attributes_conns: &[]*HaPoolJsonCfg{}, Session_replication_conns: &[]*HaPoolJsonCfg{}, Debit_interval: utils.StringPointer("0s"), + Store_session_costs: utils.BoolPointer(true), Min_call_duration: utils.StringPointer("0s"), Max_call_duration: utils.StringPointer("3h"), Session_ttl: utils.StringPointer("0s"), diff --git a/config/config_test.go b/config/config_test.go index 63889f3eb..56f7c6873 100755 --- a/config/config_test.go +++ b/config/config_test.go @@ -624,6 +624,7 @@ func TestCgrCfgJSONDefaultsSMGenericCfg(t *testing.T) { AttrSConns: []*HaPoolConfig{}, SessionReplicationConns: []*HaPoolConfig{}, DebitInterval: 0 * time.Second, + StoreSCosts: true, MinCallDuration: 0 * time.Second, MaxCallDuration: 3 * time.Hour, SessionTTL: 0 * time.Second, diff --git a/config/libconfig_json.go b/config/libconfig_json.go index 7cad32e32..529ad79fb 100755 --- a/config/libconfig_json.go +++ b/config/libconfig_json.go @@ -219,6 +219,7 @@ type SessionSJsonCfg struct { Session_replication_conns *[]*HaPoolJsonCfg Attributes_conns *[]*HaPoolJsonCfg Debit_interval *string + Store_session_costs *bool Min_call_duration *string Max_call_duration *string Session_ttl *string diff --git a/config/smconfig.go b/config/smconfig.go index deb6b4a81..931c9831f 100644 --- a/config/smconfig.go +++ b/config/smconfig.go @@ -111,6 +111,7 @@ type SessionSCfg struct { CDRsConns []*HaPoolConfig SessionReplicationConns []*HaPoolConfig DebitInterval time.Duration + StoreSCosts bool MinCallDuration time.Duration MaxCallDuration time.Duration SessionTTL time.Duration @@ -200,6 +201,9 @@ func (self *SessionSCfg) loadFromJsonCfg(jsnCfg *SessionSJsonCfg) (err error) { return err } } + if jsnCfg.Store_session_costs != nil { + self.StoreSCosts = *jsnCfg.Store_session_costs + } if jsnCfg.Min_call_duration != nil { if self.MinCallDuration, err = utils.ParseDurationWithNanosecs(*jsnCfg.Min_call_duration); err != nil { return err