mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Updated *sipcid
This commit is contained in:
committed by
Dan Christian Bogos
parent
e1398c57b3
commit
142e12a7ed
@@ -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:])
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user