My Oracle Support Banner

The BALANCES Tag is Not Correct for CDRs Created for Multi Balance Types Sessions (Doc ID 1559393.1)

Last updated on FEBRUARY 28, 2019

Applies to:

Oracle Communications Network Charging and Control - Version 5.0.0 to 5.0.0 [Release 5.0]
Information in this document applies to any platform.


Two balances of two different types can be used to bare the cost of the same session : when one of them - the first used to reserve money - runs out of credit or expires, the second balance in the balance cascade will be used to reserve money.

This problem may happen when one balance effectively used to reserve resources and expires during the session, for instance, the scenario below:



  1. The Initial Reservation Request (IRR) requests the Voucher and Wallet Server (VWS) to reserve 300. The first balance in the cascade is "BT2" that has "10000". The IRR is granted.

    ... 30s later ...

  2. The IRR has ended, the SLC commits the 300 reservation, "BT2" is updated and has now "9700".

  3. Because a new reservation is required, a Subsequent Reservation Request (SRR) is created to the VWS. It is granted.

    ... 15s later ...

  4. But in the meantime, as the service is being delivered for that reservation, the balance "BT2" is due to expire. The already reserved "300" amount stay reserved and can still be used to provide the service this balance charges. However, no new reservation can be made on that balance and it is considered as expired for any new reservation request : the next balance in the cascade will have to be used.

    The granted reservation goes on.

    ... 15s later ...

  5. The SRR has ended, the SLC commits the 300 reservation, "BT2" (expired in the meantime) is updated and has now "9400". That amount cannot be used any more and the next balance in the cascade should be used from here on.

  6. Another SRR of 300 is required, the VWS will now use the next balance in the cascade "BT1" that has "1000". The "300" reservation is granted.

    ... 30s later ...

  7. The SRR has ended, the SLC commits the 300 reservation, "BT1" is updated and has now "970". Note that a reservation of "300" in this case has an impact of "30" on the resources it holds.

  8. A new (and last) SRR is required. The VWS uses "BT1" as it still has enough resources.

    ... 5s later ...

  9. Only a portion of the granted reservation is actually used, the ""BT1" is updated and now has 969,5.


Costs :


When this problem happens, the Event Detail Record (EDR) shows a wrong BALANCES tag for the expired Balance:


BALANCES=600 is not correct and should show "10000", the total amount in the balance as it started.


Use of multiple balances in a cascade.

Note that this problem is more likely to be triggered for long lasting sessions like data sessions which reservations can stay open for days : this problem will only happen when a Balance expires during one of the reservation it granted and that is a lot less likely to happen with voice calls (sessions are shorter).


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.