From 2ea5be2d3a4b445523e1f35ac99f70ed9592a788 Mon Sep 17 00:00:00 2001 From: DanB Date: Tue, 23 Feb 2016 19:41:16 +0100 Subject: [PATCH] Adding CGRMaxUsage to processor vars --- agents/dmtagent.go | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/agents/dmtagent.go b/agents/dmtagent.go index 31e03ba42..0c951e3af 100644 --- a/agents/dmtagent.go +++ b/agents/dmtagent.go @@ -108,13 +108,10 @@ func (self DiameterAgent) processCCR(ccr *CCR, reqProcessor *config.DARequestPro } var maxUsage float64 processorVars := make(map[string]string) + processorVars[CGRResultCode] = strconv.Itoa(diam.Success) if reqProcessor.DryRun { // DryRun does not send over network utils.Logger.Info(fmt.Sprintf(" SMGenericEvent: %+v", smgEv)) - if err := messageSetAVPsWithPath(cca.diamMessage, []interface{}{"Result-Code"}, strconv.Itoa(diam.LimitedSuccess), - false, self.cgrCfg.DiameterAgentCfg().Timezone); err != nil { - utils.Logger.Err(fmt.Sprintf(" Processing message: %+v set CCA Reply-Code, error: %s", ccr.diamMessage, err)) - return nil - } + processorVars[CGRResultCode] = strconv.Itoa(diam.LimitedSuccess) } else { // Find out maxUsage over APIs switch ccr.CCRequestType { case 1: @@ -137,7 +134,6 @@ func (self DiameterAgent) processCCR(ccr *CCR, reqProcessor *config.DARequestPro } } } - processorVars[CGRResultCode] = strconv.Itoa(diam.Success) if err != nil { utils.Logger.Err(fmt.Sprintf(" Processing message: %+v, API error: %s", ccr.diamMessage, err)) switch { // Prettify some errors @@ -152,11 +148,12 @@ func (self DiameterAgent) processCCR(ccr *CCR, reqProcessor *config.DARequestPro processorVars[CGRResultCode] = strconv.Itoa(DiameterRatingFailed) } } - if err := messageSetAVPsWithPath(cca.diamMessage, []interface{}{"Result-Code"}, processorVars[CGRResultCode], - false, self.cgrCfg.DiameterAgentCfg().Timezone); err != nil { - utils.Logger.Err(fmt.Sprintf(" Processing message: %+v set CCA Reply-Code, error: %s", ccr.diamMessage, err)) - return nil - } + processorVars[CGRMaxUsage] = strconv.FormatFloat(maxUsage, 'f', -1, 64) + } + if err := messageSetAVPsWithPath(cca.diamMessage, []interface{}{"Result-Code"}, processorVars[CGRResultCode], + false, self.cgrCfg.DiameterAgentCfg().Timezone); err != nil { + utils.Logger.Err(fmt.Sprintf(" Processing message: %+v set CCA Reply-Code, error: %s", ccr.diamMessage, err)) + return nil } if err := cca.SetProcessorAVPs(reqProcessor, processorVars); err != nil { if err := messageSetAVPsWithPath(cca.diamMessage, []interface{}{"Result-Code"}, strconv.Itoa(DiameterRatingFailed),