Common Data

Common data types are applicable to several 5GC SBI API specifications as defined in 3GPP TS 29.571 [5] andshould be referenced from individual 5GC SBI API specifications.

OpenAPI

OpenAPI Version: 3.0.0

info

Version: '1.0.0'

Title: 'Common Data Types'

Description: 'Common Data Types for Service Based Interfaces '

externalDocs

Description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 15.2.0

URL: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.571/'

paths

{}

components

schemas

# Common Data Types for Generic usage definitiones as defined in subclause 5.2

# COMMON SIMPLE DATA TYPES

Binary

format: binary

Type: string

BinaryRm

format: binary

Type: string

nullable: true

Bytes

format: byte

Type: string

BytesRm

format: byte

Type: string

nullable: true

Date

format: date

Type: string

DateRm

format: date

Type: string

nullable: true

DateTime

format: date-time

Type: string

DateTimeRm

format: date-time

Type: string

nullable: true

DiameterIdentity

Type: string

Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'

DiameterIdentityRm

Type: string

Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'

nullable: true

Double

format: double

Type: number

DoubleRm

format: double

Type: number

nullable: true

DurationSec

Type: integer

DurationSecRm

Type: integer

nullable: true

Float

format: float

Type: number

FloatRm

format: float

Type: number

nullable: true

Int32

format: int32

Type: integer

Int32Rm

format: int32

Type: integer

nullable: true

Int64

Type: integer

format: int64

Int64Rm

format: int64

Type: integer

nullable: true

Ipv4Addr

Type: string

Pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$'

example: '198.51.100.1'

Ipv4AddrRm

Type: string

Pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$'

example: '198.51.100.1'

nullable: true

Ipv6Addr

Type: string

allOf:

- pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$'

- pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$'

example: '2001:db8:85a3::8a2e:370:7334'

Ipv6AddrRm

Type: string

allOf:

- pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$'

- pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$'

example: '2001:db8:85a3::8a2e:370:7334'

nullable: true

Ipv6Prefix

Type: string

allOf:

- pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$'

- pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$'

example: '2001:db8:abcd:12::0/64'

Ipv6PrefixRm

Type: string

allOf:

- pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$'

- pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$'

nullable: true

MacAddr48

Type: string

Pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$'

MacAddr48Rm

Type: string

Pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$'

nullable: true

SupportedFeatures

Type: string

Pattern: '^[A-Fa-f0-9]*$'

Uinteger

Type: integer

Minimum: 0

UintegerRm

Type: integer

Minimum: 0

nullable: true

Uint16

Type: integer

Minimum: 0

Maximum: 65535

Uint16Rm

Type: integer

Minimum: 0

Maximum: 65535

nullable: true

Uint32

format: int32

Type: integer

Minimum: 0

Uint32Rm

format: int32

Type: integer

Minimum: 0

nullable: true

Uint64

format: int64

Type: integer

Minimum: 0

Uint64Rm

format: int64

Type: integer

Minimum: 0

nullable: true

Uri

Type: string

UriRm

Type: string

nullable: true

VarUeId

Type: string

Pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$'

VarUeIdRm

Type: string

Pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$'

nullable: true

TimeZone

Type: string

TimeZoneRm

Type: string

nullable: true

# COMMON ENUMERATED DATA TYPES

PatchOperation

anyOf:

- type: string

enum:

- add

- copy

- move

- remove

- replace

- test

- type: string

UriScheme

anyOf:

- type: string

enum:

- http

- https

- type: string

ChangeType

anyOf:

- type: string

enum:

- ADD

- MOVE

- REMOVE

- REPLACE

- type: string

# COMMON STRUCTURED DATA TYPES

ProblemDetails

Type: object

Properties:

Type:

Reference: '#/components/schemas/Uri'

title:

Type: string

status:

Type: integer

detail:

Type: string

instance:

Reference: '#/components/schemas/Uri'

cause:

Type: string

invalidParams:

Type: array

Items:

Reference: '#/components/schemas/InvalidParam'

