mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
added some logging for max session time
This commit is contained in:
@@ -415,6 +415,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
|
||||
if cd.CallDuration == 0 {
|
||||
cd.CallDuration = cd.TimeEnd.Sub(cd.TimeStart)
|
||||
}
|
||||
Logger.Debug(fmt.Sprintf("MAX SESSION cd: %+v", cd))
|
||||
err := cd.LoadRatingPlans()
|
||||
if err != nil {
|
||||
Logger.Err(fmt.Sprintf("error getting cost for key %v: %v", cd.GetUserBalanceKey(), err))
|
||||
@@ -422,7 +423,6 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
|
||||
}
|
||||
var availableDuration time.Duration
|
||||
availableCredit := 0.0
|
||||
// Logger.Debug(fmt.Sprintf("cd: %+v", cd))
|
||||
if userBalance, err := cd.getUserBalance(); err == nil && userBalance != nil {
|
||||
if userBalance.Type == UB_TYPE_POSTPAID {
|
||||
return -1, nil
|
||||
@@ -434,6 +434,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
|
||||
Logger.Err(fmt.Sprintf("Could not get user balance for %s: %s.", cd.GetUserBalanceKey(), err.Error()))
|
||||
return 0, err
|
||||
}
|
||||
Logger.Debug(fmt.Sprintf("availableDuration: %v, availableCredit: %v", availableDuration, availableCredit))
|
||||
// check for zero balance
|
||||
if availableCredit == 0 {
|
||||
return availableDuration, nil
|
||||
@@ -443,7 +444,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
|
||||
// there are enough minutes for requested interval
|
||||
return initialDuration, nil
|
||||
}
|
||||
|
||||
Logger.Debug(fmt.Sprintf("initial Duration: %v", initialDuration))
|
||||
// we must move the timestart for the interval with the available duration because
|
||||
// that was already checked
|
||||
cd.TimeStart = cd.TimeStart.Add(availableDuration)
|
||||
@@ -455,6 +456,7 @@ func (cd *CallDescriptor) GetMaxSessionDuration() (time.Duration, error) {
|
||||
// now let's check how many increments are covered with the avilableCredit
|
||||
for _, ts := range cc.Timespans {
|
||||
ts.createIncrementsSlice()
|
||||
Logger.Debug(fmt.Sprintf("TS: %+v", ts))
|
||||
for _, incr := range ts.Increments {
|
||||
if incr.Cost <= availableCredit {
|
||||
availableCredit -= incr.Cost
|
||||
|
||||
Reference in New Issue
Block a user