mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-12 18:46:24 +05:00
Responder.GetSessionRuns considering cgr_flags for CallDescriptor, Diameter adding flags to generic event
This commit is contained in:
@@ -94,6 +94,9 @@ func (self DiameterAgent) processCCR(ccr *CCR, reqProcessor *config.DARequestPro
|
||||
utils.Logger.Err(fmt.Sprintf("<DiameterAgent> Processing message: %+v AsSMGenericEvent, error: %s", ccr.diamMessage, err))
|
||||
return cca
|
||||
}
|
||||
if len(reqProcessor.Flags) != 0 {
|
||||
smgEv[utils.CGRFlags] = reqProcessor.Flags.String() // Populate CGRFlags automatically
|
||||
}
|
||||
if reqProcessor.PublishEvent && self.pubsubs != nil {
|
||||
evt, err := smgEv.AsMapStringString()
|
||||
if err != nil {
|
||||
|
||||
@@ -445,6 +445,7 @@ func (rs *Responder) GetSessionRuns(ev *CDR, sRuns *[]*SessionRun) error {
|
||||
})
|
||||
return errors.New("Error parsing answer event end time")
|
||||
}
|
||||
extraFields := ev.GetExtraFields()
|
||||
cd := &CallDescriptor{
|
||||
CgrID: ev.GetCgrId(rs.Timezone),
|
||||
RunID: ev.RunID,
|
||||
@@ -457,7 +458,13 @@ func (rs *Responder) GetSessionRuns(ev *CDR, sRuns *[]*SessionRun) error {
|
||||
Destination: ev.GetDestination(dc.DestinationField),
|
||||
TimeStart: startTime,
|
||||
TimeEnd: endTime,
|
||||
ExtraFields: ev.GetExtraFields()}
|
||||
ExtraFields: extraFields}
|
||||
if flagsStr, hasFlags := extraFields[utils.CGRFlags]; hasFlags { // Force duration from extra fields
|
||||
flags := utils.StringMapFromSlice(strings.Split(flagsStr, utils.INFIELD_SEP))
|
||||
if _, hasFD := flags[utils.FlagForceDuration]; hasFD {
|
||||
cd.ForceDuration = true
|
||||
}
|
||||
}
|
||||
sesRuns = append(sesRuns, &SessionRun{DerivedCharger: dc, CallDescriptor: cd})
|
||||
}
|
||||
*sRuns = sesRuns
|
||||
|
||||
@@ -229,6 +229,7 @@ const (
|
||||
CGR_DISCONNECT_CAUSE = "cgr_disconnectcause"
|
||||
CGR_COMPUTELCR = "cgr_computelcr"
|
||||
CGR_SUPPLIERS = "cgr_suppliers"
|
||||
CGRFlags = "cgr_flags"
|
||||
KAM_FLATSTORE = "kamailio_flatstore"
|
||||
OSIPS_FLATSTORE = "opensips_flatstore"
|
||||
MAX_DEBIT_CACHE_PREFIX = "MAX_DEBIT_"
|
||||
@@ -270,6 +271,7 @@ const (
|
||||
CreatedAt = "CreatedAt"
|
||||
UpdatedAt = "UpdatedAt"
|
||||
HandlerArgSep = "|"
|
||||
FlagForceDuration = "fd"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
Reference in New Issue
Block a user