minItems: 1

Link

Type: object

Properties:

href:

Reference: '#/components/schemas/Uri'

LinkRm

Type: object

Properties:

href:

Reference: '#/components/schemas/Uri'

nullable: true

PatchItem

Type: object

Properties:

op:

Reference: '#/components/schemas/PatchOperation'

path:

Type: string

from:

Type: string

value:

nullable: true

Required:

- op

- path

LinksValueSchema

oneOf:

- type: array

Items:

Reference: '#/components/schemas/Link'

minItems: 1

- $ref: '#/components/schemas/Link'

SelfLink

Type: object

Properties:

self:

Reference: '#/components/schemas/Link'

Required:

- self

InvalidParam

Type: object

Properties:

param:

Type: string

reason:

Type: string

Required:

- param

ChangeItem

Type: object

Properties:

op:

Reference: '#/components/schemas/ChangeType'

path:

Type: string

from:

Type: string

origValue: {}

newValue: {}

Required:

- op

- path

NotifyItem

Type: object

Properties:

resourceId:

Reference: '#/components/schemas/Uri'

changes:

Type: array

Items:

Reference: '#/components/schemas/ChangeItem'

minItems: 1

ComplexQuery

oneOf:

- $ref: '#/components/schemas/Cnf'

- $ref: '#/components/schemas/Dnf'

Cnf

Type: object

Required:

- cnfUnits

Properties:

cnfUnits:

Type: array

Items:

Reference: '#/components/schemas/CnfUnit'

minItems: 1

Dnf

Type: object

Required:

- dnfUnits

Properties:

dnfUnits:

Type: array

Items:

Reference: '#/components/schemas/DnfUnit'

minItems: 1

CnfUnit

Type: object

Required:

- cnfUnit

Properties:

cnfUnit:

Type: array

Items:

Reference: '#/components/schemas/Atom'

minItems: 1

DnfUnit

Type: object

Required:

- dnfUnit

Properties:

dnfUnit:

Type: array

Items:

Reference: '#/components/schemas/Atom'

minItems: 1

Atom

Type: object

Required:

- attr

- value

Properties:

attr:

Type: string

value: {}

negative:

Type: boolean

# Data Types related to Subscription, Identification and Numbering as defined in subclause 5.3

# SIMPLE DATA TYPES

Dnn

Type: string

DnnRm

Type: string

nullable: true

Gpsi

Type: string

Pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$'

GpsiRm

Type: string

Pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$'

nullable: true

GroupId

Type: string

Pattern: '^[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$'

GroupIdRm

Type: string

Pattern: '^[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$'

nullable: true

Pei

Type: string

Pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$'

PeiRm

Type: string

Pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$'

nullable: true

Supi

Type: string

Pattern: '^(imsi-[0-9]{5,15}|nai-.+|.+)$'

SupiRm

Type: string

Pattern: '^(imsi-[0-9]{5,15}|nai-.+|.+)$'

nullable: true

NfInstanceId

Type: string

format: uuid

AmfId

Type: string

Pattern: '^[A-Fa-f0-9]{6}$'

RfspIndex

Type: integer

Minimum: 1

Maximum: 256

RfspIndexRm

Type: integer

Minimum: 1

Maximum: 256

nullable: true

NfGroupId

Type: string

# STRUCTURED DATA TYPES

Guami

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

amfId:

Reference: '#/components/schemas/AmfId'

Required:

- plmnId

- amfId

GuamiRm

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

amfId:

Reference: '#/components/schemas/AmfId'

Required:

- plmnId

- amfId

nullable: true

NetworkId

Type: object

Properties:

mnc:

Reference: '#/components/schemas/Mnc'

mcc:

Reference: '#/components/schemas/Mcc'

# Data Types related to 5G Network as defined in subclause 5.4

# SIMPLE DATA TYPES

ApplicationId

Type: string

ApplicationIdRm

Type: string

nullable: true

PduSessionId

Type: integer

Minimum: 0

Maximum: 255

Mcc

