Updated *sipcid

This commit is contained in:
Trial97
2021-07-08 13:21:37 +03:00
committed by Dan Christian Bogos
parent e1398c57b3
commit 142e12a7ed
2 changed files with 29 additions and 7 deletions

View File

@@ -432,10 +432,21 @@ func (ar *AgentRequest) ParseField(
out = strconv.Itoa(int(t.Unix()))
case utils.MetaSIPCID:
isString = true
values := make([]string, len(cfgFld.Value))
for i, val := range cfgFld.Value {
if values[i], err = val.ParseDataProvider(ar, utils.NestingSep); err != nil {
return nil, err
values := make([]string, 1, len(cfgFld.Value))
if len(cfgFld.Value) < 1 {
return nil, fmt.Errorf("invalid number of arguments <%s> to %s",
utils.ToJSON(cfgFld.Value), utils.MetaSIPCID)
}
if values[0], err = cfgFld.Value[0].ParseDataProvider(ar, utils.NestingSep); err != nil {
return
}
for _, val := range cfgFld.Value[1:] {
var valStr string
if valStr, err = val.ParseDataProvider(ar, utils.NestingSep); err != nil && err != utils.ErrNotFound {
return
}
if len(valStr) != 0 && err != utils.ErrNotFound {
values = append(values, valStr)
}
}
sort.Strings(values[1:])

View File

@@ -248,11 +248,22 @@ func (alS *AttributeService) processEvent(args *AttrArgsProcessEvent) (
substitute = strconv.FormatFloat(utils.Round(val*math.Pow10(exp),
config.CgrConfig().GeneralCfg().RoundingDecimals, utils.ROUNDING_MIDDLE), 'f', -1, 64)
case utils.MetaSIPCID:
values := make([]string, len(attribute.Value))
for i, val := range attribute.Value {
if values[i], err = val.ParseDataProvider(evNm, utils.NestingSep); err != nil {
values := make([]string, 1, len(attribute.Value))
if len(attribute.Value) < 1 {
return nil, fmt.Errorf("invalid number of arguments <%s> to %s",
utils.ToJSON(attribute.Value), utils.MetaSIPCID)
}
if values[0], err = attribute.Value[0].ParseDataProvider(evNm, utils.NestingSep); err != nil {
return nil, err
}
for _, val := range attribute.Value[1:] {
var valStr string
if valStr, err = val.ParseDataProvider(evNm, utils.NestingSep); err != nil && err != utils.ErrNotFound {
return nil, err
}
if len(valStr) != 0 && err != utils.ErrNotFound {
values = append(values, valStr)
}
}
sort.Strings(values[1:])
substitute = strings.Join(values, utils.INFIELD_SEP)