3 NSSF REST Specifications

This chapter provides information about REST specifications used in Oracle Communications Oracle Communication Cloud Native Core Network Selection Slice Function (NSSF).

NSSF can be configured using Helm configurations, REST APIs, and Cloud Native Core (CNC) Console. The NSSF deployment configurations are performed during NSSF installation using Helm, and a few configurations are modified using REST APIs. REST configurations can also be performed using the Cloud Native Core (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.

3.1 AMF Set

AMF Set is a mandatory Managed Object (MO). It contains information on supported AMF Sets per PLMN and their salience. This MO can also be configured automatically with default 0 salience by configuring NSI Profile. The operator must ensure that the salience of AMF Sets in a PLMN is not the same. If more than one AMF set supports an NSI, the set with the lowest salience is picked.

  • Request_Type: POST
  • URL: http://{apiRoot}/nnssf-configuration/v1/amfset
  • REST message sample - AMF Set
  • Content-Type: application/json
  • Initiated By: API Invoker

AMF Set Supported REST APIs

An operator can configure AMF Set by following the information provided in the table below. The supported operations are POST, GET, DELETE, and PUT. The following table provides information about the REST APIs supported by the AMF Set Managed Object:

Table 3-1 AMF Set - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/amfset Create an AMF Set

Data Type: amfset

HTTP Method: POST

/nnssf-configuration/v1/amfset Read all AMF Sets

Data Type: amfset

HTTP Method: GET

/nnssf-configuration/v1/amfset/{setId} Update an AMF Set

Data Type: amfset

HTTP Method: PUT

/nnssf-configuration/v1/amfset/{setId} Read an AMF Set

Data Type: amfset

HTTP Method: GET

/nnssf-configuration/v1/amfset/{setId} Delete a AMF Set

Data Type: amfset

HTTP Method: DELETE

Request or Response Body Parameters

The AMF Set Managed Object is mandatory. It comprises the MCC (Mobile Country Code), MNC (Mobile Network Code), AMF Region ID, AMF Set ID and AMF Pointer. This AMF Set contains information on supported AMF Sets per PLMN and their salience. This Managed Object can also be configured automatically with default 0 salience by configuring NSI-Profile.

Table 3-2 AMF Set - Parameters

Parameter Description Details
regionId This is a mandatory parameter.

Region ID of the target AMF list.

Data Type: String

setId This is a mandatory parameter.

Set ID of the target AMF list.

Data Type: String

mcc This is a mandatory parameter.

Mobile Country Code.

Data Type: String

mnc This is a mandatory parameter.

Mobile Network Code.

Data Type: String

salience This is an optional parameter.

Order of importance (higher salience, more important). Default value is 0.

Data Type: String

Supported Response Codes

Table 3-3 Supported Response Codes

Code Description
201 AMF Set configured successfully
400 Bad Request

Examples

The following example shows how an AMF Set is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/amfset -H 'Content-Type: application/json' -d '{ "regionId": "01","setId":
      "101","plmnId": { "mcc": "100","mnc": "101" }, "salience": 1
    }'
Example of the Request Body
The following snippet shows an example of the request body:
{
    "regionId": "01",
    "setId": "101",
    "plmnId": {
        "mcc": "100",
        "mnc": "101"
    },
    "salience": 1
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "regionId": "01",
    "setId": "101",
    "plmnId": {
        "mcc": "100",
        "mnc": "101"
    },
    "salience": 1
}

3.2 Nss Rules

Nss Rules is a mandatory Managed Object. It maps SNSSAI+TAI+AMF-ID to the Network Slice Instance. If TOD is enabled, it adds in slice selection based on TOD. NSS Rules are policy rules which allow the operator to ALLOW or REJECT a request for a Network Slice Selection request, and if allowed, then map to a Network Slice.

  • Request_Type: POST
  • URL: http://{apiRoot}/nnssf-configuration/v1/nssrules
  • REST message sample - Nss Rules
  • Content-Type: application/json
  • Initiated By: API Invoker

Nss Rules - Supported REST APIs

The operator can configure Nss Rules by following the information provided in the table below. The supported operations are POST, GET, DELETE, and PUT. The following table provides information about the REST APIs supported by the Nss Rules Managed Object:

Table 3-4 Nss Rules - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/nssrules Get all NssRules.

Data Type: array(NssRule)

HTTP Method: GET

/nnssf-configuration/v1/nssrules Create a network slice selection rule

Data Type: NssRule

HTTP Method: POST

/nnssf-configuration/v1/nssrules/{name} Read a network slice selection rule

Data Type: NssRule

HTTP Method: GET

/nnssf-configuration/v1/nssrules/{name} Delete a network slice selection rule

Data Type: NssRule

HTTP Method: DELETE

/nnssf-configuration/v1/nssrules/{name} Update a network slice selection rule

Data Type: NssRule

HTTP Method: PUT

Nss Rules - Dependencies

To configure Nss Rules Managed Object, configure the following Managed Objects as a pre-requisite:

  • Nssai Auth: An Auth with Grant "Allowed" encompassing range of TACs, default for PLMN, or a single matching TAC with rule is mandatory.
  • Nsi Profile: Profile name being used in rule must be configured.
  • Time Profile: If the rule is to return different profiles based on time of the day, then configuring the time profile is mandatory.

Request or Response Body Parameters

The Nss Rules Managed Object enables the configuration of policy rules. It allows an operator to allow, reject, or associate a Network slice based on NSSAI (SST and SD), PLMN (MCC and MNC), TAC, and AMF_ID. The operator can configure salience value to prioritize one rule over other.

Table 3-5 Nss Rules - Parameters

Parameter Description Details
name This is a mandatory parameter.

It contains Network Slice Selection Rule Name.

Data Type: String

amfId This is an optional parameter.

It contains AMF Identifier.

Data Type: String

plmnId This is a mandatory parameter.

It contains Public Land Mobile Network ID (MCC:MNC).

Data Type: String

tac This is a conditional parameter.

It contains Tracking Area Code (TAC).

Data Type: String

tacrange This is a conditional parameter.

Either tac or tacrange would be present. If both are not present, or if tac is null, then the rule corresponds to the PLMN.

Data Type: TacRange

snssai This is a mandatory parameter.

It contains Single Network Slice Selection Assistance Information.

Data Type: Snssai

salience This is an optional parameter.

It contains the order of importance (higher salience, more important).

Data Type: Integer

behavior This is a mandatory parameter.

It contains the behavior of the parameter. To know more, see Behavior section of the Primitive Tables.

Data Type: String

Supported Response Codes

Table 3-6 Supported Response Codes

Code Description
201 NSS Rules configured successfully
400 Bad Request
403 Forbidden
409 Request conflict
406 Not Acceptable client error

Examples

The following example shows how an NSS Rules is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/nssrules/ -H 'Content-Type: application/json' -d '{"name": "IR-RULE-1","plmnId":{"mcc": "100","mnc": "101"},"tac": "100001","snssai":{"sst": 1,"sd": "EABB01"},"salience": "0","behavior":{"accessType": "3GPP_ACCESS","nsiProfiles": [{"name": "NSI-PROFILE-1"}]}}'
Example of the Request Body
The following snippet shows an example of the request body:
{
    "name": "TACRANGE-RULE-1",
    "amfId": "12345678-abcd-efAB-CDEF-123456789012",
    "plmnId": {
        "mcc": "100",
        "mnc": "101"
    },
    "tac": null,
    "tacrange": {
        "starttac": "100000",
        "endtac": "200000"
    },
    "snssai": {
        "sst": "1",
        "sd": "EABB01"
    },
    "salience": "1",
    "behavior": {
        "accessType": "3GPP_ACCESS",
        "nsiProfiles": [
            {
                "name": "NSI-PROFILE-1",
                "salience": 1
            }
        ]
    }
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "name": "TACRANGE-RULE-1",
    "amfId": "12345678-abcd-efAB-CDEF-123456789012",
    "plmnId": {
        "mcc": "100",
        "mnc": "101"
    },
    "tacrange": {
        "starttac": "100000",
        "endtac": "200000"
    },
    "snssai": {
        "sst": 1,
        "sd": "EABB01"
    },
    "salience": 1,
    "behavior": {
        "accessType": "3GPP_ACCESS",
        "nsiProfiles": [
            {
                "name": "NSI-PROFILE-1",
                "salience": 1
            }
        ]
    }
}