Type: string

Pattern: '^\d{3}$'

MccRm

Type: string

Pattern: '^\d{3}$'

nullable: true

Mnc

Type: string

Pattern: '^\d{2,3}$'

MncRm

Type: string

Pattern: '^\d{2,3}$'

nullable: true

Tac

Type: string

Pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)'

TacRm

Type: string

Pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)'

nullable: true

EutraCellId

Type: string

Pattern: '^[A-Fa-f0-9]{7}$'

EutraCellIdRm

Type: string

Pattern: '^[A-Fa-f0-9]{7}$'

nullable: true

NrCellId

Type: string

Pattern: '^[A-Fa-f0-9]{9}$'

NrCellIdRm

Type: string

Pattern: '^[A-Fa-f0-9]{9}$'

nullable: true

Dnai

Type: string

DnaiRm

Type: string

nullable: true

5GMmCause

Reference: '#/components/schemas/Uinteger'

AmfName

Type: string

AreaCode

Type: string

AreaCodeRm

Type: string

nullable: true

N3IwfId

Type: string

NgeNbId

Type: string

Pattern: '^(MacroNGeNB-[A-Fa-f0-9]{5}|LMacroNGeNB-[A-Fa-f0-9]{6}|SMacroNGeNB-[A-Fa-f0-9]{5})$'

# ENUMERATED DATA TYPES

AccessType

Type: string

enum:

- 3GPP_ACCESS

- NON_3GPP_ACCESS

AccessTypeRm

Type: string

enum:

- 3GPP_ACCESS

- NON_3GPP_ACCESS

nullable: true

RatType

anyOf:

- type: string

enum:

- NR

- EUTRA

- WLAN

- VIRTUAL

- type: string

RatTypeRm

anyOf:

- type: string

enum:

- NR

- EUTRA

- WLAN

- VIRTUAL

- type: string

nullable: true

PduSessionType

anyOf:

- type: string

enum:

- IPV4

- IPV6

- IPV4V6

- UNSTRUCTURED

- ETHERNET

- type: string

PduSessionTypeRm

anyOf:

- type: string

enum:

- IPV4

- IPV6

- IPV4V6

- UNSTRUCTURED

- ETHERNET

- type: string

nullable: true

UpIntegrity

anyOf:

- type: string

enum:

- REQUIRED

- PREFERRED

- NOT_NEEDED

- type: string

UpIntegrityRm

anyOf:

- type: string

enum:

- REQUIRED

- PREFERRED

- NOT_NEEDED

- type: string

nullable: true

UpConfidentiality

anyOf:

- type: string

enum:

- REQUIRED

- PREFERRED

- NOT_NEEDED

- type: string

UpConfidentialityRm

anyOf:

- type: string

enum:

- REQUIRED

- PREFERRED

- NOT_NEEDED

- type: string

nullable: true

SscMode

anyOf:

- type: string

enum:

- SSC_MODE_1

- SSC_MODE_2

- SSC_MODE_3

- type: string

SscModeRm

anyOf:

- type: string

enum:

- SSC_MODE_1

- SSC_MODE_2

- SSC_MODE_3

- type: string

nullable: true

DnaiChangeType

anyOf:

- type: string

This string provides forward-compatibility with future

extensions to the enumeration but is not used to encode

content defined in the present version of this API.

Possible values are

- EARLY: Early notification of UP path reconfiguration.

- EARLY_LATE: Early and late notification of UP path reconfiguration. This value shall only be present in the subscription to the DNAI change event.

- LATE: Late notification of UP path reconfiguration.

DnaiChangeTypeRm

anyOf:

- type: string

enum:

- EARLY

- EARLY_LATE

- LATE

- type: string

nullable: true

RestrictionType

anyOf:

- type: string

enum:

- ALLOWED_AREAS

- NOT_ALLOWED_AREAS

- type: string

RestrictionTypeRm

anyOf:

- type: string

enum:

- ALLOWED_AREAS

- NOT_ALLOWED_AREAS

