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