5 Integrating Policy with Different Network Functions

You can integrate Oracle Communications Cloud Native Core, Converged Policy with different Network Functions (NFs), such as Oracle Communications Cloud Native Core, Network Repository Function (NRF), Oracle Communications Cloud Native Core, Unified Data Repository (UDR), and Charging Function (CHF).

NRF Integration

NRF Management (Client) service enables policy solution to integrate with NRF server for service registration, discovery, and service status/ load related information.

Management Service support includes the following functions:

  • Register Service
  • Deregister Service
  • PCF heartbeat to NRF that includes load, priority, and capacity information
  • Knowledge to NRF of scaling change
  • Subscribe or Unsubscribe

Discovery Service

  • Used to discover UDR, BSF, and CHF services
  • Compliant with 29.510

Figure 5-1 NRF Integration

Integrating Policy with NRF
Editing Kubernetes Configuration Map

A Kubernetes Configuration Map is provided to save the NRF address and the NF Profile information. You can edit the Kubernetes Configuration Map to register Policy Control Function (PCF) with the NRF.

To edit the Kubernetes Configuration Map:

Open a console to the master node of the Kubernetes deployment and edit the config map named "pcf-name-application-config" where pcf-name is the HELM chart release name used at the time of installation, see Oracle Communications Cloud Native Core Policy Installation, Upgrade and Fault Recovery Guide.

  1. Get a list of all the config maps in the PCF deployment namespace by running the following command:
    kubectl get cm -n pcf-namespace
    where, pcf-namespace is the PCF deployment namespace used by the helm command.
  2. Edit the application configuration map by running the following command:
    kubectl edit cm pcf-name-application-config -n pcf-namespace
    where, pcf-name is the release name used by the helm command.

    A standard unix vi editor is opened with the config map contents pre-filled. Use vi commands to edit the application configuration map.

  3. Verify the NRF address (fqdn/IP) and the port number. NRF address is contained in the custom value yaml file. See the configmapApplicationConfig attribute in the custom yaml file.
  4. Check and add necessary NFs to "nrfClientSubscribeTypes". These NFs are discovered and subscribed by PCF at the startup time. Leave this field empty if this onetime discovery and subscription for NFs is not required.
  5. Check and edit the PCF Profile to be registered with the NRF. For example, if required enter the IP details of the PCF Services.
  6. Save and exit the editor.
Configuring Capacity of NFProfile and NFService using Policy CNC Console

The PCF heartbeat to NRF includes load, priority, and capacity information. The capactiy is a static capacity information in the range of 0-65535, expressed as a weight relative to other services of the same type.

PCF provides the capability to change the capacity of a PCF instance in its NF Profile or NF Service and update the same to NRF. The Policy operator can use CNC Console to make changes to this parameter for a profile, this field was previously fetched from perf-info service only. These changes are committed to common configuration database which allow handling of upgrade and rollback scenarios. The import and export of updated profile is supported as done for other configuration parameters.

To configure, the "Capacity" field manually on the Policy CNC Console, navigate to "Policy -> Status and Query -> NF Data -> NF Registration Profile" section.For more information on the NF registration profile, see PCF Registration Profile menu in CNC Console.

You can now configure or update the NfProfile or NfService parameters through REST or CNC Console. These parameters can not be configured using Helm. NfProfileConfigMode in HELM mode is not a valid scenario for this feature. The dynamicLoadAndCapacity values coming from common configuration database are considered only when the NfProfileConfigMode parameter is set to REST.

NRF-Client has different validations based on the dynamicLoadAndCapacity. For example, if the nfProfile/ServiceLoad(or dynamicLoad) is set to false and nfProfile/ServiceCapacity(or dynamicCapacity) is set to true, then perf-info will be called and the response will be used for NF Profile load and the capacity set in the profile coming from common configuration database will be used for NF Profile capacity only. So, even that the CNC Console is allowing to change capacity and load for nfprofiles and nfservices, the dynamicLoadAndCapacity flags mentioned in the following code snippet control from which source the value will be taken. For example:

dynamicLoadAndCapacity.nfProfileLoad = false
dynamicLoadAndCapacity.nfServiceLoad = false
dynamicLoadAndCapacity.nfProfileCapacity = true
dynamicLoadAndCapacity.nfServiceCapacity = true
NfProfileConfigMode = REST

Note:

There exists a specific limitation during the upgrade process due to the dynamicLoadAndCapacity parameter being unavailable in releases prior to 25.1.200. For instance, when performing an upgrade from version 24.2.x to 25.1.200, the NRF Client exhibits varying validations dependent upon the dynamicLoadAndCapacity parameter. In scenarios where the CNC Console facilitates the modification of capacity and load for nfprofiles and nfservices, the dynamicLoadAndCapacity parameter governs the source from which the value is obtained.

UDR and CHF Integration

Policy solution supports integration with external policy data sources using user service encapsulates all the DB integration complexity from other micro-services. The feature helps the dynamic discovery of UDR and CHF from NRF and Nudr/Nchf interfaces.

Support for CHF to access counter information
  • This is an evolution of the Sy interface, where the PCF consumes the Nchf_SpendingLimitControl service provided by the CHF.
  • The service enables the PCF to retrieve policy counter status information per UE from the CHF by subscribing to spending limit reporting, such as notifications of policy counter status changes.
    • Dynamic discovery of CHF from NRF
    • Support for policy counter retrieval and subscription for changes and notification handling
    • Compliant with 29.594 v15.2.0
Support for UDR

This is an evolution of the 4G UDR/SPR where the PCF is able to retrieve, update, subscribe, and get notified to changes for:

  • Session Management Policy Data
  • Access And Mobility Policy Data
  • UE policy data
  • Usage Monitoring Data
  • Policy Data Subscriptions
  • Individual Policy Data Subscription
  • Compliant with 29.519 V15.2.0