Negative Buckets With Past Expiry Being Used In Charging Scenarios
(Doc ID 2909188.1)
Last updated on MARCH 13, 2023
Applies to:Oracle Communications Network Charging and Control - Version 220.127.116.11.0 and later
Information in this document applies to any platform.
During charging scenarios, while updating balance in a particular balance type, buckets for the said balances are fetched and delta is adjusted on them. While fetching the buckets from balance type, the bucket ids were stored in a temporary 32bit variable.
So, for larger buckets (having ids greater than 32bit value), it wrapped around and a wrong negative bucket id was stored in the temporary variable.
ex. bucket id 2148024856 was transformed to -2146942440 when stored in 32bit temporary variable.
Now, when -2146942440 (non existing bucket) is checked for, its not found and the beVWARS considers it as deleted. If all the buckets are in the balance type had the similar large bucket ids, then it doesn't find any buckets to be charged.
After that, beVWARS find that there is still delta left for charging, so it tries again. This time it tries to charge the balance type as for a limitType=credit, hence it makes the first bucket (expiring first) negative as it charges everything there.
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