- type: string

nullable: true

CoreNetworkType

anyOf:

- type: string

enum:

- 5GC

- EPC

- type: string

CoreNetworkTypeRm

anyOf:

- type: string

enum:

- 5GC

- EPC

- type: string

nullable: true

PresenceState

anyOf:

- type: string

enum:

- IN_AREA

- OUT_OF_AREA

- UNKNOWN

- INACTIVE

- type: string

# STRUCTURED DATA TYPES

Snssai

Type: object

Properties:

sst:

Type: integer

Minimum: 0

Maximum: 255

sd:

Type: string

Pattern: '^[A-Fa-f0-9]{6}$'

Required:

- sst

PlmnId

Type: object

Properties:

mcc:

Reference: '#/components/schemas/Mcc'

mnc:

Reference: '#/components/schemas/Mnc'

Required:

- mcc

- mnc

PlmnIdRm

Type: object

Properties:

mcc:

Reference: '#/components/schemas/Mcc'

mnc:

Reference: '#/components/schemas/Mnc'

Required:

- mcc

- mnc

nullable: true

Tai

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

tac:

Reference: '#/components/schemas/Tac'

Required:

- plmnId

- tac

TaiRm

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

tac:

Reference: '#/components/schemas/Tac'

Required:

- plmnId

- tac

nullable: true

Ecgi

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

# PLMN Identity

eutraCellId:

Reference: '#/components/schemas/EutraCellId'

Required:

- plmnId

- eutraCellId

EcgiRm

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

# PLMN Identity

eutraCellId:

Reference: '#/components/schemas/EutraCellId'

Required:

- plmnId

- eutraCellId

nullable: true

Ncgi

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

nrCellId:

Reference: '#/components/schemas/NrCellId'

Required:

- plmnId

- nrCellId

NcgiRm

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

nrCellId:

Reference: '#/components/schemas/NrCellId'

Required:

- plmnId

- nrCellId

nullable: true

UserLocation

Type: object

Properties:

eutraLocation:

Reference: '#/components/schemas/EutraLocation'

nrLocation:

Reference: '#/components/schemas/NrLocation'

n3gaLocation:

Reference: '#/components/schemas/N3gaLocation'

EutraLocation

Type: object

Properties:

tai:

Reference: '#/components/schemas/Tai'

ecgi:

Reference: '#/components/schemas/Ecgi'

ageOfLocationInformation:

Type: integer

Minimum: 0

Maximum: 32767

ueLocationTimestamp:

Reference: '#/components/schemas/DateTime'

geographicalInformation:

Type: string

Pattern: '^[0-9A-F]{16}$'

geodeticInformation:

Type: string

Pattern: '^[0-9A-F]{20}$'

globalNgenbId:

Reference: '#/components/schemas/GlobalRanNodeId'

Required:

- tai

- ecgi

EutraLocationRm

Type: object

Properties:

tai:

Reference: '#/components/schemas/Tai'

ecgi:

Reference: '#/components/schemas/Ecgi'

ageOfLocationInformation:

Type: integer

Minimum: 0

Maximum: 32767

ueLocationTimestamp:

Reference: '#/components/schemas/DateTime'

geographicalInformation:

Type: string

Pattern: '^[0-9A-F]{16}$'

geodeticInformation:

Type: string

Pattern: '^[0-9A-F]{20}$'

globalNgenbId:

Reference: '#/components/schemas/GlobalRanNodeId'

Required:

- tai

- ecgi

nullable: true

NrLocation

Type: object

Properties:

tai:

Reference: '#/components/schemas/Tai'

ncgi:

Reference: '#/components/schemas/Ncgi'

ageOfLocationInformation:

Type: integer

Minimum: 0

Maximum: 32767

ueLocationTimestamp:

Reference: '#/components/schemas/DateTime'

geographicalInformation:

Type: string

Pattern: '^[0-9A-F]{16}$'

geodeticInformation:

Type: string

Pattern: '^[0-9A-F]{20}$'

globalGnbId:

Reference: '#/components/schemas/GlobalRanNodeId'

Required:

- tai

- ncgi

NrLocationRm

Type: object

Properties:

tai:

Reference: '#/components/schemas/Tai'

ncgi:

Reference: '#/components/schemas/Ncgi'

ageOfLocationInformation:

Type: integer

Minimum: 0

Maximum: 32767

ueLocationTimestamp:

Reference: '#/components/schemas/DateTime'

geographicalInformation:

Type: string

Pattern: '^[0-9A-F]{16}$'

geodeticInformation:

Type: string

Pattern: '^[0-9A-F]{20}$'

globalGnbId:

Reference: '#/components/schemas/GlobalRanNodeId'

Required:

- tai

- ncgi

nullable: true

N3gaLocation

Type: object

Properties:

n3gppTai:

Reference: '#/components/schemas/Tai'

n3IwfId:

Type: string

Pattern: '^[A-Fa-f0-9]+$'

ueIpv4Addr:

Reference: '#/components/schemas/Ipv4Addr'

ueIpv6Addr:

Reference: '#/components/schemas/Ipv6Addr'

portNumber:

Reference: '#/components/schemas/Uinteger'

UpSecurity

Type: object

Properties:

upIntegr:

Reference: '#/components/schemas/UpIntegrity'

upConfid:

Reference: '#/components/schemas/UpConfidentiality'

Required:

- upIntegr

- upConfid

UpSecurityRm

Type: object

Properties:

upIntegr:

Reference: '#/components/schemas/UpIntegrity'

upConfid:

Reference: '#/components/schemas/UpConfidentiality'

Required:

- upIntegr

- upConfid

nullable: true

NgApCause

Type: object

Properties:

group:

Reference: '#/components/schemas/Uinteger'

value:

Reference: '#/components/schemas/Uinteger'

Required:

- group

- value

BackupAmfInfo

Type: object

Properties:

backupAmf:

Reference: '#/components/schemas/AmfName'

guamiList:

Type: array

Items:

Reference: '#/components/schemas/Guami'

minItems: 1

Required:

- backupAmf

RefToBinaryData

Type: object

Properties:

contentId:

Type: string

Required:

- contentId

RefToBinaryDataRm

Type: object

Properties:

contentId:

Type: string

Required:

- contentId

nullable: true

RouteToLocation

Type: object

Properties:

dnai:

Reference: '#/components/schemas/Dnai'

routeInfo:

Reference: '#/components/schemas/RouteInformation'

routeProfId:

Type: string

nullable: true

Required:

- dnai

nullable: true

RouteInformation

Type: object

Properties:

ipv4Addr:

Reference: '#/components/schemas/Ipv4Addr'

ipv6Addr:

Reference: '#/components/schemas/Ipv6Addr'

portNumber:

Reference: '#/components/schemas/Uinteger'

Required:

- portNumber

nullable: true

SubscribedDefaultQos

Type: object

Required:

- 5qi

- arp

Properties:

5qi:

Reference: '#/components/schemas/5Qi'

arp:

Reference: '#/components/schemas/Arp'

priorityLevel:

Reference: '#/components/schemas/5QiPriorityLevel'

Area

Type: object

oneOf:

- required:

- tacs

- required:

- areaCode

Properties:

tacs:

Type: array

Items:

Reference: '#/components/schemas/Tac'

minItems: 1

areaCodes:

Reference: '#/components/schemas/AreaCode'

ServiceAreaRestriction

Type: object

Properties:

restrictionType:

Reference: '#/components/schemas/RestrictionType'

areas:

Type: array

Items:

Reference: '#/components/schemas/Area'

maxNumOfTAs:

Reference: '#/components/schemas/Uinteger'

allOf:

#

# 1st condition: restrictionType and areas attributes shall be either both absent

# or both present

#

- oneOf:

- not:

Required: [ restrictionType ]

- required: [ areas ]

#

# 2nd condition: if restrictionType takes value NOT_ALLOWED_AREAS,

