From d6240222167b992d94fc61126f93d01d2ea3f197 Mon Sep 17 00:00:00 2001 From: DanB Date: Fri, 28 Sep 2018 16:27:58 +0200 Subject: [PATCH] Diameter config options available within *vars metavariable --- agents/dmtagent.go | 7 +++++-- config/config_defaults.go | 4 ++-- config/config_json_test.go | 20 ++++++++++---------- utils/consts.go | 2 ++ 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/agents/dmtagent.go b/agents/dmtagent.go index ec4a12e68..68904101d 100644 --- a/agents/dmtagent.go +++ b/agents/dmtagent.go @@ -106,8 +106,11 @@ func (da *DiameterAgent) handleMessage(c diam.Conn, m *diam.Message) { return } reqVars := map[string]interface{}{ - utils.MetaApp: dApp.Name, - utils.MetaCmd: dCmd.Short + "R", + utils.OriginHost: da.cgrCfg.DiameterAgentCfg().OriginHost, // used in templates + utils.OriginRealm: da.cgrCfg.DiameterAgentCfg().OriginRealm, + utils.ProductName: da.cgrCfg.DiameterAgentCfg().ProductName, + utils.MetaApp: dApp.Name, + utils.MetaCmd: dCmd.Short + "R", } rply := config.NewNavigableMap(nil) // share it among different processors var processed bool diff --git a/config/config_defaults.go b/config/config_defaults.go index ef7223f74..71b54847f 100755 --- a/config/config_defaults.go +++ b/config/config_defaults.go @@ -383,8 +383,8 @@ const CGRATES_CFG_JSON = ` "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": "AuthApplicationId", "field_id": "Auth-Application-Id", "type": "*composed", + "value": "~*vars.ProductName", "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", diff --git a/config/config_json_test.go b/config/config_json_test.go index cc9058fbd..bf566cad6 100755 --- a/config/config_json_test.go +++ b/config/config_json_test.go @@ -607,38 +607,38 @@ func TestDiameterAgentJsonCfg(t *testing.T) { Vendor_id: utils.IntPointer(0), Product_name: utils.StringPointer("CGRateS"), Templates: map[string][]*FcTemplateJsonCfg{ - utils.MetaCCA: []*FcTemplateJsonCfg{ - &FcTemplateJsonCfg{Tag: utils.StringPointer("SessionId"), + utils.MetaCCA: { + {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"), + {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"), + {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"), + {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"), + {Tag: utils.StringPointer("AuthApplicationId"), Field_id: utils.StringPointer("Auth-Application-Id"), - Type: utils.StringPointer(utils.META_CONSTANT), - Value: utils.StringPointer("CGRateS"), + Type: utils.StringPointer(utils.META_COMPOSED), + Value: utils.StringPointer("~*vars.ProductName"), Mandatory: utils.BoolPointer(true)}, - &FcTemplateJsonCfg{Tag: utils.StringPointer("CCRequestType"), + {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"), + {Tag: utils.StringPointer("CCRequestNumber"), Field_id: utils.StringPointer("CC-Request-Number"), Type: utils.StringPointer(utils.META_COMPOSED), Value: utils.StringPointer("~*req.CC-Request-Number"), diff --git a/utils/consts.go b/utils/consts.go index 76645c482..3a1692bdf 100755 --- a/utils/consts.go +++ b/utils/consts.go @@ -524,6 +524,8 @@ const ( MetaCmd = "*cmd" MetaTemplate = "*template" MetaCCA = "*cca" + OriginRealm = "OriginRealm" + ProductName = "ProductName" ) // Migrator Action