3.3 Time Profile

Time profile is a conditional configuration only configured if TOD is enabled. This MO consists of time spans used to create a separate policy based on the time of day.

  • Request_Type: POST
  • URL: http://host:port/nnssf-configuration/v1/timeprofiles
  • REST message sample - Time Profiles
  • Content-Type: application/json
  • Initiated By: API Invoker

Time Profile - Supported REST APIs

The operator can configure Time Profiles by following the information provided in the table below. The supported operations are POST, GET, DELETE, and PUT. The following table provides information about the REST APIs supported by the Time Profile Managed Object.

Table 3-7 Time Profile - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/timeprofiles Create a time profile

Data Type: TimeProfile

HTTP Method: POST

/nnssf-configuration/v1/timeprofiles Read all time profiles

Data Type: array(TimeProfile)

HTTP Method: GET

/nnssf-configuration/v1/timeprofiles/{name} Read a time profile by name

Data Type: TimeProfile

HTTP Method: GET

/nnssf-configuration/v1/timeprofiles/{name} Delete a time profile by name

Data Type: TimeProfile

HTTP Method: DELETE

/nnssf-configuration/v1/timeprofiles/{name} Update a time profile by name.

If Time profile with name not found, return 404

Immutable Param: name

Mutable Param: Start date, End date, Days of week, timespan(s)

Data Type: TimeProfile

HTTP Method: PUT

Time Profile - Dependencies

This Managed Object is not dependent on other Managed Objects. Hence, configuration of any other Managed Objects is not a pre-requisite to configuring Time Profile.

Note:

It is applicable only when "Time of the Day Based Network Slice Instance Selection" feature is enabled. For for information, see Time of the Day Based Network Slice Instance Selection section in Oracle Communications Cloud Native Core, Network Slice Selection Function User Guide.

Request or Response Body Parameters

The Time Profile Managed Object enables the configuration of time or date based slice selection policies. This allows an operator to create a Time Profile and associate it to a network slice when creating a NSS Rule Managed Object.

Table 3-8 Time Profile - Parameters

Parameter Description Details
name This is a mandatory parameter.

Time Profile Name.

Data Type: String

startDate This is a mandatory parameter.

Date in the format of yy-mm-dd.

Data Type: Date

endDate This is a mandatory parameter.

Date in the format of yy-mm-dd.

Data Type: Date

daysOfWeek This is an optional parameter.

See Enumerations section.

Data Type: array(Daysofweek)

timespans This is an optional parameter.

See Primitive Tables section.

Data Type: array(TimeSpan)

Supported Response Codes

Table 3-9 Supported Response Codes

Code Description
201 NSS Rules configured successfully
400 Bad Request

Examples

The following example shows how an Time Profile is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/timeprofiles -H 'Content-Type: application/json' -d '{ "name": "WEEKDAY-BUSY", "startDate": "2021-09-10", "endDate": "2025-12-31", "daysOfWeek": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY" ], "timeSpans": [ { "startTime": "07:00:00", "endTime": "45:00:00" }, { "startTime": "17:00:00", "endTime": "22:00:00" } ] }'
Example of the Request Body
The following snippet shows an example of the request body:
{
    "name": "WEEKDAY-BUSY",
    "startDate": "2021-09-10",
    "endDate": "2025-12-31",
    "daysOfWeek": 
    [
        "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"
    ],
    "timeSpans":
    [
        {
            "startTime": "07:00:00",
            "endTime": "45:00:00"
        },
        {
            "startTime": "17:00:00",
            "endTime": "22:00:00"
        }
    ]
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "name": "WEEKDAY-BUSY",
    "startDate": "2021-09-10",
    "endDate": "2025-12-31",
    "daysOfWeek": [
        "MONDAY",
        "TUESDAY",
        "WEDNESDAY",
        "THURSDAY",
        "FRIDAY"
    ],
    "timeSpans": [
        {
            "startTime": "07:00:00",
            "endTime": "45:00:00"
        },
        {
            "startTime": "17:00:00",
            "endTime": "22:00:00"
        }
    ]
}

3.4 Configured NSSAI

Configured NSSAI is a mandatory Managed Object. It signifies default configured NSSAI per PLMN. NSSF enables operator to configure default SNSSAI per TAC also.

  • Request_Type: POST
  • URL:
  • http://{apiRoot}/nnssf-configuration/v1/configuredsnssais
  • REST message sample - Configured S-NSSAIs
  • Content-Type: application/json
  • Initiated by: API Invoker

Configured NSSAIs - Supported REST APIs

The operator can configure Configured NSSAIs by following the information provided in the table below. The supported operations are POST, GET, DELETE, and PUT. The following table provides information about the REST APIs supported by the Configured NSSAIs Managed Object:

Table 3-10 Configured NSSAIs - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/configuredsnssais Create a configured NSSAI.

Data Type: array(ConfiguredNssai)

HTTP Method: POST

/nnssf-configuration/v1/configuredsnssais Read all configured NSSAIs.

Data Type: array(ConfiguredNssai)

HTTP Method: GET

/nnssf-configuration/v1/configuredsnssais/{mcc}-{mnc}

If combination of AmfId, MCC, MNC, TAC is not found, then responds with 404

Mutable parameters: Snssai List, Salience

Immutable parameters: AMF-Id , MCC, MNC, TAC

Data Type: ConfiguredNssai

HTTP Method: PUT

/nnssf-configuration/v1/configuredsnssais/{mcc}-{mnc}

Per AMF + TAI configured NSSAI

Per TAI configured NSSAI

Per PLMN configured NSSAI

Data Type:

ConfiguredNssai

ConfiguredNssai

array(ConfiguredNssai)

HTTP Method: GET

/nnssf-configuration/v1/configuredsnssais/{mcc}-{mnc}

Delete a configured NSSAI.

Data Type: ConfiguredNssai

HTTP Method: DELETE

/nnssf-configuration/v1/configuredsnssais/{mcc}-{mnc}-{sst}-{sd} Delete a configured NSSAI.

Data Type: ConfiguredNssai

HTTP Method: DELETE

ConfiguredNssai - Dependencies

To configure ConfiguredNssai Managed Object, you need to first configure the following Managed Objects as a prerequisite:

  • NssaiAuth: A default PLMN level Auth with grant ALLOWED.
  • NSSRule: A default PLMN level Rule with AMF_ID as null (No dependency on AMF).

Request or Response Body Parameters

The Configured NSSAIs Managed Object enables the configuration of default NSSAI based on one or more of the following parameters: PLMN, TAC, and AMF-ID. The operator can configure default behavior when none of the rules match and UE has set default indication flag to true.

Table 3-11 Configured NSSAIs - Parameters

Parameter Description Details
plmnid This is a mandatory parameter.

Public Land Mobile Network ID (MCC:MNC).

Data Type: plmnid

nssai This is a mandatory parameter.

See Primitive Table section.

Data Type: array(Snssai)

Supported Response Codes

Table 3-12 Supported Response Codes

Code Description
201 NSS Rules configured successfully
400 Bad Request
403 Forbidden
404 Not Found
406 Not Acceptable client error

Examples

The following example shows how an Configured NSSAI is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/configuredsnssais -H 'Content-Type: application/json' -d '{ "plmn": { "mcc": "100", "mnc": "101" }, "nssai": [ { "sst": 1, "sd": "EABB01" } ] }'
Example of the Request Body
The following snippet shows an example of the request body:
{
    "plmn": {
        "mcc": "100",
        "mnc": "101"
    },
    "nssai": [
        {
            "sst": 1,
            "sd": "EABB01"
        }
    ]
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "plmn": {
        "mcc": "100",
        "mnc": "101"
    },
    "nssai": [
        {
            "sst": 1,
            "sd": "EABB01"
        }
    ]
}

3.5 NSSAI Auth

NSSAI Auth is a mandatory Managed Object. It consists of network slice, TAI and Grant value. The configuration signifies a mapping of allowed and restricted S-NSSAI per TAI.

  • Request_Type: POST
  • URL: http://localhost:5755/nnssf-configuration/v1/nssaiauth/
  • REST message sample - NSSAI Auth
  • Initiated by: API Invoker

NSSAI Auth - Supported REST APIs

An operator can configure NSSAI Auth by following the information provided in the table below. The supported operations are POST, GET, and DELETE. The following table provides information about the REST APIs supported by the NSSAI Auth Managed Object.

Table 3-13 NSSAI Auth - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/nssaiauth Create an NSSAIAuth Profile.

Data Type: NssaiAuth

HTTP Method: POST

nnssf-configuration/v1/nssaiauth/ Return all configured NssaiAuth Managed Objects

Data Type: array(NssaiAuth)

HTTP Method: GET

nnssf-configuration/v1/nssaiauth/{name} Returns an NssaiAuth Managed Object if present with the name

Data Type: NssaiAuth

HTTP Method: GET

nnssf-configuration/v1/nssaiauth/{name} Updates an NssaiAuth Managed Object if present with the name

Data Type: NssaiAuth

HTTP Method: PUT

/nnssf-configuration/v1/nssaiauth/{name} Delete an NssaiAuth Managed Object if a Managed Object with name is found.

Data Type: NssaiAuth

HTTP Method: DELETE

NSSAI Auth - Dependencies

This Managed Object is not dependent on other Managed Objects. Hence, configuration of any other Managed Objects is not a prerequisite to configure NSSAI Auth.

Request or Response Body Parameters

The NSSAI Auth Managed Object enables the configuration of network slice authentication rules by configuring Grant status (Allowed_PLMN, Rejected_PLMN, or Rejected_TAC) for S-NSSAI on a per TAI basis.

Table 3-14 NSSAI Auth - Parameters

Parameter Description Details
name This is a mandatory parameter.

Network Slice Authentication Rule Name.

Data Type: String

plmnId This is a mandatory parameter.

Public Land Mobile Network ID (MCC:MNC).

Data Type: plmnid

tac This is a conditional parameter.

Tracking Area Code.

Data Type: String

tacrange This is a conditional parameter.

Range of TAC represented by starttac and endtac. Either tac or tacrange would be present. If both are not present, then Auth corresponds to PLMN.

Data Type: TacRange

snssai This is a mandatory parameter.

Single Network Slice Selection Assistance Information.

Data Type: Snssai

grant This is a mandatory parameter.

Whether the requested s-NSSAI is allowed or restricted.

Data Type: Grant

Supported Response Codes

Table 3-15 Supported Response Codes

Code Description
201 NSS Rules configured successfully
400 Bad Request
403 Forbidden
409 Request conflict
406 Not Acceptable client error

Examples

The following example shows how an NSSAI Auth is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/nssaiauth/ -H 'Content-Type: application/json' -d '{ "name": "NSSAI-AUTH-1", "plmnId": { "mcc": "100", "mnc": "101" }, "tac": null, "tacrange": { "starttac": "100000", "endtac": "200000" }, "snssai": { "sst":"1", "sd":"EABB01" }, "grant": "ALLOWED" }'
Example of the Request Body
The following snippet shows an example of the request body:
{
    "name": "NSSAI-AUTH-1",
    "plmnId":
    {
        "mcc": "100",
        "mnc": "101"
    },
    "tac": null,
    "tacrange":
    {
        "starttac": "100000",
        "endtac": "200000"
    },
    "snssai": 
    {
        "sst":"1",
        "sd":"EABB01"
    },
    "grant": "ALLOWED"
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "name": "NSSAI-AUTH-1",
    "plmnId":
    {
        "mcc": "100",
        "mnc": "101"
    },
    "tacrange":
    {
        "starttac": "100000",
        "endtac": "200000"
    },
    "snssai": 
    {
        "sst":"1",
        "sd":"EABB01"
    },
    "grant": "ALLOWED"
}

3.6 AMF Resolutions

AMF Resolutions is a conditional Managed Object, only configured if subscription to NRF helm parameter (nsconfig.nrf.subscription) is not set. AMF Resolutions enables operator to configure mapping candidate AMF list to a Target AMF set ID and Region ID. If a subscription to NRF is set, this MO is auto-populated.

  • Request_Type: POST
  • URL: http: //{apiRoot}/nnssf-configuration/v1/amfresolutions
  • REST message sample - AMF Resolutions
  • Content-Type: application/json
  • Initiated By: API Invoker

AMF Resolutions - Supported REST APIs

An operator can configure AMF Resolutions by following the information provided in the table below. The supported operations are POST and GET. The following table provides information about the REST APIs supported by the AMF Resolutions Managed Object:

Table 3-16 AMF Resolutions - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/amfresolutions Get all AMFs for all set-ids

Data Type: array(AmfResolution)

HTTP Method: GET

/nnssf-configuration/v1/amfresolutions Create a AMF Resolutions

Data Type: AmfResolution

HTTP Method: POST

/nnssf-configuration/v1/amfresolutions/{set_id} Get all AMFs inside the set-id

Data Type: AmfResolution

HTTP Method: GET

AMF Resolutions -Dependencies

This Managed Object is not dependent on other Managed Objects. Hence, configuration of any other Managed Objects is not a prerequisite to configure AMF Resolution.

Request or Response Body Parameters

The AMF Resolutions Managed Object enables the configuration of mapping list of candidate AMFs to a pair of Target AMF set ID and Region ID. The operator can provide a static candidate AMF list. This configuration is used in cases where customer has disabled discovery service with NRF.

Table 3-17 AMF Resolutions - Parameters

Attribute Description Details
regionId This is a mandatory parameter.

Region ID of the target AMF list.

Data Type: Integer

setId This is a mandatory parameter.

Set ID of the target AMF list.

Data Type: Integer

mcc This is a mandatory parameter.

Mobile Country Code.

Data Type: String

mnc This is a mandatory parameter.

Mobile Network Code.

Data Type: String

candidateAmfList This is a conditional parameter.

For more information, see in the Primitive Table section .

Note: This parameter is mandatory,non empty, and valid when NRF subscription is not enabled. When NRF subscription is enabled, this parameter is ignored.

Data Type: Array(candidateAmf)

Supported Response Codes

Table 3-18 Supported Response Codes

Code Description
201 NSS Rules configured successfully
400 Bad Request
404 Not Found
406 Not Acceptable client error

Examples

The following example shows how an AMF Resolution is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/amfresolutions/ -H 'Content-Type: application/json' -d '{ "regionId": "01", "setId": "102", "mcc":"100", "mnc":"101", "candidateAmfList": [ { "instanceId": "12345678-abcd-efAB-CDEF-123456789012" }, { "instanceId": "12345678-abcd-efAB-CDEF-123456789013" } ] } }'
Example of the Request Body
The following snippet shows an example of the request body:
{
    "regionId": "01",
    "setId": "102",
    "mcc":"100",
    "mnc":"101",
    "candidateAmfList":
    [
        {
            "instanceId": "12345678-abcd-efAB-CDEF-123456789012"
        },
        {
            "instanceId": "12345678-abcd-efAB-CDEF-123456789013"
        }
    ]
}
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "regionId": "01",
    "setId": "102",
    "mcc":"100",
    "mnc":"101",
    "candidateAmfList":
    [
        {
            "instanceId": "12345678-abcd-efAB-CDEF-123456789012"
        },
        {
            "instanceId": "12345678-abcd-efAB-CDEF-123456789013"
        }
    ]
}

3.7 NSI Profiles

NSI Profiles is a mandatory Managed Object. It consists of network slice name and ID and NRF-ID, Target AMF lists associated with the slice. This Managed Object contains network slice information.

Note:

If Target AMF sets associated with network slice is not present then NSSF adds AMF set with salience 0.
  • Request_Type: POST
  • URL: http://{apiRoot}/nnssf-configuration/v1/nsiprofiles
  • REST message sample - NSI Profiles
  • Content-Type: application/json
  • Initiated By: API Invoker

NSI Profiles - Supported REST APIs

Customer can configure NSI Profiles by following the information provided in the table below. The supported operations are POST, GET, DELETE, and PUT. The following table provides information about the REST APIs supported by the NSI Profiles Managed Object:

Table 3-19 NSI Profiles - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/nsiprofiles Returns array of all configured NsiProfiles.

Data Type: array(NsiProfile)

HTTP Method: GET

/nnssf-configuration/v1/nsiprofiles Create a network slice instance profile.

Data Type: NsiProfile

HTTP Method: POST

/nnssf-configuration/v1/nsiprofiles/{name} Read a network slice instance profile. Returns NsiProfile based on name

Data Type: NsiProfile

HTTP Method: GET

/nnssf-configuration/v1/nsiprofiles/{name} Delete a network slice instance profile based on name.

Data Type: NsiProfile

HTTP Method: DELETE

/nnssf-configuration/v1/nsiprofiles/{name} Update a network slice instance profile based on name.

Immutable parameter is nsiId. Rest all parameters, except name, are mutable.

It performs a Delete and POST only for targetamfsets.

Data Type: NsiProfile

HTTP Method: PUT

NSI Profiles - Dependencies

This Managed Object is not dependent on other Managed Objects. Hence, configuration of any other Managed Objects is not a prerequisite to configure NSI Profile.

Request or Response Body Parameters

The NSI Profiles Managed Object enables the configuration of Network Slice Instance profile. The operator can create a Network Slice by providing a name, id, NRF URL corresponding to the slice, and a list of Target AMF sets that support this slice.

Table 3-20 NSI Profiles - Parameters

Parameter Description Details
name This is a mandatory parameter.

Contains Network Slice Instance Profile Name.

Data Type: String

nrfUri This is a mandatory parameter.

Contains URI of the Network Repository Function.

Note: It must contain NRF NF Discovery URL.

Data Type: String

nsiId This is an optional parameter.

Contains Network Slice Instance Identifier.

Data Type: String

targetAmfSets This is a mandatory parameter.

Contains an array of TargetAmfSet (see Primitive Tables section).

Data Type: Array (TargetAmfSet)

nrfNfMgtUri This is a mandatory parameter.

Contains Management URI of Network Resource Function.

Data Type: String

nrfAccessTokenUri This is a mandatory parameter.

Contains Access Token URI of Network Resource Function.

Data Type: String

plmn This is a mandatory parameter.

Contains PLMN ID.

Data Type: plmn

Supported Response Codes

Table 3-21 Supported Response Codes

Code Description
201 NSS Rules configured successfully
400 Bad Request

Examples

The following example shows how an NSI Profiles is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/nsiprofiles/ -H 'Content-Type: application/json' -d '{ "name": "NSI-PROFILE-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": "SLICE1", "plmn": { "mcc": "100", "mnc": "101" }, "targetAmfSets": [ { "regionId": "01", "setId": "101", "salience": "1" }, { "regionId": "01", "setId": "102", "salience": "2" } ] }'
Example of the Request Body
The following snippet shows an example of the request body:
{
    "name": "NSI-PROFILE-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": "SLICE1",
    "plmn": {
        "mcc": "100",
        "mnc": "101"
    },
    "targetAmfSets": [
        {
            "regionId": "01",
            "setId": "101",
            "salience": "1"
        },
        {
            "regionId": "01",
            "setId": "102",
            "salience": "2"
        }
    ]
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "name": "NSI-PROFILE-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": "SLICE1",
    "plmn": {
        "mcc": "100",
        "mnc": "101"
    },
    "targetAmfSets": [
        {
            "regionId": "01",
            "setId": "101",
            "salience": 1
        },
        {
            "regionId": "01",
            "setId": "102",
            "salience": 2
        }
    ]
}

3.8 GrSite

GrSite is a conditional Managed Object. It is relevant only if georedundancy (global.grEnabled) is enabled. GrSite enables the customer to configure GrSite information.

  • Request_Type: POST/GET /PUT
  • URL: http: //{apiRoot}/nnssf-configuration/v1/grsites
  • REST message sample - GrSite
  • Content-Type: application/json
  • Initiated By: API Invoker

GrSite - Supported REST APIs

Configure the GrSite by using the information provided in the table below. The supported operations are POST, GET, and PUT. The following table provides information about the REST APIs supported by the GrSite Managed Object:

Table 3-22 GrSite - 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/{NfId} It returns GrSite for corresponding nfId.

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/{nfId}:{rank} It updates the rank of GrSite.

Data Type: Integer(GrSite)

HTTP Method: PUT

/nnssf-configuration/v1/grsites/{NfId} It deletes GrSite for corresponding nfId.

Data Type: GrSite

HTTP Method: DELETE

GrSite - 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 Georedundency is enabled in the helm options. For for information about enabling Georedundency, see Two-site Georedundency section in Oracle Communications Cloud Native Core, Network Slice Selection Function User Guide.

Request or Response Body Parameters

The GrSite 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.

Note:

Currently, NSSF supports only two-site Georedundency.

Table 3-23 GrSite - Parameters

Parameter Description Details
nfId This is a mandatory parameter.

Contains the instance ID of the site NSSF.

Data Type: String

Rank This is a mandatory parameter.

Contains the priority given by the operator to related georedundant sites.

Data Type: Integer

grSiteStatus This is a mandatory parameter.

It contains the current status of the site or NSSF.

Note: To know more about data type, see enumerations section.

Range: ACTIVE or DOWN

Data Type: enum

Supported Response Codes

Table 3-24 Supported Response Codes

Code Description
201 NSS Rules configured successfully
400 Bad Request
406 Not Acceptable client error

Examples

The following example shows how a GrSite is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/grsites/ -H 'Content-Type: application/json' -d '{ "rank": "1", "nfId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b1", "grSiteStatus":"ACTIVE" }'
Example of the Request Body
The following snippet shows an example of the request body:
{
    "rank": "1",
    "nfId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b1",
    "grSiteStatus":"ACTIVE"
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "rank": "1",
    "nfId": "fe7d992b-0541-4c7d-ab84-c6d70b1b01b1",
    "grSiteStatus":"ACTIVE"
}

3.9 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: POST/GET/DELETE
  • URL: http://{apiRoot}/nnssf-configuration/v1/upload
  • 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 POST, GET, and DELETE. Perform the configuration of ConfigurationBackup Managed Object as follows:

Table 3-25 NSSF Backup and Restore Configurations - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/upload Restores a backup configuration.

Data Type: ConfigBackup

HTTP Method: POST

/nnssf-configuration/v1/backup Returns backup of existing configuration.

Data Type: ConfigBackup

HTTP Method: GET

/nnssf-configuration/v1/deleteConfiguration/ Deletes existing configuration.

HTTP Method: DEL

Request or Response Body Parameters

ConfigurationBackup consists of list of following parameters:

Table 3-26 NSSF Backup and Restore Configurations - Parameters

Parameter Description Details
nsiProfileDto

If NsiProfile is configured, this parameter contains list of NsiProfile

Data Type: Array(NsiProfile)

nssaiAuthDto

If NssaiAuth is configured, this parameter contains list of NssaiAuth

Data Type: Array(NssaiAuth)

timeProfileDto

If TimeProfile is configured, this parameter contains list of TimeProfile

Data Type: Array(TimeProfile)

nssRuleDto

If NssRule is configured, this parameter contains list of NssRule

Data Type: Array(NssRule)

amfResolutionDto

If AmfResolution is configured, this parameter contains list of AmfResolution

Data Type: Array(AmfResolution)

configuredSnssaiDto

If ConfiguredSnssai is configured, this parameter contains list of ConfiguredSnssai

Data Type: Array(ConfiguredSnssai)

Supported Response Codes

Table 3-27 Supported Response Codes

Code Description
201 AMF Set configured successfully
400 Bad Request
404 Not Found
406 Not Acceptable client error

Examples

The following example shows how ConfigurationBackup is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST http://{{host}}:{{port}}/nnssf-configuration/v1/upload -H 'Content-Type: application/json' -d '{ "nsiProfileDto": [ { "name": "NSI-PROFILE-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": "SLICE1", "plmn": { "mcc": "100", "mnc": "101" }, "targetAmfSets": [ { "regionId": "01", "setId": "101", "salience": 1 } ] }, { "name": "NSI-PROFILE-2", "nrfUri": "https://nrf.slice2.oracle.com/nnrf-disc/v1", "nrfNfMgtUri": "https://nrf.slice2.oracle.com/nnrf-nfm/v1", "nrfAccessTokenUri": "https://nrf.slice2.oracle.com/oauth2/token", "nsiId": "SLICE2", "plmn": { "mcc": "100", "mnc": "101" }, "targetAmfSets": [ { "regionId": "01", "setId": "102", "salience": 2 } ] } ], "nssaiAuthDto": [ { "name": "NSSAI_AUTH_1", "plmnId": { "mcc": "100", "mnc": "101" }, "tacrange": { "starttac": null, "endtac": null }, "snssai": { "sst": 1, "sd": "EABB01" }, "grant": "ALLOWED" }, { "name": "NSSAI_AUTH_3", "plmnId": { "mcc": "100", "mnc": "101" }, "tacrange": { "starttac": null, "endtac": null }, "snssai": { "sst": 1, "sd": "EABB03" }, "grant": "ALLOWED" }, { "name": "NSSAI_AUTH_4", "plmnId": { "mcc": "100", "mnc": "101" }, "tacrange": { "starttac": null, "endtac": null }, "snssai": { "sst": 1, "sd": "EABB04" }, "grant": "ALLOWED" }, { "name": "NSSAI_AUTH_9", "plmnId": { "mcc": "100", "mnc": "101" }, "tacrange": { "starttac": null, "endtac": null }, "snssai": { "sst": 1, "sd": "EABB09" }, "grant": "ALLOWED" }, { "name": "NSSAI_AUTH_10", "plmnId": { "mcc": "100", "mnc": "101" }, "tacrange": { "starttac": null, "endtac": null }, "snssai": { "sst": 1, "sd": "EABB10" }, "grant": "ALLOWED" }, { "name": "NSSAI_AUTH_11", "plmnId": { "mcc": "100", "mnc": "101" }, "tacrange": { "starttac": null, "endtac": null }, "snssai": { "sst": 1, "sd": "EABB16" }, "grant": "ALLOWED" } ], "configuredSnssaiDto": [ { "plmn": { "mcc": "100", "mnc": "101" }, "nssai": [ { "sst": 1, "sd": "EABB03" }, { "sst": 1, "sd": "EABB01" }, { "sst": 1, "sd": "EABB04" }, { "sst": 1, "sd": "EABB09" }, { "sst": 1, "sd": "EABB10" }, { "sst": 1, "sd": "EABB16" } ] } ], "timeProfileDto": [ { "name": "WEEKDAY_BUSY", "startDate": "2019-01-01", "endDate": "2025-12-31", "daysOfWeek": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY" ], "timeSpans": [ { "startTime": "07:00:00", "endTime": "12:00:00" } ] }, { "name": "DEFAULT", "startDate": "2019-01-01", "endDate": "2099-12-31", "daysOfWeek": [], "timeSpans": [] }, { "name": "DELETE_TIME_PROFILE", "startDate": "2019-01-01", "endDate": "2099-12-31", "daysOfWeek": [], "timeSpans": [] } ], "nssRuleDto": [ { "name": "IR-RULE-1", "amfId": "12345678-abcd-efAB-CDEF-123456789012", "plmnId": { "mcc": "100", "mnc": "101" }, "snssai": { "sst": 1, "sd": "EABB01" }, "salience": 0, "behavior": { "accessType": "3GPP_ACCESS", "nsiProfiles": [ { "name": "NSI-PROFILE-1", "timeProfile": "WEEKDAY_BUSY", "salience": 1 } ] } }, { "name": "IR-RULE-2", "amfId": "12345678-abcd-efAB-CDEF-123456789013", "plmnId": { "mcc": "100", "mnc": "101" }, "snssai": { "sst": 1, "sd": "EABB09" }, "salience": 0, "behavior": { "accessType": "3GPP_ACCESS", "nsiProfiles": [] } }, { "name": "IR-RULE-3", "amfId": "12345678-abcd-efAB-CDEF-123456789014", "plmnId": { "mcc": "100", "mnc": "101" }, "snssai": { "sst": 1, "sd": "EABB03" }, "salience": 0, "behavior": { "accessType": "3GPP_ACCESS", "nsiProfiles": [] } }, { "name": "IR-RULE-4", "amfId": "12345678-abcd-efAB-CDEF-123456789015", "plmnId": { "mcc": "100", "mnc": "101" }, "snssai": { "sst": 1, "sd": "EABB04" }, "salience": 0, "behavior": { "accessType": "3GPP_ACCESS", "nsiProfiles": [] } }, { "name": "IR-RULE-5", "amfId": "12345678-abcd-efAB-CDEF-123456789016", "plmnId": { "mcc": "100", "mnc": "101" }, "snssai": { "sst": 1, "sd": "EABB10" }, "salience": 0, "behavior": { "accessType": "3GPP_ACCESS", "nsiProfiles": [] } }, { "name": "IR-RULE-6", "amfId": "12345678-abcd-efAB-CDEF-123456789016", "plmnId": { "mcc": "100", "mnc": "101" }, "snssai": { "sst": 1, "sd": "EABB16" }, "salience": 0, "behavior": { "accessType": "3GPP_ACCESS", "nsiProfiles": [] } } ], "amfResolutionDto": [ { "regionId": "01", "setId": "101", "mcc": "100", "mnc": "101", "candidateAmfList": [ { "instanceId": "12345678-abcd-efAB-CDEF-123456789010" }, { "instanceId": "12345678-abcd-efAB-CDEF-123456789011" }, { "instanceId": "12345678-abcd-efAB-CDEF-123456789012" }, { "instanceId": "12345678-abcd-efAB-CDEF-123456789013" } ] } ] }'
Example of the Request Body of Configuration Upload
The following snippet shows an example of the request body:
{
    "nsiProfileDto": [
        {
            "name": "NSI-PROFILE-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": "SLICE1",
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "targetAmfSets": [
                {
                    "regionId": "01",
                    "setId": "101",
                    "salience": 1
                }
            ]
        },
        {
            "name": "NSI-PROFILE-2",
            "nrfUri": "https://nrf.slice2.oracle.com/nnrf-disc/v1",
            "nrfNfMgtUri": "https://nrf.slice2.oracle.com/nnrf-nfm/v1",
            "nrfAccessTokenUri": "https://nrf.slice2.oracle.com/oauth2/token",
            "nsiId": "SLICE2",
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "targetAmfSets": [
                {
                    "regionId": "01",
                    "setId": "102",
                    "salience": 2
                }
            ]
        }
    ],
    "nssaiAuthDto": [
        {
            "name": "NSSAI_AUTH_1",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB01"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_3",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB03"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_4",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB04"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_9",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB09"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_10",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB10"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_11",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB16"
            },
            "grant": "ALLOWED"
        }
    ],
    "configuredSnssaiDto": [
        {
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "nssai": [
                {
                    "sst": 1,
                    "sd": "EABB03"
                },
                {
                    "sst": 1,
                    "sd": "EABB01"
                },
                {
                    "sst": 1,
                    "sd": "EABB04"
                },
                {
                    "sst": 1,
                    "sd": "EABB09"
                },
                {
                    "sst": 1,
                    "sd": "EABB10"
                },
                {
                    "sst": 1,
                    "sd": "EABB16"
                }
            ]
        }
    ],
    "timeProfileDto": [
        {
            "name": "WEEKDAY_BUSY",
            "startDate": "2019-01-01",
            "endDate": "2025-12-31",
            "daysOfWeek": [
                "MONDAY",
                "TUESDAY",
                "WEDNESDAY",
                "THURSDAY",
                "FRIDAY"
            ],
            "timeSpans": [
                {
                    "startTime": "07:00:00",
                    "endTime": "12:00:00"
                }
            ]
        },
        {
            "name": "DEFAULT",
            "startDate": "2019-01-01",
            "endDate": "2099-12-31",
            "daysOfWeek": [],
            "timeSpans": []
        },
        {
            "name": "DELETE_TIME_PROFILE",
            "startDate": "2019-01-01",
            "endDate": "2099-12-31",
            "daysOfWeek": [],
            "timeSpans": []
        }
    ],
    "nssRuleDto": [
        {
            "name": "IR-RULE-1",
            "amfId": "12345678-abcd-efAB-CDEF-123456789012",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB01"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": [
                    {
                        "name": "NSI-PROFILE-1",
                        "timeProfile": "WEEKDAY_BUSY",
                        "salience": 1
                    }
                ]
            }
        },
        {
            "name": "IR-RULE-2",
            "amfId": "12345678-abcd-efAB-CDEF-123456789013",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB09"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-3",
            "amfId": "12345678-abcd-efAB-CDEF-123456789014",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB03"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-4",
            "amfId": "12345678-abcd-efAB-CDEF-123456789015",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB04"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-5",
            "amfId": "12345678-abcd-efAB-CDEF-123456789016",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB10"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-6",
            "amfId": "12345678-abcd-efAB-CDEF-123456789016",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB16"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        }
    ],
    "amfResolutionDto": [
        {
            "regionId": "01",
            "setId": "101",
            "mcc": "100",
            "mnc": "101",
            "candidateAmfList": [
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789010"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789011"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789012"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789013"
                }
            ]
        }
    ]
}
Example of the Response Body of Configuration Upload
The following example shows the contents of the response body in JSON format.
{
    "nsiProfile": [
        {
            "name": "NSI-PROFILE-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": "SLICE1",
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "targetAmfSets": [
                {
                    "regionId": "01",
                    "setId": "101",
                    "salience": 1
                }
            ]
        },
        {
            "name": "NSI-PROFILE-2",
            "nrfUri": "https://nrf.slice2.oracle.com/nnrf-disc/v1",
            "nrfNfMgtUri": "https://nrf.slice2.oracle.com/nnrf-nfm/v1",
            "nrfAccessTokenUri": "https://nrf.slice2.oracle.com/oauth2/token",
            "nsiId": "SLICE2",
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "targetAmfSets": [
                {
                    "regionId": "01",
                    "setId": "102",
                    "salience": 2
                }
            ]
        }
    ],
    "nssaiAuth": [
        {
            "name": "NSSAI_AUTH_1",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB01"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_3",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB03"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_4",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB04"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_9",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB09"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_10",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB10"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_11",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB16"
            },
            "grant": "ALLOWED"
        }
    ],
    "timeProfile": [
        {
            "name": "WEEKDAY_BUSY",
            "startDate": "2019-01-01",
            "endDate": "2025-12-31",
            "daysOfWeek": [
                "MONDAY",
                "TUESDAY",
                "WEDNESDAY",
                "THURSDAY",
                "FRIDAY"
            ],
            "timeSpans": [
                {
                    "startTime": "07:00:00",
                    "endTime": "12:00:00"
                }
            ]
        },
        {
            "name": "DEFAULT",
            "startDate": "2019-01-01",
            "endDate": "2099-12-31",
            "daysOfWeek": [],
            "timeSpans": []
        },
        {
            "name": "DELETE_TIME_PROFILE",
            "startDate": "2019-01-01",
            "endDate": "2099-12-31",
            "daysOfWeek": [],
            "timeSpans": []
        }
    ],
    "nssRule": [
        {
            "name": "IR-RULE-1",
            "amfId": "12345678-abcd-efAB-CDEF-123456789012",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB01"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": [
                    {
                        "name": "NSI-PROFILE-1",
                        "timeProfile": "WEEKDAY_BUSY",
                        "salience": 1
                    }
                ]
            }
        },
        {
            "name": "IR-RULE-2",
            "amfId": "12345678-abcd-efAB-CDEF-123456789013",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB09"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-3",
            "amfId": "12345678-abcd-efAB-CDEF-123456789014",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB03"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-4",
            "amfId": "12345678-abcd-efAB-CDEF-123456789015",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB04"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-5",
            "amfId": "12345678-abcd-efAB-CDEF-123456789016",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB10"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-6",
            "amfId": "12345678-abcd-efAB-CDEF-123456789016",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB16"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        }
    ],
    "amfResolution": [
        {
            "regionId": "01",
            "setId": "101",
            "mcc": "100",
            "mnc": "101",
            "candidateAmfList": [
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789010"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789011"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789012"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789013"
                }
            ]
        }
    ],
    "configuredSnssai": [
        {
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "nssai": [
                {
                    "sst": 1,
                    "sd": "EABB01"
                },
                {
                    "sst": 1,
                    "sd": "EABB03"
                },
                {
                    "sst": 1,
                    "sd": "EABB04"
                },
                {
                    "sst": 1,
                    "sd": "EABB09"
                },
                {
                    "sst": 1,
                    "sd": "EABB10"
                },
                {
                    "sst": 1,
                    "sd": "EABB16"
                }
            ]
        }
    ]
}
Example of the Response Body of Configuation Backup
The following example shows the contents of the response body in JSON format:
{
    "plmnLevelNsiProfileDto": [],
    "nsiProfileDto": [
        {
            "name": "NSI-PROFILE-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": "SLICE1",
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "targetAmfSets": [
                {
                    "regionId": "01",
                    "setId": "101",
                    "salience": 1
                }
            ]
        },
        {
            "name": "NSI-PROFILE-2",
            "nrfUri": "https://nrf.slice2.oracle.com/nnrf-disc/v1",
            "nrfNfMgtUri": "https://nrf.slice2.oracle.com/nnrf-nfm/v1",
            "nrfAccessTokenUri": "https://nrf.slice2.oracle.com/oauth2/token",
            "nsiId": "SLICE2",
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "targetAmfSets": [
                {
                    "regionId": "01",
                    "setId": "102",
                    "salience": 2
                }
            ]
        }
    ],
    "nssaiAuthDto": [
        {
            "name": "NSSAI_AUTH_1",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB01"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_3",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB03"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_4",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB04"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_9",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB09"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_10",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB10"
            },
            "grant": "ALLOWED"
        },
        {
            "name": "NSSAI_AUTH_11",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "tacrange": {
                "starttac": null,
                "endtac": null
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB16"
            },
            "grant": "ALLOWED"
        }
    ],
    "timeProfileDto": [
        {
            "name": "WEEKDAY_BUSY",
            "startDate": "2019-01-01",
            "endDate": "2025-12-31",
            "daysOfWeek": [
                "MONDAY",
                "TUESDAY",
                "WEDNESDAY",
                "THURSDAY",
                "FRIDAY"
            ],
            "timeSpans": [
                {
                    "startTime": "07:00:00",
                    "endTime": "12:00:00"
                }
            ]
        },
        {
            "name": "DEFAULT",
            "startDate": "2019-01-01",
            "endDate": "2099-12-31",
            "daysOfWeek": [],
            "timeSpans": []
        },
        {
            "name": "DELETE_TIME_PROFILE",
            "startDate": "2019-01-01",
            "endDate": "2099-12-31",
            "daysOfWeek": [],
            "timeSpans": []
        }
    ],
    "nssRuleDto": [
        {
            "name": "IR-RULE-1",
            "amfId": "12345678-abcd-efAB-CDEF-123456789012",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB01"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": [
                    {
                        "name": "NSI-PROFILE-1",
                        "timeProfile": "WEEKDAY_BUSY",
                        "salience": 1
                    }
                ]
            }
        },
        {
            "name": "IR-RULE-2",
            "amfId": "12345678-abcd-efAB-CDEF-123456789013",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB09"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-3",
            "amfId": "12345678-abcd-efAB-CDEF-123456789014",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB03"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-4",
            "amfId": "12345678-abcd-efAB-CDEF-123456789015",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB04"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-5",
            "amfId": "12345678-abcd-efAB-CDEF-123456789016",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB10"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        },
        {
            "name": "IR-RULE-6",
            "amfId": "12345678-abcd-efAB-CDEF-123456789016",
            "plmnId": {
                "mcc": "100",
                "mnc": "101"
            },
            "snssai": {
                "sst": 1,
                "sd": "EABB16"
            },
            "salience": 0,
            "behavior": {
                "accessType": "3GPP_ACCESS",
                "nsiProfiles": []
            }
        }
    ],
    "amfResolutionDto": [
        {
            "regionId": "01",
            "setId": "101",
            "mcc": "100",
            "mnc": "101",
            "candidateAmfList": [
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789010"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789011"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789012"
                },
                {
                    "instanceId": "12345678-abcd-efAB-CDEF-123456789013"
                }
            ]
        }
    ],
    "configuredSnssaiDto": [
        {
            "plmn": {
                "mcc": "100",
                "mnc": "101"
            },
            "nssai": [
                {
                    "sst": 1,
                    "sd": "EABB03"
                },
                {
                    "sst": 1,
                    "sd": "EABB01"
                },
                {
                    "sst": 1,
                    "sd": "EABB04"
                },
                {
                    "sst": 1,
                    "sd": "EABB09"
                },
                {
                    "sst": 1,
                    "sd": "EABB10"
                },
                {
                    "sst": 1,
                    "sd": "EABB16"
                }
            ],
            "plmnId": "100-101"
        }
    ],
    "amfSetDto": [],
    "mappingofNssaisDto": []
}

3.10 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.

Table 3-28 NRF-Client- Parameters

Parameter Description Details
fqdn This is a mandatory parameter.

Data Type: Array(FQDN)

load This is a mandatory parameter.

Data Type: Integer

nfType This is a mandatory parameter.

Data Type: String

amfInfo This is a mandatory parameter.

Data Type: Array

amfSetId This is a mandatory parameter.

Data Type: Integer

guamiList This is a mandatory parameter.

Data Type: Array

amfId This is a mandatory parameter.

Data Type: String

plmnId This is a mandatory parameter.

Data Type: Array

amfRegionId This is a mandatory parameter.

Data Type: String

capacity This is a mandatory parameter.

Data Type: Integer

locality This is a mandatory parameter.

Data Type: String

nfStatus This is a mandatory parameter.

Data Type: String

plmnList This is a mandatory parameter.

Data Type: Array(plmnId)

priority This is a mandatory parameter.

Data Type: Integer

nfServices This is a mandatory parameter.

Data Type: Array(String)

scheme This is a mandatory parameter.

Data Type: String

versions This is a mandatory parameter.

Data Type: Array(String)

expiry This is a mandatory parameter.

Data Type: String

apiFullVersion This is a mandatory parameter.

Data Type: String

apiVersionInUri This is a mandatory parameter.

Data Type: String

ipEndPoints This is a mandatory parameter.

Data Type: Array

port This is a mandatory parameter.

Data Type: Integer

transport This is a mandatory parameter.

Data Type: String

ipv4Address This is a mandatory parameter.

Data Type: String

serviceName This is a mandatory parameter.

Data Type: String

interPlmnFqdn This is a mandatory parameter.

Data Type: String

allowedNfTypes This is a mandatory parameter.

Data Type: Array

nfServiceStatus This is a mandatory parameter.

Data Type: String

serviceInstanceId This is a mandatory parameter.

Data Type: String

nfInstanceId This is a mandatory parameter.

Data Type: String

ipv4Addresses This is a mandatory parameter.

Data Type: Array

ipv6Addresses This is a mandatory parameter.

Data Type: Array

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

3.11 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-30 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

Range: true or false

Default Value: true

commonCfgClient.pollingInterval This is a mandatory parameter.

It is used to set polling interval in Milliseconds.

Data Type: Integer

Default Value: 5000

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-31 Runtime Log Level Update - Supported REST APIs

URI Description Details
http://<nssf-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://<nssf-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://<nssf-url>/nssf/nf-common-component/v1/<microservice-name>/logging To update the Logging information of the microservice.

Data Type: array

HTTP Method: PUT

3.12 PLMN Level NSI Profiles

PLMN Level NSI Profiles is a mandatory Managed Object. It is Default Network Slice Instance Profile per PLMN and consists of network slice ID, NRF-ID, and PLMN.

It is important to configure Rules based on NsAvailability Update, as all autoconfigured NSS_Rules are dependent on PLMN Level NSI Profiles. If this configuration is not provided for autoconfiguration of the Rules, the NsAvailability update will fail.

Note:

Without this configuration, PDU establishment can fail for autoconfigured Auth.
  • Request_Type: POST
  • URL: http://{apiRoot}/nnssf-configuration/v1/plmnlevelnsiprofiles
  • REST message sample - PLMN Level NSI Profile
  • Content-Type: application/json
  • Initiated by: API Invoker

PLMN Level NSI Profile - Supported REST APIs

The operator can configure PLMN Level NSI Profile by following the information provided in the table below. The supported operations are POST, GET, DELETE, and PUT. The following table provides information about the REST APIs supported by the PLMN Level NSI Profile Managed Object:

Table 3-32 PLMN Level NSI Profile - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/plmnlevelnsiprofiles Returns PLMNLevelNsiProfile for all supported PLMNs.

Data Type: array(PLMNLevelNsiProfile)

HTTP Method: GET

/nnssf-configuration/v1/plmnlevelnsiprofiles/{mcc-mnc} Create a generic fall back NSI profile (Nrf, Network slice instance).

Data Type: PLMNLevelNsiProfile

HTTP Method: POST

/nnssf-configuration/v1/plmnlevelnsiprofiles/{mcc-mnc} Get PLMNLevelNsiProfile for supported PLMN.

Data Type: PLMNLevelNsiProfile

HTTP Method: GET

/nnssf-configuration/v1/plmnlevelnsiprofiles/{mcc-mnc} Delete PLMNLevelNsiProfile for supported PLMN.

Data Type: PLMNLevelNsiProfile

HTTP Method: DELETE

/nnssf-configuration/v1/plmnlevelnsiprofiles/{mcc-mnc} Update PLMNLevelNsiProfile for supported PLMN.

Data Type: PLMNLevelNsiProfile

HTTP Method: PUT

PLMN Level NSI Profiles- Dependencies

This managed object is not dependent on other managed objects.

Request or Response Body Parameters

The PLMN Level NSI Profiles managed object enables the configuration of Network Slice Instance profile. This allows an operator to create an Network Slice, by providing a name, id, NRF URL corresponding to the slice and list of Target AMF sets which support this slice.

Table 3-33 PLMN Level NSI Profiles - Parameters

Parameter Description Details
nrfUri This is a mandatory parameter.

Contains URI of the Network Repository Function.

Note: It must contain NRF NF Discovery URL.

Data Type: String

nsiId This is an optional parameter.

Contains Network Slice Instance Identifier.

Data Type: String

nrfNfMgtUri This is a mandatory parameter.

Contains Management URI of Network Resource Function.

Data Type: String

nrfAccessTokenUri This is an optional parameter.

Contains Access Token URI of Network Resource Function.

Data Type: String

plmn This is a mandatory parameter.

Contains PLMN ID.

Data Type: plmn

plmnid This is a mandatory parameter.

Contains value of MCC and MNC in the format "MCC"-"MNC"

Data Type: String

Supported Response Codes

Table 3-34 Supported Response Codes

Code Description
201 API invoker onboarded successfully
400 Bad Request

Examples

The following example shows how a PLMN Level NSI Profile is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl --http2-prior-knowledge -X POST 'http://{{host}}:{{port}}/nnssf-configuration/v1/plmnlevelnsiprofiles/' --header 'Content-Type: application/json' --data-raw '{"name":"NSI-PROFILE-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":"SLICE1","plmn":{"mcc":"100","mnc":"101"}}'
Example of the Request Body
The following snippet shows an example of the request body:
{
  "name": "NSI-PROFILE-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": "SLICE1",
  "plmn": {
    "mcc": "100",
    "mnc": "101"
  }
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
  "name": "NSI-PROFILE-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": "SLICE1",
  "plmn": {
    "mcc": "100",
    "mnc": "101"
  }
}

3.13 MappingOfNssai

MappingOfNssai is a mandatory Managed Object to support request mapping. It is added to support EPS to 5G handover and contains mapping of 4G S-NSSAI to 5G S-NSSAI for a given PLMN.

Note:

This Managed Object must be configured for each supported PLMN.
  • Request_Type: POST
  • URL: http://{apiRoot}/nnssf-configuration/v1/mappingOfNssais
  • REST message sample - MappingOfNssai
  • Content-Type: application/json
  • Initiated by: API Invoker

MappingOfNssai - Supported REST APIs

The operator can configure MappingOfNssai by following the information provided in the table below. The supported operations are POST, GET, DELETE, and PUT. The following table provides information about the REST APIs supported by the MappingOfNssai managed object:

Table 3-35 MappingOfNssai - Supported REST APIs

URI Description Details
/nnssf-configuration/v1/mappingOfNssais/{mcc-mnc} Returns MappingOfNssais for the PLMN in request parameters.

Data Type: array(MappingOfNssai

HTTP Method: GET

/nnssf-configuration/v1/mappingOfNssais Returns MappingOfNssais for all supported PLMNs.

Data Type: array(PlmnMappingOfNssai)

HTTP Method: GET

/nnssf-configuration/v1/mappingOfNssais Create MappingOfNssais for the PLMN.

Data Type: array(MappingOfNssai)

HTTP Method: POST

/nnssf-configuration/v1/mappingOfNssais/{mcc-mnc} Update MappingOfNssais for the PLMN.

Data Type: array(MappingOfNssai)

HTTP Method: PUT

/nnssf-configuration/v1/mappingOfNssais/{mcc-mnc} Delete MappingOfNssais for the PLMN.

Data Type: NA

HTTP Method: DELETE

/nnssf-configuration/v1/mappingOfNssais{mcc=?mnc=?homeSnssai=? } Delete a MappingOfNssai for homeSnssai the PLMN.

Data Type: NA

HTTP Method: DELETE

/nnssf-configuration/v1/mappingOfNssais{mcc=?mnc=?homeSnssai=? } Update ServingSnssai for homeSnssai the PLMN.

Data Type: MappingOfNssai

HTTP Method: PUT

/nnssf-configuration/v1/mappingOfNssaisrequestparam Create MappingOfNssais for the PLMN.

Data Type: array(PlmnMappingOfNssai )

HTTP Method: POST

/nnssf-configuration/v1/mappingOfNssaisrequestparam Returns MappingOfNssais for all supported PLMNs.

Data Type: array(PlmnMappingOfNssai )

HTTP Method: GET ALL

/nnssf-configuration/v1/mappingOfNssaisrequestparam{mcc=?mnc=?} Returns MappingOfNssais for the PLMN in request parameters.

Data Type: array(MappingOfNssai )

HTTP Method: GET

/nnssf-configuration/v1/mappingOfNssaisrequestparam{mcc=?mnc=?} Update MappingOfNssais for the PLMN.

Data Type: array(MappingOfNssai)

HTTP Method: PUT

/nnssf-configuration/v1/mappingOfNssaisrequestparam{mcc=?mnc=?} Delete MappingOfNssais for the PLMN.

Data Type: NA

HTTP Method: DELETE

MappingOfNssai- Dependencies

This managed object is not dependent on other managed objects.

Request or Response Body Parameters

Table 3-36 MappingOfNssai - Parameters

Parameter Description Details
mcc This is a mandatory parameter.

Specifies Mobile Country Code.

Data Type: Integer

mnc This is a mandatory parameter.

Specifies Mobile Network Code.

Data Type: Integer

mappingOfNssai This is a mandatory parameter.

Specifies an array of MappingOfSnssai.

For more information, see MappingOfSnssai.

Data Type: array(MappingOfSnssai)

Supported Response Codes

Table 3-37 Supported Response Codes

Code Description
201 API invoker onboarded successfully
400 Bad Request (PLMN not supported, request parameter is not valid)

Examples

The following example shows how a MappingOfNssai is onboarded by submitting a POST request on the REST resource using cURL:

cURL Command:
curl -v --http2-prior-knowledge -X POST "http://{{host}}:{{port}}/nnssf-configuration/v1/mappingOfNssais" -H 'Content-Type: application/json' -d '{"plmnId": {"mcc": "100","mnc": "102"},"mappingOfNssai": [{"servingSnssai": {"sst": 1,"sd": "EABB01"},"homeSnssai": {"sst": 7,"sd": "EABB07"}},{"servingSnssai": {"sst": 2,"sd": "EABB02"},"homeSnssai": {"sst": 8,"sd": "EABB08"}}]}'
Example of the Request Body
The following snippet shows an example of the request body:
{
        "plmnId": {
            "mcc": "100",
            "mnc": "102"
        },
        "mappingOfNssai": [
            {
                "servingSnssai": {
                    "sst": 1,
                    "sd": "EABB01"
                },
                "homeSnssai": {
                    "sst": 7,
                    "sd": "EABB07"
                }
            },
            {
                "servingSnssai": {
                    "sst": 2,
                    "sd": "EABB02"
                },
                "homeSnssai": {
                    "sst": 8,
                    "sd": "EABB08"
                }
            }
        ]
}
Example of the Response Body
The following example shows the contents of the response body in JSON format:
{
    "plmnId": {
        "mcc": "100",
        "mnc": "102"
    },
    "mappingOfNssai": [
        {
            "servingSnssai": {
                "sst": 1,
                "sd": "EABB01"
            },
            "homeSnssai": {
                "sst": 7,
                "sd": "EABB07"
            }
        },
        {
            "servingSnssai": {
                "sst": 2,
                "sd": "EABB02"
            },
            "homeSnssai": {
                "sst": 8,
                "sd": "EABB08"
            }
        }
    ]
}