A.2 Nnssf_NSSelection API

29.5313GPP5G SystemNetwork Slice Selection ServicesRelease 18Stage 3TS

openapi: 3.0.0

info:

version: ‘2.3.0-alpha.1’

title: ‘NSSF NS Selection’

description: |

NSSF Network Slice Selection Service.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

security:

– {}

– oAuth2ClientCredentials:

– nnssf-nsselection

servers:

– url: ‘{apiRoot}/nnssf-nsselection/v2’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501

externalDocs:

description: 3GPP TS 29.531 V18.1.0; 5G System; Network Slice Selection Services; Stage 3

url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.531/

paths:

/network-slice-information:

get:

summary: Retrieve the Network Slice Selection Information

tags:

– Network Slice Information (Document)

operationId: NSSelectionGet

parameters:

– name: nf-type

in: query

description: NF type of the NF service consumer

required: true

schema:

$ref: ‘TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType’

– name: nf-id

in: query

description: NF Instance ID of the NF service consumer

required: true

schema:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/NfInstanceId’

– name: slice-info-request-for-registration

in: query

description: Requested network slice information during Registration procedure

content:

application/json:

schema:

$ref: ‘#/components/schemas/SliceInfoForRegistration’

– name: slice-info-request-for-pdu-session

in: query

description: Requested network slice information during PDU session establishment procedure

content:

application/json:

schema:

$ref: ‘#/components/schemas/SliceInfoForPDUSession’

– name: slice-info-request-for-ue-cu

in: query

description: Requested network slice information during UE confuguration update procedure

content:

application/json:

schema:

$ref: ‘#/components/schemas/SliceInfoForUEConfigurationUpdate’

– name: home-plmn-id

in: query

description: PLMN ID of the HPLMN

content:

application/json:

schema:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/PlmnId’

– name: tai

in: query

description: TAI of the UE

content:

application/json:

schema:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Tai’

– name: supported-features

in: query

description: Features required to be supported by the NFs in the target slice instance

schema:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

responses:

‘200’:

description: OK (Successful Network Slice Selection)

content:

application/json:

schema:

$ref: ‘#/components/schemas/AuthorizedNetworkSliceInfo’

‘307’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/404’

‘406’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/406’

‘414’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/414’

‘429’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/500’

‘502’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/502’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

description: Unexpected error

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{nrfApiRoot}/oauth2/token’

scopes:

nnssf-nsselection: Access to the Nnssf_NSSelection API

schemas:

AuthorizedNetworkSliceInfo:

description: Contains the authorized network slice information

type: object

properties:

allowedNssaiList:

type: array

items:

$ref: ‘#/components/schemas/AllowedNssai’

minItems: 1

configuredNssai:

type: array

items:

$ref: ‘#/components/schemas/ConfiguredSnssai’

minItems: 1

targetAmfSet:

type: string

pattern: ‘^[0-9]{3}-[0-9]{2-3}-[A-Fa-f0-9]{2}-[0-3][A-Fa-f0-9]{2}$’

candidateAmfList:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/NfInstanceId’

minItems: 1

rejectedNssaiInPlmn:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

minItems: 1

rejectedNssaiInTa:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

minItems: 1

nsiInformation:

$ref: ‘#/components/schemas/NsiInformation’

supportedFeatures:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

nrfAmfSet:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’

nrfAmfSetNfMgtUri:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’

nrfAmfSetAccessTokenUri:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’

nrfOauth2Required:

type: object

description: >

Map indicating whether the NRF requires Oauth2-based authorization for accessing

its services. The key of the map shall be the name of an NRF service,

e.g. "nnrf-nfm" or "nnrf-disc"

additionalProperties:

type: boolean

minProperties: 1

targetAmfServiceSet:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/NfServiceSetId’

targetNssai:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

minItems: 1

nsagInfos:

type: array

items:

$ref: ‘#/components/schemas/NsagInfo’

minItems: 1

SubscribedSnssai:

description: Contains the subscribed S-NSSAI

type: object

required:

– subscribedSnssai

properties:

subscribedSnssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

defaultIndication:

type: boolean

subscribedNsSrgList:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/NsSrg’

minItems: 1

AllowedSnssai:

description: >

Contains the authorized S-NSSAI and optional mapped home S-NSSAI and

network slice instance information

type: object

required:

– allowedSnssai

properties:

allowedSnssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

nsiInformationList:

type: array

items:

