General Configurations

Below table provides information for configuring general configurations in OCNRF.

General configuration - OCNRF system options

Table 5-1 Service API Interface

Resource Name Resource URI HTTP Method or Custom Operation Description
nrf-configuration (Store) {apiRoot}/nrf-configuration/v1/system-options GET Retrieves NRF system options configuration
nrf-configuration (Store) {apiRoot}/nrf-configuration/v1/system-options PUT Updates NRF system options configuration
Resource Standard Methods
GET - Retrieve NRF System options configuration

Table 5-2 Data structures supported by the GET Response Body

Data Type P Cardinality Response Codes Description
ProblemDetails M 1 500 Internal Server Error The response body contains the error reason of the request message.
NrfSystemOptions M 1 200 OK Response body contains the NRF current system options
PUT - Update NRF System options configuration

Table 5-3 Data structures supported by the PUT Request Body

Data Type P Cardinality Description
NrfSystemOptions M 1 NrfSystemOptions details

Table 5-4 Data structures supported by the PUT Response Body

Data Type P Cardinality Response Codes Description
ProblemDetails M 1 500 Internal Server Error The response body contains the error reason of the request message.
ProblemDetails M 1 400 Bad request The response body contains the error reason of the request message.
NA 204 No content Specifies that the update of NrfSystemOptions is successful.

Example 5-1 Data Model

Note:

For the attributes, other than profilesCountInDiscoveryResponse and discoveryResultLoadThreshold, if the attribute is not present, existing value in the database is used. It can be the default value or the last updated value, but at least one attribute should be present to not make PUT request empty.

Table 5-5 NrfSystemOptions - Parameters

Attribute Name Data Type Constraints P Default Values Description
nfScreeningFeatureStatus NfScreeningFeatureStatus O DISABLED This attribute specifies if NF Screening is enabled or not.
nfScreeningFailureHttpCode INTEGER O 403 (Forbidden) This attribute specifies what HTTP status code is returned if incoming request doesn't pass NF Screening rules barrier.
nfHeartBeatTimer INTEGER Range - 30 seconds to 300 seconds O 90

Value entered for this attribute is treated as seconds.

If Heartbeat timer value is not received in NFProfile during NFRegister, this default value is used by OCNRF.

If Heartbeat timer value is received in NFProfile during NFRegister, minimum value is used for validation and limit purpose. It means if value provided is less than minimum value, then minimum value is taken as heartbeat timer value.

If Heartbeat timer value is received in NFProfile during NFRegister, maximum value of range is used for validation and limit purpose. It means if value provided is more than maximum value, then maximum value is taken as heartbeat timer value.

nrfPlmnList array O

MCC - 310

MNC - 14

310 MCC is for USA and 14 is for test purposes.
nfNotifyLoadThreshold INTEGER 0 - 99 O 5 Notification trigger is generated only when difference between the 'load' value reported by NF in most recent heartbeat and the 'load' reported in the last generated notification is more than configured value of the loadThreshold parameter.
subscriptionValidityDuration INTEGER 1 hour - 180 days (4320 hours) O 2160

Value entered for this attribute is treated as hours.

If Validity time attribute is not received in SubscriptionData during NFSubscribe, this default value is used for calculation of validity time (current time + default duration).

If Validity time attribute is received in SubscriptionData during NFSubscribe, this minimum value is used for validation and limit purpose. It means if value provided is less than ( current time + minimum value), then calculated value with minimum duration value is considered as validity time of subscription and similarly in case validity time is more than (current time + maximum duration), then calculated value with maximum duration is considered as validity time of subscription.

nrfSupportForProfileChangesInNotification ENUM (TRUE, FALSE) TRUE or FALSE O FALSE Flag to enable/disable to send profileChanges attribute instead of NFProfile in Notification.
nfProfileSuspendDuration INTEGER O 168

Value entered for this attribute is treated as hours.

An NF is allowed to be in SUSPENDED state for this duration before it is deleted from OC-NRF database.

nfHearbeatMissAllowed INTEGER O 3 NF HeartBeat miss allowed after which NFProfile is marked as suspended.
discoveryValidityPeriod INTEGER O 3600

Value entered for this attribute is treated as seconds.

Discovery request is valid till this value. Requester NF discovers again to get latest values.

profilesCountInDiscoveryResponse INTEGER 1 - 10 C 3

NFDiscover response contains NF profiles with count limited to this configured value.

If this attribute is not present in configuration request then this functionality is disabled. In that case, all the profiles are returned, while fetching the record.

In case, configured value is less than the configured range, then minimum value of range is considered.

Similarly, if configured value is more than the configured range, then maximum value of range is considered. While running GET on NrfSystemOptions resource if this value is null, then it means this feature is disabled.

discoveryResultLoadThreshold INTEGER 1 - 100 C

NFDiscover response contains NF profiles with load attribute value less than this configured value.

If this attribute is not present in configuration request then this functionality is disabled. While running GET on NrfSystemOptions resource if this value is null, then it means this feature is disabled.

Example 5-2 REST Message Sample

Request_Type: PUT

URL: http://<k8s host>:<port>/nrf-configuration/v1/system-options

{

   "nfScreeningFeatureStatus": "DISABLED",

   "nfScreeningFailureHttpCode": 403,

   "nfHeartBeatTimer": 90,

   "nrfPlmnList": [

       {

           "mcc": "310",

           "mnc": "14"

       }

   ],

   "nfNotifyLoadThreshold": 5,

   "subscriptionValidityDuration": 2160,

   "nrfSupportForProfileChangesInNotification": false,

   "nfProfileSuspendDuration": 168,

   "nfHearbeatMissAllowed": 3,

   "discoveryValidityPeriod": 3600,

   "profilesCountInDiscoveryResponse": 3

}

Request_Type: GET

URL: http://<k8s host>:<port>/nrf-configuration/v1/system-options


{

   "nfScreeningFeatureStatus": "DISABLED",

   "nfScreeningFailureHttpCode": 403,

   "nfHeartBeatTimer": 90,

   "nrfPlmnList": [

       {

           "mcc": "310",

           "mnc": "14"

       }

   ],

   "nfNotifyLoadThreshold": 5,

   "nrfSupportForProfileChangesInResponse": false,

   "subscriptionValidityDuration": 2160,

   "nrfSupportForProfileChangesInNotification": false,

   "nfProfileSuspendDuration": 168,

   "nfHearbeatMissAllowed": 3,

   "discoveryValidityPeriod": 3600,

   "profilesCountInDiscoveryResponse": 3,

   "discoveryResultLoadThreshold": null

}