Imported CB10 Vouchers Are Failing Validation (Doc ID 2254315.1)

Last updated on APRIL 17, 2017

Applies to:

Oracle Communications Convergent Charging Controller - Version 6.0.0 and later
Information in this document applies to any platform.

Symptoms

In this scenario, the import process is using a custom Software Development Kit (SDK) tool to take a 12 digit number (voucher and PIN from an import file) and generating a CB10 private_secret for CCS_VOUCHER_REFERENCE, eg:

bash-4.2$ echo <MSISDN> | ./private_secret_generation -a 11 -r 1 -s 8 -1 2 -2 2 -3 0
<MSISDN>,70790A876A562C18B5790F28C91DF080

The parameters are the ACS Customer, rule, salt and r values, etc.

This private_secret is correct as the debug confirms that the voucher can be looked up using the private_secret, and when an existing Hidden Recharge Numbers (HRN) from an Oracle Communications Convergent Charging Controller (OC3C) generated CB10 batch is used, the private secret returned matches what is in the database.

However, using the voucher validator tool in the Oracle Communications Convergent Charging Controller (OC3C) screens, only the vouchers generated by OC3C are considered valid.

Checking the ccsBeOrb.log file the following error is returned:

2017/04/06 10:11:51            ccsAuthRule.cc   449 [42949]   ccsCommon_AuthRule inputSequence = <MSISDN>
2017/04/06 10:11:51            ccsCB10HRN.pcc   989 [42949]                 misc ccsCB10HRN: prevalidator: input (<MSISDN>) key_len (12)
2017/04/06 10:11:51            ccsCB10HRN.pcc   745 [42949]                 misc ccsCB10HRN: search rule context map for rule ID 1
2017/04/06 10:11:51            ccsCB10HRN.pcc   765 [42949]                 misc ccsCB10HRN: rule found in context map
2017/04/06 10:11:51            ccsCB10HRN.pcc   772 [42949]                 misc ccsCB10HRN: rule context expired or does not match supplied config
2017/04/06 10:11:51            ccsCB10HRN.pcc   684 [42949]                 misc ccsCB10HRN: createContext: service_provider = 11
2017/04/06 10:11:51            ccsCB10HRN.pcc   309 [42949]                 misc ccsCB10HRN: getKeys: service_provider = 11
2017/04/06 10:11:51                 ccsAuth.c   303 [42949]            ccsCommon ccsAuthPreValidate: Result from desc->prevalidator: 1
2017/04/06 10:11:51            ccsAuthRule.cc   474 [42949]   ccsCommon_AuthRule hash function prevalidate ok
2017/04/06 10:11:51   ccsCommonVoucherSQL.pcc   219 [42949]            ccsCommon In bool ccs::voucher::retrieveCcsVoucherByPrivateSecret(const char*, int, ccs::voucher::CcsVoucherRef*)
2017/04/06 10:11:51   ccsCommonVoucherSQL.pcc   236 [42949]            ccsCommon Looking up voucher private secret '70790A876A562C18B5790F28C91DF080'
2017/04/06 10:12:01   ccsCommonVoucherSQL.pcc   278 [42949]            ccsCommon Retrieved CcsVoucherRef voucherSerialNumber 287880, voucherNumber 33xxxxx5
2017/04/06 10:12:01   ccsCommonVoucherSQL.pcc   281 [42949]            ccsCommon Retrieved CcsVoucherRef id 1000287901, voucherBatchId 4
2017/04/06 10:12:01   ccsCommonVoucherSQL.pcc   290 [42949]            ccsCommon In bool ccs::voucher::retrieveCcsVoucherBatch(int, ccs::voucher::CcsVoucherBatch*) batchId = 4
2017/04/06 10:12:01   ccsCommonVoucherSQL.pcc   320 [42949]            ccsCommon looking for batch id 4
2017/04/06 10:12:01            ccsCB10HRN.pcc   905 [42949]                 misc ccsCB10HRN: validator: key (33xxxxx5)
2017/04/06 10:12:01            ccsCB10HRN.pcc   745 [42949]                 misc ccsCB10HRN: search rule context map for rule ID 1
2017/04/06 10:12:01            ccsCB10HRN.pcc   765 [42949]                 misc ccsCB10HRN: rule found in context map
2017/04/06 10:12:01            ccsCB10HRN.pcc   942 [42949]                 misc ccsCB10HRN: failed to get seed from HRN, code=2
2017/04/06 10:12:01                 ccsAuth.c   257 [42949]            ccsCommon ccsAuthValidate: Result from desc->validator: 0
2017/04/06 10:12:01            ccsAuthRule.cc   579 [42949]   ccsCommon_AuthRule hash function validate failed

Due to the fact that the private secret returned matches the database value, the voucher should be considered as valid.

Changes

The following parameter was modified: authCB10ValidateSeed = true

authCB10ValidateSeed

Syntax:          authCB10ValidateSeed = true|false
Description:     The mode for CB10 HRN validation.
Type:            Boolean
Optionality:     Optional (default used if not set).
Allowed:         true  Force incoming HRN to be validated against originating seed (voucher number).
                 false  Do not validate of HRN against originating seed.
Default:         true
Notes:           This parameter is only needed if the system is using ccsCB10HRN (on page 104).
This setting may be useful where:
                 Vouchers have been imported from another system and the original voucher number seeds are not available
                 Validation performance gains are needed.
Example:         authCB10ValidateSeed = false

More information about this parameter and the ccsCB10HRN can be found in the OC3C Charging Control Services Technical Guide.

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