$ref: ‘#/components/schemas/NsiInformation’

minItems: 1

mappedHomeSnssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

AllowedNssai:

description: >

Contains an array of allowed S-NSSAI that constitute the allowed NSSAI information

for the authorized network slice information

type: object

required:

– allowedSnssaiList

– accessType

properties:

allowedSnssaiList:

type: array

items:

$ref: ‘#/components/schemas/AllowedSnssai’

minItems: 1

accessType:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/AccessType’

NsiInformation:

description: >

Contains the API URIs of NRF services to be used to discover NFs/services,

subscribe to NF status changes and/or request access tokens within the selected

Network Slice instance and optional the Identifier of the selected Network Slice instance

type: object

required:

– nrfId

properties:

nrfId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’

nsiId:

$ref: ‘#/components/schemas/NsiId’

nrfNfMgtUri:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’

nrfAccessTokenUri:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’

nrfOauth2Required:

type: object

description: >

Map indicating whether the NRF requires Oauth2-based authorization for accessing

its services. The key of the map shall be the name of an NRF service,

e.g. "nnrf-nfm" or "nnrf-disc"

additionalProperties:

type: boolean

minProperties: 1

MappingOfSnssai:

description: Contains the mapping of S-NSSAI in the serving network and the value of the home network

type: object

required:

– servingSnssai

– homeSnssai

properties:

servingSnssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

homeSnssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

SliceInfoForRegistration:

description: Contains the slice information requested during a Registration procedure

type: object

properties:

subscribedNssai:

type: array

items:

$ref: ‘#/components/schemas/SubscribedSnssai’

minItems: 1

allowedNssaiCurrentAccess:

$ref: ‘#/components/schemas/AllowedNssai’

allowedNssaiOtherAccess:

$ref: ‘#/components/schemas/AllowedNssai’

sNssaiForMapping:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

minItems: 1

requestedNssai:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

minItems: 1

defaultConfiguredSnssaiInd:

type: boolean

default: false

mappingOfNssai:

type: array

items:

$ref: ‘#/components/schemas/MappingOfSnssai’

minItems: 1

requestMapping:

type: boolean

ueSupNssrgInd:

type: boolean

suppressNssrgInd:

type: boolean

nsagSupported:

type: boolean

default: false

SliceInfoForPDUSession:

description: Contains the slice information requested during PDU Session establishment procedure

type: object

required:

– sNssai

– roamingIndication

properties:

sNssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

roamingIndication:

$ref: ‘#/components/schemas/RoamingIndication’

homeSnssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

SliceInfoForUEConfigurationUpdate:

description: Contains the slice information requested during UE configuration update procedure

type: object

properties:

subscribedNssai:

type: array

items:

$ref: ‘#/components/schemas/SubscribedSnssai’

minItems: 1

allowedNssaiCurrentAccess:

$ref: ‘#/components/schemas/AllowedNssai’

allowedNssaiOtherAccess:

$ref: ‘#/components/schemas/AllowedNssai’

defaultConfiguredSnssaiInd:

type: boolean

requestedNssai:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

minItems: 1

mappingOfNssai:

type: array

items:

$ref: ‘#/components/schemas/MappingOfSnssai’

minItems: 1

ueSupNssrgInd:

type: boolean

suppressNssrgInd:

type: boolean

rejectedNssaiRa:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

minItems: 1

nsagSupported:

type: boolean

default: false

ConfiguredSnssai:

description: Contains the configured S-NSSAI(s) authorized by the NSSF in the serving PLMN and optional mapped home S-NSSAI

type: object

required:

– configuredSnssai

properties:

configuredSnssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

mappedHomeSnssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

NsagInfo:

description: Contains the association of NSAGs and S-NSSAI(s) along with the TA(s) within which the association is valid.

type: object

required:

– nsagIds

– snssaiList

properties:

nsagIds:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/NsagId’

minItems: 1

snssaiList:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

minItems: 1

taiList:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Tai’

minItems: 1

taiRangeList:

type: array

items:

$ref: ‘TS29510_Nnrf_NFManagement.yaml#/components/schemas/TaiRange’

minItems: 1

RoamingIndication:

description: Contains the indication on roaming

anyOf:

– type: string

enum:

– NON_ROAMING

– LOCAL_BREAKOUT

– HOME_ROUTED_ROAMING

– type: string

NsiId:

description: Contains the Identifier of the selected Network Slice instance

type: string