diff --git a/OpenAPI/TS28105_AiMlNrm.yaml b/OpenAPI/TS28105_AiMlNrm.yaml index 4dd21ebfb369d5b431b48d4ea329c939527c0920..66062222a941cff8ffa7f63b1cdc4ad89cf950c9 100644 --- a/OpenAPI/TS28105_AiMlNrm.yaml +++ b/OpenAPI/TS28105_AiMlNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: AI/ML NRM - version: 19.4.0 + version: 19.5.0 description: >- OAS 3.0.1 specification of the AI/ML NRM - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.105; AI/ML Management @@ -538,8 +538,6 @@ components: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' requestStatus: $ref: '#/components/schemas/RequestStatus' - expectedRuntimeContext: - $ref: '#/components/schemas/MLContext' performanceRequirements: type: array uniqueItems: true @@ -607,10 +605,11 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' trainingReportRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - mLModelGeneratedRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' mLModelRef: ## Figure 7.3a.1.1.1-1 is 1-0..1 mapping, hence should be single $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + mLModelCoordinationGroupRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + MLTrainingReport-Single: allOf: @@ -645,8 +644,6 @@ components: areNewTrainingDataUsed: type: boolean readOnly: true - trainingRequestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' fLReportPerClient: type: array uniqueItems: true @@ -661,8 +658,6 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' mLModelCoordinationGroupGeneratedRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' MLTestingFunction-Single: allOf: diff --git a/OpenAPI/TS28312_IntentNrm.yaml b/OpenAPI/TS28312_IntentNrm.yaml index c751a6ce3c7f5452ef99e25e7946b544cd2950bc..8a87834c1c5a360a16b484922dd6b96cecaada09 100644 --- a/OpenAPI/TS28312_IntentNrm.yaml +++ b/OpenAPI/TS28312_IntentNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Intent NRM - version: 19.4.0 + version: 19.5.0 description: >- OAS 3.0.1 definition of the Intent NRM - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.312; Intent driven management services for mobile networks @@ -73,9 +73,11 @@ components: type: integer minimum: 1 maximum: 100 + default: 1 description: It expresses the priority of the stated intent within a MnS consumer. intentPreemptionCapability: type: boolean + default: false intentReportControl: type: array uniqueItems: true @@ -87,7 +89,13 @@ components: intentReportReference: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' intentUtilityFormulaRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + required: + - userLabel + - intentExpectations + - intentMgmtPurpose + - intentReportControl + - intentReportReference IntentReport-Single: description: It represents intent report information from MnS producer to MnS consumer. allOf: @@ -116,6 +124,9 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' intentReference: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + required: + - lastUpdatedTime + - intentReference IntentHandlingFunction-Single: description: >- It represents the intent handling capabilities can be supported by a specific intent @@ -161,6 +172,9 @@ components: utilityOffset: type: number default: 0 + required: + - utilityFunctionId + - utilityParameterList #-------Definition of generic IOCs ----------# #-------Definition of the generic IntentExpectation dataType ----------# @@ -248,6 +262,7 @@ components: - ALL_OF - ONE_OF - ANY_OF + default: ALL_OF IntentMgmtPurpose: description: >- It describes the MnS consumer requirements for the management purpose (required procedures) @@ -298,6 +313,8 @@ components: type: string readOnly: true description: An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo + required: + - fulfilmentStatus ExpectationVerb: type: string enum: @@ -385,6 +402,10 @@ components: minimum: 0 maximum: 10 description: It represents the preference information of the Consumer on expectationTargets. + required: + - targetName + - targetCondition + - targetValueRange #-------Definition of the generic ExpectationTarget dataType----------# @@ -405,7 +426,11 @@ components: minItems: 1 items: $ref: "#/components/schemas/ValueRangeType" - - $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" + required: + - contextAttribute + - contextCondition + - contextValueRange #-------Definition of the generic Context dataType----------------# #-------Definition of the generic IntentReportControl dataType----------------# @@ -416,7 +441,8 @@ components: properties: reportRecipientAddress: description: >- - It indicates the address of report recipient for MnS consumer + It indicates the address of report recipient for MnS consumer. + It shall be supported when the implicit intent report subscription mechanism is supported. type: string observationPeriod: description: >- @@ -445,7 +471,6 @@ components: items: type: string required: - - reportRecipientAddress - observationPeriod ExpectedReportType: type: string @@ -480,6 +505,10 @@ components: items: $ref: '#/components/schemas/ValueRangeType' - $ref: '#/components/schemas/ValueRangeType' + required: + - targetName + - targetCondition + - targetValueRange #-------Definition of the concrete IntentReportControl dataType----------------# @@ -499,7 +528,15 @@ components: items: $ref: '#/components/schemas/ExpectationFulfilmentResult' additionalFulfilmentInfo: - type: string + description: >- + It describes the additional information of intent intent fulfilment.The content and format is vendor specific. + Examples of additional fulfilment information could be:Types for the list of managed objects (e.g. NE, NF, Cell) + which are updated during intent fulfilment, or, Instance information for the list of managed objects (e.g. NE, NF, + Cell) and corresponding attributes which are updated during intent fulfilment. + type: string + readOnly: true + required: + - intentFulfilmentInfo #-------Definition of the concrete IntentFulfilmentReport dataType----------------# #-------Definition of the generic ExpectationFulfilmentResult dataType----------------# @@ -561,23 +598,25 @@ components: readOnly: true conflictType: type: string - readOnly: true enum: - INTENT_CONFLICT - EXPECTATION_CONFLICT - TARGET_CONFLICT + readOnly: true conflictingIntent: description: >- - This will be present if the value of conflictType is INTENT_CONFLICT. It describes the DN of the conflicting intent + This will be present if the MnS producer supports reporting on INTENT_CONFLICT or EXPECTATION_CONFLICT + or TARGET_CONFLICT. $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' conflictingExpectation: description: >- - This will be present if the value of conflictType is EXPECTATION_CONFLICT. It describes the expectationId of the conflicting IntentExpectation with an Intent + This will be present if the MnS producer supports reporting on conflicts of type EXPECTATION_CONFLICT or + TARGET_CONFLICT. type: string readOnly: true conflictingTarget: description: >- - This will be present if the value of conflictType is TARGET_CONFLICT. It describes the targetName of the conflicting ExpectationTarget with an IntentExpectation + This will be present if the MnS producer supports reporting on conflicts of type TARGET_CONFLICT. type: string readOnly: true recommendedSolutions: @@ -668,8 +707,8 @@ components: type: array items: $ref: '#/components/schemas/ExpectationExplorationResult' - uniqueItems: true - minItems: 1 + uniqueItems: true + minItems: 1 ExpectationExplorationResult: description: >- It represents the expectation exploration result for a specific intent expectation @@ -682,14 +721,14 @@ components: type: array items: $ref: '#/components/schemas/ExpectationTarget' - uniqueItems: true - minItems: 1 + uniqueItems: true + minItems: 1 contextExplorationResults: type: array items: $ref: '#/components/schemas/Context' - uniqueItems: true - minItems: 1 + uniqueItems: true + minItems: 1 required: - expectationId - targetExplorationResults diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index bca078523f31fa47543a10d53229965a4a070dde..c937d6235346da9ee51e2440521ab8bd6581d255 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: 3GPP 5GC NRM - version: 20.1.0 + version: 20.2.0 description: >- OAS 3.0.1 specification of the 5GC NRM - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.541; 5G NRM, 5GC NRM @@ -979,6 +979,12 @@ components: - DL - UL_DL - type: string + dataEndMarkInd: + type: boolean + dataBurstSizeInd: + type: boolean + timetoNextBurstInd: + type: boolean TrafficControlDataList: @@ -1143,6 +1149,40 @@ components: expTranInd: type: boolean default: false + multiModalId: + type: string + traffParaData: + $ref: '#/components/schemas/TrafficParaData' + + TrafficParaData: + description: Contains Traffic Parameter(s) related control information. + type: object + properties: + periodUl: + type: integer + periodDl: + type: integer + reqTrafficParas: + anyOf: + - type: string + enum: + - DL_N6_JITTER + - DL_PERIOD + - UL_PERIOD + - type: string + description: Indicates the traffic parameters to be measured. + repFreqs: + type: array + items: + $ref: '#/components/schemas/ReportingFrequency' + minItems: 1 + description: Represents the notification method (periodic or on event detection). + dlN6JitterThr: + type: integer + repPeriod: + type: integer + + ProtocolDescription: type: object @@ -1569,8 +1609,14 @@ components: properties: atsssLL: type: boolean - mptcp: + mptcpudp: type: boolean + mpquic: + type: boolean + mpquicIp: + type: boolean + mpquicE: + type: boolean rttWithoutPmf: type: boolean @@ -2868,6 +2914,23 @@ components: type: boolean default: false + AdmInfo: + description: ADM information + type: object + properties: + deviceIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/AiotDevPermId' + minItems: 1 + devIdRegEx: + type: string + afIdList: + type: array + items: + type: string + minItems: 1 + NrfInfo: description: Information of an NRF NF Instance, used in hierarchical NRF deployments type: object @@ -5312,7 +5375,7 @@ components: managedNFProfile: $ref: '#/components/schemas/ManagedNFProfile' aIOTgNBInfo: - $ref: '#/components/schemas/AIoTgNBInfo' + $ref: '#/components/schemas/AIoTgNBInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object @@ -5344,6 +5407,8 @@ components: type: string managedNFProfile: $ref: '#/components/schemas/ManagedNFProfile' + admInfo: + $ref: '#/components/schemas/AdmInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object diff --git a/OpenAPI/TS28541_GenericRanNrm.yaml b/OpenAPI/TS28541_GenericRanNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..64dccff9a0680f843fe0f3a9a93dce4a1cc1445a --- /dev/null +++ b/OpenAPI/TS28541_GenericRanNrm.yaml @@ -0,0 +1,101 @@ +openapi: 3.0.1 +info: + title: Generic RAN NRM + version: 20.0.0 + description: >- + OAS 3.0.1 specification of the Generic RAN NRM + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541; 5G NRM, Generic RAN NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#-------- Definition of types for name containment----------------------------------------------------- + ManagedElement-ncO-GenericRanNrm: + type: object + properties: + AntennaFunction: + $ref: '#/components/schemas/AntennaFunction-Multiple' + SectorEquipmentFunction: + $ref: '#/components/schemas/SectorEquipmentFunction-Multiple' +#-------- Definition of concrete IOCs -------------------------------------------- + AntennaFunction-Single: + type: object + properties: + beamTilt: + type: integer + format: int32 + elevation: + type: number + retTiltValue: + type: integer + format: int32 + bearing: + type: integer + format: int32 + retGroupName: + type: string + maxAzimuthValue: + type: integer + format: int32 + minimum: 0 + maximum: 360 + minAzimuthValue: + type: integer + format: int32 + minimum: 0 + maximum: 360 + horizBeamwidth: + type: integer + format: int32 + minimum: 0 + maximum: 360 + vertBeamwidth: + type: integer + format: int32 + minimum: 0 + maximum: 360 + latitude: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Latitude' + longitude: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Longitude' + referenceFrom: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + + SectorEquipmentFunction-Single: + type: object + properties: + fqBandList: + description: >- + The list of frequency bands/ranges supported by the hardware associated + with the SectorEquipmentFunction. + type: array + uniqueItems: true + items: + type: string + confOutputPower: + type: integer + format: int32 + referenceFrom: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + referenceTo: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + AntennaFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AntennaFunction-Single' + SectorEquipmentFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SectorEquipmentFunction-Single' + +#-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- + resources-genericRanNrm: + oneOf: + - $ref: '#/components/schemas/AntennaFunction-Single' + - $ref: '#/components/schemas/SectorEquipmentFunction-Single' + diff --git a/OpenAPI/TS28561_NdtNrm.yaml b/OpenAPI/TS28561_NdtNrm.yaml index 31d58a42f8787142558a5d3ed940b1a283312509..605cb1a97c70fd74489f9ae0f551e9646b593991 100644 --- a/OpenAPI/TS28561_NdtNrm.yaml +++ b/OpenAPI/TS28561_NdtNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: NDT NRM - version: 19.1.0 + version: 19.2.0 description: >- OAS 3.0.1 definition of the NDT NRM - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.561; Management aspects of Network Digital Twins @@ -31,6 +31,7 @@ components: supportedNDTCapabilities: type: array uniqueItems: true + minItems: 1 items: $ref: '#/components/schemas/NDTCapability' description: >- @@ -77,6 +78,7 @@ components: nDTJobOutputData: type: array uniqueItems: true + minItems: 1 items: $ref: '#/components/schemas/NDTOutputDataPoint' description: It indicates the list of NDTOutput(s) that are provided by the NDT function as the output for any task executed in an instantiated NDT job. @@ -199,10 +201,13 @@ components: properties: performanceDataName: type: string + maxItems: 1 performanceDataValue: type: integer + maxItems: 1 performanceDataScalingFactor: type: integer + maxItems: 1 #------Definition of JSON arrays for name-contained IOCs ---------------# diff --git a/OpenAPI/TS28572_PlanManagement.yaml b/OpenAPI/TS28572_PlanManagement.yaml index 312cf8bd3637505a11ae144271d3a903ac9f95e0..b391301de446296844d4114c12e79053eaf88c5a 100644 --- a/OpenAPI/TS28572_PlanManagement.yaml +++ b/OpenAPI/TS28572_PlanManagement.yaml @@ -1,8 +1,11 @@ -openapi: 3.0.0 +openapi: 3.0.1 info: title: 3GPP Plan Provisioning Management API - version: 19.1.0 - description: API for managing network configuration plans and related jobs + version: 19.2.0 + description: >- + OAS 3.0.1 specification of API for managing network configuration plans and related jobs + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. externalDocs: description: 3GPP TS 28.572; Generic management services url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.572/ @@ -16,6 +19,7 @@ servers: description: Version number of the OpenAPI definition default: v1 +# Note the examples are demonstrative only and may not all contain all required attributes for the given MO types. paths: /plan-descriptors: post: @@ -29,7 +33,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PlanConfigurationDescriptor' + $ref: '#/components/schemas/PlanConfigurationDescriptorRequest' example: name: "Rollout-5G-Dublin-East" version: "1.0.0" @@ -37,36 +41,18 @@ paths: customProperties: technology-type: "NR" location: "Dublin" - configChangesContentType: "YANG" + configChangesContentType: YANG_BASED configChanges: - modifyOperator: create - changeId: add-nr-cell-001 - comment: Add new NR cell for initial deployment in Dublin-4 area. - target: /SubNetwork=Irl/MeContext=Dublin-1/ManagedElement=1/GNBDUFunction=1 - value: - NRCellDU: - - id: '4' - attributes: - userLabel: Dublin-1-Cell-4 - administrativeState: UNLOCKED - multipart/form-data: - schema: - type: object - properties: - name: - type: string - description: name of the plan (metadata). - example: - name: "Rollout-5G-Dublin-East" - version: - type: string - description: version of the plan (metadata). - example: - version: "1.0.0" - file: - type: string - format: binary - description: The file containing the planDescriptor information. + - modifyOperator: "create" + changeId: "add-nr-cell-001" + description: "Add new NR cell for initial deployment in Dublin-4 area." + target: "/SubNetwork=Irl/MeContext=Dublin-1/ManagedElement=1/GNBDUFunction=1" + value: + NRCellDU: + - id: '4' + attributes: + userLabel: "Dublin-1-Cell-4" + ssbDuration: 2 responses: '201': description: Plan descriptor created successfully @@ -112,10 +98,9 @@ paths: content: application/json: schema: - type: object # <-- Response body is an object - properties: - items: # <-- The array is nested inside the 'items' property - $ref: '#/components/schemas/DescriptorListEntry' + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' '500': description: Internal server error. content: @@ -169,7 +154,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/PlanConfigurationDescriptor' + $ref: '#/components/schemas/PlanConfigurationDescriptorRequest' example: { "name": "Rollout-5G-Dublin-East", @@ -178,9 +163,16 @@ paths: "technology-type": "NR", "location": "Dublin" }, - "configChanges": { - ... - } + "configChanges": [ + { + "modifyOperator": "merge", + "changeId": "Dublin-Center_DC-01_555777999", + "target": "/SubNetwork=Dublin-Center/ManagedElement=DC-001/NRCellDU=1", + "value": { + "ssbDuration": 2 + } + } + ] } responses: '204': @@ -285,10 +277,9 @@ paths: content: application/json: schema: - type: object # <-- Response body is an object - properties: - items: # <-- The array is nested inside the 'items' property - $ref: '#/components/schemas/DescriptorListEntry' + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' '500': description: Internal server error. content: @@ -343,16 +334,6 @@ paths: application/json: schema: $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' - example: - { - "name": "Rollout-5G-Dublin-East", - "version" : "1.0.0", - "description": "This is the plan for the new 5G rollout in Dublin east.", - "activationMode" : "BEST_EFFORT", - "isOrdered" : true, - "isFailOnMemberConflicts" : true, - "members": [{"type" : "PLAN", "identifier" : "plan-descriptor-001"}, {"type" : "PLAN_GROUP", "identifier" : "plan-group-descriptor-001"}] - } responses: '200': description: Plan group descriptor replaced successfully @@ -420,10 +401,9 @@ paths: content: application/json: schema: - type: object # <-- Response body is an object - properties: - items: # <-- The array is nested inside the 'items' property - $ref: '#/components/schemas/DescriptorListEntry' + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' '500': description: Internal server error. content: @@ -438,7 +418,7 @@ paths: schema: type: string description: Unique identifier of the fallback descriptor. - example: "Fallback-Dublin-South-plan-001" + example: "Fallback-Dublin-plan-001" required: true get: tags: @@ -504,7 +484,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TriggerDescriptor' + $ref: '#/components/schemas/TriggerDescriptorRequest' responses: '201': @@ -545,10 +525,9 @@ paths: content: application/json: schema: - type: object # <-- Response body is an object - properties: - items: # <-- The array is nested inside the 'items' property - $ref: '#/components/schemas/DescriptorListEntry' + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' /trigger-descriptors/{id}: parameters: @@ -568,7 +547,7 @@ paths: operationId: getTriggerDescriptorById responses: '200': - description: Plan descriptor retrieved successfully. + description: Trigger descriptor retrieved successfully. content: application/json: schema: @@ -596,7 +575,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/TriggerDescriptor' + $ref: '#/components/schemas/TriggerDescriptorRequest' responses: '204': description: Trigger descriptor created successfully @@ -653,7 +632,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ActivationJobRequest' + $ref: '#/components/schemas/ActivationJobWritableProperties' responses: '201': description: Plan activation job created successfully. @@ -668,7 +647,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ActivationJobResponse' + $ref: '#/components/schemas/ActivationJob' '400': description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields). content: @@ -719,7 +698,13 @@ paths: /plan-activation-jobs/{id}: parameters: - - $ref: '#/components/parameters/jobId' + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan activation job. + example: "Dublin-plan-activation-001" + required: true get: tags: - Activation Management @@ -732,7 +717,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ActivationJobResponse' + $ref: '#/components/schemas/ActivationJob' '404': description: Job not found. content: @@ -773,6 +758,44 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ErrorDetail' + patch: + tags: + - Activation Management + summary: Cancel the activation job + description: Cancel the activation job + operationId: cancelActivationJobById + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRequest' + application/merge-patch+json: + schema: + $ref: '#/components/schemas/CancelRequest' + responses: + '202': + description: Job cancel request was accepted and cancellation is ongoing + '204': + description: Job cancel request was successfully completed + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '422': + description: Semantic error - e.g. job was not in RUNNING state + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' /plan-activation-jobs/{id}/status: get: @@ -782,7 +805,13 @@ paths: description: Retrieve the current status of a specific plan activation job using its unique identifier. operationId: getJobStatus parameters: - - $ref: '#/components/parameters/jobId' + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan activation job. + example: "Dublin-plan-activation-001" + required: true responses: '200': description: Job status retrieved successfully. @@ -811,7 +840,22 @@ paths: description: Retrieve detailed information about the activation results of a job operationId: getActivationDetails parameters: - - $ref: '#/components/parameters/jobId' + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan activation job. + example: "Dublin-plan-activation-001" + required: true + - name: expand + in: query + description: >- + By default the activation details results shall include the FAILED operations only. This parameter indicates whether to expand all details of the activation results to also include the 'SUCCEEDED' operations. + required: false + schema: + type: string + enum: + - all responses: '200': description: Activation details retrieved successfully @@ -826,39 +870,7 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /plan-activation-jobs/{id}/cancel-request: - parameters: - - $ref: '#/components/parameters/jobId' - put: - tags: - - Activation Management - summary: Cancel the activation job - description: Cancel the activation job - operationId: cancelActivationJobById - responses: - '200': - description: Job cancel request was successfully completed - '202': - description: Job cancel request was accepted and cancellation is ongoing - '404': - description: Job not found. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ErrorDetail' - '422': - description: Semantic error - e.g. job was not in RUNNING state - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ErrorDetail' - '500': - description: Internal server error. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ErrorDetail' - + /plan-validation-jobs: post: tags: @@ -882,11 +894,11 @@ paths: schema: type: string format: uri-reference - example: "/validation-jobs/myjob-111" + example: "/plan-validation-jobs/myjob-111" content: application/json: schema: - $ref: '#/components/schemas/ValidationJobResponse' + $ref: '#/components/schemas/ValidationJob' '400': description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields). content: @@ -912,7 +924,7 @@ paths: schema: $ref: '#/components/schemas/JobState' description: Filter jobs by their current state. - example: "COMPLETED" # Example state for validation jobs + example: "job-state=COMPLETED" # Example state for validation jobs responses: '200': description: List of plan validation jobs retrieved successfully. @@ -937,7 +949,13 @@ paths: /plan-validation-jobs/{id}: parameters: - - $ref: '#/components/parameters/jobId' + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan validation job. + example: "Dublin-plan-validation-001" + required: true get: tags: - Validation Management @@ -950,7 +968,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ValidationJobResponse' + $ref: '#/components/schemas/ValidationJob' '404': description: Job not found. content: @@ -985,6 +1003,42 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ErrorDetail' + patch: + tags: + - Validation Management + summary: Cancel the validation job + description: Cancel the validation job + operationId: cancelValidationJobById + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRequest' + responses: + '202': + description: Job cancel request was accepted and cancellation is ongoing + '204': + description: Job cancel request was successfully completed + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '422': + description: Semantic error - e.g. job was not in RUNNING state + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + /plan-validation-jobs/{id}/status: get: @@ -994,7 +1048,13 @@ paths: description: Retrieve the current status of a specific plan validation job using its unique identifier. operationId: getValidationJobStatus parameters: - - $ref: '#/components/parameters/jobId' + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan validation job. + example: "Dublin-plan-validation-001" + required: true responses: '200': description: Job status retrieved successfully. @@ -1023,7 +1083,13 @@ paths: description: Retrieve detailed information about the validation results of a job operationId: getValidationDetails parameters: - - $ref: '#/components/parameters/jobId' + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan validation job. + example: "Dublin-South-plan-validation-001" + required: true - name: details in: query description: Selects the level of details to return. @@ -1044,129 +1110,79 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ErrorDetail' - - /plan-validation-jobs/{id}/cancel-request: - parameters: - - $ref: '#/components/parameters/jobId' - put: - tags: - - Validation Management - summary: Cancel the validation job - description: Cancel the validation job - operationId: cancelValidationJobById - responses: - '200': - description: Job cancel request was successfully completed - '202': - description: Job cancel request was accepted and cancellation is ongoing - '404': - description: Job not found. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ErrorDetail' - '422': - description: Semantic error - e.g. job was not in RUNNING state - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ErrorDetail' - '500': - description: Internal server error. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ErrorDetail' components: - parameters: - jobId: - name: id - in: path - description: Unique identifier of the job - required: true - schema: - type: string - example: "myjob-111" - descriptorId: - name: descriptorId - in: path - description: Unique identifier of the plan descriptor - required: true - schema: - type: string - example: "plan-descriptor-001" - - schemas: - PlanConfigurationDescriptor: - type: object - required: - - configChanges allOf: - - $ref: '#/components/schemas/PlanConfigurationDescriptorCommonProperties' - properties: - configChanges: - description: "The plan configuration changes" - type: array - items: - $ref: '#/components/schemas/ConfigChange' + - $ref: '#/components/schemas/PlanConfigurationDescriptorBaseProperties' + - type: object + required: + - id + - activationMode + - lastModifiedAt + - validationState + - configChangesContentType + - configChanges + properties: + id: + type: string + description: The identifier of the planned configuration + example: plan-001 + configChanges: + description: "The plan configuration changes" + type: array + items: + $ref: '#/components/schemas/ConfigChange' + validationState: + type: string + enum: [NOT_VALIDATED, VALID, INVALID] + default : NOT_VALIDATED + description: The validation state of the plan. + example: NOT_VALIDATED + lastModifiedAt: + type: string + format: date-time + description: the last time the plan was modified + example: 2025-03-06T16:50:26-08:00 + lastValidatedAt: + type: string + format: date-time + description: last time the plan was validated + example: 2025-03-06T16:50:29-08:00 + + + PlanConfigurationDescriptorRequest: + allOf: + - $ref: '#/components/schemas/PlanConfigurationDescriptorBaseProperties' + - type: object + required: + - configChanges + properties: + configChanges: + description: "The plan configuration changes" + type: array + items: + $ref: '#/components/schemas/ConfigChangeWritable' PlanConfigurationDescriptorResponse: - type: object - required: - - id - - activationMode - - lastModifiedAt - - validationState - - configChangesContentType - - configChanges allOf: - - $ref: '#/components/schemas/PlanConfigurationDescriptorCommonProperties' - properties: - configChanges: - description: "The plan configuration changes" - type: array - items: - $ref: '#/components/schemas/ConfigChangeInResponse' - validationState: - type: string - enum: [NOT_VALIDATED, VALIDATING, VALID, INVALID] - default : NOT_VALIDATED - description: The validation state of the plan. - example: NOT_VALIDATED - lastModifiedAt: - type: string - format: date-time - description: the last time the plan was modified - example: 2025-03-06T16:50:26-08:00 - lastValidatedAt: - type: string - format: date-time - description: last time the plan was validated - example: 2025-03-06T16:50:29-08:00 - _links: - type: object - description: Hypermedia links for plan descriptor - allOf: - - $ref: '#/components/schemas/SelfLink' - example: - self: - href: "{root-url}/plan-management/v1/plan-descriptors/pd-001" - templated: true - type: "application/json" - title: "The newly created PlanConfigurationDescriptor" - - PlanConfigurationDescriptorCommonProperties: + - $ref: '#/components/schemas/PlanConfigurationDescriptor' + - type: object + properties: + _links: + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/plan-management/v1/plan-descriptors/pd-001" + templated: true + type: "application/json" + title: "The newly created PlanConfigurationDescriptor" + + PlanConfigurationDescriptorBaseProperties: type: object - required: - - configChangesContentType properties: - id: - type: string - description: Unique id of the plan configuration descriptor - example: plan-001 name: type: string description: Descriptive name of the plan group configuration descriptor @@ -1174,7 +1190,7 @@ components: version: type: string description: The version of the planned configuration. Its format is implementation specific. - example: 1.0.0 + example: "1.0.0" description: type: string description: Used to describe the purpose of the plan configuration @@ -1186,22 +1202,15 @@ components: example: technology-type: NR location: Dublin + configChangesContentType: + $ref: '#/components/schemas/ConfigChangesContentType' activationMode: type: string enum: [ATOMIC, BEST_EFFORT, STOP_ON_ERROR] default : BEST_EFFORT description: Specifies the execution behavior when the plan is activated example: BEST_EFFORT - configChangesContentType: - type: string - enum: - - YANG - - OPENAPI - default: YANG - description: The format/type of the configuration in planConfig - example: YANG - PlanConfigurationGroupDescriptor: type: object required : @@ -1215,6 +1224,10 @@ components: type: string description: Descriptive name of the plan group configuration descriptor example: "Rollout-5G-Dublin-East" + version: + type: string + description: version of the plan group configuration descriptor + example: "1.0.0" description: type: string description: Used to describe the purpose of the plan group configuration @@ -1229,11 +1242,11 @@ components: isOrdered: type: boolean description: Specifies if the members of the planned configuration group are ordered. When ordered, the planned configuration group members shall be validated/activated in the specified order. When not ordered the planned configuration group members can be validated/activated in any order - default: "false" + default: false isFailOnMemberConflicts: type: boolean description: Specifies if the activation shall fail on detection of conflicts between planned configuration group members, or if the operations shall be processed as if there were no conflicts - default: "false" + default: false activationMode: type: string enum: [ATOMIC, BEST_EFFORT, STOP_ON_ERROR] @@ -1242,7 +1255,7 @@ components: example: "BEST_EFFORT" validationState: type: string - enum: [NOT_VALIDATED, VALIDATING, VALID, INVALID] + enum: [NOT_VALIDATED, PARTIALLY_VALID, VALID, INVALID] default : "NOT_VALIDATED" description: The validation state for the last time plan configuration group was validated example: "NOT_VALIDATED" @@ -1268,65 +1281,53 @@ components: - planConfigGroupDescrId: pgc-5g-core-rollout PlanConfigurationGroupDescriptorResponse: - type: object - required: - - id - - activationMode - - validationState - - isOrdered - - isFailOnMemberConflicts - - members allOf: - $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' - properties: - _links: - type: object - description: Hypermedia links for plan descriptor - allOf: - - $ref: '#/components/schemas/SelfLink' - example: - self: - href: "{root-url}/plan-management/v1/plan-group-descriptors/pgd-001" - templated: true - type: "application/json" - title: "The newly created PlanConfigurationGroupDescriptor" - + - type: object + required: + - id + - activationMode + - validationState + - isOrdered + - isFailOnMemberConflicts + - members + properties: + _links: + type: object + description: Hypermedia links for plan descriptor + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/plan-management/v1/plan-group-descriptors/pgd-001" + templated: true + type: "application/json" + title: "The newly created PlanConfigurationGroupDescriptor" + Member: type: object - description: Defines a member identified by EITHER a single Plan Configuration Descriptor ID - OR a Plan Configuration Group Descriptor ID, but not both. - properties: - planConfigDescrId: - type: string - description: Unique id of the plan configuration descriptor. - example: "pcd-001" - planConfigGroupDescrId: - type: string - description: Unique id of the plan configuration group descriptor. - example: "pgc-001" - - # The oneOf keyword enforces that the instance must validate against exactly one subschema. + description: | + Defines a member identified by EITHER a single Plan Configuration Descriptor ID + OR a Plan Configuration Group Descriptor ID, but not both. oneOf: - # Option 1: Must contain planConfigDescrId - - required: - - planConfigDescrId - # explicitly forbid the other property to ensure strict mutual exclusivity - not: - required: [ planConfigGroupDescrId ] - - # Option 2: Must contain planConfigGroupDescrId - - required: - - planConfigGroupDescrId - # explicitly forbid the other property - not: - required: [ planConfigDescrId ] + - type: object + required: [planConfigDescrId] + properties: + planConfigDescrId: + type: string + description: Unique id of the plan configuration descriptor. + example: "pcd-001" + - type: object + required: [planConfigGroupDescrId] + properties: + planConfigGroupDescrId: + type: string + description: Unique id of the plan configuration group descriptor. + example: "pgc-001" FallbackConfigurationDescriptor: type: object - required: - - configChangesContentType - - configChanges properties: id: type: string @@ -1336,14 +1337,14 @@ components: type: string description: Descriptive name of the fallback configuration descriptor example: "Fallback-Rollout-5G-Dublin-East" - version: - type: string - description: The version of the fallback configuration. Its format is implementation specific. - example: 1.0.0 description: type: string description: Used to describe the purpose of the fallback configuration example: "Fallback for configuration plan Rollout-5G-Dublin-East." + version: + type: string + description: The version of the fallback configuration. Its format is implementation specific. + example: 1.0.0 customProperties: type: object description: A dynamic set of custom properties provided by client @@ -1354,54 +1355,77 @@ components: activationJob: type: string description: The identifier of the related activation job. - configurationContentType: - type: string - enum: - - YANG - - OPENAPI - description: The format/type of the configuration in configChanges - example: YANG - fallbackConfig: - description: The fallback configuration. - oneOf: - - type: string - - type: object - additionalProperties: - $ref: '#/components/schemas/ConfigChange' - description: A map of changes. The key of the map shall have the same value as the changeId. - + required: + - activationJob + oneOf: + - type: object + description: COMPLETE_RESTORE type fallback + required: + - fallbackConfig + properties: + fallbackConfig: + type: string + description: The fallback configuration associated with COMPLETE_RESTORE + - type: object + description: The configuration changes associated with UNDO type fallback + properties: + configChangesContentType: + $ref: '#/components/schemas/ConfigChangesContentType' + configChanges: + type: array + description: | + The configuration change set specifying the configuration in case the fallback configuration is of the "UNDO" type. The format of "configChanges" is specified in "configChangesContentType". Exactly one of this element or the fallbackConfig shall be present. + items: + $ref: '#/components/schemas/ConfigChangeWritable' + required: + - configChanges + - configChangesContentType FallbackConfigurationDescriptorResponse: - type: object - required: - - id - - configurationContentType - - fallbackConfig allOf: - $ref: '#/components/schemas/FallbackConfigurationDescriptor' - properties: - _links: - type: object - description: Hypermedia links for fallback descriptor - allOf: - - $ref: '#/components/schemas/SelfLink' - example: - self: - href: "{root-url}/plan-management/v1/fallback-descriptors/pd-001" - templated: true - type: "application/json" - title: "The newly created FallbackConfigurationDescriptor" + - type: object + properties: + _links: + type: object + description: Hypermedia links for fallback descriptor + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/plan-management/v1/fallback-descriptors/pd-001" + templated: true + type: "application/json" + title: "The newly created FallbackConfigurationDescriptor" - TriggerDescriptor: + TriggerDescriptorRequest: + allOf: + - $ref: '#/components/schemas/TriggerDescriptorBaseProperties' + + TriggerDescriptorResponse: + allOf: + - $ref: '#/components/schemas/TriggerDescriptor' + - type: object + properties: + _links: + type: object + description: Hypermedia links for trigger descriptor + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/plan-management/v1/trigger-descriptors/trigger-001" + templated: true + type: "application/json" + title: "The newly created TriggerDescriptor" + + TriggerDescriptorBaseProperties: type: object required: - conditionExpression - evaluationPeriod + - activationJobs properties: - id: - type: string - description: Unique id of the plan configuration descriptor - example: "trigger-001" name: type: string description: Descriptive name of the trigger descriptor @@ -1413,7 +1437,7 @@ components: version: type: string description: an optional version for the Trigger Descriptor - example: "v1.0" + example: "1.0.0" customProperties: type: object description: A dynamic set of custom properties provided by client @@ -1423,42 +1447,22 @@ components: location: Dublin conditionExpression: type: string - description: The condition expression ##BALAZS JEX on NRM - OPEN + description: The condition expression activationJobs: type: array items: type : string description: The identifiers of one or more activation jobs that shall be triggered by this condition. - startAt: + startEvaluationAt: type: string format: date-time description: The date and time at which the evaluation of the condition expression shall start. The evaluation result is set to "False" before that date and time. If the information element is not specified, evaluation of the trigger condition shall start immediately. example: "2025-03-06T16:50:26-08:00" - stopAt: + stopEvaluationAt: type: string format: date-time description: The date and time at which the evaluation of the condition expression shall stop. The evaluation result is set to "False" after that date and time. If the information element is not specified, evaluation of the trigger condition shall continue until the deletion of the trigger condition descriptor. example: "2025-03-06T16:50:26-08:00" - currentEvaluationResult: - type: boolean - default : false - description: The current result of evaluating the "condition-expression". - example: false - lastModifiedAt: - type: string - format: date-time - description: The date and time at which the trigger condition was modified the last time by a MnS consumer. Upon creation of the trigger condition descriptor the value of the information element is set to the date and time at which the descriptor is created. - example: "2025-03-06T16:50:29-08:00" - lastTriggeredAt: - type: string - format: date-time - description: Th date and time at which the evaluation result of the trigger condition changed the last time from "False" to "True". - example: "2025-03-06T16:50:29-08:00" - isTriggerActive: - type: boolean - default : false - description: The indication if the trigger can start activation jobs (trigger is active), or if the trigger cannot start activation jobs (trigger is inactive). - example: false isTriggerOnce: type: boolean default : true @@ -1468,85 +1472,102 @@ components: type: integer description: The evaluation period specifies the interval of time in seconds between two consecutive condition expression evaluations. hysteresis: - type: integer + type: object + allOf: + - $ref: '#/components/schemas/Hysteresis' description: The hysteresis, when present, specifies that the trigger shall not be activated immediately when the evaluation result changes from false to true or a specified number of times. Values greater or equal to 1 are allowed + additionalProperties: true - TriggerDescriptorResponse: + Hysteresis: type: object - required: - - id - - conditionExpression - - evaluationPeriod - - isTriggerOnce - - currentEvaluationResult - - isTriggerActive - allOf: - - $ref: '#/components/schemas/TriggerDescriptor' properties: - _links: - type: object - description: Hypermedia links for trigger descriptor - allOf: - - $ref: '#/components/schemas/SelfLink' - example: - self: - href: "{root-url}/plan-management/v1/trigger-descriptors/trigger-001" - templated: true - type: "application/json" - title: "The newly created TriggerDescriptor" + timeOfTrueEvaluations: + type: integer + description: The hysteresis, when present, specifies that the trigger shall not be activated immediately, when the evaluation result changes from false to true, but only when the evaluation results is true for a specified time (which must be a multiple of the evaluation period). Unit is seconds + numberOfTrueEvaluations: + type: integer + description: This information element, when present, specifies that the trigger shall not be activated immediately, when the evaluation result changes from false to true, but only when the evaluation results is true for a specified time (which must be a multiple of the evaluation period) or a specified number of times. + + TriggerDescriptor: + allOf: + - $ref: '#/components/schemas/TriggerDescriptorBaseProperties' + - type: object + properties: + id: + type: string + description: Unique id of the plan configuration descriptor + example: "trigger-001" + currentEvaluationResult: + type: boolean + default : false + description: The current result of evaluating the "condition-expression". + example: false + lastModifiedAt: + type: string + format: date-time + description: The date and time at which the trigger condition was modified the last time by a MnS consumer. Upon creation of the trigger condition descriptor the value of the information element is set to the date and time at which the descriptor is created. + example: "2025-03-06T16:50:29-08:00" + lastTriggeredAt: + type: string + format: date-time + description: The date and time at which the evaluation result of the trigger condition changed the last time from "False" to "True". + example: "2025-03-06T16:50:29-08:00" + isTriggerActive: + type: boolean + default : false + description: The indication if the trigger can start activation jobs (trigger is active), or if the trigger cannot start activation jobs (trigger is inactive). + example: false + required: + - conditionExpression + - evaluationPeriod DescriptorListEntry: - type: array - items: - type: object - properties: - id: - type: string - description: id of the descriptor. - example: plan-descriptor-1 - name: - type: string - description: name of the descriptor. - example: Dublin East Rollout - description: - type: string - description: description/purpose of the descriptor. - example: plan-descriptor-1 - required : - - id - - name - - JobListEntry: type: object - allOf: - - $ref: '#/components/schemas/JobState' properties: id: type: string - description: id of the job. - example: plan-job-1 + description: id of the descriptor. + example: plan-descriptor-1 name: type: string - description: name of the job. - example: Dublin East Rollout Job + description: name of the descriptor. + example: Dublin East Rollout + version: + type: string + description: version of the descriptor. + example: "1.0.0" description: type: string - description: description/purpose of the job. - example: Job to do dublin east rollout + description: description/purpose of the descriptor. + example: "plan-descriptor-1" required : - id - - name - - jobState - - ActivationJob: - type: object + + JobListEntry: allOf: - - $ref: '#/components/schemas/JobState' + - type: object + properties: + id: + type: string + description: id of the job. + example: plan-job-1 + name: + type: string + description: name of the job. + example: Dublin East Rollout Job + description: + type: string + description: description/purpose of the job. + example: Job to do dublin east rollout + jobState: + $ref: '#/components/schemas/JobState' + required : + - id + - jobState + + ActivationJobWritableProperties: + type: object properties: - id: - type: string - description: id of the activation job - example: "job-id-3985199134" name: type: string description: Name of the activation job @@ -1560,14 +1581,10 @@ components: description: The consumer that created and/or started the job. It may indicated a human user and/or one or more applications initiating the job. E.g. ["userid:janedoe", "appid:12314"] items: type: string - createdFallbackConfigDescrId: - type: string - description: Id of the created Fallback Plan Configuration Descriptor - example: "fallback-plan-descriptor-001" isFallbackEnabled: type: boolean description: Whether fallback should be enabled for this job - default: true + default: false serviceImpact: type: string enum: [LEAST_SERVICE_IMPACT, SHORTEST_TIME] @@ -1577,115 +1594,129 @@ components: type: boolean description: Specifies if the activation job shall start immediately or, alternatively, by conditional activation. default: true - jobState: - allOf: - - $ref: '#/components/schemas/JobState' - jobDetails: - allOf: - - $ref: '#/components/schemas/JobDetails' - activationState: - allOf: - - $ref: '#/components/schemas/ActivationState' - activationDetails: - allOf: - - $ref: '#/components/schemas/LinkObject' - - type: object - properties: - href: - type: string - title: A URI reference to the activation details - example: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/activation-details" - title: - type: string - enum: - - "Link to the activation details" - method: - type: string - enum: - - "GET" - type: - type: string - description: The content type expected when following this link (MIME type). - default: "application/json" - oneOf: - - type: object # Alt.1 planConfigDescrId - required: - - planConfigDescrId + oneOf: + - $ref: '#/components/schemas/PlanRef' + - $ref: '#/components/schemas/PlanGroupRef' + - $ref: '#/components/schemas/EmbeddedPlan' + - $ref: '#/components/schemas/EmbeddedPlanGroup' + - $ref: '#/components/schemas/FallbackPlanRef' + example: + { + "name" : "5G-Dublin-East-Rollout", + "description" : "Optimize the 5G network in Dublin East", + "planConfigDescr" : { + "activationMode" : "ATOMIC", + "customProperties" : { + "technology-type": "NR", + "location": "Dublin" + }, + "configChangesContentType" : "YANG_BASED", + "configChanges": [ + { + "modifyOperator": "merge", + "changeId": "Dublin-Center_DC-01_555777999", + "target": "/SubNetwork=Dublin-Center/ManagedElement=DC-001/NRCellDU=1", + "value": { + "ssbDuration": 2 + } + } + ] + } + } + + PlanRef: + type: object + required: [planConfigDescrId] + properties: + planConfigDescrId: + type: string + + EmbeddedPlan: + type: object + required: [planConfigDescr] + properties: + planConfigDescr: + $ref: '#/components/schemas/PlanConfigurationDescriptorRequest' + + PlanGroupRef: + type: object + required: [planConfigGroupDescrId] + properties: + planConfigGroupDescrId: + type: string + + EmbeddedPlanGroup: + type: object + required: [planConfigGroupDescr] + properties: + planConfigGroupDescr: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' + + FallbackPlanRef: + type: object + required: [fallbackConfigDescrId] + properties: + fallbackConfigDescrId: + type: string + + ActivationJobStatus: + allOf: + - type: object properties: - planConfigDescrId: - type: string - description: Unique id reference to the plan descriptor to activate - example: "planxyz" - - type: object # Alt.2 planConfigDescr embedded - required: - - planConfigDescr + jobState: { $ref: '#/components/schemas/JobState' } + activationState: { $ref: '#/components/schemas/ActivationState' } + startedAt: { type: string, format: date-time } + stoppedAt: { type: string, format: date-time } + required: [jobState, activationState] + + + ActivationJob: + allOf: + - $ref: '#/components/schemas/ActivationJobWritableProperties' + - type: object properties: - planConfigDescr: - type: object - description: Inline plan configuration descriptor to activate + id: + type: string + description: id of the activation job + example: "job-id-3985199134" + jobState: allOf: - - $ref: '#/components/schemas/PlanConfigurationDescriptor' - example: - name: "myjob-111" - activationMode: "BEST_EFFORT" - customProperties: { - techology-type: "NR", - indoor: false - } - configChanges: - ... - - type: object # Alt.3 planConfigGroupDescrId - required: - - planConfigGroupDescrId # Alt.3 planConfigGroupDescrId - properties: - planConfigGroupDescrId: + - $ref: '#/components/schemas/JobState' + example: "COMPLETED" + activationState: + allOf: + - $ref: '#/components/schemas/ActivationState' + example: "ACTIVATED" + startedAt: type: string - description: Unique id reference to the plan group descriptor to activate - example: "plan-group-xyz" - - type: object # Alt.4 planConfigGroupDescr embedded - required: - - planConfigGroupDescr - properties: - planConfigGroupDescr: + format: date-time + example: "2024-12-02T13:16:54.088Z" + stoppedAt: type: string - description: Inline plan group descriptor to activate + format: date-time + example: "2024-12-02T13:16:58.088Z" + jobDetails: allOf: - - $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' - - type: object # Alt.5 fallbackConfigDescrId - required: - - fallbackConfigDescrId - properties: - fallbackConfigDescrId: + - $ref: '#/components/schemas/JobDetails' + activationDetails: + allOf: + - $ref: '#/components/schemas/ExecutionDetails' + cancelRequest: + type: boolean + description: This boolean attribute allows to request to cancel the activation process by setting its value to "True". Setting the value to "False" has no observable result. Once the value is set to "True" it is immutable + default: false + createdFallbackConfigDescrId: type: string - description: Unique id reference to the fallback descriptor to activate - example: "planxyz" - example: - { - id : "myjob-111", - name : "5G-Dublin-East-Rollout", - description : "Optimize the 5G network in Dublin East", - isFallbackEnabled : true, - serviceImpact : "SHORTEST_TIME", - isImmediateActivation : true, - jobState : "CREATED", - jobDetails : "", - startedAt : "", - activationState : "NOT_STARTED", - activationDetails : { - href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/activation-details", - templated: true, - type: "application/json", - title: "The activation details of the plan configuration(s)", - method : "GET" - }, - planConfigDescrId : "plan-descriptor-001", - } - additionalProperties : true + description: Id of the created Fallback Plan Configuration Descriptor + example: "fallback-plan-descriptor-001" + _links: + $ref: '#/components/schemas/ActivationJobLinks' + required: [id, jobState, jobDetails, activationState, activationDetails, _links] + additionalProperties : true - ActivationJobRequest: - type: object + ValidationJobRequest: allOf: - - $ref: '#/components/schemas/ActivationJob' + - $ref: '#/components/schemas/ValidationJobBaseProperties' example: { "name" : "5G-Dublin-East-Rollout", @@ -1696,109 +1727,23 @@ components: "technology-type": "NR", "location": "Dublin" }, - "configChangesContentType" : "application/vnd.3gpp.yang-patch+json", - "configChanges": { - ... - } + "configChangesContentType" : "YANG_BASED", + "configChanges": [ + { + "modifyOperator": "merge", + "changeId": "Dublin-Center_DC-01_555777999", + "target": "/SubNetwork=Dublin-Center/ManagedElement=DC-001/NRCellDU=1", + "value": { + "ssbDuration": 2 + } + } + ] } } - ActivationJobResponse: - type: object - required: - - id - - jobState - - jobDetails - - activationState - - activationDetails - - isImmediateActivation - - isFallbackEnabled - - serviceImpact - allOf: - - $ref: '#/components/schemas/ActivationJob' - properties: - _links: - description: Hypermedia links for this resource, including fixed and dynamic relations - allOf: - - $ref: '#/components/schemas/JobLinks' - - type: object - properties: - self: - allOf: - - $ref: '#/components/schemas/LinkObject' - - type: object - properties: - href: - type: string - default: "{apiRoot}/plan-management/v1/plan-activation-jobs/{ActivationJobId}" - title: - type: string - enum: - - "Link to the plan activation job" - method: - type: string - enum: - - "GET" - example: - href: "{apiRoot}/plan-management/v1/plan-activation-jobs/activation-job-001" - title: "Link to the plan activation job" - type: "application/json" - templated: true - method: GET - fallback: - allOf: - - $ref: '#/components/schemas/LinkObject' - description: A URI reference to the fallback plan descriptor - example: - href: "{apiRoot}/plan-management/v1/plan-descriptor/myjob-111-fallback" - templated: true - type: "application/json" - title: "A URI reference to the fallback plan descriptor" - method: GET - ##EDITOR other links are missing. We have more in the examples -> additionalProperties to allow any other dynamic links LATER - additionalProperties: - $ref: '#/components/schemas/LinkObject' - example: - self: - href: "{apiRoot}/plan-management/1900/plan-activation-jobs/myjob-111" - templated: true - type: "application/json" - title: "The newly created activation job" - method : "GET" - planDescriptor: - href: "{apiRoot}/plan-management/v1/plan-descriptors/planxyz" - templated: true - type: "application/json" - title: "plan descriptor link" - method : "GET" - status: - href: "{apiRoot}/plan-management/1900/plan-activation-jobs/myjob-111/status" - templated: true - type: "application/json" - title: "activation status link" - method : "GET" - cancel: - href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/cancel-request" - templated: true - type: "application/json" - title: "cancel the job" - method : "PUT" - fallbackPlan: - href: "{apiRoot}/plan-management/v1/plan-descriptors/myfallback-plan-111" - templated: true - type: "application/json" - title: "fallback plan descriptor link" - method : "GET" - - ValidationJob: - type: object - allOf: - - $ref: '#/components/schemas/JobState' + ValidationJobBaseProperties: + type: object properties: - id: - type: string - description: id of the validation job - example: "job-id-3985199134" name: type: string description: Name of the validation job @@ -1818,193 +1763,94 @@ components: default : "CONTINUE_ON_ERROR" description: Specifies the execution behavior when the plan is activated - oneOf: - - type: object # Alt.1 planConfigDescrId - required: - - planConfigDescrId - properties: - planConfigDescrId: - type: string - description: Unique id reference to the plan descriptor to validate - example: "planxyz" - - type: object # Alt.2 planConfigDescr embedded - required: - - planConfigDescr - properties: - planConfigDescr: - type: object - description: Inline plan configuration descriptor to validate - allOf: - - $ref: '#/components/schemas/PlanConfigurationDescriptor' - example: - name: "myjob-111" - activationMode: "BEST_EFFORT" - customProperties: { - techology-type: "NR", - indoor: false - } - configChanges: - ... - - type: object # Alt.3 planConfigGroupDescrId - required: - - planConfigGroupDescrId - properties: - planConfigGroupDescrId: - type: string - description: Unique id reference to the plan group descriptor to validate - example: "plan-group-xyz" - - type: object # Alt.4 planConfigGroupDescr embedded - required: - - planConfigGroupDescr - properties: - planConfigGroupDescr: - type: string - description: Inline plan group descriptor to validate - allOf: - - $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' - - type: object # Alt.5 fallbackConfigDescrId - required: - - fallbackConfigDescrId - properties: - fallbackConfigDescrId: - type: string - description: Unique id reference to the fallback descriptor to validate - example: "planxyz" - additionalProperties : true - - ValidationJobRequest: - type: object - allOf: - - $ref: '#/components/schemas/ValidationJob' + oneOf: + - $ref: '#/components/schemas/PlanRef' + - $ref: '#/components/schemas/PlanGroupRef' + - $ref: '#/components/schemas/EmbeddedPlan' + - $ref: '#/components/schemas/EmbeddedPlanGroup' + - $ref: '#/components/schemas/FallbackPlanRef' example: { "name" : "5G-Dublin-East-Rollout", "description" : "Optimize the 5G network in Dublin East", - "planDescriptor" : { + "planConfigDescr" : { "activationMode" : "ATOMIC", "customProperties" : { "technology-type": "NR", "location": "Dublin" }, - "configChanges": { - ... - } + "configChangesContentType" : "YANG_BASED", + "configChanges": [ + { + "modifyOperator": "merge", + "changeId": "Dublin-Center_DC-01_555777999", + "target": "/SubNetwork=Dublin-Center/ManagedElement=DC-001/NRCellDU=1", + "value": { + "ssbDuration": 2 + } + } + ] } } + additionalProperties : true - ValidationJobResponse: - type: object - required: - - id - - jobState - - jobDetails - - validationState - - validationDetails + ValidationJob: allOf: - - $ref: '#/components/schemas/ValidationJob' + - $ref: '#/components/schemas/ValidationJobBaseProperties' + - $ref: '#/components/schemas/ValidationJobStatus' + - type: object + properties: + id: + type: string + description: id of the validation job + example: "job-id-3985199134" + currentConfigTime: + type: string + format : date-time + description: The date and time of the current configuration state against which the planned configuration or planned configuration group is validated. + cancelRequest: + type: boolean + description: boolean indicating the request of a job cancellation + default: false + example: true + jobDetails: + $ref: '#/components/schemas/JobDetails' + validationDetails: + $ref: '#/components/schemas/ExecutionDetails' + _links: + $ref: '#/components/schemas/ValidationJobLinks' + required: + - id + - jobState + - jobDetails + - cancelRequest + - validationMode + - validationState + - validationDetails + - _links + + ValidationJobStatus: + type: object + required: [jobState, validationState] properties: - cancelRequest: - type: boolean - description: boolean indicating the request of a job cancellation - example: true - currentConfigTime: - type: string - format : DateTime - description: The date and time of the current configuration state against which the planned configuration or planned configuration group is validated. - jobDetails: - allOf: - - $ref: '#/components/schemas/JobDetails' jobState: allOf: - $ref: '#/components/schemas/JobState' + example: "COMPLETED" validationState: allOf: - $ref: '#/components/schemas/ValidationState' - validationDetails: - allOf: - - $ref: '#/components/schemas/LinkObject' - - type: object - properties: - href: - type: string - title: A URI reference to the validation details - example: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/validation-details" - title: - type: string - enum: - - "Link to the validation details" - method: - type: string - enum: - - "GET" - type: - type: string - description: The content type expected when following this link (MIME type). - default: "application/json" - _links: - description: Hypermedia links for this resource, including fixed and dynamic relations - allOf: - - $ref: '#/components/schemas/JobLinks' - - type: object - properties: - self: - allOf: - - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema - - type: object - properties: - href: - type: string - default: "{apiRoot}/plan-management/v1/validation-jobs/{ValidationJobId}" - title: - type: string - enum: - - "Link to the plan validation job" - method: - type: string - enum: - - "GET" # This means the method MUST be "GET" - example: - href: "{apiRoot}/plan-management/v1/validation-jobs/validation-job-001" - title: "Link to the plan validation job" - type: "application/json" - templated: true - method: GET - # additionalProperties to allow any other dynamic links - additionalProperties: - $ref: '#/components/schemas/LinkObject' - example: - self: - href: "{apiRoot}/plan-management/1900/plan-activation-jobs/myjob-111" - templated: true - type: "application/json" - title: "The newly created activation job" - method : "GET" - planDescriptor: - href: "{apiRoot}/plan-management/v1/plan-descriptors/planxyz" - templated: true - type: "application/json" - title: "plan descriptor link" - method : "GET" - status: - href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/status" - templated: true - type: "application/json" - title: "activation status link" - method : "GET" - cancel: - href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/cancel-request" - templated: true - type: "application/json" - title: "cancel the job" - method : "POST" - fallbackPlan: - href: "{apiRoot}/plan-management/v1/plan-descriptors/myfallback-plan-111" - templated: true - type: "application/json" - title: "fallback plan descriptor link" - method : "GET" + example: "NOT_VALIDATED" + startedAt: + type: string + format: date-time + example: "2024-12-02T13:16:54.088Z" + stoppedAt: + type: string + format: date-time + example: "2024-12-02T13:16:58.088Z" - ConfigChange: + ConfigChangeWritable: type: object properties: modifyOperator: @@ -2021,9 +1867,7 @@ components: description: Target data node path example: "/_3gpp-common-subnetwork:SubNetwork=Irl/3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=1/_3gpp_nrm_nrcelldu:NRCellDU=4" changeId: - description: Unique identifier for this change. Its value must be unique in any list of changes in a PlanDescriptor. - MnSProducer may ignore this property even if provided in favour of an auto-positional positional index of the changes array. - If not provided the response will default to changeIndex + description: The identifier of the operation. It may or may not be provided If provided, it shall be unique within an instance of "configChanges" and it shall be provided for all changes in "configChanges". example: "cell-operation-001" value: type: object @@ -2031,115 +1875,308 @@ components: description: Value to apply (for create/merge/merge-create operations) additionalProperties: true # Allows for additional properties to be provided required: - - operation + - modifyOperator - target - ConfigChangeInResponse: - description: Represents a single change operation that combines a base definition - with mutually exclusive identification methods (ID or Index). + ConfigChange: + type: object + properties: + modifyOperator: + type: string + enum: [create, merge, merge-create, delete] + description: The operation to perform + example: "create" + description: + type: string + description: text describing the change + example: "modify NR cell for optimisation" + target: + type: string + description: Target data node path + example: "/_3gpp-common-subnetwork:SubNetwork=Irl/3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=1/_3gpp_nrm_nrcelldu:NRCellDU=4" + value: + type: object + additionalProperties: true # Allows any nested properties within 'value' + description: Value to apply (for create/merge/merge-create operations) + changeId: + type: string + description: The identifier of the operation. It may or may not be provided. If provided, it shall be unique within an instance of "configChanges" and it shall be provided for all changes in "configChanges". + example: "cell-operation-001" + additionalProperties: true # Allows for additional properties to be provided + required: + - modifyOperator + - target + + ActivationJobLinks: allOf: - - $ref: '#/components/schemas/ConfigChange' - - type: object properties: - - changeIndex: - type: integer - description: Location index of the change in a list of changes. - example: 0 - - # enforces that only one of changeId or changeIndex are used by the MnSProducer - oneOf: - # Option 1: Must have changeId AND must NOT have changeIndex - - required: - - changeId - not: - required: [ changeIndex ] - - # Option 2: Must have changeIndex AND must NOT have changeId - - required: - - changeIndex - not: - required: [ changeId ] - - JobLinks: - type: object + self: + allOf: + - $ref: '#/components/schemas/LinkObject' + - type: object + properties: + href: + type: string + default: "{apiRoot}/plan-management/v1/plan-activation-jobs/{activationJobId}" + title: + type: string + enum: + - "Link to the plan activation job" + method: + type: string + enum: + - "GET" + example: + href: "{apiRoot}/plan-management/v1/plan-activation-jobs/activation-job-001" + title: "Link to the plan activation job" + type: "application/json" + templated: true + method: GET + descriptor: + description: A URI reference to the plan or plan group configuration descriptor + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + example: "{apiRoot}/plan-management/v1/plan-descriptors/{id}" + title: + type: string + enum: + - "Link to the plan (or plan group) configuration descriptor" + method: + type: string + enum: + - "GET" # This means the method MUST be "GET" + example: + href: "{apiRoot}/plan-management/v1/plan-descriptors/plan-descriptor-001" + title: "Link reference to the plan (or plan group) configuration descriptor" + type: "application/json" + templated: true + method: GET + status: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/plan-management/v1/plan-activation-jobs/{id}/status" + title: + type: string + enum: + - "Link to GET the job status" + method: + type: string + enum: + - "GET" # This means the method MUST be "GET" + description: A URI reference to the status information + example: + href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/status" + title: "Link to GET the job status" + type: "application/json" + templated: true + method: GET + validationDetails: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/plan-management/v1/plan-activation-jobs/{id}/activation-details" + title: + type: string + enum: + - "Link to GET the job details" + method: + type: string + enum: + - "GET" + description: A URI reference to the status information + example: + href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/status" + title: "Link to GET the job status" + type: "application/json" + templated: true + method: GET + cancel: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link + - type: object + properties: + href: + type: string + default: "{apiRoot}/plan-management/v1/plan-activation-jobs/{id}" + title: + type: string + enum: + - "Link to cancel the job" + method: + type: string + enum: + - "PATCH" + description: A URI reference to cancel the job + example: + href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111" + title: "Link to cancel the job" + type: "application/json" + templated: true + method: PATCH + fallback: + allOf: + - $ref: '#/components/schemas/LinkObject' + description: A URI reference to the fallback plan descriptor + example: + href: "{apiRoot}/plan-management/v1/fallback-descriptors/fallback-myjob-111" + templated: true + type: "application/json" + title: "A URI reference to the fallback plan descriptor" + method: GET + # additionalProperties to allow any other dynamic links + additionalProperties: + $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + required: + - self + - descriptor + - status + - validationDetails + - cancel + + ValidationJobLinks: allOf: - - $ref: '#/components/schemas/SelfLink' - properties: - planDescriptor: - description: A URI reference to the plan (or plan group) configuration descriptor - allOf: - - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema - - type: object - properties: - href: - type: string - default: "{apiRoot}/plan-management/v1/plan-descriptors/{planDescriptorId}" - title: - type: string - enum: - - "Link to the plan (or plan group) configuration descriptor" - method: - type: string - enum: - - "GET" # This means the method MUST be "GET" + - type: object + properties: + self: + allOf: + - $ref: '#/components/schemas/LinkObject' + - type: object + properties: + href: + type: string + default: "{apiRoot}/plan-management/v1/plan-validation-jobs/{validationJobId}" + title: + type: string + enum: + - "Link to the plan validation job" + method: + type: string + enum: + - "GET" + example: + href: "{apiRoot}/plan-management/v1/plan-validation-jobs/val-job-001" + title: "Link to the plan validation job" + type: "application/json" + templated: true + method: GET + descriptor: + description: A URI reference to the plan (or plan group) configuration descriptor + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + example: "{apiRoot}/plan-management/v1/plan-descriptors/{id}" + title: + type: string + enum: + - "Link to the plan (or plan group) configuration descriptor" + method: + type: string + enum: + - "GET" + example: + href: "{apiRoot}/plan-management/v1/plan-descriptors/plan-descriptor-001" + title: "Link reference to the plan (or plan group) configuration descriptor" + type: "application/json" + templated: true + method: GET + status: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/plan-management/v1/plan-validation-jobs/{id}/status" + title: + type: string + enum: + - "Link to GET the job status" + method: + type: string + enum: + - "GET" + description: A URI reference to the status information example: - href: "{apiRoot}/plan-management/v1/plan-descriptors/plan-descriptor-001" - title: "Link reference to the plan (or plan group) configuration descriptor" + href: "{apiRoot}/plan-management/v1/plan-validation-jobs/myjob-111/status" + title: "Link to GET the job status" type: "application/json" templated: true method: GET - status: - allOf: - - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema - - type: object - properties: - href: - type: string - default: "{apiRoot}/plan-management/v1/plan-activation-jobs/{jobId}/status" - title: - type: string - enum: - - "Link to GET the job status" - method: - type: string - enum: - - "GET" # This means the method MUST be "GET" - description: A URI reference to the status information - example: - href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/status" - title: "Link to GET the job status" - type: "application/json" - templated: true - method: GET - cancel: - allOf: - - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema - - type: object - properties: - href: - type: string - default: "{apiRoot}/plan-management/v1/plan-{job-type}-jobs/{jobId}/cancel-request" - title: - type: string - enum: - - "Link to cancel the job" - method: - type: string - enum: - - "PUT" # This means the method MUST be "PUT" - description: A URI reference to cancel the job - example: - href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/cancel-cancel-request" - title: "Link to cancel the job" - type: "application/json" - templated: true - method: POST + validationDetails: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/plan-management/v1/plan-validation-jobs/{id}/activation-details" + title: + type: string + enum: + - "Link to GET the job details" + method: + type: string + enum: + - "GET" + description: A URI reference to the status information + example: + href: "{apiRoot}/plan-management/v1/plan-validation-jobs/myjob-111/status" + title: "Link to GET the job status" + type: "application/json" + templated: true + method: GET + cancel: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link + - type: object + properties: + href: + type: string + default: "{apiRoot}/plan-management/v1/plan-validation-jobs/{id}" + title: + type: string + enum: + - "Link to cancel the job" + method: + type: string + enum: + - "PATCH" + description: A URI reference to cancel the job + example: + href: "{apiRoot}/plan-management/v1/plan-validation-jobs/myjob-111" + title: "Link to cancel the job" + type: "application/json" + templated: true + method: PATCH + # additionalProperties to allow any other dynamic links + additionalProperties: + $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + required: + - self + - descriptor + - status + - validationDetails + - cancel JobState: type: string enum: [NOT_STARTED, QUEUED, RUNNING, CANCELLING, CANCELLED, COMPLETED, FAILED] + default: NOT_STARTED example: "COMPLETED" JobDetails: @@ -2151,98 +2188,57 @@ components: items: $ref: '#/components/schemas/ErrorDetail' additionalProperties: true - - ActivationJobStatus: - properties: - jobState: - allOf: - - $ref: '#/components/schemas/JobState' - example: "COMPLETED" - activationState: - allOf: - - $ref: '#/components/schemas/ActivationState' - example: "ACTIVATED" - startedAt: - type: string - format: date-time - example: "2024-12-02T13:16:54.088Z" - stoppedAt: - type: string - format: date-time - example: "2024-12-02T13:16:58.088Z" - - ValidationJobStatus: - properties: - jobState: - allOf: - - $ref: '#/components/schemas/JobState' - example: "COMPLETED" - validationState: - allOf: - - $ref: '#/components/schemas/ValidationState' - example: "VALID" - startedAt: - type: string - format: date-time - example: "2024-12-02T13:16:54.088Z" - stoppedAt: - type: string - format: date-time - example: "2024-12-02T13:16:58.088Z" + ExecutionDetails: type: object description: Details of the execution of the operations that are contained in the planned configuration or planned configuration group referenced in the job. properties: + summary: + $ref: '#/components/schemas/SummaryStatus' results: type: array items: - type: object - properties: - planDescriptorId: - type: string - example: "planconfig-descriptor-001" - changes: - type: array - items: - $ref: '#/components/schemas/ChangeStatus' + $ref: '#/components/schemas/Result' memberConflicts: type: array items: $ref: '#/components/schemas/MemberConflict' - summary: - $ref: '#/components/schemas/SummaryStatus' example: - { - "results": { ...}, - "memberConflicts": { ...}, - "summary" : {...} - } + summary: + notFinished: 0 + succeeded: 1 + failed: 0 + rollbackSucceeded: 0 + rollbackFailed: 0 + conflicting: 0 + results: [] + memberConflicts: [] + ValidationState: type: string enum: [UNKNOWN, VALIDATION_SUCCEEDED, VALIDATION_FAILED] - example: "VALIDATED" + example: "VALIDATION_SUCCEEDED" ActivationState: type: string - enum: [NOT_STARTED, VALIDATING, ACTIVATED, ACTIVATION_FAILED, PARTIALLY_ACTIVATED, ACTIVATION_FAILED_ROLLED_BACK, ACTIVATION_FAILED_ROLLBACK_FAILED] + enum: [NOT_STARTED, ACTIVATED, ACTIVATION_FAILED, PARTIALLY_ACTIVATED, ACTIVATION_FAILED_ROLLED_BACK, ACTIVATION_FAILED_ROLLBACK_FAILED] example: "ACTIVATED" - ChangeStatus: + Result: type: object + description: Details of the execution of the operations that are contained in the planned configuration. properties: planConfigDescrId: type: string - description : The schange status may optionally include the planDescriptor Id + description : If planned configuration groups are activated, this information elements specifies the planned configuration descriptor identifier, for which error details are reported. If a planned configuration is activated or validated, this information element is absent. example: "descriptor-001" - changeId: - type: string - example: "changeId-001" state: type: string enum: [NOT_STARTED, PROCESSING, SUCCEEDED, FAILED] default: NOT_STARTED + description: The state of the operation activation. example: "SUCCEEDED" target: type: string @@ -2252,9 +2248,23 @@ components: items: $ref: '#/components/schemas/ErrorDetail' required: - - changeId # either the chanId or the array index in the array of ChangeBaseProperties; - target - state + oneOf: + - required: + - changeId + properties: + changeId: + type: string + description: The identifier of the operation. It may or may not be provided If provided, it shall be unique within an instance of "configChanges" and it shall be provided for all changes in "configChanges". + example: "change-cell-001-1" + - required: + - changeIndex + properties: + changeIndex: + type: integer + description: The identification of the operation. It is the positional index of the operation in the operation set ("changeIndex"). The positional index of the leftmost element is "0". Exactly one of "changeId" or "changeIndex" shall be provided. + example: 0 example: changeId: changeId-002-update-config target: /SubNetwork=1/MeContext=2/ManagedElement=3 @@ -2262,8 +2272,7 @@ components: errors: - type: VALIDATION_ERROR title: Validation Error - status: 400 - reason: NEW_ATTRIBUTE_VALUE_INVALID + reason: VALUE_INVALID detail: The provided value 'some-value' for 'someAttr' is not allowed. Valid values are 'some-value-x', 'some-value-y'. path: /SubNetwork=1/MeContext=2/ManagedElement=3/attributes/someAttr errorInfo: @@ -2302,35 +2311,54 @@ components: MemberOp: type: object + description: The identification of two or more operation members that have a conflict. properties: planConfigDescrId: type: string - changeId: + description: The plan configuration descriptor Id. + target: + description: The path of the target change resource. type: string - description: The changeId as provided in the request. - example: "0" - changeIndex: - type: integer - description: Location index of the change in a list of changes. - example: 0 - - # enforces that only one of either changeId or changeIndex is used - # if changeId is not provided then the changeIndex will be used by default - oneOf: - # Option 1: Must have changeId AND must NOT have changeIndex - - required: - - changeId - not: - required: [ changeIndex ] - - # Option 2: Must have changeIndex AND must NOT have changeId - - required: - - changeIndex - not: - required: [ changeId ] required: - - planDescriptorId - + - planConfigDescrId + - target + oneOf: + - required: + - changeId + properties: + changeId: + type: string + description: The identifier of the operation. It may or may not be provided If provided, it shall be unique within an instance of "configChanges" and it shall be provided for all changes in "configChanges". + example: "change-cell-001-1" + - required: + - changeIndex + properties: + changeIndex: + type: integer + description: The identification of the operation. It is the positional index of the operation in the operation set ("changeIndex"). The positional index of the leftmost element is "0". Exactly one of "changeId" or "changeIndex" shall be provided. + example: 0 + + ConfigChangesContentType: + type: string + description: The supported configuration content types. + enum: + - YANG_BASED # confliguration format is aligned with RFC 9751 modelling specifications with some relaxed rules + - OPENAPI_BASED # confliguration format is aligned with an OpenAPI model definition + default: YANG_BASED + + CancelRequest: + type: object + properties: + cancelRequest: + type: boolean + description: Must be set to true to initiate cancellation. + # Restricts the boolean to only allow the 'true' value + enum: [true] + required: + - cancelRequest + # This ensures no other fields (like status or priority) can be sent in this specific PATCH + additionalProperties: false + ErrorDetail: type: object properties: @@ -2342,39 +2370,38 @@ components: type: string description: The type of the error enum: - - VALIDATION_ERROR - - ACTIVATION_ERROR - - RETRIEVAL_NOT_ALLOWED - - MODIFICATION_NOT_ALLOWED - - SERVER_ERROR + - SCHEMA_VALIDATION_ERROR + - DATA_NODE_TREE_ERROR + - MODIFICATION_NOT_ALLOWED + - ACCESS_CONTROL_CONFLICT - APPLICATION_LAYER_ERROR + - SERVER_ERROR + - OTHER reason: type: string enum: - - DATA_NODE_NAME_INVALID - - DATA_NODE_EXIST - - DATA_NODE_NOT_FOUND - - DATA_NODE_PARENT_NOT_FOUND - - VALUE_INVALID - - MODIFICATION_NOT_ALLOWED - - DATA_NODE_NOT_WRITABLE - - DATA_NODE_INVARIANT - - DATA_NODE_CREATION_NOT_ALLOWED - - DATA_NODE_DELETION_NOT_ALLOWED - - DATA_NODE_CARDINALITY_INVALID - - ATTRIBUTE_INVARIANT - - ATTRIBUTE_NOT_FOUND - - UNKNOWN_OPERATION + - NEW_DATA_NODE_NAME_INVALID + - NEW_DATA_NODE_VALUE_INVALID + - NEW_DATA_NODE_CONTAINMENT_INVALID + - FINAL_DATA_NODE_VALUE_INVALID + - FINAL_DATA_NODE_UNIQUENESS_INVALID + - FINAL_DATA_NODE_MULTIPLICITY_INVALID + - FINAL_DATA_NODE_CARDINALITY_INVALID + - TARGET_DATA_NODE_NOT_FOUND + - TARGET_DATA_NODE_PARENT_NOT_FOUND + - TARGET_DATA_NODE_FOUND + - TARGET_DATA_NODE_NOT_WRITABLE + - TARGET_DATA_NODE_INVARIANT + - TARGET_DATA_NODE_CREATION_NOT_ALLOWED + - TARGET_DATA_NODE_DELETION_NOT_ALLOWED - ACCESS_DENIED - - ATTRIBUTE_INDEX_BAD - - REQUEST_OBJECT_TREE_MISMATCH - OTHER - example: "ACCESS_DENIED" + example: "NEW_DATA_NODE_CONTAINMENT_INVALID" detail: type: string description: A human-readable explanation specific to this occurrence of the problem. example: "NRCellDU=1234 already exists in the network" - path: + badDataNode: type: string example: "/_3gpp-common-subnetwork:SubNetwork=Irl/_3gpp-common-mecontext:MeContext=Dublin-1" errorInfo : @@ -2383,89 +2410,7 @@ components: additionalProperties: true required: - type - - # Use oneOf and discriminator to define the mapping - oneOf: - # Define a specific schema for each 'type' enum value - - $ref: '#/components/schemas/ValidationErrorDetails' - - $ref: '#/components/schemas/ActivationErrorDetails' - - $ref: '#/components/schemas/RetrievalNotAllowedDetails' - - $ref: '#/components/schemas/ModificationNotAllowedDetails' - - $ref: '#/components/schemas/ServerErrorDetails' - - $ref: '#/components/schemas/ApplicationLayerErrorDetails' - # Add other specific error types here - - - discriminator: - propertyName: type # This is the property that determines which oneOf schema applies - mapping: - VALIDATION_ERROR: '#/components/schemas/ValidationErrorDetails' - ACTIVATION_ERROR: '#/components/schemas/ActivationErrorDetails' - RETRIEVAL_NOT_ALLOWED: '#/components/schemas/RetrievalNotAllowedDetails' - MODIFICATION_NOT_ALLOWED: '#/components/schemas/ModificationNotAllowedDetails' - SERVER_ERROR: '#/components/schemas/ServerErrorDetails' - APPLICATION_LAYER_ERROR: '#/components/schemas/ApplicationLayerErrorDetails' - - # Individual schemas for each specific error type - ValidationErrorDetails: - type: object - properties: - type: - type: string - enum: [VALIDATION_ERROR] - title: - type: string - enum: ["Validation Error"] - - ActivationErrorDetails: - type: object - properties: - type: - type: string - enum: [ACTIVATION_ERROR] - title: - type: string - enum: ["Activation Error"] - - RetrievalNotAllowedDetails: - type: object - properties: - type: - type: string - enum: [RETRIEVAL_NOT_ALLOWED] - title: - type: string - enum: ["Retrieval Not Allowed"] - - ModificationNotAllowedDetails: - type: object - properties: - type: - type: string - enum: [MODIFICATION_NOT_ALLOWED] - title: - type: string - enum: ["Modification Not Allowed"] - - ServerErrorDetails: - type: object - properties: - type: - type: string - enum: [SERVER_ERROR] - title: - type: string - enum: ["Service Error"] - - ApplicationLayerErrorDetails: - type: object - properties: - type: - type: string - enum: [APPLICATION_LAYER_ERROR] - title: - type: string - enum: ["Application Layer Error"] + - badDataNode LinkObject: type: object @@ -2515,32 +2460,4 @@ components: href: "{root-url}/help-service/v1/topics/plan-descriptors" templated: true type: "application/json" - title: "online help for the plan descriptor" - - examples: - # Reusable Configuration Change Examples - AddNrCellChange: - summary: Add a new NR Cell (create operation) - value: - modifyOperator: create - changeId: add-nr-cell-001 - description: Add new NR cell for initial deployment in Dublin-1 area. - target: /_3gpp-common-subnetwork:SubNetwork=Irl/_3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=1/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp_nrm_nrcelldu:NRCellDU=4 - value: - ... - UpdateNrCellChange: - summary: Update an existing NR Cell (merge operation) - value: - modifyOperator: merge - changeId: update-nr-cell-002 - description: Update administrativeState for existing NRCellDU=1. - target: /_3gpp-common-subnetwork:SubNetwork=North/_3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=ENB-A/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp_nrm_nrcelldu:NRCellDU=1 - value: - ... - RemoveNrCellChange: - summary: Remove an NR Cell (delete operation) - value: - modifyOperator: delete - changeId: remove-nr-cell-003 - description: Decommission NRCellDU=3. - target: /_3gpp-common-subnetwork:SubNetwork=Irl/_3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=1/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp_nrm_nrcelldu:NRCellDU=3 \ No newline at end of file + title: "online help for the plan descriptor" \ No newline at end of file diff --git a/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml index 8dedab4eff73a9cd9a794b4dd17650453132381f..12d5bea55755f65a776475f72c2711fb4e870235 100644 --- a/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml +++ b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: External data management NRM - version: 19.5.0 + version: 20.0.0 description: >- OAS 3.0.1 definition of the External data type NRM fragment - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.623; Generic NRM, External data type NRM fragment @@ -40,7 +40,6 @@ components: uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - #-------- Definition of concrete IOCs -------------------------------------------- ExternalDataType-Single: @@ -53,6 +52,15 @@ components: properties: externalDataType: type: string + example: + - ELECTRONIC_MAP + - CAMARA_DATA + - UE_PATH + - CAMERA_PHOTO + - EVENT_SCHEDULE + - WEATHER_FORECASTS + description: >- + Type of external management data as defined by the implementation. mediaLocation: type: array uniqueItems: true diff --git a/OpenAPI/TS28623_FeatureNrm.yaml b/OpenAPI/TS28623_FeatureNrm.yaml index a9a9d95afdce5c8f57e9aa101ef39d5be1c8f988..d60e6f7be605f7468f24290c4293dc6e06881f1f 100644 --- a/OpenAPI/TS28623_FeatureNrm.yaml +++ b/OpenAPI/TS28623_FeatureNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: NRM Feautres - version: 19.6.0 + version: 20.0.0 description: >- OAS 3.0.1 definition of the Features of NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -25,9 +25,10 @@ components: - $ref: 'TS28536_CoslaNrm.yaml#/components/schemas/resources-coslaNrm' - $ref: 'TS28567_CclNrm.yaml#/components/schemas/resources-CCLNrm' - $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/resources-edgeNrm' + - $ref: 'TS28541_GenericRanNrm.yaml#/components/schemas/resources-genericRanNrm' - $ref: 'TS28541_NrNrm.yaml#/components/schemas/resources-nrNrm' - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/resources-5gcNrm' - - $ref: 'TS28541_SliceNrm.yaml#/components/schemas/resources-sliceNrm' + - $ref: 'TS28541_SliceNrm.yaml#/components/schemas/resources-sliceNrm' - $ref: 'TS28561_NdtNrm.yaml#/components/schemas/resources-ndtNrm' - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/resources-fileMgmtNrm' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/resources-genericNrm' diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index 2265caf988a51a91e9ad32ecda3da1eb3e8fd0e5..63895f7d74e4fe7b96d49e8efb063044d22ce209 100755 --- a/OpenAPI/TS28623_GenericNrm.yaml +++ b/OpenAPI/TS28623_GenericNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Generic NRM - version: 19.6.0 + version: 20.0.0 description: >- OAS 3.0.1 definition of the Generic NRM - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.623; Generic NRM @@ -211,6 +211,7 @@ components: items: $ref: '#/components/schemas/NpnId-Type' minItems: 1 + Tai: type: object properties: @@ -643,6 +644,12 @@ components: - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/SubNetwork-ncO-5GcNrm' - $ref: 'TS28318_DsoNrm.yaml#/components/schemas/SubNetwork-ncO-DsoNrm' - $ref: 'TS28310_EnergyInformationNrm.yaml#/components/schemas/SubNetwork-ncO-EnergyInformationNrm' + - $ref: 'TS28623_ExternalDataMgmtNrm.yaml#/components/schemas/SubNetwork-ncO-ExternalDataMgmtNrm' + - $ref: 'TS28561_NdtNrm.yaml#/components/schemas/SubNetwork-ncO-NDTNrm' + - $ref: 'TS28567_CclNrm.yaml#/components/schemas/SubNetwork-ncO-CCLNrm' + - $ref: 'TS28623_ExternalDataMgmtNrm.yaml#/components/schemas/SubNetwork-ncO-ExternalDataMgmtNrm' + - $ref: 'TS28561_NdtNrm.yaml#/components/schemas/SubNetwork-ncO-NDTNrm' + - $ref: 'TS28567_CclNrm.yaml#/components/schemas/SubNetwork-ncO-CCLNrm' ManagedElement-Single: allOf: @@ -660,7 +667,7 @@ components: - $ref: 'TS28536_CoslaNrm.yaml#/components/schemas/ManagedElement-ncO-CoslaNrm' - $ref: 'TS28541_NrNrm.yaml#/components/schemas/ManagedElement-ncO-NrNrm' - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/ManagedElement-ncO-5GcNrm' - + - $ref: 'TS28541_GenericRanNrm.yaml#/components/schemas/ManagedElement-ncO-GenericRanNrm' NrmRoot: oneOf: - type: object diff --git a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml index 771db70cfc04cd8055fb365cdf5c7b59cdce4998..62d1b00af8e60cfe98431bb60d90e1df7d2e7eb1 100644 --- a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml +++ b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Management Data Collection NRM - version: 20.0.0 + version: 20.1.0 description: >- OAS 3.0.1 definition of the Management Data Collection NRM fragment - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.623; Generic NRM, Management Data Collection NRM @@ -34,13 +34,17 @@ components: $ref: '#/components/schemas/mgtDataName' uniqueItems: true mgtDataCategory: - type: string - enum: - - COVERAGE - - CAPACITY - - ENERGY_EFFICIENCY - - MOBILITY - - ACCESSIBILITY + oneOf: + - type: string + enum: + - COVERAGE + - CAPACITY + - SERVICE_EXPERIENCE + - TRACE + - ENERGY_EFFICIENCY + - MOBILITY + - ACCESSIBILITY + - type: string mgtDataName: type: string NodeFilter: diff --git a/OpenAPI/TS28623_MnSRegistryNrm.yaml b/OpenAPI/TS28623_MnSRegistryNrm.yaml index 104ea62955fffaacd93d9dd034be1ecf31c990e9..ac75dcdf21dc9c1aa542bc04ae7de2f487e50c2f 100644 --- a/OpenAPI/TS28623_MnSRegistryNrm.yaml +++ b/OpenAPI/TS28623_MnSRegistryNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: MnS Registry NRM - version: 19.6.0 + version: 20.0.0 description: >- OAS 3.0.1 definition of the MnS Registry NRM fragment - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.623; Generic NRM, MnS Registry NRM @@ -17,7 +17,7 @@ components: type: object properties: MnsRegistry: - $ref: '#/components/schemas/MnsRegistry-Single' + $ref: '#/components/schemas/MnsRegistry-Multiple' #-------Definition of generic IOCs ----------# @@ -120,18 +120,27 @@ components: description: -> It defines the information about the management scope of the Management Service. oneOf: - - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' - - type: array - uniqueItems: true - items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + - type: object + properties: + objectInstanceList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + - type: object + properties: + geoAreasList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + - type: object + properties: + taiList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' MgmtDataInfo-Single: allOf: @@ -200,6 +209,11 @@ components: #-------- Definition of YAML arrays for name-contained IOCs ---------------------- + MnsRegistry-Multiple: + type: array + items: + $ref: '#/components/schemas/MnsRegistry-Single' + MnsInfo-Multiple: type: array items: diff --git a/OpenAPI/TS28623_TraceControlNrm.yaml b/OpenAPI/TS28623_TraceControlNrm.yaml index de165e2fbcab74cb1e2a731ebcea976a94508188..6e6912126589c38225c93eb385dca884c4dff831 100644 --- a/OpenAPI/TS28623_TraceControlNrm.yaml +++ b/OpenAPI/TS28623_TraceControlNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Trace Control NRM - version: 19.5.0 + version: 19.6.0 description: >- OAS 3.0.1 definition of the Trace Control NRM fragment - © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.623; Generic NRM,Trace Control NRM @@ -1471,7 +1471,15 @@ components: - type: array items: $ref: '#/components/schemas/PLMNInfo' - + - type: object + properties: + nTNGeoAreaList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + minItems: 1 + maxItems: 8 + Tai: type: object properties: diff --git a/OpenAPI/TS29571_CommonData.yaml b/OpenAPI/TS29571_CommonData.yaml index 86a4a4de68fd8c8c0df1ea99a2aee54c32ea20f7..761fcd3faa4fce9be8729a4b1aa03d1f50f99134 100644 --- a/OpenAPI/TS29571_CommonData.yaml +++ b/OpenAPI/TS29571_CommonData.yaml @@ -1,24 +1,25 @@ -##### Special note: CT R16 local copy for SA5 OAM Forge branch only, it shall not be used otherwise. S5-222029 on 4.4.2022. Updated to sync with 1.5.0 for SA5#147 (17.02.2023) openapi: 3.0.0 info: - version: '1.2.6' + version: '1.6.0' + + title: 'Common Data Types' description: | - Common Data Types for Service Based Interfaces. - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + Common Data Types for Service Based Interfaces. + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: - description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 16.10.0 - url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.571/' + description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 19.5.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.571/' paths: {} components: schemas: # -# Common Data Types for Generic usage definitiones as defined in clause 5.2 +# Common Data Types for Generic usage definitions as defined in clause 5.2 # # @@ -27,95 +28,161 @@ components: Binary: format: binary type: string + description: string with format 'binary' as defined in OpenAPI. + BinaryRm: format: binary type: string nullable: true + description: > + "string with format 'binary' as defined in OpenAPI OpenAPI with 'nullable: true' property." + Bytes: format: byte type: string + description: string with format 'bytes' as defined in OpenAPI + BytesRm: format: byte type: string nullable: true + description: > + string with format 'bytes' as defined in OpenAPI OpenAPI with 'nullable: true' property. + Date: format: date type: string + description: string with format 'date' as defined in OpenAPI. + DateRm: format: date type: string nullable: true + description: > + string with format 'date' as defined in OpenAPI OpenAPI with 'nullable: true' property. + DateTime: format: date-time type: string + description: string with format 'date-time' as defined in OpenAPI. + DateTimeRm: format: date-time type: string nullable: true + description: > + string with format 'date-time' as defined in OpenAPI with 'nullable:true' property. + DiameterIdentity: - type: string - pattern: '^([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}$' + $ref: '#/components/schemas/Fqdn' + DiameterIdentityRm: - type: string - pattern: '^([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}$' - nullable: true + $ref: '#/components/schemas/FqdnRm' + Double: format: double type: number + description: string with format 'double' as defined in OpenAPI + DoubleRm: format: double type: number nullable: true + description: > + string with format 'double' as defined in OpenAPI with 'nullable: true' property. + DurationSec: type: integer + description: indicating a time in seconds. + DurationSecRm: type: integer nullable: true + description: "indicating a time in seconds with OpenAPI defined 'nullable: true' property." + Float: format: float type: number + description: string with format 'float' as defined in OpenAPI. + FloatRm: format: float type: number nullable: true + description: > + string with format 'float' as defined in OpenAPI with the OpenAPI defined + 'nullable: true' property. + Int32: format: int32 type: integer + description: string with format 'int32' as defined in OpenAPI. + Int32Rm: format: int32 type: integer nullable: true + description: > + string with format 'int32' as defined in OpenAPI with the OpenAPI defined + 'nullable: true' property. + Int64: type: integer format: int64 + description: string with format 'int64' as defined in OpenAPI. + Int64Rm: format: int64 type: integer nullable: true + description: > + string with format 'int64' as defined in OpenAPI with the OpenAPI defined + 'nullable: true' property. + 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' + description: > + String identifying a IPv4 address formatted in the 'dotted decimal' notation + as defined in RFC 1166. + 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 + description: > + String identifying a IPv4 address formatted in the 'dotted decimal' notation + as defined in RFC 1166 with the OpenAPI defined 'nullable: true' property. + Ipv4AddrMask: 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])(\/([0-9]|[1-2][0-9]|3[0-2]))$' example: '198.51.0.0/16' + description: > + "String identifying a IPv4 address mask formatted in the 'dotted decimal' notation + as defined in RFC 1166." + Ipv4AddrMaskRm: 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])(\/([0-9]|[1-2][0-9]|3[0-2]))$' example: '198.51.0.0/16' nullable: true + description: > + String identifying a IPv4 address mask formatted in the 'dotted decimal' notation + as defined in RFC 1166 with the OpenAPI defined 'nullable: true' property. + 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' + description: > + String identifying an IPv6 address formatted according to clause 4 of RFC5952. + The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used. + Ipv6AddrRm: type: string allOf: @@ -123,100 +190,221 @@ components: - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$' example: '2001:db8:85a3::8a2e:370:7334' nullable: true + description: > + String identifying an IPv6 address formatted according to clause 4 of RFC5952 with the + OpenAPI 'nullable: true' property. + The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used. + 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' + description: > + String identifying an IPv6 address prefix formatted according to clause 4 of RFC 5952. + IPv6Prefix data type may contain an individual /128 IPv6 address. + 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 + description: > + String identifying an IPv6 address prefix formatted according to clause 4 of RFC 5952 with + the OpenAPI 'nullable: true' property. IPv6Prefix data type may contain an individual + /128 IPv6 address. + MacAddr48: type: string pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$' + description: > + String identifying a MAC address formatted in the hexadecimal notation + according to clause 1.1 and clause 2.1 of RFC 7042. + MacAddr48Rm: type: string pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$' nullable: true + description: > + "String identifying a MAC address formatted in the hexadecimal notation according to + clause 1.1 and clause 2.1 of RFC 7042 with the OpenAPI 'nullable: true' property." + SupportedFeatures: type: string pattern: '^[A-Fa-f0-9]*$' + description: > + A string used to indicate the features supported by an API that is used as defined in clause + 6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in + hexadecimal representation Each character in the string shall take a value of "0" to "9", + "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in + table 5.2.2-3. The most significant character representing the highest-numbered features + shall appear first in the string, and the character representing features 1 to 4 + shall appear last in the string. The list of features and their numbering (starting with 1) + are defined separately for each API. If the string contains a lower number of characters + than there are defined features for an API, all features that would be represented by + characters that are not present in the string are not supported. + Uinteger: type: integer minimum: 0 + description: Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. + UintegerRm: type: integer minimum: 0 + description: > + Unsigned Integer, i.e. only value 0 and integers above 0 are permissible with + the OpenAPI 'nullable: true' property. nullable: true + Uint16: type: integer minimum: 0 maximum: 65535 + description: > + Integer where the allowed values correspond to the value range of an + unsigned 16-bit integer. + Uint16Rm: type: integer minimum: 0 maximum: 65535 nullable: true + description: > + Integer where the allowed values correspond to the value range of an unsigned + 16-bit integer with the OpenAPI 'nullable: true' property. + Uint32: type: integer minimum: 0 maximum: 4294967295 #(2^32)-1 + description: > + Integer where the allowed values correspond to the value range of an unsigned + 32-bit integer. + Uint32Rm: format: int32 type: integer minimum: 0 maximum: 4294967295 #(2^32)-1 nullable: true + description: > + Integer where the allowed values correspond to the value range of an unsigned + 32-bit integer with the OpenAPI 'nullable: true' property. + Uint64: type: integer minimum: 0 maximum: 18446744073709551615 #(2^64)-1 + description: > + Integer where the allowed values correspond to the value range of an + unsigned 64-bit integer. + Uint64Rm: type: integer minimum: 0 maximum: 18446744073709551615 #(2^64)-1 nullable: true + description: > + Integer where the allowed values correspond to the value range of an unsigned + 16-bit integer with the OpenAPI 'nullable: true' property. + Uri: type: string + description: String providing an URI formatted according to RFC 3986. + UriRm: type: string nullable: true + description: > + String providing an URI formatted according to RFC 3986 with the OpenAPI + 'nullable: true' property. + VarUeId: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|gci-.+|gli-.+|.+)$' + description: String represents the SUPI or GPSI + VarUeIdRm: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|gci-.+|gli-.+|.+)$' nullable: true + description: "String represents the SUPI or GPSI with the OpenAPI 'nullable: true' property." + TimeZone: type: string + example: '-08:00+1' + description: | + String with format "time-numoffset" optionally appended by "daylightSavingTime", where + - "time-numoffset" shall represent the time zone adjusted for daylight saving time and be + encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339; + - "daylightSavingTime" shall represent the adjustment that has been made and shall be + encoded as "+1" or "+2" for a +1 or +2 hours adjustment. + + The example is for 8 hours behind UTC, +1 hour adjustment for Daylight Saving Time. + TimeZoneRm: type: string nullable: true + description: | + "String with format 'time-numoffset' optionally appended by '', where + - 'time-numoffset' shall represent the time zone adjusted for daylight saving time and be + encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339; + - 'daylightSavingTime' shall represent the adjustment that has been made and shall be + encoded as '+1' or '+2' for a +1 or +2 hours adjustment. + + But with the OpenAPI 'nullable: true' property." + StnSr: type: string + description: String representing the STN-SR as defined in clause 18.6 of 3GPP TS 23.003. + StnSrRm: type: string nullable: true + description: > + String representing the STN-SR as defined in clause 18.6 of 3GPP TS 23.003 + with the OpenAPI 'nullable: true' property. + CMsisdn: type: string pattern: '^[0-9]{5,15}$' + description: String representing the C-MSISDN as defined in clause 18.7 of 3GPP TS 23.003. + CMsisdnRm: type: string pattern: '^[0-9]{5,15}$' nullable: true + description: > + String representing the C-MSISDN as defined in clause 18.7 of 3GPP TS 23.003 with + the OpenAPI 'nullable: true' property. + + MonthOfYear: + type: integer + minimum: 1 + maximum: 12 + description: > + integer between and including 1 and 12 denoting a month. 1 shall indicate January, + and the subsequent months shall be indicated with the next higher numbers. + 12 shall indicate December. + DayOfWeek: type: integer minimum: 1 maximum: 7 - description: integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday. + description: > + integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, + and the subsequent weekdays shall be indicated with the next higher numbers. + 7 shall indicate Sunday. + TimeOfDay: type: string - description: String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + description: > + String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339. + Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + EmptyObject: description: Empty JSON object { }, it is defined with the keyword additionalProperties false type: object @@ -234,6 +422,7 @@ components: anyOf: - $ref: '#/components/schemas/Fqdn' - $ref: '#/components/schemas/NullValue' + # # COMMON ENUMERATED DATA TYPES # @@ -249,6 +438,8 @@ components: - replace - test - type: string + description: Operations as defined in IETF RFC 6902. + UriScheme: anyOf: - type: string @@ -256,6 +447,8 @@ components: - http - https - type: string + description: HTTP and HTTPS URI scheme. + ChangeType: anyOf: - type: string @@ -265,6 +458,8 @@ components: - REMOVE - REPLACE - type: string + description: Indicates the type of change to be performed. + HttpMethod: anyOf: - type: string @@ -279,18 +474,49 @@ components: - CONNECT - TRACE - type: string + description: HTTP methodes. + NullValue: enum: - null + description: JSON's null value. + + + MatchingOperator: + anyOf: + - type: string + enum: + - FULL_MATCH + - MATCH_ALL + - STARTS_WITH + - NOT_START_WITH + - ENDS_WITH + - NOT_END_WITH + - CONTAINS + - NOT_CONTAIN + - type: string + description: the matching operation. + + UpfPacketInspectionFunctionality: + description: Indicates a packet inspection functionality of the UPF. + anyOf: + - type: string + enum: + - DEEP_PACKET_INSPECTION + - MAC_FILTER_BASED_PACKET_DETECTION + - IP_FILTER_BASED_PACKET_DETECTION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration. + # # COMMON STRUCTURED DATA TYPES # -#### -##### Note: this datatype is commented out as to removed extra inference to TS29510_Nnrf_AccessToken.yaml -##### only 1st and this four lines are added, line 298- 301 are commented out simply. By S on 4.4.2022 -#### + ProblemDetails: + description: Provides additional information in an error response. type: object properties: type: @@ -301,10 +527,15 @@ components: type: integer detail: type: string + description: A human-readable explanation specific to this occurrence of the problem. instance: $ref: '#/components/schemas/Uri' cause: type: string + description: > + A machine-readable application error cause specific to this occurrence of the problem. + This IE should be present and provide application-related error information, if + available. invalidParams: type: array items: @@ -312,23 +543,36 @@ components: minItems: 1 supportedFeatures: $ref: '#/components/schemas/SupportedFeatures' -# accessTokenError: -# $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenErr' -# accessTokenRequest: -# $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenReq' + #accessTokenError: + # $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenErr' + #accessTokenRequest: + # $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenReq' nrfId: - type: string + $ref: '#/components/schemas/Fqdn' + supportedApiVersions: + type: array + items: + type: string + minItems: 1 + #noProfileMatchInfo: + # $ref: 'TS29510_Nnrf_NFDiscovery.yaml#/components/schemas/NoProfileMatchInfo' + Link: type: object properties: href: $ref: '#/components/schemas/Uri' + description: It contains the URI of the linked resource. + LinkRm: type: object properties: href: $ref: '#/components/schemas/Uri' nullable: true + description: > + It contains the URI of the linked resource with the OpenAPI 'nullable: true' property. + PatchItem: type: object properties: @@ -336,12 +580,20 @@ components: $ref: '#/components/schemas/PatchOperation' path: type: string + description: > + contains a JSON pointer value (as defined in IETF RFC 6901) that references + a location of a resource on which the patch operation shall be performed. from: type: string + description: > + indicates the path of the source JSON element (according to JSON Pointer syntax) + being moved or copied to the location indicated by the "path" attribute. value: {} required: - op - path + description: it contains information on data to be changed. + LinksValueSchema: oneOf: - type: array @@ -349,6 +601,8 @@ components: $ref: '#/components/schemas/Link' minItems: 1 - $ref: '#/components/schemas/Link' + description: A list of mutually exclusive alternatives of 1 or more links. + SelfLink: type: object properties: @@ -356,15 +610,34 @@ components: $ref: '#/components/schemas/Link' required: - self + description: It contains the URI of the linked resource. + InvalidParam: type: object properties: param: type: string + description: > + If the invalid parameter is an attribute in a JSON body, this IE shall contain the + attribute's name and shall be encoded as a JSON Pointer. If the invalid parameter is + an HTTP header, this IE shall be formatted as the concatenation of the string "header " + plus the name of such header. If the invalid parameter is a query parameter, this IE + shall be formatted as the concatenation of the string "query " plus the name of such + query parameter. If the invalid parameter is a variable part in the path of a resource + URI, this IE shall contain the name of the variable, including the symbols "{" and "}" + used in OpenAPI specification as the notation to represent variable path segments. reason: type: string + description: > + A human-readable reason, e.g. "must be a positive integer". In cases involving failed + operations in a PATCH request, the reason string should identify the operation that + failed using the operation's array index to assist in correlation of the invalid + parameter with the failed operation, e.g." Replacement value invalid for attribute + (failed operation index= 4)" required: - param + description: It contains an invalid parameter and a related description. + ChangeItem: type: object properties: @@ -372,13 +645,22 @@ components: $ref: '#/components/schemas/ChangeType' path: type: string + description: > + contains a JSON pointer value (as defined in IETF RFC 6901) that references a target + location within the resource on which the change has been applied. from: type: string + description: > + indicates the path of the source JSON element (according to JSON Pointer syntax) + being moved or copied to the location indicated by the "path" attribute. It shall + be present if the "op" attribute is of value "MOVE". origValue: {} newValue: {} required: - op - path + description: It contains data which need to be changed. + NotifyItem: type: object required: @@ -392,10 +674,17 @@ components: items: $ref: '#/components/schemas/ChangeItem' minItems: 1 + description: Indicates changes on a resource. + ComplexQuery: oneOf: - $ref: '#/components/schemas/Cnf' - $ref: '#/components/schemas/Dnf' + description: > + The ComplexQuery data type is either a conjunctive normal form or a disjunctive normal form. + The attribute names "cnfUnits" and "dnfUnits" (see clause 5.2.4.11 and clause 5.2.4.12) + serve as discriminator. + Cnf: type: object required: @@ -406,6 +695,8 @@ components: items: $ref: '#/components/schemas/CnfUnit' minItems: 1 + description: A conjunctive normal form + Dnf: type: object required: @@ -416,6 +707,8 @@ components: items: $ref: '#/components/schemas/DnfUnit' minItems: 1 + description: A disjunctive normal form. + CnfUnit: type: object required: @@ -426,6 +719,10 @@ components: items: $ref: '#/components/schemas/Atom' minItems: 1 + description: > + During the processing of cnfUnits attribute, all the members in the array shall be + interpreted as logically concatenated with logical "AND". + DnfUnit: type: object required: @@ -436,7 +733,12 @@ components: items: $ref: '#/components/schemas/Atom' minItems: 1 + description: > + During the processing of dnfUnits attribute, all the members in the array shall be + interpreted as logically concatenated with logical "OR". + Atom: + description: contains a search parameter and its positive or negative content. type: object required: - attr @@ -444,10 +746,14 @@ components: properties: attr: type: string + description: contains the name of a defined query parameter. value: {} negative: type: boolean + description: indicates whether the negative condition applies for the query condition. + PatchResult: + description: The execution report result on failed modification. type: object required: - report @@ -457,6 +763,10 @@ components: items: $ref: '#/components/schemas/ReportItem' minItems: 1 + description: > + The execution report contains an array of report items. Each report item indicates one + failed modification. + ReportItem: type: object required: @@ -464,36 +774,74 @@ components: properties: path: type: string + description: > + Contains a JSON pointer value (as defined in IETF RFC 6901) that references a + location of a resource to which the modification is subject. + reason: + type: string + description: > + A human-readable reason providing details on the reported modification failure. + The reason string should identify the operation that failed using the operation's + array index to assist in correlation of the invalid parameter with the failed + operation, e.g. "Replacement value invalid for attribute (failed operation index= 4)". + description: indicates performed modivications. + HalTemplate: + description: > + Hypertext Application Language (HAL) template contains the extended 3GPP hypermedia format. type: object required: - method properties: title: type: string + description: A human-readable string that can be used to identify this template method: $ref: '#/components/schemas/HttpMethod' contentType: type: string + description: > + The media type that should be used for the corresponding request. If the attribute + is missing, or contains an unrecognized value, the client should act as if the + contentType is set to "application/json". properties: type: array items: $ref: '#/components/schemas/Property' minItems: 1 + description: > + The properties that should be included in the body of the corresponding request. + If the contentType attribute is set to "application/json", then this attribute + describes the attributes of the JSON object of the body. + Property: + description: > + If the contentType attribute is set to "application/json", then this attribute describes + the attributes of the JSON object of the body. type: object required: - name properties: name: type: string + description: The name of the property required: type: boolean + description: > + Indicates whether the property is required – true= required – + false(default)= not required. regex: type: string + description: A regular expression string to be applied to the value of the property. value: type: string + description: The property value. When present, it shall be a valid JSON string. + RedirectResponse: + description: > + The response shall include a Location header field containing a different URI + (pointing to a different URI of an other service instance), or the same URI if a request + is redirected to the same target resource via a different SCP. type: object properties: cause: @@ -503,8 +851,162 @@ components: targetSepp: $ref: '#/components/schemas/Uri' + TunnelAddress: + description: Tunnel address + type: object + properties: + ipv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + portNumber: + $ref: '#/components/schemas/Uinteger' + required: + - portNumber + anyOf: + - required: [ ipv4Addr ] + - required: [ ipv6Addr ] + + + FqdnPatternMatchingRule: + description: a matching rule for a FQDN pattern + type: object + oneOf: + - required: [ regex ] + - required: [ stringMatchingRule ] + properties: + regex: + type: string + stringMatchingRule: + $ref: '#/components/schemas/StringMatchingRule' + + + StringMatchingRule: + description: A list of conditions for string matching + type: object + properties: + stringMatchingConditions: + type: array + items: + $ref: '#/components/schemas/StringMatchingCondition' + minItems: 1 + required: + - stringMatchingConditions + + StringMatchingCondition: + description: A String with Matching Operator + type: object + properties: + matchingString: + type: string + matchingOperator: + $ref: '#/components/schemas/MatchingOperator' + required: + - matchingOperator + + Ipv4AddressRange: + description: Range of IPv4 addresses + type: object + properties: + start: + $ref: '#/components/schemas/Ipv4Addr' + end: + $ref: '#/components/schemas/Ipv4Addr' + required: + - start + - end + + + Ipv6AddressRange: + description: Range of IPv6 addresses + type: object + properties: + start: + $ref: '#/components/schemas/Ipv6Addr' + end: + $ref: '#/components/schemas/Ipv6Addr' + required: + - start + - end + + Ipv6PrefixRange: + description: Range of IPv6 prefixes + type: object + properties: + start: + $ref: '#/components/schemas/Ipv6Prefix' + end: + $ref: '#/components/schemas/Ipv6Prefix' + required: + - start + - end + + NfSignallingInfo: + description: NF Signalling Information + type: object + properties: + nfInstanceId: + $ref: '#/components/schemas/NfInstanceId' + nfSigInfoPerWndw: + type: array + items: + $ref: '#/components/schemas/NfSignallingInfoPerTimeWindow' + minItems: 1 + nfHeartbeatInfo: + $ref: '#/components/schemas/NfHeartbeatInfo' + unexpStatusInd: + type: boolean + default: false + required: + - nfInstanceId + + NfSignallingInfoPerTimeWindow: + description: NF Signalling Information Per time window + type: object + properties: + # tw: + # $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + nfSigInfoPerService: + type: array + items: + $ref: '#/components/schemas/NfSignallingInfoPerService' + minItems: 1 + required: + - tw + - nfSigInfoPerService + NfSignallingInfoPerService: + description: NF signalling information per service. + type: object + properties: + nfServiceInstanceId: + type: string + #serviceName: + # $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + avgProcTime: + $ref: '#/components/schemas/Float' + numOfReq: + $ref: '#/components/schemas/Uinteger' + numOfReqUnresp: + $ref: '#/components/schemas/Uinteger' + numOfReqReject: + $ref: '#/components/schemas/Uinteger' + numOfRedMessages: + $ref: '#/components/schemas/Uinteger' + numOfPosteriorReq: + $ref: '#/components/schemas/Uinteger' + required: + - nfServiceInstanceId + - serviceName + NfHeartbeatInfo: + description: NF heart beat information. + type: object + properties: + numOfRetrans: + $ref: '#/components/schemas/Uinteger' + hbIntvl: + $ref: '#/components/schemas/Uinteger' # # Data Types related to Subscription, Identification and Numbering as defined in clause 5.3 @@ -515,82 +1017,236 @@ components: # Dnn: type: string + description: > + String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; + it shall contain either a DNN Network Identifier, or a full DNN with both the Network + Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. + It shall be coded as string in which the labels are separated by dots + (e.g. "Label1.Label2.Label3"). DnnRm: type: string nullable: true + description: > + String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; + it shall contain either a DNN Network Identifier, or a full DNN with both the + Network Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 + and 9.1.2. It shall be coded as string in which the labels are separated by dots + (e.g. 'Label1.Label2.Label3') with the OpenAPI 'nullable: true' property. + WildcardDnn: type: string pattern: '^[*]$' + description: String representing the Wildcard DNN. It shall contain the string "*". + WildcardDnnRm: type: string pattern: '^[*]$' nullable: true + description: > + String representing the Wildcard DNN. It shall contain the string '*' but with the + OpenAPI 'nullable: true' property. + Gpsi: type: string pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' + description: > + String identifying a Gpsi shall contain either an External Id or an MSISDN. + It shall be formatted as follows -External Identifier= "extid-'extid', where 'extid' + shall be formatted according to clause 19.7.2 of 3GPP TS 23.003 that describes an + External Identifier. + GpsiRm: type: string pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' nullable: true + description: > + String identifying a Gpsi shall contain either an External Id or an MSISDN. It shall be + formatted as follows -External Identifier= 'extid-'extid', where 'extid' shall be formatted + according to clause 19.7.2 of 3GPP TS 23.003 that describes an External Identifier with the + OpenAPI 'nullable: true' property. + 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}$' + description: > + String identifying a group of devices network internal globally unique ID which identifies + a set of IMSIs, as specified in clause 19.9 of 3GPP TS 23.003. + 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 + description: > + String identifying a group of devices network internal globally unique ID which + identifies a set of IMSIs, as specified in clause 19.9 of 3GPP TS 23.003 with the + OpenAPI 'nullable: true' property. + ExternalGroupId: type: string pattern: '^extgroupid-[^@]+@[^@]+$' + description: > + String identifying External Group Identifier that identifies a group made up of one or + more subscriptions associated to a group of IMSIs, as specified in clause 19.7.3 of 3GPP + TS 23.003. + ExternalGroupIdRm: type: string pattern: '^extgroupid-[^@]+@[^@]+$' nullable: true + description: > + String identifying External Group Identifier that identifies a group made up of one or + more subscriptions associated to a group of IMSIs, as specified in clause 19.7.3 of + 3GPP TS 23.003 with the OpenAPI 'nullable: true' property. + Pei: type: string pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' + description: > + String representing a Permanent Equipment Identifier that may contain - an IMEI or IMEISV, + as specified in clause 6.2 of 3GPP TS 23.003; a MAC address for a 5G-RG or FN-RG via + wireline access, with an indication that this address cannot be trusted for regulatory + purpose if this address cannot be used as an Equipment Identifier of the FN-RG, as + specified in clause 4.7.7 of 3GPP TS23.316. Examples are imei-012345678901234 or + imeisv-0123456789012345. + PeiRm: type: string pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' nullable: true + description: > + This data type is defined in the same way as the 'Pei' data type but with + the OpenAPI 'nullable: true' property. + Supi: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|.+)$' + description: | + String identifying a Supi that shall contain either an IMSI, a network specific identifier, + a Global Cable Identifier (GCI) or a Global Line Identifier (GLI) as specified in clause + 2.2A of 3GPP TS 23.003. It shall be formatted as follows + - for an IMSI "imsi-", where shall be formatted according to clause 2.2 + of 3GPP TS 23.003 that describes an IMSI. + - for a network specific identifier "nai-, where shall be formatted + according to clause 28.7.2 of 3GPP TS 23.003 that describes an NAI. + - for a GCI "gci-", where shall be formatted according to clause 28.15.2 + of 3GPP TS 23.003. + - for a GLI "gli-", where shall be formatted according to clause 28.16.2 of + 3GPP TS 23.003.To enable that the value is used as part of an URI, the string shall + only contain characters allowed according to the "lower-with-hyphen" naming convention + defined in 3GPP TS 29.501. + SupiRm: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|.+)$' nullable: true + description: > + This data type is defined in the same way as the 'Supi' data type, but with the + OpenAPI 'nullable: true' property. + NfInstanceId: type: string format: uuid + description: > + String uniquely identifying a NF instance. The format of the NF Instance ID shall be a + Universally Unique Identifier (UUID) version 4. + AmfId: type: string pattern: '^[A-Fa-f0-9]{6}$' - AmfRegionId: + description: > + String identifying the AMF ID composed of AMF Region ID (8 bits), AMF Set ID (10 bits) + and AMF Pointer (6 bits) as specified in clause 2.10.1 of 3GPP TS 23.003. It is encoded + as a string of 6 hexadecimal characters (i.e., 24 bits). + + AmfRegionId: type: string pattern: '^[A-Fa-f0-9]{2}$' + description: > + String identifying the AMF Region (8 bits) as specified in clause 2.10.1 of + 3GPP TS 23.003. It is encoded as a string of 2 hexadecimal characters (i.e. 8 bits). + AmfSetId: type: string pattern: '^[0-3][A-Fa-f0-9]{2}$' + description: > + String identifying the AMF Set ID (10 bits) as specified in clause 2.10.1 of 3GPP TS 23.003. + It is encoded as a string of 3 hexadecimal characters where the first character is limited + to values 0 to 3 (i.e. 10 bits). + RfspIndex: type: integer minimum: 1 maximum: 256 + description: > + Unsigned integer representing the "Subscriber Profile ID for RAT/Frequency Priority" + as specified in 3GPP TS 36.413. + RfspIndexRm: type: integer minimum: 1 maximum: 256 nullable: true + description: > + Unsigned integer representing the 'Subscriber Profile ID for RAT/Frequency Priority' + as specified in 3GPP TS 36.413 with the OpenAPI 'nullable: true' property. + NfGroupId: type: string + description: Identifier of a group of NFs. + MtcProviderInformation: type: string + description: String uniquely identifying MTC provider information. + CagId: type: string pattern: '^[A-Fa-f0-9]{8}$' + description: String containing a Closed Access Group Identifier. + SupiOrSuci: type: string - pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.*|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + description: String identifying a SUPI or a SUCI. + + Imsi: + description: String identifying an IMSI + type: string + pattern: '^[0-9]{5,15}$' + + ApplicationlayerId: + type: string + description: > + String identifying an UE with application layer ID. The format of the application + layer ID parameter is same as the Application layer ID defined in clause 11.3.4 of + 3GPP TS 24.554. + + NsacSai: + type: string + description: > + String identifying the Network Slice Admission Control Service Area Identifier. + + +# +# ENUMERATED DATA TYPES +# + + GroupServiceId: + anyOf: + - type: integer + enum: + - 1 + - 2 + - 3 + - type: integer + description: > + This integer provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - 1: Group specific NAS level congestion control + - 2: Group specific Monitoring of Number of UEs present in a geographical area + - 3: Group specific Group specific for 5G LAN Type service # # STRUCTURED DATA TYPES @@ -605,10 +1261,16 @@ components: required: - plmnId - amfId + description: Globally Unique AMF Identifier constructed out of PLMN, Network and AMF identity. + GuamiRm: anyOf: - $ref: '#/components/schemas/Guami' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Guami' data type, but with the OpenAPI + 'nullable: true' property. + NetworkId: type: object properties: @@ -616,6 +1278,7 @@ components: $ref: '#/components/schemas/Mnc' mcc: $ref: '#/components/schemas/Mcc' + description: contains PLMN and Network identity. # @@ -627,106 +1290,356 @@ components: # ApplicationId: type: string + description: String providing an application identifier. ApplicationIdRm: type: string nullable: true + description: > + String providing an application identifier with the OpenAPI 'nullable: true' property. + PduSessionId: type: integer minimum: 0 maximum: 255 + description: > + Unsigned integer identifying a PDU session, within the range 0 to 255, as specified in + clause 11.2.3.1b, bits 1 to 8, of 3GPP TS 24.007. If the PDU Session ID is allocated by the + Core Network for UEs not supporting N1 mode, reserved range 64 to 95 is used. PDU Session ID + within the reserved range is only visible in the Core Network. + Mcc: type: string pattern: '^\d{3}$' + description: > + Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 + of 3GPP TS 38.413. + MccRm: type: string pattern: '^\d{3}$' nullable: true + description: > + Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of + 3GPP TS 38.413 with the OpenAPI 'nullable: true' property. + Mnc: type: string pattern: '^\d{2,3}$' + description: > + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in + clause 9.3.3.5 of 3GPP TS 38.413. + MncRm: type: string pattern: '^\d{2,3}$' nullable: true + description: > + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause + 9.3.3.5 of 3GPP TS 38.413 with the OpenAPI 'nullable: true' property. + Tac: type: string pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + description: > + 2 or 3-octet string identifying a tracking area code as specified in clause 9.3.3.16 or + 9.3.3.10 of 3GPP TS 38.413, in hexadecimal representation. Each character in the string + shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits of the TAC shall + appear first in the string, and the character representing the 4 least significant bit + of the TAC shall appear last in the string. TacRm: type: string pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' nullable: true + description: > + This data type is defined in the same way as the 'Tac' data type, but with the + OpenAPI 'nullable: true' property. + EutraCellId: type: string pattern: '^[A-Fa-f0-9]{7}$' + description: > + 28-bit string identifying an E-UTRA Cell Id as specified in clause 9.3.1.9 of + 3GPP TS 38.413, in hexadecimal representation. Each character in the string shall take a + value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most + significant character representing the 4 most significant bits of the Cell Id shall appear + first in the string, and the character representing the 4 least significant bit of the + Cell Id shall appear last in the string. + EutraCellIdRm: type: string pattern: '^[A-Fa-f0-9]{7}$' nullable: true + description: > + This data type is defined in the same way as the 'EutraCellId' data type, but with + the OpenAPI 'nullable: true' property. + NrCellId: type: string pattern: '^[A-Fa-f0-9]{9}$' + description: > + 36-bit string identifying an NR Cell Id as specified in clause 9.3.1.7 of 3GPP TS 38.413, + in hexadecimal representation. Each character in the string shall take a value of "0" to + "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant character + representing the 4 most significant bits of the Cell Id shall appear first in the string, + and the character representing the 4 least significant bit of the Cell Id shall appear last + in the string. + NrCellIdRm: type: string pattern: '^[A-Fa-f0-9]{9}$' nullable: true + description: > + This data type is defined in the same way as the 'NrCellId' data type, but with the + OpenAPI 'nullable: true' property. Dnai: type: string + description: DNAI (Data network access identifier), see clause 5.6.7 of 3GPP TS 23.501. + DnaiRm: type: string nullable: true + description: > + This data type is defined in the same way as the 'Dnai' data type, but with the + OpenAPI 'nullable: true' property. + 5GMmCause: $ref: '#/components/schemas/Uinteger' + AmfName: - type: string + $ref: '#/components/schemas/Fqdn' + AreaCode: type: string + description: Values are operator specific. + AreaCodeRm: type: string nullable: true + description: > + This data type is defined in the same way as the 'AreaCode' data type, but with the + OpenAPI 'nullable: true' property. + N3IwfId: type: string pattern: '^[A-Fa-f0-9]+$' + description: > + This represents the identifier of the N3IWF ID as specified in clause 9.3.1.57 of + 3GPP TS 38.413 in hexadecimal representation. Each character in the string shall take a value + of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant + character representing the 4 most significant bits of the N3IWF ID shall appear first in the + string, and the character representing the 4 least significant bit of the N3IWF ID shall + appear last in the string. + WAgfId: type: string pattern: '^[A-Fa-f0-9]+$' + description: > + This represents the identifier of the W-AGF ID as specified in clause 9.3.1.162 of + 3GPP TS 38.413 in hexadecimal representation. Each character in the string shall take a + value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most + significant character representing the 4 most significant bits of the W-AGF ID shall + appear first in the string, and the character representing the 4 least significant bit + of the W-AGF ID shall appear last in the string. + TngfId: type: string pattern: '^[A-Fa-f0-9]+$' + description: > + This represents the identifier of the TNGF ID as specified in clause 9.3.1.161 of + 3GPP TS 38.413 in hexadecimal representation. Each character in the string shall take a value + of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant + character representing the 4 most significant bits of the TNGF ID shall appear first in + the string, and the character representing the 4 least significant bit of the TNGF ID + shall appear last in the string. + NgeNbId: type: string pattern: '^(MacroNGeNB-[A-Fa-f0-9]{5}|LMacroNGeNB-[A-Fa-f0-9]{6}|SMacroNGeNB-[A-Fa-f0-9]{5})$' + description: > + This represents the identifier of the ng-eNB ID as specified in clause 9.3.1.8 of + 3GPP TS 38.413. The value of the ng-eNB ID shall be encoded in hexadecimal representation. + Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and + shall represent 4 bits. The padding 0 shall be added to make multiple nibbles, so the most + significant character representing the padding 0 if required together with the 4 most + significant bits of the ng-eNB ID shall appear first in the string, and the character + representing the 4 least significant bit of the ng-eNB ID (to form a nibble) shall appear + last in the string. + + example: SMacroNGeNB-34B89 Nid: type: string pattern: '^[A-Fa-f0-9]{11}$' + description: > + This represents the Network Identifier, which together with a PLMN ID is used to identify + an SNPN (see 3GPP TS 23.003 and 3GPP TS 23.501 clause 5.30.2.1). + NidRm: type: string pattern: '^[A-Fa-f0-9]{11}$' nullable: true + description: > + This data type is defined in the same way as the 'Nid' data type, but with the OpenAPI + 'nullable: true' property." + NfSetId: type: string + description: > + NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted as the following string + "set.set.5gc.mnc.mcc", or + "set.set.5gc.nid.mnc.mcc" with + encoded as defined in clause 5.4.2 ("Mcc" data type definition) + encoding the Mobile Network Code part of the PLMN, comprising 3 digits. + If there are only 2 significant digits in the MNC, one "0" digit shall be inserted + at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' + encoded as a value defined in Table 6.1.6.3.3-1 of 3GPP TS 29.510 but + with lower case characters encoded as a string of characters consisting of + alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that + shall end with either an alphabetic character or a digit. + NfServiceSetId: type: string + description: > + NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003) formatted as the following + string "set.sn.nfi.5gc.mnc.mcc", or + "set.sn.nfi.5gc.nid.mnc.mcc" with + encoded as defined in clause 5.4.2 ("Mcc" data type definition) + encoding the Mobile Network Code part of the PLMN, comprising 3 digits. + If there are only 2 significant digits in the MNC, one "0" digit shall be inserted + at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' + encoded as defined in clause 5.4.2 ("Nid" data type definition) + encoded as defined in clause 5.3.2 + encoded as defined in 3GPP TS 29.510 + encoded as a string of characters consisting of alphabetic + characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end + with either an alphabetic character or a digit. + PlmnAssiUeRadioCapId: $ref: '#/components/schemas/Bytes' + ManAssiUeRadioCapId: $ref: '#/components/schemas/Bytes' + TypeAllocationCode: type: string pattern: '^[0-9]{8}$' + description: > + Type Allocation Code (TAC) of the UE, comprising the initial eight-digit portion of the + 15-digit IMEI and 16-digit IMEISV codes. See clause 6.2 of 3GPP TS 23.003. + HfcNId: type: string maxLength: 6 + description: > + This IE represents the identifier of the HFC node Id as specified in CableLabs + WR-TR-5WWC-ARCH. It is provisioned by the wireline operator as part of wireline + operations and may contain up to six characters. + HfcNIdRm: type: string maxLength: 6 nullable: true + description: > + This data type is defined in the same way as the 'HfcNId' data type, but with the + OpenAPI 'nullable: true' property. + ENbId: type: string pattern: '^(MacroeNB-[A-Fa-f0-9]{5}|LMacroeNB-[A-Fa-f0-9]{6}|SMacroeNB-[A-Fa-f0-9]{5}|HomeeNB-[A-Fa-f0-9]{7})$' + description: > + This represents the identifier of the eNB ID as specified in clause 9.2.1.37 of + 3GPP TS 36.413. The string shall be formatted with the following pattern + '^('MacroeNB-[A-Fa-f0-9]{5}|LMacroeNB-[A-Fa-f0-9]{6}|SMacroeNB-[A-Fa-f0-9]{5} + |HomeeNB-[A-Fa-f0-9]{7})$'. The value of the eNB ID shall be encoded in hexadecimal + representation. Each character in the string shall take a value of "0" to "9", "a" to "f" + or "A" to "F" and shall represent 4 bits. The padding 0 shall be added to make multiple + nibbles, so the most significant character representing the padding 0 if required together + with the 4 most significant bits of the eNB ID shall appear first in the string, and the + character representing the 4 least significant bit of the eNB ID (to form a nibble) shall + appear last in the string. + Gli: $ref: '#/components/schemas/Bytes' Gci: type: string + description: > + Global Cable Identifier uniquely identifying the connection between the 5G-CRG or FN-CRG + to the 5GS. See clause 28.15.4 of 3GPP TS 23.003. This shall be encoded as a string per + clause 28.15.4 of 3GPP TS 23.003, and compliant with the syntax specified in clause 2.2 + of IETF RFC 7542 for the username part of a NAI. The GCI value is specified in + CableLabs WR-TR-5WWC-ARCH. + + NsSrg: + type: string + description: > + String providing a Network Slice Simultaneous Registration Group. See clause 5.15.12 of + 3GPP TS 23.501 + + NsSrgRm: + type: string + nullable: true + description: > + String providing a Network Slice Simultaneous Registration Group with the OpenAPI + "nullable: true" property. See clause 5.15.12 of 3GPP TS 23.501 + + + RelayServiceCode: + type: integer + minimum: 0 + maximum: 16777215 + description: > + Relay Service Code to identify a connectivity service provided by the UE-to-Network relay or + the UE-to-UE relay. + + 5GPrukId: + type: string + description: > + A string carrying the CP-PRUK ID of the 5G ProSe Remote UE or the 5G ProSe End UE. + The CP-PRUK ID is a string in NAI format as specified in clause 28.7.11 of 3GPP TS 23.003. + pattern: '^rid[0-9]{1,4}\.pid[0-9a-fA-F]+\@prose-cp\.5gc\.mnc[0-9]{2,3}\.mcc[0-9]{3}\.3gppnetwork\.org$' + + NsagId: + type: integer + description: > + The Network Slice AS Group ID, see 3GPP TS 38.413 + + NsagIdRm: + type: integer + nullable: true + description: > + This data type is defined in the same way as the "NsagId" data type, but with the OpenAPI + "nullable: true" property + + GeoSatelliteId: + type: string + description: > + A string carrying the GEO Satellite ID. + + OffloadIdentifier: + type: string + description: > + Offload identifier uniquely identifying a VPLMN offloading policy information instance + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{8}(-v[0-9]{1,2}){0,1}$' + + OpConfiguredCapability: + type: string + description: > + The operator configurable capability supported by the UPF. + + SatelliteId: + type: string + description: > + Unique identifier of a satellite. + + EnergySavingIndicator: + $ref: '#/components/schemas/Uinteger' + + OverloadControlInfo: + description: > + String representing the Overload Control Information as defined in clause 5.2.3.2.9 of 3GPP + TS 29.500. + type: string + # # ENUMERATED DATA TYPES @@ -737,10 +1650,16 @@ components: enum: - 3GPP_ACCESS - NON_3GPP_ACCESS + description: Indicates whether the access is via 3GPP or via non-3GPP. + AccessTypeRm: anyOf: - $ref: '#/components/schemas/AccessType' - $ref: '#/components/schemas/NullValue' + description: > + Indicates wether the access is via 3GPP or via non-3GPP but with the OpenAPI + 'nullable: true' property." + RatType: anyOf: - type: string @@ -760,11 +1679,34 @@ components: - TRUSTED_WLAN - UTRA - GERA - - type: string + - NR_LEO + - NR_MEO + - NR_GEO + - NR_OTHER_SAT + - NR_REDCAP + - WB_E_UTRAN_LEO + - WB_E_UTRAN_MEO + - WB_E_UTRAN_GEO + - WB_E_UTRAN_OTHERSAT + - NB_IOT_LEO + - NB_IOT_MEO + - NB_IOT_GEO + - NB_IOT_OTHERSAT + - LTE_M_LEO + - LTE_M_MEO + - LTE_M_GEO + - LTE_M_OTHERSAT + - NR_EREDCAP + - HSPA_EVOLUTION - type: string + description: Indicates the radio access used. + RatTypeRm: anyOf: - $ref: '#/components/schemas/RatType' - $ref: '#/components/schemas/NullValue' + description: > + Provides information about the radio access but with the OpenAPI 'nullable: true' property. + PduSessionType: anyOf: - type: string @@ -775,10 +1717,18 @@ components: - UNSTRUCTURED - ETHERNET - type: string + description: > + PduSessionType indicates the type of a PDU session. It shall comply with the provisions + defined in table 5.4.3.3-1. + PduSessionTypeRm: anyOf: - $ref: '#/components/schemas/PduSessionType' - $ref: '#/components/schemas/NullValue' + description: > + PduSessionType indicates the type of a PDU session. It shall comply with the provisions + defined in table 5.4.3.3-1 but with the OpenAPI "nullable: true" property. + UpIntegrity: anyOf: - type: string @@ -787,10 +1737,20 @@ components: - PREFERRED - NOT_NEEDED - type: string + description: > + indicates whether UP integrity protection is required, preferred or not needed for all + the traffic on the PDU Session. It shall comply with the provisions defined in + table 5.4.3.4-1. + UpIntegrityRm: anyOf: - $ref: '#/components/schemas/UpIntegrity' - $ref: '#/components/schemas/NullValue' + description: > + indicates whether UP integrity protection is required, preferred or not needed for all + the traffic on the PDU Session. It shall comply with the provisions defined in + table 5.4.3.4-1. + UpConfidentiality: anyOf: - type: string @@ -799,10 +1759,20 @@ components: - PREFERRED - NOT_NEEDED - type: string + description: > + indicates whether UP confidentiality protection is required, preferred or not needed for + all the traffic on the PDU Session. It shall comply with the provisions defined in + table 5.4.3.5-1. + UpConfidentialityRm: anyOf: - $ref: '#/components/schemas/UpConfidentiality' - $ref: '#/components/schemas/NullValue' + description: > + indicates whether UP integrity protection is required, preferred or not needed for all the + traffic on the PDU Session. It shall comply with the provisions defined in table 5.4.3.4-1, + but with the OpenAPI 'nullable: true' property. + SscMode: anyOf: - type: string @@ -811,10 +1781,18 @@ components: - SSC_MODE_2 - SSC_MODE_3 - type: string + description: > + represents the service and session continuity mode It shall comply with the provisions + defined in table 5.4.3.6-1. + SscModeRm: anyOf: - $ref: '#/components/schemas/SscMode' - $ref: '#/components/schemas/NullValue' + description: > + represents the service and session continuity mode It shall comply with the provisions + defined in table 5.4.3.6-1 but with the OpenAPI 'nullable: true' property. + DnaiChangeType: anyOf: - type: string @@ -824,18 +1802,24 @@ components: - LATE - type: string description: > - 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. - description: > - Possible values are + 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. + + description: | + 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. + - 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: - $ref: '#/components/schemas/DnaiChangeType' - $ref: '#/components/schemas/NullValue' + description: > + It can take the values as specified for DnaiChangeType but with the OpenAPI + 'nullable: true' property. + RestrictionType: anyOf: - type: string @@ -843,10 +1827,16 @@ components: - ALLOWED_AREAS - NOT_ALLOWED_AREAS - type: string + description: It contains the restriction type ALLOWED_AREAS or NOT_ALLOWED_AREAS. + RestrictionTypeRm: anyOf: - $ref: '#/components/schemas/RestrictionType' - $ref: '#/components/schemas/NullValue' + description: > + It contains the restriction type ALLOWED_AREAS or NOT_ALLOWED_AREAS but with the + OpenAPI 'nullable: true' property. + CoreNetworkType: anyOf: - type: string @@ -854,10 +1844,16 @@ components: - 5GC - EPC - type: string + description: It contains the Core Network type 5GC or EPC. + CoreNetworkTypeRm: anyOf: - $ref: '#/components/schemas/CoreNetworkType' - $ref: '#/components/schemas/NullValue' + description: > + It contains the Core Network type 5GC or EPC but with the OpenAPI + 'nullable: true' property. + PresenceState: anyOf: - type: string @@ -867,6 +1863,13 @@ components: - UNKNOWN - INACTIVE - type: string + description: | + Possible values are: + -IN_AREA: Indicates that the UE is inside or enters the presence reporting area. + -OUT_OF_AREA: Indicates that the UE is outside or leaves the presence reporting area + -UNKNOW: Indicates it is unknown whether the UE is in the presence reporting area or not + -INACTIVE: Indicates that the presence reporting area is inactive in the serving node. + StationaryIndication: anyOf: - type: string @@ -878,14 +1881,19 @@ components: 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. - description: > - Possible values are + description: | + Possible values are: - STATIONARY: Identifies the UE is stationary - MOBILE: Identifies the UE is mobile + StationaryIndicationRm: anyOf: - $ref: '#/components/schemas/StationaryIndication' - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'StationaryIndication' enumeration, + but with the OpenAPI 'nullable: true' property." + ScheduledCommunicationType: anyOf: - type: string @@ -894,10 +1902,20 @@ components: - UPLINK_ONLY - BIDIRECTIONAL - type: string + description: | + Possible values are: + -DOWNLINK_ONLY: Downlink only + -UPLINK_ONLY: Uplink only + -BIDIRECTIONA: Bi-directional + ScheduledCommunicationTypeRm: anyOf: - $ref: '#/components/schemas/ScheduledCommunicationType' - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'ScheduledCommunicationTypen' + enumeration, but with the OpenAPI 'nullable: true' property." + TrafficProfile: anyOf: - type: string @@ -911,17 +1929,25 @@ components: description: > 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. - description: > - Possible values are + content defined in the present version of this API. + + description: | + Possible values are: - SINGLE_TRANS_UL: Uplink single packet transmission. - SINGLE_TRANS_DL: Downlink single packet transmission. - - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission with subsequent downlink packet transmission. - - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission with subsequent uplink packet transmission. + - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission + with subsequent downlink packet transmission. + - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission + with subsequent uplink packet transmission. + TrafficProfileRm: anyOf: - $ref: '#/components/schemas/TrafficProfile' - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'TrafficProfile' enumeration, but + with the OpenAPI 'nullable: true' property. + LcsServiceAuth: anyOf: - type: string @@ -937,12 +1963,14 @@ components: 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. - description: > - Possible values are + description: | + Possible values are: - "LOCATION_ALLOWED_WITH_NOTIFICATION": Location allowed with notification - "LOCATION_ALLOWED_WITHOUT_NOTIFICATION": Location allowed without notification - - "LOCATION_ALLOWED_WITHOUT_RESPONSE": Location with notification and privacy verification; location allowed if no response - - "LOCATION_RESTRICTED_WITHOUT_RESPONSE": Location with notification and privacy verification; location restricted if no response + - "LOCATION_ALLOWED_WITHOUT_RESPONSE": Location with notification and privacy + verification; location allowed if no response + - "LOCATION_RESTRICTED_WITHOUT_RESPONSE": Location with notification and privacy + verification; location restricted if no response - "NOTIFICATION_ONLY": Notification only - "NOTIFICATION_AND_VERIFICATION_ONLY": Notification and privacy verification only UeAuth: @@ -952,6 +1980,11 @@ components: - AUTHORIZED - NOT_AUTHORIZED - type: string + description: | + Possible values are: + - AUTHORIZED: Indicates that the UE is authorized. + - NOT_AUTHORIZED: Indicates that the UE is not authorized. + DlDataDeliveryStatus: anyOf: - type: string @@ -964,15 +1997,25 @@ components: 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. - description: > - Possible values are - - BUFFERED: The first downlink data is buffered with extended buffering matching the source of the downlink traffic. - - TRANSMITTED: The first downlink data matching the source of the downlink traffic is transmitted after previous buffering or discarding of corresponding packet(s) because the UE of the PDU Session becomes ACTIVE, and buffered data can be delivered to UE. - - DISCARDED: The first downlink data matching the source of the downlink traffic is discarded because the Extended Buffering time, as determined by the SMF, expires or the amount of downlink data to be buffered is exceeded. + description: | + Possible values are: + - BUFFERED: The first downlink data is buffered with extended buffering matching the + source of the downlink traffic. + - TRANSMITTED: The first downlink data matching the source of the downlink traffic is + transmitted after previous buffering or discarding of corresponding packet(s) because + the UE of the PDU Session becomes ACTIVE, and buffered data can be delivered to UE. + - DISCARDED: The first downlink data matching the source of the downlink traffic is + discarded because the Extended Buffering time, as determined by the SMF, expires or + the amount of downlink data to be buffered is exceeded. + DlDataDeliveryStatusRm: anyOf: - $ref: '#/components/schemas/DlDataDeliveryStatus' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the ' DlDataDeliveryStatus ' data type, + but with the OpenAPI 'nullable: true' property. + AuthStatus: anyOf: - type: string @@ -984,12 +2027,62 @@ components: description: > 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. - description: > - Possible values are + content defined in the present version of this API. + + description: | + Possible values are: - "EAP_SUCCESS": The NSSAA status is EAP-Success. - "EAP_FAILURE": The NSSAA status is EAP-Failure. - - "PENDING": The NSSAA status is Pending. + - "PENDING": The NSSAA status is Pending. + + LineType: + anyOf: + - type: string + enum: + - DSL + - PON + - type: string + description: > + 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. + + description: | + Possible values are: + - DSL: Identifies a DSL line + - PON: Identifies a PON line + + LineTypeRm: + anyOf: + - $ref: '#/components/schemas/LineType' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'LineType' data type, but with the + OpenAPI 'nullable: true' property. + + + NotificationFlag: + anyOf: + - type: string + enum: + - ACTIVATE + - DEACTIVATE + - RETRIEVAL + - type: string + description: > + 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. + + description: | + Possible values are: + - ACTIVATE: The event notification is activated. + - DEACTIVATE: The event notification is deactivated and shall be muted. The available + event(s) shall be stored. + - RETRIEVAL: The event notification shall be sent to the NF service consumer(s), + after that, is muted again. + + TransportProtocol: anyOf: - type: string @@ -1000,44 +2093,175 @@ components: description: > 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. - description: > - Possible values are - - UDP: User Datagram Protocol. - - TCP: Transmission Control Protocol. + content defined in the present version of this API. -# -# STRUCTURED DATA TYPES -# + description: | + Possible values are: + - UDP: User Datagram Protocol. + - TCP: Transmission Control Protocol. - 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: - $ref: '#/components/schemas/Mcc' - mnc: - $ref: '#/components/schemas/Mnc' - required: - - mcc - - mnc - PlmnIdRm: + SatelliteBackhaulCategory: anyOf: - - $ref: '#/components/schemas/PlmnId' - - $ref: '#/components/schemas/NullValue' + - type: string + enum: + - GEO + - MEO + - LEO + - OTHER_SAT + - DYNAMIC_GEO + - DYNAMIC_MEO + - DYNAMIC_LEO + - DYNAMIC_OTHER_SAT + - NON_SATELLITE + - type: string + description: Indicates the satellite backhaul used. + + SatelliteBackhaulCategoryRm: + anyOf: + - $ref: '#/components/schemas/SatelliteBackhaulCategory' + - $ref: '#/components/schemas/NullValue' + description: > + Provides information about the satellite backhaul but with the OpenAPI + 'nullable: true' property. + + BufferedNotificationsAction: + anyOf: + - type: string + enum: + - SEND_ALL + - DISCARD_ALL + - DROP_OLD + - type: string + description: > + Indicates the required action by the event producer NF on the buffered Notifications. + + SubscriptionAction: + anyOf: + - type: string + enum: + - CLOSE + - CONTINUE_WITH_MUTING + - CONTINUE_WITHOUT_MUTING + - type: string + description: > + Indicates the required action by the event producer NF on the event subscription if an + exception occurs while the event is muted. + + SnssaiStatus: + anyOf: + - type: string + enum: + - AVAILABLE + - UNAVAILABLE + - type: string + description: Indicates the S-NSSAI availability. + + TerminationIndication: + description: Indicates the termination of Network Slice Replacement. + anyOf: + - type: string + enum: + - NEW_UES_TERMINATION + - ALL_UES_TERMINATION + - type: string + + DelayMeasurementProtocol: + description: Delay measurement protocol + anyOf: + - type: string + enum: + - TWAMP + - OWAMP + - STAMP + - OTHER + - type: string + + CagProvisionOperation: + description: CAG provision operation + anyOf: + - type: string + enum: + - ADD + - REPLACE + - REMOVE + - type: string + +# +# STRUCTURED DATA TYPES +# + SubscribedDefaultQos: + type: object + required: + - 5qi + - arp + properties: + 5qi: + $ref: '#/components/schemas/5Qi' + arp: + $ref: '#/components/schemas/Arp' + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + description: Provides the subsribed 5QI and the ARP, it may contain the priority level. + + Snssai: + type: object + properties: + sst: + type: integer + minimum: 0 + maximum: 255 + description: > + Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. + It indicates the expected Network Slice behaviour in terms of features and services. + Values 0 to 127 correspond to the standardized SST range. Values 128 to 255 correspond + to the Operator-specific range. See clause 28.4.2 of 3GPP TS 23.003. + Standardized values are defined in clause 5.15.2.2 of 3GPP TS 23.501. + + sd: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + description: > + 3-octet string, representing the Slice Differentiator, in hexadecimal representation. + Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" + and shall represent 4 bits. The most significant character representing the 4 most + significant bits of the SD shall appear first in the string, and the character + representing the 4 least significant bit of the SD shall appear last in the string. + This is an optional parameter that complements the Slice/Service type(s) to allow to + differentiate amongst multiple Network Slices of the same Slice/Service type. This IE + shall be absent if no SD value is associated with the SST. + description: > + When Snssai needs to be converted to string (e.g. when used in maps as key), the string shall + be composed of one to three digits "sst" optionally followed by "-" and 6 hexadecimal digits + "sd". + + required: + - sst + + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + description: > + When PlmnId needs to be converted to string (e.g. when used in maps as key), the string + shall be composed of three digits "mcc" followed by "-" and two or three digits "mnc". + + required: + - mcc + - mnc + PlmnIdRm: + anyOf: + - $ref: '#/components/schemas/PlmnId' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'PlmnId' data type, but with the + OpenAPI 'nullable: true' property. + Tai: + description: Contains the tracking area identity as described in 3GPP 23.003 type: object properties: plmnId: @@ -1049,16 +2273,21 @@ components: required: - plmnId - tac + TaiRm: anyOf: - $ref: '#/components/schemas/Tai' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Tai' data type, but with the OpenAPI + 'nullable: true' property. + Ecgi: + description: Contains the ECGI (E-UTRAN Cell Global Identity), as described in 3GPP 23.003 type: object properties: plmnId: $ref: '#/components/schemas/PlmnId' - # PLMN Identity eutraCellId: $ref: '#/components/schemas/EutraCellId' nid: @@ -1066,11 +2295,17 @@ components: required: - plmnId - eutraCellId + EcgiRm: anyOf: - $ref: '#/components/schemas/Ecgi' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Ecgi' data type, but with the + OpenAPI 'nullable: true' property. + Ncgi: + description: Contains the NCGI (NR Cell Global Identity), as described in 3GPP 23.003 type: object properties: plmnId: @@ -1082,10 +2317,15 @@ components: required: - plmnId - nrCellId + NcgiRm: anyOf: - $ref: '#/components/schemas/Ncgi' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Ncgi' data type, but with the + OpenAPI 'nullable: true' property. + UserLocation: type: object properties: @@ -1099,7 +2339,12 @@ components: $ref: '#/components/schemas/UtraLocation' geraLocation: $ref: '#/components/schemas/GeraLocation' + description: > + At least one of eutraLocation, nrLocation, n3gaLocation, utraLocation, geraLocation + and plmnLocation shall be present. Several of them may be present. + EutraLocation: + description: Contains the E-UTRA user location. type: object properties: tai: @@ -1112,58 +2357,109 @@ components: ignoreEcgi: type: boolean default: false + description: > + This flag when present shall indicate that the Ecgi shall be ignored + When present, it shall be set as follows: + - true: ecgi shall be ignored. + - false (default): ecgi shall not be ignored. ageOfLocationInformation: type: integer minimum: 0 maximum: 32767 + description: > + The value represents the elapsed time in minutes since the last network contact of the + mobile station. Value "0" indicates that the location information was obtained after a + successful paging procedure for Active Location Retrieval when the UE is in idle mode + or after a successful NG-RAN location reporting procedure with the eNB when the UE is + in connected mode. Any other value than "0" indicates that the location information is + the last known one. See 3GPP TS 29.002 clause 17.7.8. ueLocationTimestamp: $ref: '#/components/schemas/DateTime' geographicalInformation: type: string pattern: '^[0-9A-F]{16}$' + description: > + Refer to geographical Information. See 3GPP TS 23.032 clause 7.3.2. Only the + description of an ellipsoid point with uncertainty circle is allowed to be used. geodeticInformation: type: string pattern: '^[0-9A-F]{20}$' + description: > + Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) [24] + clause 3.88.2. Only the description of an ellipsoid point with uncertainty circle + is allowed to be used. globalNgenbId: $ref: '#/components/schemas/GlobalRanNodeId' + globalENbId: $ref: '#/components/schemas/GlobalRanNodeId' required: - tai - ecgi + EutraLocationRm: anyOf: - $ref: '#/components/schemas/EutraLocation' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'EutraLocation' data type, but with + the OpenAPI 'nullable: true' property. + NrLocation: + description: Contains the NR user location. type: object properties: tai: $ref: '#/components/schemas/Tai' ncgi: $ref: '#/components/schemas/Ncgi' + ignoreNcgi: + type: boolean + default: false ageOfLocationInformation: type: integer minimum: 0 maximum: 32767 + description: > + The value represents the elapsed time in minutes since the last network contact of the mobile + station. Value "0" indicates that the location information was obtained after a + successful paging procedure for Active Location Retrieval when the UE is in idle mode + or after a successful NG-RAN location reporting procedure with the eNB when the UE is + in connected mode. Any other value than "0" indicates that the location information is + the last known one. See 3GPP TS 29.002 clause 17.7.8. ueLocationTimestamp: $ref: '#/components/schemas/DateTime' geographicalInformation: type: string pattern: '^[0-9A-F]{16}$' + description: > + Refer to geographical Information. See 3GPP TS 23.032 clause 7.3.2. Only the description + of an ellipsoid point with uncertainty circle is allowed to be used. geodeticInformation: type: string pattern: '^[0-9A-F]{20}$' + description: > + Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) [24] clause + 3.88.2. Only the description of an ellipsoid point with uncertainty circle is allowed + to be used. globalGnbId: $ref: '#/components/schemas/GlobalRanNodeId' + ntnTaiInfo: + $ref: '#/components/schemas/NtnTaiInfo' required: - tai - ncgi + NrLocationRm: - anyOf: + anyOf: - $ref: '#/components/schemas/NrLocation' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'NrLocation' data type, but with the + OpenAPI 'nullable: true' property." + N3gaLocation: + description: Contains the Non-3GPP access user location. type: object properties: n3gppTai: @@ -1171,16 +2467,24 @@ components: n3IwfId: type: string pattern: '^[A-Fa-f0-9]+$' + description: > + This IE shall contain the N3IWF identifier received over NGAP and shall be encoded as a + string of hexadecimal characters. Each character in the string shall take a value of "0" + to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant + character representing the 4 most significant bits of the N3IWF ID shall appear first in + the string, and the character representing the 4 least significant bit of the N3IWF ID + shall appear last in the string. + ueIpv4Addr: $ref: '#/components/schemas/Ipv4Addr' ueIpv6Addr: $ref: '#/components/schemas/Ipv6Addr' portNumber: $ref: '#/components/schemas/Uinteger' - tnapId: - $ref: '#/components/schemas/TnapId' protocol: $ref: '#/components/schemas/TransportProtocol' + tnapId: + $ref: '#/components/schemas/TnapId' twapId: $ref: '#/components/schemas/TwapId' hfcNodeId: @@ -1191,7 +2495,9 @@ components: $ref: '#/components/schemas/LineType' gci: $ref: '#/components/schemas/Gci' + UpSecurity: + description: Contains Userplain security information. type: object properties: upIntegr: @@ -1201,11 +2507,17 @@ components: required: - upIntegr - upConfid + UpSecurityRm: - anyOf: + anyOf: - $ref: '#/components/schemas/UpSecurity' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'UpSecurity' data type, but with the + OpenAPI 'nullable: true' property. + NgApCause: + description: Represents the NGAP cause. type: object properties: group: @@ -1215,7 +2527,9 @@ components: required: - group - value + BackupAmfInfo: + description: Provides details of the Backup AMF. type: object properties: backupAmf: @@ -1225,19 +2539,32 @@ components: items: $ref: '#/components/schemas/Guami' minItems: 1 + description: > + If present, this IE shall contain the list of GUAMI(s) (supported by the AMF) for + which the backupAmf IE applies. required: - backupAmf + RefToBinaryData: + description: This parameter provides information about the referenced binary body data. type: object properties: contentId: type: string + description: > + This IE shall contain the value of the Content-ID header of the referenced binary + body part. required: - contentId + RefToBinaryDataRm: anyOf: - $ref: '#/components/schemas/RefToBinaryData' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the ' RefToBinaryData ' data type, + but with the OpenAPI 'nullable: true' property. + RouteToLocation: type: object properties: @@ -1248,12 +2575,17 @@ components: routeProfId: type: string nullable: true + description: Identifies the routing profile Id. required: - dnai anyOf: - required: [ routeInfo ] - required: [ routeProfId ] nullable: true + description: > + At least one of the "routeInfo" attribute and the "routeProfId" attribute shall be included + in the "RouteToLocation" data type. + RouteInformation: type: object properties: @@ -1266,19 +2598,12 @@ components: required: - portNumber nullable: true - SubscribedDefaultQos: - type: object - required: - - 5qi - - arp - properties: - 5qi: - $ref: '#/components/schemas/5Qi' - arp: - $ref: '#/components/schemas/Arp' - priorityLevel: - $ref: '#/components/schemas/5QiPriorityLevel' + description: > + At least one of the "ipv4Addr" attribute and the "ipv6Addr" attribute shall be included in + the "RouteInformation" data type. + Area: + description: Provides area information. type: object oneOf: - required: @@ -1293,7 +2618,9 @@ components: minItems: 1 areaCode: $ref: '#/components/schemas/AreaCode' + ServiceAreaRestriction: + description: Provides information about allowed or not allowed areas. type: object properties: restrictionType: @@ -1341,39 +2668,32 @@ components: enum: [ ALLOWED_AREAS ] - not: required: [ maxNumOfTAsForNotAllowedAreas ] - WirelineArea: - type: object - properties: - globalLineIds: - type: array - items: - $ref: '#/components/schemas/Gli' - minItems: 1 - hfcNIds: - type: array - items: - $ref: '#/components/schemas/HfcNId' - minItems: 1 - areaCodeB: - $ref: '#/components/schemas/AreaCode' - areaCodeC: - $ref: '#/components/schemas/AreaCode' - WirelineServiceAreaRestriction: - type: object - properties: - restrictionType: - $ref: '#/components/schemas/RestrictionType' - areas: - type: array - items: - $ref: '#/components/schemas/WirelineArea' + PresenceInfo: type: object properties: praId: type: string + description: > + Represents an identifier of the Presence Reporting Area (see clause 28.10 of 3GPP + TS 23.003. This IE shall be present if the Area of Interest subscribed or reported is + a Presence Reporting Area or a Set of Core Network predefined Presence Reporting Areas. + When present, it shall be encoded as a string representing an integer in the following + ranges: + 0 to 8 388 607 for UE-dedicated PRA + 8 388 608 to 16 777 215 for Core Network predefined PRA + Examples: + PRA ID 123 is encoded as "123" + PRA ID 11 238 660 is encoded as "11238660" + additionalPraId: type: string + description: > + This IE may be present if the praId IE is present and if it contains a PRA identifier + referring to a set of Core Network predefined Presence Reporting Areas. When present, + this IE shall contain a PRA Identifier of an individual PRA within the Set of Core + Network predefined Presence Reporting Areas indicated by the praId IE. + presenceState: $ref: '#/components/schemas/PresenceState' trackingAreaList: @@ -1381,33 +2701,75 @@ components: items: $ref: '#/components/schemas/Tai' minItems: 1 + description: > + Represents the list of tracking areas that constitutes the area. This IE shall be + present if the subscription or the event report is for tracking UE presence in the + tracking areas. For non 3GPP access the TAI shall be the N3GPP TAI. + ecgiList: type: array items: $ref: '#/components/schemas/Ecgi' minItems: 1 + description: > + Represents the list of EUTRAN cell Ids that constitutes the area. This IE shall + be present if the Area of Interest subscribed is a list of EUTRAN cell Ids. + ncgiList: type: array items: $ref: '#/components/schemas/Ncgi' minItems: 1 + description: > + Represents the list of NR cell Ids that constitutes the area. This IE shall be + present if the Area of Interest subscribed is a list of NR cell Ids. + globalRanNodeIdList: type: array items: $ref: '#/components/schemas/GlobalRanNodeId' minItems: 1 + description: > + Represents the list of NG RAN node identifiers that constitutes the area. This IE shall + be present if the Area of Interest subscribed is a list of NG RAN node identifiers. + globaleNbIdList: type: array items: $ref: '#/components/schemas/GlobalRanNodeId' minItems: 1 + description: > + Represents the list of eNodeB identifiers that constitutes the area. This IE shall be + present if the Area of Interest subscribed is a list of eNodeB identifiers. + description: > + If the additionalPraId IE is present, this IE shall state the presence information of the + UE for the individual PRA identified by the additionalPraId IE; If the additionalPraId IE + is not present, this IE shall state the presence information of the UE for the PRA + identified by the praId IE. PresenceInfoRm: type: object properties: praId: type: string + description: | + Represents an identifier of the Presence Reporting Area (see clause 28.10 of + 3GPP TS 23.003. This IE shall be present if the Area of Interest subscribed or + reported is a Presence Reporting Area or a Set of Core Network predefined Presence + Reporting Areas. When present, it shall be encoded as a string representing an integer + in the following ranges: + - 0 to 8 388 607 for UE-dedicated PRA + - 8 388 608 to 16 777 215 for Core Network predefined PRA + Examples: + PRA ID 123 is encoded as "123" + PRA ID 11 238 660 is encoded as "11238660" additionalPraId: type: string + description: > + This IE may be present if the praId IE is present and if it contains a PRA identifier + referring to a set of Core Network predefined Presence Reporting Areas. + When present, this IE shall contain a PRA Identifier of an individual PRA within the Set + of Core Network predefined Presence Reporting Areas indicated by the praId IE. + presenceState: $ref: '#/components/schemas/PresenceState' trackingAreaList: @@ -1415,26 +2777,50 @@ components: items: $ref: '#/components/schemas/Tai' minItems: 0 + description: > + Represents the list of tracking areas that constitutes the area. This IE shall be + present if the subscription or the event report is for tracking UE presence in the + tracking areas. For non 3GPP access the TAI shall be the N3GPP TAI. + ecgiList: type: array items: $ref: '#/components/schemas/Ecgi' minItems: 0 + description: > + Represents the list of EUTRAN cell Ids that constitutes the area. This IE shall be + present if the Area of Interest subscribed is a list of EUTRAN cell Ids. ncgiList: type: array items: $ref: '#/components/schemas/Ncgi' minItems: 0 + description: > + Represents the list of NR cell Ids that constitutes the area. This IE shall be present + if the Area of Interest subscribed is a list of NR cell Ids. globalRanNodeIdList: type: array items: $ref: '#/components/schemas/GlobalRanNodeId' + description: > + Represents the list of NG RAN node identifiers that constitutes the area. This IE shall be + present if the Area of Interest subscribed is a list of NG RAN node identifiers. globaleNbIdList: type: array items: $ref: '#/components/schemas/GlobalRanNodeId' minItems: 1 + description: > + Represents the list of eNodeB identifiers that constitutes the area. This IE shall be present + if the Area of Interest subscribed is a list of eNodeB identifiers. nullable: true + description: > + This data type is defined in the same way as the 'PresenceInfo' data type, but with the + OpenAPI 'nullable: true' property. If the additionalPraId IE is present, this IE shall state + the presence information of the UE for the individual PRA identified by the additionalPraId + IE; If the additionalPraId IE is not present, this IE shall state the presence information + of the UE for the PRA identified by the praId IE. + GlobalRanNodeId: type: object properties: @@ -1461,34 +2847,94 @@ components: - required: [ wagfId ] - required: [ tngfId ] - required: [ eNbId ] + description: > + One of the six attributes n3IwfId, gNbIdm, ngeNbId, wagfId, tngfId, eNbId shall be present. required: - plmnId GNbId: + description: Provides the G-NB identifier. type: object properties: bitLength: type: integer minimum: 22 maximum: 32 + description: > + Unsigned integer representing the bit length of the gNB ID as defined in clause + 9.3.1.6 of 3GPP TS 38.413 [11], within the range 22 to 32. gNBValue: type: string pattern: '^[A-Fa-f0-9]{6,8}$' + description: > + This represents the identifier of the gNB. The value of the gNB ID shall be encoded + in hexadecimal representation. Each character in the string shall take a value of + "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The padding 0 shall + be added to make multiple nibbles, the most significant character representing the + padding 0 if required together with the 4 most significant bits of the gNB ID shall + appear first in the string, and the character representing the 4 least significant bit + of the gNB ID shall appear last in the string. required: - bitLength - gNBValue + AtsssCapability: + description: > + Containes Capability to support procedures related to Access Traffic Steering, Switching, + Splitting. type: object properties: atsssLL: type: boolean default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the ATSSS-LL steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501). + true: Supported + false (default): Not Supported mptcp: type: boolean default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPTCP steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501 + true: Supported + false (default): Not Supported + mpquic: + type: boolean + default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPQUIC-UDP steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501) + true: Supported + false (default): Not Supported rttWithoutPmf: type: boolean default: false + description: > + This IE is only used by the UPF to indicate whether the UPF supports RTT measurement + without PMF (see clauses 5.32.2, 6.3.3.3 of 3GPP TS 23.501 + true: Supported + false (default): Not Supported + mpquicIp: + type: boolean + default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPQUIC-IP steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501) + true: Supported + false (default): Not Supported + mpquicE: + type: boolean + default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPQUIC-E steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501) + true: Supported + false (default): Not Supported PlmnIdNid: + description: > + Contains the serving core network operator PLMN ID and, for an SNPN, the NID that together + with the PLMN ID identifies the SNPN. type: object required: - mcc @@ -1500,52 +2946,141 @@ components: $ref: '#/components/schemas/Mnc' nid: $ref: '#/components/schemas/Nid' + + PlmnIdNidRm: + anyOf: + - $ref: '#/components/schemas/PlmnIdNid' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'PlmnIdNid' data type, but with the + OpenAPI 'nullable: true' property. + SmallDataRateStatus: + description: It indicates theSmall Data Rate Control Status type: object properties: remainPacketsUl: type: integer minimum: 0 + description: > + When present, it shall contain the number of packets the UE is allowed to send uplink + in the given time unit for the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501. remainPacketsDl: type: integer minimum: 0 + description: > + When present it shall contain the number of packets the AF is allowed to send downlink + in the given time unit for the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501. validityTime: $ref: '#/components/schemas/DateTime' remainExReportsUl: type: integer minimum: 0 + description: > + When present, it shall indicate number of additional exception reports the UE is allowed + to send uplink in the given time unit for the given PDU session (see clause 5.31.14.3 + of 3GPP TS 23.501. remainExReportsDl: type: integer minimum: 0 + description: > + When present, it shall indicate number of additional exception reports the AF is allowed + to send downlink in the given time unit for the given PDU session (see clause 5.31.14.3 + in 3GPP TS 23.501 + + HfcNodeId: + description: REpresents the HFC Node Identifer received over NGAP. + type: object + required: + - hfcNId + properties: + hfcNId: + $ref: '#/components/schemas/HfcNId' + + HfcNodeIdRm: + anyOf: + - $ref: '#/components/schemas/HfcNodeId' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'HfcNodeId' data type, but with the + OpenAPI 'nullable: true' property. + + WirelineArea: + type: object + properties: + globalLineIds: + type: array + items: + $ref: '#/components/schemas/Gli' + minItems: 1 + hfcNIds: + type: array + items: + $ref: '#/components/schemas/HfcNId' + minItems: 1 + areaCodeB: + $ref: '#/components/schemas/AreaCode' + areaCodeC: + $ref: '#/components/schemas/AreaCode' + combGciAndHfcNIds: + type: array + items: + $ref: '#/components/schemas/CombGciAndHfcNIds' + minItems: 1 + description: > + One and only one of the "globLineIds", "hfcNIds", "areaCodeB",d "areaCodeC" and + combGciAndHfcNIds attributes shall be included in a WirelineArea data structure + + WirelineServiceAreaRestriction: + type: object + properties: + restrictionType: + $ref: '#/components/schemas/RestrictionType' + areas: + type: array + items: + $ref: '#/components/schemas/WirelineArea' + description: > + The "restrictionType" attribute and the "areas" attribute shall be either both present + or absent. The empty array of areas is used when service is allowed/restricted nowhere. + ApnRateStatus: + description: Contains the APN rate control status e.g. of the AMF. type: object properties: remainPacketsUl: type: integer minimum: 0 + description: > + When present, it shall contain the number of packets the UE is allowed to send uplink + in the given time unit for the given APN (all PDN connections of the UE to this APN + see clause 4.7.7.3 in 3GPP TS 23.401. remainPacketsDl: type: integer minimum: 0 + description: > + When present, it shall contain the number of packets the UE is allowed to send uplink + in the given time unit for the given APN (all PDN connections of the UE to this APN + see clause 4.7.7.3 in 3GPP TS 23.401. validityTime: $ref: '#/components/schemas/DateTime' remainExReportsUl: type: integer minimum: 0 + description: > + When present, it shall indicate the number of additional exception reports the UE is + allowed to send uplink in the given time unit for the given APN (all PDN connections of the UE to this APN, + see clause 4.7.7.3 in 3GPP TS 23.401. remainExReportsDl: type: integer minimum: 0 - HfcNodeId: - type: object - required: - - hfcNId - properties: - hfcNId: - $ref: '#/components/schemas/HfcNId' - HfcNodeIdRm: - anyOf: - - $ref: '#/components/schemas/HfcNodeId' - - $ref: '#/components/schemas/NullValue' - ScheduledCommunicationTime: + description: > + When present, it shall indicate the number of additional exception reports the AF is + allowed to send downlink in the given time unit for the given APN (all PDN connections + of the UE to this APN, see clause 4.7.7.3 in 3GPP TS 23.401. + + ScheduledCommunicationTime: + description: Identifies time and day of the week when the UE is available for communication. type: object properties: daysOfWeek: @@ -1554,29 +3089,56 @@ components: $ref: '#/components/schemas/DayOfWeek' minItems: 1 maxItems: 6 - description: Identifies the day(s) of the week. If absent, it indicates every day of the week. + description: > + Identifies the day(s) of the week. If absent, it indicates every day of the week. timeOfDayStart: $ref: '#/components/schemas/TimeOfDay' timeOfDayEnd: $ref: '#/components/schemas/TimeOfDay' + ScheduledCommunicationTimeRm: anyOf: - $ref: '#/components/schemas/ScheduledCommunicationTime' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'ScheduledCommunicationTime' data type, + but with the OpenAPI 'nullable: true' property. + BatteryIndication: type: object properties: batteryInd: type: boolean + description: > + This IE shall indicate whether the UE is battery powered or not. + true: the UE is battery powered; + false or absent: the UE is not battery powered replaceableInd: type: boolean + description: > + This IE shall indicate whether the battery of the UE is replaceable or not. + true: the battery of the UE is replaceable; + false or absent: the battery of the UE is not replaceable. rechargeableInd: type: boolean + description: > + This IE shall indicate whether the battery of the UE is rechargeable or not. + true: the battery of UE is rechargeable; + false or absent: the battery of the UE is not rechargeable. + description: > + Parameters "replaceableInd" and "rechargeableInd" are only included if the value of + Parameter "batteryInd" is true. + BatteryIndicationRm: anyOf: - $ref: '#/components/schemas/BatteryIndication' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'BatteryIndication' data type, but + with the OpenAPI 'nullable: true' property. + AcsInfo: + description: The ACS information for the 5G-RG is defined in BBF TR-069 [42] or in BBF TR-369 type: object properties: acsUrl: @@ -1585,25 +3147,35 @@ components: $ref: '#/components/schemas/Ipv4Addr' acsIpv6Addr: $ref: '#/components/schemas/Ipv6Addr' + AcsInfoRm: anyOf: - $ref: '#/components/schemas/AcsInfo' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'AcsInfo' data type, but with the + OpenAPI 'nullable: true' property. + NrV2xAuth: + description: Contains NR V2X services authorized information. type: object properties: vehicleUeAuth: $ref: '#/components/schemas/UeAuth' pedestrianUeAuth: $ref: '#/components/schemas/UeAuth' + LteV2xAuth: + description: Contains LTE V2X services authorized information. type: object properties: vehicleUeAuth: $ref: '#/components/schemas/UeAuth' pedestrianUeAuth: $ref: '#/components/schemas/UeAuth' + Pc5QoSPara: + description: Contains policy data on the PC5 QoS parameters. type: object required: - pc5QosFlowList @@ -1612,26 +3184,33 @@ components: type: array items: $ref: '#/components/schemas/Pc5QosFlowItem' + minItems: 1 pc5LinkAmbr: $ref: '#/components/schemas/BitRate' + Pc5QosFlowItem: + description: Contains a PC5 QOS flow. type: object required: - pqi properties: pqi: $ref: '#/components/schemas/5Qi' + pc5FlowBitRates: $ref: '#/components/schemas/Pc5FlowBitRates' range: $ref: '#/components/schemas/Uinteger' + Pc5FlowBitRates: + description: it shall represent the PC5 Flow Bit Rates type: object properties: guaFbr: $ref: '#/components/schemas/BitRate' maxFbr: $ref: '#/components/schemas/BitRate' + UtraLocation: type: object oneOf: @@ -1641,6 +3220,7 @@ components: - sai - required: - rai + description: Exactly one of cgi, sai or lai shall be present. properties: cgi: $ref: '#/components/schemas/CellGlobalId' @@ -1654,14 +3234,29 @@ components: type: integer minimum: 0 maximum: 32767 + description: > + The value represents the elapsed time in minutes since the last network contact of the + mobile station. Value "0" indicates that the location information was obtained after a + successful paging procedure for Active Location Retrieval when the UE is in idle mode + or after a successful location reporting procedure the UE is in connected mode. Any + other value than "0" indicates that the location information is the last known one. + See 3GPP TS 29.002 clause 17.7.8. ueLocationTimestamp: $ref: '#/components/schemas/DateTime' geographicalInformation: type: string pattern: '^[0-9A-F]{16}$' + description: > + Refer to geographical Information.See 3GPP TS 23.032 clause 7.3.2. Only the + description of an ellipsoid point with uncertainty circle is allowed to be used. geodeticInformation: type: string pattern: '^[0-9A-F]{20}$' + description: > + Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) clause + 3.88.2. Only the description of an ellipsoid point with uncertainty circle is allowed + to be used. + GeraLocation: type: object oneOf: @@ -1669,38 +3264,56 @@ components: - cgi - required: - sai - - required: - - rai - required: - lai + description: Exactly one of cgi, sai or lai shall be present. properties: locationNumber: type: string + description: Location number within the PLMN. See 3GPP TS 23.003, clause 4.5. cgi: $ref: '#/components/schemas/CellGlobalId' - rai: - $ref: '#/components/schemas/RoutingAreaId' sai: $ref: '#/components/schemas/ServiceAreaId' lai: $ref: '#/components/schemas/LocationAreaId' + rai: + $ref: '#/components/schemas/RoutingAreaId' vlrNumber: type: string + description: VLR number. See 3GPP TS 23.003 clause 5.1. mscNumber: type: string + description: MSC number. See 3GPP TS 23.003 clause 5.1. ageOfLocationInformation: type: integer minimum: 0 maximum: 32767 + description: > + The value represents the elapsed time in minutes since the last network contact of the + mobile station. Value "0" indicates that the location information was obtained after a + successful paging procedure for Active Location Retrieval when the UE is in idle mode + or after a successful location reporting procedure the UE is in connected mode. Any + other value than "0" indicates that the location information is the last known one. + See 3GPP TS 29.002 clause 17.7.8. ueLocationTimestamp: $ref: '#/components/schemas/DateTime' geographicalInformation: type: string pattern: '^[0-9A-F]{16}$' + description: > + Refer to geographical Information.See 3GPP TS 23.032 clause 7.3.2. Only the + description of an ellipsoid point with uncertainty circle is allowed to be used. geodeticInformation: type: string pattern: '^[0-9A-F]{20}$' + description: > + Refers to Calling Geodetic Location.See ITU-T Recommendation Q.763 (1999) clause 3.88.2. + Only the description of an ellipsoid point with uncertainty circle is allowed to be + used. + CellGlobalId: + description: Contains a Cell Global Identification as defined in 3GPP TS 23.003, clause 4.3.1. type: object required: - plmnId @@ -1715,7 +3328,9 @@ components: cellId: type: string pattern: '^[A-Fa-f0-9]{4}$' + ServiceAreaId: + description: Contains a Service Area Identifier as defined in 3GPP TS 23.003, clause 12.5. type: object required: - plmnId @@ -1727,10 +3342,14 @@ components: lac: type: string pattern: '^[A-Fa-f0-9]{4}$' + description: Location Area Code. sac: type: string pattern: '^[A-Fa-f0-9]{4}$' + description: Service Area Code. + LocationAreaId: + description: Contains a Location area identification as defined in 3GPP TS 23.003, clause 4.1. type: object required: - plmnId @@ -1738,10 +3357,14 @@ components: properties: plmnId: $ref: '#/components/schemas/PlmnId' + lac: type: string pattern: '^[A-Fa-f0-9]{4}$' + description: Location Area Code. + RoutingAreaId: + description: Contains a Routing Area Identification as defined in 3GPP TS 23.003, clause 4.2. type: object required: - plmnId @@ -1753,30 +3376,41 @@ components: lac: type: string pattern: '^[A-Fa-f0-9]{4}$' + description: Location Area Code rac: type: string pattern: '^[A-Fa-f0-9]{2}$' + description: Routing Area Code + DddTrafficDescriptor: + description: Contains a Traffic Descriptor. type: object properties: ipv4Addr: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + $ref: '#/components/schemas/Ipv4Addr' ipv6Addr: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + $ref: '#/components/schemas/Ipv6Addr' portNumber: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + $ref: '#/components/schemas/Uinteger' macAddr: - $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + $ref: '#/components/schemas/MacAddr48' + MoExpDataCounter: + description: Contain the MO Exception Data Counter. type: object required: - counter properties: counter: type: integer + description: > + Unsigned integer identifying the MO Exception Data Counter, as specified in clause + 5.31.14.3 of 3GPP TS 23.501. timeStamp: $ref: '#/components/schemas/DateTime' + NssaaStatus: + description: contains the Subscribed S-NSSAI subject to NSSAA procedure and the status. type: object required: - snssai @@ -1786,60 +3420,78 @@ components: $ref: '#/components/schemas/Snssai' status: $ref: '#/components/schemas/AuthStatus' + NssaaStatusRm: anyOf: - $ref: '#/components/schemas/NssaaStatus' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'NssaaStatus' data type, but with + the OpenAPI 'nullable: true' property. + TnapId: + description: Contain the TNAP Identifier see clause5.6.2 of 3GPP TS 23.501. type: object properties: ssId: type: string + description: > + This IE shall be present if the UE is accessing the 5GC via a trusted WLAN access + network.When present, it shall contain the SSID of the access point to which the UE + is attached, that is received over NGAP, see IEEE Std 802.11-2012. + bssId: type: string + description: > + When present, it shall contain the BSSID of the access point to which the UE is + attached, that is received over NGAP, see IEEE Std 802.11-2012. + civicAddress: $ref: '#/components/schemas/Bytes' + TnapIdRm: anyOf: - $ref: '#/components/schemas/TnapId' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'TnapId' data type, but with the + OpenAPI 'nullable: true' property. + TwapId: + description: > + Contain the TWAP Identifier as defined in clause 4.2.8.5.3 of 3GPP TS 23.501 + or the WLAN location information as defined in clause 4.5.7.2.8 of 3GPP TS 23.402. type: object required: - ssId properties: ssId: type: string + description: > + This IE shall contain the SSID of the access point to which the UE is attached, that is + received over NGAP, see IEEE Std 802.11-2012. + bssId: type: string + description: > + When present, it shall contain the BSSID of the access point to which the UE is + attached, for trusted WLAN access, see IEEE Std 802.11-2012. + civicAddress: $ref: '#/components/schemas/Bytes' + TwapIdRm: anyOf: - $ref: '#/components/schemas/TwapId' - $ref: '#/components/schemas/NullValue' - LineType: - anyOf: - - type: string - enum: - - DSL - - PON - - type: string - description: > - 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. description: > - Possible values are - - DSL: Identifies a DSL line - - PON: Identifies a PON line - LineTypeRm: - anyOf: - - $ref: '#/components/schemas/LineType' - - $ref: '#/components/schemas/NullValue' + This data type is defined in the same way as the 'TwapId' data type, but with the + OpenAPI 'nullable: true' property. SnssaiExtension: - description: Extensions to the Snssai data type, sdRanges and wildcardSd shall not be present simultaneously + description: > + Extensions to the Snssai data type, sdRanges and wildcardSd shall not be present + simultaneously type: object not: required: @@ -1847,13 +3499,17 @@ components: - wildcardSd properties: sdRanges: - description: When present, it shall contain the range(s) of Slice Differentiator values supported for the Slice/Service Type value indicated in the sst attribute of the Snssai data type + description: > + When present, it shall contain the range(s) of Slice Differentiator values supported for + the Slice/Service Type value indicated in the sst attribute of the Snssai data type type: array items: $ref: '#/components/schemas/SdRange' minItems: 1 wildcardSd: - description: When present, it shall be set to true, to indicate that all SD values are supported for the Slice/Service Type value indicated in the sst attribute of the Snssai data type + description: > + When present, it shall be set to true, to indicate that all SD values are supported for + the Slice/Service Type value indicated in the sst attribute of the Snssai data type. type: boolean enum: - true @@ -1865,875 +3521,3943 @@ components: start: type: string pattern: '^[A-Fa-f0-9]{6}$' + description: > + First value identifying the start of an SD range. This string shall be formatted as + specified for the sd attribute of the Snssai data type in clause 5.4.4.2. end: type: string pattern: '^[A-Fa-f0-9]{6}$' + description: > + Last value identifying the end of an SD range. This string shall be formatted as + specified for the sd attribute of the Snssai data type in clause 5.4.4.2. -# -# Data types describing alternative data types or combinations of data types -# - ExtSnssai: - allOf: - - $ref: '#/components/schemas/Snssai' - - $ref: '#/components/schemas/SnssaiExtension' + ProseServiceAuth: + description: > + Indicates whether the UE is authorized to use related services. + type: object + properties: + proseDirectDiscoveryAuth: + $ref: '#/components/schemas/UeAuth' + proseDirectCommunicationAuth: + $ref: '#/components/schemas/UeAuth' + proseL2RelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL3RelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL2RemoteAuth: + $ref: '#/components/schemas/UeAuth' + proseL3RemoteAuth: + $ref: '#/components/schemas/UeAuth' + proseMultipathComL2RemoteAuth: + $ref: '#/components/schemas/UeAuth' + proseL2UeRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL3UeRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL2EndAuth: + $ref: '#/components/schemas/UeAuth' + proseL3EndAuth: + $ref: '#/components/schemas/UeAuth' + proseL3IntermediateRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL3RemoteMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL3RelayMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL3UeRelayMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL3EndMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL2IntermediateRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL2RemoteMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL2RelayMultihopAuth: + $ref: '#/components/schemas/UeAuth' -# -# Data Types related to 5G QoS as defined in clause 5.5 -# + EcsServerAddr: + description: > + Contains the Edge Configuration Server Address Configuration Information as defined in + clause 5.2.3.6.1 of 3GPP TS 23.502. + type: object + properties: + ecsFqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + ecsIpAddressList: + type: array + items: + $ref: '#/components/schemas/IpAddr' + minItems: 1 + ecsUriList: + type: array + items: + $ref: '#/components/schemas/Uri' + minItems: 1 + ecsProviderId: + type: string -# -# 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 - ArpPriorityLevelRm: - type: integer - minimum: 1 - maximum: 15 - nullable: true - ArpPriorityLevel: - type: integer - minimum: 1 - maximum: 15 - nullable: true - description: nullable true shall not be used for this attribute - 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 - SamplingRatio: - type: integer - minimum: 1 - maximum: 100 - SamplingRatioRm: - type: integer - minimum: 1 - maximum: 100 - nullable: true - RgWirelineCharacteristics: - $ref: '#/components/schemas/Bytes' - RgWirelineCharacteristicsRm: + EcsServerAddrRm: anyOf: - - $ref: '#/components/schemas/RgWirelineCharacteristics' + - $ref: '#/components/schemas/EcsServerAddr' - $ref: '#/components/schemas/NullValue' - ExtMaxDataBurstVol: - type: integer - minimum: 4096 - maximum: 2000000 - ExtMaxDataBurstVolRm: - type: integer - minimum: 4096 - maximum: 2000000 - nullable: true - ExtPacketDelBudget: - type: integer - minimum: 1 - ExtPacketDelBudgetRm: - type: integer - minimum: 1 - nullable: true + description: > + This data type is defined in the same way as the ' EcsServerAddr ' data type, but with + the OpenAPI 'nullable: true' property. -# -# ENUMERATED DATA TYPES -# + IpAddr: + description: Contains an IP adresse. + type: object + oneOf: + - required: + - ipv4Addr + - required: + - ipv6Addr + - required: + - ipv6Prefix + properties: + ipv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: '#/components/schemas/Ipv6Prefix' - PreemptionCapability: - anyOf: - - type: string - enum: - - NOT_PREEMPT - - MAY_PREEMPT - - type: string + SACInfo: + description: > + Represents threshold(s) to control the triggering of network slice reporting notifications + or the information contained in the network slice reporting notification. + type: object + properties: + numericValNumUes: + type: integer + numericValNumPduSess: + type: integer + percValueNumUes: + type: integer + minimum: 0 + maximum: 100 + percValueNumPduSess: + type: integer + minimum: 0 + maximum: 100 + uesWithPduSessionInd: + type: boolean + default: false + + SACEventStatus: + description: > + Contains the network slice status information in terms of the current number of UEs + registered with a network slice, the current number of PDU Sessions established on a + network slice or both. + type: object + properties: + reachedNumUes: + $ref: '#/components/schemas/SACInfo' + reachedNumPduSess: + $ref: '#/components/schemas/SACInfo' + + SpatialValidityCond: + description: Contains the Spatial Validity Condition. + type: object + properties: + trackingAreaList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + countries: + type: array + items: + $ref: '#/components/schemas/Mcc' + minItems: 1 +# geographicalServiceArea: +# $ref: '#/components/schemas/GeoServiceArea' + + SpatialValidityCondRm: + description: Contains the Spatial Validity Condition or the null value. + anyOf: + - $ref: '#/components/schemas/SpatialValidityCond' + - $ref: '#/components/schemas/NullValue' + + ServerAddressingInfo: + description: Contains addressing information (IP addresses and/or FQDNs) of a server. + type: object + anyOf: + - required: + - ipv4Addresses + - required: + - ipv6Addresses + - required: + - fqdnList + properties: + ipv4Addresses: + type: array + items: + $ref: '#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addresses: + type: array + items: + $ref: '#/components/schemas/Ipv6Addr' + minItems: 1 + fqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + + PcfUeCallbackInfo: + description: > + Contains the PCF for the UE information necessary for the PCF for the PDU session to send + SM Policy Association Establishment and Termination events. + type: object + properties: + callbackUri: + $ref: '#/components/schemas/Uri' + bindingInfo: + type: string + nullable: true + required: + - callbackUri + + PduSessionInfo: + description: indicates the DNN and S-NSSAI combination of a PDU session. + type: object + properties: + snssai: + $ref: '#/components/schemas/Snssai' + dnn: + $ref: '#/components/schemas/Dnn' + required: + - dnn + - snssai + + EasIpReplacementInfo: + description: Contains EAS IP replacement information for a Source and a Target EAS. + type: object + properties: + source: + $ref: '#/components/schemas/EasServerAddress' + target: + $ref: '#/components/schemas/EasServerAddress' + required: + - source + - target + + EasServerAddress: + description: Represents the IP address and port of an EAS server. + type: object + properties: + ip: + $ref: '#/components/schemas/IpAddr' + port: + $ref: '#/components/schemas/Uinteger' + required: + - ip + - port + + RoamingRestrictions: + description: > + Indicates if access is allowed to a given serving network, e.g. a PLMN (MCC, MNC) or an + SNPN (MCC, MNC, NID). + type: object + properties: + accessAllowed: + type: boolean + + #GeoServiceArea: + # description: List of geographic area or list of civic address info + # type: object + # properties: + # geographicAreaList: + # type: array + # items: + # $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + # minItems: 1 + # civicAddressList: + # type: array + # items: + # $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + # minItems: 1 + + MutingExceptionInstructions: + description: > + Indicates to an Event producer NF instructions for the subscription and stored events when + an exception (e.g. full buffer) occurs at the Event producer NF while the event is muted. + type: object + properties: + bufferedNotifs: + $ref: '#/components/schemas/BufferedNotificationsAction' + subscription: + $ref: '#/components/schemas/SubscriptionAction' + + MutingNotificationsSettings: + description: > + Indicates the Event producer NF settings to the Event consumer NF + type: object + properties: + maxNoOfNotif: + type: integer + durationBufferedNotif: + $ref: '#/components/schemas/DurationSec' + + CombGciAndHfcNIds: + description: > + Combined Global Cable Identifier and HFC Node Id + type: object + properties: + globalCableId: + $ref: '#/components/schemas/Gci' + hfcNId: + $ref: '#/components/schemas/HfcNId' + + + VplmnOffloadingInfo: + description: VPLMN Specific Offloading Information + type: object + nullable: true + properties: + offloadIdentifier: + $ref: '#/components/schemas/OffloadIdentifier' + vplmnId: + $ref: '#/components/schemas/PlmnId' + allowedTraffic: + type: boolean + default: true + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv4AddrMasks: + type: array + items: + $ref: '#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + fqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + fqdnPatterns: + type: array + items: + $ref: '#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + + PartiallyAllowedSnssai: + description: > + Indicates a S-NSSAI that is partially allowed in the Registration Area. + type: object + properties: + snssai: + $ref: '#/components/schemas/Snssai' + allowedTaiList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + required: + - snssai + - allowedTaiList + + VarRepPeriod: + description: > + Indicates the Variable reporting periodicity for event reporting + type: object + properties: + repPeriod: + $ref: '#/components/schemas/DurationSec' + percValueNfLoad: + allOf: + - $ref: '#/components/schemas/Uinteger' + minimum: 0 + maximum: 100 + required: + - repPeriod + + + RangingSlPosAuth: + description: > + Indicates whether the UE is authorized to use related services. + type: object + properties: + rgSlPosPc5Auth: + $ref: '#/components/schemas/UeAuth' + rgSlPosLocAuth: + $ref: '#/components/schemas/UeAuth' + rgSlPosClientAuth: + $ref: '#/components/schemas/UeAuth' + rgSlPosServerAuth: + $ref: '#/components/schemas/UeAuth' + + + NrA2xAuth: + description: Contains NR A2X services authorized information. + type: object + properties: + uavUeAuth: + $ref: '#/components/schemas/UeAuth' + + LteA2xAuth: + description: Contains LTE A2X services authorized information. + type: object + properties: + uavUeAuth: + $ref: '#/components/schemas/UeAuth' + + SliceUsageControlInfo: + description: The network slice usage control related information + type: object + required: + - sNssai + properties: + sNssai: + $ref: '#/components/schemas/Snssai' + deregInactTimer: + $ref: '#/components/schemas/DurationSec' + sessInactTimer: + $ref: '#/components/schemas/DurationSec' + anyOf: + - required: [ deregInactTimer ] + - required: [ sessInactTimer ] + + SnssaiDnnItem: + description: Combination of S-NSSAIs and DNNs + type: object + properties: + snssaiList: + type: array + items: + $ref: '#/components/schemas/ExtSnssai' + minItems: 1 + dnnList: + type: array + items: + $ref: '#/components/schemas/Dnn' + minItems: 1 + anyOf: + - required: [ snssaiList ] + - required: [ dnnList ] + + + NtnTaiInfo: + description: Contains NR NTN TAI Information. + type: object + required: + - plmnId + - tacList + properties: + plmnId: + $ref: '#/components/schemas/PlmnIdNid' + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + derivedTac: + $ref: '#/components/schemas/Tac' + + MitigationInfo: + description: include the congestion mitigation information. + type: object + properties: + percValueNumUes: + type: integer + minimum: 0 + maximum: 100 + newUesInd: + type: boolean + + VplmnDlAmbr: + description: an Authorized DL Session AMBR for Offloading for the VPLMN + type: object + nullable: true + properties: + vplmnId: + $ref: '#/components/schemas/PlmnId' + sessionDlAmbr: + $ref: '#/components/schemas/BitRate' + required: + - vplmnId + - sessionDlAmbr + + LocalOffloadingManagementInfo: + description: Local Offloading Management Information + type: object + nullable: true + properties: + offloadIdentifier: + $ref: '#/components/schemas/OffloadIdentifier' + allowedTraffic: + type: boolean + default: true + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv4AddrMasks: + type: array + items: + $ref: '#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + fqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + fqdnPatterns: + type: array + items: + $ref: '#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + + + CagProvisionInformation: + description: CAG Provision Information + type: object + required: + - cagInfo + properties: + cagInfo: + type: array + items: + $ref: '#/components/schemas/CagId' + minItems: 1 + # commonValidTimePeriodList: + # type: array + # items: + # $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ValidTimePeriod' + # minItems: 0 + additionalValidTimePeriodList: + description: > + A map (list of key-value pairs) where CAG ID coverted to string serves the key; + and the value is an array of time periods associted with the CAG ID. + type: object + # additionalProperties: + # type: array + # items: + # $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ValidTimePeriod' + # minItems: 1 + # minProperties: 1 + provisionOperation: + $ref: '#/components/schemas/CagProvisionOperation' + + + PlmnLocation: + description: Contains the PLMN ID where the UE is located + type: object + required: + - plmnId + properties: + plmnId: + $ref: '#/components/schemas/PlmnIdNid' + +# +# Data types describing alternative data types or combinations of data types +# + ExtSnssai: + allOf: + - $ref: '#/components/schemas/Snssai' + - $ref: '#/components/schemas/SnssaiExtension' + description: > + The sdRanges and wildcardSd attributes shall be exclusive from each other. If one of these + attributes is present, the sd attribute shall also be present and it shall contain one Slice + Differentiator value within the range of SD (if the sdRanges attribute is present) or with + any value (if the wildcardSd attribute is present). + + SnssaiReplaceInfo: + description: Indicates the status of an S-NSSAI and an alternative S-NSSAI optionally. + type: object + properties: + snssai: + $ref: '#/components/schemas/Snssai' + status: + $ref: '#/components/schemas/SnssaiStatus' + altSnssai: + $ref: '#/components/schemas/Snssai' + nsReplTerminInd: + $ref: '#/components/schemas/TerminationIndication' + plmnId: + $ref: '#/components/schemas/PlmnId' + mitigationInfo: + $ref: '#/components/schemas/MitigationInfo' + required: + - snssai + + +# +# Data Types related to 5G QoS as defined in clause 5.5 +# + +# +# SIMPLE DATA TYPES +# +# + Qfi: + type: integer + minimum: 0 + maximum: 63 + description: Unsigned integer identifying a QoS flow, within the range 0 to 63. + + QfiRm: + type: integer + minimum: 0 + maximum: 63 + nullable: true + description: > + This data type is defined in the same way as the 'Qfi' data type, but with the + OpenAPI 'nullable: true' property. + + 5Qi: + type: integer + minimum: 0 + maximum: 255 + description: > + Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, + within the range 0 to 255. + + 5QiRm: + type: integer + minimum: 0 + maximum: 255 + nullable: true + description: > + This data type is defined in the same way as the '5QiPriorityLevel' data type, but with + the OpenAPI 'nullable: true' property. " + + BitRate: + type: string + pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' + description: > + String representing a bit rate; the prefixes follow the standard symbols from The International + System of Units, and represent x1000 multipliers, with the exception that prefix "K" is + used to represent the standard symbol "k". + + BitRateRm: + type: string + pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' + nullable: true + description: > + This data type is defined in the same way as the 'BitRate' data type, but with the OpenAPI + 'nullable: true' property. + + PacketRate: + type: string + pattern: '^\d+(\.\d+)? (pps|kpps|Mpps|Gpps|Tpps)$' + description: > + String representing a packet rate, i.e., packet per second; the prefixes follow the symbols + from The International System of Units, and represent x1000 multipliers. + + PacketRateRm: + type: string + pattern: '^\d+(\.\d+)? (pps|kpps|Mpps|Gpps|Tpps)$' + nullable: true + description: > + This data type is defined in the same way as the 'PacketRate' data type, but with the + OpenAPI 'nullable: true' property. + + TrafficVolume: + type: string + pattern: '^\d+(\.\d+)? (B|kB|MB|GB|TB)$' + description: > + String representing a Traffic Volume measured in bytes; the prefixes follow the symbols + from The International System of Units, and represent x1000 multipliers. + + TrafficVolumeRm: + type: string + pattern: '^\d+(\.\d+)? (B|kB|MB|GB|TB)$' + nullable: true + description: > + This data type is defined in the same way as the 'TrafficVolume' data type, but with the + OpenAPI 'nullable: true' property. + + ArpPriorityLevelRm: + type: integer + minimum: 1 + maximum: 15 + nullable: true + description: > + This data type is defined in the same way as the 'ArpPriorityLevel' data type, but with + the OpenAPI 'nullable: true' property. + + ArpPriorityLevel: + type: integer + minimum: 1 + maximum: 15 + nullable: true + description: > + nullable true shall not be used for this attribute. Unsigned integer indicating the ARP + Priority Level (see clause 5.7.2.2 of 3GPP TS 23.501, within the range 1 to 15.Values are + ordered in decreasing order of priority, i.e. with 1 as the highest priority and 15 as + the lowest priority. + + 5QiPriorityLevel: + type: integer + minimum: 1 + maximum: 127 + description: > + Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP + TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority, + i.e. with 1 as the highest priority and 127 as the lowest priority. + + 5QiPriorityLevelRm: + type: integer + minimum: 1 + maximum: 127 + nullable: true + description: > + This data type is defined in the same way as the '5QiPriorityLevel' data type, but with + the OpenAPI 'nullable: true' property. + + PacketDelBudget: + type: integer + minimum: 1 + description: > + Unsigned integer indicating Packet Delay Budget (see clauses 5.7.3.4 and 5.7.4 of 3GPP + TS 23.501), expressed in milliseconds. + + PacketDelBudgetRm: + type: integer + minimum: 1 + nullable: true + description: > + This data type is defined in the same way as the 'PacketDelBudget' data type, but with + the OpenAPI 'nullable: true' property. + + PacketErrRate: + type: string + pattern: '^([0-9]E-[0-9])$' + description: > + String representing Packet Error Rate (see clause 5.7.3.5 and 5.7.4 of 3GPP TS 23.501, + expressed as a "scalar x 10-k" where the scalar and the exponent k are each encoded as + one decimal digit. + + PacketErrRateRm: + type: string + pattern: '^([0-9]E-[0-9])$' + nullable: true + description: > + This data type is defined in the same way as the 'PacketErrRate' data type, but with + the OpenAPI 'nullable: true' property. + + PacketLossRate: + type: integer + minimum: 0 + maximum: 1000 + description: > + Unsigned integer indicating Packet Loss Rate (see clauses 5.7.2.8 and 5.7.4 of 3GPP + TS 23.501), expressed in tenth of percent. + + PacketLossRateRm: + type: integer + minimum: 0 + maximum: 1000 + nullable: true + description: > + This data type is defined in the same way as the 'PacketLossRate' data type, but with + the OpenAPI 'nullable: true' property. + + AverWindow: + type: integer + minimum: 1 + maximum: 4095 + default: 2000 + description: > + Unsigned integer indicating Averaging Window (see clause 5.7.3.6 and 5.7.4 of + 3GPP TS 23.501), expressed in milliseconds. + + AverWindowRm: + type: integer + maximum: 4095 + default: 2000 + minimum: 1 + nullable: true + description: > + This data type is defined in the same way as the 'AverWindow' data type, but with + the OpenAPI 'nullable: true' property. + + MaxDataBurstVol: + type: integer + minimum: 1 + maximum: 4095 + description: > + Unsigned integer indicating Maximum Data Burst Volume (see clauses 5.7.3.7 and 5.7.4 of + 3GPP TS 23.501), expressed in Bytes. + + MaxDataBurstVolRm: + type: integer + minimum: 1 + maximum: 4095 + nullable: true + description: > + This data type is defined in the same way as the 'MaxDataBurstVol' data type, but with + the OpenAPI 'nullable: true' property. + + SamplingRatio: + type: integer + minimum: 1 + maximum: 100 + description: > + Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 of 3GPP TS 23.502), + expressed in percent. + + SamplingRatioRm: + type: integer + minimum: 1 + maximum: 100 + nullable: true + description: > + This data type is defined in the same way as the 'SamplingRatio' data type, but with the + OpenAPI 'nullable: true' property. +# + RgWirelineCharacteristics: + $ref: '#/components/schemas/Bytes' + + RgWirelineCharacteristicsRm: + anyOf: + - $ref: '#/components/schemas/RgWirelineCharacteristics' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'RgWirelineCharacteristics' data type, + but with the OpenAPI 'nullable: true' property. + + ExtMaxDataBurstVol: + type: integer + minimum: 4096 + maximum: 2000000 + description: > + Unsigned integer indicating Maximum Data Burst Volume (see clauses 5.7.3.7 and 5.7.4 of + 3GPP TS 23.501), expressed in Bytes. + + ExtMaxDataBurstVolRm: + type: integer + minimum: 4096 + maximum: 2000000 + nullable: true + description: > + This data type is defined in the same way as the 'ExtMaxDataBurstVol' data type, but + with the OpenAPI 'nullable: true' property. + + ExtPacketDelBudget: + type: integer + minimum: 1 + description: > + Unsigned integer indicating Packet Delay Budget (see clauses 5.7.3.4 and 5.7.4 of 3GPP + TS 23.501 [8])), expressed in 0.01 milliseconds. + + ExtPacketDelBudgetRm: + type: integer + minimum: 1 + nullable: true + description: > + This data type is defined in the same way as the 'ExtPacketDelBudget' data type, but + with the OpenAPI 'nullable: true' property. " + + Metadata: + format: byte + type: string + nullable: true + description: > + A String which is transparently passed to the UPF to be applied for traffic to SFC. + + +# +# ENUMERATED DATA TYPES +# + + PreemptionCapability: + anyOf: + - type: string + enum: + - NOT_PREEMPT + - MAY_PREEMPT + - type: string + description: > + The enumeration PreemptionCapability indicates the pre-emption capability of a request on + other QoS flows. See clause 5.7.2.2 of 3GPP TS 23.501. It shall comply with the provisions + defined in table 5.5.3.1-1. PreemptionCapabilityRm: anyOf: - - $ref: '#/components/schemas/PreemptionCapability' + - $ref: '#/components/schemas/PreemptionCapability' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'PreemptionCapability' enumeration, + but with the OpenAPI 'nullable: true' property. + + PreemptionVulnerability: + anyOf: + - type: string + enum: + - NOT_PREEMPTABLE + - PREEMPTABLE + - type: string + description: > + The enumeration PreemptionVulnerability indicates the pre-emption vulnerability of the QoS + flow to pre-emption from other QoS flows. See clause 5.7.2.2 of 3GPP TS 23.501. It shall + comply with the provisions defined in table 5.5.3.2-1 + + PreemptionVulnerabilityRm: + anyOf: + - $ref: '#/components/schemas/PreemptionVulnerability' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'PreemptionVulnerability' enumeration, + but with the OpenAPI 'nullable: true' property." + + ReflectiveQoSAttribute: + anyOf: + - type: string + enum: + - RQOS + - NO_RQOS + - type: string + description: > + The enumeration ReflectiveQosAttribute indicates whether certain traffic of the QoS flow may + be subject to Reflective QoS (see clause 5.7.2.3 of 3GPP TS 23.501). It shall comply with + the provisions defined in table 5.5.3.3-1. + + ReflectiveQoSAttributeRm: + anyOf: + - $ref: '#/components/schemas/ReflectiveQoSAttribute' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'ReflectiveQosAttribute' enumeration, + but with the OpenAPI 'nullable: true' property. " + + NotificationControl: + anyOf: + - type: string + enum: + - REQUESTED + - NOT_REQUESTED + - type: string + description: > + The enumeration NotificationControl indicates whether notifications are requested from the + RAN when the GFBR can no longer (or again) be fulfilled for a QoS Flow during the lifetime + of the QoS Flow (see clause 5.7.2.4 of 3GPP TS 23.501). + It shall comply with the provisions defined in table 5.5.3.5-1. + + NotificationControlRm: + anyOf: + - $ref: '#/components/schemas/NotificationControl' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'NotificationControl' enumeration, but + with the OpenAPI 'nullable: true' property. + + QosResourceType: + anyOf: + - type: string + enum: + - NON_GBR + - NON_CRITICAL_GBR + - CRITICAL_GBR + - type: string + description: > + The enumeration QosResourceType indicates whether a QoS Flow is non-GBR, delay critical GBR, + or non-delay critical GBR (see clauses 5.7.3.4 and 5.7.3.5 of 3GPP TS 23.501). It shall + comply with the provisions defined in table 5.5.3.6-1. + + QosResourceTypeRm: + anyOf: + - $ref: '#/components/schemas/QosResourceType' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'QosResourceType' enumeration, but + with the OpenAPI 'nullable: true' property. " + + AdditionalQosFlowInfo: + anyOf: + - anyOf: + - type: string + enum: + - MORE_LIKELY + - type: string + - $ref: '#/components/schemas/NullValue' + description: > + The enumeration AdditionalQosFlowInfo provides additional QoS flow information (see clause + 9.3.1.12 3GPP TS 38.413 [11]). It shall comply with the provisions defined in table + 5.5.3.12-1. + + PartitioningCriteria: + anyOf: + - type: string + enum: + - TAC + - SUBPLMN + - GEOAREA + - SNSSAI + - DNN + - type: string + description: > + 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. + description: | + Possible values are: + - "TAC": Type Allocation Code + - "SUBPLMN": Subscriber PLMN ID + - "GEOAREA": Geographical area, i.e. list(s) of TAI(s) + - "SNSSAI": S-NSSAI + - "DNN": DNN + + PartitioningCriteriaRm: + anyOf: + - $ref: '#/components/schemas/PartitioningCriteria' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the ' PartitioningCriteria ' data type, but + with the OpenAPI 'nullable: true' property. + + PduSetHandlingInfo: + anyOf: + - type: string + enum: + - ALL_PDUS_NEEDED + - ALL_PDUS_NOT_NEEDED + - type: string + description: > + 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. + description: | + Possible values are: + - "ALL_PDUS_NEEDED": All PDUs of the PDU Set are needed + - "ALL_PDUS_NOT_NEEDED": All PDUs of the PDU Set are not needed + + MediaTransportProto: + anyOf: + - type: string + enum: + - RTP + - SRTP + - MOQT + - type: string + description: > + The enumeration MediaTransportProto indicates the transport protocol used for a media flow. + + MediaTransportProtoRm: + anyOf: + - $ref: '#/components/schemas/MediaTransportProto' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'MediaTransportProto' data type, + but with the OpenAPI 'nullable: true' property. + + RtpHeaderExtType: + anyOf: + - type: string + enum: + - PDU_SET_MARKING + - DYN_CHANGING_TRAFFIC_CHAR + - EXPEDITED_TRANSFER_IND + - type: string + description: > + The enumeration indicates the type of Rtp Header Extension type + + RtpHeaderExtTypeRm: + anyOf: + - $ref: '#/components/schemas/RtpHeaderExtType' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'RtpHeaderExtType' data type, + but with the OpenAPI 'nullable: true' property. + + + RtpPayloadFormat: + anyOf: + - type: string + enum: + - H264 + - H265 + - type: string + description: > + The enumeration RtpPayloadFormat indicates the RTP Payload format + + + RtpPayloadFormatRm: + anyOf: + - $ref: '#/components/schemas/RtpPayloadFormat' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'RtpPayloadFormat' data type, but with the + OpenAPI 'nullable: true' property. + + + MriTransferMethod: + anyOf: + - type: string + enum: + - UDP_OPTION + - type: string + description: > + This data type indicates the method used for transferring Media Related Information. + + MriTransferMethodRm: + anyOf: + - $ref: '#/components/schemas/MriTransferMethod' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'MriTransferMethod' data type, + but with the OpenAPI 'nullable: true' property. + +# +# +# STRUCTURED DATA TYPES +# + + Arp: + description: Contains Allocation and Retention Priority information. + type: object + properties: + priorityLevel: + $ref: '#/components/schemas/ArpPriorityLevel' + preemptCap: + $ref: '#/components/schemas/PreemptionCapability' + preemptVuln: + $ref: '#/components/schemas/PreemptionVulnerability' + required: + - priorityLevel + - preemptCap + - preemptVuln + + Ambr: + description: Contains the maximum aggregated uplink and downlink bit rates. + type: object + properties: + uplink: + $ref: '#/components/schemas/BitRate' + downlink: + $ref: '#/components/schemas/BitRate' + required: + - uplink + - downlink + + Dynamic5Qi: + description: > + It indicates the QoS Characteristics for a Non-standardised or not pre-configured 5QI + for downlink and uplink. + type: object + properties: + resourceType: + $ref: '#/components/schemas/QosResourceType' + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + packetDelayBudget: + $ref: '#/components/schemas/PacketDelBudget' + packetErrRate: + $ref: '#/components/schemas/PacketErrRate' + averWindow: + $ref: '#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: '#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: '#/components/schemas/ExtMaxDataBurstVol' + extPacketDelBudget: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetDl: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetUl: + $ref: '#/components/schemas/ExtPacketDelBudget' + required: + - resourceType + - priorityLevel + - packetDelayBudget + - packetErrRate + + NonDynamic5Qi: + description: > + It indicates the QoS Characteristics for a standardized or pre-configured 5QI for downlink + and uplink. + type: object + properties: + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + averWindow: + $ref: '#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: '#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: '#/components/schemas/ExtMaxDataBurstVol' + cnPacketDelayBudgetDl: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetUl: + $ref: '#/components/schemas/ExtPacketDelBudget' + minProperties: 0 + + ArpRm: + anyOf: + - $ref: '#/components/schemas/Arp' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Arp' data type, but with the + OpenAPI 'nullable: true' property. + + AmbrRm: + anyOf: + - $ref: '#/components/schemas/Ambr' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Ambr' data type, but with the + OpenAPI 'nullable: true' property." + + SliceMbr: + description: MBR related to slice + type: object + properties: + uplink: + $ref: '#/components/schemas/BitRate' + downlink: + $ref: '#/components/schemas/BitRate' + required: + - uplink + - downlink + + SliceMbrRm: + description: "SliceMbr with nullable: true" + + anyOf: + - $ref: '#/components/schemas/SliceMbr' + - $ref: '#/components/schemas/NullValue' + + PduSetQosPara: + description: Represents the PDU Set level QoS parameters. + type: object + properties: + pduSetDelayBudget: + $ref: '#/components/schemas/ExtPacketDelBudget' + pduSetErrRate: + $ref: '#/components/schemas/PacketErrRate' + pduSetHandlingInfo: + $ref: '#/components/schemas/PduSetHandlingInfo' + anyOf: + - required: [ pduSetDelayBudget, pduSetErrRate ] + - required: [ pduSetHandlingInfo ] +# + + PduSetQosParaRm: + description: "PduSetQosPara contains removable attributes" + type: object + nullable: true + properties: + pduSetDelayBudget: + $ref: '#/components/schemas/ExtPacketDelBudgetRm' + pduSetErrRate: + $ref: '#/components/schemas/PacketErrRateRm' + pduSetHandlingInfo: + $ref: '#/components/schemas/PduSetHandlingInfoRm' + + + ProtocolDescription: + description: ProtocolDescription contains information to derive PDU set information. + type: object + properties: + transportProto: + $ref: '#/components/schemas/MediaTransportProto' + rtpHeaderExtInfo: + $ref: '#/components/schemas/RtpHeaderExtInfo' + addRtpHeaderExtInfo: + type: array + items: + $ref: '#/components/schemas/RtpHeaderExtInfo' + minItems: 1 + rtpPayloadInfoList: + type: array + items: + $ref: '#/components/schemas/RtpPayloadInfo' + minItems: 1 + mriTransferInfo: + $ref: '#/components/schemas/MriTransferMethod' + + ProtocolDescriptionRm: + description: Describes the modifications to the ProtocolDescription data type. + type: object + nullable: true + properties: + transportProto: + $ref: '#/components/schemas/MediaTransportProtoRm' + rtpHeaderExtInfo: + $ref: '#/components/schemas/RtpHeaderExtInfoRm' + addRtpHeaderExtInfo: + type: array + nullable: true + items: + $ref: '#/components/schemas/RtpHeaderExtInfo' + minItems: 1 + rtpPayloadInfoList: + type: array + nullable: true + items: + $ref: '#/components/schemas/RtpPayloadInfo' + minItems: 1 + mriTransferInfo: + $ref: '#/components/schemas/MriTransferMethodRm' + + + RtpHeaderExtInfo: + description: RTP Header Extension information + type: object + properties: + rtpHeaderExtType: + $ref: '#/components/schemas/RtpHeaderExtType' + rtpHeaderExtId: + type: integer + minimum: 1 + maximum: 255 + longFormat: + type: boolean + pduSetSizeActive: + type: boolean + pduSetPduCountActive: + type: boolean + + RtpHeaderExtInfoRm: + description: Describes the modifications to RtpHeaderExtInfo data type + type: object + nullable: true + properties: + rtpHeaderExtType: + $ref: '#/components/schemas/RtpHeaderExtTypeRm' + rtpHeaderExtId: + type: integer + nullable: true + minimum: 1 + maximum: 255 + longFormat: + type: boolean + nullable: true + pduSetSizeActive: + type: boolean + nullable: true + pduSetPduCountActive: + type: boolean + nullable: true + + RtpPayloadInfo: + description: RtpPayloadInfo contains Rtp payload type and format. + type: object + properties: + rtpPayloadTypeList: + type: array + items: + type: integer + minimum: 0 + maximum: 127 + minItems: 1 + rtpPayloadFormat: + $ref: '#/components/schemas/RtpPayloadFormat' + + RtpPayloadInfoRm: + nullable: true + description: Describes the modifications to the RtpPayloadInfo data type. + type: object + properties: + rtpPayloadTypeList: + type: array + nullable: true + items: + type: integer + minimum: 0 + maximum: 127 + minItems: 1 + rtpPayloadFormat: + $ref: '#/components/schemas/RtpPayloadFormatRm' + + PduSetHandlingInfoRm: + anyOf: + - $ref: '#/components/schemas/PduSetHandlingInfo' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'PduSetHandlingInfo' enumeration, + but with the OpenAPI 'nullable: true' property. + + MriTransferInfo: + description: Describes how media related information is transferred + type: object + properties: + transferMethod: + $ref: '#/components/schemas/MriTransferMethod' + + MriTransferInfoRm: + description: Describes how media related information is transferred + type: object + nullable: true + properties: + transferMethod: + $ref: '#/components/schemas/MriTransferMethodRm' + + +# +# Data Types related to 5G Trace as defined in clause 5.6 +# + +# +# SIMPLE DATA TYPES +# + + PhysCellId: + type: integer + minimum: 0 + maximum: 1007 + description: > + Integer value identifying the physical cell identity (PCI), as definition of "PhysCellId" IE + in clause 6.3.2 of 3GPP TS 38.331. + + ArfcnValueNR: + type: integer + minimum: 0 + maximum: 3279165 + description: > + Integer value indicating the ARFCN applicable for a downlink, uplink or bi-directional (TDD) + NR global frequency raster, + as definition of "ARFCN-ValueNR" IE in clause 6.3.2 of 3GPP TS 38.331. + + QoeReference: + description: > + String containing MCC (3 digits), MNC (2 or 3 digits) + and QMC ID (3 octets, encoded as 6 hexadecimal digits). + type: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{6}$' + + MdtAlignmentInfo: + description: | + String containing: + - Trace Reference: MCC (3 digits), MNC (2 or 3 digits), + Trace ID (3 octets, encoded as 6 hexadecimal digits) + - Trace Recording Session Reference (2 octets, encoded as 4 hexadecimal digits) + format: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{6}-[A-Fa-f0-9]{4}$' + +# +# +# Enumerations +# + + TraceDepth: + anyOf: + - type: string + enum: + - MINIMUM + - MEDIUM + - MAXIMUM + - MINIMUM_WO_VENDOR_EXTENSION + - MEDIUM_WO_VENDOR_EXTENSION + - MAXIMUM_WO_VENDOR_EXTENSION + - type: string + description: > + The enumeration TraceDepth defines how detailed information should be recorded + in the trace. See 3GPP TS 32.422 for further description of the values. + It shall comply with the provisions defined in table 5.6.3.1-1 + + TraceDepthRm: + anyOf: + - $ref: '#/components/schemas/TraceDepth' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'TraceDepth' enumeration, but with + the OpenAPI 'nullable: true' property. + + JobType: + anyOf: + - type: string + enum: + - IMMEDIATE_MDT_ONLY + - LOGGED_MDT_ONLY + - TRACE_ONLY + - IMMEDIATE_MDT_AND_TRACE + - LOGGED_MBSFN_MDT + - 5GC_UE_LEVEL_MEASUREMENTS_ONLY + - TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS_ONLY + - IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS + - TRACE_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS + - type: string + description: > + The enumeration JobType defines Job Type in the trace. See 3GPP TS 32.422 for further + description of the values. It shall comply with the provisions defined in table 5.6.3.3-1. + + ReportTypeMdt: + anyOf: + - type: string + enum: + - PERIODICAL + - EVENT_TRIGGED + - type: string + description: > + The enumeration ReportTypeMdt defines Report Type for logged MDT in the trace. See 3GPP TS + 32.422 for further description of the values. It shall comply with the provisions defined + in table 5.6.3.4-1. + + MeasurementLteForMdt: + anyOf: + - type: string + enum: + - M1 + - M2 + - M3 + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL + - M8 + - M9 + - type: string + description: > + The enumeration MeasurementLteForMdt defines Measurements used for MDT in LTE in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.5-1. + + MeasurementNrForMdt: + anyOf: + - type: string + enum: + - M1 + - M2 + - M3 + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL + - M8 + - M9 + - type: string + description: > + The enumeration MeasurementNrForMdt defines Measurements used for MDT in NR in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.6-1. + + SensorMeasurement: + anyOf: + - type: string + enum: + - BAROMETRIC_PRESSURE + - UE_SPEED + - UE_ORIENTATION + - type: string + description: > + The enumeration SensorMeasurement defines sensor measurement type for MDT in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.7-1. + + ReportingTrigger: + anyOf: + - type: string + enum: + - PERIODICAL + - EVENT_A2 + - EVENT_A2_PERIODIC + - ALL_RRM_EVENT_TRIGGERS + - type: string + description: > + The enumeration ReportingTrigger defines Reporting Triggers for MDT in the trace. See 3GPP + TS 32.42] for further description of the values. It shall comply with the provisions + defined in table 5.6.3.8-1. + + ReportIntervalMdt: + anyOf: + - type: string + enum: + - 120 + - 240 + - 480 + - 640 + - 1024 + - 2048 + - 5120 + - 10240 + - 60000 + - 360000 + - 720000 + - 1800000 + - 3600000 + - type: string + description: > + The enumeration ReportIntervalMdt defines Report Interval for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with + the provisions defined in table 5.6.3.9-1. + + ReportAmountMdt: + anyOf: + - type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - infinity + - type: string + description: > + The enumeration ReportAmountMdt defines Report Amount for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.10-1. + + EventForMdt: + anyOf: + - type: string + enum: + - OUT_OF_COVERAG + - A2_EVENT + - type: string + description: > + The enumeration EventForMdt defines events triggered measurement for logged MDT in the + trace. See 3GPP TS 32.422 for further description of the values. It shall comply with + the provisions defined in table 5.6.3.11-1 + + LoggingIntervalMdt: + anyOf: + - type: string + enum: + - 128 + - 256 + - 512 + - 1024 + - 2048 + - 3072 + - 4096 + - 6144 + - type: string + description: > + The enumeration LoggingIntervalMdt defines Logging Interval for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.12-1. + + LoggingDurationMdt: + anyOf: + - type: string + enum: + - 600 + - 1200 + - 2400 + - 3600 + - 5400 + - 7200 + - type: string + description: > + The enumeration LoggingIntervalMdt defines Logging Interval for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.12-1. + + PositioningMethodMdt: + anyOf: + - type: string + enum: + - GNSS + - E_CELL_ID + - type: string + description: > + The enumeration LoggingDurationMdt defines Logging Duration for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.13-1. + + CollectionPeriodRmmLteMdt: + anyOf: + - type: string + enum: + - 1024 + - 1280 + - 2048 + - 2560 + - 5120 + - 10240 + - 60000 + - type: string + description: > + The enumeration CollectionPeriodRmmLteMdt defines Collection period for RRM measurements + LTE for MDT in the trace. See 3GPP TS 32.422 for further description of the values. + It shall comply with the provisions defined in table 5.6.3.15-1. + + MeasurementPeriodLteMdt: + anyOf: + - type: string + enum: + - 1024 + - 1280 + - 2048 + - 2560 + - 5120 + - 10240 + - 60000 + - type: string + description: > + The enumeration MeasurementPeriodLteMdt defines Measurement period LTE for MDT in the + trace. See 3GPP TS 32.422 for further description of the values. It shall comply + with the provisions defined in table 5.6.3.16-1. + + ReportIntervalNrMdt: + anyOf: + - type: string + enum: + - 120 + - 240 + - 480 + - 640 + - 1024 + - 2048 + - 5120 + - 10240 + - 20480 + - 40960 + - 60000 + - 360000 + - 720000 + - 1800000 + - 3600000 + - type: string + description: > + The enumeration ReportIntervalNrMdt defines Report Interval in NR for MDT in the trace. See + 3GPP TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.17-1. + + LoggingIntervalNrMdt: + anyOf: + - type: string + enum: + - 128 + - 256 + - 512 + - 1024 + - 2048 + - 3072 + - 4096 + - 6144 + - 320 + - 640 + - infinity + - type: string + description: > + The enumeration LoggingIntervalNrMdt defines Logging Interval in NR for MDT in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.18-1. + + CollectionPeriodRmmNrMdt: + anyOf: + - type: string + enum: + - 1024 + - 2048 + - 5120 + - 10240 + - 60000 + - type: string + description: > + The enumeration CollectionPeriodRmmNrMdt defines Collection period for RRM measurements NR + for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.19-1 + + LoggingDurationNrMdt: + anyOf: + - type: string + enum: + - 600 + - 1200 + - 2400 + - 3600 + - 5400 + - 7200 + - type: string + description: > + The enumeration LoggingDurationMdt defines Logging Duration in NR for MDT in the trace. See + 3GPP TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.20-1. + + QoeServiceType: + description: > + The enumeration QoeServiceType indicates the kind of service that shall be recorded for + QMC. It shall comply with the provisions defined in TS 29.571, table 5.6.3.21-1. + anyOf: + - type: string + enum: + - DASH + - MTSI + - VR + - type: string + description: > + 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. + + AvailableRanVisibleQoeMetric: + description: > + The enumeration AvailableRanVisibleQoeMetric indicates different available + RAN-visible QoE metrics to the gNB. It shall comply with the provisions defined + in TS 29.571, table 5.6.3.22-1. + anyOf: + - type: string + enum: + - APPLICATION_LAYER_BUFFER_LEVEL_LIST + - PLAYOUT_DELAY_FOR_MEDIA_STARTUP + - type: string + description: > + 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. + + MeasurementType: + anyOf: + - type: string + enum: + - GTP_DELAYDLPSAUPFUEMEAN_SNSSAI_QFI + - GTP_DELAYULPSAUPFUEMEANEXCD1_SNSSAI_QFI + - GTP_DELAYDLPSAUPFUEMEANINCD1_SNSSAI_QFI + - GTP_DELAYULPSAUPFNGRANMEAN_SNSSAI_QFI + - GTP_DELAYDLPSAUPFNGRANMEAN_SNSSAI_QFI + - GTP_RTTDELAYPSAUPFNGRANMEAN + - GTP_RTTDELAYPSAUPFNGRANMEAN_SNSSAI + - GTP_RTTDELAYPSAUPFNGRANMEAN_QFI + - GTP_RTTDELAYPSAUPFNGRANMEAN_SNSSAI_QFI + - type: string + description: > + The enumeration MeasurementType defines Measurement Type in the + 5GC UE level measurements trace. + + BluetoothRssi: + anyOf: + - type: string + enum: + - TRUE + - type: string + description: > + The enumeration BluetoothRssi defines RSSI measurement by UE for Bluetooth. + + WlanRssi: + anyOf: + - type: string + enum: + - TRUE + - type: string + description: > + The enumeration WlanRssi defines RSSI measurement by UE for WLAN. + + WlanRtt: + anyOf: + - type: string + enum: + - TRUE + - type: string + description: > + The enumeration WlanRtt defines RTT measurement by UE for WLAN. + + +# +# STRUCTURED DATA TYPES +# + + TraceData: + description: contains Trace control and configuration parameters. + type: object + nullable: true + properties: + traceRef: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$' + description: > + Trace Reference (see 3GPP TS 32.422).It shall be encoded as the concatenation + of MCC, MNC and Trace ID as follows: - + The Trace ID shall be encoded as a 3 octet string in hexadecimal + representation. Each character in the Trace ID string shall + take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits of the + Trace ID shall appear first in the string, and the character representing the + 4 least significant bit of the Trace ID shall appear last in the string. + + traceDepth: + $ref: '#/components/schemas/TraceDepth' + neTypeList: + type: string + pattern: '^[A-Fa-f0-9]+$' + description: > + List of NE Types (see 3GPP TS 32.422). It shall be encoded as an octet string + in hexadecimal representation. Each character in the string shall take a value + of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits shall + appear first in the string, and the character representing the 4 least + significant bit shall appear last in the string. Octets shall be coded + according to 3GPP TS 32.422. + eventList: + type: string + pattern: '^[A-Fa-f0-9]+$' + description: > + Triggering events (see 3GPP TS 32.422). It shall be encoded as an octet string in + hexadecimal representation. Each character in the string shall take a value of "0" + to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits shall + appear first in the string, and the character representing the 4 least + significant bit shall appear last in the string. Octets shall be coded + according to 3GPP TS 32.422. + collectionEntityIpv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + collectionEntityIpv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + traceReportingConsumerUri: + $ref: '#/components/schemas/Uri' + interfaceList: + type: string + pattern: '^[A-Fa-f0-9]+$' + description: > + List of Interfaces (see 3GPP TS 32.422). It shall be encoded as an octet string in + hexadecimal representation. + Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" + and shall represent 4 bits. The most significant character representing the 4 most + significant bits shall appear first in the string, and the character representing the + 4 least significant bit shall appear last in the string. Octets shall be coded + according to 3GPP TS 32.422. If this attribute is not present, all the interfaces + applicable to the list of NE types indicated in the neTypeList attribute should + be traced. + jobType: + $ref: '#/components/schemas/JobType' + required: + - traceRef + - traceDepth + - neTypeList + - eventList + + MdtConfiguration: + description: contains contain MDT configuration data. + type: object + required: + - jobType + properties: + jobType: + $ref: '#/components/schemas/JobType' + reportType: + $ref: '#/components/schemas/ReportTypeMdt' + areaScope: + $ref: '#/components/schemas/AreaScope' + measurementLteList: + type: array + items: + $ref: '#/components/schemas/MeasurementLteForMdt' + measurementNrList: + type: array + items: + $ref: '#/components/schemas/MeasurementNrForMdt' + minItems: 1 + sensorMeasurementList: + type: array + items: + $ref: '#/components/schemas/SensorMeasurement' + minItems: 1 + sensorMeasurementLteList: + type: array + items: + $ref: '#/components/schemas/SensorMeasurement' + minItems: 1 + reportingTriggerList: + type: array + items: + $ref: '#/components/schemas/ReportingTrigger' + minItems: 1 + reportInterval: + $ref: '#/components/schemas/ReportIntervalMdt' + reportIntervalNr: + $ref: '#/components/schemas/ReportIntervalNrMdt' + reportAmount: + $ref: '#/components/schemas/ReportAmountMdt' + reportAmountPerMeasurementLte: + type: object + additionalProperties: + $ref: '#/components/schemas/ReportAmountMdt' + minProperties: 1 + description: > + A map (list of key-value pairs) where MeasurementLteForMdt serves as key; + reportAmountPerMeasurementNr: + type: object + additionalProperties: + $ref: '#/components/schemas/ReportAmountMdt' + minProperties: 1 + description: > + A map (list of key-value pairs) where MeasurementNrForMdt serves as key; + eventThresholdRsrp: + type: integer + minimum: 0 + maximum: 97 + description: > + This IE shall be present if the report trigger parameter is configured for A2 event + reporting or A2 event triggered periodic reporting and the job type parameter is + configured for Immediate MDT or combined Immediate MDT and Trace in LTE. + When present, this IE shall indicate the Event Threshold for RSRP, and the value shall + be between 0-97. + mnOnlyInd: + type: boolean + default: false + + eventThresholdRsrpNr: + type: integer + minimum: 0 + maximum: 127 + description: > + This IE shall be present if the report trigger parameter is configured for A2 event + reporting or A2 event triggered periodic reporting and the job type parameter is + configured for Immediate MDT, combined Immediate MDT + and Trace, Immediate MDT and 5GC UE level measurements or Trace, Immediate MDT and 5GC + UE level measurements in NR. When present, + this IE shall indicate the Event Threshold for RSRP, and the value shall be + between 0-127. + eventThresholdRsrq: + type: integer + minimum: 0 + maximum: 34 + description: > + This IE shall be present if the report trigger parameter is configured for A2 event + reporting or A2 event triggered periodic reporting and the job type parameter is + configured for Immediate MDT or combined Immediate MDT and Trace in LTE.When present, + this IE shall indicate the Event Threshold for RSRQ, and the value shall be + between 0-34. + eventThresholdRsrqNr: + type: integer + minimum: 0 + maximum: 127 + description: > + This IE shall be present if the report trigger parameter is configured for A2 event + reporting or A2 event triggered periodic reporting and the job type parameter is + configured for Immediate MDT, combined Immediate MDT and Trace, Immediate MDT and 5GC + UE level measurements or Trace, Immediate MDT and 5GC UE level measurements in NR. + When present, + this IE shall indicate the Event Threshold for RSRQ, and the value shall be + between 0-127. + eventList: + type: array + items: + $ref: '#/components/schemas/EventForMdt' + minItems: 1 + loggingInterval: + $ref: '#/components/schemas/LoggingIntervalMdt' + loggingIntervalNr: + $ref: '#/components/schemas/LoggingIntervalNrMdt' + loggingDuration: + $ref: '#/components/schemas/LoggingDurationMdt' + loggingDurationNr: + $ref: '#/components/schemas/LoggingDurationNrMdt' + positioningMethod: + $ref: '#/components/schemas/PositioningMethodMdt' + addPositioningMethodList: + type: array + items: + $ref: '#/components/schemas/PositioningMethodMdt' + minItems: 1 + collectionPeriodRmmLte: + $ref: '#/components/schemas/CollectionPeriodRmmLteMdt' + collectionPeriodRmmNr: + $ref: '#/components/schemas/CollectionPeriodRmmNrMdt' + measurementPeriodLte: + $ref: '#/components/schemas/MeasurementPeriodLteMdt' + mdtAllowedPlmnIdList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + minItems: 1 + maxItems: 16 + mbsfnAreaList: + type: array + items: + $ref: '#/components/schemas/MbsfnArea' + minItems: 1 + maxItems: 8 + interFreqTargetList: + type: array + items: + $ref: '#/components/schemas/InterFreqTargetInfo' + minItems: 1 + maxItems: 8 + eventThresholdSinrNr: + type: integer + minimum: 0 + maximum: 127 + bluetoothMeasurementNr: + $ref: '#/components/schemas/BluetoothMeasurement' + bluetoothMeasurementLte: + $ref: '#/components/schemas/BluetoothMeasurement' + wlanMeasurementNr: + $ref: '#/components/schemas/WlanMeasurement' + wlanMeasurementLte: + $ref: '#/components/schemas/WlanMeasurement' + sliceAreaScope: + type: array + items: + $ref: '#/components/schemas/SliceScopePerPlmn' + minItems: 1 + maxItems: 16 + + AreaScope: + description: Contain the area based on Cells or Tracking Areas. + type: object + properties: + eutraCellIdList: + type: array + items: + $ref: '#/components/schemas/EutraCellId' + minItems: 1 + nrCellIdList: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + tacInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/TacInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + cagInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/CagInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + nidInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/NidInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + cellIdNidInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/CellIdNidInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + tacNidInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/TacNidInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + cagList: + type: array + items: + $ref: '#/components/schemas/CagId' + minItems: 1 + + TacInfo: + description: contains tracking area information (tracking area codes). + type: object + required: + - tacList + properties: + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + + CagInfo: + description: contains CAG IDs. + type: object + required: + - cagList + properties: + cagList: + type: array + items: + $ref: '#/components/schemas/CagId' + minItems: 1 + + NidInfo: + description: contains NIDs. + type: object + required: + - nidList + properties: + nidList: + type: array + items: + $ref: '#/components/schemas/Nid' + minItems: 1 + + CellIdNidInfo: + description: contains a list of the NR Cell Identities in SNPN. + type: object + required: + - cellIdNidList + properties: + cellIdNidList: + type: array + items: + $ref: '#/components/schemas/CellIdNid' + minItems: 1 + + CellIdNid: + description: contains a NR Cell Identity and Network Identity. + type: object + required: + - cellId + - nid + properties: + cellId: + $ref: '#/components/schemas/NrCellId' + nid: + $ref: '#/components/schemas/Nid' + + TacNidInfo: + description: contains a list of the tracking area codes in SNPN. + type: object + required: + - tacNidList + properties: + tacNidList: + type: array + items: + $ref: '#/components/schemas/TacNid' + minItems: 1 + + TacNid: + description: contains a tracking area code and Network Identity. + type: object + required: + - tac + - nid + properties: + tac: + $ref: '#/components/schemas/Tac' + nid: + $ref: '#/components/schemas/Nid' + + MbsfnArea: + description: Contains an MBSFN area information. + type: object + properties: + mbsfnAreaId: + type: integer + minimum: 0 + maximum: 255 + description: This IE shall contain the MBSFN Area ID. + carrierFrequency: + type: integer + minimum: 0 + maximum: 262143 + description: When present, this IE shall contain the Carrier Frequency (EARFCN). + + InterFreqTargetInfo: + description: Indicates the Inter Frequency Target information. + required: + - dlCarrierFreq + type: object + properties: + dlCarrierFreq: + $ref: '#/components/schemas/ArfcnValueNR' + cellIdList: + type: array + items: + $ref: '#/components/schemas/PhysCellId' + minItems: 1 + maxItems: 32 + description: > + When present, this IE shall contain a list of the physical cell identities where the + UE is requested to perform measurement logging for the indicated frequency. + + + QmcConfigInfo: + description: > + It contains the configuration information for signaling-based activation of the + Quality of Experience (QoE) Measurements Collection (QMC) functionality. + type: object + required: + - qoeReference + properties: + qoeReference: + $ref: '#/components/schemas/QoeReference' + serviceType: + $ref: '#/components/schemas/QoeServiceType' + sliceScope: + type: array + items: + $ref: '#/components/schemas/Snssai' + minItems: 1 + areaScope: + $ref: '#/components/schemas/QmcAreaScope' + qoeCollectionEntityAddress: + $ref: '#/components/schemas/IpAddr' + qoeTarget: + $ref: '#/components/schemas/QoeTarget' + mdtAlignmentInfo: + $ref: '#/components/schemas/MdtAlignmentInfo' + availableRanVisibleQoeMetrics: + type: array + items: + $ref: '#/components/schemas/AvailableRanVisibleQoeMetric' + minItems: 1 + containerForAppLayerMeasConfig: + $ref: '#/components/schemas/Bytes' + mbsCommunicationServiceType: + $ref: '#/components/schemas/MbsServiceType' + + QmcAreaScope: + description: > + This IE contains the area in Cells or Tracking Areas where the QMC data collection + shall take place. + type: object + properties: + nrCellIdList: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + taiList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + plmnList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + minItems: 1 + + QoeTarget: + description: > + This parameter specifies the target object (individual UE) for the QMC in case of + signalling based QMC. It shall be able to carry an IMSI or a SUPI. + type: object + properties: + supi: + $ref: '#/components/schemas/Supi' + imsi: + $ref: '#/components/schemas/Imsi' + + + UeLevelMeasurementsConfiguration: + description: 5GC UE Level Measurements configuration. + type: object + required: + - jobType + - ueLevelMeasurementsList + properties: + jobType: + $ref: '#/components/schemas/JobType' + ueLevelMeasurementsList: + type: array + items: + $ref: '#/components/schemas/MeasurementType' + minItems: 1 + granularityPeriod: + $ref: '#/components/schemas/DurationSec' + + BluetoothMeasurement: + description: contains the bluetooth measurements to be collected for UE. + type: object + properties: + measurementNameList: + type: array + items: + $ref: '#/components/schemas/MeasurementName' + minItems: 1 + maxItems: 4 + bluetoothRssi: + $ref: '#/components/schemas/BluetoothRssi' + + WlanMeasurement: + description: contains the WLAN measurements to be collected for UE. + type: object + properties: + measurementNameList: + type: array + items: + $ref: '#/components/schemas/MeasurementName' + minItems: 1 + maxItems: 4 + wlanRssi: + $ref: '#/components/schemas/WlanRssi' + wlanRtt: + $ref: '#/components/schemas/WlanRtt' + + MeasurementName: + description: contains the measurement name for measurement collection. + type: object + properties: + bluetoothName: + type: string + wlanName: + type: string + + SliceScopePerPlmn: + description: contains the list of network slices for MDT per PLMN. + type: object + required: + - plmn + - sliceScope + properties: + plmn: + $ref: '#/components/schemas/PlmnId' + sliceScope: + type: array + items: + $ref: '#/components/schemas/Snssai' + minItems: 1 + maxItems: 1024 + + + +# Data Types related to 5G ODB as defined in clause 5.7 + +# +# SIMPLE DATA TYPES +# +# +# +# Enumerations +# + RoamingOdb: + anyOf: + - type: string + enum: + - OUTSIDE_HOME_PLMN + - OUTSIDE_HOME_PLMN_COUNTRY + - type: string + description: > + The enumeration RoamingOdb defines the Barring of Roaming as. See 3GPP TS 23.015 for further + description. It shall comply with the provisions defined in table 5.7.3.1-1. + + OdbPacketServices: + anyOf: + - anyOf: + - type: string + enum: + - ALL_PACKET_SERVICES + - ROAMER_ACCESS_HPLMN_AP + - ROAMER_ACCESS_VPLMN_AP + - type: string - $ref: '#/components/schemas/NullValue' - PreemptionVulnerability: + description: > + The enumeration OdbPacketServices defines the Barring of Packet Oriented Services. + See 3GPP TS 23.015 for further description. It shall comply with the provisions defined + in table 5.7.3.2-1 + +# +# STRUCTURED DATA TYPES +# + + OdbData: + description: Contains information regarding operater determined barring. + type: object + properties: + roamingOdb: + $ref: '#/components/schemas/RoamingOdb' + +# +# Data Types related to Charging as defined in clause 5.8 +# + +# +# SIMPLE DATA TYPES +# +# + ChargingId: + deprecated: true + type: integer + minimum: 0 + maximum: 4294967295 #(2^32)-1 + description: > + Integer where the allowed values correspond to the value range of an unsigned 32-bit + integer. + + SmfChargingId: + description: String based Charging ID + type: string + pattern: '^(0|([1-9]{1}[0-9]{0,9}))\.smf-([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$' + + ApplicationChargingId: + type: string + description: > + Application provided charging identifier allowing correlation of charging information. + + RatingGroup: + $ref: '#/components/schemas/Uint32' + + ServiceId: + $ref: '#/components/schemas/Uint32' + + +# +# Enumerations +# + +# +# STRUCTURED DATA TYPES +# + SecondaryRatUsageReport: + description: Secondary RAT Usage Report to report usage data for a secondary RAT for QoS flows. + type: object + properties: + secondaryRatType: + $ref: '#/components/schemas/RatType' + qosFlowsUsageData: + type: array + items: + $ref: '#/components/schemas/QosFlowUsageReport' + minItems: 1 + required: + - secondaryRatType + - qosFlowsUsageData + + QosFlowUsageReport: + description: Contains QoS flows usage data information. + type: object + properties: + qfi: + $ref: '#/components/schemas/Qfi' + startTimeStamp: + $ref: '#/components/schemas/DateTime' + endTimeStamp: + $ref: '#/components/schemas/DateTime' + downlinkVolume: + $ref: '#/components/schemas/Int64' + uplinkVolume: + $ref: '#/components/schemas/Int64' + required: + - qfi + - startTimeStamp + - endTimeStamp + - downlinkVolume + - uplinkVolume + + SecondaryRatUsageInfo: + description: > + Secondary RAT Usage Information to report usage data for a secondary RAT for QoS flows + and/or the whole PDU session. + type: object + properties: + secondaryRatType: + $ref: '#/components/schemas/RatType' + qosFlowsUsageData: + type: array + items: + $ref: '#/components/schemas/QosFlowUsageReport' + minItems: 1 + pduSessionUsageData: + type: array + items: + $ref: '#/components/schemas/VolumeTimedReport' + minItems: 1 + required: + - secondaryRatType + + VolumeTimedReport: + description: Contains Usage data information. + type: object + properties: + startTimeStamp: + $ref: '#/components/schemas/DateTime' + endTimeStamp: + $ref: '#/components/schemas/DateTime' + downlinkVolume: + $ref: '#/components/schemas/Int64' + uplinkVolume: + $ref: '#/components/schemas/Int64' + required: + - startTimeStamp + - endTimeStamp + - downlinkVolume + - uplinkVolume + + +# Data Types related to MBS as defined in clause 5.9 +# + +# +# SIMPLE DATA TYPES +# +# + + AreaSessionId: + $ref: '#/components/schemas/Uint16' + + AreaSessionPolicyId: + $ref: '#/components/schemas/Uint16' + + MbsFsaId: + description: MBS Frequency Selection Area Identifier + type: string + pattern: '^[A-Fa-f0-9]{6}$' + + IntendedServiceArea: + $ref: '#/components/schemas/Bytes' + + + +# +# Enumerations +# +# + MbsServiceType: + description: Indicates the MBS service type of an MBS session anyOf: - type: string enum: - - NOT_PREEMPTABLE - - PREEMPTABLE + - MULTICAST + - BROADCAST - type: string - PreemptionVulnerabilityRm: - anyOf: - - $ref: '#/components/schemas/PreemptionVulnerability' - - $ref: '#/components/schemas/NullValue' - ReflectiveQoSAttribute: + + MbsSessionActivityStatus: + description: Indicates the MBS session's activity status anyOf: - type: string enum: - - RQOS - - NO_RQOS + - ACTIVE + - INACTIVE - type: string - ReflectiveQoSAttributeRm: + + MbsSessionEventType: + description: MBS Session Event Type anyOf: - - $ref: '#/components/schemas/ReflectiveQoSAttribute' - - $ref: '#/components/schemas/NullValue' - NotificationControl: + - type: string + enum: + - MBS_REL_TMGI_EXPIRY + - BROADCAST_DELIVERY_STATUS + - INGRESS_TUNNEL_ADD_CHANGE + - type: string + + BroadcastDeliveryStatus: + description: Broadcast MBS Session's Delivery Status anyOf: - - type: string - enum: - - REQUESTED - - NOT_REQUESTED - - type: string - NotificationControlRm: + - type: string + enum: + - STARTED + - TERMINATED + - type: string + + NrRedCapUeInfo: + description: > + Indicates whether the broadcast MBS session is intended only for NR (e)RedCap UEs, + only for UEs that are neither NR RedCap UEs nor NR RedCap UEs, or for any kind of UE. anyOf: - - $ref: '#/components/schemas/NotificationControl' - - $ref: '#/components/schemas/NullValue' - QosResourceType: + - type: string + enum: + - NR_REDCAP_UE_ONLY # NR RedCap UEs and NR eRedCap UEs + - BOTH_NR_REDCAP_UE_AND_NON_REDCAP_UE # any kind of UEs + - NON_REDCAP_UE_ONLY # neither NR RedCap UEs nor NR eRedCap UEs + - type: string + +# +# STRUCTURED DATA TYPES +# + MbsSessionId: + description: MBS Session Identifier + type: object + properties: + tmgi: + $ref: '#/components/schemas/Tmgi' + ssm: + $ref: '#/components/schemas/Ssm' + nid: + $ref: '#/components/schemas/Nid' anyOf: - - type: string - enum: - - NON_GBR - - NON_CRITICAL_GBR - - CRITICAL_GBR - - type: string - QosResourceTypeRm: + - required: [ tmgi ] + - required: [ ssm ] + + Tmgi: + description: Temporary Mobile Group Identity + type: object + properties: + mbsServiceId: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + description: MBS Service ID + plmnId: + $ref: '#/components/schemas/PlmnId' + required: + - mbsServiceId + - plmnId + + Ssm: + description: Source specific IP multicast address + type: object + properties: + sourceIpAddr: + $ref: '#/components/schemas/IpAddr' + destIpAddr: + $ref: '#/components/schemas/IpAddr' + required: + - sourceIpAddr + - destIpAddr + + MbsServiceArea: + description: MBS Service Area + type: object + properties: + ncgiList: + type: array + items: + $ref: '#/components/schemas/NcgiTai' + minItems: 1 + description: List of NR cell Ids + taiList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + description: List of tracking area Ids + intendedServAreaList: + type: array + items: + $ref: '#/components/schemas/IntendedServiceArea' + minItems: 1 + description: NR NTN Intended Service Area anyOf: - - $ref: '#/components/schemas/QosResourceType' - - $ref: '#/components/schemas/NullValue' - AdditionalQosFlowInfo: + - required: [ ncgiList ] + - required: [ taiList ] + + NcgiTai: + description: List of NR cell ids, with their pertaining TAIs + type: object + properties: + tai: + $ref: '#/components/schemas/Tai' + cellList: + type: array + items: + $ref: '#/components/schemas/Ncgi' + minItems: 1 + description: List of List of NR cell ids + required: + - tai + - cellList + + MbsSession: + description: Individual MBS session + type: object + properties: + mbsSessionId: + $ref: '#/components/schemas/MbsSessionId' + tmgiAllocReq: + type: boolean + default: false + writeOnly: true + tmgi: + allOf: + - $ref: '#/components/schemas/Tmgi' + readOnly: true + expirationTime: + allOf: + - $ref: '#/components/schemas/DateTime' + readOnly: true + serviceType: + allOf: + - $ref: '#/components/schemas/MbsServiceType' + writeOnly: true + locationDependent: + type: boolean + default: false + areaSessionId: + allOf: + - $ref: '#/components/schemas/AreaSessionId' + readOnly: true + ingressTunAddrReq: + type: boolean + default: false + writeOnly: true + ingressTunAddr: + type: array + items: + $ref: '#/components/schemas/TunnelAddress' + minItems: 1 + readOnly: true + ssm: + allOf: + - $ref: '#/components/schemas/Ssm' + writeOnly: true + mbsServiceArea: + allOf: + - $ref: '#/components/schemas/MbsServiceArea' + writeOnly: true +# extMbsServiceArea: +# allOf: +# - $ref: '#/components/schemas/ExternalMbsServiceArea' +# writeOnly: true + redMbsServArea: + allOf: + - $ref: '#/components/schemas/MbsServiceArea' + readOnly: true +# extRedMbsServArea: +# allOf: +# - $ref: '#/components/schemas/ExternalMbsServiceArea' +# readOnly: true + dnn: + allOf: + - $ref: '#/components/schemas/Dnn' + writeOnly: true + snssai: + allOf: + - $ref: '#/components/schemas/Snssai' + writeOnly: true + activationTime: + deprecated: true + format: date-time + type: string + startTime: + $ref: '#/components/schemas/DateTime' + terminationTime: + $ref: '#/components/schemas/DateTime' + mbsServInfo: + $ref: '#/components/schemas/MbsServiceInfo' + mbsSessionSubsc: + $ref: '#/components/schemas/MbsSessionSubscription' + activityStatus: + $ref: '#/components/schemas/MbsSessionActivityStatus' + anyUeInd: + type: boolean + default: false + writeOnly: true + mbsFsaIdList: + type: array + items: + $ref: '#/components/schemas/MbsFsaId' + minItems: 1 + associatedSessionId: + $ref: '#/components/schemas/AssociatedSessionId' + nrRedCapUeInfo: + $ref: '#/components/schemas/NrRedCapUeInfo' + required: + - serviceType anyOf: - - anyOf: - - type: string - enum: - - MORE_LIKELY - - type: string - - $ref: '#/components/schemas/NullValue' -# + - required: [ mbsSessionId ] + - required: [ tmgiAllocReq ] + not: + required: [redMbsServArea, extRedMbsServArea] + + + MbsSessionSubscription: + description: MBS session subscription + type: object + properties: + mbsSessionId: + $ref: '#/components/schemas/MbsSessionId' + areaSessionId: + $ref: '#/components/schemas/AreaSessionId' + eventList: + type: array + items: + $ref: '#/components/schemas/MbsSessionEvent' + minItems: 1 + notifyUri: + $ref: '#/components/schemas/Uri' + notifyCorrelationId: + type: string + expiryTime: + $ref: '#/components/schemas/DateTime' + nfcInstanceId: + $ref: '#/components/schemas/NfInstanceId' + mbsSessionSubscUri: + allOf: + - $ref: '#/components/schemas/Uri' + readOnly: true + required: + - eventList + - notifyUri + + MbsSessionEventReportList: + description: MBS session event report list + type: object + properties: + eventReportList: + type: array + items: + $ref: '#/components/schemas/MbsSessionEventReport' + minItems: 1 + notifyCorrelationId: + type: string + required: + - eventReportList + + MbsSessionEvent: + description: MBS session event + type: object + properties: + eventType: + $ref: '#/components/schemas/MbsSessionEventType' + required: + - eventType + + MbsSessionEventReport: + description: MBS session event report + type: object + properties: + eventType: + $ref: '#/components/schemas/MbsSessionEventType' + timeStamp: + $ref: '#/components/schemas/DateTime' + ingressTunAddrInfo: + $ref: '#/components/schemas/IngressTunAddrInfo' + broadcastDelStatus: + $ref: '#/components/schemas/BroadcastDeliveryStatus' + required: + - eventType + +# ExternalMbsServiceArea: +# description: List of geographic area or list of civic address info for MBS Service Area +# type: object +# properties: +# geographicAreaList: +# type: array +# items: +# $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' +# minItems: 1 +# civicAddressList: +# type: array +# items: +# $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' +# minItems: 1 +# oneOf: +# - required: [ geographicAreaList ] +# - required: [ civicAddressList ] + + + MbsSecurityContext: + description: MBS security context consisting of MSK/MTK(s) and associated IDs + type: object + properties: + keyList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string serves + as key of MbsSecurityContext + type: object + additionalProperties: + $ref: '#/components/schemas/MbsKeyInfo' + minProperties: 1 + required: + - keyList + + MbsKeyInfo: + description: MBS Security Key Data Structure + type: object + properties: + keyDomainId: + $ref: '#/components/schemas/Bytes' + mskId: + $ref: '#/components/schemas/Bytes' + msk: + $ref: '#/components/schemas/Bytes' + mskLifetime: + $ref: '#/components/schemas/DateTime' + mtkId: + $ref: '#/components/schemas/Bytes' + mtk: + $ref: '#/components/schemas/Bytes' + required: + - keyDomainId + - mskId + + IngressTunAddrInfo: + description: Ingress Tunnel Address Information + type: object + properties: + ingressTunAddr: + type: array + items: + $ref: '#/components/schemas/TunnelAddress' + minItems: 1 + required: + - ingressTunAddr -# -# STRUCTURED DATA TYPES -# - Arp: + MbsServiceAreaInfo: + description: MBS Service Area Information for location dependent MBS session type: object properties: - priorityLevel: - $ref: '#/components/schemas/ArpPriorityLevel' - preemptCap: - $ref: '#/components/schemas/PreemptionCapability' - preemptVuln: - $ref: '#/components/schemas/PreemptionVulnerability' + areaSessionId: + $ref: '#/components/schemas/AreaSessionId' + mbsServiceArea: + $ref: '#/components/schemas/MbsServiceArea' required: - - priorityLevel - - preemptCap - - preemptVuln - ArpRm: - anyOf: - - $ref: '#/components/schemas/Arp' - - $ref: '#/components/schemas/NullValue' - Ambr: + - areaSessionId + - mbsServiceArea + + MbsServiceInfo: + description: Represent MBS Service Information. type: object properties: - uplink: - $ref: '#/components/schemas/BitRate' - downlink: + mbsMediaComps: + description: > + The key of the map is the "mbsMedCompNum" attribute of the corresponding MbsMediaCompRm + data structure provided as a map entry. + type: object + additionalProperties: + $ref: '#/components/schemas/MbsMediaCompRm' + minProperties: 1 + # mbsSdfResPrio: + # $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ReservPriority' + # afAppId: + # $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AfAppId' + mbsSessionAmbr: $ref: '#/components/schemas/BitRate' required: - - uplink - - downlink - AmbrRm: + - mbsMediaComps + + MbsMediaComp: + description: Represents an MBS Media Component. + type: object + properties: + mbsMedCompNum: + type: integer + # mbsFlowDescs: + # type: array + # items: + # $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + # minItems: 1 + # mbsSdfResPrio: + # $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ReservPriority' + mbsMediaInfo: + $ref: '#/components/schemas/MbsMediaInfo' + qosRef: + type: string + mbsQoSReq: + $ref: '#/components/schemas/MbsQoSReq' + required: + - mbsMedCompNum + + MbsMediaCompRm: + description: > + This data type is defined in the same way as the MbsMediaComp data type, but with the + OpenAPI nullable property set to true. anyOf: - - $ref: '#/components/schemas/Ambr' + - $ref: '#/components/schemas/MbsMediaComp' - $ref: '#/components/schemas/NullValue' - Dynamic5Qi: + + MbsQoSReq: + description: Represent MBS QoS requirements. type: object properties: - resourceType: - $ref: '#/components/schemas/QosResourceType' - priorityLevel: - $ref: '#/components/schemas/5QiPriorityLevel' - packetDelayBudget: - $ref: '#/components/schemas/PacketDelBudget' - packetErrRate: - $ref: '#/components/schemas/PacketErrRate' + 5qi: + $ref: '#/components/schemas/5Qi' + guarBitRate: + $ref: '#/components/schemas/BitRate' + maxBitRate: + $ref: '#/components/schemas/BitRate' averWindow: $ref: '#/components/schemas/AverWindow' - maxDataBurstVol: - $ref: '#/components/schemas/MaxDataBurstVol' - extMaxDataBurstVol: - $ref: '#/components/schemas/ExtMaxDataBurstVol' - extPacketDelBudget: - $ref: '#/components/schemas/ExtPacketDelBudget' - cnPacketDelayBudgetDl: - $ref: '#/components/schemas/ExtPacketDelBudget' - cnPacketDelayBudgetUl: - $ref: '#/components/schemas/ExtPacketDelBudget' + reqMbsArp: + $ref: '#/components/schemas/Arp' required: - - resourceType - - priorityLevel - - packetDelayBudget - - packetErrRate - NonDynamic5Qi: + - 5qi + + MbsMediaInfo: + description: Represent MBS Media Information. type: object properties: - priorityLevel: - $ref: '#/components/schemas/5QiPriorityLevel' - averWindow: - $ref: '#/components/schemas/AverWindow' - maxDataBurstVol: - $ref: '#/components/schemas/MaxDataBurstVol' - extMaxDataBurstVol: - $ref: '#/components/schemas/ExtMaxDataBurstVol' - cnPacketDelayBudgetDl: - $ref: '#/components/schemas/ExtPacketDelBudget' - cnPacketDelayBudgetUl: - $ref: '#/components/schemas/ExtPacketDelBudget' - minProperties: 0 +# mbsMedType: +# $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MediaType' + maxReqMbsBwDl: + $ref: '#/components/schemas/BitRate' + minReqMbsBwDl: + $ref: '#/components/schemas/BitRate' +# codecs: +# type: array +# items: +# $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/CodecData' +# minItems: 1 +# maxItems: 2 -# -# Data Types related to 5G Trace as defined in clause 5.6 + AssociatedSessionId: + description: an associated Session Id used in MOCN + anyOf: + - $ref: '#/components/schemas/Ssm' + - type: string + + + +# Data Types related to Time Synchronization as defined in clause 5.10 # # # SIMPLE DATA TYPES # - PhysCellId: - type: integer - minimum: 0 - maximum: 1007 - ArfcnValueNR: - type: integer - minimum: 0 - maximum: 3279165 # + + # # 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: - - $ref: '#/components/schemas/TraceDepth' - - $ref: '#/components/schemas/NullValue' - JobType: - anyOf: - - type: string - enum: - - IMMEDIATE_MDT_ONLY - - LOGGED_MDT_ONLY - - TRACE_ONLY - - IMMEDIATE_MDT_AND_TRACE - - RLF_REPORTS_ONLY - - RCEF_REPORTS_ONLY - - LOGGED_MBSFN_MDT - - type: string - ReportTypeMdt: - anyOf: - - type: string - enum: - - PERIODICAL - - EVENT_TRIGGED - - type: string - MeasurementLteForMdt: - anyOf: - - type: string - enum: - - M1 - - M2 - - M3 - - M4_DL - - M4_UL - - M5_DL - - M5_UL - - M6_DL - - M6_UL - - M7_DL - - M7_UL - - M8 - - M9 - - type: string - MeasurementNrForMdt: - anyOf: - - type: string - enum: - - M1 - - M2 - - M3 - - M4_DL - - M4_UL - - M5_DL - - M5_UL - - M6_DL - - M6_UL - - M7_DL - - M7_UL - - M8 - - M9 - - type: string - SensorMeasurement: +# + + SynchronizationState: + description: Indicates the Synchronization State. anyOf: - type: string enum: - - BAROMETRIC_PRESSURE - - UE_SPEED - - UE_ORIENTATION + - LOCKED + - HOLDOVER + - FREERUN - type: string - ReportingTrigger: + description: > + 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. + + TimeSource: + description: Indicates the Time Source. anyOf: - type: string enum: - - PERIODICAL - - EVENT_A2 - - EVENT_A2_PERIODIC - - ALL_RRM_EVENT_TRIGGERS + - SYNC_E + - PTP + - GNSS + - ATOMIC_CLOCK + - TERRESTRIAL_RADIO + - SERIAL_TIME_CODE + - NTP + - HAND_SET + - OTHER - type: string - ReportIntervalMdt: + description: > + 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. + + ClockQualityDetailLevel: + description: Indicates the Clock Quality Detail Level. anyOf: - type: string enum: - - 120 - - 240 - - 480 - - 640 - - 1024 - - 2048 - - 5120 - - 10240 - - 60000 - - 360000 - - 720000 - - 1800000 - - 3600000 + - CLOCK_QUALITY_METRICS + - ACCEPT_INDICATION - type: string - ReportAmountMdt: + description: > + 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. + + ClockQualityDetailLevelRm: + description: > + This data type is defined in the same way as the 'ClockQualityDetailLevel' data type, + but with the OpenAPI 'nullable: true' property. anyOf: - - type: string - enum: - - 1 - - 2 - - 4 - - 8 - - 16 - - 32 - - 64 - - infinity - - type: string - EventForMdt: + - $ref: '#/components/schemas/ClockQualityDetailLevel' + - $ref: '#/components/schemas/NullValue' + + +# +# STRUCTURED DATA TYPES +# + + ClockQualityAcceptanceCriterion: + description: Contains a Clock Quality Acceptance Criterion. + type: object + properties: + synchronizationState: + type: array + items: + $ref: '#/components/schemas/SynchronizationState' + minItems: 1 + clockQuality: + $ref: '#/components/schemas/ClockQuality' + parentTimeSource: + type: array + items: + $ref: '#/components/schemas/TimeSource' + minItems: 1 + + ClockQualityAcceptanceCriterionRm: + description: Contains a Clock Quality Acceptance Criterion. + type: object + nullable: true + properties: + synchronizationState: + type: array + nullable: true + items: + $ref: '#/components/schemas/SynchronizationState' + minItems: 1 + clockQuality: + $ref: '#/components/schemas/ClockQualityRm' + parentTimeSource: + type: array + nullable: true + items: + $ref: '#/components/schemas/TimeSource' + minItems: 1 + + ClockQuality: + description: Contains Clock Quality. + type: object + properties: + traceabilityToGnss: + type: boolean + traceabilityToUtc: + type: boolean + frequencyStability: + $ref: '#/components/schemas/Uint16' + clockAccuracyIndex: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + clockAccuracyValue: + type: integer + minimum: 1 + maximum: 40000000 + + ClockQualityRm: + description: "ClockQuality with 'nullable: true' property" + type: object + nullable: true + properties: + traceabilityToGnss: + type: boolean + traceabilityToUtc: + type: boolean + frequencyStability: + $ref: '#/components/schemas/Uint16Rm' + clockAccuracyIndex: + type: string + nullable: true + pattern: '^[A-Fa-f0-9]{2}$' + clockAccuracyValue: + type: integer + nullable: true + minimum: 1 + maximum: 40000000 + + + + +# Data Types related to IMS SBA as defined in clause 5.11 +# + +# +# SIMPLE DATA TYPES +# +# + + SessionId: + description: IMS Session Identifier + type: string + + Fingerprint: + description: The certificate fingerprint for the DTLS association. + type: string + pattern: '^(SHA-1|SHA-224|SHA-256|SHA-384|SHA-512|MD5|MD2)\s[0-9A-F]{2}(:[0-9A-F]{2})+$' + + MediaId: + description: IMS Media Flow Identifier + type: string + + MediaIdRm: + description: IMS Media Flow Identifier + type: string + nullable: true + + MaxMessageSize: + description: Maximum SCTP user message size + type: integer + maximum: 64 + default: 64 + + TlsId: + description: The TLS ID for the media stream. + type: string + pattern: '^[A-Za-z0-9+/_-]{20,255}$' + + ImsTranspInfo: + description: IMS object to carry transparent information for IMS Exposure services. + type: object + + +# +# Enumerations +# +# + MediaResourceType: + description: Indicates the Media Resource type anyOf: - type: string enum: - - OUT_OF_COVERAG - - A2_EVENT + - DC + - AUDIO + - VIDEO - type: string - LoggingIntervalMdt: + + MediaProxy: + description: Media Proxy Configuration applicable to the media flow anyOf: - type: string enum: - - 128 - - 256 - - 512 - - 1024 - - 2048 - - 3072 - - 4096 - - 6144 + - HTTP_PROXY + - UDP_PROXY + - DC_APPLICATION_PROXY - type: string - LoggingDurationMdt: + + SecuritySetup: + description: security setup of the DTLS connection anyOf: - - type: string - enum: - - 600 - - 1200 - - 2400 - - 3600 - - 5400 - - 7200 - - type: string - PositioningMethodMdt: + - type: string + enum: + - ACTIVE + - PASSIVE + - ACTPASS + - type: string + + BdcUsedBy: + description: The party uses the bootstrap data channel in the media description anyOf: - type: string enum: - - GNSS - - E_CELL_ID + - SENDER + - RECEIVER - type: string - CollectionPeriodRmmLteMdt: + + AdcEndpointType: + description: The remote endpoint type of the application data channel anyOf: - type: string enum: - - 1024 - - 1280 - - 2048 - - 2560 - - 5120 - - 10240 - - 60000 + - UE + - SERVER - type: string - MeasurementPeriodLteMdt: + + ImsEvent: + description: The IMS events anyOf: - type: string enum: - - 1024 - - 1280 - - 2048 - - 2560 - - 5120 - - 10240 - - 60000 + - ADC_ESTABLISHMENT + - ADC_RELEASE + - BDC_ESTABLISHMENT + - BDC_RELEASE + - ADC_IWK_ESTABLISHMENT - type: string - ReportIntervalNrMdt: + + AdcStatus: + description: ADC event status. anyOf: - type: string enum: - - 120 - - 240 - - 480 - - 640 - - 1024 - - 2048 - - 5120 - - 10240 - - 20480 - - 40960 - - 60000 - - 360000 - - 720000 - - 1800000 - - 3600000 + - ADC_ESTABLISHED + - ADC_RELEASED + - ADC_IWK_ESTABLISHED - type: string + description: > + 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. - LoggingIntervalNrMdt: + BdcStatus: + description: BDC event status. anyOf: - type: string enum: - - 128 - - 256 - - 512 - - 1024 - - 2048 - - 3072 - - 4096 - - 6144 - - 320 - - 640 - - infinity + - BDC_ESTABLISHED + - BDC_RELEASED - type: string + description: > + 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. - CollectionPeriodRmmNrMdt: + ImsReportMode: + description: Ims event report mode. anyOf: - type: string enum: - - 1024 - - 2048 - - 5120 - - 10240 - - 60000 + - ON_EVENT_DETECTION + - PERIODIC - type: string + description: > + 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. - LoggingDurationNrMdt: + RenderingMode: + description: The rendering mode for avatar media anyOf: - type: string enum: - - 600 - - 1200 - - 2400 - - 3600 - - 5400 - - 7200 + - UE_CENTRIC + - NET_CENTRIC_MF + - NET_CENTRIC_DCAS - type: string + # # STRUCTURED DATA TYPES # - TraceData: + DcEndpoint: + description: Endpoint for Data Channel type: object - nullable: true properties: - traceRef: + sctpPort: + type: integer + maximum: 65535 + minimum: 0 + description: Local or remote port for Data Channel + fingerprint: + deprecated: true + allOf: + - $ref: '#/components/schemas/Fingerprint' + fingerprints: + type: array + items: + $ref: '#/components/schemas/Fingerprint' + minItems: 1 + tlsId: + $ref: '#/components/schemas/TlsId' + securitySetup: + $ref: '#/components/schemas/SecuritySetup' + + DcStream: + description: Data Channel mapping and configuration information + type: object + not: + required: [maxRetry, maxTime] + properties: + streamId: + type: integer + maximum: 65535 + default: 0 + description: Stream identifier for Data Channel + subprotocol: type: string - pattern: '^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$' - traceDepth: - $ref: '#/components/schemas/TraceDepth' - neTypeList: + pattern: '^[A-Fa-f0-9]{20}$' + description: Subprotocol of the SCTP stream + order: + type: boolean + maxRetry: + type: integer + default: 0 + description: maximal number of the times a message will be retransmitted + maxTime: + type: integer + default: 0 + description: > + maximal lifetime in milliseconds after which a message will no longer be + transmitted or retransmitted + priority: + type: integer + default: 256 + description: priority of data channel relative to other data channels + + + ReplaceHttpUrl: + description: replacement HTTP URL per stream + type: object + properties: + replaceHttpUrl: + $ref: '#/components/schemas/Uri' + streamId: + type: integer + maximum: 65535 + default: 0 + description: Stream identifier for Data Channel + + Endpoint: + description: Represents the IP endpoint. + type: object + required: + - ip + - transport + - portNumber + properties: + ip: + $ref: '#/components/schemas/IpAddr' + transport: + $ref: '#/components/schemas/TransportProtocol' + portNumber: + $ref: '#/components/schemas/Uinteger' + + + AppBindingInfo: + description: Represents the application binding information. + type: object + required: + - applicationId + properties: + applicationId: type: string - pattern: '^[A-Fa-f0-9]+$' - eventList: + description: application identifier. + plmnId: + $ref: '#/components/schemas/NetworkId' + appDcInfo: + deprecated: true + allOf: + - $ref: '#/components/schemas/AppDcInfo' + appDcInfoList: + type: array + items: + $ref: '#/components/schemas/AppDcInfo' + minItems: 1 + + + AppDcInfo: + description: Represents the application data channel is intened towards to a server or the remote UE. + type: object + required: + - streamId + properties: + streamId: + type: integer + adcEndpointType: + $ref: '#/components/schemas/AdcEndpointType' + + MdcEndpoint: + description: Endpoint for MDC1 and MDC2 interface + type: object + required: + - ip + - portNumber + properties: + ip: + $ref: '#/components/schemas/IpAddr' + portNumber: + $ref: '#/components/schemas/Uinteger' + sctpPort: + type: integer + maximum: 65535 + minimum: 0 + description: Port number for SCTP connection over DTLS + fingerprint: + deprecated: true + allOf: + - $ref: '#/components/schemas/Fingerprint' + fingerprints: + type: array + items: + $ref: '#/components/schemas/Fingerprint' + minItems: 1 + tlsId: + $ref: '#/components/schemas/TlsId' + securitySetup: + $ref: '#/components/schemas/SecuritySetup' + + ImsReportingOptions: + description: Ims event reporting options. + type: object + properties: + reportMode: + $ref: '#/components/schemas/ImsReportMode' + oneTimeReport: + type: boolean + oneTimeNotification: + type: boolean + maxNumOfReports: + type: integer + reportPeriod: + $ref: '#/components/schemas/DurationSec' + expiry: + $ref: '#/components/schemas/DateTime' + + ImsEventConfiguration: + description: Ims event configuration information. + type: object + required: + - imsEvent + properties: + imsEvent: + $ref: '#/components/schemas/ImsEvent' + eventInfo: + $ref: '#/components/schemas/EventInformation' + reqCurrentStatus: + type: boolean + imsEventFilters: + type: array + items: + $ref: '#/components/schemas/ImsEventFilter' + minItems: 1 + + EventInformation: + description: Ims event information. + type: object + properties: + imsTranspEventConfig: + $ref: '#/components/schemas/ImsTranspInfo' + ImsEventFilter: + description: Conditions to match specific Ims event. + type: object + properties: + callingId: type: string - pattern: '^[A-Fa-f0-9]+$' - collectionEntityIpv4Addr: - $ref: '#/components/schemas/Ipv4Addr' - collectionEntityIpv6Addr: - $ref: '#/components/schemas/Ipv6Addr' - interfaceList: + pattern: '^(sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}|tel\:\+[0-9]{5,15})$' + calledId: type: string - pattern: '^[A-Fa-f0-9]+$' + pattern: '^(sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}|tel\:\+[0-9]{5,15})$' + appBindingInfo: + $ref: '#/components/schemas/AppBindingInfo' + sessionId: + $ref: '#/components/schemas/SessionId' + imsTranspFilter: + $ref: '#/components/schemas/ImsTranspInfo' + + ImsEventReport: + description: Ims event report. + type: object required: - - traceRef - - traceDepth - - neTypeList - - eventList - MdtConfiguration: + - imsEvent + properties: + imsEvent: + $ref: '#/components/schemas/ImsEvent' + eventReport: + $ref: '#/components/schemas/ImsEventReportInfo' + sessionId: + $ref: '#/components/schemas/SessionId' + + ImsEventReportInfo: + description: Ims event report specific information. + type: object + properties: + adcReport: + $ref: '#/components/schemas/AdcReport' + bdcReport: + $ref: '#/components/schemas/BdcReport' + imsTranspEventReport: + $ref: '#/components/schemas/ImsTranspInfo' + + AdcReport: + description: Application data channel report. type: object required: - - jobType + - adcStatus properties: - jobType: - $ref: '#/components/schemas/JobType' - reportType: - $ref: '#/components/schemas/ReportTypeMdt' - areaScope: - $ref: '#/components/schemas/AreaScope' - measurementLteList: + adcStatus: + $ref: '#/components/schemas/AdcStatus' + + BdcReport: + description: Bootstrap data channel report. + type: object + required: + - bdcStatus + properties: + bdcStatus: + $ref: '#/components/schemas/BdcStatus' + + RcdProperties: + description: Contains the RCD related parameters. + type: object + properties: + rcdSrvAddr: + $ref: '#/components/schemas/ServerAddressingInfo' + rcdUrl: + $ref: '#/components/schemas/Uri' + rcdInfo: + $ref: '#/components/schemas/RcdInformation' + + RcdInformation: + description: > + Contains a collection of RCD properties as specified in IETF RFC 9796 + and represented as a jCard JSON object. + type: object + required: + - identifProps + properties: + identifProps: + $ref: '#/components/schemas/IdentificationProperties' + delvAddrProps: + $ref: '#/components/schemas/DeliveringAddrProperties' + commsProps: + $ref: '#/components/schemas/CommunicationsProperties' + geogrProps: + $ref: '#/components/schemas/GeographicalProperties' + organProps: + $ref: '#/components/schemas/OrganizationalProperties' + explanProps: + $ref: '#/components/schemas/ExplanatoryProperties' + + IdentificationProperties: + description: Represents the identity information of the entity associated with the jCard. + type: object + required: + - fns + properties: + fns: + description: > + Represent the "fn" property which provides a formatted text corresponding to the + name of the object the jCard represents as defined in IETF RFC 6350, section 6.2.1. type: array - items: - $ref: '#/components/schemas/MeasurementLteForMdt' - measurementNrList: + items: + type: string + minItems: 1 + nProp: + description: > + Represent the "n" property which provides the components of the name of the object + the jCard represents as defined as defined in IETF RFC 6350, section 6.2.2. + type: string + nickNames: + description: > + Represent the "nickname" property which provides the text corresponding to the + nickname of the object the jCard represents as defined in IETF RFC 6350, section 6.2.3. type: array items: - $ref: '#/components/schemas/MeasurementNrForMdt' + type: string minItems: 1 - sensorMeasurementList: + photos: + description: > + Represent the "photo" property which provides image or photograph information that + annotates some aspect of the object the jCard represents as defined in + IETF RFC 6350, section 6.2.4. type: array items: - $ref: '#/components/schemas/SensorMeasurement' + $ref: '#/components/schemas/Uri' minItems: 1 - reportingTriggerList: + + DeliveringAddrProperties: + description: > + Represents the information related to the delivery address of the entity associated with + the jCard. + type: object + properties: + adrs: + description: > + Represent the "adr" property which provides the delivery address of the object the + jCard represents as defined in IETF RFC 6350, section 6.3.1. type: array items: - $ref: '#/components/schemas/ReportingTrigger' + type: string minItems: 1 - reportInterval: - $ref: '#/components/schemas/ReportIntervalMdt' - reportIntervalNr: - $ref: '#/components/schemas/ReportIntervalNrMdt' - reportAmount: - $ref: '#/components/schemas/ReportAmountMdt' - eventThresholdRsrp: - type: integer - minimum: 0 - maximum: 97 - eventThresholdRsrpNr: - type: integer - minimum: 0 - maximum: 127 - eventThresholdRsrq: - type: integer - minimum: 0 - maximum: 34 - eventThresholdRsrqNr: - type: integer - minimum: 0 - maximum: 127 - eventList: + + CommunicationsProperties: + description: Indicates how to communicate with the entity associated with the jCard. + type: object + properties: + tels: + description: > + Represent the "tel" property which provides the telephone number for the object the + jCard represents as defined in IETF RFC 6350, section 6.4.1. type: array items: - $ref: '#/components/schemas/EventForMdt' + type: string minItems: 1 - loggingInterval: - $ref: '#/components/schemas/LoggingIntervalMdt' - loggingIntervalNr: - $ref: '#/components/schemas/LoggingIntervalNrMdt' - loggingDuration: - $ref: '#/components/schemas/LoggingDurationMdt' - loggingDurationNr: - $ref: '#/components/schemas/LoggingDurationNrMdt' - positioningMethod: - $ref: '#/components/schemas/PositioningMethodMdt' - addPositioningMethodList: + emails: + description: > + Represent the "email" property which provides the electronic mail address of the + object the jCard represents as defined in IETF RFC 6350, section 6.4.2. type: array items: - $ref: '#/components/schemas/PositioningMethodMdt' + type: string minItems: 1 - collectionPeriodRmmLte: - $ref: '#/components/schemas/CollectionPeriodRmmLteMdt' - collectionPeriodRmmNr: - $ref: '#/components/schemas/CollectionPeriodRmmNrMdt' - measurementPeriodLte: - $ref: '#/components/schemas/MeasurementPeriodLteMdt' - mdtAllowedPlmnIdList: + langs: + description: > + Represent the "lang" property which provides the language(s) that may be used for + communicating with the object the jCard represents as defined in IETF RFC 6350, + section 6.4.4. type: array items: - $ref: '#/components/schemas/PlmnId' + type: string minItems: 1 - maxItems: 16 - mbsfnAreaList: + + GeographicalProperties: + description: > + Represents the geographical information associated with the entity associated with + the jCard. + type: object + properties: + tzs: + description: > + Represent the "tz" property which provides the time zone of the object the jCard + represents as defined in IETF RFC 6350, section 6.5.1. type: array items: - $ref: '#/components/schemas/MbsfnArea' + type: string minItems: 1 - maxItems: 8 - interFreqTargetList: + geos: + description: > + Represent the "geo" property which provides the global positioning of the object the + jCard represents as defined in IETF RFC 6350, section 6.5.2. type: array items: - $ref: '#/components/schemas/InterFreqTargetInfo' + $ref: '#/components/schemas/Uri' minItems: 1 - maxItems: 8 - AreaScope: + + OrganizationalProperties: + description: > + Represents the information associated with characteristics of the organization or + organizational units of the entity associated with the jCard. type: object properties: - eutraCellIdList: + titles: + description: > + Represent the "title" property which has the intent of providing the position or job + of the object the jCard represents as defined in IETF RFC 6350, section 6.6.1. type: array items: - $ref: '#/components/schemas/EutraCellId' + type: string minItems: 1 - nrCellIdList: + roles: + description: > + Represent the "role" property which has the intent of providing the position or job + of the object the jCard represents as defined in IETF RFC 6350, section 6.6.2. type: array items: - $ref: '#/components/schemas/NrCellId' + type: string minItems: 1 - tacList: + logos: + description: > + Represent the "logo" property which has the intent of specifying a graphic image of + a logo associated with the object the jCard represents as defined in IETF RFC 6350, + section 6.6.3. type: array items: - $ref: '#/components/schemas/Tac' + $ref: '#/components/schemas/Uri' minItems: 1 - tacInfoPerPlmn: - type: object - additionalProperties: - $ref: '#/components/schemas/TacInfo' - TacInfo: - type: object - required: - - tacList - properties: - tacList: + orgs: + description: > + Represent the "org" property which has the intent of specifying the organizational + name and units of the object the jCard represents as defined in IETF RFC 6350, + section 6.6.4. type: array items: - $ref: '#/components/schemas/Tac' + type: string minItems: 1 - MbsfnArea: - type: object - properties: - mbsfnAreaId: - type: integer - minimum: 0 - maximum: 255 - carrierFrequency: - type: integer - minimum: 0 - maximum: 262143 - InterFreqTargetInfo: - required: - - dlCarrierFreq + ExplanatoryProperties: + description: > + Indicates an additional information such as an application category information or notes + that are specific to the entity associated with the jCard. type: object + required: + - version properties: - dlCarrierFreq: - $ref: '#/components/schemas/ArfcnValueNR' - cellIdList: + categories: + description: > + Represent the "categories" property which specifies application category information + about the object the jCard represents as defined in IETF RFC 6350, section 6.7.1. type: array items: - $ref: '#/components/schemas/PhysCellId' + type: string minItems: 1 - maxItems: 32 - - -# Data Types related to 5G ODB as defined in clause 5.7 - -# -# SIMPLE DATA TYPES -# -# -# -# Enumerations -# - RoamingOdb: - anyOf: - - type: string - enum: - - OUTSIDE_HOME_PLMN - - OUTSIDE_HOME_PLMN_COUNTRY - - type: string - - OdbPacketServices: - anyOf: - - anyOf: - - type: string - enum: - - ALL_PACKET_SERVICES - - ROAMER_ACCESS_HPLMN_AP - - ROAMER_ACCESS_VPLMN_AP - - type: string - - $ref: '#/components/schemas/NullValue' + notes: + description: > + Represent the "note" property which specifies supplemental information or a comment + about the object the jCard represents as defined in IETF RFC 6350, section 6.7.2. + type: array + items: + type: string + minItems: 1 + sounds: + description: > + Represent the "sound" property which specifies digital sound content information + that annotates some aspect of the object the jCard represents as defined in + IETF RFC 6350, section 6.7.5. + type: array + items: + $ref: '#/components/schemas/Uri' + minItems: 1 + uid: + $ref: '#/components/schemas/Uri' + urls: + description: > + Represent the "url" property which specifies a uniform resource locator associated + with the object the jCard represents as defined in IETF RFC 6350, section 6.7.8. + type: array + items: + $ref: '#/components/schemas/Uri' + minItems: 1 + version: + description: > + Represent the "version" property which specifies the version of the vCard + specification used to format this vCard as defined in IETF RFC 6350, section 6.7.9. + type: string -# -# STRUCTURED DATA TYPES -# - OdbData: + AudioVideoMedia: + description: the description of audio and video media. type: object + required: + - transportProto + - fmt properties: - roamingOdb: - $ref: '#/components/schemas/RoamingOdb' + transportProto: + type: string + description: the transport protocol of audio/video media + fmt: + type: integer + description: Media format description of audio/video media -# -# Data Types related to Charging as defined in clause 5.8 + +# Data Types related to Ambient IoT as defined in clause 5.12 # # # SIMPLE DATA TYPES # # - ChargingId: - $ref: '#/components/schemas/Uint32' - ApplicationChargingId: + AiotAreaCode: + description: Ambient IoT Area code. type: string + pattern: '^[A-Fa-f0-9]{6}$' - RatingGroup: - $ref: '#/components/schemas/Uint32' + AiotFilteringInformation: + description: Ambient IoT Filtering Information. + $ref: '#/components/schemas/Bytes' - ServiceId: - $ref: '#/components/schemas/Uint32' + AiotDevPermId: + $ref: '#/components/schemas/Bytes' + description: > + String identifying the AIoT Device Permanent Identifier. -# -# Enumerations -# # # STRUCTURED DATA TYPES # - SecondaryRatUsageReport: - type: object - properties: - secondaryRatType: - $ref: '#/components/schemas/RatType' - qosFlowsUsageData: - type: array - items: - $ref: '#/components/schemas/QosFlowUsageReport' - minItems: 1 - required: - - secondaryRatType - - qosFlowsUsageData - - QosFlowUsageReport: - type: object - properties: - qfi: - $ref: '#/components/schemas/Qfi' - startTimeStamp: - $ref: '#/components/schemas/DateTime' - endTimeStamp: - $ref: '#/components/schemas/DateTime' - downlinkVolume: - $ref: '#/components/schemas/Int64' - uplinkVolume: - $ref: '#/components/schemas/Int64' - required: - - qfi - - startTimeStamp - - endTimeStamp - - downlinkVolume - - uplinkVolume - SecondaryRatUsageInfo: + AiotArea: + description: Contains a list of AIoT Area ID(s). type: object properties: - secondaryRatType: - $ref: '#/components/schemas/RatType' - qosFlowsUsageData: - type: array - items: - $ref: '#/components/schemas/QosFlowUsageReport' - minItems: 1 - pduSessionUsageData: + areaIds: type: array items: - $ref: '#/components/schemas/VolumeTimedReport' + $ref: '#/components/schemas/AiotAreaId' minItems: 1 required: - - secondaryRatType + - areaIds - VolumeTimedReport: + AiotAreaId: + description: AIoT Area ID. type: object properties: - startTimeStamp: - $ref: '#/components/schemas/DateTime' - endTimeStamp: - $ref: '#/components/schemas/DateTime' - downlinkVolume: - $ref: '#/components/schemas/Int64' - uplinkVolume: - $ref: '#/components/schemas/Int64' + plmnId: + $ref: '#/components/schemas/PlmnId' + nid: + $ref: '#/components/schemas/Nid' + aiotAreaCode: + $ref: '#/components/schemas/AiotAreaCode' required: - - startTimeStamp - - endTimeStamp - - downlinkVolume - - uplinkVolume + - plmnId + - aiotAreaCode + # @@ -2754,7 +7478,8 @@ components: schema: type: string 3gpp-Sbi-Target-Nf-Id: - description: 'Identifier of target NF (service) instance towards which the request is redirected' + description: > + 'Identifier of target NF (service) instance towards which the request is redirected' schema: type: string '308': @@ -2770,7 +7495,8 @@ components: schema: type: string 3gpp-Sbi-Target-Nf-Id: - description: 'Identifier of target NF (service) instance towards which the request is redirected' + description: > + 'Identifier of target NF (service) instance towards which the request is redirected' schema: type: string '400': @@ -2832,7 +7558,7 @@ components: schema: $ref: '#/components/schemas/ProblemDetails' '413': - description: Payload Too Large + description: Content Too Large content: application/problem+json: schema: @@ -2867,6 +7593,12 @@ components: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' + '502': + description: Bad Gateway + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' '503': description: Service Unavailable content: