Commit a17d8a74 authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

Add 3gpp specs/code cleanup

parent 74de28ca
openapi: 3.0.0
info:
version: 1.0.2
title: Nausf_SoRProtection Service
description: |
AUSF SoR Protection Service.
© 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
servers:
- url: '{apiRoot}/nausf-sorprotection/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
security:
- {}
- oAuth2ClientCredentials:
- nausf-sorprotection
paths:
/{supi}/ue-sor:
post:
parameters:
- name: supi
in: path
description: Identifier of the UE
required: true
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SorInfo'
required: true
responses:
'200':
description: SorSecurityInfo
content:
application/json:
schema:
$ref: '#/components/schemas/SorSecurityInfo'
'503':
description: Service Unavailable
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: '{nrfApiRoot}/oauth2/token'
scopes:
nausf-sorprotection: Access to the Nausf_SoRProtection API
schemas:
SorInfo:
type: object
properties:
steeringContainer:
$ref: '#/components/schemas/SteeringContainer'
ackInd:
$ref: '#/components/schemas/AckInd'
required:
- ackInd
SorSecurityInfo:
type: object
properties:
sorMacIausf:
$ref: '#/components/schemas/SorMac'
counterSor:
$ref: '#/components/schemas/CounterSor'
sorXmacIue:
$ref: '#/components/schemas/SorMac'
required:
- sorMacIausf
- counterSor
SteeringContainer:
oneOf:
- type: array
items:
$ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SteeringInfo'
minItems: 1
- $ref: '#/components/schemas/SecuredPacket'
SteeringInfo:
type: object
properties:
plmnId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
accessTechList:
type: array
items:
$ref: '#/components/schemas/AccessTech'
minItems: 1
required:
- plmnId
SorMac:
type: string
pattern: '^[A-Fa-f0-9]{32}$'
CounterSor:
type: string
pattern: '^[A-Fa-f0-9]{4}$'
AckInd:
type: boolean
SecuredPacket:
type: string
format: base64
AccessTech:
anyOf:
- type: string
enum:
- NR
- EUTRAN_IN_WBS1_MODE_AND_NBS1_MODE
- EUTRAN_IN_NBS1_MODE_ONLY
- EUTRAN_IN_WBS1_MODE_ONLY
- UTRAN
- GSM_AND_ECGSM_IoT
- GSM_WITHOUT_ECGSM_IoT
- ECGSM_IoT_ONLY
- CDMA_1xRTT
- CDMA_HRPD
- GSM_COMPACT
- type: string
externalDocs:
description: 3GPP TS 29.509 V15.3.0; 5G System; Authentication Server Services
url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509'
openapi: 3.0.0
info:
version: 1.1.0.alpha-1
title: AUSF API
description: |
AUSF UE Authentication Service.
© 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
servers:
- url: '{apiRoot}/nausf-auth/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501.
security:
- {}
- oAuth2ClientCredentials:
- nausf-auth
paths:
/ue-authentications:
post:
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationInfo'
required: true
responses:
'201':
description: UEAuthenticationCtx
content:
application/3gppHal+json:
schema:
$ref: '#/components/schemas/UEAuthenticationCtx'
headers:
Location:
description: 'Contains the URI of the newly created resource according to the structure: {apiRoot}/nausf-auth/v1/ue-authentications/{authCtxId}'
required: true
schema:
type: string
'400':
description: Bad Request from the AMF
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
'403':
description: Forbidden due to serving network not authorized
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
/ue-authentications/{authCtxId}/5g-aka-confirmation:
put:
parameters:
- name: authCtxId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ConfirmationData'
responses:
'200':
description: Request processed (EAP success or Failure)
content:
application/json:
schema:
$ref: '#/components/schemas/ConfirmationDataResponse'
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
/ue-authentications/{authCtxId}/eap-session:
post:
operationId: EapAuthMethod
parameters:
- name: authCtxId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EapSession'
responses:
'200':
description: Use to handle or close the EAP session
content:
application/json:
schema:
$ref: '#/components/schemas/EapSession'
application/3gppHal+json:
schema:
type: object
properties:
eapPayload:
$ref: '#/components/schemas/EapPayload'
_links:
type: object
description: 'URI : /{eapSessionUri}'
additionalProperties:
$ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema'
minProperties: 1
required:
- eapPayload
- _links
'400':
description: Bad Request
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
'500':
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: '{nrfApiRoot}/oauth2/token'
scopes:
nausf-auth: Access to Nausf_UEAuthentication API
schemas:
AuthenticationInfo:
type: object
properties:
supiOrSuci:
$ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/SupiOrSuci'
servingNetworkName:
$ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName'
resynchronizationInfo:
$ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ResynchronizationInfo'
pei:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
traceData:
$ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
udmGroupId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
routingIndicator:
type: string
pattern: '^[0-9]{1,4}$'
required:
- supiOrSuci
- servingNetworkName
UEAuthenticationCtx:
type: object
properties:
authType:
$ref: '#/components/schemas/AuthType'
5gAuthData:
oneOf:
- $ref: '#/components/schemas/Av5gAka'
- $ref: '#/components/schemas/EapPayload'
_links:
type: object
additionalProperties:
$ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema'
servingNetworkName:
$ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/ServingNetworkName'
required:
- authType
- 5gAuthData
- _links
Av5gAka:
type: object
required:
- rand
- hxresStar
- autn
properties:
rand:
$ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Rand'
hxresStar:
$ref: '#/components/schemas/HxresStar'
autn:
$ref: 'TS29503_Nudm_UEAU.yaml#/components/schemas/Autn'
ConfirmationData:
type: object
required:
- resStar
properties:
resStar:
$ref: '#/components/schemas/ResStar'
ConfirmationDataResponse:
type: object
properties:
authResult:
$ref: '#/components/schemas/AuthResult'
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
kseaf:
$ref: '#/components/schemas/Kseaf'
required:
- authResult
EapSession:
type: object
properties:
eapPayload:
$ref: '#/components/schemas/EapPayload'
kSeaf:
$ref: '#/components/schemas/Kseaf'
_links:
type: object
additionalProperties:
$ref: 'TS29571_CommonData.yaml#/components/schemas/LinksValueSchema'
authResult:
$ref: '#/components/schemas/AuthResult'
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
required:
- eapPayload
AuthResult:
type: string
enum:
- AUTHENTICATION_SUCCESS
- AUTHENTICATION_FAILURE
- AUTHENTICATION_ONGOING
EapPayload:
type: string
format: base64
description: contains an EAP packet
Kseaf:
type: string
pattern: '[A-Fa-f0-9]{64}'
ResStar:
type: string
pattern: '[A-Fa-f0-9]{32}'
nullable: true
HxresStar:
type: string
pattern: "[A-Fa-f0-9]{32}"
AuthType:
anyOf:
- type: string
enum:
- 5G_AKA
- EAP_AKA_PRIME
- EAP_TLS
- type: string
externalDocs:
description: 3GPP TS 29.509 V15.3.0; 5G System; 3GPP TS Authentication Server services.
url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.509
openapi: 3.0.0
info:
version: 1.0.1
title: Nausf_UPUProtection Service
description: |
AUSF UPU Protection Service.
© 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
servers:
- url: '{apiRoot}/nausf-upuprotection/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
security:
- {}
- oAuth2ClientCredentials:
- nausf-upuprotection
paths:
/{supi}/ue-upu:
post:
parameters:
- name: supi
in: path
description: Identifier of the UE
required: true
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpuInfo'
required: true
responses:
'200':
description: UpuSecurityInfo
content:
application/json:
schema:
$ref: '#/components/schemas/UpuSecurityInfo'
'503':
description: Service Unavailable
content:
application/problem+json:
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: '{nrfApiRoot}/oauth2/token'
scopes:
nausf-upuprotection: Access to the Nausf_UPUProtection API
schemas:
UpuInfo:
type: object
properties:
upuDataList:
type: array
items:
$ref: '#/components/schemas/UpuData'
minItems: 1
upuAckInd:
$ref: '#/components/schemas/UpuAckInd'
required:
- upuDataList
- upuAckInd
UpuSecurityInfo:
type: object
properties:
upuMacIausf:
$ref: '#/components/schemas/UpuMac'
counterUpu:
$ref: '#/components/schemas/CounterUpu'
upuXmacIue:
$ref: '#/components/schemas/UpuMac'
required:
- upuMacIausf
- counterUpu
UpuData:
type: object
properties:
secPacket:
$ref: 'TS29509_Nausf_SoRProtection.yaml#/components/schemas/SecuredPacket'
defaultConfNssai:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
minItems: 1
oneOf:
- required: [secPacket]
- required: [defaultConfNssai]
UpuMac:
type: string
pattern: '^[A-Fa-f0-9]{32}$'
CounterUpu:
type: string
pattern: '^[A-Fa-f0-9]{4}$'
UpuAckInd:
type: boolean
externalDocs:
description: 3GPP TS 29.509 V15.3.0; 5G System; Authentication Server Services
url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.509'
{
"modelPackage" : "oai.ausf.model",
"apiPackage" : "oai.ausf.api"
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment