NRF (Network Function Repository) Services

Feature Summary and Revision History

Summary Data

Table 1. Summary Data

Applicable Products or Functional Area

AMF

Applicable Platforms

SMI

Feature Default Setting

Enabled – Always-on

Related Documentation

Not Applicable

Revision History

Table 2. Revision History

Revision Details

Release

First introduced.

2022.01.0

Feature Description

Network Repository Function (NRF) functions as a centralized repository for all the 5G network functions (NFs). It performs the following:

  • Provides NF service registration and discovery, in the operator network

  • Enables NFs to identify appropriate services in each or one another

  • Supports the service discovery function

  • Receives NF Discovery Request from an NF instance

  • Provides information about discovered NF instances

The AMF functions and benefits the user in multiple activities such as the following:

  • Supports and sends the following:

    • registration

    • heartbeat

    • update

    • deregistration

    • NF Discovery-Request

  • Includes the following:

    • nf-type

    • plmn-info

    • slice-data

    • ddn

  • Sends the NFDiscovery request towards the NRF during the discovery of network elements

  • Enables or disables the parameters through the NFDiscovery request

The AMF checks and queries NF discovery APIs of the NRF. It helps when they aren’t configured locally. It further discovers or locates the following network functions:

  • AUSF

  • UDM

  • PCF

  • SMF

  • SMSF

  • NSSF

  • Peer AMF

The AMF supports the following NRF functionalities for GR-based instances:

  • Creating, updating, and deleting a subscription

  • Receiving a notification when the NF instance profile is either modified or deregistered from the NRF.

  • Subscribing to notifications and receiving notifications, which were previously subscribed for registration or deregistration or profile changes of NF instances.

How it Works

This section describes how this feature works.

With the current GR-based AMF, the existing AMF NRF functionality NewNrfLibApi gets invoked. During this process, when NewNrfLibApi is associated with GR, the AMF needs to pass a valid grInstanceID to initiate the transaction.

The following list of procedures is supported for multiple transactions with required instance and validity details:

  • nrf init

  • update

  • registration

  • heartbeat

  • deregistration

  • subscription

  • notification

NRF Interfaces

The AMF supports the following NRF interfaces and instances with their enhanced functionalities:

  • NRF interface supports TS 29.510 V15.6 specifications and adapts to the changes in 3GPP specifications for the already implemented interfaces. The supported list includes:

    • discovery

    • register towards NRF

    • deregistration

    • update

    • notify

    • subscribe

    • heartbeat

  • NRF interface supports the enhanced version of the Subscribe for Notifications.

  • NRF interface handles and receives the registration and deregistration notifications that were previously subscribed.

NRF Solutions

The AMF configures and supports the following NRF interfaces and instances with their enhanced solutions:

  • In Yang model, this feature supports the following CLI configuration:

    • Repositories of endpoints or base URLs of the NRF

    • Profile discovery

    • NRF endpoints for the registration of ownership service profile

    • The local set of endpoints of NFType for the given ServiceName .

  • Registers own NFProfle to the configured NRF.

  • Checks for the cached NFProfle for the required service and accessibility.

  • Discovers the NFProfle using the configured discovery repository for the ServiceName when the service can’t be found or accessed.

  • Uses the local configuration for the service, when NFProfile isn’t discovered or found.

  • Subscribes to NF instances, using the NRF Management interface, at the init and the AMF configuration change. It includes the following:

    • In SubscriptionData , the following can be filled:

      • nfStatusNotificationUri

      • SubscrCond

      • nfInstanceId

      • validityTime

    • Responses have the following subscription values:

      • subscriptionId

      • validityTime

    • Subscription has the following values:

      • The discovery of the NFProfile

      • On the same NRF EP used for discovery as well

  • Resubscribes or avails the PATCH option to the NFProfile . It also changes the notification, using the NRF management interface on the expiry of validityTime. It includes the following:

    • Sends the proposed validityTime as PatchItem .

    • When NRF accepts the proposed validityTime , it responds with returnCode 204 .

    • When NRF has an alternate validityTime , it responds with returnCode 200, and validityTime in SubscriptionData .

  • Unsubscribes or removes the DELETE option for the subscription, before the shutdown.


    Note


    This activity isn’t supported, before the shutdown. Only the VIP offline scenario is supported.


  • Deregisters the NFProfile at NRF before the shutdown.


    Note


    This activity isn’t supported, before the shutdown. Only the VIP offline scenario is supported.


  • Handles the notification and cache, for the received NFProfile . It also includes the following:

    • When the added event is NF_REGISTERED , it also adds the received NFProfile to the cache.

    • When the removed event is NF_DEREGISTERED, it also removes the received NFProfile from the cache.

