From b6b683f03ea5ef0c04c426ef883cd856ad341eaf Mon Sep 17 00:00:00 2001 From: rbarrabe Date: Wed, 28 Sep 2016 15:42:16 +0200 Subject: [PATCH] Adding ExtraFields when we fork cdr We must add the extrafields in forked cdr because this is used to create the final cdr --- engine/cdrs.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/engine/cdrs.go b/engine/cdrs.go index b7b85eb0a..faf9ab01c 100644 --- a/engine/cdrs.go +++ b/engine/cdrs.go @@ -337,8 +337,14 @@ func (self *CdrServer) deriveCdrs(cdr *CDR) ([]*CDR, error) { dcDCauseFld, _ := utils.NewRSRField(dc.DisconnectCauseField) dcRatedFld, _ := utils.NewRSRField(dc.RatedField) dcCostFld, _ := utils.NewRSRField(dc.CostField) + + dcExtraFields := []*utils.RSRField{} + for key, _ := range cdr.ExtraFields{ + dcExtraFields = append(dcExtraFields, &utils.RSRField{Id: key}) + } + forkedCdr, err := cdr.ForkCdr(dc.RunID, dcRequestTypeFld, dcDirFld, dcTenantFld, dcCategoryFld, dcAcntFld, dcSubjFld, dcDstFld, - dcSTimeFld, dcPddFld, dcATimeFld, dcDurFld, dcSupplFld, dcDCauseFld, dcRatedFld, dcCostFld, []*utils.RSRField{}, true, self.cgrCfg.DefaultTimezone) + dcSTimeFld, dcPddFld, dcATimeFld, dcDurFld, dcSupplFld, dcDCauseFld, dcRatedFld, dcCostFld, dcExtraFields, true, self.cgrCfg.DefaultTimezone) if err != nil { utils.Logger.Err(fmt.Sprintf("Could not fork CGR with cgrid %s, run: %s, error: %s", cdr.CGRID, dc.RunID, err.Error())) continue // do not add it to the forked CDR list