Diameter config options available within *vars metavariable

This commit is contained in:
DanB
2018-09-28 16:27:58 +02:00
parent bf71051c70
commit d624022216
4 changed files with 19 additions and 14 deletions

View File

@@ -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

View File

@@ -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",

View File

@@ -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"),

View File

@@ -524,6 +524,8 @@ const (
MetaCmd = "*cmd"
MetaTemplate = "*template"
MetaCCA = "*cca"
OriginRealm = "OriginRealm"
ProductName = "ProductName"
)
// Migrator Action