Diameter datatype serialization fix

This commit is contained in:
DanB
2016-03-04 18:33:01 +01:00
parent 5e86c7c764
commit 242bf47bc4
2 changed files with 3 additions and 3 deletions

View File

@@ -122,7 +122,7 @@ func (self DiameterAgent) processCCR(ccr *CCR, reqProcessor *config.DARequestPro
err = self.smg.Call("SMGenericV1.SessionStart", smgEv, &maxUsage)
case 2:
err = self.smg.Call("SMGenericV1.SessionUpdate", smgEv, &maxUsage)
case 3, 4:
case 3, 4: // Handle them together since we generate CDR for them
var rpl string
if ccr.CCRequestType == 3 {
err = self.smg.Call("SMGenericV1.SessionEnd", smgEv, &rpl)

View File

@@ -326,13 +326,13 @@ func serializeAVPValueFromString(dictAVP *dict.AVP, valStr, timezone string) ([]
return []byte(valStr), nil
case datatype.AddressType:
return []byte(net.ParseIP(valStr)), nil
case datatype.EnumeratedType, datatype.Integer32Type, datatype.Integer64Type, datatype.Unsigned32Type:
case datatype.EnumeratedType, datatype.Integer32Type, datatype.Unsigned32Type:
i, err := strconv.Atoi(valStr)
if err != nil {
return nil, err
}
return datatype.Enumerated(i).Serialize(), nil
case datatype.Unsigned64Type:
case datatype.Unsigned64Type, datatype.Integer64Type:
i, err := strconv.ParseInt(valStr, 10, 64)
if err != nil {
return nil, err