# then maxNumOfTAs shall be absent

#

- anyOf:

- not:

Required: [ restrictionType ]

Properties:

restrictionType:

Type: string

enum: [ NOT_ALLOWED_AREAS ]

- not:

Required: [ maxNumOfTAs ]

PresenceInfo

Type: object

Properties:

praId:

Type: string

presenceState:

Reference: '#/components/schemas/PresenceState'

trackingAreaList:

Type: array

Items:

Reference: '#/components/schemas/Tai'

minItems: 1

ecgiList:

Type: array

Items:

Reference: '#/components/schemas/Ecgi'

minItems: 1

ncgiList:

Type: array

Items:

Reference: '#/components/schemas/Ncgi'

minItems: 1

globalRanNodeIdList:

Type: array

Items:

Reference: '#/components/schemas/GlobalRanNodeId'

minItems: 1

PresenceInfoRm

Type: object

Properties:

praId:

Type: string

presenceState:

Reference: '#/components/schemas/PresenceState'

trackingAreaList:

Type: array

Items:

Reference: '#/components/schemas/Tai'

minItems: 0

ecgiList:

Type: array

Items:

Reference: '#/components/schemas/Ecgi'

minItems: 0

ncgiList:

Type: array

Items:

Reference: '#/components/schemas/Ncgi'

minItems: 0

globalRanNodeIdList:

Type: array

Items:

Reference: '#/components/schemas/GlobalRanNodeId'

nullable: true

GlobalRanNodeId

Type: object

Properties:

plmnId:

Reference: '#/components/schemas/PlmnId'

n3IwfId:

Reference: '#/components/schemas/N3IwfId'

gNbId:

Reference: '#/components/schemas/GNbId'

ngeNbId:

Reference: '#/components/schemas/NgeNbId'

oneOf:

- required: [ n3IwfId ]

- required: [ gNbId ]

- required: [ ngeNbId ]

Required:

- plmnId

GNbId

Type: object

Properties:

bitLength:

Type: integer

Minimum: 22

Maximum: 32

gNBValue:

Type: string

Pattern: '^[A-Fa-f0-9]{6,8}$'

Required:

- bitLength

- gNBValue

# Data Types related to 5G QoS as defined in subclause 5.5

# SIMPLE DATA TYPES

Qfi

Type: integer

Minimum: 0

Maximum: 63

QfiRm

Type: integer

Minimum: 0

Maximum: 63

nullable: true

5Qi

Type: integer

Minimum: 0

Maximum: 255

5QiRm

Type: integer

Minimum: 0

Maximum: 255

nullable: true

BitRate

Type: string

Pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$'

BitRateRm

Type: string

Pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$'

nullable: true

ArpPriorityLevel

Type: integer

Minimum: 1

Maximum: 15

nullable: true

5QiPriorityLevel

Type: integer

Minimum: 1

Maximum: 127

5QiPriorityLevelRm

Type: integer

Minimum: 1

Maximum: 127

nullable: true

PacketDelBudget

Type: integer

Minimum: 1

PacketDelBudgetRm

Type: integer

Minimum: 1

nullable: true

PacketErrRate

Type: string

Pattern: '^([0-9]E-[0-9])$'

PacketErrRateRm

Type: string

Pattern: '^([0-9]E-[0-9])$'

nullable: true

PacketLossRate

Type: integer

Minimum: 0

Maximum: 1000

PacketLossRateRm

Type: integer

Minimum: 0

Maximum: 1000

nullable: true

AverWindow

Type: integer

Minimum: 1

Maximum: 4095

Default: 2000

AverWindowRm

Type: integer

Maximum: 4095

Default: 2000

Minimum: 1

nullable: true

MaxDataBurstVol

Type: integer

Minimum: 1

Maximum: 4095

MaxDataBurstVolRm

Type: integer

Minimum: 1

Maximum: 4095

nullable: true

# ENUMERATED DATA TYPES

PreemptionCapability

anyOf:

- type: string

