Configuring the NRF Endpoints Profile Parameters

The SMF provides CLI for configuring NRF endpoints for different services that are supported by NRF, such as nnrf-nfm (NF management) and nnrf-nfd (NF Discovery).

Note

For a discovery group, only the nnrf-disc service can be configured. For management service, only nnrf-nfm can be configured.

The CLI configuration allows configuring multiple endpoints under each endpoint profile. The SMF uses the priority and capacity parameters to load balance between these endpoints. Primary, secondary, and tertiary host [ip:port] can be configured within each endpoint. Both IPv4 and IPv6 address can be specified. If both are specified, then IPv4 address is preferred.

A URI uniquely identifies a resource. In the 5GC SBI APIs, when a resource URI is an absolute URI, its structure is specified as follows:

{apiRoot}/{apiName}/{apiVersion}/{apiSpecificResourceUriPart} 

" apiRoot " is a concatenation of the following parts: scheme ("http" or "https")

Note

In this release of the specification, both HTTP and HTTPS scheme URIs are allowed. See 3GPP TS 33.501, subclause 13.1 for further details on security of service-based Interfaces.

  • the fixed string "://"

  • authority (host and optional port) as defined in IETF RFC 3986

  • an optional deployment-specific string (API prefix) that starts with a "/" character. [api-root in CLI]

configure 
   group nrf { mgmt mgmt_name | discovery discovery_name } 
      service type nrf { nnrf-nfm | nnrf-disc } 
         endpoint-profile epprofile_name 
            priority priority_value 
            capacity capacity 
            api-root api_string 
            api-uri-prefix uri_prefix_string 
            uri-scheme { http | https } 
            endpoint-name ep_name { capacity capacity | primary ip-address 
            { ipv4 ipv4_address | ipv6 ipv6_address | port port_num}  
            | secondary ip-address { ipv4 ipv4_address | ipv6 ipv6_address 
            | port port_num } | tertiary ip-address { ipv4 ipv4_address 
            | ipv6ipv6_address | port port_num } } 
            version [ uri-version version_num full version version_num ] 
            end 

NOTES:

  • api-root api_string: Specifies the deployment-specific service API prefix that is used within the { apiRoot }.

  • api-uri-prefix uri_prefix_string: Specifies the {apiName}. If not configured, it takes the standard API name for the service as per the specification.

  • capacity capacity: Specifies the profile capacity.

  • endpoint-name ep_name { capacity capacity | primary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } | secondary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } | tertiary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } }: Specifies the endpoint name. You can configure the primary, secondary, and tertiary host (IP: Port) within each endpoint for NF server failover handling. The server failover configuration accepts both the IPv4 and IPv6 addresses. However, the SMF gives preference to the IPv4 address.

  • capacity capacity : Specifies the node capacity for the endpoint. capacity must be an integer in the range of 0-65535.

  • The endpoint selection for sending the message is based on probabilistic load-balancing algorithm (IETF RFC 2782) using the priority and capacity parameters.

  • primary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } : Specifies the primary endpoint IPv4 address, IPv6 address or port.

  • secondary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } : Specifies the secondary endpoint IPv4 address, IPv6 address or port.

  • tertiary ip-address { ipv4 ipv4_address | ipv6 ipv6_address | port port_num } : Specifies the tertiary endpoint IPv4 address, IPv6 address, or port.

  • priority priority_value : Specifies the priority for the service to select the appropriate profile using the load-balancing logic. priority must be an integer in the range of 0-65535.

  • uri-scheme { http | https } : Specifies the URI scheme, as http or https .

  • version [ uri-version version_num full version version_num ] : Specifies the api/Version. The full version format is <Major-version>.<Minor-version>.<patch-version>.[alpha-<draft-number>].