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 |
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 |
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 }