diff --git a/agents/dmtagent.go b/agents/dmtagent.go index 6a089d457..d652b04e7 100644 --- a/agents/dmtagent.go +++ b/agents/dmtagent.go @@ -78,6 +78,7 @@ func (self *DiameterAgent) handlers() diam.Handler { return dSM } +// handleALL is the handler of all messages coming in via Diameter func (self *DiameterAgent) handleALL(c diam.Conn, m *diam.Message) { utils.Logger.Warning(fmt.Sprintf("<%s> received unexpected message from %s:\n%s", utils.DiameterAgent, c.RemoteAddr(), m)) } diff --git a/config/daconfig.go b/config/daconfig.go index 883ba514b..509aacc12 100644 --- a/config/daconfig.go +++ b/config/daconfig.go @@ -31,6 +31,7 @@ type DiameterAgentCfg struct { OriginRealm string VendorId int ProductName string + MessageTemplates map[string][]*FCTemplate RequestProcessors []*DARequestProcessor } @@ -66,6 +67,14 @@ func (da *DiameterAgentCfg) loadFromJsonCfg(jsnCfg *DiameterAgentJsonCfg) error if jsnCfg.Product_name != nil { da.ProductName = *jsnCfg.Product_name } + if jsnCfg.Message_templates != nil { + if da.MessageTemplates == nil { + da.MessageTemplates = make(map[string][]*FCTemplate) + } + for k, jsnTpls := range jsnCfg.Message_templates { + da.MessageTemplates[k] = FCTemplatesFromFCTemapltesJsonCfg(jsnTpls) + } + } if jsnCfg.Request_processors != nil { for _, reqProcJsn := range *jsnCfg.Request_processors { rp := new(DARequestProcessor) diff --git a/config/libconfig_json.go b/config/libconfig_json.go index d0b69a1ac..b2d507702 100755 --- a/config/libconfig_json.go +++ b/config/libconfig_json.go @@ -335,6 +335,7 @@ type DiameterAgentJsonCfg struct { Origin_realm *string Vendor_id *int Product_name *string + Message_templates map[string][]*FcTemplateJsonCfg Request_processors *[]*DARequestProcessorJsnCfg }