ACS Change CDR Node Fails to Handle Negative Diameter Exponent Values (Doc ID 2234989.1)

Last updated on FEBRUARY 27, 2017

Applies to:

Oracle Communications Network Charging and Control - Version 6.0.0 to 6.0.0 [Release 6.0]
Oracle Communications Convergent Charging Controller - Version 6.0.0 to 6.0.0 [Release 6.0]
Information in this document applies to any platform.

Symptoms

On all versions of Oracle Communications Network Charging and Control (OCNCC or NCC) and Oracle Communications Convergent Charging Controller (OC3C), the value retrieved from a Profile Tag for a stored Attribute Value Pair (AVP) is wrong.  The value retrieved is "AVP-Exponent=4294967295" while the the expected value is "AVP-Exponent=-1".

The AVP value is received by Diameter Charging Driver (DCD) application from an external Billing Engine (BE) and is stored in a Profile Tag (AVP-Exponent in this case) for future use.

DCD allows the Service Logic Controllers (SLCs) to interact with a BE over the Diameter protocol.

AVP definitions are configured in /IN/service_packages/eserv.config file, in the AVPs section.

In this case, the custom AVP is defined like this:

{
    name = "Exponent-Cost-Info"
    avpCode = 429
    type = "Integer32"
    ccsConcept = "acsProfile"
    profileBlock = 17     # The 'temporary storage' profile.
    profileTag = 106      # AVP-Exponent
    profileFormat = "INTEGER"
}

This value is set to -1 from the BE and passed to DCD and then to slee_acs. On slee_acs, this value is stored in Profile Tag as 0xFF FF FF FF (which is -1 for a signed integer but 4294967295 for an unsigned integer):

2016/10/28 15:10:19      acsProfileConcept.cc   450 [25310]            avpConfig              Setting data with int32Result : -1
2016/10/28 15:10:19      acsProfileConcept.cc   272 [25310]            avpConfig              Updating profile in ACS slee call context:
2016/10/28 15:10:19      acsProfileConcept.cc   278 [25310]            avpConfig              00000000: FF FF FF FF             :

The problem is when the value is retrieved from Profile Tag: the value is 4294967295, instead of -1:

2016/10/28 15:10:19          changeCDRNode.cc   275 [25310]        acsMacroNodes    Retrieved CDR Tag name: AVP-Exponent
2016/10/28 15:10:19          changeCDRNode.cc   311 [25310]        acsMacroNodes    Retrieved Length: 4
2016/10/28 15:10:19          changeCDRNode.cc   422 [25310]        acsMacroNodes    Retrieved CDR Tag value: 4294967295
2016/10/28 15:10:19          changeCDRNode.cc   443 [25310]        acsMacroNodes    CDR Tag Value to update is: 4294967295

 

Note: The problem can be reproduced for all the negative values of Exponent-Cost-Info AVP received from external BE and only affects the Advanced Control Services (ACS) Change Call Data Record (CDR) Feature Node (FN).

Changes

 

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms