From ea17c831726da473a3f7f21b4de81969fd51bd89 Mon Sep 17 00:00:00 2001 From: DanB Date: Wed, 23 Nov 2016 13:06:22 +0100 Subject: [PATCH] CDRS - require content_fields only for *http_json_map and *http_post replication --- config/config.go | 6 ++++++ engine/cdrs.go | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/config/config.go b/config/config.go index 63e33de3e..97af12d1a 100644 --- a/config/config.go +++ b/config/config.go @@ -337,6 +337,12 @@ func (self *CGRConfig) checkConfigSanity() error { return errors.New("CDRStatS not enabled but requested by CDRS component.") } } + for _, rplCfg := range self.CDRSCdrReplication { + if utils.IsSliceMember([]string{utils.MetaHTTPjsonMap, utils.META_HTTP_POST}, rplCfg.Transport) && + len(rplCfg.ContentFields) == 0 { + return fmt.Errorf(" No content fields defined for replication to address: <%s>", rplCfg.Address) + } + } } // CDRC sanity checks for _, cdrcCfgs := range self.CdrcProfiles { diff --git a/engine/cdrs.go b/engine/cdrs.go index 6751c8b62..521ad45e1 100644 --- a/engine/cdrs.go +++ b/engine/cdrs.go @@ -448,11 +448,6 @@ func (self *CdrServer) getCostFromRater(cdr *CDR) (*CallCost, error) { // ToDo: Add websocket support func (self *CdrServer) replicateCdr(cdr *CDR) error { for _, rplCfg := range self.cgrCfg.CDRSCdrReplication { - if len(rplCfg.ContentFields) == 0 { - utils.Logger.Warning(fmt.Sprintf( - " No content fields defined for replication to address: <%s>, ignoring", rplCfg.Address)) - return nil - } passesFilters := true for _, cdfFltr := range rplCfg.CdrFilter { if !cdfFltr.FilterPasses(cdr.FieldAsString(cdfFltr)) {