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.
Caution:
The operator must make NSSF healthy before making any configuration change for the changes to effect. NSSF is considered healthy when all its services are up and running.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. |
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: 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 only GrSite rank for the corresponding nfInstanceId. |
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 GrSites Configuration{
"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
- URL: http://{apiRoot}/nnssf-configuration/v1/allconfig
- Content-Type: application/json
- Initiated By: API Invoker
- Request_Type: DELETE
- URL: http://{apiRoot}/nnssf-configuration/v1/deleteConfiguration
- 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.
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-16 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-17 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-18 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-19 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-20 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-21 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-22 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-23 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-24 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-25 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-26 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-27 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 Purpose
This guide helps you to familiarize yourself with the Oracle Banking Retail Lending Servicing application. It gives an overview of the module and explains all the maintenances required for its smooth functioning. It also takes you through the different types of transactions that can be handled through this module.