From e695b852fafa3fe03043ee350fefac533e9d2846 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Tue, 16 Feb 2021 08:12:23 +0200 Subject: [PATCH] Updated sessions options --- .../samples/diamagent_internal/tests.json | 2 +- data/conf/samples/diamagent_mongo/tests.json | 2 +- data/conf/samples/diamagent_mysql/tests.json | 2 +- .../samples/dispatchers/diamagent/tests.json | 2 +- general_tests/a1_it_test.go | 12 ++-- general_tests/data_it_test.go | 24 +++---- sessions/sessions.go | 50 +++++++-------- sessions/sessions_data_it_test.go | 12 ++-- sessions/sessionscover_it_test.go | 64 +++++++++---------- utils/consts.go | 26 ++++---- 10 files changed, 98 insertions(+), 98 deletions(-) diff --git a/data/conf/samples/diamagent_internal/tests.json b/data/conf/samples/diamagent_internal/tests.json index c383c3278..40fa2cded 100644 --- a/data/conf/samples/diamagent_internal/tests.json +++ b/data/conf/samples/diamagent_internal/tests.json @@ -81,7 +81,7 @@ }, { "tag": "DebitInterval", - "path": "*opts.*sessionDebitInterval", + "path": "*opts.*sessionsDebitInterval", "type": "*constant", "value": "1s" }, diff --git a/data/conf/samples/diamagent_mongo/tests.json b/data/conf/samples/diamagent_mongo/tests.json index c383c3278..40fa2cded 100644 --- a/data/conf/samples/diamagent_mongo/tests.json +++ b/data/conf/samples/diamagent_mongo/tests.json @@ -81,7 +81,7 @@ }, { "tag": "DebitInterval", - "path": "*opts.*sessionDebitInterval", + "path": "*opts.*sessionsDebitInterval", "type": "*constant", "value": "1s" }, diff --git a/data/conf/samples/diamagent_mysql/tests.json b/data/conf/samples/diamagent_mysql/tests.json index c383c3278..40fa2cded 100644 --- a/data/conf/samples/diamagent_mysql/tests.json +++ b/data/conf/samples/diamagent_mysql/tests.json @@ -81,7 +81,7 @@ }, { "tag": "DebitInterval", - "path": "*opts.*sessionDebitInterval", + "path": "*opts.*sessionsDebitInterval", "type": "*constant", "value": "1s" }, diff --git a/data/conf/samples/dispatchers/diamagent/tests.json b/data/conf/samples/dispatchers/diamagent/tests.json index 558c51bba..c69375c27 100644 --- a/data/conf/samples/dispatchers/diamagent/tests.json +++ b/data/conf/samples/dispatchers/diamagent/tests.json @@ -29,7 +29,7 @@ "value": "~*req.Event-Timestamp", "mandatory": true}, {"tag": "Usage", "path": "*cgreq.Usage", "type": "*variable", "value": "~*req.Requested-Service-Unit.CC-Time:s/(.*)/${1}s/", "mandatory": true}, - {"tag": "DebitInterval", "path": "*opts.*sessionDebitInterval", + {"tag": "DebitInterval", "path": "*opts.*sessionsDebitInterval", "type": "*constant", "value": "1s"}, ], "reply_fields":[ diff --git a/general_tests/a1_it_test.go b/general_tests/a1_it_test.go index 0df5a5c07..1ea320ce5 100644 --- a/general_tests/a1_it_test.go +++ b/general_tests/a1_it_test.go @@ -204,9 +204,9 @@ func testA1itDataSession1(t *testing.T) { utils.Usage: "10240", }, Opts: map[string]interface{}{ - utils.OptsSessionTTL: "28800s", - utils.OptsSessionTTLLastUsed: "0s", - utils.OptsSessionTTLUsage: "0s", + utils.OptsSessionsTTL: "28800s", + utils.OptsSessionsTTLLastUsed: "0s", + utils.OptsSessionsTTLUsage: "0s", }, }, } @@ -243,9 +243,9 @@ func testA1itDataSession1(t *testing.T) { utils.Usage: "2097152", }, Opts: map[string]interface{}{ - utils.OptsSessionTTL: "28800s", - utils.OptsSessionTTLLastUsed: "2097152s", - utils.OptsSessionTTLUsage: "0s", + utils.OptsSessionsTTL: "28800s", + utils.OptsSessionsTTLLastUsed: "2097152s", + utils.OptsSessionsTTLUsage: "0s", }, }, } diff --git a/general_tests/data_it_test.go b/general_tests/data_it_test.go index da9bcd728..4881217e7 100644 --- a/general_tests/data_it_test.go +++ b/general_tests/data_it_test.go @@ -462,10 +462,10 @@ func testV1DataInitSession(t *testing.T) { utils.Usage: initUsage, }, Opts: map[string]interface{}{ - utils.OptsSessionTTL: "300s", - utils.OptsSessionTTLLastUsed: "0s", - utils.OptsSessionTTLMaxDelay: "1800s", - utils.OptsSessionTTLUsage: "0s", + utils.OptsSessionsTTL: "300s", + utils.OptsSessionsTTLLastUsed: "0s", + utils.OptsSessionsTTLMaxDelay: "1800s", + utils.OptsSessionsTTLUsage: "0s", }, }, } @@ -509,10 +509,10 @@ func testV1DataUpdateWith1Mo(t *testing.T) { utils.Usage: reqUsage, }, Opts: map[string]interface{}{ - utils.OptsSessionTTL: "28807s", - utils.OptsSessionTTLLastUsed: "0s", - utils.OptsSessionTTLMaxDelay: "1800s", - utils.OptsSessionTTLUsage: "0s"}, + utils.OptsSessionsTTL: "28807s", + utils.OptsSessionsTTLLastUsed: "0s", + utils.OptsSessionsTTLMaxDelay: "1800s", + utils.OptsSessionsTTLUsage: "0s"}, }, } var rply sessions.V1UpdateSessionReply @@ -553,10 +553,10 @@ func testV1DataUpdateWith1Go(t *testing.T) { utils.Usage: reqUsage, }, Opts: map[string]interface{}{ - utils.OptsSessionTTL: "28807s", - utils.OptsSessionTTLLastUsed: "0s", - utils.OptsSessionTTLMaxDelay: "1800s", - utils.OptsSessionTTLUsage: "0s"}, + utils.OptsSessionsTTL: "28807s", + utils.OptsSessionsTTLLastUsed: "0s", + utils.OptsSessionsTTLMaxDelay: "1800s", + utils.OptsSessionsTTLUsage: "0s"}, }, } var rply sessions.V1UpdateSessionReply diff --git a/sessions/sessions.go b/sessions/sessions.go index 3ece5d79e..00e1af659 100644 --- a/sessions/sessions.go +++ b/sessions/sessions.go @@ -212,17 +212,17 @@ func (sS *SessionS) setSTerminator(s *Session, opts engine.MapEvent) { var err error // TTL var ttl time.Duration - if opts.HasField(utils.OptsSessionTTL) { - ttl, err = opts.GetDuration(utils.OptsSessionTTL) - } else if s.OptsStart.HasField(utils.OptsSessionTTL) { - ttl, err = s.OptsStart.GetDuration(utils.OptsSessionTTL) + if opts.HasField(utils.OptsSessionsTTL) { + ttl, err = opts.GetDuration(utils.OptsSessionsTTL) + } else if s.OptsStart.HasField(utils.OptsSessionsTTL) { + ttl, err = s.OptsStart.GetDuration(utils.OptsSessionsTTL) } else { ttl = sS.cgrCfg.SessionSCfg().SessionTTL } if err != nil { utils.Logger.Warning( fmt.Sprintf("<%s>, cannot extract <%s> for session:<%s>, from it's options: <%s>, err: <%s>", - utils.SessionS, utils.OptsSessionTTL, s.CGRID, opts, err)) + utils.SessionS, utils.OptsSessionsTTL, s.CGRID, opts, err)) return } if ttl == 0 { @@ -230,17 +230,17 @@ func (sS *SessionS) setSTerminator(s *Session, opts engine.MapEvent) { } // random delay computation var maxDelay time.Duration - if opts.HasField(utils.OptsSessionTTLMaxDelay) { - maxDelay, err = opts.GetDuration(utils.OptsSessionTTLMaxDelay) - } else if s.OptsStart.HasField(utils.OptsSessionTTLMaxDelay) { - maxDelay, err = s.OptsStart.GetDuration(utils.OptsSessionTTLMaxDelay) + if opts.HasField(utils.OptsSessionsTTLMaxDelay) { + maxDelay, err = opts.GetDuration(utils.OptsSessionsTTLMaxDelay) + } else if s.OptsStart.HasField(utils.OptsSessionsTTLMaxDelay) { + maxDelay, err = s.OptsStart.GetDuration(utils.OptsSessionsTTLMaxDelay) } else if sS.cgrCfg.SessionSCfg().SessionTTLMaxDelay != nil { maxDelay = *sS.cgrCfg.SessionSCfg().SessionTTLMaxDelay } if err != nil { utils.Logger.Warning( fmt.Sprintf("<%s>, cannot extract <%s> for session:<%s>, from it's options: <%s>, err: <%s>", - utils.SessionS, utils.OptsSessionTTLMaxDelay, s.CGRID, opts.String(), err.Error())) + utils.SessionS, utils.OptsSessionsTTLMaxDelay, s.CGRID, opts.String(), err.Error())) return } if maxDelay != 0 { @@ -250,47 +250,47 @@ func (sS *SessionS) setSTerminator(s *Session, opts engine.MapEvent) { } // LastUsed var ttlLastUsed *time.Duration - if opts.HasField(utils.OptsSessionTTLLastUsed) { - ttlLastUsed, err = opts.GetDurationPtr(utils.OptsSessionTTLLastUsed) - } else if s.OptsStart.HasField(utils.OptsSessionTTLLastUsed) { - ttlLastUsed, err = s.OptsStart.GetDurationPtr(utils.OptsSessionTTLLastUsed) + if opts.HasField(utils.OptsSessionsTTLLastUsed) { + ttlLastUsed, err = opts.GetDurationPtr(utils.OptsSessionsTTLLastUsed) + } else if s.OptsStart.HasField(utils.OptsSessionsTTLLastUsed) { + ttlLastUsed, err = s.OptsStart.GetDurationPtr(utils.OptsSessionsTTLLastUsed) } else { ttlLastUsed = sS.cgrCfg.SessionSCfg().SessionTTLLastUsed } if err != nil { utils.Logger.Warning( fmt.Sprintf("<%s>, cannot extract <%s> for session:<%s>, from it's options: <%s>, err: <%s>", - utils.SessionS, utils.OptsSessionTTLLastUsed, s.CGRID, opts.String(), err.Error())) + utils.SessionS, utils.OptsSessionsTTLLastUsed, s.CGRID, opts.String(), err.Error())) return } // LastUsage var ttlLastUsage *time.Duration - if opts.HasField(utils.OptsSessionTTLLastUsage) { - ttlLastUsage, err = opts.GetDurationPtr(utils.OptsSessionTTLLastUsage) - } else if s.OptsStart.HasField(utils.OptsSessionTTLLastUsage) { - ttlLastUsage, err = s.OptsStart.GetDurationPtr(utils.OptsSessionTTLLastUsage) + if opts.HasField(utils.OptsSessionsTTLLastUsage) { + ttlLastUsage, err = opts.GetDurationPtr(utils.OptsSessionsTTLLastUsage) + } else if s.OptsStart.HasField(utils.OptsSessionsTTLLastUsage) { + ttlLastUsage, err = s.OptsStart.GetDurationPtr(utils.OptsSessionsTTLLastUsage) } else { ttlLastUsage = sS.cgrCfg.SessionSCfg().SessionTTLLastUsage } if err != nil { utils.Logger.Warning( fmt.Sprintf("<%s>, cannot extract <%s> for session:<%s>, from it's options: <%s>, err: <%s>", - utils.SessionS, utils.OptsSessionTTLLastUsage, s.CGRID, opts.String(), err.Error())) + utils.SessionS, utils.OptsSessionsTTLLastUsage, s.CGRID, opts.String(), err.Error())) return } // TTLUsage var ttlUsage *time.Duration - if opts.HasField(utils.OptsSessionTTLUsage) { - ttlUsage, err = opts.GetDurationPtr(utils.OptsSessionTTLUsage) - } else if s.OptsStart.HasField(utils.OptsSessionTTLUsage) { - ttlUsage, err = s.OptsStart.GetDurationPtr(utils.OptsSessionTTLUsage) + if opts.HasField(utils.OptsSessionsTTLUsage) { + ttlUsage, err = opts.GetDurationPtr(utils.OptsSessionsTTLUsage) + } else if s.OptsStart.HasField(utils.OptsSessionsTTLUsage) { + ttlUsage, err = s.OptsStart.GetDurationPtr(utils.OptsSessionsTTLUsage) } else { ttlUsage = sS.cgrCfg.SessionSCfg().SessionTTLUsage } if err != nil { utils.Logger.Warning( fmt.Sprintf("<%s>, cannot extract <%s> for session:<%s>, from it's options: <%s>, err: <%s>", - utils.SessionS, utils.OptsSessionTTLUsage, s.CGRID, opts.String(), err.Error())) + utils.SessionS, utils.OptsSessionsTTLUsage, s.CGRID, opts.String(), err.Error())) return } // previously defined, reset diff --git a/sessions/sessions_data_it_test.go b/sessions/sessions_data_it_test.go index 4dcbc17f9..97a83944c 100644 --- a/sessions/sessions_data_it_test.go +++ b/sessions/sessions_data_it_test.go @@ -585,7 +585,7 @@ func testSessionsDataTTLExpired(t *testing.T) { utils.Usage: "1024", }, Opts: map[string]interface{}{ - utils.OptsSessionTTLUsage: "2048", // will be charged on TTL + utils.OptsSessionsTTLUsage: "2048", // will be charged on TTL }, }, } @@ -726,8 +726,8 @@ func testSessionsDataTTLExpMultiUpdates(t *testing.T) { utils.Usage: "4096", }, Opts: map[string]interface{}{ - utils.OptsSessionTTLUsage: "2048", // will be charged on TTL - utils.OptsSessionTTLLastUsed: "1024", + utils.OptsSessionsTTLUsage: "2048", // will be charged on TTL + utils.OptsSessionsTTLLastUsed: "1024", }, }, } @@ -866,7 +866,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { utils.LastUsed: "1024", }, Opts: map[string]interface{}{ - utils.OptsSessionTTL: "0", // cancel timeout since usage 0 will not update it + utils.OptsSessionsTTL: "0", // cancel timeout since usage 0 will not update it }, }, } @@ -915,7 +915,7 @@ func testSessionsDataMultipleDataNoUsage(t *testing.T) { utils.LastUsed: "0", }, Opts: map[string]interface{}{ - utils.OptsSessionTTL: "1h", // cancel timeout since usage 0 will not update it + utils.OptsSessionsTTL: "1h", // cancel timeout since usage 0 will not update it }, }, } @@ -1114,7 +1114,7 @@ func testSessionsDataTTLLastUsage(t *testing.T) { utils.Usage: "1024", }, Opts: map[string]interface{}{ - utils.OptsSessionTTLLastUsage: "2048", + utils.OptsSessionsTTLLastUsage: "2048", }, }, } diff --git a/sessions/sessionscover_it_test.go b/sessions/sessionscover_it_test.go index 78a785bd8..e6a9279f4 100644 --- a/sessions/sessionscover_it_test.go +++ b/sessions/sessionscover_it_test.go @@ -117,11 +117,11 @@ func testSetSTerminator(t *testing.T) { } opts = engine.MapEvent{ - utils.OptsSessionTTL: "1s", - utils.OptsSessionTTLMaxDelay: "1s", - utils.OptsSessionTTLLastUsed: "2s", - utils.OptsSessionTTLLastUsage: "0s", - utils.OptsSessionTTLUsage: "5s", + utils.OptsSessionsTTL: "1s", + utils.OptsSessionsTTLMaxDelay: "1s", + utils.OptsSessionsTTLLastUsed: "2s", + utils.OptsSessionsTTLLastUsage: "0s", + utils.OptsSessionsTTLUsage: "5s", } ss.sTerminator = &sTerminator{ timer: time.NewTimer(cfg.SessionSCfg().SessionTTL), @@ -142,11 +142,11 @@ func testSetSTerminator(t *testing.T) { } ss.OptsStart = engine.MapEvent{ - utils.OptsSessionTTL: "1s", - utils.OptsSessionTTLMaxDelay: "1s", - utils.OptsSessionTTLLastUsed: "2s", - utils.OptsSessionTTLLastUsage: "0s", - utils.OptsSessionTTLUsage: "5s", + utils.OptsSessionsTTL: "1s", + utils.OptsSessionsTTLMaxDelay: "1s", + utils.OptsSessionsTTLLastUsed: "2s", + utils.OptsSessionsTTLLastUsage: "0s", + utils.OptsSessionsTTLUsage: "5s", } ss.sTerminator = &sTerminator{ timer: time.NewTimer(cfg.SessionSCfg().SessionTTL), @@ -181,17 +181,17 @@ func testSetSTerminatorError(t *testing.T) { //Cannot set a terminate when ttl is 0 ss.OptsStart = engine.MapEvent{ - utils.OptsSessionTTL: "0s", + utils.OptsSessionsTTL: "0s", } opts := engine.MapEvent{} sessions.setSTerminator(ss, opts) //Invalid format types for time duration ss.OptsStart = engine.MapEvent{ - utils.OptsSessionTTL: "invalid_time_format", + utils.OptsSessionsTTL: "invalid_time_format", } sessions.setSTerminator(ss, opts) - expected := "cannot extract <*sessionTTL> for session:<>, from it's options: <{}>, err: " + expected := "cannot extract <*sessionsTTL> for session:<>, from it's options: <{}>, err: " if rcv := buff.String(); !strings.Contains(rcv, expected) { t.Errorf("Expected %+v, received %+v", expected, rcv) } @@ -200,11 +200,11 @@ func testSetSTerminatorError(t *testing.T) { log.SetOutput(buff) ss.OptsStart = engine.MapEvent{ - utils.OptsSessionTTL: "1s", - utils.OptsSessionTTLMaxDelay: "invalid_time_format", + utils.OptsSessionsTTL: "1s", + utils.OptsSessionsTTLMaxDelay: "invalid_time_format", } sessions.setSTerminator(ss, opts) - expected = "cannot extract <*sessionTTLMaxDelay> for session:<>, from it's options: <{}>, err: " + expected = "cannot extract <*sessionsTTLMaxDelay> for session:<>, from it's options: <{}>, err: " if rcv := buff.String(); !strings.Contains(rcv, expected) { t.Errorf("Expected %+v, received %+v", expected, rcv) } @@ -213,12 +213,12 @@ func testSetSTerminatorError(t *testing.T) { log.SetOutput(buff) ss.OptsStart = engine.MapEvent{ - utils.OptsSessionTTL: "1s", - utils.OptsSessionTTLMaxDelay: "2s", - utils.OptsSessionTTLLastUsed: "invalid_time_format", + utils.OptsSessionsTTL: "1s", + utils.OptsSessionsTTLMaxDelay: "2s", + utils.OptsSessionsTTLLastUsed: "invalid_time_format", } sessions.setSTerminator(ss, opts) - expected = "cannot extract <*sessionTTLLastUsed> for session:<>, from it's options: <{}>, err: " + expected = "cannot extract <*sessionsTTLLastUsed> for session:<>, from it's options: <{}>, err: " if rcv := buff.String(); !strings.Contains(rcv, expected) { t.Errorf("Expected %+v, received %+v", expected, rcv) } @@ -227,13 +227,13 @@ func testSetSTerminatorError(t *testing.T) { log.SetOutput(buff) ss.OptsStart = engine.MapEvent{ - utils.OptsSessionTTL: "1s", - utils.OptsSessionTTLMaxDelay: "2s", - utils.OptsSessionTTLLastUsed: "1s", - utils.OptsSessionTTLLastUsage: "invalid_time_format", + utils.OptsSessionsTTL: "1s", + utils.OptsSessionsTTLMaxDelay: "2s", + utils.OptsSessionsTTLLastUsed: "1s", + utils.OptsSessionsTTLLastUsage: "invalid_time_format", } sessions.setSTerminator(ss, opts) - expected = "cannot extract <*sessionTTLLastUsage> for session:<>, from it's options: <{}>, err: " + expected = "cannot extract <*sessionsTTLLastUsage> for session:<>, from it's options: <{}>, err: " if rcv := buff.String(); !strings.Contains(rcv, expected) { t.Errorf("Expected %+v, received %+v", expected, rcv) } @@ -244,12 +244,12 @@ func testSetSTerminatorError(t *testing.T) { cfg.SessionSCfg().SessionTTLMaxDelay = utils.DurationPointer(time.Second) sessions = NewSessionS(cfg, dm, nil) ss.OptsStart = engine.MapEvent{ - utils.OptsSessionTTLLastUsed: "1s", - utils.OptsSessionTTLLastUsage: "5s", - utils.OptsSessionTTLUsage: "invalid_time_format", + utils.OptsSessionsTTLLastUsed: "1s", + utils.OptsSessionsTTLLastUsage: "5s", + utils.OptsSessionsTTLUsage: "invalid_time_format", } sessions.setSTerminator(ss, opts) - expected = "cannot extract <*sessionTTLUsage> for session:<>, from it's options: <{}>, err: " + expected = "cannot extract <*sessionsTTLUsage> for session:<>, from it's options: <{}>, err: " if rcv := buff.String(); !strings.Contains(rcv, expected) { t.Errorf("Expected %+v, received %+v", expected, rcv) } @@ -266,8 +266,8 @@ func testSetSTerminatorAutomaticTermination(t *testing.T) { sessions := NewSessionS(cfg, dm, nil) opts := engine.MapEvent{ - utils.OptsSessionTTL: "1s", - utils.OptsSessionTTLLastUsage: "0s", + utils.OptsSessionsTTL: "1s", + utils.OptsSessionsTTLLastUsage: "0s", } sessions.setSTerminator(ss, opts) @@ -287,7 +287,7 @@ func testSetSTerminatorManualTermination(t *testing.T) { sessions := NewSessionS(cfg, dm, nil) opts := engine.MapEvent{ - utils.OptsSessionTTL: "1s", + utils.OptsSessionsTTL: "1s", } sessions.setSTerminator(ss, opts) diff --git a/utils/consts.go b/utils/consts.go index af6f0342b..b7f0ae205 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -2500,8 +2500,8 @@ var ( ) // CGROptionsSet the possible cgr options -var CGROptionsSet = NewStringSet([]string{OptsRatesStartTime, OptsRatesUsage, OptsSessionTTL, - OptsSessionTTLMaxDelay, OptsSessionTTLLastUsed, OptsSessionTTLLastUsage, OptsSessionTTLUsage, +var CGROptionsSet = NewStringSet([]string{OptsRatesStartTime, OptsRatesUsage, OptsSessionsTTL, + OptsSessionsTTLMaxDelay, OptsSessionsTTLLastUsed, OptsSessionsTTLLastUsage, OptsSessionsTTLUsage, OptsDebitInterval, OptsStirATest, OptsStirPayloadMaxDuration, OptsStirIdentity, OptsStirOriginatorTn, OptsStirOriginatorURI, OptsStirDestinationTn, OptsStirDestinationURI, OptsStirPublicKeyPath, OptsStirPrivateKeyPath, OptsAPIKey, OptsRouteID, OptsContext, @@ -2527,17 +2527,17 @@ const ( // Event Opts const ( - OptsRoutesLimit = "*routes_limit" - OptsRoutesOffset = "*routes_offset" - OptsRatesStartTime = "*ratesStartTime" - OptsRatesUsage = "*ratesUsage" - OptsSessionTTL = "*sessionTTL" - OptsSessionTTLMaxDelay = "*sessionTTLMaxDelay" - OptsSessionTTLLastUsed = "*sessionTTLLastUsed" - OptsSessionTTLLastUsage = "*sessionTTLLastUsage" - OptsSessionTTLUsage = "*sessionTTLUsage" - OptsDebitInterval = "*sessionDebitInterval" - OptsChargeable = "*sessionChargeable" + OptsRoutesLimit = "*routes_limit" + OptsRoutesOffset = "*routes_offset" + OptsRatesStartTime = "*ratesStartTime" + OptsRatesUsage = "*ratesUsage" + OptsSessionsTTL = "*sessionsTTL" + OptsSessionsTTLMaxDelay = "*sessionsTTLMaxDelay" + OptsSessionsTTLLastUsed = "*sessionsTTLLastUsed" + OptsSessionsTTLLastUsage = "*sessionsTTLLastUsage" + OptsSessionsTTLUsage = "*sessionsTTLUsage" + OptsDebitInterval = "*sessionsDebitInterval" + OptsChargeable = "*sessionsChargeable" // STIR OptsStirATest = "*stirATest" OptsStirPayloadMaxDuration = "*stirPayloadMaxDuration"