OAM Support

This section describes operations, administration, and maintenance information for this feature.

The following show commands are used to view and trace NRF options in the AMF Ops Center.

show nrf [ discovery-info | registration-info | subscription-info ] 

NOTES:

  • discovery-info —Shows discovery filter Information.

  • registration-info —Shows Registration Information.

  • subscription-info —Shows NF Subscription Information.

Statistics Support

The following counters-related or metrics-related statistics are supported for the Enhancing NRF Functionalities feature. It includes the following:

  • nf_discover_messages_total

  • nf_management_stats_total

  • nrf_subscription_send_messages_total

nf_discover_messages_total

Description: Discover Messages statistics

Sample Query: nf_discover_messages_total{nf_type=\"udm\", host=\"209.165.201.9:8082\", svc_name=\"nudm-sdm\", version=\"v1\", result=\"timeouOrRPCError\"}

Labels:

  • Label: nf_type

    Label Description: Network Function type

    Example: nrf, udm, amf, pcf, chf, ciscocontrol

  • Label: host

    Label Description: End-Point address

    Example: 209.165.201.9:8082

  • Label: svc_name

    Label Description: Network function service name

    Example: nudm-sdm, namf-comm

  • Label: version

    Label Description: Api version info

    Example: v1, v2,

  • Label: result

    Label Description: result of discover message.

    Example: 200, 201, 204, success, timeout_rpc_error, response_parse_failure

nf_management_stats_total

Description: NF management messages statistics

Sample Query: nf_management_stats_total{host=\"209.165.201.9:8082\", svc_name=\"nudm-sdm\", version=\"v1\",direction=\"outbound\", message_type=\"registration\",result=\"timeouOrRPCError\" }

Labels:

  • Label: host

    Label Description: End-Point address

    Example: 209.165.201.9:8082

  • Label: svc_name

    Label Description: Network function service name

    Example: nudm-sdm, namf-comm

  • Label: version

    Label Description: Api version info

    Example: v1, v2,

  • Label: direction

    Label Description: Direction indicates about the message going out or coming in.

    Example: inbound, outbound

  • Label: message_type

    Label Description: Type of Message

    Example: registration, heartbeat, subscription, notification

  • Label: result

    Label Description: result of discover message.

    Example: 200, 201, 204, success, timeout_rpc_error, response_parse_failure

nrf_subscription_send_messages_total

Description: NRF Subscription send messages total.

Sample Query: nrf_subscription_send_messages_total{host=\"209.165.201.9:8082\", message_type=\"subscription\", req=\"initial\"}

Labels:

  • Label: host

    Label Description: End-Point address

    Example: 209.165.201.9:8082

  • Label: message_type

    Label Description: subscription message type

    Example: unsubscription, subscription, updateSubscription

  • Label: req

    Label Description: req type

    Example: resourceUri, initial, retry_2

Troubleshooting Information

This section describes troubleshooting information for this feature.

Trouble Ticket Content Data Collection

The following data are relevant when debugging issues with this feature.

Check the output of the following commands while debugging. The following is the list:

  • kubectl get pods -n namespace

  • helm list

  • helm get service -n namespace

  • kubectl describe services nrf-service -n namespace

  • show full-configuration/running-configuration output from Ops Center

  • kubectl get pods -o yaml -n namespace restep pod_name