enum:

- NOT_PREEMPT

- MAY_PREEMPT

- type: string

PreemptionCapabilityRm

anyOf:

- type: string

enum:

- NOT_PREEMPT

- MAY_PREEMPT

- type: string

nullable: true

PreemptionVulnerability

anyOf:

- type: string

enum:

- NOT_PREEMPTABLE

- PREEMPTABLE

- type: string

PreemptionVulnerabilityRm

anyOf:

- type: string

enum:

- NOT_PREEMPTABLE

- PREEMPTABLE

- type: string

nullable: true

ReflectiveQoSAttribute

anyOf:

- type: string

enum:

- RQOS

- NO_RQOS

- type: string

ReflectiveQoSAttributeRm

anyOf:

- type: string

enum:

- RQOS

- NO_RQOS

- type: string

nullable: true

NotificationControl

anyOf:

- type: string

enum:

- REQUESTED

- NOT_REQUESTED

- type: string

NotificationControlRm

anyOf:

- type: string

enum:

- REQUESTED

- NOT_REQUESTED

- type: string

nullable: true

QosResourceType

anyOf:

- type: string

enum:

- NON_GBR

- NON_CRITICAL_GBR

- CRITICAL_GBR

- type: string

QosResourceTypeRm

anyOf:

- type: string

enum:

- NON_GBR

- NON_CRITICAL_GBR

- CRITICAL_GBR

- type: string

nullable: true

AdditionalQosFlowInfo

anyOf:

- type: string

enum:

- MORE_LIKELY

- type: string

nullable: true

# STRUCTURED DATA TYPES

Arp

Type: object

Properties:

priorityLevel:

Reference: '#/components/schemas/ArpPriorityLevel'

preemptCap:

Reference: '#/components/schemas/PreemptionCapability'

preemptVuln:

Reference: '#/components/schemas/PreemptionVulnerability'

Required:

- priorityLevel

- preemptCap

- preemptVuln

ArpRm

Type: object

Properties:

priorityLevel:

Reference: '#/components/schemas/ArpPriorityLevel'

preemptCap:

Reference: '#/components/schemas/PreemptionCapability'

preemptVuln:

Reference: '#/components/schemas/PreemptionVulnerability'

Required:

- priorityLevel

- preemptCap

- preemptVuln

nullable: true

Ambr

Type: object

Properties:

uplink:

Reference: '#/components/schemas/BitRate'

downlink:

Reference: '#/components/schemas/BitRate'

Required:

- uplink

- downlink

AmbrRm

Type: object

Properties:

uplink:

Reference: '#/components/schemas/BitRate'

downlink:

Reference: '#/components/schemas/BitRate'

Required:

- uplink

- downlink

nullable: true

Dynamic5Qi

Type: object

Properties:

resourceType:

Reference: '#/components/schemas/QosResourceType'

priorityLevel:

Reference: '#/components/schemas/5QiPriorityLevel'

packetDelayBudget:

Reference: '#/components/schemas/PacketDelBudget'

packetErrRate:

Reference: '#/components/schemas/PacketErrRate'

averWindow:

Reference: '#/components/schemas/AverWindow'

maxDataBurstVol:

Reference: '#/components/schemas/MaxDataBurstVol'

Required:

- resourceType

- priorityLevel

- packetDelayBudget

- packetErrRate

NonDynamic5Qi

Type: object

Properties:

priorityLevel:

Reference: '#/components/schemas/5QiPriorityLevel'

averWindow:

Reference: '#/components/schemas/AverWindow'

maxDataBurstVol:

Reference: '#/components/schemas/MaxDataBurstVol'

minProperties: 0

# Data Types related to 5G Trace as defined in subclause 5.6

# SIMPLE DATA TYPES

# Enumerations

TraceDepth

anyOf:

- type: string

enum:

- MINIMUM

- MEDIUM

- MAXIMUM

- MINIMUM_WO_VENDOR_EXTENSION

- MEDIUM_WO_VENDOR_EXTENSION

