3 NSSF REST Specifications
This chapter provides information about REST specifications used in Oracle Communications Cloud Native Core, Network Selection Slice Selection Function (NSSF).
NSSF can be configured using Helm configurations, REST APIs, and Cloud Native Core (CNC) Console. The NSSF deployment configurations are performed during installation using Helm, and a few configurations are modified using REST APIs. REST configurations can also be performed using the Cloud Native Configuration (CNC) Console.
For HELM configurations, see Oracle Communications Cloud Native Core, Network Slice Selection Function Installation, Upgrade, and Fault Recovery Guide.
For the configurations using CNC Console, see Oracle Communications Cloud Native Core, Network Slice Selection Function User Guide.
Note:
For details on common response codes and key guidelines for configuring managed objects, see:3.1 SystemOptions
- This Managed Object is independent of other Managed Objects and is created during a fresh installation of NSSF, with values based on helm parameters.
- The operator can later update these options, but deletion is not supported; only GET and PUT operations are allowed if SystemOptions is not configured.
Note:
- During a fresh installation, no configuration is present for system options. The operator must configure the system options first. Until the system options are configured, it is not possible to configure other settings.
- All NSSF microservices check the database for SystemOptions upon startup.
- During an upgrade, the current system options are stored in a backup table, and the new system options for the updated version are computed and stored.
Table 3-1 SystemOptions - Supported REST APIs
| URI | Description | Data Type | HTTP Method |
|---|---|---|---|
| /nnssf-configuration/v1/systemoptions | Returns array of all configured SystemOptions. There will be only one active SystemOptions on an NSSF. | SystemOptions | GET |
| /nnssf-configuration/v1/systemoptions | Update the existing SystemOptions object | SystemOptions | PUT |
SystemOptions - Dependencies
This Managed Object is not dependent on other Managed Objects.
Request or Response Body Parameters
Table 3-2 Request or Response Body Parameters
| Parameter | Description | Details |
|---|---|---|
autoAuthorizeNssaiAvailabilityDataEnable
|
This is a mandatory parameter. Main object containing other objects required for enhanced computation of allowedNSSAI in NSSF. |
Data Type: Boolean |
enhancedPatchBehaviourEnable
|
This is a mandatory parameter. Enables or disables allowing zero Snssai in TAI. When true, NSSF shall allow NssaiAvailabilityPatch to remove all Supported SNSSAIs in TAI, as well as in PUT for NssaiAvailability. |
Data Type: Boolean |
plmnLevelSystemOptionsList
|
This is a mandatory parameter. Array of per-PLMN system options. Every PLMN must be covered, otherwise API will return 400 Bad Request. |
Data Type: Array |
Table 3-3 Request or Response Body Parameters- plmnLevelSystemOptions
| Parameter | Description | Details |
|---|---|---|
plmnId
|
This is a mandatory parameter. PLMN ID in format mcc-mnc. Must uniquely identify the PLMN. Cross-check with PLMN level info to verify all PLMNs are covered. For more details, see Plmnid. |
Data Type: String |
enhancedAllowedNssaiEnable
|
This is a mandatory parameter. Enables or disables enhancedAllowedNssai feature for the specified PLMN. |
Data Type: Boolean |
Example
{
"autoAuthorizeNssaiAvailabilityDataEnable": false,
"enhancedPatchBehaviourEnable": false,
"plmnLevelSystemOptionsList": [
{
"plmnId": "311-480",
"enhancedAllowedNssaiEnable": false
}
]
}
3.2 NsiProfiles
The NsiProfiles is a mandatory Managed Object. It consists of network slice identification information, including the NSI ID and NRF-URI. This Managed Object contains the essential details defining a network slice instance, used for NSSF operation and selection.
NSI Profiles - Supported REST APIs
Table 3-4 NSI Profiles - Supported REST APIs
| URI | Description | Data Type | HTTP Method |
|---|---|---|---|
| /nnssf-configuration/v1/nsiprofiles | Returns an array of all configured NSI Profiles. | array(NsiProfile) | GET |
| /nnssf-configuration/v1/nsiprofiles | Create a network slice instance profile. | NsiProfile | POST |
| /nnssf-configuration/v1/nsiprofiles/{nsiId} | Read a network slice instance profile. Returns NsiProfile based on
the given nsiId.
|
NsiProfile | GET |
| /nnssf-configuration/v1/nsiprofiles/{nsiId} | Delete a network slice instance profile based on
nsiId.
Checks: - NSI Profile must not be linked to any ConfiguredSNSSAI in any PLMN. - NSI Profile must not be linked to any not allowed SupportedSlicesMapping. |
NsiProfile | DELETE |
| /nnssf-configuration/v1/nsiprofiles/{nsiId} | Update a network slice instance profile based on
nsiId.
Note: nsiId is immutable; all other parameters are mutable. |
NsiProfile | PUT |
NSI Profiles - Dependencies
This Managed Object is not dependent on other Managed Objects. No prerequisites are required for configuring NSI Profiles.
Request or Response Body Parameters
The NSI Profiles Managed Object allows the configuration and management of Network Slice Instance (NSI) profiles. The operator can create, modify, or retrieve these profiles by providing the appropriate parameters in the request or by receiving them in the response.
The key parameters used in the request or response bodies enable the configuration of the Network Slice by defining specific attributes, such as the NSI ID and NRF URL (Network Resource Function URL) corresponding to the slice.
Table 3-5 NSI Profiles - Parameters
| Parameter | Description | Details |
|---|---|---|
nrfUri |
This is a mandatory parameter.
Contains the API URI of the NRF NFDiscovery Service to be used for selecting the NFs or services within the selected Network Slice instance. |
Data Type: URI |
nsiId |
This is a mandatory parameter.
Contains the identifier of the selected Network Slice Instance Note:
|
Data Type: NsiId |
nrfNfMgtUri |
This is an optional parameter.
When present, it contains the API URI of the NRF NFManagement Service. |
Data Type: URI |
nrfAccessTokenUri |
This is a mandatory parameter.
When present, it contains the API URI of the NRF Access Token Service. |
Data Type: URI |
Examples
{
"nsiId": "NSI-1",
"nrfUri": "https://nrf.slice1.oracle.com/nnrf-disc/v1",
"nrfNfMgtUri": "https://nrf.slice1.oracle.com/nnrf-nfm/v1",
"nrfAccessTokenUri": "https://nrf.slice1.oracle.com/oauth2/token"
}
Note:
nsiId is stored in UPPER CASE in database.
3.3 PlmnConfig
The PlmnConfig is a mandatory managed object that contains configurations applicable to a specific PLMN, uniquely identified by its PLMN ID. Multiple PLMN is supported. Hence, it is required to configure all supported PLMNs.
Key Parameters:
plmnid– Mandatory- Description: Identifies the PLMN for which the configuration is being applied.
configuredNSSAI(Configured Network Slice Selection Assistance Information) – Mandatory- Description: Lists all S-NSSAIs (Single Network Slice Selection Assistance Information) configured at the PLMN level. This represents the complete set of S-NSSAIs that can be supported in TAIs (Tracking Area Identifiers) within the PLMN.
- Usage:
- If an NsSelection GET request contains a
requestedNSSAInot present inconfiguredNSSAI, the NSSF (Network Slice Selection Function) will include the configured NSSAI in the response. - S-NSSAI support for a TAI within the PLMN is considered
unauthorized unless explicitly listed in
configuredNSSAI.
- If an NsSelection GET request contains a
barredSnssaiList(Restricted Network Slice Selection Assistance Information) – Optional- Description: Lists S-NSSAIs that are restricted or barred
within the PLMN. Any S-NSSAI in this list must not be included in the
supportedslicesmappingfor any TAI within the PLMN, ensuring that restricted S-NSSAIs are unavailable for use. - Usage: Ensures that certain S-NSSAIs are completely unavailable for selection within the PLMN.
- Description: Lists S-NSSAIs that are restricted or barred
within the PLMN. Any S-NSSAI in this list must not be included in the
nsiInformationList(Network Slice Instance Information) – Mandatory- Description: Defines the default fallback network slice instance information for the PLMN. This information applies to all TAI-S-NSSAI combinations unless overridden by Allowed NSSAI.
- Usage: If
nsiInformationis not explicitly configured or if auto-configuration is enabled, this list serves as the default fallback for slice selection.
PlmnConfig - Supported REST APIs
Table 3-6 PlmnConfig - Supported REST APIs
| URI | Description | Details |
|---|---|---|
| /nnssf-configuration/v1/plmnconfig | Create a PLMN Config |
Data Type: plmnconfig HTTP Method: POST |
| /nnssf-configuration/v1/plmnconfig | Read all PLMN Configs |
Data Type: plmnconfig HTTP Method: GET |
| /nnssf-configuration/v1/plmnconfig/{plmnId} | Update a PLMN Config |
Data Type: plmnconfig HTTP Method: PUT |
| /nnssf-configuration/v1/plmnconfig/{plmnId} | Read a PLMN Config |
Data Type: plmnconfig HTTP Method: GET |
| /nnssf-configuration/v1/plmnconfig/{plmnId} | Delete a PLMN Config |
Data Type: plmnconfig HTTP Method: DELETE |
PlmnConfig- Dependencies
Required NsiProfiles and SystemOptions
must be configured beforehand in order to configure PlmnConfig.
Only PLMNs that are configured in SystemOptions will be accepted as
part of PlmnConfig.
Request or Response Body Parameters
Table 3-7 PlmnConfig- Parameters
| Parameter | Description | Details |
|---|---|---|
plmnId
|
This is a mandatory parameter.
Identifies the PLMN for which the configuration is being made. Format: mcc-mnc. For more details, see Plmnid. |
Data Type: String |
plmnInfo
|
This is a mandatory parameter.
Configuration of PLMN: Contains the Configured NSSAI for the PLMN, the Barred SNSSAI for the PLMN, and the default fallback Network Slice Instance information for the PLMN. For more information, see PlmnInfo. |
Data Type: PlmnInfo |
Examples
{
"plmnId": "311-480",
"plmnInfo": {
"configuredNssai": [
{
"sst": "1",
"sd": "EABB01",
"accessType": "3GPP_ACCESS",
"nsiInformationList": [
{
"nsiProfileId": "NSI-1",
"salience": "4"
},
{
"nsiProfileId": "NSI-2",
"salience": "2"
}
]
},
{
"sst": "2",
"sd": "EABB02",
"accessType": "3GPP_ACCESS",
"nsiInformationList": [
{
"nsiProfileId": "NSI-2",
"salience": "3"
}
]
},
{
"sst": "3",
"sd": "EABB03",
"accessType": "BOTH"
},
{
"sst": "4",
"sd": "EABB04",
"accessType": "NON_3GPP_ACCESS"
},
{
"sst": "5",
"sd": "EABB05",
"accessType": "BOTH"
},
{
"sst": "6",
"sd": "EABB06",
"accessType": "NON_3GPP_ACCESS"
},
{
"sst": "7",
"sd": "EABB07",
"accessType": "BOTH"
},
{
"sst": "8",
"sd": "EABB08",
"accessType": "NON_3GPP_ACCESS"
},
{
"sst": "9",
"sd": "EABB09",
"accessType": "BOTH"
},
{
"sst": "10",
"sd": "EABB10",
"accessType": "NON_3GPP_ACCESS"
}
],
"barredSnssaiList": [
{
"sst": "5",
"sd": "EABB05"
}
],
"nsiInformationList": [
{
"nsiProfileId": "NSI-1",
"salience": "3"
}
]
}
}
3.4 SupportedSlicesMapping
The SupportedSlicesMapping is an optional managed object that enables configuration and management of supported slices based on TAI (Tracking Area Identity).
This managed object is applicable only if auto-authorization of NssaiAvailability data is not enabled. Operator shall be allowed to configure this managed object even when the feature is enabled, but such configurations will be stored in the database without effect.
SupportedSlicesMapping - Supported REST APIs
Table 3-8 SupportedSlicesMapping - Supported REST APIs
| URI | Description | Data Type | HTTP Method |
|---|---|---|---|
| /nnssf-configuration/v1/supportedslicesmapping | Create a SupportedSlicesMapping. | supportedslicesmapping | POST |
| /nnssf-configuration/v1/supportedslicesmapping | Read all SupportedSlices mappings | supportedslicesmapping | GET |
| /nnssf-configuration/v1/supportedslicesmapping/{name} | Update a SupportedSlices mapping | supportedslicesmapping | PUT |
| /nnssf-configuration/v1/supportedslicesmapping/{name} | Read a Supported Slices mapping | supportedslicesmapping | GET |
| /nnssf-configuration/v1/supportedslicesmapping/{name} | Delete a Supported Slices mapping | supportedslicesmapping | DELETE |
SupportedSlicesMapping - Dependencies
We need NsiProfile, SystemOptions, and
PlmnConfig to configure Supported Slices Mapping.
Request or Response Body Parameters
Table 3-9 SupportedSlicesMapping - Parameters
| Parameter | Description | Details |
|---|---|---|
name |
This is a mandatory parameter.
Unique Identifier of the mapping. Note:
|
Data Type: string |
supportedSnssaiList |
This is a mandatory parameter. SnssaiInfo Allowed for List of TAIs
|
Data Type: array<SnssaiInfo> See SnssaiInfo |
plmnTacList |
This is a mandatory parameter. List of TACs in a PLMN for Which Supported Slices are Being Configured per PLMN Validations to be Performed
Examples and Invalid Cases
For more information, see PlmnTacList. |
Data Type: PlmnTacList |
Examples
{
"name": "SUPPORTED-SNSSAIS-CONFIG-1",
"supportedSnssaiList": [
{
"sst": 1,
"sd": "EABB01",
"accessType": "3GPP_ACCESS",
"nsiInformationList": [
{
"nsiProfileId": "NSI-1",
"salience": 2
}
]
},
{
"sst": 1,
"sd": "EABB02",
"accessType": "3GPP_ACCESS",
"nsiInformationList": [
{
"nsiProfileId": "NSI-1",
"salience": 2
}
]
}
],
"plmnTacList": {
"plmnId": "311-480",
"tacList": [
{
"tac": "202400"
},
{
"tac": "202401"
},
{
"tac": "202402"
}
]
}
}
3.5 BarredSlicesMapping
This is an optional managed object. The Barred Slices Mapping Config allows for the configuration and management of slice restrictions based on TAI (Tracking Area Identity). The operator is allowed to configure this managed object even when the feature is enabled, but in that case, the configuration will only be stored in the database and will not take effect.
BarredSlicesMapping - Supported REST APIs
Table 3-10 BarredSlicesMapping - Supported REST APIs
| URI | Description | Details |
|---|---|---|
| /nnssf-configuration/v1/barredslicesmapping | Create a Barred Slices mapping |
Data Type: barredslicesmapping HTTP Method: POST |
| /nnssf-configuration/v1/barredslicesmapping | Read all Barred Slices mappings |
Data Type: barredslicesmapping HTTP Method: GET |
| /nnssf-configuration/v1/barredslicesmapping/{name} | Update a Barred Slices mapping |
Data Type: barredslicesmapping HTTP Method: PUT |
| /nnssf-configuration/v1/barredslicesmapping/{name} | Read a Barred Slices mapping |
Data Type: barredslicesmapping HTTP Method: GET |
| /nnssf-configuration/v1/barredslicesmapping/{name} | Delete a Barred Slices mapping |
Data Type: barredslicesmapping HTTP Method: DELETE |
BarredSlicesMapping- Dependencies
Required NsiProfiles, SystemOptions,
and PlmnConfig must be configured beforehand in order to configure
BarredSlicesMapping.
Request or Response Body Parameters
Table 3-11 BarredSlicesMapping- Parameters
| Parameter | Description | Details |
|---|---|---|
name |
This is a mandatory parameter.
Unique Identifier of mapping Note: |
Data Type: string |
barredSnssaiList
|
This is a mandatory parameter.
Slices Configured as Barred for List of TACs Validations to be performed:
|
Data Type: array<Snssai> See Snssai |
plmnTacList
|
This is a mandatory parameter.
List of TACs for Which Barred Slices Are Being Configured per PLMN Validations to be Performed:
Examples and Invalid Cases:
For more information, see PlmnTacList. |
Data Type: PlmnTacList |
Examples
{
"name": "BARRED-SNSSAIS-CONFIG-1",
"barredSnssaiList": [
{
"sst": 3,
"sd": "EABB03"
},
{
"sst": 4,
"sd": "EABB04"
}
],
"plmnTacList": {
"plmnId": "311-480",
"tacList": [
{
"tac": "202509"
},
{
"tac": "202510"
}
]
}
}
3.6 GrSites
GrSites is a conditional Managed Object. It is relevant only if georedundancy
(global.grEnabled) is enabled. GrSite enables the customer to configure
GrSites information.
GrSites - Supported REST APIs
Table 3-12 GrSites - Supported REST APIs
| URI | Description | Details |
|---|---|---|
| /nnssf-configuration/v1/grsites | It returns array of all configured GrSites. |
Data Type: Array(GrSite) HTTP Method: GET |
| /nnssf-configuration/v1/grsites/{nfInstanceId} | It returns GrSites for corresponding nfInstanceId. |
Data Type: Array(GrSite) HTTP Method: GET |
| /nnssf-configuration/v1/grsites | It creates a GrSite. |
Data Type: GrSite HTTP Method: POST |
| /nnssf-configuration/v1/grsites/{nfInstanceId} | It updates GrSite rank for corresponding nfInstanceId. Changes in other fields will be ignored. |
Data Type: GrSite HTTP Method: PUT |
| /nnssf-configuration/v1/grsites/{nfInstanceId} | It deletes GrSite for corresponding nfInstanceId. |
Data Type: GrSite HTTP Method: DELETE |
GrSites - Dependencies
This Managed Object is not dependent on other Managed Objects. Hence, configuration of any other Managed Objects is not a prerequisite to configure GrSite.
Note:
It is applicable only when georedundancy is enabled in the helm options. For information about enabling georedundancy, see Georedundancy section in Oracle Communications Cloud Native Core, Network Slice Selection Function User Guide.Request or Response Body Parameters
The GrSites Managed Object enables the configuration of different sites for the NSSF. This Managed Object allows an operator to configure various sites with different priorities, ranks, and statuses.
Table 3-13 GrSites - Parameters
| Parameter | Description | Details |
|---|---|---|
nfInstanceId |
This is a mandatory parameter.
Contains the instance ID of the site NSSF. Validation - Controlled at application layer uuid Unique |
Data Type: String |
siteId |
This is a mandatory parameter.
Contains the instance ID of the site NSSF. Validation - Controlled at application layer Unique |
Data Type: String |
Rank |
This is a mandatory parameter.
Contains the priority given by the operator to related georedundant sites. Validation - Controlled at application layer Unique |
Data Type: Integer |
Examples
Sample PlmnConfig{
"siteId": "01",
"nfInstanceId": "9faf1bbc-6e4a-4454-a507-aef01a101a01",
"rank": 1
}Example
The following example shows how a GrSite is onboarded by submitting a POST request on the REST resource using cURL:
1. curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/grsites -H 'Content-Type: application/json' -d '{ "rank": "1", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b1", "siteId": "01"}'
2. curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/grsites -H 'Content-Type: application/json' -d '{ "rank": "2", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b2", "siteId": "02"}'
3. curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/grsites -H 'Content-Type: application/json' -d '{ "rank": "3", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b3", "siteId": "03"}'
1. { "rank": "1", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b1", "siteId": "01", "grSiteStatus":"ACTIVE" }
2. { "rank": "2", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b2", "siteId": "02", "grSiteStatus":"ACTIVE" }
3. { "rank": "3", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b3", "siteId": "03", "grSiteStatus":"ACTIVE" }
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/grsites -H 'Content-Type: application/json' -d '{ "rank": "1", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b1", "siteId": "01"}'
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/grsites -H 'Content-Type: application/json' -d '{ "rank": "2", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b2", "siteId": "02"}'
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/grsites -H 'Content-Type: application/json' -d '{ "rank": "3", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b3", "siteId": "03"}'
Example of the Response Body:
{ "rank": "1", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b1", "siteId": "01", "grSiteStatus":"ACTIVE" }
{ "rank": "2", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b2", "siteId": "02", "grSiteStatus":"ACTIVE" }
{ "rank": "3", "nfInstanceId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b3", "siteId": "03", "grSiteStatus":"ACTIVE" }
3.7 NSSF Backup and Restore Configurations
These APIs provide functionality to back up existing configuration, delete existing configuration, and to restore a (stored) back up.
- Request_Type: PUT/GET/DELETE
- URL: http://{apiRoot}/nnssf-configuration/v1/allconfig
- Content-Type: application/json
- Initiated By: API Invoker
NSSF Backup and Restore Configurations - Supported REST APIs
Configure the ConfigurationBackup Managed Object by following the information provided in the table below. The supported operations are PUT, GET, and DELETE. Perform the configuration of ConfigurationBackup Managed Object as follows:
Table 3-14 NSSF Backup and Restore Configurations - Supported REST APIs
| URI | Description | Details |
|---|---|---|
| /nnssf-configuration/v1/allconfig |
Overrides all configuration managed objects. Deletes existing configuration and overrides. |
Data Type: ConfigBackup HTTP Method: PUT |
| /nnssf-configuration/v1/allconfig | Responds with get ALL for all configured managed objects. |
Data Type: ConfigBackup HTTP Method: GET |
| /nnssf-configuration/v1/deleteConfiguration | Deletes existing configuration. |
HTTP Method: DELETE |
Request or Response Body Parameters
ConfigurationBackup consists of list of following parameters:
Table 3-15 NSSF Backup and Restore Configurations - Parameters
| Parameter | Description | Details |
|---|---|---|
systemOptionsConfigInfo |
This is a mandatory parameter.
This contains all
the
|
Data Type: SystemOptionsConfigInfoDto |
nsiProfileConfigList
|
This is an optional parameter This contains the list of allnsiProfileConfigs.
|
Data Type: Array<NsiProfileConfigDto> |
plmnConfigList
|
This is an optional parameter This contains the list of all plmnConfig. This is dependent on |
Data Type: Array<PlmnConfigDto> |
barredSlicesMappingConfigList |
This is an optional parameter This contains the list of allbarredSlicesMapping.It is dependent on
plmnConfigList and nsiProfileConfigList.
|
Data Type: Array<BarredSlicesMappingConfigDto> |
supportedSlicesMappingConfigList |
This is an optional parameter This contains the list of allsupportedSlicesMappingConfig.It is dependent on
plmnConfigList and nsiProfileConfigList.
|
Data Type: Array<SupportedSlicesMappingConfigDto> |
geoRedundantSitesInfoList |
This is a mandatory parameter This contains the list of allgeoRedundantSitesInfo.This is a mandatory parameter
and must not be empty.
|
Data Type: Array<GeoRedundantSitesInfoDto> |
Examples
{
"systemOptionsConfigInfo": {
"autoAuthorizeNssaiAvailabilityDataEnable": true,
"enhancedPatchBehaviourEnable": true,
"plmnLevelSystemOptionsList": [
{
"plmnId": "311-480",
"enhancedAllowedNssaiEnable": true
},
{
"plmnId": "100-101",
"enhancedAllowedNssaiEnable": true
}
]
},
"nsiProfileConfigList": [
{
"nsiId": "NSI-1",
"nrfUri": "https://nrf.slice1.oracle.com/nnrf-disc/v1",
"nrfNfMgtUri": "https://nrf.slice1.oracle.com/nnrf-nfm/v1",
"nrfAccessTokenUri": "https://nrf.slice1.oracle.com/oauth2/token"
},
{
"nsiId": "NSI-2",
"nrfUri": "https://nrf.slice1.oracle.com/nnrf-disc/v2",
"nrfNfMgtUri": "https://nrf.slice1.oracle.com/nnrf-nfm/v2",
"nrfAccessTokenUri": "https://nrf.slice2.oracle.com/oauth2/token"
}
],
"plmnConfigList": [
{
"plmnId": "311-480",
"plmnInfo": {
"configuredNssai": [
{
"sst": "1",
"sd": "EABB01",
"accessType": "3GPP_ACCESS",
"nsiInformationList": [
{
"nsiProfileId": "NSI-1",
"salience": "4"
},
{
"nsiProfileId": "NSI-2",
"salience": "2"
}
]
},
{
"sst": "2",
"sd": "EABB02",
"accessType": "3GPP_ACCESS",
"nsiInformationList": [
{
"nsiProfileId": "NSI-2",
"salience": "3"
}
]
},
{
"sst": "3",
"sd": "EABB03",
"accessType": "BOTH"
},
{
"sst": "4",
"sd": "EABB04",
"accessType": "NON_3GPP_ACCESS"
},
{
"sst": "5",
"sd": "EABB05",
"accessType": "BOTH"
},
{
"sst": "6",
"sd": "EABB06",
"accessType": "NON_3GPP_ACCESS"
},
{
"sst": "7",
"sd": "EABB07",
"accessType": "BOTH"
},
{
"sst": "8",
"sd": "EABB08",
"accessType": "NON_3GPP_ACCESS"
},
{
"sst": "9",
"sd": "EABB09",
"accessType": "BOTH"
},
{
"sst": "10",
"sd": "EABB10",
"accessType": "NON_3GPP_ACCESS"
}
],
"barredSnssaiList": [
{
"sst": "5",
"sd": "EABB05"
}
],
"nsiInformationList": [
{
"nsiProfileId": "NSI-1",
"salience": "3"
}
]
}
}
],
"barredSlicesMappingConfigList": [
{
"name": "Barred-NSSAIS-CONFIG-1",
"barredSnssaiList": [
{
"sst": 3,
"sd": "EABB03"
},
{
"sst": 4,
"sd": "EABB04"
}
],
"plmnTacList": {
"plmnId": "311-480",
"tacList": [
{
"tac": "202509"
},
{
"tac": "202510"
}
]
}
}
],
"supportedSlicesMappingConfigList": [
{
"name": "SUPPORTED-SLICES-MAPPING-CONFIG-1",
"supportedSnssaiList": [
{
"sst": 1,
"sd": "EABB01",
"accessType": "3GPP_ACCESS",
"nsiInformationList": [
{
"nsiProfileId": "NSI-1",
"salience": 2
}
]
}
],
"plmnTacList": {
"plmnId": "311-480",
"tacList": [
{
"tac": "200000"
}
]
}
}
],
"geoRedundantSitesInfoList": [
{
"siteId": "01",
"nfInstanceId": "9faf1bbc-6e4a-4454-a507-aef01a101a01",
"rank": 1
},
{
"siteId": "02",
"nfInstanceId": "9faf1bbc-6e4a-4454-a507-aef01a101a02",
"rank": 2
},
{
"siteId": "03",
"nfInstanceId": "9faf1bbc-6e4a-4454-a507-aef01a101a03",
"rank": 3
}
]
}
3.8 Runtime Log Level Update
The Runtime Log Level Update Managed Object enables an operator to centralize the configuration and update it dynamically without restarting NSSF.
Table 3-16 Runtime Log Level Update - Parameters
| Parameter | Description | Details |
|---|---|---|
commonCfgClient.enabled |
This is a mandatory parameter.
It is used to enable or disable client. |
Data Type: Boolean |
commonCfgClient.pollingInterval |
This is a mandatory parameter.
It is used to set polling interval in Milliseconds. |
Data Type: Integer |
Runtime Log Level Update - Supported REST APIs
The operator can configure the Runtime Log Level Update by following the information provided in the table below. The supported operations are GET and PUT. The following table provides information about the REST APIs supported by the Runtime Log Level Update Managed Object:
Table 3-17 Runtime Log Level Update - Supported REST APIs
| URI | Description | Details |
|---|---|---|
| http://<nsconfig-url>/nssf/nf-common-component/v1/services | Get the list of microservices registered with common config service for dynamic logging. |
Data Type: array HTTP Method: GET |
| http://<nsconfig-url>/nssf/nf-common-component/v1/<microservice-name>/logging | To get the current Logging information of the microservice. |
Data Type: array HTTP Method: GET |
| http://<nsconfig-url>/nssf/nf-common-component/v1/<microservice-name>/logging | To update the Logging information of the microservice. |
Data Type: array HTTP Method: PUT |
Examples API Calls
1. GET All Services
cURL: http://<nsconfig-url>/nssf/nf-common-component/v1/services
2. GET Log Level for a Microservice
cURL: http://<nsconfig-url>/nssf/nf-common-component/v1/<microservice-name>/logging
{
"appLogLevel": "INFO",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "WARN"
}
]
}
3. PUT to Update Log Level
cURL: http://<nsconfig-url>/nssf/nf-common-component/v1/<microservice-name>/logging
{
"appLogLevel": "DEBUG",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "WARN"
}
]
}
Per-Microservice Logging Endpoints and Payloads
1. App-Info
- GET:
/nssf/nf-common-component/v1/app-info/logging - PUT:
/nssf/nf-common-component/v1/app-info/logging
{
"appLogLevel": "DEBUG"
}Table 3-18 App-Info
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
2. Perf-Info
- GET:
/nssf/nf-common-component/v1/perf-info/logging - PUT:
/nssf/nf-common-component/v1/perf-info/logging
{
"appLogLevel": "WARN"
}Table 3-19 Perf-Info
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
3. Ingress Gateway
- GET:
/nssf/nf-common-component/v1/igw/logging - PUT:
/nssf/nf-common-component/v1/igw/logging
{
"appLogLevel": "DEBUG",
"logDiscarding": {
"enabled": false,
"featureToThresholdMapping": [
{
"feature": "RATE_LIMITING",
"thresholdFactor": 100
},
{
"feature": "OVERLOAD_CONTROL",
"thresholdFactor": 100
},
{
"feature": "ROUTE_LEVEL_RATE_LIMITING",
"thresholdFactor": 100
},
{
"feature": "RSS_RATE_LIMITING",
"thresholdFactor": 100
},
{
"feature": "EGRESS_RATE_LIMITING",
"thresholdFactor": 100
}
]
},
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "ERROR"
},
{
"packageName": "oauth",
"logLevelForPackage": "ERROR"
}
],
"logSubscriberInfo": "DISABLED",
"additionalErrorLogging": "DISABLED"
}
Table 3-20 Ingress Gateway
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
logDiscarding.enabled |
This is a mandatory parameter Enable/disable log discarding |
Data Type: Boolean Range: true, false |
featureToThresholdMapping |
This is a mandatory parameter Feature thresholds list |
Data Type: List of Objects Range: Each item contains feature and thresholdFactor |
feature |
This is a mandatory parameter Feature name |
Data Type: String Range:
|
thresholdFactor |
This is a mandatory parameter Threshold factor for feature |
Data Type: Integer Range: 0–100 |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
logSubscriberInfo |
This is an optional parameter Subscriber info logging setting |
Data Type: String Range: ENABLED, DISABLED |
additionalErrorLogging |
This is an optional parameter Additional error logging setting |
Data Type: String Range: ENABLED, DISABLED |
4. Egress Gateway
- GET:
/nssf/nf-common-component/v1/egw/logging - PUT:
/nssf/nf-common-component/v1/egw/logging
{
"appLogLevel": "DEBUG",
"logDiscarding": {
"enabled": false,
"featureToThresholdMapping": [
{
"feature": "RATE_LIMITING",
"thresholdFactor": 100
},
{
"feature": "NOTIFICATION_RATE_LIMITING",
"thresholdFactor": 100
}
]
},
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "WARN"
},
{
"packageName": "oauth",
"logLevelForPackage": "INFO"
}
],
"logSubscriberInfo": "DISABLED",
"additionalErrorLogging": "DISABLED"
}
Table 3-21 Egress Gateway
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
logDiscarding.enabled |
This is a mandatory parameter Enable/disable log discarding |
Data Type: Boolean Range: true, false |
featureToThresholdMapping |
This is a mandatory parameter Feature thresholds list |
Data Type: List of Objects Range: Each item contains feature and thresholdFactor |
feature |
This is a mandatory parameter Feature name |
Data Type: String Range:
|
thresholdFactor |
This is a mandatory parameter Threshold factor for feature |
Data Type: Integer Range: 0–100 |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
logSubscriberInfo |
This is an optional parameter Subscriber info logging setting |
Data Type: String Range: ENABLED, DISABLED |
additionalErrorLogging |
This is an optional parameter Additional error logging setting |
Data Type: String Range: ENABLED, DISABLED |
5. Alternate Route
- GET:
/nssf/nf-common-component/v1/alt-route/logging - PUT:
/nssf/nf-common-component/v1/alt-route/logging
{
"appLogLevel": "DEBUG",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "WARN"
}
],
"additionalErrorLogging": "DISABLED"
}
Table 3-22 Alternate Route
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
additionalErrorLogging |
This is an optional parameter Additional error logging setting |
Data Type: String Range: ENABLED, DISABLED |
6. NRF Client - Management
- GET:
/nssf/nf-common-component/v1/nrf-client-nfmanagement/logging - PUT:
/nssf/nf-common-component/v1/nrf-client-nfmanagement/logging
{
"appLogLevel": "DEBUG",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "WARN"
}
],
"logSubscriberInfo": "DISABLED",
"additionalErrorLogging": "DISABLED"
}
Table 3-23 NRF Client - Management
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
logSubscriberInfo |
This is an optional parameter Subscriber info logging setting |
Data Type: String Range: ENABLED, DISABLED |
additionalErrorLogging |
This is an optional parameter Additional error logging setting |
Data Type: String Range: ENABLED, DISABLED |
7. NsAvailability
- GET:
/nssf/nf-common-component/v1/nsavailability/logging - PUT:
/nssf/nf-common-component/v1/nsavailability/logging
{
"appLogLevel": "DEBUG",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "ERROR"
}
]
}
Table 3-24 NsAvailability
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
8. NsAuditor
- GET:
/nssf/nf-common-component/v1/nsaudit/logging - PUT:
/nssf/nf-common-component/v1/nsaudit/logging
{
"appLogLevel": "DEBUG",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "ERROR"
}
]
}
Table 3-25 NsAuditor
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
9. NsConfig
- GET:
/nssf/nf-common-component/v1/nsconfig/logging - PUT:
/nssf/nf-common-component/v1/nsconfig/logging
{
"appLogLevel": "DEBUG",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "ERROR"
}
]
}
Table 3-26 NsConfig
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
10. NsSelection
- GET:
/nssf/nf-common-component/v1/nsselection/logging - PUT:
/nssf/nf-common-component/v1/nsselection/logging
{
"appLogLevel": "DEBUG",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "ERROR"
}
]
}
Table 3-27 NsSelection
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
11. NsSubscription
- GET:
/nssf/nf-common-component/v1/nssubscription/logging - PUT:
/nssf/nf-common-component/v1/nssubscription/logging
{
"appLogLevel": "DEBUG",
"packageLogLevel": [
{
"packageName": "root",
"logLevelForPackage": "ERROR"
}
]
}
Table 3-28 NsSubscription
| Parameter Name | Description | Details |
|---|---|---|
appLogLevel |
This is a mandatory parameter Application-wide log level |
Data Type: String Range: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
packageLogLevel |
This is a mandatory parameter Specific package log settings |
Data Type: List of Objects Range: Each item contains packageName and logLevelForPackage |
packageName |
This is a mandatory parameter Name of the package |
Data Type: String Range: Any valid Java package name |
logLevelForPackage |
This is a mandatory parameter Log level assigned to the package |
Data Type:StringRange: TRACE, DEBUG, INFO, WARN, ERROR, OFF |
3.9 NRF-Client
The NRF-Client manages configuration of profiles by retrieving the NfProfiles and performing complete update of the NfProfiles used for registering with NRF.
NRF-Client - Supported REST APIs
The operator can configure the NRF-Client by following the information provided in the table below. The supported operations are GET and PUT. The following table provides information about the REST APIs supported by the NRF-Client Managed Object:
Table 3-29 NRF-Client - Supported REST APIs
| URI | Description | Details |
|---|---|---|
| {nfType}/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList | Retrieve the NfProfiles used to register with NRF |
Data Type: Array(NFProfile) HTTP Method: GET |
| {nfType}/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList | Complete update of the NfProfiles used to register with NRF |
Data Type: Array(NFProfile) HTTP Method: PUT |
Request or Response Body Parameters
Table 3-30 configmapApplicationConfig.profile.appProfiles Parameters
| Parameter | Description | Details |
|---|---|---|
nfInstanceId |
This is a mandatory parameter. Unique identifier for the network function instance. |
Data Type: String Range: UUID |
nfType |
This is a mandatory parameter. Type of the network function (for example, NSSF). |
Data Type: String Range: Predefined types (for example, NSSF) |
nfStatus |
This is a mandatory parameter. Status of the network function. |
Data Type: String Range: REGISTERED, UNREGISTERED, etc. |
heartBeatTimer |
This is a conditional parameter. Time in seconds expected between two consecutive heartbeat messages from an NF Instance to the NRF. It may be included in the registration request. When present in the request, it shall contain the heartbeat time proposed by the NF service consumer. It shall be included in responses from NRF to registration requests (PUT) or in NF profile updates (PUT or PATCH). If the proposed heartbeat time is acceptable by the NRF based on the local configuration, it shall use the same value as in the registration request. Otherwise the NRF shall override the value using a preconfigured value. |
Data Type: Integer Range: 1-3600 seconds |
fqdn |
This is a conditional parameter. Fully Qualified Domain Name of the network function. |
Data Type: String Range: Valid domain |
priority |
This is an optional parameter. Priority (relative to other NFs of the same type) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority. If priority is also present in the nfServiceList parameters, those will have precedence over this value. The NRF may overwrite the received priority value when exposing an NFProfile with the NRF Discovery service. |
Data Type: Integer Range: 0-65535 |
capacity |
This is an optional parameter. Static capacity information in the range of 0-65535, expressed as a weight relative to other NF instances of the same type; if capacity is also present in the nfServiceList parameters, those will have precedence over this value. |
Data Type: Integer Range: 0-65535 |
load |
This is an optional parameter. Dynamic load information, ranged from 0 to 100, indicates the current load percentage of the NF. |
Data Type: Integer Range: 0-100 |
plmnList.mcc |
This is a conditional parameter. Mobile Country Code (MCC) of the PLMN. |
Data Type: String Range: 3-digit numeric code |
plmnList.mnc |
This is a conditional parameter. Mobile Network Code (MNC) of the PLMN. |
Data Type: String Range: 2- or 3-digit numeric code |
nfSetIdList |
This is a conditional parameter. NF Set ID defined in clause 28.12 of 3GPP TS 23.003 [12]. At most one NF Set ID shall be indicated per PLMN of the NF. |
Data Type: array(NfSetId) Range: Valid String |
locality |
This is an optional parameter. Operator defined information about the location of the NF instance (for example, geographic location, data center). |
Data Type: String Range: Valid location String |
nfServices.serviceInstanceId |
This is a mandatory parameter. Unique ID of the service instance within a given NF Instance. |
Data Type: String Range: UUID |
nfServices.serviceName |
This is a mandatory parameter. Name of the service provided by the NF. |
Data Type: String Range: Predefined service names |
nfServices.versions.expiry |
This is an optional parameter. Expiry date and time of the NF service. |
Data Type: DateTime Range: ISO 8601 timestamp or null |
nfServices.versions.apiFullVersion |
This is a mandatory parameter. Full version number of the API as specified in clause 4.3.1 of 3GPP 29.501. |
Data Type: String Range: x.y.z (for example, 1.0.0) |
nfServices.versions.apiVersionInUri |
This is a mandatory parameter. Version of the service instance to be used in the URI for accessing the API (for example, "v1"). |
Data Type: String Range: Version String (for example, v1) |
nfServices.scheme |
This is a mandatory parameter. Communication scheme (for example, HTTP, HTTPS). |
Data Type: String(UriScheme) Range: http, https |
nfServices.nfServiceStatus |
This is a mandatory parameter. Status of the NF Service Instance |
Data Type: String Range: REGISTERED, UNREGISTERED |
nfServices.fqdn |
This is an optional parameter. Fully Qualified Domain Name of the service endpoint. |
Data Type: String Range: Valid domain String |
nfServices.interPlmnFqdn |
This is a conditional parameter. If the NF service needs to be discoverable by other NFs in a different PLMN, then an FQDN that is used for inter PLMN routing as specified in 3GPP 1 23.003 [12] may be registered with the NRF. A change of this attribute shall result in triggering a "NF_PROFILE_CHANGED" notification from NRF towards subscribing NFs located in a different PLMN, but the new value shall be notified as a change in the "fqdn" attribute. |
Data Type: String or null Range: Valid domain String or null |
nfServices.ipEndPoints.ipv4Address |
This is an optional parameter. IPv4 address of the service endpoint. |
Data Type: String Range: Valid IPv4 address |
nfServices.ipEndPoints.transport |
This is an optional parameter. Transport protocol used by the service (for example, TCP). |
Data Type: String Range: TCP, UDP |
nfServices.ipEndPoints.port |
This is an optional parameter. Port number for the service endpoint. |
Data Type: Integer Range: 1-65535 |
nfServices.allowedNfTypes |
This is an optional parameter. Type of the NFs allowed to access the service instance. The absence of this attribute indicates that any NF type is allowed to access the service instance. A change of this attribute shall not trigger a "NF_PROFILE_CHANGED" notification from NRF, and this attribute shall not be included in profile change notifications to subscribed NFs. |
Data Type: Array of Strings Range: Valid NF types |
nfServices.priority |
This is an optional parameter. Priority (relative to other services of the same type) in the range of 0-65535, to be used for NF Service selection; lower values indicate a higher priority. The NRF may overwrite the received priority value when exposing an NFProfile to the NRF Discovery service. |
Data Type: Integer Range: 0-65535 |
nfServices.capacity |
This is an optional parameter. Static capacity information in the range of 0-65535, expressed as a weight relative to other services of the same type. |
Data Type: Integer Range: 0-65535 |
nfServices.load |
This is an optional parameter. Dynamic load information, ranging from 0 to 100, indicates the current load percentage of the NF Service. |
Data Type: Integer Range: 0-100 |
nrfProfileList
Configuration Example
PUT Request
curl -L -X PUT 'http://ocnssf-nsconfig.ocnssf:8080/nssf/nf-common-component/v1/nrf-client-nfmanagement/nfProfileList' -H 'Content-Type: application/json' -d '<JsonRequestBody>'
[
{
"nfInstanceId": "9faf1bbc-6e4a-4454-a507-aef01a101a01",
"nfType": "NSSF",
"nfStatus": "REGISTERED",
"fqdn": "ocnssf-nsgateway.ocnssf.svc",
"priority": 1,
"capacity": 1,
"load": 2,
"plmnList": [
{
"mcc": "310",
"mnc": "14"
}
],
"locality": "rcnltxekloc1",
"nfServices": [
{
"serviceInstanceId": "92d59bfc-e5d6-47f5-a26b-3a03facdebcc",
"serviceName": "nnssf-nsselection",
"versions": [
{
"expiry": null,
"apiFullVersion": "1.0.0",
"apiVersionInUri": "v1"
}
],
"scheme": "http",
"nfServiceStatus": "REGISTERED",
"fqdn": "ocnssf1-ingress-gateway.ocnssf.svc",
"interPlmnFqdn": null,
"ipEndPoints": [
{
"ipv4Address": "10.224.45.178",
"transport": "TCP",
"port": 80
}
],
"allowedNfTypes": [
"AMF",
"NSSF"
],
"priority": 1,
"capacity": 1,
"load": 2
},
{
"serviceInstanceId": "d33728cd-6e21-434b-bc5a-ed69bc612377",
"serviceName": "nnssf-nssaiavailability",
"versions": [
{
"expiry": null,
"apiFullVersion": "1.0.0",
"apiVersionInUri": "v1"
}
],
"scheme": "http",
"nfServiceStatus": "REGISTERED",
"fqdn": "ocnssf2-ingress-gateway.ocnssf.svc",
"interPlmnFqdn": null,
"ipEndPoints": [
{
"ipv4Address": "10.224.45.179",
"transport": "TCP",
"port": 80
}
],
"allowedNfTypes": [
"AMF",
"NSSF"
],
"priority": 1,
"capacity": 1,
"load": 2
}
]
}
]