From 4d2bfb706e88fc5f9f6bc72d4f89d5c52d8fd881 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Wed, 27 Feb 2019 12:06:20 +0200 Subject: [PATCH] Added default category and subject if not present in event for forksession. closes#1434 --- apier/v1/sessionsv1_it_test.go | 14 +------------- apier/v2/cdrs_it_test.go | 2 +- sessions/sessions.go | 12 ++++++++++-- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/apier/v1/sessionsv1_it_test.go b/apier/v1/sessionsv1_it_test.go index 2435da0cd..169dfd634 100644 --- a/apier/v1/sessionsv1_it_test.go +++ b/apier/v1/sessionsv1_it_test.go @@ -140,7 +140,6 @@ func TestSSv1ItAuth(t *testing.T) { ID: "TestSSv1ItAuth", Event: map[string]interface{}{ utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.OriginID: "TestSSv1It1", utils.RequestType: utils.META_PREPAID, @@ -154,7 +153,7 @@ func TestSSv1ItAuth(t *testing.T) { } var rply sessions.V1AuthorizeReply if err := sSv1BiRpc.Call(utils.SessionSv1AuthorizeEvent, args, &rply); err != nil { - t.Error(err) + t.Fatal(err) } if *rply.MaxUsage != authUsage { t.Errorf("Unexpected MaxUsage: %v", rply.MaxUsage) @@ -192,7 +191,6 @@ func TestSSv1ItAuth(t *testing.T) { Event: map[string]interface{}{ utils.CGRID: "5668666d6b8e44eb949042f25ce0796ec3592ff9", utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.Account: "1001", utils.Subject: "ANY2CNT", @@ -223,7 +221,6 @@ func TestSSv1ItAuthWithDigest(t *testing.T) { ID: "TestSSv1ItAuth", Event: map[string]interface{}{ utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.OriginID: "TestSSv1It1", utils.RequestType: utils.META_PREPAID, @@ -266,7 +263,6 @@ func TestSSv1ItInitiateSession(t *testing.T) { ID: "TestSSv1ItInitiateSession", Event: map[string]interface{}{ utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.OriginID: "TestSSv1It1", utils.RequestType: utils.META_PREPAID, @@ -299,7 +295,6 @@ func TestSSv1ItInitiateSession(t *testing.T) { Event: map[string]interface{}{ utils.CGRID: "5668666d6b8e44eb949042f25ce0796ec3592ff9", utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.Account: "1001", utils.Subject: "ANY2CNT", @@ -336,7 +331,6 @@ func TestSSv1ItInitiateSessionWithDigest(t *testing.T) { ID: "TestSSv1ItInitiateSession", Event: map[string]interface{}{ utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.OriginID: "TestSSv1It1", utils.RequestType: utils.META_PREPAID, @@ -383,7 +377,6 @@ func TestSSv1ItUpdateSession(t *testing.T) { ID: "TestSSv1ItUpdateSession", Event: map[string]interface{}{ utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.OriginID: "TestSSv1It1", utils.RequestType: utils.META_PREPAID, @@ -410,7 +403,6 @@ func TestSSv1ItUpdateSession(t *testing.T) { Event: map[string]interface{}{ utils.CGRID: "5668666d6b8e44eb949042f25ce0796ec3592ff9", utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.Account: "1001", utils.Subject: "ANY2CNT", @@ -448,7 +440,6 @@ func TestSSv1ItTerminateSession(t *testing.T) { ID: "TestSSv1ItUpdateSession", Event: map[string]interface{}{ utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.OriginID: "TestSSv1It1", utils.RequestType: utils.META_PREPAID, @@ -482,7 +473,6 @@ func TestSSv1ItProcessCDR(t *testing.T) { ID: "TestSSv1ItProcessCDR", Event: map[string]interface{}{ utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.OriginID: "TestSSv1It1", utils.RequestType: utils.META_PREPAID, @@ -517,7 +507,6 @@ func TestSSv1ItProcessEvent(t *testing.T) { ID: "TestSSv1ItProcessEvent", Event: map[string]interface{}{ utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.OriginID: "TestSSv1It2", utils.RequestType: utils.META_PREPAID, @@ -550,7 +539,6 @@ func TestSSv1ItProcessEvent(t *testing.T) { Event: map[string]interface{}{ utils.CGRID: "c87609aa1cb6e9529ab1836cfeeeb0ab7aa7ebaf", utils.Tenant: "cgrates.org", - utils.Category: "call", utils.ToR: utils.VOICE, utils.Account: "1001", utils.Subject: "ANY2CNT", diff --git a/apier/v2/cdrs_it_test.go b/apier/v2/cdrs_it_test.go index c1275f8f2..7d199c168 100644 --- a/apier/v2/cdrs_it_test.go +++ b/apier/v2/cdrs_it_test.go @@ -128,7 +128,7 @@ func testV2CDRsProcessCDR(t *testing.T) { utils.OriginHost: "192.168.1.1", utils.Source: "testV2CDRsProcessCDR", utils.RequestType: utils.META_RATED, - utils.Category: "call", + // utils.Category: "call", //it will be populated as default in MapEvent.AsCDR utils.Account: "testV2CDRsProcessCDR", utils.Subject: "ANY2CNT", utils.Destination: "+4986517174963", diff --git a/sessions/sessions.go b/sessions/sessions.go index b016cd319..bf96e1391 100644 --- a/sessions/sessions.go +++ b/sessions/sessions.go @@ -956,6 +956,14 @@ func (sS *SessionS) forkSession(s *Session) (err error) { startTime = s.EventStart.GetTimeIgnoreErrors(utils.SetupTime, sS.cgrCfg.GeneralCfg().DefaultTimezone) } + category := me.GetStringIgnoreErrors(utils.Category) + if len(category) == 0 { + category = sS.cgrCfg.GeneralCfg().DefaultCategory + } + subject := me.GetStringIgnoreErrors(utils.Subject) + if len(subject) == 0 { + subject = me.GetStringIgnoreErrors(utils.Account) + } s.SRuns[i] = &SRun{ Event: me, CD: &engine.CallDescriptor{ @@ -963,8 +971,8 @@ func (sS *SessionS) forkSession(s *Session) (err error) { RunID: me.GetStringIgnoreErrors(utils.RunID), TOR: me.GetStringIgnoreErrors(utils.ToR), Tenant: s.Tenant, - Category: me.GetStringIgnoreErrors(utils.Category), - Subject: me.GetStringIgnoreErrors(utils.Subject), + Category: category, + Subject: subject, Account: me.GetStringIgnoreErrors(utils.Account), Destination: me.GetStringIgnoreErrors(utils.Destination), TimeStart: startTime,