- MAXIMUM_WO_VENDOR_EXTENSION

- type: string

TraceDepthRm

anyOf:

- type: string

enum:

- MINIMUM

- MEDIUM

- MAXIMUM

- MINIMUM_WO_VENDOR_EXTENSION

- MEDIUM_WO_VENDOR_EXTENSION

- MAXIMUM_WO_VENDOR_EXTENSION

- type: string

nullable: true

# STRUCTURED DATA TYPES

TraceData

Type: object

nullable: true

Properties:

traceRef:

Type: string

Pattern: '^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$'

traceDepth:

Reference: '#/components/schemas/TraceDepth'

neTypeList:

Type: string

Pattern: '^[A-Fa-f0-9]+$'

eventList:

Type: string

Pattern: '^[A-Fa-f0-9]+$'

collectionEntityIpv4Addr:

Reference: '#/components/schemas/Ipv4Addr'

collectionEntityIpv6Addr:

Reference: '#/components/schemas/Ipv6Addr'

interfaceList:

Type: string

Pattern: '^[A-Fa-f0-9]+$'

Required:

- traceRef

- traceDepth

- neTypeList

- eventList

# Data Types related to 5G ODB as defined in subclause 5.7

# SIMPLE DATA TYPES

# Enumerations

RoamingOdb

anyOf:

- type: string

enum:

- OUTSIDE_HOME_PLMN

- OUTSIDE_HOME_PLMN_COUNTRY

- type: string

OdbPacketServices

anyOf:

- type: string

enum:

- ALL_PACKET_SERVICES

- ROAMER_ACCESS_HPLMN_AP

- ROAMER_ACCESS_VPLMN_AP

- type: string

nullable: true

# STRUCTURED DATA TYPES

OdbData

Type: object

Properties:

roamingOdb:

Reference: '#/components/schemas/RoamingOdb'

odbPacketServices:

Reference: '#/components/schemas/OdbPacketServices'

# Data Types related to Charging as defined in subclause 5.8

# SIMPLE DATA TYPES

ChargingId

Reference: '#/components/schemas/Uint32'

RatingGroup

Reference: '#/components/schemas/Uint32'

ServiceId

Reference: '#/components/schemas/Uint32'

# Enumerations

# STRUCTURED DATA TYPES

SecondaryRatUsageReport

Type: object

Properties:

secondaryRatType:

Reference: '#/components/schemas/RatType'

qosFlowsUsageData:

Type: array

Items:

Reference: '#/components/schemas/QosFlowUsageReport'

minItems: 1

Required:

- secondaryRatType

- qosFlowsUsageData

QosFlowUsageReport

Type: object

Properties:

qfi:

Reference: '#/components/schemas/Qfi'

startTimeStamp:

Reference: '#/components/schemas/DateTime'

endTimeStamp:

Reference: '#/components/schemas/DateTime'

downlinkVolume:

Reference: '#/components/schemas/Int64'

uplinkVolume:

Reference: '#/components/schemas/Int64'

Required:

- qfi

- startTimeStamp

- endTimeStamp

- downlinkVolume

- uplinkVolume

# HTTP responses

responses

'400'

Description: Bad request

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'401'

Description: Unauthorized

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'403'

Description: Forbidden

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'404'

Description: Not Found

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'405'

Description: Method Not Allowed

'408'

Description: Request Timeout

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'406'

Description: 406 Not Acceptable

'409'

Description: Conflict

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'410'

Description: Gone

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'411'

Description: Length Required

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'412'

Description: Precondition Failed

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'413'

Description: Payload Too Large

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'414'

Description: URI Too Long

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'415'

Description: Unsupported Media Type

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'429'

Description: Too Many Requests

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'500'

Description: Internal Server Error

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'501'

Description: Not Implemented

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'503'

Description: Service Unavailable

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

'504'

Description: Gateway Timeout

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'

default

Description: Generic Error

content:

application/problem+json:

schema:

Reference: '#/components/schemas/ProblemDetails'