From bf71051c7065538d3256d305f46495503990ba0d Mon Sep 17 00:00:00 2001 From: DanB Date: Fri, 28 Sep 2018 16:04:07 +0200 Subject: [PATCH] Diameter *cca template in config defaults --- config/config_defaults.go | 18 ++++++++++ config/config_json_test.go | 47 ++++++++++++++++++++++--- data/conf/samples/dmtagent/cgrates.json | 27 -------------- utils/consts.go | 1 + 4 files changed, 62 insertions(+), 31 deletions(-) diff --git a/config/config_defaults.go b/config/config_defaults.go index 4c2beca99..ef7223f74 100755 --- a/config/config_defaults.go +++ b/config/config_defaults.go @@ -373,6 +373,24 @@ const CGRATES_CFG_JSON = ` "origin_realm": "cgrates.org", // diameter Origin-Realm AVP used in replies "vendor_id": 0, // diameter Vendor-Id AVP used in replies "product_name": "CGRateS", // diameter Product-Name AVP used in replies + "templates":{ + "*cca": [ + {"tag": "SessionId", "field_id": "Session-Id", "type": "*composed", + "value": "~*req.Session-Id", "mandatory": true}, + {"tag": "ResultCode", "field_id": "Result-Code", "type": "*constant", + "value": "2001", "mandatory": true}, + {"tag": "OriginHost", "field_id": "Origin-Host", "type": "*composed", + "value": "~*vars.OriginHost", "mandatory": true}, + {"tag": "OriginRealm", "field_id": "Origin-Realm", "type": "*composed", + "value": "~*vars.OriginRealm", "mandatory": true}, + {"tag": "AuthApplicationId", "field_id": "Auth-Application-Id", + "type": "*constant", "value": "CGRateS", "mandatory": true}, + {"tag": "CCRequestType", "field_id": "CC-Request-Type", "type": "*composed", + "value": "~*req.CC-Request-Type", "mandatory": true}, + {"tag": "CCRequestNumber", "field_id": "CC-Request-Number", "type": "*composed", + "value": "~*req.CC-Request-Number", "mandatory": true}, + ] + }, "request_processors": [], }, diff --git a/config/config_json_test.go b/config/config_json_test.go index 022b02494..cc9058fbd 100755 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -602,10 +602,49 @@ func TestDiameterAgentJsonCfg(t *testing.T) { &HaPoolJsonCfg{ Address: utils.StringPointer(utils.MetaInternal), }}, - Origin_host: utils.StringPointer("CGR-DA"), - Origin_realm: utils.StringPointer("cgrates.org"), - Vendor_id: utils.IntPointer(0), - Product_name: utils.StringPointer("CGRateS"), + Origin_host: utils.StringPointer("CGR-DA"), + Origin_realm: utils.StringPointer("cgrates.org"), + Vendor_id: utils.IntPointer(0), + Product_name: utils.StringPointer("CGRateS"), + Templates: map[string][]*FcTemplateJsonCfg{ + utils.MetaCCA: []*FcTemplateJsonCfg{ + &FcTemplateJsonCfg{Tag: utils.StringPointer("SessionId"), + Field_id: utils.StringPointer("Session-Id"), + Type: utils.StringPointer(utils.META_COMPOSED), + Value: utils.StringPointer("~*req.Session-Id"), + Mandatory: utils.BoolPointer(true)}, + &FcTemplateJsonCfg{Tag: utils.StringPointer("ResultCode"), + Field_id: utils.StringPointer("Result-Code"), + Type: utils.StringPointer(utils.META_CONSTANT), + Value: utils.StringPointer("2001"), + Mandatory: utils.BoolPointer(true)}, + &FcTemplateJsonCfg{Tag: utils.StringPointer("OriginHost"), + Field_id: utils.StringPointer("Origin-Host"), + Type: utils.StringPointer(utils.META_COMPOSED), + Value: utils.StringPointer("~*vars.OriginHost"), + Mandatory: utils.BoolPointer(true)}, + &FcTemplateJsonCfg{Tag: utils.StringPointer("OriginRealm"), + Field_id: utils.StringPointer("Origin-Realm"), + Type: utils.StringPointer(utils.META_COMPOSED), + Value: utils.StringPointer("~*vars.OriginRealm"), + Mandatory: utils.BoolPointer(true)}, + &FcTemplateJsonCfg{Tag: utils.StringPointer("AuthApplicationId"), + Field_id: utils.StringPointer("Auth-Application-Id"), + Type: utils.StringPointer(utils.META_CONSTANT), + Value: utils.StringPointer("CGRateS"), + Mandatory: utils.BoolPointer(true)}, + &FcTemplateJsonCfg{Tag: utils.StringPointer("CCRequestType"), + Field_id: utils.StringPointer("CC-Request-Type"), + Type: utils.StringPointer(utils.META_COMPOSED), + Value: utils.StringPointer("~*req.CC-Request-Type"), + Mandatory: utils.BoolPointer(true)}, + &FcTemplateJsonCfg{Tag: utils.StringPointer("CCRequestNumber"), + Field_id: utils.StringPointer("CC-Request-Number"), + Type: utils.StringPointer(utils.META_COMPOSED), + Value: utils.StringPointer("~*req.CC-Request-Number"), + Mandatory: utils.BoolPointer(true)}, + }, + }, Request_processors: &[]*DARequestProcessorJsnCfg{}, } if cfg, err := dfCgrJsonCfg.DiameterAgentJsonCfg(); err != nil { diff --git a/data/conf/samples/dmtagent/cgrates.json b/data/conf/samples/dmtagent/cgrates.json index 3e4c4ae09..7c3ff1007 100644 --- a/data/conf/samples/dmtagent/cgrates.json +++ b/data/conf/samples/dmtagent/cgrates.json @@ -55,34 +55,10 @@ ], }, -"cdrstats": { - "enabled": true, -}, - -"pubsubs": { - "enabled": true, // starts PubSub service: . -}, - -"aliases": { - "enabled": true, // starts Aliases service: . -}, - -"users": { - "enabled": true, - "indexes": ["SubscriberId"], -}, - -"resources": { - "enabled": true, -}, - "attributes": { "enabled": true, }, -"suppliers": { - "enabled": true, -}, "sessions": { "enabled": true, @@ -90,9 +66,6 @@ "diameter_agent": { "enabled": true, - "pubsubs_conns": [ - {"address": "*internal"} - ], "sessions_conns": [ {"address": "127.0.0.1:2012","transport":"*json"} ], diff --git a/utils/consts.go b/utils/consts.go index 804dd1dac..76645c482 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -523,6 +523,7 @@ const ( MetaApp = "*app" MetaCmd = "*cmd" MetaTemplate = "*template" + MetaCCA = "*cca" ) // Migrator Action