Overview
You intend to leverage the 5G Charging API and want to determine how the charging engine determines if a b-number is on-net or off-net.
Information
The determination of OnNet or OffNet relies on the provider carrier code set during creation and the iMSChargingInformation values passed within the CCR requests. The mechanism responsible for the comparison is Field Mapping Expressions, which can be modified as necessary. The default, the field mapping expressed defined for each provider is as follows and is mapped onto transformedRequest.isOnNet
:
originalRequest.iMSChargingInformation?.numberPortabilityRoutingInformation != null ?
<provider_carrier_code>.equals(originalRequest.iMSChargingInformation?.numberPortabilityRoutingInformation) :
<provider_carrier_code>.equals(originalRequest.iMSChargingInformation?.carrierSelectRoutingInformation)
The provider_carrier_code
cited is given as input during the initial provider creation or via the UpdateMyProviderConfigInput. Suppose it does not match the Carrier Code provided within the body of the CCR request in either of the two AVP fields cited (depending on whether or not the numberPortabilityRoutingInformation
field is null). In that case, the session is considered as Off-Net.
The getDeployedFieldMappings query can be leveraged to review any modifications made to the field mappings for the tenant.