From 3473d2a22eef8a051f24bd4ab5c720261568addc Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:44:35 +0000 Subject: [PATCH 01/93] Replace TS28104_MdaNrm.yaml --- OpenAPI/TS28104_MdaNrm.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenAPI/TS28104_MdaNrm.yaml b/OpenAPI/TS28104_MdaNrm.yaml index 4839ffc8..3a83c1ae 100644 --- a/OpenAPI/TS28104_MdaNrm.yaml +++ b/OpenAPI/TS28104_MdaNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: MDA NRM - version: 19.2.0 + version: 19.3.0 description: >- OAS 3.0.1 specification of the MDA NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -24,6 +24,7 @@ components: - SLS_ANALYSIS_NETWORK_SLICE_TRAFFIC_ANALYSIS - SLS_ANALYSIS_E2E_LATENCY_ANALYSIS - SLS_ANALYSIS_NETWORK_SLICE_LOAD_ANALYSIS + - UE_THROUGHPUT_ANALYSIS_TRAFFIC_CONGESTION_PROBLEM_ANALYSIS - SLS_ANALYSIS_EDGE_APPLICATION_DEPLOYMENT_LOCATION_ANALYSIS - SLS_ANALYSIS_EDGE_COMPUTING_PERFORMANCE_ANALYSIS - SLS_ANALYSIS_TRAFFIC_CONGESTION_PREDICTION_ANALYSIS @@ -37,7 +38,7 @@ components: - RESOURCE_ANALYTICS_PHYSICAL_RESOURCE_UTILIZATION_ANALYSIS_NF - RESOURCE_ANALYTICS_5GC_CONTROL_PLANE_CONGESTION_ANALYSIS - PREDICTIONS_PM_DATA - - UE_THROUGHPUT_ANALYSIS_TRAFFIC_CONGESTION_PROBLEM_ANALYSIS + - ATSSS_PERFORMANCE_TRAFFIC_STEERING_ANALYTICS - CORRELATION_ANALYTICS_TRAINING_DATA_ANALYSIS - CORRELATION_ANALYTICS_NF_SCALING_DIMENSIONING_DATA_ANALYSIS -- GitLab From ed681fc28d888b15cce541783593387c9b0542e8 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:45:05 +0000 Subject: [PATCH 02/93] Replace TS28104_MdaReport.yaml --- OpenAPI/TS28104_MdaReport.yaml | 41 +++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/OpenAPI/TS28104_MdaReport.yaml b/OpenAPI/TS28104_MdaReport.yaml index 3244b9f6..123a9954 100644 --- a/OpenAPI/TS28104_MdaReport.yaml +++ b/OpenAPI/TS28104_MdaReport.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: MDA Report - version: 19.2.0 + version: 19.3.0 description: >- OAS 3.0.1 specification of the MDA Report © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -46,13 +46,14 @@ components: $ref: 'TS28104_MdaNrm.yaml#/components/schemas/MDAType' mDAOutputList: oneOf: - - $ref: '#/components/schemas/CoverageProblemAnalysisoutput' - - $ref: '#/components/schemas/MobilityPerformanceAnalysisoutput' + - $ref: '#/components/schemas/CoverageProblemAnalysisOutput' + - $ref: '#/components/schemas/MobilityPerformanceAnalysisOutput' - $ref: '#/components/schemas/TrainingDataAnalysisOutput' - $ref: '#/components/schemas/NFScalingDimensioningDataAnalysisOutput' - $ref: '#/components/schemas/PMDataOutput' - $ref: '#/components/schemas/FailurePredictionOutput' - - $ref: '#/components/schemas/PagingOptimizationAnalysisOutput' + - $ref: '#/components/schemas/PagingOptimizationAnalysisOutput' + - $ref: '#/components/schemas/TrafficCongestionProblemAnalysisOutput' - type: array uniqueItems: true items: @@ -146,7 +147,7 @@ components: #-------- Definition of specific MobilityPerformanceAnalysis MDAoutput ----------------------------- - MobilityPerformanceAnalysisoutput: + MobilityPerformanceAnalysisOutput: type: object properties: mobilityPerformanceIssueIdentifier: @@ -162,7 +163,7 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' #-------- Definition of specific CoverageProblemAnalysis MDAoutput ----------------------------- - CoverageProblemAnalysisoutput: + CoverageProblemAnalysisOutput: type: object properties: coverageProblemId: @@ -392,6 +393,34 @@ components: items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' +#-------- Definition of specific UEThroughputAnalysis MDAoutput ----------------------------- + TrafficCongestionProblemAnalysisOutput: + type: object + properties: + trafficCongestionId: + type: string + trafficCongestionType: + type: string + enum: + - NON_REGULAR_TRAFFIC_CONGESTION + - REGULAR_TRAFFIC_CONGESTION + timeDuration: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + trafficCongestionAreas: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + recommendedActions: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/RecommendedAction' + severityLevel: + type: string + enum: + - SLIGHT_CONGESTION + - MODERATE_CONGESTION + - SEVERE_CONGESTION -- GitLab From 45c31ab97fa269e842fbe56287b1f43d929dd10e Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:45:23 +0000 Subject: [PATCH 03/93] Replace TS28105_AiMlNrm.yaml --- OpenAPI/TS28105_AiMlNrm.yaml | 335 +++++++++++++++++++++++++++++++++-- 1 file changed, 322 insertions(+), 13 deletions(-) diff --git a/OpenAPI/TS28105_AiMlNrm.yaml b/OpenAPI/TS28105_AiMlNrm.yaml index f76a2a49..11607de7 100644 --- a/OpenAPI/TS28105_AiMlNrm.yaml +++ b/OpenAPI/TS28105_AiMlNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: AI/ML NRM - version: 19.2.0 + version: 19.3.0 description: >- OAS 3.0.1 specification of the AI/ML NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -76,7 +76,6 @@ components: managedActivationScope: $ref: '#/components/schemas/ManagedActivationScope' - SupportedPerfIndicator: type: object properties: @@ -167,7 +166,12 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' # FIXME, isOrder/isUnique both as True inferencePerformance: - $ref: '#/components/schemas/ModelPerformance' + $ref: '#/components/schemas/ModelPerformance' + inferenceExplanationInfo: + type: array + uniqueItems: true + items: + type: string outputResult: description: A map (list of key-value pairs) for Inference result name and it's value $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' @@ -187,7 +191,250 @@ components: - NG_RAN_MOBILITY_OPTIMIZATION VSExtensionType: type: string - + DataStatisticalProperties: + type: object + properties: + uniformlyDistributedTrainingData: + type: boolean + default: FALSE + trainingDataWithOrWithoutOutliers: + type: boolean + default: FALSE + DistributedTrainingExpectation: + type: object + properties: + expectedTrainingTime: + type: integer + dataSplitIndication: + type: boolean + default: FALSE + suggestedTrainingNodeList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + PotentialImpactInfo: + type: object + properties: + impactedScope: + $ref: '#/components/schemas/ManagedActivationScope' + impactedPM: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ImpactedPM' + ImpactedPM: + type: object + properties: + pMIdentifier: + type: string + readOnly: true + + MLKnowledge: + type: object + properties: + mLKnowledgeName: + type: string + readOnly: true + knowledgeType: + type: string + enum: + - TABLE + - STATISTIC + - REGRESSION + readOnly: true + predictorResponseArray: + # array of pair + type: array + description: Array of pair + uniqueItems: true + items: + type: array + description: Array of pair + minItems: 2 + maxItems: 2 + items: + type: string + + EnvironmentScope: + oneOf: + #Choice_1.1 managedEntitiesScope + - type: object + properties: + managedEntitiesScope: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + #Choice_1.2 areaScope + - type: object + properties: + areaScope: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + #Choice 2 timeWindow + - type: object + properties: + timeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + #todo: stage 2 attribute definition missing + + SupportedLearningTechnology: + type: object + properties: + learningTechnologyName: + type: array + uniqueItems: true + items: + type: string + enum: + - RL + - FL + - DL + readOnly: true + supportedRLEnvironment: + description: Included when RL is supported. + type: array + uniqueItems: true + items: + type: string + enum: + - SIMULATION_ENVIRONMENTS + - REAL_NETWORK_ENVIRONMENTS + readOnly: true + supportedFLRole: + description: Included when FL is supported. + type: array + uniqueItems: true + items: + type: string + enum: [FL_SERVER, FL_CLIENT] + minItems: 1 + maxItems: 2 + readOnly: true + supportedInferenceNameList: + description: Types of inference the training technologies can be applied to. + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/AIMLInferenceName' + minItems: 1 + readOnly: true + + RLRequirement: + type: object + properties: + rLEnvironmentType: + type: array + uniqueItems: true + items: + type: string + enum: + - SIMULATION_ENVIRONMENTS + - REAL_NETWORK_ENVIRONMENTS + + rLEnvironmentScope: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/EnvironmentScope' + minItems: 1 + + rLImpactedScope: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/EnvironmentScope' + minItems: 1 + + rLPerformanceRequirements: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ThresholdInfo' + + ClusteringCriteria: + type: object + properties: + performanceMetric: + type: string + taskType: + type: string + allowedClusterTrainingTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + minItems: 1 + maxItems: 1 + preferredModelDiversity: + type: string + + FLParticipationInfo: + type: object + additionalProperties: false + properties: + fLRole: + type: string + enum: [FL_SERVER, FL_CLIENT] + readOnly: true + isAvailableForFLTraining: + type: boolean + default: FALSE + readOnly: true + candidateFLClientRefList: + description: > + List of MLTrainingFunction DNs capable of acting as FL clients. + Applicable when fLRole = FL_SERVER. + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + FLRequirement: + type: object + additionalProperties: false + properties: + fLClientSelectionCriteria: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/FLClientSelectionCriteria' + minItems: 1 + + FLClientSelectionCriteria: + type: object + additionalProperties: false + properties: + minimumAvailableDataSamples: + type: integer + minimumAvailableTimeDuration: + type: integer + description: Minutes + minimumInterimModelPerformance: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ModelPerformance' + servingGeoArea: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + clientRedundancy: + type: boolean + trainingDataWithOrWithoutOutliers: + type: boolean + default: FALSE + uniformlyDistributedTrainingData: + type: boolean + default: FALSE + required: + - minimumAvailableDataSamples + - minimumAvailableTimeDuration + + FLReportPerClient: + type: object + additionalProperties: false + properties: + clientRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + numberOfDataSamplesUsed: + type: integer + trainingTimeDuration: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + modelPerformanceOnClient: + type: array + items: + $ref: '#/components/schemas/ModelPerformance' + #-------- Definition of types for name-containments ------ SubNetwork-ncO-AiMlNrm: type: object @@ -233,6 +480,20 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' - type: object properties: + supportedLearningTechnology: + $ref: '#/components/schemas/SupportedLearningTechnology' + fLParticipationInfo: + $ref: '#/components/schemas/FLParticipationInfo' + mLKnowledge: + $ref: '#/components/schemas/MLKnowledge' + mLTrainingType: + type: string + enum: + - INITIAL_TRAINING + - PRE_SPECIALISED_TRAINING + - RE_TRAINING + - FINE_TUNING + readOnly: true mLModelRepositoryRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' @@ -262,6 +523,8 @@ components: properties: aIMLInferenceName: $ref: '#/components/schemas/AIMLInferenceName' + fLRequirement: + $ref: '#/components/schemas/FLRequirement' candidateTrainingDataSource: type: array uniqueItems: true @@ -282,14 +545,39 @@ components: uniqueItems: true items: $ref: '#/components/schemas/ModelPerformance' + rLRequirement: + $ref: '#/components/schemas/RLRequirement' cancelRequest: type: boolean suspendRequest: - type: boolean + type: boolean + trainingDataStatisticalProperties: + $ref: '#/components/schemas/DataStatisticalProperties' + distributedTrainingExpectation: + $ref: '#/components/schemas/DistributedTrainingExpectation' + mLKnowledgeName: + type: string + mLTrainingType: + type: string + enum: + - INITIAL_TRAINING + - PRE_SPECIALISED_TRAINING + - RE_TRAINING + - FINE_TUNING + expectedInferenceScope: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/AIMLInferenceName' + clusteringInfo: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ClusteringCriteria' mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' mLModelCoordinationGroupRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' MLTrainingProcess-Single: allOf: @@ -315,6 +603,8 @@ components: default: FALSE trainingRequestRef: ## Figure 7.3a.1.1.1-1 has no such pointer $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + participatingFLClientRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' trainingReportRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' mLModelGeneratedRef: @@ -357,6 +647,12 @@ components: readOnly: true trainingRequestRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + fLReportPerClient: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/FLReportPerClient' + trainingProcessRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' lastTrainingRef: @@ -448,7 +744,7 @@ components: type: boolean default: FALSE mLModelToLoadRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' MLModelLoadingPolicy-Single: allOf: @@ -484,11 +780,12 @@ components: type: boolean default: FALSE mLModelLoadingRequestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' mLModelLoadingPolicyRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' loadedMLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + uniqueItems: true MLModel-Single: allOf: @@ -524,6 +821,18 @@ components: items: $ref: '#/components/schemas/MLCapabilityInfo' minItems: 1 + mLTrainingType: + type: string + enum: + - INITIAL_TRAINING + - PRE_SPECIALISED_TRAINING + - RE_TRAINING + - FINE_TUNING + readOnly: true + inferenceScope: + type: array + items: + $ref: '#/components/schemas/AIMLInferenceName' retrainingEventsMonitorRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' sourceTrainedMLModelRef: @@ -688,8 +997,6 @@ components: $ref: '#/components/schemas/MLModelLoadingProcess-Multiple' MLModelLoadingPolicy: $ref: '#/components/schemas/MLModelLoadingPolicy-Multiple' - MLModel: - $ref: '#/components/schemas/MLModel-Multiple' AIMLInferenceReport-Single: allOf: @@ -706,6 +1013,8 @@ components: items: $ref: '#/components/schemas/InferenceOutput' minItems: 1 + potentialImpactInfo: + $ref: '#/components/schemas/PotentialImpactInfo' mLModelRefList: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' -- GitLab From bebdec3e173d468d28d890f35b6903ff590bc9d9 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:45:39 +0000 Subject: [PATCH 04/93] Replace TS28111_FaultNotifications.yaml --- OpenAPI/TS28111_FaultNotifications.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28111_FaultNotifications.yaml b/OpenAPI/TS28111_FaultNotifications.yaml index ffac86e1..ee6a249b 100644 --- a/OpenAPI/TS28111_FaultNotifications.yaml +++ b/OpenAPI/TS28111_FaultNotifications.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Fault Management Notifications - version: 18.1.0 + version: 19.3.0 description: >- OAS 3.0.1 definition of the Fault Supervision MnS - © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.111; Fault Management @@ -35,7 +35,6 @@ paths: - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyNewAlarm' - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyNewSecAlarm' - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyClearedAlarm' - - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyChangedAlarm' - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyChangedAlarmGeneral' - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyChangedSecAlarmGeneral' - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/NotifyCorrelatedNotificationChanged' -- GitLab From 096909c4c244de6701a5559c7b1f38c064963b0d Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:45:56 +0000 Subject: [PATCH 05/93] Replace TS28111_FaultNrm.yaml --- OpenAPI/TS28111_FaultNrm.yaml | 254 ++++++++++++++++++++++++++++++---- 1 file changed, 224 insertions(+), 30 deletions(-) diff --git a/OpenAPI/TS28111_FaultNrm.yaml b/OpenAPI/TS28111_FaultNrm.yaml index 13a6967d..4e52a1c8 100644 --- a/OpenAPI/TS28111_FaultNrm.yaml +++ b/OpenAPI/TS28111_FaultNrm.yaml @@ -45,21 +45,220 @@ components: ProbableCause: description: >- The value of the probable cause may be a specific standardized string, or any - vendor provided string. Probable cause strings are not standardized in the - present document. They may be added in a future version. Up to then the - mapping of the generic probable cause strings "PROBABLE_CAUSE_001" to - "PROBABLE_CAUSE_005" is vendor specific. + vendor provided string. The value of the probable cause may also be an integer. The mapping of integer values to probable causes is vendor specific. oneOf: - anyOf: - type: string + description: Values are from the (informative) Annex B of 3GPP TS 28.111. enum: - - PROBABLE_CAUSE_001 - - PROBABLE_CAUSE_002 - - PROBABLE_CAUSE_003 - - PROBABLE_CAUSE_004 - - PROBABLE_CAUSE_005 + - INDETERMINATE + - ALARM_INDICATION_SIGNAL + - CALL_SETUP_FAILURE + - DEGRADED_SIGNAL + - FAR_END_RECEIVER_FAILURE + - FRAMING_ERROR + - LOSS_OF_FRAME + - LOSS_OF_POINTER + - LOSS_OF_SIGNAL + - PAYLOAD_TYPE_MISMATCH + - REMOTE_ALARM_INTERFACE + - EXCESSIVE_BIT_ERROR_RATE + - PATH_TRACE_MISMATCH + - UNAVAILABLE + - SIGNAL_LABEL_MISMATCH + - LOSS_OF_MULTI_FRAME + - COMMUNICATIONS_RECEIVE_FAILURE + - COMMUNICATIONS_TRANSMIT_FAILURE + - MODULATION_FAILURE + - DEMODULATION_FAILURE + - BACK_PLANE_FAILURE + - DATA_SET_PROBLEM + - EQUIPMENT_IDENTIFIER_DUPLICATION + - EXTERNAL_IF_DEVICE_PROBLEM + - LINE_CARD_PROBLEM + - MULTIPLEXER_PROBLEM + - NE_IDENTIFIER_DUPLICATION + - POWER_PROBLEM + - PROCESSOR_PROBLEM + - PROTECTION_PATH_FAILURE + - RECEIVER_FAILURE + - REPLACEABLE_UNIT_MISSING + - REPLACEABLE_UNIT_TYPE_MISMATCH + - SYNCHRONIZATION_SOURCE_MISMATCH + - TERMINAL_PROBLEM + - TIMING_PROBLEM + - TRANSMITTER_FAILURE + - TRUNK_CARD_PROBLEM + - REPLACEABLE_UNIT_PROBLEM + - REAL_TIME_CLOCK_FAILURE + - PROTECTION_MECHANISM_FAILURE + - PROTECTING_RESOURCE_FAILURE + - AIR_COMPRESSOR_FAILURE + - AIR_CONDITIONING_FAILURE + - AIR_DRYER_FAILURE + - BATTERY_DISCHARGING + - BATTERY_FAILURE + - COMMERCIAL_POWER_FAILURE + - COOLING_FAN_FAILURE + - ENGINE_FAILURE + - FIRE_DETECTOR_FAILURE + - FUSE_FAILURE + - GENERATOR_FAILURE + - LOW_BATTERY_THRESHOLD + - PUMP_FAILURE + - RECTIFIER_FAILURE + - RECTIFIER_HIGH_VOLTAGE + - RECTIFIER_LOW_F_VOLTAGE + - VENTILATION_SYSTEM_FAILURE + - ENCLOSURE_DOOR_OPEN + - EXPLOSIVE_GAS + - FIRE + - FLOOD + - HIGH_HUMIDITY + - HIGH_TEMPERATURE + - HIGH_WIND + - ICE_BUILD_UP + - INTRUSION_DETECTION + - LOW_FUEL + - LOW_HUMIDITY + - LOW_CABLE_PRESSURE + - LOW_TEMPERATURE + - LOW_WATER + - SMOKE + - TOXIC_GAS + - EXTERNAL_POINT_FAILURE + - STORAGE_CAPACITY_PROBLEM + - MEMORY_MISMATCH + - CORRUPT_DATA + - OUT_OF_CPU_CYCLES + - SOFTWARE_ENVIRONMENT_PROBLEM + - SOFTWARE_DOWNLOAD_FAILURE + - LOSS_OF_REAL_TIME + - REINITIALIZED + - EXCESSIVE_ERROR_RATE + - ADAPTER_ERROR + - APPLICATION_SUBSYSTEM_FAILURE + - BANDWIDTH_REDUCED + - COMMUNICATIONS_PROTOCOL_ERROR + - COMMUNICATIONS_SUBSYSTEM_FAILURE + - CONFIGURATION_OR_CUSTOMIZATION_ERROR + - CONGESTION + - CPU_CYCLES_LIMIT_EXCEEDED + - DATA_SET_OR_MODEM_ERROR + - DTE_DCE_INTERFACE_ERROR + - EQUIPMENT_MALFUNCTION + - EXCESSIVE_VIBRATION + - FILE_ERROR + - HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM + - HUMIDITY_UNACCEPTABLE + - INPUT_OUTPUT_DEVICE_ERROR + - INPUT_DEVICE_ERROR + - LAN_ERROR + - LEAK_DETECTED + - LOCAL_NODE_TRANSMISSION_ERROR + - MATERIAL_SUPPLY_EXHAUSTED + - OUT_OF_MEMORY + - OUTPUT_DEVICE_ERROR + - PERFORMANCE_DEGRADED + - PRESSURE_UNACCEPTABLE + - QUEUE_SIZE_EXCEEDED + - RECEIVE_FAILURE + - REMOTE_NODE_TRANSMISSION_ERROR + - RESOURCE_AT_OR_NEARING_CAPACITY + - RESPONSE_TIME_EXCESSIVE + - RETRANSMISSION_RATE_EXCESSIVE + - SOFTWARE_ERROR + - SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED + - SOFTWARE_PROGRAM_ERROR + - TEMPERATURE_UNACCEPTABLE + - THRESHOLD_CROSSED + - TOXIC_LEAK_DETECTED + - TRANSMIT_FAILURE + - UNDERLYING_RESOURCE_UNAVAILABLE + - VERSION_MISMATCH + - A_BIS_TO_BTS_INTERFACE_FAILURE + - A_BIS_TO_TRX_INTERFACE_FAILURE + - ANTENNA_PROBLEM + - BATTERY_BREAKDOWN + - BATTERY_CHARGING_FAULT + - CLOCK_SYNCHRONIZATION_PROBLEM + - COMBINER_PROBLEM + - DISK_PROBLEM + - EXCESSIVE_RECEIVER_TEMPERATURE + - EXCESSIVE_TRANSMITTER_OUTPUT_POWER + - EXCESSIVE_TRANSMITTER_TEMPERATURE + - FREQUENCY_HOPPING_DEGRADED + - FREQUENCY_HOPPING_FAILURE + - FREQUENCY_REDEFINITION_FAILED + - LINE_INTERFACE_FAILURE + - LINK_FAILURE + - LOSS_OF_SYNCHRONIZATION + - LOST_REDUNDANCY + - MAINS_BREAKDOWN_WITH_BATTERY_BACKUP + - MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP + - POWER_SUPPLY_FAILURE + - RECEIVER_ANTENNA_FAULT + - RECEIVER_MULTICOUPLER_FAILURE + - REDUCED_TRANSMITTER_OUTPUT_POWER + - SIGNAL_QUALITY_EVALUATION_FAULT + - TIMESLOT_HARDWARE_FAILURE + - TRANSCEIVER_PROBLEM + - TRANSCODER_PROBLEM + - TRANSCODER_OR_RATE_ADAPTER_PROBLEM + - TRANSMITTER_ANTENNA_FAILURE + - TRANSMITTER_ANTENNA_NOT_ADJUSTED + - TRANSMITTER_LOW_VOLTAGE_OR_CURRENT + - TRANSMITTER_OFF_FREQUENCY + - DATABASE_INCONSISTENCY + - FILE_SYSTEM_CALL_UNSUCCESSFUL + - INPUT_PARAMETER_OUT_OF_RANGE + - INVALID_PARAMETER + - INVALID_POINTER + - MESSAGE_NOT_EXPECTED + - MESSAGE_NOT_INITIALIZED + - MESSAGE_OUT_OF_SEQUENCE + - SYSTEM_CALL_UNSUCCESSFUL + - TIMEOUT_EXPIRED + - VARIABLE_OUT_OF_RANGE + - WATCH_DOG_TIMER_EXPIRED + - COOLING_SYSTEM_FAILURE + - EXTERNAL_EQUIPMENT_FAILURE + - EXTERNAL_POWER_SUPPLY_FAILURE + - EXTERNAL_TRANSMISSION_DEVICE_FAILURE + - REDUCED_ALARM_REPORTING + - REDUCED_EVENT_REPORTING + - RECUCED_LOGGING_CAPABILITY + - SYSTEM_RESOURCES_OVERLOAD + - BROADCAST_CHANNEL_FAILURE + - CONNECTION_ESTABLISHMENT_ERROR + - INVALID_MESSAGE_RECEIVED + - INVALID_MSU_RECEIVED + - LAPD_LINK_PROTOCOL_FAILURE + - LOCAL_ALARM_INDICATION + - REMOTE_ALARM_INDICATION + - ROUTING_FAILURE + - SS7_PROTOCOL_FAILURE + - TRANSMISSION_ERROR + - AUTHENTICATION_FAILURE + - BREACH_OF_CONFIDENTIALITY + - CABLE_TAMPER + - DELAYED_INFORMATION + - DENIAL_OF_SERVICE + - DUPLICATE_INFORMATION + - INFORMATION_MISSING + - INFORMATION_MODIFICATION_DETECTED + - INFORMATION_OUT_OF_SEQUENCE + - INTRUSION_DETECTED + - KEY_EXPIRED + - NON_REPUDIATION_FAILURE + - OUT_OF_HOURS_ACTIVITY + - OUT_OF_SERVICE + - PROCEDURAL_ERROR + - UNAUTHORISED_ACCESS_ATTEMPT + - UNEXPECTED_INFORMATION + - UNSPECIFIED_REASON readOnly: true - type: string readOnly: true @@ -218,6 +417,12 @@ components: securityAlarmDetector: type: string readOnly: true + clearingType: + type: string + enum: + - MANUAL + - AUTOMATIC + default: AUTOMATIC AlarmList-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -252,7 +457,6 @@ components: type: string enum: - notifyNewAlarm - - notifyChangedAlarm - notifyChangedAlarmGeneral - notifyAckStateChanged - notifyCorrelatedNotificationChanged @@ -308,6 +512,11 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' rootCauseIndicator: type: boolean + clearingType: + type: string + enum: + - MANUAL + - AUTOMATIC NotifyNewSecAlarm: allOf: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' @@ -345,6 +554,11 @@ components: type: string securityAlarmDetector: type: string + clearingType: + type: string + enum: + - MANUAL + - AUTOMATIC NotifyClearedAlarm: allOf: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' @@ -371,26 +585,6 @@ components: type: string clearSystemId: type: string - NotifyChangedAlarm: - allOf: - - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' - - type: object - required: - - alarmId - - alarmType - - probableCause - - perceivedSeverity - properties: - alarmId: - $ref: '#/components/schemas/AlarmId' - alarmType: - $ref: '#/components/schemas/AlarmType' - probableCause: - $ref: '#/components/schemas/ProbableCause' - specificProblem: - $ref: '#/components/schemas/SpecificProblem' - perceivedSeverity: - $ref: '#/components/schemas/PerceivedSeverity' NotifyChangedAlarmGeneral: allOf: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' -- GitLab From 1c804396abe7bd40c93b716d72456f1055e65621 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:46:21 +0000 Subject: [PATCH 06/93] Replace TS28312_IntentExpectations.yaml --- OpenAPI/TS28312_IntentExpectations.yaml | 174 ++++++++++++------------ 1 file changed, 88 insertions(+), 86 deletions(-) diff --git a/OpenAPI/TS28312_IntentExpectations.yaml b/OpenAPI/TS28312_IntentExpectations.yaml index e0ef86a2..379962e3 100644 --- a/OpenAPI/TS28312_IntentExpectations.yaml +++ b/OpenAPI/TS28312_IntentExpectations.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Scenario specific Intent Expectations - version: 19.2.0 + version: 19.3.0 description: >- OAS 3.0.1 definition of scenario specific Intent Expectations © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -22,9 +22,9 @@ components: expectationId: type: string expectationVerb: - $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb" + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb' expectationObject: - $ref: "#/components/schemas/RadioNetworkExpectationObject" + $ref: '#/components/schemas/RadioNetworkExpectationObject' expectationTargets: type: array uniqueItems: true @@ -41,11 +41,11 @@ components: - $ref: '#/components/schemas/HighDLPrbLoadRatioTarget' - $ref: '#/components/schemas/AveULPrbLoadTarget' - $ref: '#/components/schemas/AveDLPrbLoadTarget' - - $ref: "#/components/schemas/RANEnergyConsumptionTarget" - - $ref: "#/components/schemas/RANEnergyEfficiencyTarget" - - $ref: "#/components/schemas/ActiveUEsNumTarget" + - $ref: '#/components/schemas/RANEnergyConsumptionTarget' + - $ref: '#/components/schemas/RANEnergyEfficiencyTarget' + - $ref: '#/components/schemas/ActiveUEsNumTarget' - $ref: '#/components/schemas/PRBsTarget' - - $ref: '#/components/schemas/InterRAThandoverTarget' + - $ref: '#/components/schemas/InterRAThandoverTarget' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget' expectationContexts: type: array @@ -54,10 +54,12 @@ components: type: object oneOf: - $ref: '#/components/schemas/TargetAssuranceTimeContext' - - $ref: '#/components/schemas/SchedulingTimeContext' + - $ref: '#/components/schemas/SchedulingTimeContext' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' required: - expectationId + - expectationObject + - expectationTargets RadioServiceExpectation: description: >- This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer's expectations for radio service delivering @@ -66,9 +68,9 @@ components: expectationId: type: string expectationVerb: - $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb" + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb' expectationObject: - $ref: "#/components/schemas/RadioServiceExpectationObject" + $ref: '#/components/schemas/RadioServiceExpectationObject' expectationTargets: type: array uniqueItems: true @@ -90,7 +92,9 @@ components: - $ref: '#/components/schemas/SchedulingTimeContext' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' required: - - expectationId + - expectationId + - expectationObject + - expectationTargets EdgeServiceSupportExpectation: description: >- This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer's expectations for service deployment @@ -128,7 +132,9 @@ components: - $ref: '#/components/schemas/ResourceSharingLevelContext' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' required: - - expectationId + - expectationId + - expectationObject + - expectationTargets 5GCNetworkExpectation: description: >- This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer's expectations for 5GC network delivering @@ -137,23 +143,20 @@ components: expectationId: type: string expectationVerb: - $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb" - expectationObjects: - type: array - uniqueItems: true - items: - $ref: "#/components/schemas/5GCNetworkExpectationObject" + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb' + expectationObject: + $ref: '#/components/schemas/5GCNetworkExpectationObject' expectationTargets: type: array uniqueItems: true items: type: object oneOf: - - $ref: "#/components/schemas/MaxNumberofPDUsessionsTarget" - - $ref: "#/components/schemas/MaxNumberofRegisteredsubscribersTarget" - - $ref: "#/components/schemas/IncomingDataTarget" - - $ref: "#/components/schemas/OutgoingDataTarget" - - $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget" + - $ref: '#/components/schemas/MaxNumberofPDUsessionsTarget' + - $ref: '#/components/schemas/MaxNumberofRegisteredsubscribersTarget' + - $ref: '#/components/schemas/IncomingDataTarget' + - $ref: '#/components/schemas/OutgoingDataTarget' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget' expectationContexts: type: array uniqueItems: true @@ -162,7 +165,7 @@ components: oneOf: - $ref: '#/components/schemas/StartTimeContext' - $ref: '#/components/schemas/ResourceSharingLevelContext' - - $ref: "TS28312_IntentNrm.yaml#/components/schemas/Context" + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' required: - expectationId NetworkMaintenanceExpectation: @@ -173,12 +176,9 @@ components: expectationId: type: string expectationVerb: - $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb" - expectationObjects: - type: array - uniqueItems: true - items: - $ref: "#/components/schemas/NetworkMaintenanceExpectationObject" + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb' + expectationObject: + $ref: '#/components/schemas/NetworkMaintenanceExpectationObject' expectationTargets: type: array uniqueItems: true @@ -196,13 +196,13 @@ components: - $ref: '#/components/schemas/HighDLPrbLoadRatioTarget' - $ref: '#/components/schemas/AveULPrbLoadTarget' - $ref: '#/components/schemas/AveDLPrbLoadTarget' - - $ref: "#/components/schemas/RANEnergyConsumptionTarget" - - $ref: "#/components/schemas/RANEnergyEfficiencyTarget" - - $ref: "#/components/schemas/MaxNumberofPDUsessionsTarget" - - $ref: "#/components/schemas/MaxNumberofRegisteredsubscribersTarget" - - $ref: "#/components/schemas/IncomingDataTarget" - - $ref: "#/components/schemas/OutgoingDataTarget" - - $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget" + - $ref: '#/components/schemas/RANEnergyConsumptionTarget' + - $ref: '#/components/schemas/RANEnergyEfficiencyTarget' + - $ref: '#/components/schemas/MaxNumberofPDUsessionsTarget' + - $ref: '#/components/schemas/MaxNumberofRegisteredsubscribersTarget' + - $ref: '#/components/schemas/IncomingDataTarget' + - $ref: '#/components/schemas/OutgoingDataTarget' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget' expectationContexts: type: array uniqueItems: true @@ -210,9 +210,11 @@ components: type: object oneOf: - $ref: '#/components/schemas/MaintenanceTimeContext' - - $ref: "TS28312_IntentNrm.yaml#/components/schemas/Context" + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' required: - expectationId + - expectationObject + - expectationTargets #-------Definition of the IntentExpectation dataType ----------# #-------Definition of the scenario specific ExpectationObject dataType ----------# @@ -235,13 +237,13 @@ components: oneOf: - $ref: '#/components/schemas/CoverageAreaPolygonContext' - $ref: '#/components/schemas/CoverageTACContext' - - $ref: '#/components/schemas/TimeBasedAreaContext' - - $ref: '#/components/schemas/CellContext' + - $ref: '#/components/schemas/TimeBasedAreaContext' + - $ref: '#/components/schemas/CellContext' - $ref: '#/components/schemas/PLMNContext' - $ref: '#/components/schemas/DlFrequencyContext' - - $ref: '#/components/schemas/UlFrequencyContext' + - $ref: '#/components/schemas/UlFrequencyContext' - $ref: '#/components/schemas/RATContext' - - $ref: "#/components/schemas/UEGroupContext" + - $ref: '#/components/schemas/UEGroupContext' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' RadioServiceExpectationObject: description: >- @@ -263,7 +265,7 @@ components: - $ref: '#/components/schemas/CoverageAreaPolygonContext' - $ref: '#/components/schemas/DlFrequencyContext' - $ref: '#/components/schemas/UlFrequencyContext' - - $ref: '#/components/schemas/CellContext' + - $ref: '#/components/schemas/CellContext' - $ref: '#/components/schemas/ServiceTypeContext' - $ref: '#/components/schemas/UEGroupContext' - $ref: '#/components/schemas/GeoCoordinateContext' @@ -287,8 +289,8 @@ components: oneOf: - $ref: '#/components/schemas/EdgeIdentificationIdContext' - $ref: '#/components/schemas/EdgeIdentificationLocContext' - - $ref: '#/components/schemas/CoverageAreaTAContext' - - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' + - $ref: '#/components/schemas/CoverageAreaTAContext' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' 5GCNetworkExpectationObject: description: >- This data type is the "ExpectationObject" data type with specialisations for 5GCNetworkExpectation @@ -306,13 +308,13 @@ components: items: type: object oneOf: - - $ref: "#/components/schemas/NfTypeContext" - - $ref: "#/components/schemas/NfInstanceLocationContext" - - $ref: "#/components/schemas/PLMNContext" - - $ref: "#/components/schemas/TaiContext" - - $ref: "#/components/schemas/ServingScopeContext" - - $ref: "#/components/schemas/DnnContext" - - $ref: "TS28312_IntentNrm.yaml#/components/schemas/Context" + - $ref: '#/components/schemas/NfTypeContext' + - $ref: '#/components/schemas/NfInstanceLocationContext' + - $ref: '#/components/schemas/PLMNContext' + - $ref: '#/components/schemas/TaiContext' + - $ref: '#/components/schemas/ServingScopeContext' + - $ref: '#/components/schemas/DnnContext' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' NetworkMaintenanceExpectationObject: description: >- This data type is the "ExpectationObject" data type with specialisations for NetworkMaintenanceExpectation @@ -326,22 +328,22 @@ components: items: type: object oneOf: - - $ref: "#/components/schemas/MaintenanceVersionContext" - - $ref: "#/components/schemas/MaintenanceOrderContext" - - $ref: "#/components/schemas/MaintenanceTypeContext" - - $ref: "#/components/schemas/NfTypeContext" - - $ref: "#/components/schemas/NfInstanceLocationContext" - - $ref: "#/components/schemas/PLMNContext" - - $ref: "#/components/schemas/TaiContext" - - $ref: "#/components/schemas/ServingScopeContext" - - $ref: "#/components/schemas/DnnContext" + - $ref: '#/components/schemas/MaintenanceVersionContext' + - $ref: '#/components/schemas/MaintenanceOrderContext' + - $ref: '#/components/schemas/MaintenanceTypeContext' + - $ref: '#/components/schemas/NfTypeContext' + - $ref: '#/components/schemas/NfInstanceLocationContext' + - $ref: '#/components/schemas/PLMNContext' + - $ref: '#/components/schemas/TaiContext' + - $ref: '#/components/schemas/ServingScopeContext' + - $ref: '#/components/schemas/DnnContext' - $ref: '#/components/schemas/CoverageAreaPolygonContext' - $ref: '#/components/schemas/CoverageTACContext' - $ref: '#/components/schemas/PLMNContext' - $ref: '#/components/schemas/DlFrequencyContext' - - $ref: '#/components/schemas/UlFrequencyContext' + - $ref: '#/components/schemas/UlFrequencyContext' - $ref: '#/components/schemas/RATContext' - - $ref: "TS28312_IntentNrm.yaml#/components/schemas/Context" + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' #-------Definition of the ExpectationObject dataType ----------# @@ -496,7 +498,7 @@ components: description: >- This data type is the "TargetContext" data type with specialisations for LowULRANUEThptContext.It describes the threshold for the low UL RAN UE throughput cells (see average UL RAN UE throughput in gNB and distribution of UL UE throughput in gNB - in TS 28.552[6]) of the RAN SubNetwork that the intent expectation is applied. + in TS 28.552[6]) of the RAN SubNetwork that the intent expectation is applied. type: object properties: contextAttribute: @@ -506,7 +508,7 @@ components: contextCondition: type: string enum: - - Is_less_than + - IS_LESS_THAN contextValueRange: type: number LowDLRANUEThptRatioTarget: @@ -514,7 +516,7 @@ components: This data type is the "ExpectationTarget" data type with specialisations for LowDLRANUEThptRatioTarget. It describes the low DL RAN UE throughput ratio target for the RAN SubNetwork that the intent expectation is applied.The numerator is the number of the cells with low DL RAN UE throughput, and the denominator is the total number of cells of the - RAN Subnetwork in the specified area. + RAN Subnetwork in the specified area. type: object properties: targetName: @@ -573,7 +575,7 @@ components: description: >- This data type is the "TargetContext" data type with specialisations for HighULPrbLoadContext.It describes the threshold for high uplink PRB load (i.e. UL Total PRB Usage in TS 28.552 [12] to represent the percentage of UL PRBs used) of the cells of the RAN - SubNetwork in the specified area that the intent expectation is applied. + SubNetwork in the specified area that the intent expectation is applied. type: object properties: contextAttribute: @@ -613,7 +615,7 @@ components: description: >- This data type is the "TargetContext" data type with specialisations for HighDLPrbLoadContext.It describes the threshold for high downlink PRB load (i.e. DL Total PRB Usage in TS 28.552 [12] to represent the percentage of DL PRBs used) of the cells of the RAN SubNetwork in the - specified area that the intent expectation is applied. + specified area that the intent expectation is applied. type: object properties: contextAttribute: @@ -670,7 +672,7 @@ components: description: >- This data type is the "ExpectationTarget" data type with specialisations for RANEnergyConsumptionTarget.It describes the RAN energy consumption target for RAN SubNetwork that the intent expectation is applied. The definition for RAN energy consumption see ECNG-RAN in clause 6.7.3.4.1 in - TS 28.554 [11]. + TS 28.554 [11]. type: object properties: targetName: @@ -687,7 +689,7 @@ components: description: >- This data type is the "ExpectationTarget" data type with specialisations for RANEnergyEfficiencyTarget.It describes the RAN energy efficiency target for RAN SubNetwork that the intent expectation is applied. The unit of this target is bit/J. The definition for RAN energy efficiency target for RAN - SubNetwork see EEMN,DV in clause 6.7.1.1 in TS 28.554 [11]. + SubNetwork see EEMN,DV in clause 6.7.1.1 in TS 28.554 [11]. type: object properties: targetName: @@ -733,7 +735,7 @@ components: targetName: type: string enum: - - PRBS + - pRBS targetCondition: type: string enum: @@ -749,7 +751,7 @@ components: targetName: type: string enum: - - INTERRATHANDOVER + - InterRATHandover targetCondition: type: string enum: @@ -908,7 +910,7 @@ components: 5GSessionContext: description: >- This data type is the "TargetContext" data type with specialisations for 5GSessionContext.It describes the maximum supported 5G PDU session of the 5GC SubNetwork - related to the intent expectation. + related to the intent expectation. type: object properties: contextAttribute: @@ -991,7 +993,7 @@ components: CoverageAreaPolygonContext: description: >- This data type is the "ObjectContext" data type with specialisations for CoverageAreaPolygonContext.It describes the coverage areas for the RAN SubNetwork that the - intent expectation is applied in the form of polygon. + intent expectation is applied in the form of polygon. type: object properties: contextAttribute: @@ -1072,10 +1074,10 @@ components: geoArea: $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' timeWindow: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' PLMNContext: description: >- - This data type is the "ObjectContext" data type with specialisations for PLMNContext + This data type is the "ObjectContext" data type with specialisations for PLMNContext type: object properties: contextAttribute: @@ -1094,7 +1096,7 @@ components: GeoCoordinateContext: description: >- This data type is the "ObjectContext" data type with specialisations for GeoCoordinateContext. - It describes the location (i.e. geocoordinate) that radio service intent is applied. + It describes the location (i.e. geocoordinate) that radio service intent is applied. type: object properties: contextAttribute: @@ -1144,7 +1146,7 @@ components: type: array uniqueItems: true items: - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Frequency' + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Frequency' RATContext: description: >- This data type is the "ObjectContext" data type with specialisations for RATContext.It describes the RAT supported by the RAN SubNetwork that the intent expectation @@ -1185,7 +1187,7 @@ components: type: array uniqueItems: true items: - $ref: "TS28312_IntentNrm.yaml#/components/schemas/UEGroup" + $ref: "TS28312_IntentNrm.yaml#/components/schemas/UEGroup" EdgeIdentificationIdContext: description: >- This data type is the "ObjectContext" data type with specialisations for EdgeIdentificationIdContext @@ -1233,10 +1235,10 @@ components: type: array uniqueItems: true items: - $ref: "TS28623_ComDefs.yaml#/components/schemas/Tac" + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Tac' NfTypeContext: description: >- - This data type is the "ObjectContext" data type with specialisations for NfTypeContext + This data type is the "ObjectContext" data type with specialisations for NfTypeContext type: object properties: contextAttribute: @@ -1251,8 +1253,8 @@ components: type: array uniqueItems: true items: - $ref: "TS28541_5GcNrm.yaml#/components/schemas/NFType" - NfInstanceLocationContext: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/NFType' + NfInstanceLocationContext: description: >- This data type is the "ObjectContext" data type with specialisations for NfInstanceLocationContext type: object @@ -1270,7 +1272,7 @@ components: uniqueItems: true items: type: string - TaiContext: + TaiContext: description: >- This data type is the "ObjectContext" data type with specialisations for TaiContext type: object @@ -1287,7 +1289,7 @@ components: type: array uniqueItems: true items: - $ref: "TS28623_GenericNrm.yaml#/components/schemas/Tai" + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' ServingScopeContext: description: >- This data type is the "ObjectContext" data type with specialisations for ServingScopeContext @@ -1306,7 +1308,7 @@ components: uniqueItems: true items: type: string - DnnContext: + DnnContext: description: >- This data type is the "ObjectContext" data type with specialisations for DnnContext type: object -- GitLab From ab4a00b7a4862b335a2e64aa5674b2bb172cf52e Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:46:53 +0000 Subject: [PATCH 07/93] Replace TS28312_IntentNrm.yaml --- OpenAPI/TS28312_IntentNrm.yaml | 115 +++++++++++++++++++++------------ 1 file changed, 73 insertions(+), 42 deletions(-) diff --git a/OpenAPI/TS28312_IntentNrm.yaml b/OpenAPI/TS28312_IntentNrm.yaml index c0242f0a..052f0fdc 100644 --- a/OpenAPI/TS28312_IntentNrm.yaml +++ b/OpenAPI/TS28312_IntentNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Intent NRM - version: 19.2.0 + version: 19.3.0 description: >- OAS 3.0.1 definition of the Intent NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -77,6 +77,9 @@ components: type: boolean intentReportControl: $ref: '#/components/schemas/IntentReportControl' + implicitIntentIndex: + type: boolean + default: false intentReportReference: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' intentUtilityFormulaRef: @@ -120,21 +123,15 @@ components: minItems: 1 items: $ref: '#/components/schemas/IntentHandlingCapability' - supportedExpectationTargetInfo: + supportedUtilityList: type: array items: - $ref: '#/components/schemas/SupportedExpectationTargetInfo' + $ref: '#/components/schemas/UtilityDefinition' uniqueItems: true - minItems: 1 Intent: $ref: '#/components/schemas/Intent-Multiple' - IntentReport: - $ref: '#/components/schemas/IntentReport-Multiple' - supportedUtilityList: - type: array - items: - $ref: '#/components/schemas/UtilityDefinition' - uniqueItems: true + IntentReport: + $ref: '#/components/schemas/IntentReport-Multiple' IntentUtilityFormula-Single: description: >- It represents an intent utility function instance. @@ -144,8 +141,6 @@ components: properties: utilityFunctionId: type: string - uniqueItems: true - minItems: 1 utilityParameterList: type: array items: @@ -155,9 +150,11 @@ components: utilityScale: type: number minItems: 1 + default: 0 utilityOffset: type: number minItems: 1 + default: 0 #-------Definition of generic IOCs ----------# #-------Definition of the generic IntentExpectation dataType ----------# @@ -194,6 +191,8 @@ components: description: It represents the preference information of the Consumer on expectations. required: - expectationId + - expectationObject + - expectationTargets #-------Definition of the generic IntentExpectation dataType ----------# #-------Definition of the generic ExpectationObject dataType ----------# @@ -221,9 +220,9 @@ components: description: >- It describes the list of Context(s) which represents the constraints and conditions to be used as filter information to identify the object(s) to which a given intentExpectation should apply. - #-------Definition of the generic ExpectationObject dataType ----------# + #-------Definition of the generic ExpectationObject dataType ----------# - #-------Definition of the generic dataType --------------# + #-------Definition of the generic dataType --------------# Condition: type: string enum: @@ -256,15 +255,15 @@ components: default: FULFILMENT_WITHOUT_NEGOTIATION FulfilmentStatus: type: string - readOnly: true + readOnly: true enum: - FULFILLED - NOT_FULFILLED - default: NOT_FULFILLED - description: It describes the current status of the intent fulfilment result. + default: NOT_FULFILLED + description: It describes the current status of the intent fulfilment result. NotFulfilledState: type: string - readOnly: true + readOnly: true enum: - ACKNOWLEDGED - COMPLIANT @@ -272,14 +271,14 @@ components: - SUSPENDED - TERMINATED - FULFILMENTFAILED - default: ACKNOWLEDGED - description: It describes the current progress of or the reason for not achieving fulfilment + default: ACKNOWLEDGED + description: It describes the current progress of or the reason for not achieving fulfilment for the intent, intentExpectation or expectationTarget. - An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo + An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo FulfilmentInfo: description: >- This dataType represents the properties of a specific fulfilment information for an aspect of - the intent (i.e. either an expectation, a target or the whole intent). + the intent (i.e. either an expectation, a target or the whole intent). type: object properties: fulfilmentStatus: @@ -292,7 +291,7 @@ components: items: type: string readOnly: true - description: An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo + description: An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo ExpectationVerb: type: string enum: @@ -305,7 +304,7 @@ components: It desribes the RF reference frequency (i.e. Absolute Radio Frequency Channel Number) and/or the frequency operating band used for a given direction (UL or DL) in FDD or for both UL and DL directions in TDD. - type: object + type: object properties: arfcn: type: integer @@ -343,12 +342,12 @@ components: fiveQI: type: integer minimum: 0 - maximum: 255 + maximum: 255 sNssai: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' - #-------Definition of the generic dataType --------------# + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + #-------Definition of the generic dataType --------------# - #-------Definition of the generic ExpectationTarget dataType----------# + #-------Definition of the generic ExpectationTarget dataType----------# ExpectationTarget: description: >- This data type represents the target of the IntentExpectation that are required to be achieved. @@ -386,7 +385,7 @@ components: #-------Definition of the generic Context dataType----------------# Context: description: >- - This data type is the "Context" data type without specialisations + This data type is the "Context" data type without specialisations type: object properties: contextAttribute: @@ -427,6 +426,8 @@ components: - INTENT_FULFILMENT_REPORT - INTENT_CONFLICT_REPORT - INTENT_FEASIBILITY_CHECK_REPORT + - INTENT_EXPLORATION_REPORT + - INTENT_FULFILMENT_NEGOTIATION_REPORT - INTENT_UTILITY_REPORT reportingConditions: description: >- @@ -440,6 +441,9 @@ components: type: array items: type: string + required: + - reportRecipientAddress + - observationPeriod ReportingCondition: description: >- It describes the specified conditions for intent reporting. @@ -463,7 +467,7 @@ components: uniqueItems: true items: $ref: "#/components/schemas/ValueRangeType" - - $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" #-------Definition of the concrete IntentReportControl dataType----------------# @@ -502,6 +506,9 @@ components: uniqueItems: true items: $ref: '#/components/schemas/TargetFulfilmentResult' + required: + - expectaitonId + - expectationFulfilmentInfo #-------Definition of the concrete ExpectationFulfilmentResult dataType----------------# #-------Definition of the generic TargetFulfilmentResult dataType----------------# @@ -525,6 +532,9 @@ components: uniqueItems: true items: $ref: '#/components/schemas/Context' + required: + - targetName + - targetFulfilmentInfo #-------Definition of the concrete TargetFulfilmentResult dataType----------------# #-------Definition of the generic IntentConflictReport dataType----------------# @@ -564,14 +574,16 @@ components: enum: - MODIFY - DELETE - + required: + - conflictId + - conflictType #-------Definition of the concrete IntentConflictReport dataType----------------# #-------Definition of the generic IntentUtilityReport dataType----------------# IntentUtilityReport: description: >- - It represents the utility function results. + It represents the utility function results. type: object properties: utilityResultList: @@ -595,11 +607,11 @@ components: - FEASIBLE - INFEASIBLE infeasibilityReasons: - description: An attribute which is used when feasibilityCheckResult is INFEASIBLE + description: An attribute which is used when feasibilityCheckResult is INFEASIBLE type: array items: type: string - readOnly: true + readOnly: true enum: - INVALID_INTENT_EXPRESSION - INTENT_CONFLICT @@ -607,6 +619,9 @@ components: type: array items: $ref: '#/components/schemas/InFeasibleExpectationInfo' + required: + - feasibilityCheckResult + - infeasibilityReasons InFeasibleExpectationInfo: description: >- It describes the list of InFeasibleExpectationInfo for all infeasible IntentExpectations @@ -622,6 +637,9 @@ components: type: string readOnly: true description: It describes the list of TargetNames for the InFeasibleTargets + required: + - expectationId + - inFeasibleTargets #-------Definition of the concrete IntentFeasibilityCheckReport dataType----------------# @@ -658,6 +676,9 @@ components: $ref: '#/components/schemas/Context' uniqueItems: true minItems: 1 + required: + - expectationId + - targetExplorationResults #-------Definition of the generic IntentExplorationReport dataType----------------# @@ -701,6 +722,9 @@ components: $ref: '#/components/schemas/PossibleImpact' uniqueItems: true minItems: 1 + required: + - possibleIntentOutcomeId + - intentFulfilmentInfo PossibleImpact: description: >- It represents the possible impact of the possible outcome @@ -769,6 +793,10 @@ components: $ref: '#/components/schemas/SupportedExpectationTargetInfo' uniqueItems: true minItems: 1 + required: + - intentHandlingCapabilityId + - supportedExpectationObjectType + - supportedExpectationTargetInfoList SupportedExpectationTargetInfo: description: >- It indicates the detailed information about what the intent driven MnS producer supports for a given supportedExpectationObjectType. @@ -787,6 +815,8 @@ components: items: $ref: '#/components/schemas/ValueRangeType' - $ref: '#/components/schemas/ValueRangeType' + required: + - supportedTargetName #-------Definition of the concrete IntentHandlingCapability dataType----------------# @@ -810,8 +840,10 @@ components: properties: utilityFunctionId: type: string + readOnly: true utilityResult: type: number + readOnly: true #-------Definition of the concrete UtilityResult dataType----------------# #-------Definition of the generic UtilityDefinition dataType----------------# @@ -822,16 +854,15 @@ components: properties: utilityDefinitionId: type: string + readOnly: true utilityDescription: type: string + readOnly: true utilityParameterList: - oneOf: - - type: array - uniqueItems: true - minItems: 1 - items: - $ref: '#/components/schemas/UtilityParameter' - - $ref: '#/components/schemas/UtilityParameter' + type: array + items: + $ref: '#/components/schemas/UtilityParameter' + uniqueItems: true #-------Definition of the concrete UtilityDefinition dataType----------------# #------Definition of JSON arrays for name-contained IOCs ---------------# -- GitLab From 5a1b686b61b099e55558d04d90a47a4225492bc6 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:47:12 +0000 Subject: [PATCH 08/93] Replace TS28319_MsacNrm.yaml --- OpenAPI/TS28319_MsacNrm.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/OpenAPI/TS28319_MsacNrm.yaml b/OpenAPI/TS28319_MsacNrm.yaml index ac65e3eb..90b4f161 100644 --- a/OpenAPI/TS28319_MsacNrm.yaml +++ b/OpenAPI/TS28319_MsacNrm.yaml @@ -2,10 +2,10 @@ openapi: 3.0.1 info: title: MSAC NRM - version: 18.0.0 + version: 19.0.0 description: >- OAS 3.0.1 definition of the MSAC NRM - © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.319; MSAC NRM @@ -38,7 +38,7 @@ components: type: string credential: type: string - roleRefList: + roleList: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' Role-Single: @@ -64,10 +64,13 @@ components: properties: ruleName: type: string - resources: - type: string + dataNodeSelector: + oneOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/JexNodeSelectionBasic' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/JexNodeSelectionAdvanced' operations: type: array + uniqueItems: true items: type: string actions: @@ -77,9 +80,9 @@ components: - DENY componentCData: type: array + uniqueItems: true items: type: string - resources-msacNrm: oneOf: - $ref: '#/components/schemas/Identity-Single' -- GitLab From 4d9477202f6c8f9f9063a607a553e6692a5f014c Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:47:38 +0000 Subject: [PATCH 09/93] Replace TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 50 +++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index b99e102d..950193f8 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: 3GPP 5GC NRM - version: 19.4.0 + version: 19.5.0 description: >- OAS 3.0.1 specification of the 5GC NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -417,7 +417,10 @@ components: authzInfo: type: string hostAddr: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' allowedPLMNs: type: array uniqueItems: true @@ -537,11 +540,13 @@ components: minItems: 1 vendorId: $ref: '#/components/schemas/VendorId' - nfServices: - type: array - uniqueItems: true - items: + nfServiceList: + description: > + A map (list of key-value pairs) where serviceInstanceId serves as key of NFService + type: object + additionalProperties: $ref: '#/components/schemas/NFService' + minProperties: 1 supportedVendorSpecificFeatures: description: > A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key @@ -3813,6 +3818,35 @@ components: enum: - ALLOW - DENY + AIoTgNBInfo: + type: object + required: + - gNBId + - servedReaderInfoList + properties: + gNBId: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/GnbId' + servedReaderInfoList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ServedReaderInfo' + ServedReaderInfo: + type: object + required: + - readerId + - servedAIOTAreas + properties: + readerId: + type: integer + servedAIOTAreas: + type: array + uniqueItems: true + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/ServedAIOTAreaID' + readerLocation: + type: string + #-------- Definition of types for name-containments ------ SubNetwork-ncO-5GcNrm: @@ -4840,7 +4874,9 @@ components: sBIFqdn: type: string managedNFProfile: - $ref: '#/components/schemas/ManagedNFProfile' + $ref: '#/components/schemas/ManagedNFProfile' + aIOTgNBInfo: + $ref: '#/components/schemas/AIoTgNBInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object -- GitLab From 92eb24bf66bdebb3d1e9c7ff51fb411e2848126d Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:48:26 +0000 Subject: [PATCH 10/93] Replace TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 1528 +++-------------------------------- 1 file changed, 109 insertions(+), 1419 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 950193f8..73fc83df 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: 3GPP 5GC NRM - version: 19.5.0 + version: 18.12.0 description: >- OAS 3.0.1 specification of the 5GC NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -19,9 +19,9 @@ components: type: object description: 'AmfIdentifier comprise of amfRegionId, amfSetId and amfPointer' properties: - aMFRegionId: + amfRegionId: $ref: '#/components/schemas/AmfRegionId' - aMFSetId: + amfSetId: $ref: '#/components/schemas/AmfSetId' amfPointer: $ref: '#/components/schemas/AmfPointer' @@ -52,10 +52,36 @@ components: type: integer NFProfileList: type: array - uniqueItems: true description: List of NF profile items: - $ref: '#/components/schemas/ManagedNFProfile' + $ref: '#/components/schemas/NFProfile' + NFProfile: + type: object + description: 'NF profile stored in NRF, defined in TS 29.510' + properties: + nfInstanceId: + type: string + description: uuid of NF instance + nfType: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + nfStatus: + $ref: '#/components/schemas/NFStatus' + plmn: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sNssais: + type: array + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + interPlmnFqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + nfServices: + type: array + items: + $ref: '#/components/schemas/NFService' NFService: type: object description: NF Service is defined in TS 29.510 @@ -66,155 +92,32 @@ components: type: string versions: type: array - uniqueItems: true items: type: string - minItems: 1 schema: type: string - nfServiceStatus: - type: string - enum: - - REGISTERED - - SUSPENDED - - UNDISCOVERABLE - - CANARY_RELEASE fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' interPlmnFqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' ipEndPoints: type: array - uniqueItems: true items: $ref: '#/components/schemas/IpEndPoint' apiPrefix: type: string - allowedPLMNs: + allowedPlMNs: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - allowedSnpns: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/SnpnId' allowedNfTypes: type: array - uniqueItems: true items: - $ref: '#/components/schemas/NFType' - allowedNfDomains: - type: array - uniqueItems: true - items: - type: string + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' allowedNSSAIs: type: array - uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' - priority: - type: integer - minimum: 0 - maximum: 65535 - capacity: - type: integer - recoveryTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - vendorId: - $ref: '#/components/schemas/VendorId' - allowedOperationsPerNfType: - type: string - allowedOperationsPerNfInstance: - type: string - allowedOperationsPerNfInstanceOverrides: - type: boolean - sNssais: - $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' - oauth2Required: - type: boolean - sharedServiceDataId: - type: string - defaultNotificationSubscriptions: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/DefaultNotificationSubscription' - callbackUriPrefixList: - type: array - items: - $ref: '#/components/schemas/CallbackUriPrefixItem' - supportedFeatures: - type: string - supportedVendorSpecificFeatures: - description: A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/VendorSpecificFeature' - minItems: 1 - minProperties: 1 - allowedScopesRuleSet: - description: A map (list of key-value pairs) where a valid JSON pointer Id serves as key - type: object - additionalProperties: - $ref: '#/components/schemas/RuleSet' - minProperties: 1 - nfServiceSetIdList: - description: This attribute represents a list of NF Service Set ID. - type: array - items: - type: string - perPlmnSnssaiList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/PlmnSnssai' - load: - type: integer - minimum: 0 - maximum: 100 - loadTimeStamp: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - canaryRelease: - type: boolean - default: false - exclusiveCanaryReleaseSelection: - type: boolean - default: false - shutdownTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - canaryPrecedenceOverPreferred: - type: boolean - default: false - perPlmnOauth2ReqList: - $ref: '#/components/schemas/PlmnOauth2' - PlmnOauth2: - description: Oauth2.0 required indication for a given PLMN ID - type: object - properties: - oauth2RequiredPlmnIdList: - type: array - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - minItems: 1 - oauth2NotRequiredPlmnIdList: - type: array - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - minItems: 1 - VendorSpecificFeature: - type: object - properties: - featureName: - type: string - readOnly: true - featureVersion: - type: string - readOnly: true NFStatus: type: string description: any of enumerated value @@ -223,12 +126,11 @@ components: - SUSPENDED CNSIIdList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/CNSIId' + $ref: '#/components/schemas/CNSIId' CNSIId: type: string - description: CNSI Id is defined in TS 29.531, only for Core Network. + description: CNSI Id is defined in TS 29.531, only for Core Network EnergySavingControl: type: string description: any of enumerated value @@ -237,14 +139,12 @@ components: - TO_BE_NOT_ENERGYSAVING EnergySavingState: type: string - readOnly: true description: any of enumerated value enum: - IS_NOT_ENERGYSAVING - IS_ENERGYSAVING TACList: type: array - uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' VendorId: @@ -256,23 +156,19 @@ components: properties: nFSrvGroupId: type: string - readOnly: true supiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 routingIndicators: type: array - uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' minItems: 1 suciInfos: type: array - uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' minItems: 1 @@ -296,12 +192,8 @@ components: - P_BDT - P_PLMNUE - P_NSSCD - - P_PDTQ - - P_MBSCD - - P_GROUP NotificationType: type: string - readOnly: true enum: - N1_MESSAGES - N2_INFORMATION @@ -311,12 +203,6 @@ components: - LOCATION_UPDATE_NOTIFICATION - NSSAA_REAUTH_NOTIFICATION - NSSAA_REVOC_NOTIFICATION - - MATCH_INFO_NOTIFICATION - - DATA_RESTORATION_NOTIFICATION - - TSCTS_NOTIFICATION - - LCS_KEY_DELIVERY_NOTIFICATION - - UUAA_MM_AUTH_NOTIFICATION - - DC_SESSION_EVENT_NOTIFICATION DefaultNotificationSubscription: type: object properties: @@ -324,358 +210,97 @@ components: $ref: '#/components/schemas/NotificationType' callbackURI: type: string - readOnly: true - interPlmnCallbackUri: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' n1MessageClass: type: boolean - readOnly: true n2InformationClass: type: boolean - readOnly: true versions: type: string - readOnly: true binding: type: string - readOnly: true - acceptedEncoding: - type: string - readOnly: true - supportedFeatures: - type: string - readOnly: true - serviceInfoList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/DefSubServiceInfo' - minItems: 1 - callbackUriPrefix: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' - CallbackUriPrefixItem: - type: object - properties: - notificationTypes: - type: array - items: - $ref: '#/components/schemas/NotificationType' - callbackUriPrefix: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' - DefSubServiceInfo: - type: object - properties: - versions: - type: array - uniqueItems: true - items: - type: string - minItems: 1 - readOnly: true - supportedFeatures: - type: string - readOnly: true ManagedNFProfile: type: object properties: - hniList: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' - minItems: 1 + nfInstanceId: + type: string interPlmnFqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' - nfInstanceID: - type: string - readOnly: true nfType: - $ref: '#/components/schemas/NFType' - collocatedNfInstances: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/CollocatedNfInstance' - nfInstanceName: - type: string - nfStatus: - $ref: '#/components/schemas/NFStatus' - plmnList: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - sNssais: - type: array - uniqueItems: true - items: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' - fqdn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' heartbeatTimer: type: integer authzInfo: type: string hostAddr: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' allowedPLMNs: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' sNPNList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SnpnId' - perPlmnSnssaiList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/PlmnSnssai' allowedSNPNs: type: array - uniqueItems: true items: $ref: '#/components/schemas/SnpnId' allowedNfTypes: type: array - uniqueItems: true items: - $ref: '#/components/schemas/NFType' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' allowedNfDomains: type: array - uniqueItems: true items: type: string allowedNSSAIs: type: array - uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' - allowedRuleSet: - description: > - A map (list of key-value pairs) where a valid JSON pointer Id serves as key - type: object - additionalProperties: - $ref: '#/components/schemas/RuleSet' - minProperties: 1 locality: type: string - extLocality: - description: > - A map (list of key-value pairs) where a (unique) valid JSON string serves - as key representing a type of locality - type: object - additionalProperties: - type: string - minProperties: 1 capacity: type: integer - load: - type: integer - minimum: 0 - maximum: 100 - loadTimeStamp: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' nfSetIdList: type: array - uniqueItems: true items: type: string - minItems: 1 servingScope: type: array - uniqueItems: true items: type: string - minItems: 1 lcHSupportInd: type: boolean - readOnly: true olcHSupportInd: type: boolean - readOnly: true nfSetRecoveryTimeList: type: array - uniqueItems: true items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' - minItems: 1 + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' scpDomains: type: array - uniqueItems: true items: type: string - minItems: 1 recoveryTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' nfServicePersistence: type: boolean - readOnly: true nfProfileChangesSupportInd: type: boolean - nfProfilePartialUpdateChangesSupportInd: - type: boolean - default: false - writeOnly: true - nfProfileChangesInd: - type: boolean - default: false - readOnly: true defaultNotificationSubscriptions: type: array - uniqueItems: true items: $ref: '#/components/schemas/DefaultNotificationSubscription' minItems: 1 serviceSetRecoveryTimeList: type: array - uniqueItems: true items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' minItems: 1 vendorId: $ref: '#/components/schemas/VendorId' - nfServiceList: - description: > - A map (list of key-value pairs) where serviceInstanceId serves as key of NFService - type: object - additionalProperties: - $ref: '#/components/schemas/NFService' - minProperties: 1 - supportedVendorSpecificFeatures: - description: > - A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/VendorSpecificFeature' - minItems: 1 - minProperties: 1 - canaryRelease: - type: boolean - default: false - exclusiveCanaryReleaseSelection: - type: boolean - default: false - sharedProfileDataId: - type: string - shutdownTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - supportedRcfs: - type: array - uniqueItems: true - items: - type: string - minItems: 1 - canaryPrecedenceOverPreferred: - type: boolean - default: false - selectionConditions: - description: > - conditions under which an NF Instance shall be selected by an NF Service Consumer. - type: array - items: - $ref: '#/components/schemas/SelectionConditions' - minItems: 1 - SelectionConditions: - description: > - It contains the set of conditions that shall be evaluated to determine whether a consumer - shall select a given producer. The producer shall only be selected if the evaluation of - the conditions is . The set of conditions can be represented by a single - ConditionItem or by a ConditionGroup, where the latter contains a (recursive) list of - conditions joined by the "and" or "or" logical relationships. - oneOf: - - $ref: '#/components/schemas/ConditionItem' - - $ref: '#/components/schemas/ConditionGroup' - ConditionGroup: - description: > - List (array) of conditions (joined by the "and" or "or" logical relationship), - under which an NF Instance with an NFStatus or NFServiceStatus value set to, - "CANARY_RELEASE", or with a "canaryRelease" attribute set to true, - shall be selected by an NF Service Consumer. - type: object - oneOf: - - required: [ and ] - - required: [ or ] - properties: - and: - type: array - items: - $ref: '#/components/schemas/SelectionConditions' - minItems: 1 - or: - type: array - items: - $ref: '#/components/schemas/SelectionConditions' - minItems: 1 - ConditionItem: - description: > - A ConditionItem consists of a number of attributes representing individual conditions - (e.g. a SUPI range, or a TAI list). If several attributes/conditions are present, - the evaluation of the ConditionItem is if all attributes/conditions are evaluated - as (i.e., it follows the AND logical relationship). - type: object - allOf: - - not: - required: [ and ] - - not: - required: [ or ] - properties: - consumerNfTypes: - type: array - items: - $ref: '#/components/schemas/NFType' - minItems: 1 - serviceFeature: - type: integer - minimum: 1 - vsServiceFeature: - type: integer - minimum: 1 - supiRangeList: - type: array - items: - $ref: '#/components/schemas/SupiRange' - minItems: 1 - gpsiRangeList: - type: array - items: - $ref: '#/components/schemas/IdentityRange' - minItems: 1 - impuRangeList: - type: array - items: - $ref: '#/components/schemas/IdentityRange' - minItems: 1 - impiRangeList: - type: array - items: - $ref: '#/components/schemas/IdentityRange' - minItems: 1 - peiList: - type: array - items: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' - minItems: 1 - taiRangeList: - type: array - items: - $ref: '#/components/schemas/TaiRange' - minItems: 1 - dnnList: - type: array - items: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' - minItems: 1 SEPPType: type: string - readOnly: true description: any of enumerated value enum: - CSEPP @@ -691,7 +316,6 @@ components: type: array items: $ref: '#/components/schemas/SupportedFunc' - minItems: 1 CommModelType: type: string description: any of enumerated value @@ -713,21 +337,17 @@ components: type: string CommModelList: type: array - uniqueItems: true items: $ref: '#/components/schemas/CommModel' - minItems: 1 CapabilityList: type: array items: type: string - minItems: 1 FiveQiDscpMapping: type: object properties: fiveQIValues: type: array - uniqueItems: true items: type: integer dscp: @@ -743,10 +363,9 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' NetworkSliceInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/NetworkSliceInfo' - minItems: 1 + PacketErrorRate: type: object properties: @@ -799,10 +418,8 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' qosNotificationControl: type: boolean - default: false reflectiveQos: type: boolean - default: false sharingKeyDl: type: string sharingKeyUl: @@ -816,7 +433,6 @@ components: QosDataList: type: array - uniqueItems: true items: $ref: '#/components/schemas/QosData' @@ -845,13 +461,11 @@ components: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' addRedirectInfo: type: array - uniqueItems: true items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' minItems: 1 muteNotif: type: boolean - default: false trafficSteeringPolIdDl: type: string nullable: true @@ -860,13 +474,10 @@ components: nullable: true routeToLocs: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' - minItems: 1 traffCorreInd: type: boolean - default: false upPathChgEvent: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' steerFun: @@ -882,18 +493,9 @@ components: TrafficControlDataList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TrafficControlData' - ServiceFeatureMap: - type: object - properties: - featureList: - type: string - serviceName: - type: string - PccRule: type: object properties: @@ -902,7 +504,6 @@ components: description: Univocally identifies the PCC rule within a PDU session. flowInfoList: type: array - uniqueItems: true items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' applicationId: @@ -917,23 +518,18 @@ components: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' isAppRelocatable: type: boolean - default: false isUeAddrPreserved: type: boolean - default: false qosData: type: array - uniqueItems: true items: $ref: '#/components/schemas/QosDataList' altQosParams: type: array - uniqueItems: true items: $ref: '#/components/schemas/QosDataList' trafficControlData: type: array - uniqueItems: true items: $ref: '#/components/schemas/TrafficControlDataList' conditionData: @@ -942,24 +538,6 @@ components: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' tscaiInputUl: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' - easRedisIndRequired: - type: boolean - default: false - tscaiTimeDom: - type: integer - batNotificationCapable: - type: boolean - default: false - uENotifEnabled: - type: boolean - default: false - packFiltAllPrec: - type: integer - nscSupportedFeats: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/ServiceFeatureMap' SnssaiInfo: type: object @@ -976,31 +554,23 @@ components: $ref: '#/components/schemas/SnssaiInfo' isSubjectToNsac: type: boolean - default: false maxNumberofUEs: type: integer eACMode: type: string - readOnly: true enum: - INACTIVE - ACTIVE - default: INACTIVE activeEacThreshold: type: integer - default: 0 deactiveEacThreshold: type: integer - default: 100 numberofUEs: type: integer - readOnly: true uEIdList: type: array - uniqueItems: true items: type: string - readOnly: true maxNumberofPDUSessions: type: integer @@ -1013,7 +583,7 @@ components: type: string nRTACpattern: type: string - + TaiRange: type: object properties: @@ -1021,11 +591,9 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' nRTACRangelist: type: array - uniqueItems: true items: $ref: '#/components/schemas/NRTACRange' - minItems: 1 - + GUAMInfo: type: object properties: @@ -1036,16 +604,14 @@ components: SupportedBMOList: type: array - uniqueItems: true items: type: string ECSAddrConfigInfo: type: array - uniqueItems: true items: type: string - minItems: 1 + DnnSmfInfoItem: type: object properties: @@ -1053,26 +619,21 @@ components: type: string dnaiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 - SatelliteId: - type: string - pattern: '^[0-9]{5}$' - dnaiSatelliteMapping: type: object properties: dnaiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 geoSatelliteId: - $ref: '#/components/schemas/SatelliteId' + type: string + pattern: '^[0-9]{5}$' SnssaiSmfInfoItem: type: object @@ -1081,45 +642,37 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' dnnSmfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/DnnSmfInfoItem' - minItems: 1 5GCNfConnEcmInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/5GCNfConnEcmInfo' - minItems: 1 5GCNfConnEcmInfo: type: object description: 'Store the 5GC NF connection information' properties: 5GCNFType: type: string - readOnly: true enum: - PCF - NEF - SCEF 5GCNFIpAddress: type: string - readOnly: true 5GCNFRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' UPFConnectionInfo: type: object properties: uPFIpAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostRo' + type: string uPFRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' SnssaiList: type: array - uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' SnpnId: @@ -1133,9 +686,8 @@ components: type: string TaiList: type: array - uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' SupiRange: type: object properties: @@ -1159,58 +711,23 @@ components: properties: proseDirectDiscovery: type: boolean - default: false proseDirectCommunication: type: boolean - default: false proseL2UetoNetworkRelay: type: boolean - default: false proseL3UetoNetworkRelay: type: boolean - default: false proseL2RemoteUe: type: boolean - default: false proseL3RemoteUe: type: boolean - default: false - proseL2UetoUeRelay: - type: boolean - default: false - proseL3UetoUeRelay: - type: boolean - default: false - proseL2EndUe: - type: boolean - default: false - proseL3EndUe: - type: boolean - default: false - proseL3IntermRelay: - type: boolean - default: false - proseL3MultihopRemote: - type: boolean - default: false - proseL3NetMultihopRelay: - type: boolean - default: false - proseL3UeMultihopRelay: - type: boolean - default: false - proseL3EndUeMultihop: - type: boolean - default: false V2xCapability: type: object properties: lteV2x: type: boolean - default: false nrV2x: type: boolean - default: false InternalGroupIdRange: type: object properties: @@ -1225,19 +742,14 @@ components: properties: routingInds: type: array - uniqueItems: true items: type: string - minItems: 1 hNwPubKeyIds: type: array - uniqueItems: true items: type: integer - minItems: 1 SuciInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' SharedDataIdRange: @@ -1247,31 +759,24 @@ components: type: string SupiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' IdentityRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' - minItems: 1 InternalGroupIdRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' SupportedDataSetList: type: array items: $ref: '#/components/schemas/SupportedDataSet' - minItems: 1 SharedDataIdRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SharedDataIdRange' - minItems: 1 InterfaceUpfInfoItem: type: object properties: @@ -1286,29 +791,12 @@ components: - N6MB - N19MB - NMB9 - - S1U - - S5U - - S8U - - S11U - - S12 - - S2AU - - S2BU - - N3TRUSTEDN3GPP - - N3UNTRUSTEDN3GPP - - N9ROAMING - - SGI - - N19 - - SXAU - - SXBU - - N4U ipv4EndpointAddresses: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' ipv6EndpointAddresses: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' fqdn: @@ -1331,12 +819,10 @@ components: properties: ipv4EndpointAddresses: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' ipv6EndpointAddresses: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' fqdn: @@ -1392,7 +878,6 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' scpIpEndPoints: type: array - uniqueItems: true items: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/IpEndPoint' minItems: 1 @@ -1425,13 +910,11 @@ components: minProperties: 1 remotePlmnList: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' minItems: 1 remoteSnpnList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' minItems: 1 @@ -1444,7 +927,6 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 @@ -1455,7 +937,6 @@ components: type: object additionalProperties: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -1496,7 +977,6 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1511,17 +991,12 @@ components: analyticsMetadataProvisioning: type: boolean default: false - roamingExchange: - type: boolean - default: false - MlAnalyticsInfo: description: ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service type: object properties: mlAnalyticsIds: type: array - uniqueItems: true items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 @@ -1531,7 +1006,6 @@ components: $ref: '#/components/schemas/TaiList' mlModelInterInfo: type: array - uniqueItems: true items: $ref: '#/components/schemas/VendorId' minItems: 0 @@ -1543,7 +1017,6 @@ components: - FL_SERVER_AND_CLIENT flTimeInterval: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' minItems: 1 @@ -1553,13 +1026,11 @@ components: properties: eventIds: type: array - uniqueItems: true items: $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' minItems: 1 nwdafEvents: type: array - uniqueItems: true items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 @@ -1567,7 +1038,6 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1577,19 +1047,16 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' servingNfSetIdList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 servingNfTypeList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/NFType' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' minItems: 1 mlAnalyticsList: type: array - uniqueItems: true items: $ref: '#/components/schemas/MlAnalyticsInfo' minItems: 1 @@ -1619,49 +1086,41 @@ components: minProperties: 1 addressDomains: type: array - uniqueItems: true items: type: string minItems: 1 ipv4Addresses: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' minItems: 1 ipv6Prefixes: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' minItems: 1 ipv4AddrRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 1 ipv6PrefixRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 1 servedNfSetIdList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 remotePlmnList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 remoteSnpnList: type: array - uniqueItems: true items: $ref: '#/components/schemas/PlmnIdNid' minItems: 1 @@ -1669,7 +1128,6 @@ components: $ref: '#/components/schemas/IpReachability' scpCapabilities: type: array - uniqueItems: true items: $ref: '#/components/schemas/ScpCapability' @@ -1679,18 +1137,14 @@ components: properties: appIds: type: array - uniqueItems: true items: type: string minItems: 1 - readOnly: true afIds: type: array - uniqueItems: true items: type: string minItems: 1 - readOnly: true AfEvent: description: Represents Application Events. anyOf: @@ -1712,7 +1166,7 @@ components: - 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. + is not used to encode content defined in the present version of this API. AfEventExposureData: description: AF Event Exposure data managed by a given NEF Instance type: object @@ -1721,24 +1175,19 @@ components: properties: afEvents: type: array - uniqueItems: true items: $ref: '#/components/schemas/AfEvent' minItems: 1 afIds: type: array - uniqueItems: true items: type: string minItems: 1 - readOnly: true appIds: type: array - uniqueItems: true items: type: string minItems: 1 - readOnly: true UnTrustAfInfo: description: Information of a untrusted AF Instance type: object @@ -1787,19 +1236,16 @@ components: properties: sNssaiEasdfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SnssaiEasdfInfoItem' minItems: 1 easdfN6IpAddressList: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 upfN6IpAddressList: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 @@ -1815,7 +1261,6 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnEasdfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/DnnEasdfInfoItem' minItems: 1 @@ -1832,7 +1277,6 @@ components: - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' dnaiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 @@ -1842,13 +1286,11 @@ components: properties: supiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 internalGroupIdentifiersRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' minItems: 1 @@ -1858,31 +1300,27 @@ components: properties: sNssaiInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SnssaiInfoItem' minItems: 1 afEvents: type: array - uniqueItems: true items: $ref: '#/components/schemas/AfEvent' minItems: 1 appIds: type: array - uniqueItems: true items: type: string minItems: 1 internalGroupId: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' minItems: 1 mappingInd: type: boolean - default: false + default: False ExternalClientType: description: Indicates types of External Clients. anyOf: @@ -1929,7 +1367,6 @@ components: pattern: '^[0-9]{5}$' trpIds: type: array - uniqueItems: true items: type: integer minimum: 1 @@ -1945,17 +1382,14 @@ components: maximum: 4294967295 trpMappingInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TrpMappingInfo' minItems: 1 TrpInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TrpInfo' - minItems: 1 LmfInfo: description: Information of an LMF NF Instance @@ -1963,7 +1397,6 @@ components: properties: servingClientTypes: type: array - uniqueItems: true items: $ref: '#/components/schemas/ExternalClientType' minItems: 1 @@ -1971,37 +1404,31 @@ components: type: string servingAccessTypes: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 servingAnNodeTypes: type: array - uniqueItems: true items: $ref: '#/components/schemas/AnNodeType' minItems: 1 servingRatTypes: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' minItems: 1 taiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 supportedGADShapes: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupportedGADShapes' minItems: 1 @@ -2013,13 +1440,11 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -2037,38 +1462,32 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 routingIndicators: type: array - uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' minItems: 1 internalGroupIdentifiersRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' minItems: 1 suciInfos: type: array - uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' minItems: 1 @@ -2096,7 +1515,6 @@ components: type: boolean remotePlmnRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/PlmnRange' minItems: 1 @@ -2107,13 +1525,11 @@ components: properties: servingNfTypeList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/NFType' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' minItems: 1 servingNfSetIdList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 @@ -2121,7 +1537,6 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -2132,19 +1547,16 @@ components: properties: servingNfTypeList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/NFType' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' servingNfSetIdList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' taiList: $ref: '#/components/schemas/TaiList' taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' @@ -2156,19 +1568,16 @@ components: properties: supiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 0 gpsiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 0 plmnRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/PlmnRange' minItems: 0 @@ -2188,13 +1597,11 @@ components: properties: ipv4EndpointAddress: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 ipv6EndpointAddress: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 @@ -2205,41 +1612,36 @@ components: description: Information of an AMF NF Instance type: object required: - - amfSetId - - amfRegionId + - aMFSetId + - aMFRegionId - guamiList properties: - amfSetId: + aMFSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' - amfRegionId: + aMFRegionId: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' guamiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 taiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 backupInfoAmfFailure: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 backupInfoAmfRemoval: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 @@ -2259,19 +1661,16 @@ components: properties: sNssaiSmfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SnssaiSmfInfoItem' minItems: 1 taiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -2279,13 +1678,11 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' pgwIpAddrList: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 accessType: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 @@ -2297,7 +1694,6 @@ components: type: boolean pgwFqdnList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' minItems: 1 @@ -2319,32 +1715,26 @@ components: properties: sNssaiUpfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SnssaiUpfInfoItem' minItems: 1 smfServingArea: type: array - uniqueItems: true items: type: string minItems: 1 interfaceUpfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/InterfaceUpfInfoItem' minItems: 1 iwkEpsInd: type: boolean default: false - readOnly: true sxaInd: type: boolean - readOnly: true pduSessionTypes: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' minItems: 1 @@ -2353,16 +1743,13 @@ components: ueIpAddrInd: type: boolean default: false - readOnly: true taiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -2382,7 +1769,6 @@ components: redundantGtpu: type: boolean default: false - readOnly: true ipups: type: boolean default: false @@ -2391,10 +1777,8 @@ components: default: false supportedPfcpFeatures: type: string - readOnly: true # upfEvents: # type: array - uniqueItems: true # items: # $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/EventType' # minItems: 1 @@ -2407,19 +1791,16 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' dnnList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 supiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -2430,11 +1811,9 @@ components: v2xSupportInd: type: boolean default: false - readOnly: true proseSupportInd: type: boolean default: false - readOnly: true proseCapability: $ref: '#/components/schemas/ProseCapability' v2xCapability: @@ -2442,13 +1821,11 @@ components: a2xSupportInd: type: boolean default: false - readOnly: true a2xCapability: $ref: '#/components/schemas/A2xCapability' rangingSlPosSupportInd: type: boolean - default: false - readOnly: true + default: false A2xCapability: description: Information of the supported A2X Capability by the PCF @@ -2474,19 +1851,16 @@ components: $ref: '#/components/schemas/AfEventExposureData' gpsiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 servedFqdnList: type: array - uniqueItems: true items: type: string minItems: 1 @@ -2494,19 +1868,16 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 dnaiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 unTrustAfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/UnTrustAfInfo' minItems: 1 @@ -2950,7 +2321,6 @@ components: NTNPLMNRestrictionsList: description: NTNPLMNRestrictionsInfoList that relates to non-terrestrial network access type: array - uniqueItems: true items: $ref: '#/components/schemas/NTNPLMNRestrictionsInfo' NTNPLMNRestrictionsInfo: @@ -2961,7 +2331,6 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' blockedLocationInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/BlockedLocationInfo' BlockedLocationInfo: @@ -3058,31 +2427,26 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' imsiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/ImsiRange' minItems: 1 imsPrivateIdentityRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 imsPublicIdentityRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 msisdnRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -3090,7 +2454,6 @@ components: $ref: '#/components/schemas/NetworkNodeDiameterAddress' additionalDiamAddresses: type: array - uniqueItems: true items: $ref: '#/components/schemas/NetworkNodeDiameterAddress' minItems: 1 @@ -3100,12 +2463,10 @@ components: properties: servingClientTypes: type: array - uniqueItems: true items: $ref: '#/components/schemas/ExternalClientType' gmlcNumbers: type: array - uniqueItems: true items: type: string pattern: '^[0-9]{5,15}$' @@ -3121,7 +2482,6 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/DnnTsctsfInfoItem' minItems: 1 @@ -3146,22 +2506,18 @@ components: minProperties: 0 externalGroupIdentifiersRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' supiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' gpsiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' internalGroupIdentifiersRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' @@ -3171,25 +2527,21 @@ components: properties: dnnList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 0 ipDomainList: type: array - uniqueItems: true items: type: string minItems: 0 ipv4AddressRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 0 ipv6PrefixRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 0 @@ -3201,13 +2553,11 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 0 gpsiRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 0 @@ -3228,13 +2578,11 @@ components: minProperties: 1 taiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -3250,7 +2598,7 @@ components: required: - mbsServiceIdStart - mbsServiceIdEnd - - plMNId + - plmnId properties: mbsServiceIdStart: type: string @@ -3317,7 +2665,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' required: - mbsServiceId - - plMNId + - plmnId Ssm: description: Source specific IP multicast address @@ -3337,14 +2685,12 @@ components: properties: ncgiList: type: array - uniqueItems: true items: $ref: '#/components/schemas/NcgiTai' minItems: 1 description: List of NR cell Ids taiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 @@ -3361,7 +2707,6 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' cellList: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ncgi' minItems: 1 @@ -3397,7 +2742,6 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/DnnMbSmfInfoItem' minItems: 1 @@ -3419,7 +2763,6 @@ components: properties: routingIndicators: type: array - uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' @@ -3432,31 +2775,26 @@ components: properties: sNssaiMbUpfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SnssaiUpfInfoItem' minItems: 1 mbSmfServingArea: type: array - uniqueItems: true items: type: string minItems: 1 interfaceMbUpfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/InterfaceUpfInfoItem' minItems: 1 taiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -3477,7 +2815,6 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnUpfInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/DnnUpfInfoItem' minItems: 1 @@ -3499,42 +2836,34 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' dnaiList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' pduSessionTypes: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' ipv4AddressRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' ipv6PrefixRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' natedIpv4AddressRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' natedIpv6PrefixRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' ipv4IndexList: type: array - uniqueItems: true items: $ref: '#/components/schemas/IpIndex' ipv6IndexList: type: array - uniqueItems: true items: $ref: '#/components/schemas/IpIndex' networkInstance: @@ -3558,7 +2887,6 @@ components: properties: msisdnRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -3571,20 +2899,18 @@ components: pLMNInfo: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfo' expiryTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' PcscfInfo: description: Information of a P-CSCF NF Instance type: object properties: accessType: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 dnnList: type: array - uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 @@ -3592,13 +2918,11 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' gmIpv4Addresses: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 gmIpv6Addresses: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 @@ -3606,247 +2930,30 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' mwIpv4Addresses: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 mwIpv6Addresses: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 servedIpv4AddressRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 1 servedIpv6PrefixRanges: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 1 NfInfo: description: Information of a generic NF Instance - type: object - properties: - nfType: - $ref: '#/components/schemas/NFType' - SAP: - type: object - properties: - host: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' - port: - type: integer - NFServiceType: - type: string - enum: - - NAMF_COMMUNICATION - - NAMF_EVENTEXPOSURE - - NAMF_MT - - NAMF_LOCATION - - NSMF_PDUSESSION - - NSMF_EVENTEXPOSURE - - OTHERS - readOnly: true - Operation: - type: object - properties: - name: - type: string - readOnly: true - allowedNFTypes: - $ref: '#/components/schemas/NFType' - operationSemantics: - $ref: '#/components/schemas/OperationSemantics' - NFType: - description: NF name defined in TS 23.501 or TS 29.510'.This datatype is used for writable attribute - type: string - enum: - - NRF - - UDM - - AMF - - SMF - - AUSF - - NEF - - PCF - - SMSF - - NSSF - - UDR - - LMF - - GMLC - - 5G_EIR - - SEPP - - UPF - - N3IWF - - AF - - UDSF - - DN - - BSF - - CHF - - NWDAF - - PCSCF - - CBCF - - HSS - - UCMF - - SOR_AF - - SPAF - - MME - - SCSAS - - SCEF - - SCP - - NSSAAF - - ICSCF - - SCSCF - - DRA - - IMS_AS - - AANF - - 5G_DDNMF - - NSACF - - MFAF - - EASDF - - DCCF - - MB_SMF - - TSCTSF - - ADRF - - GBA_BSF - - CEF - - MB_UPF - - NSWOF - - PKMF - - MNPF - - SMS_GMSC - - SMS_IWMSC - - MBSF - - MBSTF - - PANF - - TNGF - - W_AGF - - TWIF - - TSN_AF - - OperationSemantics: - type: string - readOnly: true - enum: - - REQUEST_RESPONSE - - SUBSCRIBE_NOTIFY - RegistrationState: - type: string - readOnly: true - enum: - - REGISTERED - - DEREGISTERED - CollocatedNfInstance: - description: Information of an collocated NF Instance registered in the NRF - type: object - required: - - nfInstanceId - - nfType - properties: - nfInstanceId: - $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' - nfType: - $ref: '#/components/schemas/NFType' - PlmnSnssai: - description: List of network slices (S-NSSAIs) for a given PLMN ID - type: object - required: - - plmnId - - sNssaiList - properties: - plmnId: - $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' - sNssaiList: - type: array - uniqueItems: true - items: - $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' - minItems: 1 - nid: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' - RuleSet: - type: object - required: - - priority - - action - properties: - priority: - type: integer - minimum: 0 - maximum: 65535 - plmns: - type: array - uniqueItems: true - items: - $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' - snpns: - type: array - uniqueItems: true - items: - $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' - nfTypes: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/NFType' - nfDomains: - type: array - uniqueItems: true - items: - type: string - nssais: - type: array - uniqueItems: true - items: - $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' - nfInstances: - type: array - uniqueItems: true - items: - $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' - scopes: - type: array - uniqueItems: true - items: - type: string - action: - type: string - enum: - - ALLOW - - DENY - AIoTgNBInfo: - type: object - required: - - gNBId - - servedReaderInfoList - properties: - gNBId: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/GnbId' - servedReaderInfoList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/ServedReaderInfo' - ServedReaderInfo: - type: object - required: - - readerId - - servedAIOTAreas - properties: - readerId: - type: integer - servedAIOTAreas: - type: array - uniqueItems: true - items: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/ServedAIOTAreaID' - readerLocation: - type: string - + type: object + properties: + nfType: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' #-------- Definition of types for name-containments ------ SubNetwork-ncO-5GcNrm: @@ -3940,10 +3047,6 @@ components: $ref: '#/components/schemas/MbUpfFunction-Multiple' MNPFFunction: $ref: '#/components/schemas/MnpfFunction-Multiple' - AiotfFunction: - $ref: '#/components/schemas/AiotfFunction-Multiple' - AdmFunction: - $ref: '#/components/schemas/AdmFunction-Multiple' #-------- Definition of concrete IOCs -------------------------------------------- AmfFunction-Single: @@ -3973,14 +3076,13 @@ components: nTNPLMNRestrictionsList: $ref: '#/components/schemas/NTNPLMNRestrictionsList' satelliteCoverageInfoList: - $ref: '#/components/schemas/SatelliteCoverageInfoList' + $ref: '#/components/schemas/SatelliteCoverageInfoList' amfInfo: $ref: '#/components/schemas/AmfInfo' sliceExpiryInfo: $ref: '#/components/schemas/SliceExpiryInfo' satelliteBackhaulInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/SatelliteBackhaulInfo' minItems: 1 @@ -3988,9 +3090,7 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' mdtUserConsentReqList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/MdtUserConsentReqList' - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N2: @@ -4027,8 +3127,6 @@ components: $ref: '#/components/schemas/EP_N89-Multiple' EP_N11mb: $ref: '#/components/schemas/EP_N11mb-Multiple' - EP_AIOT3: - $ref: '#/components/schemas/EP_AIOT3-Multiple' AmfSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4096,22 +3194,16 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' SmfInfo: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/SmfInfo' + $ref: '#/components/schemas/SmfInfo' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dnaiSatelliteMappingList: type: array - uniqueItems: true items: $ref: '#/components/schemas/dnaiSatelliteMapping' - minItems: 1 - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N4: @@ -4166,18 +3258,8 @@ components: supportedBMOList: $ref: '#/components/schemas/SupportedBMOList' upfInfo: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/UpfInfo' - isOnboardSatellite: - type: boolean - onboardSatelliteId: - $ref: '#/components/schemas/SatelliteId' - uPFCapabilities: - type: string + $ref: '#/components/schemas/UpfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3: @@ -4205,7 +3287,6 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3: @@ -4233,18 +3314,14 @@ components: supportedBMOList: $ref: '#/components/schemas/SupportedBMOList' PcfInfo: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/PcfInfo' + $ref: '#/components/schemas/PcfInfo' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' predefinedPccRuleSetRefs: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N5: @@ -4283,7 +3360,6 @@ components: ausfInfo: $ref: '#/components/schemas/AusfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N12: @@ -4315,7 +3391,6 @@ components: udmInfo: $ref: '#/components/schemas/UdmInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N8: @@ -4349,11 +3424,6 @@ components: udrInfo: $ref: '#/components/schemas/UdrInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - - type: object - properties: - EP_AIOT7: - $ref: '#/components/schemas/EP_AIOT7-Multiple' UdsfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4373,7 +3443,6 @@ components: udsfInfo: $ref: '#/components/schemas/UdsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' NrfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4394,10 +3463,7 @@ components: $ref: '#/components/schemas/NFProfileList' nrfInfo: $ref: '#/components/schemas/NrfInfo' - managedNFProfile: - $ref: '#/components/schemas/ManagedNFProfile' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N27: @@ -4406,8 +3472,6 @@ components: $ref: '#/components/schemas/EP_N96-Multiple' EP_SM14: $ref: '#/components/schemas/EP_SM14-Multiple' - EP_AIOT5: - $ref: '#/components/schemas/EP_AIOT5-Multiple' NssfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4429,7 +3493,6 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N22: @@ -4459,7 +3522,6 @@ components: smsfInfo: $ref: '#/components/schemas/SmsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N20: @@ -4491,23 +3553,12 @@ components: trpInfoList: $ref: '#/components/schemas/TrpInfoList' mappedCellIdInfoList: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' - mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - aIMLInferenceFunctionRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_NL1: $ref: '#/components/schemas/EP_NL1-Multiple' - EP_NL8: - $ref: '#/components/schemas/EP_NL8-Multiple' - EP_NL7: - $ref: '#/components/schemas/EP_NL7-Multiple' - EP_NL10: - $ref: '#/components/schemas/EP_NL10-Multiple' NgeirFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4529,7 +3580,6 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N17: @@ -4545,18 +3595,16 @@ components: - type: object properties: plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnIdRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' sEPPType: $ref: '#/components/schemas/SEPPType' sEPPId: type: integer - readOnly: true fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' seppInfo: $ref: '#/components/schemas/SeppInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N32: @@ -4589,16 +3637,10 @@ components: $ref: '#/components/schemas/NwdafInfo' nwdafLogicalFuncSupported: type: string - readOnly: true enum: - NWDAF_WITH_ANLF - NWDAF_WITH_MTLF - NWDAF_WITH_ANLF_MTLF - roamingAnalytics: - type: boolean - roamingData: - type: boolean - - type: object properties: EP_NL3: @@ -4608,7 +3650,7 @@ components: AnLFFunction: $ref: '#/components/schemas/AnLFFunction-Single' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + ScpFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4622,11 +3664,10 @@ components: supportedFuncList: $ref: '#/components/schemas/SupportedFuncList' address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' scpInfo: $ref: '#/components/schemas/ScpInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_SM13: @@ -4651,11 +3692,9 @@ components: $ref: '#/components/schemas/CapabilityList' isCAPIFSup: type: boolean - readOnly: true nefInfo: $ref: '#/components/schemas/NefInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N33: @@ -4668,10 +3707,6 @@ components: $ref: '#/components/schemas/EP_N62-Multiple' EP_N63: $ref: '#/components/schemas/EP_N63-Multiple' - EP_AIOT4: - $ref: '#/components/schemas/EP_AIOT4-Multiple' - EP_AIOT8: - $ref: '#/components/schemas/EP_AIOT8-Multiple' NsacfFunction-Single: allOf: @@ -4687,13 +3722,11 @@ components: $ref: '#/components/schemas/ManagedNFProfile' nsacfInfoSnssai: type: array - uniqueItems: true items: $ref: '#/components/schemas/NsacfInfoSnssai' nsacfInfo: $ref: '#/components/schemas/NsacfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N60: @@ -4718,7 +3751,6 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_Npc4: @@ -4750,12 +3782,7 @@ components: type: string easdfInfo: $ref: '#/components/schemas/EasdfInfo' - isOnboardSatellite: - type: boolean - onboardSatelliteId: - $ref: '#/components/schemas/SatelliteId' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N88: @@ -4777,11 +3804,11 @@ components: eDNServiceArea: $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/ServingLocation' eASIpAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + type: string eESIpAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + type: string eCSIpAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + type: string ednIdentifier: type: string ecmConnectionType: @@ -4811,7 +3838,6 @@ components: amfIdentifier: $ref: '#/components/schemas/AmfIdentifier' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalNrfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4825,7 +3851,6 @@ components: plmnIdList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalNssfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4839,7 +3864,6 @@ components: plmnIdList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalSeppFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4851,74 +3875,13 @@ components: - type: object properties: plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnIdRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' sEPPId: type: integer - readOnly: true fqdn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/FqdnRo' - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - AiotfFunction-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' - - type: object - properties: - plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - sBIFqdn: - type: string - managedNFProfile: - $ref: '#/components/schemas/ManagedNFProfile' - aIOTgNBInfo: - $ref: '#/components/schemas/AIoTgNBInfo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - - type: object - properties: - EP_AIOT2: - $ref: '#/components/schemas/EP_AIOT2-Multiple' - EP_AIOT3: - $ref: '#/components/schemas/EP_AIOT3-Multiple' - EP_AIOT4: - $ref: '#/components/schemas/EP_AIOT4-Multiple' - EP_AIOT5: - $ref: '#/components/schemas/EP_AIOT5-Multiple' - EP_AIOT6: - $ref: '#/components/schemas/EP_AIOT6-Multiple' - AdmFunction-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' - - type: object - properties: - plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - sBIFqdn: - type: string - managedNFProfile: - $ref: '#/components/schemas/ManagedNFProfile' - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - - type: object - properties: - EP_AIOT6: - $ref: '#/components/schemas/EP_AIOT6-Multiple' - EP_AIOT7: - $ref: '#/components/schemas/EP_AIOT7-Multiple' - EP_AIOT8: - $ref: '#/components/schemas/EP_AIOT8-Multiple' - EP_N2-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4948,7 +3911,7 @@ components: remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' EP_N4-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -5247,7 +4210,7 @@ components: remotePlmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' remoteSeppAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' remoteSeppId: type: integer n32cParas: @@ -5410,34 +4373,6 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - EP_NL7-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - EP_NL8-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' EP_NL9-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -5452,20 +4387,7 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - EP_NL10-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_N60-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -5551,112 +4473,7 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - - EP_AIOT2-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - - EP_AIOT3-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - - EP_AIOT4-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - - EP_AIOT5-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - - EP_AIOT6-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - - EP_AIOT7-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - - EP_AIOT8-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' - - type: object - properties: - localAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' - remoteAddress: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - + FiveQiDscpMappingSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -5668,7 +4485,6 @@ components: properties: fiveQiDscpMappingList: type: array - uniqueItems: true items: $ref: '#/components/schemas/FiveQiDscpMapping' @@ -5739,28 +4555,20 @@ components: - DISABLED gtpUPathMonitoredSNSSAIs: type: array - uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' monitoredDSCPs: type: array - uniqueItems: true items: type: integer minimum: 0 maximum: 255 isEventTriggeredGtpUPathMonitoringSupported: type: boolean - readOnly: true - default: true isPeriodicGtpUMonitoringSupported: type: boolean - readOnly: true - default: true isImmediateGtpUMonitoringSupported: type: boolean - readOnly: true - default: true gtpUPathDelayThresholds: $ref: '#/components/schemas/GtpUPathDelayThresholdsType' gtpUPathMinimumWaitTime: @@ -5784,34 +4592,39 @@ components: - DISABLED qFMonitoredSNSSAIs: type: array - uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' qFMonitored5QIs: type: array - uniqueItems: true items: type: integer minimum: 0 maximum: 255 isEventTriggeredQFMonitoringSupported: type: boolean - readOnly: true - default: true isPeriodicQFMonitoringSupported: type: boolean - readOnly: true - default: true isSessionReleasedQFMonitoringSupported: type: boolean - readOnly: true - default: true qFPacketDelayThresholds: $ref: '#/components/schemas/QFPacketDelayThresholdsType' qFMinimumWaitTime: type: integer qFMeasurementPeriod: type: integer + qFMonitoredSatelliteBackhaulCategories: + type: array + items: + $ref: '#/components/schemas/SatelliteBackhaulCategories' + + SatelliteBackhaulCategories: + type: string + description: any of enumerated value + enum: + - DYNAMIC_GEO + - DYNAMIC_MEO + - DYNAMIC_LEO + - DYNAMIC_OTHER_SAT PredefinedPccRuleSet-Single: allOf: @@ -5824,10 +4637,8 @@ components: properties: predefinedPccRules: type: array - uniqueItems: true items: - $ref: '#/components/schemas/PccRule' - minItems: 1 + $ref: '#/components/schemas/PccRule' AfFunction-Single: allOf: @@ -5848,7 +4659,6 @@ components: trustAfInfo: $ref: '#/components/schemas/TrustAfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N5: @@ -5883,7 +4693,6 @@ components: nssafInfo: $ref: '#/components/schemas/NssaafInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' EP_N58-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -5935,7 +4744,6 @@ components: dccfInfo: $ref: '#/components/schemas/DccfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' MfafFunction-Single: allOf: @@ -5958,7 +4766,6 @@ components: mfafInfo: $ref: '#/components/schemas/MfafInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ChfFunction-Single: allOf: @@ -5981,7 +4788,6 @@ components: chfInfo: $ref: '#/components/schemas/ChfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N28: @@ -6144,7 +4950,6 @@ components: gmlcInfo: $ref: '#/components/schemas/GmlcInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_NL2: @@ -6157,8 +4962,6 @@ components: $ref: '#/components/schemas/EP_NL6-Multiple' EP_NL9: $ref: '#/components/schemas/EP_NL9-Multiple' - EP_NL10: - $ref: '#/components/schemas/EP_NL10-Multiple' TsctsfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -6180,7 +4983,6 @@ components: tsctsfInfo: $ref: '#/components/schemas/TsctsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N84: @@ -6302,12 +5104,8 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' bsfInfo: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/BsfInfo' + $ref: '#/components/schemas/BsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' MbSmfFunction-Single: allOf: @@ -6328,7 +5126,6 @@ components: mbSmfInfo: $ref: '#/components/schemas/MbSmfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N11mb: @@ -6402,7 +5199,6 @@ components: mbUpfInfo: $ref: '#/components/schemas/MbUpfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3mb: @@ -6433,7 +5229,6 @@ components: mnpfInfo: $ref: '#/components/schemas/MnpfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_SM12: @@ -6513,11 +5308,10 @@ components: enum: - ACTIVATED - DEACTIVATED - readOnly: true mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' EP_SM12-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -6560,48 +5354,9 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' -#-------- Definition of abstract IOCs -------------------------------------------- - ManagedFunction5GC-nc0: - type: object - properties: - ManagedNFService: - $ref: '#/components/schemas/ManagedNFService-Multiple' -#-------- Definition of abstract IOCs -------------------------------------------- - - -#-------- Definition of 5GC common IOCs -------------------------------------------- - ManagedNFService-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - type: object - properties: - userLabel: - type: string - nFServiceType: - $ref: '#/components/schemas/NFServiceType' - sAP: - $ref: '#/components/schemas/SAP' - operations: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/Operation' - minItems: 1 - administrativeState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' - operationalState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' - usageState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/UsageState' - registrationState: - $ref: '#/components/schemas/RegistrationState' - -#-------- Definition of 5GC common IOCs -------------------------------------------- #-------- Definition of JSON arrays for name-contained IOCs ---------------------- + AmfFunction-Multiple: type: array items: @@ -6710,15 +5465,7 @@ components: type: array items: $ref: '#/components/schemas/EASDFFunction-Single' - AiotfFunction-Multiple: - type: array - items: - $ref: '#/components/schemas/AiotfFunction-Single' - AdmFunction-Multiple: - type: array - items: - $ref: '#/components/schemas/AdmFunction-Single' - + EP_N2-Multiple: type: array items: @@ -6875,22 +5622,10 @@ components: type: array items: $ref: '#/components/schemas/EP_NL6-Single' - EP_NL7-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_NL7-Single' - EP_NL8-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_NL8-Single' EP_NL9-Multiple: type: array items: $ref: '#/components/schemas/EP_NL9-Single' - EP_NL10-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_NL10-Single' EP_N60-Multiple: type: array items: @@ -6991,34 +5726,6 @@ components: type: array items: $ref: '#/components/schemas/EP_SM14-Single' - EP_AIOT2-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_AIOT2-Single' - EP_AIOT3-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_AIOT3-Single' - EP_AIOT4-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_AIOT4-Single' - EP_AIOT5-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_AIOT5-Single' - EP_AIOT6-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_AIOT6-Single' - EP_AIOT7-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_AIOT7-Single' - EP_AIOT8-Multiple: - type: array - items: - $ref: '#/components/schemas/EP_AIOT8-Single' Configurable5QISet-Multiple: type: array items: @@ -7087,10 +5794,7 @@ components: type: array items: $ref: '#/components/schemas/MnpfFunction-Single' - ManagedNFService-Multiple: - type: array - items: - $ref: '#/components/schemas/ManagedNFService-Single' + #------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- resources-5gcNrm: @@ -7115,7 +5819,6 @@ components: - $ref: '#/components/schemas/NefFunction-Single' - $ref: '#/components/schemas/NsacfFunction-Single' - $ref: '#/components/schemas/DDNMFFunction-Single' - - $ref: '#/components/schemas/ManagedNFService-Single' - $ref: '#/components/schemas/ExternalAmfFunction-Single' - $ref: '#/components/schemas/ExternalNrfFunction-Single' @@ -7193,10 +5896,7 @@ components: - $ref: '#/components/schemas/EP_NL3-Single' - $ref: '#/components/schemas/EP_NL5-Single' - $ref: '#/components/schemas/EP_NL6-Single' - - $ref: '#/components/schemas/EP_NL7-Single' - - $ref: '#/components/schemas/EP_NL8-Single' - $ref: '#/components/schemas/EP_NL9-Single' - - $ref: '#/components/schemas/EP_NL10-Single' - $ref: '#/components/schemas/EP_N11mb-Single' - $ref: '#/components/schemas/EP_N16mb-Single' - $ref: '#/components/schemas/EP_Nmb1-Single' @@ -7204,14 +5904,6 @@ components: - $ref: '#/components/schemas/EP_SM12-Single' - $ref: '#/components/schemas/EP_SM13-Single' - $ref: '#/components/schemas/EP_SM14-Single' - - - $ref: '#/components/schemas/EP_AIOT2-Single' - - $ref: '#/components/schemas/EP_AIOT3-Single' - - $ref: '#/components/schemas/EP_AIOT4-Single' - - $ref: '#/components/schemas/EP_AIOT5-Single' - - $ref: '#/components/schemas/EP_AIOT6-Single' - - $ref: '#/components/schemas/EP_AIOT7-Single' - - $ref: '#/components/schemas/EP_AIOT8-Single' - $ref: '#/components/schemas/Configurable5QISet-Single' - $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' @@ -7231,5 +5923,3 @@ components: - $ref: '#/components/schemas/MbSmfFunction-Single' - $ref: '#/components/schemas/MbUpfFunction-Single' - $ref: '#/components/schemas/MnpfFunction-Single' - - $ref: '#/components/schemas/AiotfFunction-Single' - - $ref: '#/components/schemas/AdmFunction-Single' -- GitLab From db71c8ebef0962396e464ba9addb1825415cc63c Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:48:51 +0000 Subject: [PATCH 11/93] Replace TS28541_NrNrm.yaml --- OpenAPI/TS28541_NrNrm.yaml | 640 +++++++++++-------------------------- 1 file changed, 186 insertions(+), 454 deletions(-) diff --git a/OpenAPI/TS28541_NrNrm.yaml b/OpenAPI/TS28541_NrNrm.yaml index 30b636f3..0c1387c8 100755 --- a/OpenAPI/TS28541_NrNrm.yaml +++ b/OpenAPI/TS28541_NrNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: NR NRM - version: 19.4.0 + version: 18.13.0 description: >- OAS 3.0.1 specification of the NR NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -34,7 +34,6 @@ components: type: integer minimum: 0 maximum: 68719476735 - readOnly: true Sst: type: integer @@ -49,13 +48,8 @@ components: type: string pattern: '^[A-Fa-f0-9]{6}$' - SatelliteId: - type: string - pattern: '^[0-9]{5}$' - PlmnIdList: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' PlmnInfo: @@ -69,62 +63,42 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' PlmnInfoList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/PlmnInfo' - minItems: 1 - NPNIdentityList: + $ref: '#/components/schemas/PlmnInfo' + NpnIdentityList: type: array - uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NpnId-Type' - minItems: 1 - GgNBId: - type: object - properties: - plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - gnbIdLength: - $ref: '#/components/schemas/GnbIdLength' - gnbId: - $ref: '#/components/schemas/GnbId' - GeNBId: - type: object - properties: - plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - enbId: - type: integer - minimum: 0 - maximum: 4194303 + GGnbId: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-(22|23|24|25|26|27|28|29|30|31|32)-[0-9]{1,10}' + GEnbId: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-(18|20|21|22)-[0-9]{1,7}' - GgNBIdList: + GGnbIdList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/GgNBId' + $ref: '#/components/schemas/GGnbId' - GeNBIdList: + GEnbIdList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/GeNBId' + $ref: '#/components/schemas/GEnbId' NrPci: type: integer maximum: 503 - NRTAC: + NrTac: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' - NRTACList: + NrTacList: type: array - uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' TaiList: type: array - uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' BackhaulAddress: type: object properties: @@ -193,7 +167,7 @@ components: type: integer minimum: 0 maximum: 100 - NumberOfPreamblesSent: + numberOfPreamblesSent: type: integer minimum: 0 maximum: 200 @@ -201,7 +175,6 @@ components: UeAccDelayProbabilityDist: type: array - uniqueItems: true items: $ref: '#/components/schemas/UeAccDelayProbability' @@ -219,7 +192,6 @@ components: NRPciList: type: array - uniqueItems: true items: $ref: '#/components/schemas/NrPci' minItems: 0 @@ -227,7 +199,6 @@ components: CSonPciList: type: array - uniqueItems: true items: $ref: '#/components/schemas/NrPci' minItems: 1 @@ -264,11 +235,10 @@ components: - IDLE - INACTIVE - ACTIVE - readOnly: true CyclicPrefix: type: string enum: - - NORMAL + - NORMAL, - EXTENDED TxDirection: type: string @@ -286,7 +256,6 @@ components: type: string enum: - INITIAL - - INITIAL_REDCAP - OTHER IsESCoveredBy: type: string @@ -294,24 +263,24 @@ components: - NO - PARTIAL - FULL - RRMPolicyMember: + RrmPolicyMember: type: object properties: plmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' snssai: $ref: '#/components/schemas/Snssai' - RRMPolicyMemberList: + RrmPolicyMemberList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/RRMPolicyMember' - minItems: 1 + $ref: '#/components/schemas/RrmPolicyMember' AddressWithVlan: type: object properties: - iPAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + ipv4Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' vlanId: type: integer minimum: 0 @@ -326,7 +295,13 @@ components: minimum: 0 maximum: 65535 RemoteAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + type: object + properties: + ipv4Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + ipv6Address: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + QOffsetRange: type: integer default: 0 @@ -364,7 +339,6 @@ components: - 1 QOffsetFreq: type: number - default: 0 TReselectionNRSf: type: integer enum: @@ -407,6 +381,7 @@ components: type: integer minimum: -1800 maximum: 1800 + RSSetId: type: integer maximum: 4194303 @@ -433,16 +408,9 @@ components: rimRSStartingFrequencyOffsetIdList: type: array - uniqueItems: true items: type: integer - minimum: 0 - maximum: 550 - minItems: 1 - maxItems: 4 - description: > - It is a list of configured frequency offsets in units of resource blocks. - Only 1,2 or 4 number of elements allowed in the array. + SequenceDomainPara: type: object properties: @@ -450,30 +418,19 @@ components: type: integer rimRSScrambleIdListofRS1: type: array - uniqueItems: true items: type: integer - minimum: 0 - maximum: 1023 - minItems: 1 - maxItems: 8 nrofRIMRSSequenceCandidatesofRS2: type: integer rimRSScrambleIdListofRS2: type: array - uniqueItems: true items: type: integer - minimum: 0 - maximum: 1023 - minItems: 1 - maxItems: 8 enableEnoughNotEnoughIndication: type: string enum: - ENABLE - - DISABLE - default: DISABLE + - DISABLE rIMRSScrambleTimerMultiplier: type: integer rIMRSScrambleTimerOffset: @@ -524,26 +481,22 @@ components: type: integer consecutiveRIMRS1List: type: array - uniqueItems: true items: type: integer consecutiveRIMRS2List: type: array - uniqueItems: true items: type: integer enablenearfarIndicationRS1: type: string enum: - ENABLE - - DISABLE - default: DISABLE + - DISABLE enablenearfarIndicationRS2: type: string enum: - ENABLE - - DISABLE - default: DISABLE + - DISABLE RimRSReportInfo: type: object @@ -567,8 +520,7 @@ components: type: string enum: - ENABLE - - DISABLE - default: DISABLE + - DISABLE reportInterval: type: integer nrofRIMRSReportInfo: @@ -577,24 +529,23 @@ components: type: integer rimRSReportInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/RimRSReportInfo' TceIDMappingInfo: type: object properties: - tceIPAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' - tceID: + TceIPAddress: + oneOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + TceID: type: integer - pLMNTarget: + PlmnTarget: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' TceIDMappingInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/TceIDMappingInfo' - minItems: 1 ResourceType: type: string enum: @@ -610,11 +561,6 @@ components: type: integer minValue: type: integer - NTNTAClist: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/NRTAC' Ephemeris: type: object oneOf: @@ -625,7 +571,8 @@ components: - epochTime properties: satelliteId: - $ref: '#/components/schemas/SatelliteId' + type: string + pattern: '^[0-9]{5}$' epochTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' positionVelocity: @@ -635,42 +582,34 @@ components: EphemerisInfos: type: array - uniqueItems: true items: $ref: '#/components/schemas/Ephemeris' - minItems: 1 PositionVelocity: type: object properties: positionX: type: integer - default: 0 minimum: 0 maximum: 604800 positionY: type: integer - default: 0 minimum: 0 maximum: 604800 positionZ: type: integer - default: 0 minimum: 0 maximum: 604800 velocityVX: type: integer - default: 0 minimum: -131072 maximum: 131071 velocityVY: type: integer - default: 0 minimum: -131072 maximum: 131071 velocityVZ: type: integer - default: 0 minimum: -131072 maximum: 131071 @@ -679,32 +618,26 @@ components: properties: semiMajorAxis: type: integer - default: 0 minimum: 0 maximum: 8589934591 eccentricity: type: integer - default: 0 minimum: -524288 maximum: 524287 periapsis: type: integer - default: 0 minimum: 0 maximum: 16777215 longitude: type: integer - default: 0 minimum: 0 maximum: 2097151 inclination: type: integer - default: 0 minimum: -524288 maximum: 524287 meanAnomaly: type: integer - default: 0 minimum: 0 maximum: 16777215 @@ -717,7 +650,6 @@ components: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Ncgi' MappedCellIdInfoList: type: array - uniqueItems: true items: $ref: '#/components/schemas/MappedCellIdInfo' QceIdMappingInfo: @@ -733,13 +665,10 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' QceIdMappingInfoList: type: array - uniqueItems: true items: - $ref: '#/components/schemas/QceIdMappingInfo' - minItems: 1 + $ref: '#/components/schemas/QceIdMappingInfo' MdtUserConsentReqList: type: array - uniqueItems: true items: type: string enum: @@ -753,18 +682,6 @@ components: - M8 - M9 - MDT_UE_LOCATION - - NTNEntityConf: - type: object - properties: - nTNConfEntity: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - nTNConfList: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' - #-------- Definition of types for name-containments ------ SubNetwork-ncO-NrNrm: @@ -772,12 +689,12 @@ components: properties: NRFrequency: $ref: '#/components/schemas/NRFrequency-Multiple' - ExternalGNBCUCPFunction: - $ref: '#/components/schemas/GNBCUCPFunction-Multiple' - ExternalGNBCUUPFunction: - $ref: '#/components/schemas/ExternalGNBCUUPFunction-Multiple' - ExternalGNBDUFunction: - $ref: '#/components/schemas/ExternalGNBDUFunction-Multiple' + ExternalGnbCuCpFunction: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple' + ExternalGnbCuUpFunction: + $ref: '#/components/schemas/ExternalGnbCuUpFunction-Multiple' + ExternalGnbDuFunction: + $ref: '#/components/schemas/ExternalGnbDuFunction-Multiple' ExternalENBFunction: $ref: '#/components/schemas/ExternalENBFunction-Multiple' EUtranFrequency: @@ -796,8 +713,6 @@ components: $ref: '#/components/schemas/CPCIConfigurationFunction-Single' CESManagementFunction: $ref: '#/components/schemas/CESManagementFunction-Single' - RedCapAccessCriteria: - $ref: '#/components/schemas/RedCapAccessCriteria-Single' Configurable5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' RimRSGlobal: @@ -810,18 +725,15 @@ components: $ref: '#/components/schemas/NTNFunction-Single' NRECMappingRule: $ref: '#/components/schemas/NRECMappingRule-Multiple' - MWAB: - $ref: '#/components/schemas/MWAB-Multiple' - ManagedElement-ncO-NrNrm: type: object properties: - GNBDUFunction: - $ref: '#/components/schemas/GNBDUFunction-Multiple' - GNBCUUPFunction: - $ref: '#/components/schemas/GNBCUUPFunction-Multiple' - GNBCUCPFunction: - $ref: '#/components/schemas/GNBCUCPFunction-Multiple' + GnbDuFunction: + $ref: '#/components/schemas/GnbDuFunction-Multiple' + GnbCuUpFunction: + $ref: '#/components/schemas/GnbCuUpFunction-Multiple' + GnbCuCpFunction: + $ref: '#/components/schemas/GnbCuCpFunction-Multiple' DESManagementFunction: $ref: '#/components/schemas/DESManagementFunction-Single' DRACHOptimizationFunction: @@ -844,22 +756,20 @@ components: $ref: '#/components/schemas/NTNFunction-Single' NRECMappingRule: $ref: '#/components/schemas/NRECMappingRule-Multiple' - MWAB: - $ref: '#/components/schemas/MWAB-Multiple' #-------- Definition of abstract IOCs -------------------------------------------- - RRMPolicy_-Attr: + RrmPolicy_-Attr: type: object properties: resourceType: $ref: '#/components/schemas/ResourceType' - RRMPolicyMemberList: - $ref: '#/components/schemas/RRMPolicyMemberList' + rRMPolicyMemberList: + $ref: '#/components/schemas/RrmPolicyMemberList' #-------- Definition of concrete IOCs -------------------------------------------- - GNBDUFunction-Single: + GnbDuFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -877,27 +787,23 @@ components: $ref: '#/components/schemas/GnbId' gnbIdLength: $ref: '#/components/schemas/GnbIdLength' - isOnboardSatellite: - type: boolean - onboardSatelliteId: - $ref: '#/components/schemas/SatelliteId' rimRSReportConf: $ref: '#/components/schemas/RimRSReportConf' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: RRMPolicyRatio: $ref: '#/components/schemas/RRMPolicyRatio-Multiple' - NRCellDU: - $ref: '#/components/schemas/NRCellDU-Multiple' - BWP-Multiple: - $ref: '#/components/schemas/BWP-Multiple' - NRSectorCarrier-Multiple: - $ref: '#/components/schemas/NRSectorCarrier-Multiple' + NrCellDu: + $ref: '#/components/schemas/NrCellDu-Multiple' + Bwp-Multiple: + $ref: '#/components/schemas/Bwp-Multiple' + NrSectorCarrier-Multiple: + $ref: '#/components/schemas/NrSectorCarrier-Multiple' EP_F1C: $ref: '#/components/schemas/EP_F1C-Single' EP_F1U: @@ -905,17 +811,15 @@ components: DRACHOptimizationFunction: $ref: '#/components/schemas/DRACHOptimizationFunction-Single' OperatorDU: - $ref: '#/components/schemas/OperatorDU-Multiple' + $ref: '#/components/schemas/OperatorDu-Multiple' BWPSet: $ref: '#/components/schemas/BWPSet-Multiple' Configurable5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' Dynamic5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' - AIOTReader: - $ref: '#/components/schemas/AIOTReader-Multiple' - OperatorDU-Single: + OperatorDu-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -935,10 +839,10 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: description: This attribute is condition optional. The condition is NG-RAN Multi-Operator Core Network (NG-RAN MOCN) network sharing with operator specific 5QI is supported. - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - NROperatorCellDU: - $ref: '#/components/schemas/NROperatorCellDU-Multiple' - GNBCUUPFunction-Single: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + NrOperatorCellDu: + $ref: '#/components/schemas/NrOperatorCellDu-Multiple' + GnbCuUpFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -954,16 +858,12 @@ components: $ref: '#/components/schemas/GnbIdLength' gnbCuUpId: $ref: '#/components/schemas/GnbCuUpId' - isOnboardSatellite: - type: boolean - onboardSatelliteId: - $ref: '#/components/schemas/SatelliteId' - PlmnInfoList: + plmnInfoList: $ref: '#/components/schemas/PlmnInfoList' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -986,7 +886,7 @@ components: Dynamic5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' - GNBCUCPFunction-Single: + GnbCuCpFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1005,35 +905,29 @@ components: plmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' x2BlockList: - $ref: '#/components/schemas/GgNBIdList' + $ref: '#/components/schemas/GGnbIdList' xnBlockList: - $ref: '#/components/schemas/GgNBIdList' + $ref: '#/components/schemas/GGnbIdList' x2AllowList: - $ref: '#/components/schemas/GgNBIdList' + $ref: '#/components/schemas/GGnbIdList' xnAllowList: - $ref: '#/components/schemas/GgNBIdList' + $ref: '#/components/schemas/GGnbIdList' x2HOBlockList: - $ref: '#/components/schemas/GeNBIdList' + $ref: '#/components/schemas/GEnbIdList' xnHOBlockList: - $ref: '#/components/schemas/GgNBIdList' - mappingSetIDBackhaulAddressList: + $ref: '#/components/schemas/GGnbIdList' + mappingSetIDBackhaulAddress: type: array - uniqueItems: true items: $ref: '#/components/schemas/MappingSetIDBackhaulAddress' - minItems: 1 - isOnboardSatellite: - type: boolean - onboardSatelliteId: - $ref: '#/components/schemas/SatelliteId' tceIDMappingInfoList: $ref: '#/components/schemas/TceIDMappingInfoList' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' ephemerisInfoSetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dCHOControl: type: boolean dDAPSHOControl: @@ -1044,8 +938,6 @@ components: $ref: '#/components/schemas/QceIdMappingInfoList' mdtUserConsentReqList: $ref: '#/components/schemas/MdtUserConsentReqList' - mWABRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' nRECMappingRuleRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' @@ -1053,8 +945,8 @@ components: properties: RRMPolicyRatio: $ref: '#/components/schemas/RRMPolicyRatio-Multiple' - NRCellCU: - $ref: '#/components/schemas/NRCellCU-Multiple' + NrCellCu: + $ref: '#/components/schemas/NrCellCu-Multiple' EP_XnC: $ref: '#/components/schemas/EP_XnC-Multiple' EP_E1: @@ -1082,7 +974,7 @@ components: EUtranNetwork: $ref: '#/components/schemas/EUtraNetwork-Single' - NRCellCU-Single: + NrCellCu-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1097,7 +989,7 @@ components: plmnInfoList: $ref: '#/components/schemas/PlmnInfoList' nRFrequencyRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -1122,7 +1014,7 @@ components: DPCIConfigurationFunction: $ref: '#/components/schemas/DPCIConfigurationFunction-Single' - NRCellDU-Single: + NrCellDu-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1140,21 +1032,14 @@ components: type: integer cellState: $ref: '#/components/schemas/CellState' - plmnInfoInfoList: + plmnInfoList: $ref: '#/components/schemas/PlmnInfoList' - nPNIdentityList: - $ref: '#/components/schemas/NPNIdentityList' + npnIdentityList: + $ref: '#/components/schemas/NpnIdentityList' nrPci: $ref: '#/components/schemas/NrPci' - nRTAC: + nrTac: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' - nTNTAClist: - type: array - uniqueItems: true - items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' - minItems: 1 - maxItems: 12 arfcnDL: type: integer arfcnUL: @@ -1181,32 +1066,20 @@ components: maximum: 159 ssbDuration: $ref: '#/components/schemas/SsbDuration' - uECellBarredAccess: - type: array - uniqueItems: true - items: - type: string - enum: - - REDCAP_1RX - - REDCAP_2RX - nRSectorCarrierRef: + nrSectorCarrierRef: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - bWPRef: + bwpRef: description: "Condition is BWP sets are not supported" type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - bWPSetRef: + bwpSetRef: description: "Condition is BWP sets are supported" $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' rimRSMonitoringStartTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - redCapAccessCriteriaRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' rimRSMonitoringStopTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' rimRSMonitoringWindowDuration: @@ -1240,15 +1113,14 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object properties: - bWPlist: + bWPList: type: array - uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' maxItems: 12 - NROperatorCellDU-Single: + NrOperatorCellDu-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1259,7 +1131,7 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' plmnInfoList: $ref: '#/components/schemas/PlmnInfoList' - nRTAC: + nrTac: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' NRFrequency-Single: @@ -1274,13 +1146,12 @@ components: type: integer minimum: 0 maximum: 3279165 - ssbSubCarrierSpacing: + sSBSubCarrierSpacing: $ref: '#/components/schemas/SsbSubCarrierSpacing' multiFrequencyBandListNR: type: integer minimum: 1 maximum: 256 - readOnly: true EUtranFrequency-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1298,7 +1169,7 @@ components: minimum: 1 maximum: 256 - NRSectorCarrier-Single: + NrSectorCarrier-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1327,7 +1198,7 @@ components: properties: CommonBeamformingFunction: $ref: '#/components/schemas/CommonBeamformingFunction-Single' - BWP-Single: + Bwp-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1364,18 +1235,11 @@ components: digitalAzimuth: $ref: '#/components/schemas/DigitalAzimuth' digitalTilt: - $ref: '#/components/schemas/DigitalTilt' + $ref: '#/components/schemas/DigitalTilt' - type: object properties: Beam: $ref: '#/components/schemas/Beam-Multiple' - CCOWeakCoverageParameters: - $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' - CCOPilotPollutionParameters: - $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' - CCOOvershootCoverageParameters: - $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' - Beam-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1387,30 +1251,24 @@ components: properties: beamIndex: type: integer - readOnly: true beamType: type: string - readOnly: true enum: - - SSB_BEAM + - SSB_BEAM beamAzimuth: type: integer - readOnly: true minimum: -1800 maximum: 1800 beamTilt: type: integer - readOnly: true minimum: -900 maximum: 900 beamHorizWidth: type: integer - readOnly: true minimum: 0 maximum: 3599 beamVertWidth: type: integer - readOnly: true minimum: 0 maximum: 1800 RRMPolicyRatio-Single: @@ -1420,7 +1278,7 @@ components: properties: attributes: allOf: - - $ref: '#/components/schemas/RRMPolicy_-Attr' + - $ref: '#/components/schemas/RrmPolicy_-Attr' - type: object properties: rRMPolicyMaxRatio: @@ -1454,7 +1312,7 @@ components: items: $ref: '#/components/schemas/QOffsetRange' minItems: 6 - maxItems: 6 + maxItems: 6 adjacentNRCellRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' nRFreqRelationRef: @@ -1498,20 +1356,16 @@ components: maxItems: 6 blockListEntry: type: array - uniqueItems: true items: type: integer minimum: 0 maximum: 503 - maxItems: 16 blockListEntryIdleMode: type: array - uniqueItems: true items: type: integer minimum: 0 maximum: 1007 - maxItems: 16 cellReselectionPriority: type: integer cellReselectionSubPriority: @@ -1570,26 +1424,21 @@ components: items: $ref: '#/components/schemas/QOffsetRange' minItems: 6 - maxItems: 6 + maxItems: 6 blockListEntry: type: array - uniqueItems: true items: type: integer minimum: 0 maximum: 503 - maxItems: 16 blockListEntryIdleMode: type: array - uniqueItems: true items: type: integer minimum: 0 maximum: 1007 - maxItems: 16 cellReselectionPriority: type: integer - default: 0 cellReselectionSubPriority: type: number minimum: 0.2 @@ -1672,20 +1521,18 @@ components: $ref: "#/components/schemas/InterRatEsDeactivationCandidateCellParameters" isProbingCapable: type: string - readOnly: true enum: - YES - NO energySavingState: type: string - readOnly: true enum: - IS_NOT_ENERGY_SAVING - IS_ENERGY_SAVING mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' DRACHOptimizationFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1720,9 +1567,9 @@ components: tstoreUEcntxt: $ref: '#/components/schemas/TstoreUEcntxt' mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' DLBOFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1738,9 +1585,9 @@ components: minimumTimeBetweenHoTriggerChange: $ref: '#/components/schemas/MinimumTimeBetweenHoTriggerChange' mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' DPCIConfigurationFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1818,18 +1665,7 @@ components: $ref: '#/components/schemas/TimeDomainPara' RimRSSet: $ref: '#/components/schemas/RimRSSet-Multiple' - RedCapAccessCriteria-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - type: object - properties: - nRCellDURef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - criteriaConditonRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + RimRSSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1843,9 +1679,9 @@ components: setType: $ref: '#/components/schemas/RSSetType' nRCellDURefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - ExternalGNBDUFunction-Single: + ExternalGnbDuFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1873,15 +1709,13 @@ components: properties: NRFrequency: $ref: '#/components/schemas/NRFrequency-Multiple' - ExternalGNBCUCPFunction: - $ref: '#/components/schemas/ExternalGNBCUCPFunction-Multiple' - ExternalGNBCUUPFunction: - $ref: '#/components/schemas/ExternalGNBCUUPFunction-Multiple' - ExternalGNBDUFunction: - $ref: '#/components/schemas/ExternalGNBDUFunction-Multiple' - - - ExternalGNBCUUPFunction-Single: + ExternalGnbCuCpFunction: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple' + ExternalGnbCuUpFunction: + $ref: '#/components/schemas/ExternalGnbCuUpFunction-Multiple' + ExternalGnbDuFunction: + $ref: '#/components/schemas/ExternalGnbDuFunction-Multiple' + ExternalGnbCuUpFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1904,7 +1738,7 @@ components: $ref: '#/components/schemas/EP_F1U-Multiple' EP_XnU: $ref: '#/components/schemas/EP_XnU-Multiple' - ExternalGNBCUCPFunction-Single: + ExternalGnbCuCpFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1924,15 +1758,15 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: - ExternalNRCellCU: - $ref: '#/components/schemas/ExternalNRCellCU-Multiple' + ExternalNrCellCu: + $ref: '#/components/schemas/ExternalNrCellCu-Multiple' EP_XnC: $ref: '#/components/schemas/EP_XnC-Multiple' EP_E1: $ref: '#/components/schemas/EP_E1-Multiple' EP_F1C: $ref: '#/components/schemas/EP_F1C-Multiple' - ExternalNRCellCU-Single: + ExternalNrCellCu-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1946,13 +1780,8 @@ components: type: integer nrPci: $ref: '#/components/schemas/NrPci' - plMNIdList: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - minItems: 1 - maxItems: 12 + plmnIdList: + $ref: '#/components/schemas/PlmnIdList' nRFrequencyRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' @@ -1965,7 +1794,6 @@ components: $ref: '#/components/schemas/EUtranFrequency-Multiple' ExternalENBFunction: $ref: '#/components/schemas/ExternalENBFunction-Multiple' - ExternalENBFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -2096,7 +1924,7 @@ components: remoteAddress: $ref: '#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' EP_NgU-Single: allOf: @@ -2113,7 +1941,7 @@ components: remoteAddress: $ref: '#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' EP_X2U-Single: allOf: @@ -2153,11 +1981,11 @@ components: properties: cCOControl: type: boolean - CCOWeakCoverageParameters: + cCOWeakCoverageParameters: $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' - CCOPilotPollutionParameters: + cCOPilotPollutionParameters: $ref: '#/components/schemas/CCOPilotPollutionParameters-Single' - CCOOvershootCoverageParameters-Single: + cCOOvershootCoverageParameters-Single: $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' CCOParameters-Attr: allOf: @@ -2168,7 +1996,9 @@ components: type: object properties: coverageShapeList: - type: integer + type: array + items: + $ref: '#/components/schemas/CoverageShape' downlinkTransmitPowerRange: $ref: '#/components/schemas/ParameterRange' antennaTiltRange: @@ -2181,19 +2011,13 @@ components: $ref: '#/components/schemas/ParameterRange' CCOWeakCoverageParameters-Single: - allOf: - - $ref: '#/components/schemas/CCOParameters-Attr' - - type: object + $ref: '#/components/schemas/CCOParameters-Attr' CCOPilotPollutionParameters-Single: - allOf: - - $ref: '#/components/schemas/CCOParameters-Attr' - - type: object + $ref: '#/components/schemas/CCOParameters-Attr' CCOOvershootCoverageParameters-Single: - allOf: - - $ref: '#/components/schemas/CCOParameters-Attr' - - type: object + $ref: '#/components/schemas/CCOParameters-Attr' NTNFunction-Single: allOf: @@ -2206,11 +2030,9 @@ components: nTNpLMNInfoList: $ref: '#/components/schemas/PlmnInfoList' nTNTAClist: - $ref: '#/components/schemas/NRTACList' - EphemerisInfoSet: + $ref: '#/components/schemas/NrTacList' + ephemerisInfoSet: $ref: '#/components/schemas/EphemerisInfoSet-Multiple' - nTNTimeBasedConfig: - $ref: '#/components/schemas/NTNTimeBasedConfig-Multiple' EphemerisInfoSet-Single: allOf: @@ -2223,29 +2045,7 @@ components: properties: ephemerisInfos: $ref: '#/components/schemas/EphemerisInfos' - MWAB-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - type: object - properties: - administrativeState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' - operationalState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' - allowedArea: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' - allowedTime: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' - + NRECMappingRule-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -2261,92 +2061,44 @@ components: type: integer ecTimeInterval: type: integer - - NTNTimeBasedConfig-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - type: object - properties: - timeWindow: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' - nTNEntityConfigList: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/NTNEntityConf' - minItems: 1 - AIOTReader-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' - - type: object - properties: - readerId: - type: integer - administrativeState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' - supportedAIOTServices: - type: array - uniqueItems: true - items: - type: string - enum: - - INVENTORY - - COMMAND - plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - nRSectorCarrierRef: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - #-------- Definition of JSON arrays for name-contained IOCs ---------------------- - GNBDUFunction-Multiple: + GnbDuFunction-Multiple: type: array items: - $ref: '#/components/schemas/GNBDUFunction-Single' - OperatorDU-Multiple: + $ref: '#/components/schemas/GnbDuFunction-Single' + OperatorDu-Multiple: type: array items: - $ref: '#/components/schemas/OperatorDU-Single' - GNBCUUPFunction-Multiple: + $ref: '#/components/schemas/OperatorDu-Single' + GnbCuUpFunction-Multiple: type: array items: - $ref: '#/components/schemas/GNBCUUPFunction-Single' - GNBCUCPFunction-Multiple: + $ref: '#/components/schemas/GnbCuUpFunction-Single' + GnbCuCpFunction-Multiple: type: array items: - $ref: '#/components/schemas/GNBCUCPFunction-Single' + $ref: '#/components/schemas/GnbCuCpFunction-Single' BWPSet-Multiple: type: array items: $ref: '#/components/schemas/BWPSet-Single' - NRCellDU-Multiple: + NrCellDu-Multiple: type: array items: - $ref: '#/components/schemas/NRCellDU-Single' + $ref: '#/components/schemas/NrCellDu-Single' - NROperatorCellDU-Multiple: + NrOperatorCellDu-Multiple: type: array items: - $ref: '#/components/schemas/NROperatorCellDU-Single' + $ref: '#/components/schemas/NrOperatorCellDu-Single' - NRCellCU-Multiple: + NrCellCu-Multiple: type: array items: - $ref: '#/components/schemas/NRCellCU-Single' + $ref: '#/components/schemas/NrCellCu-Single' NRFrequency-Multiple: type: array @@ -2359,14 +2111,14 @@ components: items: $ref: '#/components/schemas/EUtranFrequency-Single' - NRSectorCarrier-Multiple: + NrSectorCarrier-Multiple: type: array items: - $ref: '#/components/schemas/NRSectorCarrier-Single' - BWP-Multiple: + $ref: '#/components/schemas/NrSectorCarrier-Single' + Bwp-Multiple: type: array items: - $ref: '#/components/schemas/BWP-Single' + $ref: '#/components/schemas/Bwp-Single' Beam-Multiple: type: array items: @@ -2398,22 +2150,22 @@ components: items: $ref: '#/components/schemas/RimRSSet-Single' - ExternalGNBDUFunction-Multiple: + ExternalGnbDuFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGNBDUFunction-Single' - ExternalGNBCUUPFunction-Multiple: + $ref: '#/components/schemas/ExternalGnbDuFunction-Single' + ExternalGnbCuUpFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGNBCUUPFunction-Single' - ExternalGNBCUCPFunction-Multiple: + $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' + ExternalGnbCuCpFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGNBCUCPFunction-Single' - ExternalNRCellCU-Multiple: + $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' + ExternalNrCellCu-Multiple: type: array items: - $ref: '#/components/schemas/ExternalNRCellCU-Single' + $ref: '#/components/schemas/ExternalNrCellCu-Single' ExternalENBFunction-Multiple: type: array @@ -2436,10 +2188,6 @@ components: type: array items: $ref: '#/components/schemas/EP_F1C-Single' - RedCapAccessCriteria-Multiple: - type: array - items: - $ref: '#/components/schemas/RedCapAccessCriteria-Single' EP_NgC-Multiple: type: array items: @@ -2476,31 +2224,19 @@ components: type: array items: $ref: '#/components/schemas/NRECMappingRule-Single' - NTNTimeBasedConfig-Multiple: - type: array - items: - $ref: '#/components/schemas/NTNTimeBasedConfig-Single' - MWAB-Multiple: - type: array - items: - $ref: '#/components/schemas/MWAB-Single' - AIOTReader-Multiple: - type: array - items: - $ref: '#/components/schemas/AIOTReader-Single' #-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- resources-nrNrm: oneOf: - - $ref: '#/components/schemas/GNBDUFunction-Single' - - $ref: '#/components/schemas/GNBCUUPFunction-Single' - - $ref: '#/components/schemas/GNBCUCPFunction-Single' - - $ref: '#/components/schemas/OperatorDU-Single' + - $ref: '#/components/schemas/GnbDuFunction-Single' + - $ref: '#/components/schemas/GnbCuUpFunction-Single' + - $ref: '#/components/schemas/GnbCuCpFunction-Single' + - $ref: '#/components/schemas/OperatorDu-Single' - - $ref: '#/components/schemas/NRCellCU-Single' - - $ref: '#/components/schemas/NRCellDU-Single' - - $ref: '#/components/schemas/NROperatorCellDU-Single' + - $ref: '#/components/schemas/NrCellCu-Single' + - $ref: '#/components/schemas/NrCellDu-Single' + - $ref: '#/components/schemas/NrOperatorCellDu-Single' - $ref: '#/components/schemas/NRNetwork-Single' - $ref: '#/components/schemas/EUtraNetwork-Single' @@ -2508,8 +2244,8 @@ components: - $ref: '#/components/schemas/NRFrequency-Single' - $ref: '#/components/schemas/EUtranFrequency-Single' - - $ref: '#/components/schemas/NRSectorCarrier-Single' - - $ref: '#/components/schemas/BWP-Single' + - $ref: '#/components/schemas/NrSectorCarrier-Single' + - $ref: '#/components/schemas/Bwp-Single' - $ref: '#/components/schemas/BWPSet-Single' - $ref: '#/components/schemas/CommonBeamformingFunction-Single' - $ref: '#/components/schemas/Beam-Single' @@ -2532,10 +2268,10 @@ components: - $ref: '#/components/schemas/RimRSGlobal-Single' - $ref: '#/components/schemas/RimRSSet-Single' - - $ref: '#/components/schemas/ExternalGNBDUFunction-Single' - - $ref: '#/components/schemas/ExternalGNBCUUPFunction-Single' - - $ref: '#/components/schemas/ExternalGNBCUCPFunction-Single' - - $ref: '#/components/schemas/ExternalNRCellCU-Single' + - $ref: '#/components/schemas/ExternalGnbDuFunction-Single' + - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' + - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' + - $ref: '#/components/schemas/ExternalNrCellCu-Single' - $ref: '#/components/schemas/ExternalENBFunction-Single' - $ref: '#/components/schemas/ExternalEUTranCell-Single' @@ -2555,9 +2291,5 @@ components: - $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' - $ref: '#/components/schemas/NTNFunction-Single' - $ref: '#/components/schemas/EphemerisInfoSet-Single' - - $ref: '#/components/schemas/MWAB-Single' - $ref: '#/components/schemas/NRECMappingRule-Single' - - $ref: '#/components/schemas/NTNTimeBasedConfig-Single' - - $ref: '#/components/schemas/RedCapAccessCriteria-Single' - - $ref: '#/components/schemas/AIOTReader-Single' -- GitLab From e3bb8c02c4bdd94f99e53ed98435a5a11eeff35f Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:51:06 +0000 Subject: [PATCH 12/93] Replace TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 1925 ++++++++++++++++++++++++++++++++--- 1 file changed, 1802 insertions(+), 123 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 73fc83df..66849e0f 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: 3GPP 5GC NRM - version: 18.12.0 + version: 20.0.0 description: >- OAS 3.0.1 specification of the 5GC NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -19,9 +19,9 @@ components: type: object description: 'AmfIdentifier comprise of amfRegionId, amfSetId and amfPointer' properties: - amfRegionId: + aMFRegionId: $ref: '#/components/schemas/AmfRegionId' - amfSetId: + aMFSetId: $ref: '#/components/schemas/AmfSetId' amfPointer: $ref: '#/components/schemas/AmfPointer' @@ -52,36 +52,10 @@ components: type: integer NFProfileList: type: array + uniqueItems: true description: List of NF profile items: - $ref: '#/components/schemas/NFProfile' - NFProfile: - type: object - description: 'NF profile stored in NRF, defined in TS 29.510' - properties: - nfInstanceId: - type: string - description: uuid of NF instance - nfType: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' - nfStatus: - $ref: '#/components/schemas/NFStatus' - plmn: - type: array - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - sNssais: - type: array - items: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' - fqdn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' - interPlmnFqdn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' - nfServices: - type: array - items: - $ref: '#/components/schemas/NFService' + $ref: '#/components/schemas/ManagedNFProfile' NFService: type: object description: NF Service is defined in TS 29.510 @@ -92,32 +66,157 @@ components: type: string versions: type: array + uniqueItems: true items: type: string + minItems: 1 schema: type: string + nfServiceStatus: + type: string + enum: + - REGISTERED + - SUSPENDED + - UNDISCOVERABLE + - CANARY_RELEASE fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' interPlmnFqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' ipEndPoints: type: array + uniqueItems: true items: $ref: '#/components/schemas/IpEndPoint' apiPrefix: type: string - allowedPlMNs: + allowedPLMNs: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + allowedSnpns: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SnpnId' allowedNfTypes: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' + allowedNfDomains: + type: array + uniqueItems: true + items: + type: string allowedNSSAIs: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + priority: + type: integer + minimum: 0 + maximum: 65535 + capacity: + type: integer + recoveryTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + vendorId: + $ref: '#/components/schemas/VendorId' + allowedOperationsPerNfType: + type: string + allowedOperationsPerNfInstance: + type: string + allowedOperationsPerNfInstanceOverrides: + type: boolean + sNssais: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + oauth2Required: + type: boolean + sharedServiceDataId: + type: string + defaultNotificationSubscriptions: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/DefaultNotificationSubscription' + callbackUriPrefixList: + type: array + items: + $ref: '#/components/schemas/CallbackUriPrefixItem' + supportedFeatures: + type: string + supportedVendorSpecificFeatures: + description: A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + allowedScopesRuleSet: + description: A map (list of key-value pairs) where a valid JSON pointer Id serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/RuleSet' + minProperties: 1 + nfServiceSetIdList: + description: This attribute represents a list of NF Service Set ID. + type: array + items: + type: string + perPlmnSnssaiList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/PlmnSnssai' + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + canaryRelease: + type: boolean + default: false + exclusiveCanaryReleaseSelection: + type: boolean + default: false + shutdownTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + canaryPrecedenceOverPreferred: + type: boolean + default: false + perPlmnOauth2ReqList: + $ref: '#/components/schemas/PlmnOauth2' + selectionConditions: + $ref: '#/components/schemas/SelectionConditions' + PlmnOauth2: + description: Oauth2.0 required indication for a given PLMN ID + type: object + properties: + oauth2RequiredPlmnIdList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + minItems: 1 + oauth2NotRequiredPlmnIdList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + minItems: 1 + VendorSpecificFeature: + type: object + properties: + featureName: + type: string + readOnly: true + featureVersion: + type: string + readOnly: true NFStatus: type: string description: any of enumerated value @@ -126,11 +225,12 @@ components: - SUSPENDED CNSIIdList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/CNSIId' + $ref: '#/components/schemas/CNSIId' CNSIId: type: string - description: CNSI Id is defined in TS 29.531, only for Core Network + description: CNSI Id is defined in TS 29.531, only for Core Network. EnergySavingControl: type: string description: any of enumerated value @@ -139,12 +239,14 @@ components: - TO_BE_NOT_ENERGYSAVING EnergySavingState: type: string + readOnly: true description: any of enumerated value enum: - IS_NOT_ENERGYSAVING - IS_ENERGYSAVING TACList: type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' VendorId: @@ -156,19 +258,23 @@ components: properties: nFSrvGroupId: type: string + readOnly: true supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 routingIndicators: type: array + uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' minItems: 1 suciInfos: type: array + uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' minItems: 1 @@ -192,8 +298,12 @@ components: - P_BDT - P_PLMNUE - P_NSSCD + - P_PDTQ + - P_MBSCD + - P_GROUP NotificationType: type: string + readOnly: true enum: - N1_MESSAGES - N2_INFORMATION @@ -203,6 +313,12 @@ components: - LOCATION_UPDATE_NOTIFICATION - NSSAA_REAUTH_NOTIFICATION - NSSAA_REVOC_NOTIFICATION + - MATCH_INFO_NOTIFICATION + - DATA_RESTORATION_NOTIFICATION + - TSCTS_NOTIFICATION + - LCS_KEY_DELIVERY_NOTIFICATION + - UUAA_MM_AUTH_NOTIFICATION + - DC_SESSION_EVENT_NOTIFICATION DefaultNotificationSubscription: type: object properties: @@ -210,97 +326,414 @@ components: $ref: '#/components/schemas/NotificationType' callbackURI: type: string + readOnly: true + interPlmnCallbackUri: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' n1MessageClass: type: boolean + readOnly: true n2InformationClass: type: boolean + readOnly: true versions: type: string + readOnly: true binding: type: string - ManagedNFProfile: + readOnly: true + acceptedEncoding: + type: string + readOnly: true + supportedFeatures: + type: string + readOnly: true + serviceInfoList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/DefSubServiceInfo' + minItems: 1 + callbackUriPrefix: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' + CallbackUriPrefixItem: type: object properties: - nfInstanceId: + notificationTypes: + type: array + items: + $ref: '#/components/schemas/NotificationType' + callbackUriPrefix: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' + DefSubServiceInfo: + type: object + properties: + versions: + type: array + uniqueItems: true + items: + type: string + minItems: 1 + readOnly: true + supportedFeatures: type: string + readOnly: true + ManagedNFProfile: + type: object + properties: + hniList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + minItems: 1 interPlmnFqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + nfInstanceID: + type: string + readOnly: true nfType: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' + collocatedNfInstances: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/CollocatedNfInstance' + nfInstanceName: + type: string + nfStatus: + $ref: '#/components/schemas/NFStatus' + plmnList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sNssais: + type: array + uniqueItems: true + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' heartbeatTimer: type: integer authzInfo: type: string hostAddr: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' allowedPLMNs: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' sNPNList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnpnId' + perPlmnSnssaiList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/PlmnSnssai' + priority: + type: integer + minimum: 0 + maximum: 65535 allowedSNPNs: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnpnId' allowedNfTypes: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' allowedNfDomains: type: array + uniqueItems: true items: type: string allowedNSSAIs: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + allowedRuleSet: + description: > + A map (list of key-value pairs) where a valid JSON pointer Id serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/RuleSet' + minProperties: 1 locality: type: string + extLocality: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string serves + as key representing a type of locality + type: object + additionalProperties: + type: string + minProperties: 1 capacity: type: integer + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' nfSetIdList: type: array + uniqueItems: true items: type: string + minItems: 1 servingScope: type: array + uniqueItems: true items: type: string + minItems: 1 lcHSupportInd: type: boolean + readOnly: true olcHSupportInd: type: boolean + readOnly: true nfSetRecoveryTimeList: type: array + uniqueItems: true items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' + minItems: 1 scpDomains: type: array + uniqueItems: true items: type: string + minItems: 1 recoveryTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' nfServicePersistence: type: boolean + readOnly: true nfProfileChangesSupportInd: type: boolean + nfProfilePartialUpdateChangesSupportInd: + type: boolean + default: false + writeOnly: true + nfProfileChangesInd: + type: boolean + default: false + readOnly: true defaultNotificationSubscriptions: type: array + uniqueItems: true items: $ref: '#/components/schemas/DefaultNotificationSubscription' minItems: 1 serviceSetRecoveryTimeList: type: array + uniqueItems: true items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' minItems: 1 vendorId: $ref: '#/components/schemas/VendorId' + nfServiceList: + description: > + A map (list of key-value pairs) where serviceInstanceId serves as key of NFService + type: object + additionalProperties: + $ref: '#/components/schemas/NFService' + minProperties: 1 + supportedVendorSpecificFeatures: + description: > + A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + canaryRelease: + type: boolean + default: false + exclusiveCanaryReleaseSelection: + type: boolean + default: false + sharedProfileDataId: + type: string + shutdownTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + supportedRcfs: + type: array + uniqueItems: true + items: + type: string + minItems: 1 + canaryPrecedenceOverPreferred: + type: boolean + default: false + selectionConditions: + $ref: '#/components/schemas/SelectionConditions' + + 2G3GLocationArea: + description: 2G/3G Location Area. + type: object + properties: + lai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/LocationAreaId' + rai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/RoutingAreaId' + 2G3GLocationAreaRange: + description: 2G/3G Location Area Range. + type: object + properties: + laiRange: + $ref: '#/components/schemas/LocationAreaIdRange' + raiRange: + $ref: '#/components/schemas/RoutingAreaIdRange' + LocationAreaIdRange: + description: Location Area ID Range. + type: object + required: + - plmnId + - startLac + - endLac + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + startLac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + endLac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + RoutingAreaIdRange: + description: Routing Area ID Range. + type: object + required: + - plmnId + - startLac + - endLac + - startRac + - endRac + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + startLac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + endLac: + type: string + pattern: '^[A-Fa-f0-9]{4}$' + startRac: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + endRac: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + SelectionConditions: + description: > + It contains the set of conditions that shall be evaluated to determine whether a consumer + shall select a given producer. The producer shall only be selected if the evaluation of + the conditions is . The set of conditions can be represented by a single + ConditionItem or by a ConditionGroup, where the latter contains a (recursive) list of + conditions joined by the "and" or "or" logical relationships. + oneOf: + - $ref: '#/components/schemas/ConditionItem' + - $ref: '#/components/schemas/ConditionGroup' + ConditionGroup: + description: > + List (array) of conditions (joined by the "and" or "or" logical relationship), + under which an NF Instance with an NFStatus or NFServiceStatus value set to, + "CANARY_RELEASE", or with a "canaryRelease" attribute set to true, + shall be selected by an NF Service Consumer. + type: object + oneOf: + - required: [ and ] + - required: [ or ] + properties: + and: + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + or: + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + ConditionItem: + description: > + A ConditionItem consists of a number of attributes representing individual conditions + (e.g. a SUPI range, or a TAI list). If several attributes/conditions are present, + the evaluation of the ConditionItem is if all attributes/conditions are evaluated + as (i.e., it follows the AND logical relationship). + type: object + allOf: + - not: + required: [ and ] + - not: + required: [ or ] + properties: + consumerNfTypes: + type: array + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + serviceFeature: + type: integer + minimum: 1 + vsServiceFeature: + type: integer + minimum: 1 + supiRangeList: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + impuRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + impiRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + peiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 SEPPType: type: string + readOnly: true description: any of enumerated value enum: - CSEPP @@ -316,6 +749,7 @@ components: type: array items: $ref: '#/components/schemas/SupportedFunc' + minItems: 1 CommModelType: type: string description: any of enumerated value @@ -337,17 +771,21 @@ components: type: string CommModelList: type: array + uniqueItems: true items: $ref: '#/components/schemas/CommModel' + minItems: 1 CapabilityList: type: array items: type: string + minItems: 1 FiveQiDscpMapping: type: object properties: fiveQIValues: type: array + uniqueItems: true items: type: integer dscp: @@ -363,9 +801,10 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' NetworkSliceInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/NetworkSliceInfo' - + minItems: 1 PacketErrorRate: type: object properties: @@ -418,8 +857,10 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' qosNotificationControl: type: boolean + default: false reflectiveQos: type: boolean + default: false sharingKeyDl: type: string sharingKeyUl: @@ -430,9 +871,33 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' extMaxDataBurstVol: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' + pduSetQosDl: + $ref: '#/components/schemas/PduSetQosPara' + pduSetQosUl: + $ref: '#/components/schemas/PduSetQosPara' + + PduSetQosPara: + description: Represents the PDU Set level QoS parameters. + type: object + properties: + pduSetDelayBudget: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtPacketDelBudget' + pduSetErrRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate' + pduSetHandlingInfo: + anyOf: + - type: string + enum: + - ALL_PDUS_NEEDED + - ALL_PDUS_NOT_NEEDED + - type: string + anyOf: + - required: [ pduSetDelayBudget, pduSetErrRate ] + - required: [ pduSetHandlingInfo ] QosDataList: type: array + uniqueItems: true items: $ref: '#/components/schemas/QosData' @@ -461,11 +926,13 @@ components: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' addRedirectInfo: type: array + uniqueItems: true items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' minItems: 1 muteNotif: type: boolean + default: false trafficSteeringPolIdDl: type: string nullable: true @@ -474,10 +941,13 @@ components: nullable: true routeToLocs: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 traffCorreInd: type: boolean + default: false upPathChgEvent: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' steerFun: @@ -490,11 +960,99 @@ components: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MulticastAccessControl' snssaiList: $ref: '#/components/schemas/SnssaiList' + l4sInd: + anyOf: + - type: string + enum: + - UL + - DL + - UL_DL + - type: string + TrafficControlDataList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TrafficControlData' + + QosMonitoringData: + description: Contains QoS monitoring related control information. + type: object + properties: + qmId: + type: string + description: Univocally identifies the QoS monitoring policy data within a PDU session. + qosMonParamType: + $ref: '#/components/schemas/QosMonitoringParamType' + reqQosMonParams: + type: array + items: + $ref: '#/components/schemas/RequestedQosMonitoringParameter' + minItems: 1 + description: > + Indicates the QoS information to be monitored when the QoS Monitoring is enabled for + the service data flow. + repFreqs: + type: array + items: + $ref: '#/components/schemas/ReportingFrequency' + minItems: 1 + description: > + Indicates the frequency for the reporting, such as event triggered and/or periodic. + repPeriod: + type: integer + + QosMonitoringParamType: + anyOf: + - type: string + enum: + - PACKET_DELAY + - CONGESTION + - DATA_RATE + - AVAILABLE_BITRATE + - type: string + description: | + Indicates the QoS monitoring parameter type. + Possible values are: + - PACKET_DELAY: Indicates that the QoS monitoring parameter to be measured is packet delay. + - CONGESTION: Indicates that the QoS monitoring parameter to be measured is congestion. + - DATA_RATE: Indicates that the QoS monitoring parameter to be measured is data rate. + - AVAILABLE_BITRATE: Indicates that the QoS monitoring parameter to be measured is available + bitrate. + + RequestedQosMonitoringParameter: + description: Indicates the requested QoS monitoring parameters to be measured. + anyOf: + - type: string + enum: + - DOWNLINK + - UPLINK + - ROUND_TRIP + - DOWNLINK_DATA_RATE + - UPLINK_DATA_RATE + - DOWNLINK_CONGESTION + - UPLINK_CONGESTION + - DOWNLINK_AVAILABLE_BITRATE + - UPLINK_AVAILABLE_BITRATE + - type: string + + ReportingFrequency: + description: Indicates the frequency for the reporting. + anyOf: + - type: string + enum: + - EVENT_TRIGGERED + - PERIODIC + - type: string + + ServiceFeatureMap: + type: object + properties: + featureList: + type: string + serviceName: + type: string PccRule: type: object @@ -504,6 +1062,7 @@ components: description: Univocally identifies the PCC rule within a PDU session. flowInfoList: type: array + uniqueItems: true items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' applicationId: @@ -518,26 +1077,122 @@ components: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' isAppRelocatable: type: boolean + default: false isUeAddrPreserved: type: boolean + default: false qosData: type: array + uniqueItems: true + items: + $ref: '#/components/schemas/QosDataList' + altQosParams: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/QosDataList' + trafficControlData: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/TrafficControlDataList' + conditionData: + $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ConditionData' + tscaiInputDl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + tscaiInputUl: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + easRedisIndRequired: + type: boolean + default: false + tscaiTimeDom: + type: integer + batNotificationCapable: + type: boolean + default: false + uENotifEnabled: + type: boolean + default: false + packFiltAllPrec: + type: integer + nscSupportedFeats: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ServiceFeatureMap' + qosMonitoringData: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/QosMonitoringData' + protoDescDl: + $ref: '#/components/schemas/ProtocolDescription' + protoDescUl: + $ref: '#/components/schemas/ProtocolDescription' + ProtocolDescription: + type: object + properties: + transportProto: + anyOf: + - type: string + enum: + - RTP + - SRTP + - MOQT + - type: string + rtpHeaderExtInfo: + $ref: '#/components/schemas/RtpHeaderExtInfo' + addRtpHeaderExtInfo: + type: array + uniqueItems: true items: - $ref: '#/components/schemas/QosDataList' - altQosParams: + $ref: '#/components/schemas/RtpHeaderExtInfo' + rtpPayloadInfoList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/QosDataList' - trafficControlData: + $ref: '#/components/schemas/RtpPayloadInfo' + mriTransferInfo: + type: string + RtpHeaderExtInfo: + description: RTP Header Extension information + type: object + properties: + rtpHeaderExtType: + anyOf: + - type: string + enum: + - PDU_SET_MARKING + - DYN_CHANGING_TRAFFIC_CHAR + - type: string + rtpHeaderExtId: + type: integer + minimum: 1 + maximum: 255 + longFormat: + type: boolean + pduSetSizeActive: + type: boolean + pduSetPduCountActive: + type: boolean + RtpPayloadInfo: + description: RtpPayloadInfo contains Rtp payload type and format. + type: object + properties: + rtpPayloadTypeList: type: array items: - $ref: '#/components/schemas/TrafficControlDataList' - conditionData: - $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ConditionData' - tscaiInputDl: - $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' - tscaiInputUl: - $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + type: integer + minimum: 0 + maximum: 127 + minItems: 1 + rtpPayloadFormat: + anyOf: + - type: string + enum: + - H264 + - H265 + - type: string SnssaiInfo: type: object @@ -554,23 +1209,31 @@ components: $ref: '#/components/schemas/SnssaiInfo' isSubjectToNsac: type: boolean + default: false maxNumberofUEs: type: integer eACMode: type: string + readOnly: true enum: - INACTIVE - ACTIVE + default: INACTIVE activeEacThreshold: type: integer + default: 0 deactiveEacThreshold: type: integer + default: 100 numberofUEs: type: integer + readOnly: true uEIdList: type: array + uniqueItems: true items: type: string + readOnly: true maxNumberofPDUSessions: type: integer @@ -583,7 +1246,7 @@ components: type: string nRTACpattern: type: string - + TaiRange: type: object properties: @@ -591,9 +1254,11 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' nRTACRangelist: type: array + uniqueItems: true items: $ref: '#/components/schemas/NRTACRange' - + minItems: 1 + GUAMInfo: type: object properties: @@ -604,14 +1269,16 @@ components: SupportedBMOList: type: array + uniqueItems: true items: type: string ECSAddrConfigInfo: type: array + uniqueItems: true items: type: string - + minItems: 1 DnnSmfInfoItem: type: object properties: @@ -619,21 +1286,26 @@ components: type: string dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 + SatelliteId: + type: string + pattern: '^[0-9]{5}$' + dnaiSatelliteMapping: type: object properties: dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 geoSatelliteId: - type: string - pattern: '^[0-9]{5}$' + $ref: '#/components/schemas/SatelliteId' SnssaiSmfInfoItem: type: object @@ -642,37 +1314,45 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' dnnSmfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnSmfInfoItem' + minItems: 1 5GCNfConnEcmInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/5GCNfConnEcmInfo' + minItems: 1 5GCNfConnEcmInfo: type: object description: 'Store the 5GC NF connection information' properties: 5GCNFType: type: string + readOnly: true enum: - PCF - NEF - SCEF 5GCNFIpAddress: type: string + readOnly: true 5GCNFRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' UPFConnectionInfo: type: object properties: uPFIpAddress: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostRo' uPFRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + SnssaiList: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' SnpnId: @@ -686,8 +1366,9 @@ components: type: string TaiList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' SupiRange: type: object properties: @@ -711,23 +1392,58 @@ components: properties: proseDirectDiscovery: type: boolean + default: false proseDirectCommunication: type: boolean + default: false proseL2UetoNetworkRelay: type: boolean + default: false proseL3UetoNetworkRelay: type: boolean + default: false proseL2RemoteUe: type: boolean + default: false proseL3RemoteUe: type: boolean + default: false + proseL2UetoUeRelay: + type: boolean + default: false + proseL3UetoUeRelay: + type: boolean + default: false + proseL2EndUe: + type: boolean + default: false + proseL3EndUe: + type: boolean + default: false + proseL3IntermRelay: + type: boolean + default: false + proseL3MultihopRemote: + type: boolean + default: false + proseL3NetMultihopRelay: + type: boolean + default: false + proseL3UeMultihopRelay: + type: boolean + default: false + proseL3EndUeMultihop: + type: boolean + default: false V2xCapability: type: object properties: lteV2x: type: boolean + default: false nrV2x: type: boolean + default: false InternalGroupIdRange: type: object properties: @@ -742,14 +1458,19 @@ components: properties: routingInds: type: array + uniqueItems: true items: type: string + minItems: 1 hNwPubKeyIds: type: array + uniqueItems: true items: type: integer + minItems: 1 SuciInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' SharedDataIdRange: @@ -759,24 +1480,31 @@ components: type: string SupiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' IdentityRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' + minItems: 1 InternalGroupIdRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' SupportedDataSetList: type: array items: $ref: '#/components/schemas/SupportedDataSet' + minItems: 1 SharedDataIdRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SharedDataIdRange' + minItems: 1 InterfaceUpfInfoItem: type: object properties: @@ -791,12 +1519,29 @@ components: - N6MB - N19MB - NMB9 + - S1U + - S5U + - S8U + - S11U + - S12 + - S2AU + - S2BU + - N3TRUSTEDN3GPP + - N3UNTRUSTEDN3GPP + - N9ROAMING + - SGI + - N19 + - SXAU + - SXBU + - N4U ipv4EndpointAddresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' ipv6EndpointAddresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' fqdn: @@ -819,10 +1564,12 @@ components: properties: ipv4EndpointAddresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' ipv6EndpointAddresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' fqdn: @@ -878,6 +1625,7 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' scpIpEndPoints: type: array + uniqueItems: true items: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/IpEndPoint' minItems: 1 @@ -910,11 +1658,13 @@ components: minProperties: 1 remotePlmnList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' minItems: 1 remoteSnpnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' minItems: 1 @@ -927,6 +1677,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 @@ -937,6 +1688,7 @@ components: type: object additionalProperties: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -977,6 +1729,7 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -991,12 +1744,17 @@ components: analyticsMetadataProvisioning: type: boolean default: false + roamingExchange: + type: boolean + default: false + MlAnalyticsInfo: description: ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service type: object properties: mlAnalyticsIds: type: array + uniqueItems: true items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 @@ -1006,6 +1764,7 @@ components: $ref: '#/components/schemas/TaiList' mlModelInterInfo: type: array + uniqueItems: true items: $ref: '#/components/schemas/VendorId' minItems: 0 @@ -1017,20 +1776,35 @@ components: - FL_SERVER_AND_CLIENT flTimeInterval: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' minItems: 1 + vflCapabilityType: + type: string + enum: + - VFL_SERVER + - VFL_CLIENT + - VFL_SERVER_AND_CLIENT + vflTimeInterval: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + minItems: 1 NwdafInfo: description: Information of a NWDAF NF Instance type: object properties: eventIds: type: array + uniqueItems: true items: $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' minItems: 1 nwdafEvents: type: array + uniqueItems: true items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 @@ -1038,6 +1812,7 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1047,16 +1822,19 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' servingNfSetIdList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 servingNfTypeList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' minItems: 1 mlAnalyticsList: type: array + uniqueItems: true items: $ref: '#/components/schemas/MlAnalyticsInfo' minItems: 1 @@ -1086,41 +1864,49 @@ components: minProperties: 1 addressDomains: type: array + uniqueItems: true items: type: string minItems: 1 ipv4Addresses: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' minItems: 1 ipv6Prefixes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' minItems: 1 ipv4AddrRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 1 ipv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 1 servedNfSetIdList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 remotePlmnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 remoteSnpnList: type: array + uniqueItems: true items: $ref: '#/components/schemas/PlmnIdNid' minItems: 1 @@ -1128,6 +1914,7 @@ components: $ref: '#/components/schemas/IpReachability' scpCapabilities: type: array + uniqueItems: true items: $ref: '#/components/schemas/ScpCapability' @@ -1137,14 +1924,18 @@ components: properties: appIds: type: array + uniqueItems: true items: type: string minItems: 1 + readOnly: true afIds: type: array + uniqueItems: true items: type: string minItems: 1 + readOnly: true AfEvent: description: Represents Application Events. anyOf: @@ -1166,7 +1957,7 @@ components: - 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. + is not used to encode content defined in the present version of this API. AfEventExposureData: description: AF Event Exposure data managed by a given NEF Instance type: object @@ -1175,19 +1966,32 @@ components: properties: afEvents: type: array + uniqueItems: true items: $ref: '#/components/schemas/AfEvent' minItems: 1 afIds: type: array + uniqueItems: true items: type: string minItems: 1 + readOnly: true appIds: type: array + uniqueItems: true items: type: string minItems: 1 + readOnly: true + taiList: + $ref: '#/components/schemas/TaiList' + taiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 UnTrustAfInfo: description: Information of a untrusted AF Instance type: object @@ -1204,6 +2008,21 @@ components: mappingInd: type: boolean default: false + + taiList: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' + minItems: 1 + taiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + vflInfo: + $ref: '#/components/schemas/VflInfo' SnssaiInfoItem: description: > Parameters supported by an NF for a given S-NSSAI Set of parameters supported by NF @@ -1236,16 +2055,19 @@ components: properties: sNssaiEasdfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiEasdfInfoItem' minItems: 1 easdfN6IpAddressList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 upfN6IpAddressList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 @@ -1261,6 +2083,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnEasdfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnEasdfInfoItem' minItems: 1 @@ -1277,6 +2100,7 @@ components: - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 @@ -1286,11 +2110,13 @@ components: properties: supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 internalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' minItems: 1 @@ -1300,27 +2126,39 @@ components: properties: sNssaiInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiInfoItem' minItems: 1 afEvents: type: array + uniqueItems: true items: $ref: '#/components/schemas/AfEvent' minItems: 1 appIds: type: array + uniqueItems: true items: type: string minItems: 1 internalGroupId: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' minItems: 1 mappingInd: type: boolean - default: False + default: false + taiList: + $ref: '#/components/schemas/TaiList' + taiRangeList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 ExternalClientType: description: Indicates types of External Clients. anyOf: @@ -1367,6 +2205,7 @@ components: pattern: '^[0-9]{5}$' trpIds: type: array + uniqueItems: true items: type: integer minimum: 1 @@ -1382,14 +2221,17 @@ components: maximum: 4294967295 trpMappingInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TrpMappingInfo' minItems: 1 TrpInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TrpInfo' + minItems: 1 LmfInfo: description: Information of an LMF NF Instance @@ -1397,6 +2239,7 @@ components: properties: servingClientTypes: type: array + uniqueItems: true items: $ref: '#/components/schemas/ExternalClientType' minItems: 1 @@ -1404,31 +2247,37 @@ components: type: string servingAccessTypes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 servingAnNodeTypes: type: array + uniqueItems: true items: $ref: '#/components/schemas/AnNodeType' minItems: 1 servingRatTypes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' minItems: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 supportedGADShapes: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupportedGADShapes' minItems: 1 @@ -1440,11 +2289,13 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -1462,32 +2313,38 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 routingIndicators: type: array + uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' minItems: 1 internalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' minItems: 1 suciInfos: type: array + uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' minItems: 1 @@ -1515,6 +2372,7 @@ components: type: boolean remotePlmnRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/PlmnRange' minItems: 1 @@ -1525,11 +2383,13 @@ components: properties: servingNfTypeList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' minItems: 1 servingNfSetIdList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 @@ -1537,6 +2397,7 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1547,16 +2408,19 @@ components: properties: servingNfTypeList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' servingNfSetIdList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' taiList: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' @@ -1568,16 +2432,19 @@ components: properties: supiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 0 gpsiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 0 plmnRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/PlmnRange' minItems: 0 @@ -1597,11 +2464,13 @@ components: properties: ipv4EndpointAddress: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 ipv6EndpointAddress: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 @@ -1612,36 +2481,41 @@ components: description: Information of an AMF NF Instance type: object required: - - aMFSetId - - aMFRegionId + - amfSetId + - amfRegionId - guamiList properties: - aMFSetId: + amfSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfSetId' - aMFRegionId: + amfRegionId: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' guamiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 backupInfoAmfFailure: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 backupInfoAmfRemoval: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 @@ -1652,6 +2526,17 @@ components: default: false highLatencyCom: type: boolean + amfEvents: + type: array + items: + type: string + minItems: 1 + praIdList: + type: array + items: + type: string + minItems: 1 + SmfInfo: description: Information of an SMF NF Instance @@ -1661,16 +2546,19 @@ components: properties: sNssaiSmfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiSmfInfoItem' minItems: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1678,11 +2566,13 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' pgwIpAddrList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 accessType: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 @@ -1694,6 +2584,7 @@ components: type: boolean pgwFqdnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' minItems: 1 @@ -1715,26 +2606,32 @@ components: properties: sNssaiUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiUpfInfoItem' minItems: 1 smfServingArea: type: array + uniqueItems: true items: type: string minItems: 1 interfaceUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/InterfaceUpfInfoItem' minItems: 1 iwkEpsInd: type: boolean default: false + readOnly: true sxaInd: type: boolean + readOnly: true pduSessionTypes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' minItems: 1 @@ -1743,13 +2640,16 @@ components: ueIpAddrInd: type: boolean default: false + readOnly: true taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1769,6 +2669,7 @@ components: redundantGtpu: type: boolean default: false + readOnly: true ipups: type: boolean default: false @@ -1777,11 +2678,44 @@ components: default: false supportedPfcpFeatures: type: string - # upfEvents: - # type: array - # items: - # $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/EventType' - # minItems: 1 + readOnly: true + uniqueItems: true + upfEvents: + type: array + uniqueItems: true + items: + type: string + minItems: 1 + 2g3gLocationAreaList: + type: array + items: + $ref: '#/components/schemas/2G3GLocationArea' + minItems: 1 + 2g3gLocationAreaRangeList: + type: array + items: + $ref: '#/components/schemas/2G3GLocationAreaRange' + minItems: 1 + preferredEpdgInfoList: + type: array + items: + $ref: '#/components/schemas/IpInterface' + minItems: 1 + preferredWAgfInfoList: + type: array + items: + $ref: '#/components/schemas/IpInterface' + minItems: 1 + preferredTngfInfoList: + type: array + items: + $ref: '#/components/schemas/IpInterface' + minItems: 1 + preferredTwifInfoList: + type: array + items: + $ref: '#/components/schemas/IpInterface' + minItems: 1 PcfInfo: description: Information of a PCF NF Instance @@ -1791,16 +2725,19 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' dnnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -1811,9 +2748,11 @@ components: v2xSupportInd: type: boolean default: false + readOnly: true proseSupportInd: type: boolean default: false + readOnly: true proseCapability: $ref: '#/components/schemas/ProseCapability' v2xCapability: @@ -1821,11 +2760,13 @@ components: a2xSupportInd: type: boolean default: false + readOnly: true a2xCapability: $ref: '#/components/schemas/A2xCapability' rangingSlPosSupportInd: type: boolean - default: false + default: false + readOnly: true A2xCapability: description: Information of the supported A2X Capability by the PCF @@ -1851,16 +2792,19 @@ components: $ref: '#/components/schemas/AfEventExposureData' gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 servedFqdnList: type: array + uniqueItems: true items: type: string minItems: 1 @@ -1868,16 +2812,19 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 unTrustAfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/UnTrustAfInfo' minItems: 1 @@ -2321,6 +3268,7 @@ components: NTNPLMNRestrictionsList: description: NTNPLMNRestrictionsInfoList that relates to non-terrestrial network access type: array + uniqueItems: true items: $ref: '#/components/schemas/NTNPLMNRestrictionsInfo' NTNPLMNRestrictionsInfo: @@ -2331,6 +3279,7 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' blockedLocationInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/BlockedLocationInfo' BlockedLocationInfo: @@ -2427,26 +3376,31 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' imsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/ImsiRange' minItems: 1 imsPrivateIdentityRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 imsPublicIdentityRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 msisdnRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -2454,6 +3408,7 @@ components: $ref: '#/components/schemas/NetworkNodeDiameterAddress' additionalDiamAddresses: type: array + uniqueItems: true items: $ref: '#/components/schemas/NetworkNodeDiameterAddress' minItems: 1 @@ -2463,10 +3418,12 @@ components: properties: servingClientTypes: type: array + uniqueItems: true items: $ref: '#/components/schemas/ExternalClientType' gmlcNumbers: type: array + uniqueItems: true items: type: string pattern: '^[0-9]{5,15}$' @@ -2476,12 +3433,15 @@ components: type: object required: - sNssai - - dnnInfoList + anyOf: + - required: [ dnnUpfInfoList ] + - required: [ dnnUpfInfoListId ] properties: sNssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnTsctsfInfoItem' minItems: 1 @@ -2506,18 +3466,22 @@ components: minProperties: 0 externalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' internalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' @@ -2527,21 +3491,25 @@ components: properties: dnnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 0 ipDomainList: type: array + uniqueItems: true items: type: string minItems: 0 ipv4AddressRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 0 ipv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 0 @@ -2553,11 +3521,13 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 0 gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 0 @@ -2578,11 +3548,13 @@ components: minProperties: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -2598,7 +3570,7 @@ components: required: - mbsServiceIdStart - mbsServiceIdEnd - - plmnId + - plMNId properties: mbsServiceIdStart: type: string @@ -2665,7 +3637,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' required: - mbsServiceId - - plmnId + - plMNId Ssm: description: Source specific IP multicast address @@ -2685,12 +3657,14 @@ components: properties: ncgiList: type: array + uniqueItems: true items: $ref: '#/components/schemas/NcgiTai' minItems: 1 description: List of NR cell Ids taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 @@ -2707,6 +3681,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' cellList: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ncgi' minItems: 1 @@ -2742,6 +3717,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnMbSmfInfoItem' minItems: 1 @@ -2763,6 +3739,7 @@ components: properties: routingIndicators: type: array + uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' @@ -2775,26 +3752,31 @@ components: properties: sNssaiMbUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiUpfInfoItem' minItems: 1 mbSmfServingArea: type: array + uniqueItems: true items: type: string minItems: 1 interfaceMbUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/InterfaceUpfInfoItem' minItems: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -2815,12 +3797,20 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnUpfInfoItem' minItems: 1 redundantTransport: type: boolean default: false + interfaceUpfInfoList: + type: array + items: + $ref: '#/components/schemas/InterfaceUpfInfoItem' + minItems: 1 + dnnUpfInfoListId: + type: integer IpIndex: description: Represents the IP Index to be sent from UDM to the SMF (its value can be either an integer or a string) anyOf: @@ -2836,34 +3826,42 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' pduSessionTypes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' ipv4AddressRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' ipv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' natedIpv4AddressRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' natedIpv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' ipv4IndexList: type: array + uniqueItems: true items: $ref: '#/components/schemas/IpIndex' ipv6IndexList: type: array + uniqueItems: true items: $ref: '#/components/schemas/IpIndex' networkInstance: @@ -2879,6 +3877,23 @@ components: additionalProperties: type: string minProperties: 1 + interfaceUpfInfoList: + type: array + items: + $ref: '#/components/schemas/InterfaceUpfInfoItem' + minItems: 1 + privateIpv4AddressRangesPerIpDomain: + description: > + Map of private IPv4 Address Ranges Per Ip Domain, where the key of the map is the IP. + Domain. When present, the value of each entry of the map shall contain a IPv4 private + address ranges configured for that IP domain. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + minProperties: 1 not: required: [ networkInstance, dnaiNwInstanceList ] MnpfInfo: @@ -2887,6 +3902,7 @@ components: properties: msisdnRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -2899,18 +3915,20 @@ components: pLMNInfo: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfo' expiryTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' PcscfInfo: description: Information of a P-CSCF NF Instance type: object properties: accessType: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 dnnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 @@ -2918,11 +3936,13 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' gmIpv4Addresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 gmIpv6Addresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 @@ -2930,21 +3950,25 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' mwIpv4Addresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 mwIpv6Addresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 servedIpv4AddressRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 1 servedIpv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 1 @@ -2953,7 +3977,245 @@ components: type: object properties: nfType: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' + SAP: + type: object + properties: + host: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' + port: + type: integer + NFServiceType: + type: string + enum: + - NAMF_COMMUNICATION + - NAMF_EVENTEXPOSURE + - NAMF_MT + - NAMF_LOCATION + - NSMF_PDUSESSION + - NSMF_EVENTEXPOSURE + - OTHERS + readOnly: true + Operation: + type: object + properties: + name: + type: string + readOnly: true + allowedNFTypes: + $ref: '#/components/schemas/NFType' + operationSemantics: + $ref: '#/components/schemas/OperationSemantics' + NFType: + description: NF name defined in TS 23.501 or TS 29.510'.This datatype is used for writable attribute + type: string + enum: + - NRF + - UDM + - AMF + - SMF + - AUSF + - NEF + - PCF + - SMSF + - NSSF + - UDR + - LMF + - GMLC + - 5G_EIR + - SEPP + - UPF + - N3IWF + - AF + - UDSF + - DN + - BSF + - CHF + - NWDAF + - PCSCF + - CBCF + - HSS + - UCMF + - SOR_AF + - SPAF + - MME + - SCSAS + - SCEF + - SCP + - NSSAAF + - ICSCF + - SCSCF + - DRA + - IMS_AS + - AANF + - 5G_DDNMF + - NSACF + - MFAF + - EASDF + - DCCF + - MB_SMF + - TSCTSF + - ADRF + - GBA_BSF + - CEF + - MB_UPF + - NSWOF + - PKMF + - MNPF + - SMS_GMSC + - SMS_IWMSC + - MBSF + - MBSTF + - PANF + - TNGF + - W_AGF + - TWIF + - TSN_AF + + OperationSemantics: + type: string + readOnly: true + enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY + RegistrationState: + type: string + readOnly: true + enum: + - REGISTERED + - DEREGISTERED + CollocatedNfInstance: + description: Information of an collocated NF Instance registered in the NRF + type: object + required: + - nfInstanceId + - nfType + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfType: + $ref: '#/components/schemas/NFType' + PlmnSnssai: + description: List of network slices (S-NSSAIs) for a given PLMN ID + type: object + required: + - plmnId + - sNssaiList + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + sNssaiList: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + RuleSet: + type: object + required: + - priority + - action + properties: + priority: + type: integer + minimum: 0 + maximum: 65535 + plmns: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + snpns: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + nfTypes: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NFType' + nfDomains: + type: array + uniqueItems: true + items: + type: string + nssais: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + nfInstances: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + scopes: + type: array + uniqueItems: true + items: + type: string + action: + type: string + enum: + - ALLOW + - DENY + AIoTgNBInfo: + type: object + required: + - gNBId + - servedReaderInfoList + properties: + gNBId: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/GnbId' + servedReaderInfoList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ServedReaderInfo' + ServedReaderInfo: + type: object + required: + - readerId + - servedAIOTAreas + properties: + readerId: + type: integer + servedAIOTAreas: + type: array + uniqueItems: true + items: + type: string + #$ref: 'TS28541_NrNrm.yaml#/components/schemas/ServedAIOTAreaID' + readerLocation: + type: string + VflInfo: + description: Indicates the Vfl capability supported by the NWDAF/TrustAF/unTrustAF + type: object + properties: + vflAnalyticsIds: + type: array + uniqueItems: true + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + vflCapabilityType: + type: string + enum: + - VFL_SERVER + - VFL_CLIENT + - VFL_SERVER_AND_CLIENT + vflClientAggrCap: + type: boolean + default: false + vflTimeInterval: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + vflInterInfo: + $ref: '#/components/schemas/VendorId' + featureId: + type: string #-------- Definition of types for name-containments ------ SubNetwork-ncO-5GcNrm: @@ -3047,6 +4309,10 @@ components: $ref: '#/components/schemas/MbUpfFunction-Multiple' MNPFFunction: $ref: '#/components/schemas/MnpfFunction-Multiple' + AiotfFunction: + $ref: '#/components/schemas/AiotfFunction-Multiple' + AdmFunction: + $ref: '#/components/schemas/AdmFunction-Multiple' #-------- Definition of concrete IOCs -------------------------------------------- AmfFunction-Single: @@ -3076,13 +4342,14 @@ components: nTNPLMNRestrictionsList: $ref: '#/components/schemas/NTNPLMNRestrictionsList' satelliteCoverageInfoList: - $ref: '#/components/schemas/SatelliteCoverageInfoList' + $ref: '#/components/schemas/SatelliteCoverageInfoList' amfInfo: $ref: '#/components/schemas/AmfInfo' sliceExpiryInfo: $ref: '#/components/schemas/SliceExpiryInfo' satelliteBackhaulInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SatelliteBackhaulInfo' minItems: 1 @@ -3090,7 +4357,9 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' mdtUserConsentReqList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/MdtUserConsentReqList' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N2: @@ -3127,6 +4396,8 @@ components: $ref: '#/components/schemas/EP_N89-Multiple' EP_N11mb: $ref: '#/components/schemas/EP_N11mb-Multiple' + EP_AIOT3: + $ref: '#/components/schemas/EP_AIOT3-Multiple' AmfSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3194,16 +4465,22 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' SmfInfo: - $ref: '#/components/schemas/SmfInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SmfInfo' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' dnaiSatelliteMappingList: type: array + uniqueItems: true items: $ref: '#/components/schemas/dnaiSatelliteMapping' + minItems: 1 - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N4: @@ -3258,8 +4535,18 @@ components: supportedBMOList: $ref: '#/components/schemas/SupportedBMOList' upfInfo: - $ref: '#/components/schemas/UpfInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/UpfInfo' + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' + uPFCapabilities: + type: string - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3: @@ -3287,6 +4574,7 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3: @@ -3314,14 +4602,18 @@ components: supportedBMOList: $ref: '#/components/schemas/SupportedBMOList' PcfInfo: - $ref: '#/components/schemas/PcfInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/PcfInfo' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' predefinedPccRuleSetRefs: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N5: @@ -3360,6 +4652,7 @@ components: ausfInfo: $ref: '#/components/schemas/AusfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N12: @@ -3391,6 +4684,7 @@ components: udmInfo: $ref: '#/components/schemas/UdmInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N8: @@ -3424,6 +4718,11 @@ components: udrInfo: $ref: '#/components/schemas/UdrInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + - type: object + properties: + EP_AIOT7: + $ref: '#/components/schemas/EP_AIOT7-Multiple' UdsfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3443,6 +4742,7 @@ components: udsfInfo: $ref: '#/components/schemas/UdsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' NrfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3463,7 +4763,10 @@ components: $ref: '#/components/schemas/NFProfileList' nrfInfo: $ref: '#/components/schemas/NrfInfo' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N27: @@ -3472,6 +4775,8 @@ components: $ref: '#/components/schemas/EP_N96-Multiple' EP_SM14: $ref: '#/components/schemas/EP_SM14-Multiple' + EP_AIOT5: + $ref: '#/components/schemas/EP_AIOT5-Multiple' NssfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3493,6 +4798,7 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N22: @@ -3522,6 +4828,7 @@ components: smsfInfo: $ref: '#/components/schemas/SmsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N20: @@ -3553,12 +4860,23 @@ components: trpInfoList: $ref: '#/components/schemas/TrpInfoList' mappedCellIdInfoList: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' + $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + aIMLInferenceFunctionRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_NL1: $ref: '#/components/schemas/EP_NL1-Multiple' + EP_NL8: + $ref: '#/components/schemas/EP_NL8-Multiple' + EP_NL7: + $ref: '#/components/schemas/EP_NL7-Multiple' + EP_NL10: + $ref: '#/components/schemas/EP_NL10-Multiple' NgeirFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3580,6 +4898,7 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N17: @@ -3595,16 +4914,18 @@ components: - type: object properties: plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnIdRo' sEPPType: $ref: '#/components/schemas/SEPPType' sEPPId: type: integer + readOnly: true fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' seppInfo: $ref: '#/components/schemas/SeppInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N32: @@ -3637,10 +4958,16 @@ components: $ref: '#/components/schemas/NwdafInfo' nwdafLogicalFuncSupported: type: string + readOnly: true enum: - NWDAF_WITH_ANLF - NWDAF_WITH_MTLF - NWDAF_WITH_ANLF_MTLF + roamingAnalytics: + type: boolean + roamingData: + type: boolean + - type: object properties: EP_NL3: @@ -3650,7 +4977,7 @@ components: AnLFFunction: $ref: '#/components/schemas/AnLFFunction-Single' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ScpFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3664,10 +4991,11 @@ components: supportedFuncList: $ref: '#/components/schemas/SupportedFuncList' address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' scpInfo: $ref: '#/components/schemas/ScpInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_SM13: @@ -3692,9 +5020,11 @@ components: $ref: '#/components/schemas/CapabilityList' isCAPIFSup: type: boolean + readOnly: true nefInfo: $ref: '#/components/schemas/NefInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N33: @@ -3707,6 +5037,10 @@ components: $ref: '#/components/schemas/EP_N62-Multiple' EP_N63: $ref: '#/components/schemas/EP_N63-Multiple' + EP_AIOT4: + $ref: '#/components/schemas/EP_AIOT4-Multiple' + EP_AIOT8: + $ref: '#/components/schemas/EP_AIOT8-Multiple' NsacfFunction-Single: allOf: @@ -3722,11 +5056,13 @@ components: $ref: '#/components/schemas/ManagedNFProfile' nsacfInfoSnssai: type: array + uniqueItems: true items: $ref: '#/components/schemas/NsacfInfoSnssai' nsacfInfo: $ref: '#/components/schemas/NsacfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N60: @@ -3751,6 +5087,7 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_Npc4: @@ -3782,7 +5119,12 @@ components: type: string easdfInfo: $ref: '#/components/schemas/EasdfInfo' + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N88: @@ -3804,11 +5146,11 @@ components: eDNServiceArea: $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/ServingLocation' eASIpAddress: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' eESIpAddress: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' eCSIpAddress: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' ednIdentifier: type: string ecmConnectionType: @@ -3838,6 +5180,7 @@ components: amfIdentifier: $ref: '#/components/schemas/AmfIdentifier' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalNrfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3851,6 +5194,7 @@ components: plmnIdList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalNssfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3864,6 +5208,7 @@ components: plmnIdList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalSeppFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3875,13 +5220,74 @@ components: - type: object properties: plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnIdRo' sEPPId: type: integer + readOnly: true fqdn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/FqdnRo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + AiotfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + aIOTgNBInfo: + $ref: '#/components/schemas/AIoTgNBInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + - type: object + properties: + EP_AIOT2: + $ref: '#/components/schemas/EP_AIOT2-Multiple' + EP_AIOT3: + $ref: '#/components/schemas/EP_AIOT3-Multiple' + EP_AIOT4: + $ref: '#/components/schemas/EP_AIOT4-Multiple' + EP_AIOT5: + $ref: '#/components/schemas/EP_AIOT5-Multiple' + EP_AIOT6: + $ref: '#/components/schemas/EP_AIOT6-Multiple' + AdmFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + - type: object + properties: + EP_AIOT6: + $ref: '#/components/schemas/EP_AIOT6-Multiple' + EP_AIOT7: + $ref: '#/components/schemas/EP_AIOT7-Multiple' + EP_AIOT8: + $ref: '#/components/schemas/EP_AIOT8-Multiple' + EP_N2-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3911,7 +5317,7 @@ components: remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' EP_N4-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4210,7 +5616,7 @@ components: remotePlmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' remoteSeppAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' remoteSeppId: type: integer n32cParas: @@ -4373,6 +5779,34 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL7-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL8-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' EP_NL9-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4387,7 +5821,20 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - + EP_NL10-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' EP_N60-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4473,7 +5920,112 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - + + EP_AIOT2-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT3-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT4-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT5-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT6-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT7-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT8-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + FiveQiDscpMappingSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4485,6 +6037,7 @@ components: properties: fiveQiDscpMappingList: type: array + uniqueItems: true items: $ref: '#/components/schemas/FiveQiDscpMapping' @@ -4555,20 +6108,28 @@ components: - DISABLED gtpUPathMonitoredSNSSAIs: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' monitoredDSCPs: type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 255 isEventTriggeredGtpUPathMonitoringSupported: type: boolean + readOnly: true + default: true isPeriodicGtpUMonitoringSupported: type: boolean + readOnly: true + default: true isImmediateGtpUMonitoringSupported: type: boolean + readOnly: true + default: true gtpUPathDelayThresholds: $ref: '#/components/schemas/GtpUPathDelayThresholdsType' gtpUPathMinimumWaitTime: @@ -4592,39 +6153,34 @@ components: - DISABLED qFMonitoredSNSSAIs: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' qFMonitored5QIs: type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 255 isEventTriggeredQFMonitoringSupported: type: boolean + readOnly: true + default: true isPeriodicQFMonitoringSupported: type: boolean + readOnly: true + default: true isSessionReleasedQFMonitoringSupported: type: boolean + readOnly: true + default: true qFPacketDelayThresholds: $ref: '#/components/schemas/QFPacketDelayThresholdsType' qFMinimumWaitTime: type: integer qFMeasurementPeriod: type: integer - qFMonitoredSatelliteBackhaulCategories: - type: array - items: - $ref: '#/components/schemas/SatelliteBackhaulCategories' - - SatelliteBackhaulCategories: - type: string - description: any of enumerated value - enum: - - DYNAMIC_GEO - - DYNAMIC_MEO - - DYNAMIC_LEO - - DYNAMIC_OTHER_SAT PredefinedPccRuleSet-Single: allOf: @@ -4637,8 +6193,10 @@ components: properties: predefinedPccRules: type: array + uniqueItems: true items: - $ref: '#/components/schemas/PccRule' + $ref: '#/components/schemas/PccRule' + minItems: 1 AfFunction-Single: allOf: @@ -4659,6 +6217,7 @@ components: trustAfInfo: $ref: '#/components/schemas/TrustAfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N5: @@ -4693,6 +6252,7 @@ components: nssafInfo: $ref: '#/components/schemas/NssaafInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' EP_N58-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4744,6 +6304,7 @@ components: dccfInfo: $ref: '#/components/schemas/DccfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' MfafFunction-Single: allOf: @@ -4766,6 +6327,7 @@ components: mfafInfo: $ref: '#/components/schemas/MfafInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ChfFunction-Single: allOf: @@ -4788,6 +6350,7 @@ components: chfInfo: $ref: '#/components/schemas/ChfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N28: @@ -4950,6 +6513,7 @@ components: gmlcInfo: $ref: '#/components/schemas/GmlcInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_NL2: @@ -4962,6 +6526,8 @@ components: $ref: '#/components/schemas/EP_NL6-Multiple' EP_NL9: $ref: '#/components/schemas/EP_NL9-Multiple' + EP_NL10: + $ref: '#/components/schemas/EP_NL10-Multiple' TsctsfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4983,6 +6549,7 @@ components: tsctsfInfo: $ref: '#/components/schemas/TsctsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N84: @@ -5104,8 +6671,12 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' bsfInfo: - $ref: '#/components/schemas/BsfInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/BsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' MbSmfFunction-Single: allOf: @@ -5126,6 +6697,7 @@ components: mbSmfInfo: $ref: '#/components/schemas/MbSmfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N11mb: @@ -5199,6 +6771,7 @@ components: mbUpfInfo: $ref: '#/components/schemas/MbUpfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3mb: @@ -5229,6 +6802,7 @@ components: mnpfInfo: $ref: '#/components/schemas/MnpfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_SM12: @@ -5308,10 +6882,11 @@ components: enum: - ACTIVATED - DEACTIVATED + readOnly: true mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' EP_SM12-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -5354,9 +6929,48 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' +#-------- Definition of abstract IOCs -------------------------------------------- + ManagedFunction5GC-nc0: + type: object + properties: + ManagedNFService: + $ref: '#/components/schemas/ManagedNFService-Multiple' +#-------- Definition of abstract IOCs -------------------------------------------- -#-------- Definition of JSON arrays for name-contained IOCs ---------------------- +#-------- Definition of 5GC common IOCs -------------------------------------------- + ManagedNFService-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + nFServiceType: + $ref: '#/components/schemas/NFServiceType' + sAP: + $ref: '#/components/schemas/SAP' + operations: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/Operation' + minItems: 1 + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + usageState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UsageState' + registrationState: + $ref: '#/components/schemas/RegistrationState' + +#-------- Definition of 5GC common IOCs -------------------------------------------- + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- AmfFunction-Multiple: type: array items: @@ -5465,7 +7079,15 @@ components: type: array items: $ref: '#/components/schemas/EASDFFunction-Single' - + AiotfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AiotfFunction-Single' + AdmFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AdmFunction-Single' + EP_N2-Multiple: type: array items: @@ -5622,10 +7244,22 @@ components: type: array items: $ref: '#/components/schemas/EP_NL6-Single' + EP_NL7-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL7-Single' + EP_NL8-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL8-Single' EP_NL9-Multiple: type: array items: $ref: '#/components/schemas/EP_NL9-Single' + EP_NL10-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL10-Single' EP_N60-Multiple: type: array items: @@ -5726,6 +7360,34 @@ components: type: array items: $ref: '#/components/schemas/EP_SM14-Single' + EP_AIOT2-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT2-Single' + EP_AIOT3-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT3-Single' + EP_AIOT4-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT4-Single' + EP_AIOT5-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT5-Single' + EP_AIOT6-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT6-Single' + EP_AIOT7-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT7-Single' + EP_AIOT8-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT8-Single' Configurable5QISet-Multiple: type: array items: @@ -5794,7 +7456,10 @@ components: type: array items: $ref: '#/components/schemas/MnpfFunction-Single' - + ManagedNFService-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedNFService-Single' #------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- resources-5gcNrm: @@ -5819,6 +7484,7 @@ components: - $ref: '#/components/schemas/NefFunction-Single' - $ref: '#/components/schemas/NsacfFunction-Single' - $ref: '#/components/schemas/DDNMFFunction-Single' + - $ref: '#/components/schemas/ManagedNFService-Single' - $ref: '#/components/schemas/ExternalAmfFunction-Single' - $ref: '#/components/schemas/ExternalNrfFunction-Single' @@ -5896,7 +7562,10 @@ components: - $ref: '#/components/schemas/EP_NL3-Single' - $ref: '#/components/schemas/EP_NL5-Single' - $ref: '#/components/schemas/EP_NL6-Single' + - $ref: '#/components/schemas/EP_NL7-Single' + - $ref: '#/components/schemas/EP_NL8-Single' - $ref: '#/components/schemas/EP_NL9-Single' + - $ref: '#/components/schemas/EP_NL10-Single' - $ref: '#/components/schemas/EP_N11mb-Single' - $ref: '#/components/schemas/EP_N16mb-Single' - $ref: '#/components/schemas/EP_Nmb1-Single' @@ -5904,6 +7573,14 @@ components: - $ref: '#/components/schemas/EP_SM12-Single' - $ref: '#/components/schemas/EP_SM13-Single' - $ref: '#/components/schemas/EP_SM14-Single' + + - $ref: '#/components/schemas/EP_AIOT2-Single' + - $ref: '#/components/schemas/EP_AIOT3-Single' + - $ref: '#/components/schemas/EP_AIOT4-Single' + - $ref: '#/components/schemas/EP_AIOT5-Single' + - $ref: '#/components/schemas/EP_AIOT6-Single' + - $ref: '#/components/schemas/EP_AIOT7-Single' + - $ref: '#/components/schemas/EP_AIOT8-Single' - $ref: '#/components/schemas/Configurable5QISet-Single' - $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' @@ -5923,3 +7600,5 @@ components: - $ref: '#/components/schemas/MbSmfFunction-Single' - $ref: '#/components/schemas/MbUpfFunction-Single' - $ref: '#/components/schemas/MnpfFunction-Single' + - $ref: '#/components/schemas/AiotfFunction-Single' + - $ref: '#/components/schemas/AdmFunction-Single' -- GitLab From e553c92bdacb31a34a04265a31179b4c93bac715 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:51:25 +0000 Subject: [PATCH 13/93] Replace TS28541_NrNrm.yaml --- OpenAPI/TS28541_NrNrm.yaml | 739 ++++++++++++++++++++++++++++--------- 1 file changed, 556 insertions(+), 183 deletions(-) diff --git a/OpenAPI/TS28541_NrNrm.yaml b/OpenAPI/TS28541_NrNrm.yaml index 0c1387c8..d1dad379 100755 --- a/OpenAPI/TS28541_NrNrm.yaml +++ b/OpenAPI/TS28541_NrNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: NR NRM - version: 18.13.0 + version: 20.0.0 description: >- OAS 3.0.1 specification of the NR NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -34,6 +34,7 @@ components: type: integer minimum: 0 maximum: 68719476735 + readOnly: true Sst: type: integer @@ -48,8 +49,13 @@ components: type: string pattern: '^[A-Fa-f0-9]{6}$' + SatelliteId: + type: string + pattern: '^[0-9]{5}$' + PlmnIdList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' PlmnInfo: @@ -63,42 +69,62 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' PlmnInfoList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/PlmnInfo' - NpnIdentityList: + $ref: '#/components/schemas/PlmnInfo' + minItems: 1 + NPNIdentityList: type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NpnId-Type' - GGnbId: - type: string - pattern: '^[0-9]{3}[0-9]{2,3}-(22|23|24|25|26|27|28|29|30|31|32)-[0-9]{1,10}' - GEnbId: - type: string - pattern: '^[0-9]{3}[0-9]{2,3}-(18|20|21|22)-[0-9]{1,7}' + minItems: 1 + GgNBId: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + gnbId: + $ref: '#/components/schemas/GnbId' + GeNBId: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + enbId: + type: integer + minimum: 0 + maximum: 4194303 - GGnbIdList: + GgNBIdList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/GGnbId' + $ref: '#/components/schemas/GgNBId' - GEnbIdList: + GeNBIdList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/GEnbId' + $ref: '#/components/schemas/GeNBId' NrPci: type: integer maximum: 503 - NrTac: + NRTAC: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' - NrTacList: + NRTACList: type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' TaiList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' BackhaulAddress: type: object properties: @@ -133,12 +159,12 @@ components: type: string description: >- Time of day is in HH:MM or H:MM 24-hour format per UTC time zone. - Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + Examples, 20:15, 20:15-08:00 (for 8 hours behind UTC). endTime: type: string description: >- Time of day is in HH:MM or H:MM 24-hour format per UTC time zone. - Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + Examples, 20:15, 20:15-08:00 (for 8 hours behind UTC). daysOfWeek: type: string enum: @@ -167,7 +193,7 @@ components: type: integer minimum: 0 maximum: 100 - numberOfPreamblesSent: + NumberOfPreamblesSent: type: integer minimum: 0 maximum: 200 @@ -175,6 +201,7 @@ components: UeAccDelayProbabilityDist: type: array + uniqueItems: true items: $ref: '#/components/schemas/UeAccDelayProbability' @@ -192,6 +219,7 @@ components: NRPciList: type: array + uniqueItems: true items: $ref: '#/components/schemas/NrPci' minItems: 0 @@ -199,6 +227,7 @@ components: CSonPciList: type: array + uniqueItems: true items: $ref: '#/components/schemas/NrPci' minItems: 1 @@ -235,10 +264,11 @@ components: - IDLE - INACTIVE - ACTIVE + readOnly: true CyclicPrefix: type: string enum: - - NORMAL, + - NORMAL - EXTENDED TxDirection: type: string @@ -256,6 +286,7 @@ components: type: string enum: - INITIAL + - INITIAL_REDCAP - OTHER IsESCoveredBy: type: string @@ -263,24 +294,24 @@ components: - NO - PARTIAL - FULL - RrmPolicyMember: + RRMPolicyMember: type: object properties: plmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' snssai: $ref: '#/components/schemas/Snssai' - RrmPolicyMemberList: + RRMPolicyMemberList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/RrmPolicyMember' + $ref: '#/components/schemas/RRMPolicyMember' + minItems: 1 AddressWithVlan: type: object properties: - ipv4Address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' - ipv6Address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + iPAddress: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' vlanId: type: integer minimum: 0 @@ -295,13 +326,7 @@ components: minimum: 0 maximum: 65535 RemoteAddress: - type: object - properties: - ipv4Address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' - ipv6Address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' - + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' QOffsetRange: type: integer default: 0 @@ -339,6 +364,7 @@ components: - 1 QOffsetFreq: type: number + default: 0 TReselectionNRSf: type: integer enum: @@ -381,7 +407,6 @@ components: type: integer minimum: -1800 maximum: 1800 - RSSetId: type: integer maximum: 4194303 @@ -408,9 +433,16 @@ components: rimRSStartingFrequencyOffsetIdList: type: array + uniqueItems: true items: type: integer - + minimum: 0 + maximum: 550 + minItems: 1 + maxItems: 4 + description: > + It is a list of configured frequency offsets in units of resource blocks. + Only 1,2 or 4 number of elements allowed in the array. SequenceDomainPara: type: object properties: @@ -418,19 +450,30 @@ components: type: integer rimRSScrambleIdListofRS1: type: array + uniqueItems: true items: type: integer + minimum: 0 + maximum: 1023 + minItems: 1 + maxItems: 8 nrofRIMRSSequenceCandidatesofRS2: type: integer rimRSScrambleIdListofRS2: type: array + uniqueItems: true items: type: integer + minimum: 0 + maximum: 1023 + minItems: 1 + maxItems: 8 enableEnoughNotEnoughIndication: type: string enum: - ENABLE - - DISABLE + - DISABLE + default: DISABLE rIMRSScrambleTimerMultiplier: type: integer rIMRSScrambleTimerOffset: @@ -481,22 +524,26 @@ components: type: integer consecutiveRIMRS1List: type: array + uniqueItems: true items: type: integer consecutiveRIMRS2List: type: array + uniqueItems: true items: type: integer enablenearfarIndicationRS1: type: string enum: - ENABLE - - DISABLE + - DISABLE + default: DISABLE enablenearfarIndicationRS2: type: string enum: - ENABLE - - DISABLE + - DISABLE + default: DISABLE RimRSReportInfo: type: object @@ -520,7 +567,8 @@ components: type: string enum: - ENABLE - - DISABLE + - DISABLE + default: DISABLE reportInterval: type: integer nrofRIMRSReportInfo: @@ -529,23 +577,24 @@ components: type: integer rimRSReportInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/RimRSReportInfo' TceIDMappingInfo: type: object properties: - TceIPAddress: - oneOf: - - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' - - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' - TceID: + tceIPAddress: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + tceID: type: integer - PlmnTarget: + pLMNTarget: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' TceIDMappingInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TceIDMappingInfo' + minItems: 1 ResourceType: type: string enum: @@ -561,6 +610,11 @@ components: type: integer minValue: type: integer + NTNTAClist: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NRTAC' Ephemeris: type: object oneOf: @@ -571,8 +625,7 @@ components: - epochTime properties: satelliteId: - type: string - pattern: '^[0-9]{5}$' + $ref: '#/components/schemas/SatelliteId' epochTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' positionVelocity: @@ -582,34 +635,42 @@ components: EphemerisInfos: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ephemeris' + minItems: 1 PositionVelocity: type: object properties: positionX: type: integer + default: 0 minimum: 0 maximum: 604800 positionY: type: integer + default: 0 minimum: 0 maximum: 604800 positionZ: type: integer + default: 0 minimum: 0 maximum: 604800 velocityVX: type: integer + default: 0 minimum: -131072 maximum: 131071 velocityVY: type: integer + default: 0 minimum: -131072 maximum: 131071 velocityVZ: type: integer + default: 0 minimum: -131072 maximum: 131071 @@ -618,26 +679,32 @@ components: properties: semiMajorAxis: type: integer + default: 0 minimum: 0 maximum: 8589934591 eccentricity: type: integer + default: 0 minimum: -524288 maximum: 524287 periapsis: type: integer + default: 0 minimum: 0 maximum: 16777215 longitude: type: integer + default: 0 minimum: 0 maximum: 2097151 inclination: type: integer + default: 0 minimum: -524288 maximum: 524287 meanAnomaly: type: integer + default: 0 minimum: 0 maximum: 16777215 @@ -650,6 +717,7 @@ components: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Ncgi' MappedCellIdInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/MappedCellIdInfo' QceIdMappingInfo: @@ -665,10 +733,13 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' QceIdMappingInfoList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/QceIdMappingInfo' + $ref: '#/components/schemas/QceIdMappingInfo' + minItems: 1 MdtUserConsentReqList: type: array + uniqueItems: true items: type: string enum: @@ -682,19 +753,53 @@ components: - M8 - M9 - MDT_UE_LOCATION - + + NTNEntityConf: + type: object + properties: + nTNConfEntity: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + nTNConfList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + LocationInfo: + type: object + properties: + gNBId: + type: integer + pLMNId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + cellLocalId: + type: integer + nRTAC: + type: string + tAI: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + geoArea: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + ServedAIOTAreaID: + type: object + properties: + pLMNId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + nID: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Nid' + aIotAreaCode: + type: string #-------- Definition of types for name-containments ------ SubNetwork-ncO-NrNrm: type: object properties: NRFrequency: $ref: '#/components/schemas/NRFrequency-Multiple' - ExternalGnbCuCpFunction: - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple' - ExternalGnbCuUpFunction: - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Multiple' - ExternalGnbDuFunction: - $ref: '#/components/schemas/ExternalGnbDuFunction-Multiple' + ExternalGNBCUCPFunction: + $ref: '#/components/schemas/GNBCUCPFunction-Multiple' + ExternalGNBCUUPFunction: + $ref: '#/components/schemas/ExternalGNBCUUPFunction-Multiple' + ExternalGNBDUFunction: + $ref: '#/components/schemas/ExternalGNBDUFunction-Multiple' ExternalENBFunction: $ref: '#/components/schemas/ExternalENBFunction-Multiple' EUtranFrequency: @@ -713,6 +818,8 @@ components: $ref: '#/components/schemas/CPCIConfigurationFunction-Single' CESManagementFunction: $ref: '#/components/schemas/CESManagementFunction-Single' + RedCapAccessCriteria: + $ref: '#/components/schemas/RedCapAccessCriteria-Single' Configurable5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' RimRSGlobal: @@ -725,15 +832,20 @@ components: $ref: '#/components/schemas/NTNFunction-Single' NRECMappingRule: $ref: '#/components/schemas/NRECMappingRule-Multiple' + MWAB: + $ref: '#/components/schemas/MWAB-Multiple' + NRFemtoGW: + $ref: '#/components/schemas/NRFemtoGW-Single' + ManagedElement-ncO-NrNrm: type: object properties: - GnbDuFunction: - $ref: '#/components/schemas/GnbDuFunction-Multiple' - GnbCuUpFunction: - $ref: '#/components/schemas/GnbCuUpFunction-Multiple' - GnbCuCpFunction: - $ref: '#/components/schemas/GnbCuCpFunction-Multiple' + GNBDUFunction: + $ref: '#/components/schemas/GNBDUFunction-Multiple' + GNBCUUPFunction: + $ref: '#/components/schemas/GNBCUUPFunction-Multiple' + GNBCUCPFunction: + $ref: '#/components/schemas/GNBCUCPFunction-Multiple' DESManagementFunction: $ref: '#/components/schemas/DESManagementFunction-Single' DRACHOptimizationFunction: @@ -756,20 +868,24 @@ components: $ref: '#/components/schemas/NTNFunction-Single' NRECMappingRule: $ref: '#/components/schemas/NRECMappingRule-Multiple' + MWAB: + $ref: '#/components/schemas/MWAB-Multiple' + NRFemtoGW: + $ref: '#/components/schemas/NRFemtoGW-Single' #-------- Definition of abstract IOCs -------------------------------------------- - RrmPolicy_-Attr: + RRMPolicy_-Attr: type: object properties: resourceType: $ref: '#/components/schemas/ResourceType' - rRMPolicyMemberList: - $ref: '#/components/schemas/RrmPolicyMemberList' + RRMPolicyMemberList: + $ref: '#/components/schemas/RRMPolicyMemberList' #-------- Definition of concrete IOCs -------------------------------------------- - GnbDuFunction-Single: + GNBDUFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -787,23 +903,29 @@ components: $ref: '#/components/schemas/GnbId' gnbIdLength: $ref: '#/components/schemas/GnbIdLength' + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' + isNRFemtoNode: + type: boolean rimRSReportConf: $ref: '#/components/schemas/RimRSReportConf' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: RRMPolicyRatio: $ref: '#/components/schemas/RRMPolicyRatio-Multiple' - NrCellDu: - $ref: '#/components/schemas/NrCellDu-Multiple' - Bwp-Multiple: - $ref: '#/components/schemas/Bwp-Multiple' - NrSectorCarrier-Multiple: - $ref: '#/components/schemas/NrSectorCarrier-Multiple' + NRCellDU: + $ref: '#/components/schemas/NRCellDU-Multiple' + BWP-Multiple: + $ref: '#/components/schemas/BWP-Multiple' + NRSectorCarrier-Multiple: + $ref: '#/components/schemas/NRSectorCarrier-Multiple' EP_F1C: $ref: '#/components/schemas/EP_F1C-Single' EP_F1U: @@ -811,15 +933,17 @@ components: DRACHOptimizationFunction: $ref: '#/components/schemas/DRACHOptimizationFunction-Single' OperatorDU: - $ref: '#/components/schemas/OperatorDu-Multiple' + $ref: '#/components/schemas/OperatorDU-Multiple' BWPSet: $ref: '#/components/schemas/BWPSet-Multiple' Configurable5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' Dynamic5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + AIOTReader: + $ref: '#/components/schemas/AIOTReader-Multiple' - OperatorDu-Single: + OperatorDU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -839,10 +963,10 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: description: This attribute is condition optional. The condition is NG-RAN Multi-Operator Core Network (NG-RAN MOCN) network sharing with operator specific 5QI is supported. - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - NrOperatorCellDu: - $ref: '#/components/schemas/NrOperatorCellDu-Multiple' - GnbCuUpFunction-Single: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + NROperatorCellDU: + $ref: '#/components/schemas/NROperatorCellDU-Multiple' + GNBCUUPFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -858,12 +982,18 @@ components: $ref: '#/components/schemas/GnbIdLength' gnbCuUpId: $ref: '#/components/schemas/GnbCuUpId' - plmnInfoList: + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' + isNRFemtoNode: + type: boolean + PlmnInfoList: $ref: '#/components/schemas/PlmnInfoList' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -886,7 +1016,7 @@ components: Dynamic5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' - GnbCuCpFunction-Single: + GNBCUCPFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -905,48 +1035,62 @@ components: plmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' x2BlockList: - $ref: '#/components/schemas/GGnbIdList' + $ref: '#/components/schemas/GgNBIdList' xnBlockList: - $ref: '#/components/schemas/GGnbIdList' + $ref: '#/components/schemas/GgNBIdList' x2AllowList: - $ref: '#/components/schemas/GGnbIdList' + $ref: '#/components/schemas/GgNBIdList' xnAllowList: - $ref: '#/components/schemas/GGnbIdList' + $ref: '#/components/schemas/GgNBIdList' x2HOBlockList: - $ref: '#/components/schemas/GEnbIdList' + $ref: '#/components/schemas/GeNBIdList' xnHOBlockList: - $ref: '#/components/schemas/GGnbIdList' - mappingSetIDBackhaulAddress: + $ref: '#/components/schemas/GgNBIdList' + mappingSetIDBackhaulAddressList: type: array + uniqueItems: true items: $ref: '#/components/schemas/MappingSetIDBackhaulAddress' + minItems: 1 + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' + isNRFemtoNode: + type: boolean tceIDMappingInfoList: $ref: '#/components/schemas/TceIDMappingInfoList' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' ephemerisInfoSetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' dCHOControl: type: boolean dDAPSHOControl: type: boolean + dLTMControl: + type: boolean mappedCellIdInfoList: $ref: '#/components/schemas/MappedCellIdInfoList' qceIdMappingInfoList: $ref: '#/components/schemas/QceIdMappingInfoList' mdtUserConsentReqList: $ref: '#/components/schemas/MdtUserConsentReqList' + mWABRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' nRECMappingRuleRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + nRFemtoGWRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: RRMPolicyRatio: $ref: '#/components/schemas/RRMPolicyRatio-Multiple' - NrCellCu: - $ref: '#/components/schemas/NrCellCu-Multiple' + NRCellCU: + $ref: '#/components/schemas/NRCellCU-Multiple' EP_XnC: $ref: '#/components/schemas/EP_XnC-Multiple' EP_E1: @@ -974,7 +1118,7 @@ components: EUtranNetwork: $ref: '#/components/schemas/EUtraNetwork-Single' - NrCellCu-Single: + NRCellCU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -989,7 +1133,7 @@ components: plmnInfoList: $ref: '#/components/schemas/PlmnInfoList' nRFrequencyRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -1014,7 +1158,7 @@ components: DPCIConfigurationFunction: $ref: '#/components/schemas/DPCIConfigurationFunction-Single' - NrCellDu-Single: + NRCellDU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1032,14 +1176,21 @@ components: type: integer cellState: $ref: '#/components/schemas/CellState' - plmnInfoList: + plmnInfoInfoList: $ref: '#/components/schemas/PlmnInfoList' - npnIdentityList: - $ref: '#/components/schemas/NpnIdentityList' + nPNIdentityList: + $ref: '#/components/schemas/NPNIdentityList' nrPci: $ref: '#/components/schemas/NrPci' - nrTac: + nRTAC: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + nTNTAClist: + type: array + uniqueItems: true + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + minItems: 1 + maxItems: 12 arfcnDL: type: integer arfcnUL: @@ -1066,20 +1217,32 @@ components: maximum: 159 ssbDuration: $ref: '#/components/schemas/SsbDuration' - nrSectorCarrierRef: + uECellBarredAccess: type: array + uniqueItems: true + items: + type: string + enum: + - REDCAP_1RX + - REDCAP_2RX + nRSectorCarrierRef: + type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - bwpRef: + bWPRef: description: "Condition is BWP sets are not supported" type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - bwpSetRef: + bWPSetRef: description: "Condition is BWP sets are supported" $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' rimRSMonitoringStartTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + redCapAccessCriteriaRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' rimRSMonitoringStopTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' rimRSMonitoringWindowDuration: @@ -1115,12 +1278,13 @@ components: properties: bWPList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' maxItems: 12 - NrOperatorCellDu-Single: + NROperatorCellDU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1131,7 +1295,7 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' plmnInfoList: $ref: '#/components/schemas/PlmnInfoList' - nrTac: + nRTAC: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' NRFrequency-Single: @@ -1146,12 +1310,13 @@ components: type: integer minimum: 0 maximum: 3279165 - sSBSubCarrierSpacing: + ssbSubCarrierSpacing: $ref: '#/components/schemas/SsbSubCarrierSpacing' multiFrequencyBandListNR: type: integer minimum: 1 maximum: 256 + readOnly: true EUtranFrequency-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1169,7 +1334,7 @@ components: minimum: 1 maximum: 256 - NrSectorCarrier-Single: + NRSectorCarrier-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1198,7 +1363,7 @@ components: properties: CommonBeamformingFunction: $ref: '#/components/schemas/CommonBeamformingFunction-Single' - Bwp-Single: + BWP-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1235,11 +1400,18 @@ components: digitalAzimuth: $ref: '#/components/schemas/DigitalAzimuth' digitalTilt: - $ref: '#/components/schemas/DigitalTilt' + $ref: '#/components/schemas/DigitalTilt' - type: object properties: Beam: $ref: '#/components/schemas/Beam-Multiple' + CCOWeakCoverageParameters: + $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' + CCOPilotPollutionParameters: + $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' + CCOOvershootCoverageParameters: + $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' + Beam-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1251,24 +1423,30 @@ components: properties: beamIndex: type: integer + readOnly: true beamType: type: string + readOnly: true enum: - - SSB_BEAM + - SSB_BEAM beamAzimuth: type: integer + readOnly: true minimum: -1800 maximum: 1800 beamTilt: type: integer + readOnly: true minimum: -900 maximum: 900 beamHorizWidth: type: integer + readOnly: true minimum: 0 maximum: 3599 beamVertWidth: type: integer + readOnly: true minimum: 0 maximum: 1800 RRMPolicyRatio-Single: @@ -1278,7 +1456,7 @@ components: properties: attributes: allOf: - - $ref: '#/components/schemas/RrmPolicy_-Attr' + - $ref: '#/components/schemas/RRMPolicy_-Attr' - type: object properties: rRMPolicyMaxRatio: @@ -1312,7 +1490,7 @@ components: items: $ref: '#/components/schemas/QOffsetRange' minItems: 6 - maxItems: 6 + maxItems: 6 adjacentNRCellRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' nRFreqRelationRef: @@ -1356,16 +1534,20 @@ components: maxItems: 6 blockListEntry: type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 503 + maxItems: 16 blockListEntryIdleMode: type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 1007 + maxItems: 16 cellReselectionPriority: type: integer cellReselectionSubPriority: @@ -1373,6 +1555,38 @@ components: minimum: 0.2 maximum: 0.8 multipleOf: 0.2 + CellReselectionRedcap: + type: object + properties: + sSearchDeltaPStationary: + type: integer + enum: + - 2 + - 3 + - 6 + - 9 + - 12 + - 5 + tSearchDeltaPStationary: + type: integer + enum: + - 5 + - 10 + - 20 + - 30 + - 60 + - 120 + - 180 + - 240 + - 300 + sSearchThresholdP2: + type: integer + minimum: 0 + maximum: 31 + sSearchThresholdQ2: + type: integer + minimum: 0 + maximum: 31 pMax: type: integer minimum: -30 @@ -1409,6 +1623,22 @@ components: $ref: '#/components/schemas/TReselectionNRSf' tReselectionNRSfMedium: $ref: '#/components/schemas/TReselectionNRSf' + sNonIntraSearchP: + type: integer + minimum: 0 + maximum: 31 + sNonIntraSearchQ: + type: integer + minimum: 0 + maximum: 31 + sIntraSearchP: + type: integer + minimum: 0 + maximum: 31 + sIntraSearchQ: + type: integer + minimum: 0 + maximum: 31 nRFrequencyRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' EUtranFreqRelation-Single: @@ -1424,21 +1654,26 @@ components: items: $ref: '#/components/schemas/QOffsetRange' minItems: 6 - maxItems: 6 + maxItems: 6 blockListEntry: type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 503 + maxItems: 16 blockListEntryIdleMode: type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 1007 + maxItems: 16 cellReselectionPriority: type: integer + default: 0 cellReselectionSubPriority: type: number minimum: 0.2 @@ -1521,18 +1756,20 @@ components: $ref: "#/components/schemas/InterRatEsDeactivationCandidateCellParameters" isProbingCapable: type: string + readOnly: true enum: - YES - NO energySavingState: type: string + readOnly: true enum: - IS_NOT_ENERGY_SAVING - IS_ENERGY_SAVING mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' DRACHOptimizationFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1567,9 +1804,9 @@ components: tstoreUEcntxt: $ref: '#/components/schemas/TstoreUEcntxt' mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' DLBOFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1585,9 +1822,9 @@ components: minimumTimeBetweenHoTriggerChange: $ref: '#/components/schemas/MinimumTimeBetweenHoTriggerChange' mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' DPCIConfigurationFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1665,7 +1902,18 @@ components: $ref: '#/components/schemas/TimeDomainPara' RimRSSet: $ref: '#/components/schemas/RimRSSet-Multiple' - + RedCapAccessCriteria-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + nRCellDURef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + criteriaConditonRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' RimRSSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1679,9 +1927,9 @@ components: setType: $ref: '#/components/schemas/RSSetType' nRCellDURefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - ExternalGnbDuFunction-Single: + ExternalGNBDUFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1709,13 +1957,15 @@ components: properties: NRFrequency: $ref: '#/components/schemas/NRFrequency-Multiple' - ExternalGnbCuCpFunction: - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple' - ExternalGnbCuUpFunction: - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Multiple' - ExternalGnbDuFunction: - $ref: '#/components/schemas/ExternalGnbDuFunction-Multiple' - ExternalGnbCuUpFunction-Single: + ExternalGNBCUCPFunction: + $ref: '#/components/schemas/ExternalGNBCUCPFunction-Multiple' + ExternalGNBCUUPFunction: + $ref: '#/components/schemas/ExternalGNBCUUPFunction-Multiple' + ExternalGNBDUFunction: + $ref: '#/components/schemas/ExternalGNBDUFunction-Multiple' + + + ExternalGNBCUUPFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1738,7 +1988,7 @@ components: $ref: '#/components/schemas/EP_F1U-Multiple' EP_XnU: $ref: '#/components/schemas/EP_XnU-Multiple' - ExternalGnbCuCpFunction-Single: + ExternalGNBCUCPFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1758,15 +2008,15 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: - ExternalNrCellCu: - $ref: '#/components/schemas/ExternalNrCellCu-Multiple' + ExternalNRCellCU: + $ref: '#/components/schemas/ExternalNRCellCU-Multiple' EP_XnC: $ref: '#/components/schemas/EP_XnC-Multiple' EP_E1: $ref: '#/components/schemas/EP_E1-Multiple' EP_F1C: $ref: '#/components/schemas/EP_F1C-Multiple' - ExternalNrCellCu-Single: + ExternalNRCellCU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1780,8 +2030,13 @@ components: type: integer nrPci: $ref: '#/components/schemas/NrPci' - plmnIdList: - $ref: '#/components/schemas/PlmnIdList' + plMNIdList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + minItems: 1 + maxItems: 12 nRFrequencyRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' @@ -1794,6 +2049,7 @@ components: $ref: '#/components/schemas/EUtranFrequency-Multiple' ExternalENBFunction: $ref: '#/components/schemas/ExternalENBFunction-Multiple' + ExternalENBFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1924,7 +2180,7 @@ components: remoteAddress: $ref: '#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' EP_NgU-Single: allOf: @@ -1941,7 +2197,7 @@ components: remoteAddress: $ref: '#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' EP_X2U-Single: allOf: @@ -1981,11 +2237,11 @@ components: properties: cCOControl: type: boolean - cCOWeakCoverageParameters: + CCOWeakCoverageParameters: $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' - cCOPilotPollutionParameters: + CCOPilotPollutionParameters: $ref: '#/components/schemas/CCOPilotPollutionParameters-Single' - cCOOvershootCoverageParameters-Single: + CCOOvershootCoverageParameters-Single: $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' CCOParameters-Attr: allOf: @@ -1998,7 +2254,7 @@ components: coverageShapeList: type: array items: - $ref: '#/components/schemas/CoverageShape' + $ref: '#/components/schemas/CoverageShape' downlinkTransmitPowerRange: $ref: '#/components/schemas/ParameterRange' antennaTiltRange: @@ -2030,9 +2286,11 @@ components: nTNpLMNInfoList: $ref: '#/components/schemas/PlmnInfoList' nTNTAClist: - $ref: '#/components/schemas/NrTacList' - ephemerisInfoSet: + $ref: '#/components/schemas/NRTACList' + EphemerisInfoSet: $ref: '#/components/schemas/EphemerisInfoSet-Multiple' + nTNTimeBasedConfig: + $ref: '#/components/schemas/NTNTimeBasedConfig-Multiple' EphemerisInfoSet-Single: allOf: @@ -2045,7 +2303,29 @@ components: properties: ephemerisInfos: $ref: '#/components/schemas/EphemerisInfos' - + MWAB-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + allowedArea: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + allowedTime: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + NRECMappingRule-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -2061,44 +2341,117 @@ components: type: integer ecTimeInterval: type: integer + + NTNTimeBasedConfig-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + timeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + nTNEntityConfigList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NTNEntityConf' + minItems: 1 + AIOTReader-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + readerId: + type: integer + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + supportedAIOTServices: + type: array + uniqueItems: true + items: + type: string + enum: + - INVENTORY + - COMMAND + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + servedAIOTAreas: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ServedAIOTAreaID' + readerLocation: + type: string + nRSectorCarrierRef: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + NRFemtoGW-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + nRFemtoGWId: + type: string + nRFemtoPLMNInfoList: + $ref: '#/components/schemas/PlmnInfoList' + nRFemtoTACList: + $ref: '#/components/schemas/NRTACList' + #-------- Definition of JSON arrays for name-contained IOCs ---------------------- - GnbDuFunction-Multiple: + GNBDUFunction-Multiple: type: array items: - $ref: '#/components/schemas/GnbDuFunction-Single' - OperatorDu-Multiple: + $ref: '#/components/schemas/GNBDUFunction-Single' + OperatorDU-Multiple: type: array items: - $ref: '#/components/schemas/OperatorDu-Single' - GnbCuUpFunction-Multiple: + $ref: '#/components/schemas/OperatorDU-Single' + GNBCUUPFunction-Multiple: type: array items: - $ref: '#/components/schemas/GnbCuUpFunction-Single' - GnbCuCpFunction-Multiple: + $ref: '#/components/schemas/GNBCUUPFunction-Single' + GNBCUCPFunction-Multiple: type: array items: - $ref: '#/components/schemas/GnbCuCpFunction-Single' + $ref: '#/components/schemas/GNBCUCPFunction-Single' BWPSet-Multiple: type: array items: $ref: '#/components/schemas/BWPSet-Single' - NrCellDu-Multiple: + NRCellDU-Multiple: type: array items: - $ref: '#/components/schemas/NrCellDu-Single' + $ref: '#/components/schemas/NRCellDU-Single' - NrOperatorCellDu-Multiple: + NROperatorCellDU-Multiple: type: array items: - $ref: '#/components/schemas/NrOperatorCellDu-Single' + $ref: '#/components/schemas/NROperatorCellDU-Single' - NrCellCu-Multiple: + NRCellCU-Multiple: type: array items: - $ref: '#/components/schemas/NrCellCu-Single' + $ref: '#/components/schemas/NRCellCU-Single' NRFrequency-Multiple: type: array @@ -2111,14 +2464,14 @@ components: items: $ref: '#/components/schemas/EUtranFrequency-Single' - NrSectorCarrier-Multiple: + NRSectorCarrier-Multiple: type: array items: - $ref: '#/components/schemas/NrSectorCarrier-Single' - Bwp-Multiple: + $ref: '#/components/schemas/NRSectorCarrier-Single' + BWP-Multiple: type: array items: - $ref: '#/components/schemas/Bwp-Single' + $ref: '#/components/schemas/BWP-Single' Beam-Multiple: type: array items: @@ -2150,22 +2503,22 @@ components: items: $ref: '#/components/schemas/RimRSSet-Single' - ExternalGnbDuFunction-Multiple: + ExternalGNBDUFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGnbDuFunction-Single' - ExternalGnbCuUpFunction-Multiple: + $ref: '#/components/schemas/ExternalGNBDUFunction-Single' + ExternalGNBCUUPFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' - ExternalGnbCuCpFunction-Multiple: + $ref: '#/components/schemas/ExternalGNBCUUPFunction-Single' + ExternalGNBCUCPFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' - ExternalNrCellCu-Multiple: + $ref: '#/components/schemas/ExternalGNBCUCPFunction-Single' + ExternalNRCellCU-Multiple: type: array items: - $ref: '#/components/schemas/ExternalNrCellCu-Single' + $ref: '#/components/schemas/ExternalNRCellCU-Single' ExternalENBFunction-Multiple: type: array @@ -2188,6 +2541,10 @@ components: type: array items: $ref: '#/components/schemas/EP_F1C-Single' + RedCapAccessCriteria-Multiple: + type: array + items: + $ref: '#/components/schemas/RedCapAccessCriteria-Single' EP_NgC-Multiple: type: array items: @@ -2224,19 +2581,31 @@ components: type: array items: $ref: '#/components/schemas/NRECMappingRule-Single' + NTNTimeBasedConfig-Multiple: + type: array + items: + $ref: '#/components/schemas/NTNTimeBasedConfig-Single' + MWAB-Multiple: + type: array + items: + $ref: '#/components/schemas/MWAB-Single' + AIOTReader-Multiple: + type: array + items: + $ref: '#/components/schemas/AIOTReader-Single' #-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- resources-nrNrm: oneOf: - - $ref: '#/components/schemas/GnbDuFunction-Single' - - $ref: '#/components/schemas/GnbCuUpFunction-Single' - - $ref: '#/components/schemas/GnbCuCpFunction-Single' - - $ref: '#/components/schemas/OperatorDu-Single' + - $ref: '#/components/schemas/GNBDUFunction-Single' + - $ref: '#/components/schemas/GNBCUUPFunction-Single' + - $ref: '#/components/schemas/GNBCUCPFunction-Single' + - $ref: '#/components/schemas/OperatorDU-Single' - - $ref: '#/components/schemas/NrCellCu-Single' - - $ref: '#/components/schemas/NrCellDu-Single' - - $ref: '#/components/schemas/NrOperatorCellDu-Single' + - $ref: '#/components/schemas/NRCellCU-Single' + - $ref: '#/components/schemas/NRCellDU-Single' + - $ref: '#/components/schemas/NROperatorCellDU-Single' - $ref: '#/components/schemas/NRNetwork-Single' - $ref: '#/components/schemas/EUtraNetwork-Single' @@ -2244,8 +2613,8 @@ components: - $ref: '#/components/schemas/NRFrequency-Single' - $ref: '#/components/schemas/EUtranFrequency-Single' - - $ref: '#/components/schemas/NrSectorCarrier-Single' - - $ref: '#/components/schemas/Bwp-Single' + - $ref: '#/components/schemas/NRSectorCarrier-Single' + - $ref: '#/components/schemas/BWP-Single' - $ref: '#/components/schemas/BWPSet-Single' - $ref: '#/components/schemas/CommonBeamformingFunction-Single' - $ref: '#/components/schemas/Beam-Single' @@ -2268,10 +2637,10 @@ components: - $ref: '#/components/schemas/RimRSGlobal-Single' - $ref: '#/components/schemas/RimRSSet-Single' - - $ref: '#/components/schemas/ExternalGnbDuFunction-Single' - - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' - - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' - - $ref: '#/components/schemas/ExternalNrCellCu-Single' + - $ref: '#/components/schemas/ExternalGNBDUFunction-Single' + - $ref: '#/components/schemas/ExternalGNBCUUPFunction-Single' + - $ref: '#/components/schemas/ExternalGNBCUCPFunction-Single' + - $ref: '#/components/schemas/ExternalNRCellCU-Single' - $ref: '#/components/schemas/ExternalENBFunction-Single' - $ref: '#/components/schemas/ExternalEUTranCell-Single' @@ -2291,5 +2660,9 @@ components: - $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' - $ref: '#/components/schemas/NTNFunction-Single' - $ref: '#/components/schemas/EphemerisInfoSet-Single' + - $ref: '#/components/schemas/MWAB-Single' - $ref: '#/components/schemas/NRECMappingRule-Single' + - $ref: '#/components/schemas/NTNTimeBasedConfig-Single' + - $ref: '#/components/schemas/RedCapAccessCriteria-Single' + - $ref: '#/components/schemas/AIOTReader-Single' -- GitLab From dd36bf7ae9f5485c56b4004d25581eabaf60ce66 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:54:30 +0000 Subject: [PATCH 14/93] Upload New File --- OpenAPI/TS28561_NdtNrm.yaml | 193 ++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 OpenAPI/TS28561_NdtNrm.yaml diff --git a/OpenAPI/TS28561_NdtNrm.yaml b/OpenAPI/TS28561_NdtNrm.yaml new file mode 100644 index 00000000..270a819a --- /dev/null +++ b/OpenAPI/TS28561_NdtNrm.yaml @@ -0,0 +1,193 @@ +openapi: 3.0.1 +info: + title: NDT NRM + version: 19.0.0 + description: >- + OAS 3.0.1 definition of the NDT NRM + © 2025, 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 + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.561/ +paths: {} +components: + schemas: + + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-NDTNrm: + type: object + properties: + NDTFunction: + $ref: '#/components/schemas/NDTFunction-Multiple' + + #-------Definition of generic IOCs ----------# + NDTFunction-Single: + description: >- + This IOC represents the properties of an NDT Function + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + supportedNDTCapabilities: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTCapability' + description: >- + It indicates the different types of NDT application use cases which the NDT is capable of undertaking.. + New values can be added to this list in future releases to support new use cases. + nDTFunctionScope: + $ref: '#/components/schemas/NDTFunctionScope' + + NDTJob-Single: + description: >- + This IOC represents the properties of an NDT job demand created by an MnS consumer. An NDT job represents the requirements for a network simulation/emulation task + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + nDTCapability: + $ref: '#/components/schemas/NDTCapability' + description: >- + It indicates the type of application use cases that is desired to be executed. + New values can be added to this list in future releases to support new use cases. + nDTJobSynchScope: + $ref: '#/components/schemas/ScopeDefinition' + nDTJobScenario: + $ref: '#/components/schemas/NDTInputDescription' + nDTJobExecutionRequirements: + $ref: '#/components/schemas/NdtJobExecutionReqts' + collaboratingNDT: + description: >- + It indicates the related NDT Job contributing as a collaborator to the executed NDT Job. It describes the DN of the collaborated NDT Job + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + ndtReportRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + + NDTReport-Single: + description: >- + This IOC represents the properties of an NDT report corresponding to an NDT job + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + nDTJobOutputData: + type: array + uniqueItems: true + 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. + ndtJobRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + ndtFunctionRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + + #-------Definition of the dataType ----------# + NDTCapability: + type: string + enum: + - RISKY_ACTIONS_PREDICTION + - EVENTS_IMPACTS_VERIFICATION + - FAULT_INJECTION + - NETWORK_EVENTS_VERIFICATION + - NETWORK_CONFIGURATIONS_VERIFICATION + - AUTOMATION_CONFIGURATION_VERIFICATION + - ML_TRAINING_DATA_GENERATION + - USER_EXPERIENCE_DATA_GENERATION + NDTFunctionScope: + type: object + properties: + nDTRANScope: + $ref: '#/components/schemas/ScopeDefinition' + nDTCNScope: + $ref: '#/components/schemas/ScopeDefinition' + NDTInputDescription: + type: object + properties: + nDTInputDescriptionId: + type: string + simulationData: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + networkEventInfo: + type: string + condition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + NDTOutputDescription: + type: object + properties: + nDTOutputDescriptionId: + type: string + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + objectAttributeList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + ScopeDefinition: + type: object + oneOf: + - required: [ managedEntitiesScope ] + - required: [ areaScope ] + properties: + managedEntitiesScope: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + areaScope: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + NdtJobExecutionReqts: + type: object + properties: + maxRuntime: + type: integer + NDTOutputDataPoint: + type: object + properties: + networkState: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTOutputDescription' + networkConfiguration: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTOutputDescription' + observations: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTOutputDescription' + + #------Definition of JSON arrays for name-contained IOCs ---------------# + + NDTJob-Multiple: + type: array + items: + $ref: '#/components/schemas/NDTJob-Single' + + NDTReport-Multiple: + type: array + items: + $ref: '#/components/schemas/NDTReport-Single' + + NDTFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NDTFunction-Single' + #------Definition of JSON arrays for name-contained IOCs ---------------# + + #----- Definitions in TS 28.561 for TS 28.532 --------------------------# + resources-ndtNrm: + oneOf: + - $ref: '#/components/schemas/NDTFunction-Single' + - $ref: '#/components/schemas/NDTJob-Single' + - $ref: '#/components/schemas/NDTReport-Single' -- GitLab From ffa1db228789e8df3b668b4d583fca660cddc783 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:54:47 +0000 Subject: [PATCH 15/93] Upload New File --- OpenAPI/TS28567_CclNrm.yaml | 231 ++++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 OpenAPI/TS28567_CclNrm.yaml diff --git a/OpenAPI/TS28567_CclNrm.yaml b/OpenAPI/TS28567_CclNrm.yaml new file mode 100644 index 00000000..1cd88fcd --- /dev/null +++ b/OpenAPI/TS28567_CclNrm.yaml @@ -0,0 +1,231 @@ +openapi: 3.0.1 +info: + title: CCL NRM + version: 19.0.0 + description: >- + OAS 3.0.1 definition of the CCL NRM + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.567; management aspect of closed control loops + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.567/ +paths: {} +components: + schemas: + + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-CCLNrm: + type: object + properties: + ClosedControlLoop: + $ref: '#/components/schemas/ClosedControlLoop-Multiple' + + #-------Definition of generic IOCs ----------# + + ClosedControlLoop-Single: + description: >- + This IOC represents the properties of an CCL management information between MnS consumer and MnS producer. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + cCLComponentsInfo: + type: array + items: + $ref: '#/components/schemas/CCLComponentsInfo' + description: >- + It indicates information on the constituent components of a CCL. + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + cCLPriority: + type: integer + minimum: 1 + maximum: 10 + description: This provides the priority of the CCL. This will be the numerical value between 1 to 10, with 1 being the least priority. + cCLComponentList: + type: array + items: + $ref: '#/components/schemas/CCLComponent' + description: >- + It indicates the list of components ating as steps of the CCL. + cCLType: + type: string + enum: + - ENERGYOPTIMIZATION + - SLICEASSURANCE + cCLActionTrigger: + type: string + desiredBehavior: + type: string + enum: + - DECISION_ACTIVATION + - NOTIFY_RCOMMENDATION + - DO_NOTHING + cCLPurposeRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + CCLScope-Single: + description: It indicates a scope of a CCL. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + cCLPurposeRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + CCLReport-Single: + description: This class represents the reported outcomes on a CCL instance. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + scopeType: + type: string + enum: + - CCL_MEASUREMENT_SCOPE + - CCL_TARGET_SCOPE + - CCL_CONTROL_SCOPE + - CCL_IMPACT_SCOPE + ConflictManagementAndCoordinationEntity-Single: + description: This defines the conflict management functionality. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + coordinationCapability: + type: string + description: >- + It indicates a capability of a coordination entity to coordinate CCL conflicts. + coordinatedCCLsScopes: + type: string + cCLActionConflictsHandling: + $ref: '#/components/schemas/CCLActionConflictsHandling' + FaultManagement: + description: This IOC represents the Fault Management CCL purpose. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + FaultManagementAlarmIdList: + type: string + FaultManagementBackUpObjectRequirement: + type: boolean + FaultManagementIsolateObjectRequirement: + type: boolean + FaultManagementTimeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + clearUserId: + type: string + +#-------Definition of the generic dataType --------------# + CCLComponentsInfo: + type: object + properties: + cCLComponentId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + cCLSteps: + type: string + enum: + - DATA_COLLECTION + - ANALYSIS + - DECISION + - EXECUTION + CCLComponent: + type: object + properties: + cCLComponentIdentification: + type: string + cCLComponentRole: + type: string + enum: + - MONITOR + - ANALYSIS + - DECISION + - EXECUTION + - OTHER + FaultManagementCCLReport: + type: object + properties: + GeneratedAlarmResultList: + type: array + items: + type: string + FaultManagementCCLReportTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + + GeneratedAlarmResult: + type: object + properties: + alarmId: + type: string + alarmClearedStatus: + type: boolean + identifiedRootCauseInformation: + type: string + enhancedCorrelationInformation: + type: array + items: + type: string + + CCLScopeCoordinationCapability: + type: object + properties: + cCLCoordinationCapabilityID: + type: string + + CCLActionConflictsHandling: + type: object + properties: + conflictInformation: + $ref: '#/components/schemas/ConflictInformation' + conflictResolution: + $ref: '#/components/schemas/ConflictResolution' + targetCCL: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + ConflictInformation: + type: object + properties: + conflictingCCLId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + conflictingActions: + type: string + + ConflictResolution: + type: object + properties: + conflictingCCLId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + cCLGoalBreachPercentage: + type: integer + #-------Definition of the generic dataType --------------# + + + #------Definition of JSON arrays for name-contained IOCs ---------------# + ClosedControlLoop-Multiple: + type: array + items: + $ref: '#/components/schemas/ClosedControlLoop-Single' + + CCLScope-Multiple: + type: array + items: + $ref: '#/components/schemas/CCLScope-Single' + + CCLReport-Multiple: + type: array + items: + $ref: '#/components/schemas/CCLReport-Single' + + ConflictManagementAndCoordinationEntity-Multiple: + type: array + items: + $ref: '#/components/schemas/ConflictManagementAndCoordinationEntity-Single' + + + resources-CCLNrm: + oneOf: + - $ref: '#/components/schemas/ClosedControlLoop-Single' + - $ref: '#/components/schemas/CCLScope-Single' + - $ref: '#/components/schemas/CCLReport-Single' + - $ref: '#/components/schemas/ConflictManagementAndCoordinationEntity-Single' \ No newline at end of file -- GitLab From 206a82875dd5603d201cac61be0b309993abc334 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:55:05 +0000 Subject: [PATCH 16/93] Upload New File --- OpenAPI/TS28572_PlanManagement.yaml | 2602 +++++++++++++++++++++++++++ 1 file changed, 2602 insertions(+) create mode 100644 OpenAPI/TS28572_PlanManagement.yaml diff --git a/OpenAPI/TS28572_PlanManagement.yaml b/OpenAPI/TS28572_PlanManagement.yaml new file mode 100644 index 00000000..3d33a9a6 --- /dev/null +++ b/OpenAPI/TS28572_PlanManagement.yaml @@ -0,0 +1,2602 @@ +openapi: 3.0.0 +info: + title: 3GPP Plan Provisioning Management API + version: 19.0.0 + description: API for managing network configuration plans and related jobs +externalDocs: + description: 3GPP TS 28.572; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.572/ +servers: + - url: '{MnSRoot}/ProvPlanMnS/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/PlanManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: v1 + +paths: + /plan-descriptors: + post: + tags: + - Plan Descriptor Management + summary: Create a new plan descriptor + description: Creates a new configuration plan descriptor that can be later activated. + operationId: createPlanDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationDescriptor' + example: + { + "name": "Rollout-5G-Dublin-East", + "version" : "1.0.0", + "description": "This is the plan for the new 5G rollout in Dublin east.", + "customProperties": { + "technology-type": "NR", + "location": "Dublin" + }, + "currentConfigAddress": "http://example.org/3gpp/ProvMnS/v1", + "configurationContentType" : "application/vnd.3gpp.yang-patch+json", + "planConfig": { + ... + } + } + responses: + '201': + description: Plan descriptor created successfully + headers: + Location: + description: URI of the created plan descriptor. + schema: + type: string + format: uri-reference + example: "/plan-descriptors/my-plan11" + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationDescriptorResponse' + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '409': + description: A plan descriptor with the given ID already exists. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Plan Descriptor Management + summary: Get plan configuration descriptors + description: Retrieve a list of existing plan descriptors. + operationId: getPlanDescriptors + responses: + '200': + description: List of the plan configuration descriptors retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /plan-descriptors/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan descriptor. + example: "NewNetworkElement10-group-plan-001" + required: true + + get: + tags: + - Plan Descriptor Management + summary: Get a specific plan descriptor by ID + description: Retrieve the details of a single plan descriptor using its unique identifier. + operationId: getPlanDescriptorById + responses: + '200': + description: Plan descriptor retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationDescriptorResponse' + '404': + description: Plan descriptor does not exist + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + put: + tags: + - Plan Descriptor Management + summary: Replace a plan descriptor + description: Replace a configuration plan descriptor + operationId: putPlanDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationDescriptor' + example: + { + "name": "Rollout-5G-Dublin-East", + "description": "This is the plan for the new 5G rollout in Dublin east.", + "customProperties": { + "technology-type": "NR", + "location": "Dublin" + }, + "currentConfigAddress": "http://example.org/3gpp/ProvMnS/v1", + "planConfig": { + ... + } + } + responses: + '204': + description: Plan descriptor replaced successfully. No content is returned + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '404': + description: Plan descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Plan Descriptor Management + summary: Delete a plan descriptor by ID + description: Deletes a specific configuration plan descriptor using its unique identifier + operationId: deletePlanDescriptorById + responses: + '204': + description: Plan descriptor deleted successfully. + '404': + description: Plan descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' ##EDITOR The example in swagger is very strange. The example cannot be the same for put and delete. TODO LATER + '409': + description: Conflict - The plan descriptor cannot be deleted due to its current state or dependencies (For example, it is referenced in a plan group descriptor). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /plan-group-descriptors: + post: + tags: + - Plan Group Descriptor Management + summary: Create a new plan group descriptor + description: Creates a new configuration plan group descriptor that can be later activated. + operationId: createPlanGroupDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' + + responses: + '201': + description: Plan group descriptor created successfully + headers: + Location: + description: URI of the created plan descriptor. + schema: + type: string + format: uri-reference + example: "/plan-group-descriptors/mygroup-11" + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptorResponse' + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Plan Group Descriptor Management + summary: Get plan configuration descriptors + description: Retrieve a list of existing plan descriptors. + operationId: getPlanGroupDescriptors + responses: + '200': + description: List of the plan configuration descriptors retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /plan-group-descriptors/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan group descriptor. + example: "NewNetworkElement10-group-plan-001" + required: true + + get: + tags: + - Plan Group Descriptor Management + summary: Get a specific plan group descriptor by ID + description: Retrieve the details of a plan group descriptor using its unique identifier. + operationId: getPlanGroupDescriptorById + responses: + '200': + description: Plan group descriptor retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptorResponse' + '404': + description: Plan group descriptor does not exist + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + put: + tags: + - Plan Group Descriptor Management + summary: Replace a plan group descriptor + description: Replace a configuration plan group descriptor + operationId: putPlanGroupDescriptor + requestBody: + required: true + content: + 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 + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptorResponse' + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '404': + description: Plan group descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Plan Group Descriptor Management + summary: Delete a plan group descriptor by ID + description: Deletes a plan group descriptor using its unique identifier + operationId: deletePlanGroupDescriptorById + responses: + '204': + description: Plan descriptor deleted successfully. + '404': + description: Plan descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '409': + description: The plan group descriptor cannot be deleted due to its current state or dependencies (For example, it is referenced in a plan group descriptor). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /fallback-descriptors: + get: + tags: + - Fallback Descriptor Management + summary: Get fallback configuration descriptors + description: Retrieve a list of existing fallback descriptors. + operationId: getFallbackDescriptors + responses: + '200': + description: List of the fallback configuration descriptors retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /fallback-descriptor/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the fallback descriptor. + example: "Fallback-Dublin-South-plan-001" + required: true + get: + tags: + - Fallback Descriptor Management + summary: Get a specific fallback descriptor by ID + description: Retrieve the details of a single fallback descriptor using its unique identifier. + operationId: getFallbackDescriptorById + responses: + '200': + description: Fallback Plan descriptor retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/FallbackConfigurationDescriptorResponse' + '404': + description: Fallback descriptor does not exist + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + delete: + tags: + - Fallback Descriptor Management + summary: Delete a Fallback descriptor by ID + description: Deletes a specific fallback plan descriptor using its unique identifier + operationId: deleteFallbackDescriptorById + responses: + '204': + description: Fallback descriptor deleted successfully. + '404': + description: Fallback descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' ##EDITOR The example in swagger is very strange. The example cannot be the same for put and delete. TODO LATER + '409': + description: Conflict - The fallback descriptor cannot be deleted due to its current state. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + /trigger-descriptors: + post: + tags: + - Trigger Descriptor Management + summary: Create a new trigger descriptor + description: Creates a new trigger descriptor + operationId: createTriggerDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerDescriptor' + + responses: + '201': + description: Trigger descriptor created successfully + headers: + Location: + description: URI of the created trigger descriptor. + schema: + type: string + format: uri-reference + example: "/trigger-descriptors/mytrigger-11" + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerDescriptorResponse' + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Trigger Descriptor Management + summary: Get trigger descriptors + description: Retrieve a list of existing trigger descriptors. + operationId: getTriggerDescriptors + responses: + '200': + description: List of the trigger descriptors retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' + + /trigger-descriptors/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the descriptor. + example: "NewNetworkElement10-trigger-001" + required: true + + get: + tags: + - Trigger Descriptor Management + summary: Get a specific trigger descriptor by ID + description: Retrieve the details of a single descriptor using its unique identifier. + operationId: getTriggerDescriptorById + responses: + '200': + description: Plan descriptor retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerDescriptorResponse' + '404': + description: Trigger descriptor not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + put: + tags: + - Trigger Descriptor Management + summary: Replace a trigger descriptor + description: Replace a trigger descriptor + operationId: putTriggerDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerDescriptor' + responses: + '204': + description: Trigger descriptor created successfully + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '404': + description: Trigger descriptor not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Trigger Descriptor Management + summary: Delete a trigger descriptor by ID + description: Deletes a specific trigger descriptor using its unique identifier + operationId: deleteTriggerDescriptorById + responses: + '204': + description: Trigger descriptor deleted successfully. + '404': + description: Trigger descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /activation-jobs: + post: + tags: + - Activation Management + summary: Create a new plan activation job + description: Creates and starts a new plan activation job based on an existing plan descriptor (or plan group descriptor or fallback descriptor). The new job's ID will be generated by the server and returned in the Location header. + operationId: createActivationJob + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ActivationJobRequest' + responses: + '201': + description: Plan activation job created successfully. + The response body provides job details, and the Location header points to the new job. + headers: + Location: + description: URI of the created job resource. + schema: + type: string + format: uri-reference + example: "/activation-jobs/myjob-111" + content: + application/json: + schema: + $ref: '#/components/schemas/ActivationJob' + '400': + description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Activation Management + summary: Get plan activation jobs + description: Retrieve a list of plan activation jobs. + operationId: getActivationJobs + parameters: + - in: query + name: job-state + schema: + $ref: '#/components/schemas/JobState' + description: Filter jobs by their current state. + example: "RUNNING" + responses: + '200': + description: List of plan activation jobs retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/JobListEntry' + '400': + description: Invalid query parameters + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /activation-jobs/{id}: + parameters: + - $ref: '#/components/parameters/jobId' + get: + tags: + - Activation Management + summary: Get plan activation job details by ID + description: Retrieve detailed information about a specific plan activation job using its unique identifier. + operationId: getActivationJobById + responses: + '200': + description: Job details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ActivationJob' + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Activation Management + summary: Delete a plan activation job by ID + description: Deletes a specific plan activation job, typically if it's not in a terminal state (e.g., running, completed, failed). + operationId: deleteActivationJobById + responses: + '204': + description: Job deleted successfully. No content is returned. + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '409': + description: Cannot delete job in its current state (e.g., already running). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /activation-jobs/{id}/status: + parameters: + - $ref: '#/components/parameters/jobId' + get: + tags: + - Activation Management + summary: Get job status + description: Retrieve the current status of a specific plan activation job using its unique identifier. + operationId: getJobStatus + responses: + '200': + description: Job status retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ActivationJobStatus' + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + 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' + 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' + + /activation-jobs/{id}/activation-details: + get: + tags: + - Activation Management + summary: Get activation details + description: Retrieve detailed information about the activation results of a job + operationId: getActivationDetails + parameters: + - $ref: '#/components/parameters/jobId' + responses: + '200': + description: Activation details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionDetails' + '404': + description: Job not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /validation-jobs: + post: + tags: + - Validation Management + summary: Create a new plan validation job + description: Creates and starts a new plan validation job based on an existing plan descriptor. The new job's ID will be generated by the server and returned in the Location header. + operationId: createValidationJob + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationJobRequest' + responses: + '201': + description: Plan validation job created successfully. + The response body provides job details, and the Location header points to the new job. + headers: + Location: + description: URI of the created job resource. + schema: + type: string + format: uri-reference + example: "/validation-jobs/myjob-111" + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationJob' + '400': + description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Validation Management + summary: Get plan validation jobs + description: Retrieve a list of plan validation jobs. + operationId: getValidationJobs + parameters: + - in: query + name: job-state + schema: + $ref: '#/components/schemas/JobState' + description: Filter jobs by their current status. + example: "RUNNING" + responses: + '200': + description: List of plan validation jobs retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/JobListEntry' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /validation-jobs/{id}: + parameters: + - $ref: '#/components/parameters/jobId' + get: + tags: + - Validation Management + summary: Get plan validation job details by ID + description: Retrieve detailed information about a specific plan validation job using its unique identifier. + operationId: getValidationJobById + responses: + '200': + description: Job details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationJob' + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Validation Management + summary: Delete a plan validation job by ID + description: Deletes a specific plan validation job, typically if it's not in a terminal state (e.g., running, completed, failed). + operationId: deleteValidationJobById + responses: + '204': + description: Job deleted successfully. No content is returned. + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /validation-jobs/{id}/status: + get: + tags: + - Validation Management + summary: Get job status + description: Retrieve the current status of a specific plan validation job using its unique identifier. + operationId: getValidationJobStatus + parameters: + - $ref: '#/components/parameters/jobId' + responses: + '200': + description: Job status retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationJobStatus' + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + patch: + tags: + - Activation Management + summary: Cancel the validation job + description: Cancel the validation job + operationId: cancelActivationJobById + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRequest' + 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' + + /validation-jobs/{id}/validation-details: + get: + tags: + - Validation Management + summary: Get validation details + description: Retrieve detailed information about the validation results of a job + operationId: getValidationDetails + parameters: + - $ref: '#/components/parameters/jobId' + - name: details + in: query + description: Selects the level of details to return. + schema: + type: string + enum: [summary, all] + default: all + responses: + '200': + description: Validation details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionDetails' + '404': + description: Job not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /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: + - configurationContentType + - planConfig + 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 + example: "Rollout-5G-Dublin-East" + version: + type: string + description: The version of the planned configuration. Its format is implementation specific. + example: 1.0.0 + description: + type: string + description: Used to describe the purpose of the plan configuration + example: "This is the plan for the new 5G rollout in Dublin east." + customProperties: + type: object + description: A dynamic set of custom properties provided by client + additionalProperties: true + example: + technology-type: NR + location: Dublin + currentConfigAddress: + type: string + format: uri-reference + description: A reference address to the current configuration associated with the configuration in this descriptor + example: "http://example.org/3gpp/ProvMnS/v1" + 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" + lastModifiedAt: + type: string + format: date-time + description: the last time the plan was modified + example: "2025-03-06T16:50:26-08:00" + validationState: + type: string + enum: [NOT_VALIDATED, VALIDATING, VALID, INVALID] + default : "NOT_VALIDATED" + description: The validation state of the plan. + example: "NOT_VALIDATED" + lastValidatedAt: + type: string + format: date-time + description: last time the plan was validated + example: "2025-03-06T16:50:29-08:00" + configurationContentType: + type: string + enum: + - application/vnd.3gpp.json-patch+json + - application/vnd.3gpp.yang-patch+json + description: The format/type of the configuration in planConfig + example: "application/vnd.3gpp.yang-patch+json" + planConfig: + description: "The plan configuration changes" + oneOf: + - type: array + items: + $ref: '#/components/schemas/Change' + - type: object + additionalProperties: + $ref: '#/components/schemas/Change' + description: A map of changes. The key of the map shall have the same value as the changeId. + PlanConfigurationDescriptorResponse: + type: object + required: + - id + - activationMode + - lastModifiedAt + - validationState + - configurationContentType + - planConfig + allOf: + - $ref: '#/components/schemas/PlanConfigurationDescriptor' + properties: + _links: + type: object + description: Hypermedia links for plan descriptor + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/ProvMnS/v1/plan-descriptors/pd-001" + templated: true + type: "application/json" + title: "The newly created PlanConfigurationDescriptor" + + PlanConfigurationGroupDescriptor: + type: object + required : + - members + properties: + id: + type: string + description: Unique id of the plan group configuration descriptor + example: "plan-001" + name: + type: string + description: Descriptive name of the plan group configuration descriptor + example: "Rollout-5G-Dublin-East" + description: + type: string + description: Used to describe the purpose of the plan group configuration + example: "This is the plan for the new 5G rollout in Dublin east." + customProperties: + type: object + description: A dynamic set of custom properties provided by client + additionalProperties: true + example: + technology-type: NR + location: Dublin + 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" + 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" + activationMode: + type: string + enum: [ATOMIC, BEST_EFFORT, STOP_ON_ERROR] + default : "BEST_EFFORT" + description: Specifies the execution behavior when the plan configuration group is activated + example: "BEST_EFFORT" + lastModifiedAt: + type: string + format: date-time + description: the last time the plan was modified + example: "2025-03-06T16:50:26-08:00" + validationState: + type: string + enum: [NOT_VALIDATED, VALIDATING, VALID, INVALID] + default : "NOT_VALIDATED" + description: The validation state for the last time plan configuration group was validated + example: "NOT_VALIDATED" + lastValidatedAt: + type: string + format: date-time + description: last time the plan was validated + example: "2025-03-06T16:50:29-08:00" + members: + type: array + description: list of plan or plan group descriptor identifiers + items: + type: object + required: + - identifier + properties: + type: + type: string + enum: [PLAN, PLAN_GROUP] + default: PLAN + identifier: + type: string + example: [{"type" : "PLAN", "identifier" : "plan-descriptor-001"}, {"type" : "PLAN_GROUP", "identifier" : "plan-group-descriptor-001"}] + + FallbackConfigurationDescriptor: + type: object + required: + - configurationContentType + - planConfig + properties: + id: + type: string + description: Unique id of the fallback configuration descriptor + example: "fallback-001" + name: + 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." + customProperties: + type: object + description: A dynamic set of custom properties provided by client + additionalProperties: true + example: + technology-type: NR + location: Dublin + activationJob: + type: string + description: The identifier of the related activation job. + configurationContentType: + type: string + enum: + - application/vnd.3gpp.json-patch+json + - application/vnd.3gpp.yang-patch+json + description: The format/type of the configuration in planConfig + example: "application/vnd.3gpp.yang-patch+json" + planConfig: + description: "The fallback configuration." + oneOf: + - type: string + - type: object + additionalProperties: + $ref: '#/components/schemas/Change' + description: A map of changes. The key of the map shall have the same value as the changeId. + FallbackConfigurationDescriptorResponse: + type: object + required: + - id + - configurationContentType + - planConfig + 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}/ProvMnS/v1/fallback-descriptors/pd-001" + templated: true + type: "application/json" + title: "The newly created FallbackConfigurationDescriptor" + 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}/ProvMnS/v1/plan-group-descriptors/pgd-001" + templated: true + type: "application/json" + title: "The newly created PlanConfigurationGroupDescriptor" + + TriggerDescriptor: + type: object + required: + - conditionExpression + - evaluationPeriod + 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 + example: "Rollout-5G-Dublin-East" + description: + type: string + description: Used to describe the purpose of the trigger + example: "This is the plan for the new 5G rollout in Dublin east." + version: + type: string + description: an optional version for the Trigger Descriptor + example: "v1.0" + customProperties: + type: object + description: A dynamic set of custom properties provided by client + additionalProperties: true + example: + technology-type: NR + location: Dublin + conditionExpression: + type: string + description: The condition expression ##BALAZS JEX on NRM - OPEN + activationJobs: + type: array + items: + type : string + description: The identifiers of one or more activation jobs that shall be triggered by this condition. + startAt: + 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: + 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 + description: The boolean indication, if the trigger is disarmed after the first firing. + example: false + evaluationPeriod: + type: integer + description: The evaluation period specifies the interval of time in seconds between two consecutive condition expression evaluations. + hysteresis: + 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 or a specified number of times. Values greater or equal to 1 are allowed + + TriggerDescriptorResponse: + 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}/ProvMnS/v1/trigger-descriptors/trigger-001" + templated: true + type: "application/json" + title: "The newly created TriggerDescriptor" + + 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 + 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 + required : + - id + - name + - jobState + + ActivationJobRequest: + type: object + properties: + name: + type: string + description: Name of the activation job + example: "Dublin East Cell Deployment" + description: + type: string + description: Human-readable description of the job + example: "Optimize the Dublin area network" + mnsConsumerId: + type: array + description: The user 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 + isFallbackEnabled: + type: boolean + description: Whether fallback should be enabled for this job + default: true + serviceImpact: + type: string + enum: [LEAST_SERVICE_IMPACT, SHORTEST_TIME] + description: Additional job-specific parameters + default: "SHORTEST_TIME" + isImmediateActivation: + type: boolean + description: Specifies if the activation job shall start immediately or, alternatively, by conditional activation. + default: true + oneOf: + - type: object # Alt.1 planConfigDescrId + required: + - planConfigDescrId + properties: + planConfigDescrId: + type: string + description: Unique id reference to the plan descriptor to activate + example: "planxyz" + - type: object # Alt.2 planConfigDescr embedded + required: + - planConfigDescr + properties: + planConfigDescr: + type: object + description: Inline plan configuration descriptor to activate + allOf: + - $ref: '#/components/schemas/PlanConfigurationDescriptor' + example: + name: "myjob-111" + activationMode: "BEST_EFFORT" + customProperties: { + techology-type: "NR", + indoor: false + } + planConfig: + ... + - type: object # Alt.3 planConfigGroupDescrId + required: + - planConfigGroupDescrId # Alt.3 planConfigGroupDescrId + properties: + planConfigGroupDescrId: + 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: + type: string + description: Inline plan group descriptor to activate + 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 activate + example: "planxyz" + + + ActivationJob: + type: object + required: + - id + - status + - isImmediateActivation + - isFallbackEnabled + - serviceImpact + - jobDetails + - _links + description: An object representing a plan activation job. + allOf: + - type: object + properties: + id: + type: string + description: ID of the activation job. + example: "job-id-3985199134" + status: + $ref: '#/components/schemas/ActivationJobStatus' + jobDetails: + $ref: '#/components/schemas/JobDetails' + activationDetails: + allOf: + - $ref: '#/components/schemas/LinkObject' + - type: object + properties: + href: + type: string + description: A URI reference to the activation details. + example: "{apiRoot}/ProvMnS/v1/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" + mnsConsumerId: + type: array + description: The user that created and/or started the job. It may indicate a human user and/or one or more applications initiating the job. E.g. ["userid:janedoe", "appid:12314"]. + items: + type: string + _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}/ProvMnS/v1/activation-jobs/{ActivationJobId}" + title: + type: string + enum: + - "Link to the plan activation job" + method: + type: string + enum: + - "GET" + example: + href: "{apiRoot}/ProvMnS/v1/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' + - type: object + description: A URI reference to the fallback plan descriptor. + example: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/myjob-111-fallback" + templated: true + type: "application/json" + title: "A URI reference to the fallback plan descriptor" + method: "GET" + additionalProperties: + $ref: '#/components/schemas/LinkObject' + - $ref: '#/components/schemas/ActivationJobRequest' + example: + id: "myjob-111" + name: "5G-Dublin-East-Rollout" + description: "Optimize the 5G network in Dublin East" + isFallbackEnabled: true + serviceImpact: "SHORTEST_TIME" + isImmediateActivation: true + status: + jobState: "RUNNING" + startedAt: "" + activationState: "NOT_STARTED" + jobDetails: {} # Assuming this is a simple object + activationDetails: + href: "{apiRoot}/ProvMnS/v1/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" + _links: + self: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111" + templated: true + type: "application/json" + title: "The newly created activation job" + method: "GET" + planDescriptor: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/planxyz" + templated: true + type: "application/json" + title: "plan descriptor link" + method: "GET" + status: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/status" + templated: true + type: "application/json" + title: "activation status link" + method: "GET" + activation-details: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/activation-details" + templated: true + type: "application/json" + title: "activation details link" + method: "GET" + cancel: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/cancel-request" + templated: true + type: "application/json" + title: "cancel the job" + method: "PUT" + fallbackPlan: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/myfallback-plan-111" + templated: true + type: "application/json" + title: "fallback plan descriptor link" + method: "GET" + additionalProperties: true + + ValidationJobRequest: + type: object + required: + - _links + description: An object representing a plan activation job. + properties: + name: + type: string + description: Name of the validation job + example: "Dublin East Cell Deployment" + description: + type: string + description: Human-readable description of the job + example: "Optimize the Dublin area network" + validationMode: + type: string + enum: [CONTINUE_ON_ERROR, STOP_ON_ERROR] + default : "CONTINUE_ON_ERROR" + description: Specifies the execution behavior when the plan is activated + mnsConsumerId: + type: array + description: The user 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 + 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 + } + planConfig: + ... + - 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" + example: + { + name : "5G-Dublin-East-Rollout", + description : "Optimize the 5G network in Dublin East", + planConfigDescrId : "plan-descriptor-001", + } + additionalProperties : true + + ValidationJob: + type: object + required: + - id + - status + - jobDetails + - validationDetails + - _links + allOf: + - $ref: '#/components/schemas/ValidationJobRequest' + - type: object + properties: + id: + type: string + description: id of the validation job + example: "job-id-3985199134" + status: + allOf: + - $ref: '#/components/schemas/ValidationJobStatus' + jobDetails: + allOf: + - $ref: '#/components/schemas/JobDetails' + currentConfigTime: + type: string + format: date-time + validationDetails: + allOf: + - $ref: '#/components/schemas/LinkObject' + - type: object + properties: + href: + type: string + title: A URI reference to the validation details + example: "{apiRoot}/ProvMnS/v1/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}/ProvMnS/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}/ProvMnS/v1/validation-jobs/validation-job-001" + title: "Link to the plan validation job" + type: "application/json" + templated: true + method: GET + cencel: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/ProvMnS/v1/validation-jobs/{validationJobId}/status" + title: + type: string + enum: + - "Link to the plan validation job" + method: + type: string + enum: + - "PATCH" # This means the method MUST be "GET" + example: + href: "{apiRoot}/ProvMnS/v1/validation-jobs/validation-job-001/status" + title: "Link to the cancel validation job - cancelRequest : true must be in body" + type: "application/json" + templated: true + method: PUT + + + required : + - self + - cancel + # additionalProperties to allow any other dynamic links + additionalProperties: + $ref: '#/components/schemas/LinkObject' + example: + self: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111" + templated: true + type: "application/json" + title: "The newly created activation job" + method : "GET" + planDescriptor: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/planxyz" + templated: true + type: "application/json" + title: "plan descriptor link" + method : "GET" + status: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/status" + templated: true + type: "application/json" + title: "activation status link" + method : "GET" + cancel: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/status" + templated: true + type: "application/json" + title: "cancel the job" + method : "PATCH" + + example: + { + id : "myjob-111", + name : "5G-Dublin-East-Rollout", + description : "Optimize the 5G network in Dublin East", + isFallbackEnabled : true, + serviceImpact : "SHORTEST_TIME", + isImmediateActivation : true, + status : { + jobState : "RUNNING", + jobDetails : {...}, + startedAt : "", + activationState : "NOT_STARTED" + }, + validationDetails : { + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/validation-details", + templated: true, + type: "application/json", + title: "The validation details of the plan configuration(s)", + method : "GET" + }, + planConfigDescrId : "plan-descriptor-001", + } + additionalProperties : true + + CancelRequest: + type: object + properties: + cancelRequest: + type: boolean + description: property to cancel the activation/validation job + example: true + + Change: + type: object + properties: + changeId: + type: string + description: Unique identifier for this change + example: "opId-001" + operation: + type: string + enum: [create, merge, update, 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/update/merge/delete operations) + additionalProperties: true # Allows for any nested properties + required: + - operation + - target + + JobLinks: + type: object + 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}/ProvMnS/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" + example: + href: "{apiRoot}/ProvMnS/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}/ProvMnS/v1/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}/ProvMnS/v1/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}/ProvMnS/v1/plan-{job-type}-jobs/{jobId}/status" + title: + type: string + enum: + - "Link to cancel the job" + method: + type: string + enum: + - "PATCH" # This means the method MUST be "PATCH" + description: A URI reference to cancel the job + example: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/status" + title: "Link to cancel the job" + type: "application/json" + templated: true + method: PATCH + + JobState: + type: string + enum: [NOT_STARTED, QUEUED, RUNNING, CANCELLING, CANCELLED, COMPLETED, FAILED] + example: "COMPLETED" + + JobDetails: + properties: + jobInformation: + type: string + 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: + results: + type: array + items: + type: object + properties: + planDescriptorId: + type: string + example: "planconfig-descriptor-001" + changes: + type: array + items: + $ref: '#/components/schemas/ChangeStatus' + summary: + $ref: '#/components/schemas/SummaryStatus' + example: + { + "results": { ...}, + "summary" : { + "unprocessed": 0, + "succeeded": 2, + "failed": 3 + } + } + + ValidationState: + type: string + enum: [UNKNOWN, VALIDATION_SUCCEEDED, VALIDATION_FAILED] + example: "VALIDATED" + + ActivationState: + type: string + enum: [NOT_STARTED, VALIDATING, ACTIVATED, ACTIVATION_FAILED, PARTIALLY_ACTIVATED, ACTIVATION_FAILED_ROLLED_BACK, ACTIVATION_FAILED_ROLLBACK_FAILED] + example: "ACTIVATED" + + ChangeStatus: + type: object + properties: + changeId: + type: string + example: "changeId-001" + state: + type: string + enum: [NOT_STARTED, PROCESSING, SUCCEEDED, FAILED] + default: NOT_STARTED + example: "SUCCEEDED" + target: + type: string + example: "/SubNetwork=1/MeContext=2/ManagedElement=3" + errors: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + conflicts: + type: array + items: + $ref: '#/components/schemas/Conflict' + required: + - changeId # either the changeId from the plan or the array index in the array of Change; + - target + - state + example: + changeId: changeId-002-update-config + target: /SubNetwork=1/MeContext=2/ManagedElement=3 + state: FAILED + errors: + - type: VALIDATION_ERROR + title: Validation Error + status: 400 + reason: NEW_ATTRIBUTE_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: + attributeName: someAttr + invalidValue: some-value + + SummaryStatus: + type: object + properties: + notFinished: + type: integer + example: 1 + succeeded: + type: integer + example: 3 + failed: + type: integer + example: 3 + rollbackSucceeded: + type: integer + example: 0 + rollbackFailed: + type: integer + example: 0 + + Conflict: + type: object + allOf: + - $ref: '#/components/schemas/Change' + properties: + planDescriptorId: + type: string + change: + $ref: '#/components/schemas/Change' + conflictingChanges: + type: array + items: + $ref: '#/components/schemas/ConflictingChange' + example: + { + "planDescriptorId" : "plan-descriptor-001", + "changeId": "optimization-change-A", + "operation": "merge", + "target": "/_3gpp-common-subnetwork:SubNetwork=HQ/NRCellDU=cell-22", + "value" : { + "attributes" : { + "some-attribute-name-a" : "some-attribute-value-b" + } + }, + "conflictingChanges": [ + { + "planDescriptorId": "plan-emergency-fix", + "change": { + "changeId": "fix-power-issue-X", + "operation": "merge", + "target": "/_3gpp-common-subnetwork:SubNetwork=HQ/NRCellDU=cell-22", + "value" : { + "attributes" : { + "some-attribute-name-x" : "some-attribute-value-y" + } + }, + }, + "conflictType": "VALUE_OVERWRITE", + "conflictMessage": "This change attempts to set 'transmitPower' to 45, but 'fix-power-issue-X' from 'plan-emergency-fix' sets it to 40. Only one value can persist.", + "severity": "HIGH" + } + ] + } + + ConflictingChange: + type: object + properties: + planDescriptorId: + type: string + change: + $ref: '#/components/schemas/Change' + conflictType: + type: string + conflictMessage: + type: string + severity: + type: string + enum: + - LOW + - MEDIUM + - HIGH + - UNKNOWN + default: UNKNOWN + required: + - change + - conflictType + - severity + + ErrorDetail: + type: object + properties: + title: + type: string + description: A short, human-readable summary of the problem type + example: "Data already exists; cannot be created" + status: + type: integer + format: int32 + enum: + - 400 + - 403 + - 404 + - 405 + - 406 + - 408 + - 410 + - 411 + - 413 + - 414 + - 415 + - 422 + - 426 + - 429 + - 451 + type: + type: string + description: The type of the error + enum: + - VALIDATION_ERROR + - REQUEST_OBJECT_TREE_MISMATCH + - IE_NOT_FOUND + - MODIFICATION_NOT_ALLOWED + - RETRIEVAL_NOT_ALLOWED + - SERVER_LIMITATION + - SERVICE_DISABLED + - APPLICATION_LAYER_ERROR + reason: + type: string + enum: + - RESPONSE_TOO_LARGE + - NO_DATA_ACCESS + - QUERY_MALFORMED + - QUERY_PARAM_NAMES_INVALID + - QUERY_PARAM_VALUES_INVALID + - QUERY_PARAMS_MISSING + - QUERY_PARAMS_INCONSISTENT + - ATTRIBUTES_NOT_READABLE + - QUERY_PARAMS_TOO_COMPLEX + - NEW_ATTRIBUTE_VALUE_INVALID + - NEW_ATTRIBUTE_NAME_INVALID + - ATTRIBUTE_NOT_WRITABLE + - ATTRIBUTE_INVARIANT + - ATTRIBUTE_NOT_FOUND + - OBJECT_CREATION_NOT_ALLOWED + - OBJECT_DELETION_NOT_ALLOWED + - NEW_OBJECT_CLASS_NAME_INVALID + - NEW_OBJECT_REPRESENTATION_INVALID + - NEW_OBJECT_CONTAINMENT_INVALID + - NEW_OBJECTS_ID_EXISTS + - NEW_OBJECTS_PARENT_NOT_FOUND + - NEW_OBJECT_ATTRIBUTE_VALUE_MISSING + - OBJECTS_CARDINALITY_INVALID + - OBJECT_NOT_A_LEAF + - OBJECT_NOT_FOUND + - OP_UNKNOWN + - RESOURCE_LOCKED + - SERVICE_LOCKED + - UNKNOWN + example: "UNKNOWN" + detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem. + example: "NRCellDU=1234 already exists in the network" + path: + type: string + example: "/_3gpp-common-subnetwork:SubNetwork=Irl/_3gpp-common-mecontext:MeContext=Dublin-1" + errorInfo : + type: object + description: additional error info (e.g. stackdump) + additionalProperties: true + required: + - type + - title + - status + + # 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/RequestObjectTreeMismatchDetails' + - $ref: '#/components/schemas/IENotFoundDetails' + - $ref: '#/components/schemas/ModificationNotAllowedDetails' + - $ref: '#/components/schemas/RetrievalNotAllowedDetails' + - $ref: '#/components/schemas/ServerLimitationDetails' + - $ref: '#/components/schemas/ServiceDisabledDetails' + - $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' + REQUEST_OBJECT_TREE_MISMATCH: '#/components/schemas/RequestObjectTreeMismatchDetails' + IE_NOT_FOUND: '#/components/schemas/IENotFoundDetails' + MODIFICATION_NOT_ALLOWED: '#/components/schemas/ModificationNotAllowedDetails' + RETRIEVAL_NOT_ALLOWED: '#/components/schemas/RetrievalNotAllowedDetails' + SERVER_LIMITATION: '#/components/schemas/ServerLimitationDetails' + SERVICE_DISABLED: '#/components/schemas/ServiceDisabledDetails' + 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"] + status: + type: integer + enum: [400] + + RequestObjectTreeMismatchDetails: + type: object + properties: + type: + type: string + enum: [REQUEST_OBJECT_TREE_MISMATCH] + title: + type: string + enum: ["Request Object Tree Mismatch"] + status: + type: integer + enum: [422] + + IENotFoundDetails: + type: object + properties: + type: + type: string + enum: [IE_NOT_FOUND] + title: + type: string + enum: ["Information Element Not Found"] + status: + type: integer + enum: [400] + + ModificationNotAllowedDetails: + type: object + properties: + type: + type: string + enum: [MODIFICATION_NOT_ALLOWED] + title: + type: string + enum: ["Modification Not Allowed"] + status: + type: integer + enum: [403] + + RetrievalNotAllowedDetails: + type: object + properties: + type: + type: string + enum: [RETRIEVAL_NOT_ALLOWED] + title: + type: string + enum: ["Retrieval Not Allowed"] + status: + type: integer + enum: [403] + + ServerLimitationDetails: + type: object + properties: + type: + type: string + enum: [SERVER_LIMITATION] + title: + type: string + enum: ["Server Limitation"] + status: + type: integer + enum: [500] + + ServiceDisabledDetails: + type: object + properties: + type: + type: string + enum: [SERVICE_DISABLED] + title: + type: string + enum: ["Service Disabled"] + status: + type: integer + enum: [503] + + ApplicationLayerErrorDetails: + type: object + properties: + type: + type: string + enum: [APPLICATION_LAYER_ERROR] + title: + type: string + enum: ["Application Layer Error"] + status: + type: integer + enum: [500] + + LinkObject: + type: object + description: Defines the structure of a single hypermedia link. + properties: + href: + type: string + format: uri-reference # Use uri-reference for relative paths (allows for absolute or relative uri) + description: The target URI of the link. + templated: + type: boolean + description: Indicates if the href is a URI Template (RFC 6570). + default: true + type: + type: string + description: The content type expected when following this link (MIME type). + title: + type: string + description: A human-readable title that describes the link's purpose. + method: + type: string + enum: [GET, POST, PUT, DELETE, PATCH] + description: The HTTP method to use for this action link. + required: + - href + + SelfLink: + type: object + description: Hypermedia links for this resource, including fixed and dynamic relations. + properties: + self: + allOf: + - $ref: '#/components/schemas/LinkObject' + description: A link to the resource itself. + # additionalProperties to allow any other dynamic links + additionalProperties: + $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + required: + - self + example: # demonstrates a typical _links object in an actual response + self: + href: "{root-url}/ProvMnS/v1/plan-descriptors/pd-001" + templated: true + type: "application/json" + title: "The newly created PlanConfigurationDescriptor" + help: + 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: + operation: 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: + operation: update + 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 (remove operation) + value: + operation: 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 -- GitLab From 23742817b803a1c3ce8830ad2bef31ebaf1a0e24 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:55:30 +0000 Subject: [PATCH 17/93] Upload New File --- OpenAPI/TS28623_ExternalDataMgmtNrm.yaml | 81 ++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 OpenAPI/TS28623_ExternalDataMgmtNrm.yaml diff --git a/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml new file mode 100644 index 00000000..8dedab4e --- /dev/null +++ b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml @@ -0,0 +1,81 @@ +openapi: 3.0.1 +info: + title: External data management NRM + version: 19.5.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). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623; Generic NRM, External data type NRM fragment + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-ExternalDataMgmtNrm: + type: object + properties: + ExternalDataType: + $ref: '#/components/schemas/ExternalDataType-Multiple' + + +#-------- Definition of types----------------------------------------------------- + + ExternalDataScope: + type: object + properties: + geoAreas: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + objectInstancesIncluded: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + objectInstancesExcluded: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + +#-------- Definition of concrete IOCs -------------------------------------------- + + ExternalDataType-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + externalDataType: + type: string + mediaLocation: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + externalDataTypeSchema: + type: string + externalDataScope: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ExternalDataScope' + +#-------- Definition of YAML arrays for name-contained IOCs ---------------------- + + ExternalDataType-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalDataType-Single' + +#-------- Definitions in TS 28.623 for TS 28.532 --------------------------------- + resources-externalDataMgmtNrm: + oneOf: + - $ref: '#/components/schemas/ExternalDataType-Single' + + -- GitLab From bceb3b6c69fa7b2e9b72531f2fd51c6691194e78 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:55:51 +0000 Subject: [PATCH 18/93] Replace TS28623_ComDefs.yaml --- OpenAPI/TS28623_ComDefs.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/OpenAPI/TS28623_ComDefs.yaml b/OpenAPI/TS28623_ComDefs.yaml index 7d4cb0b6..71d88b74 100755 --- a/OpenAPI/TS28623_ComDefs.yaml +++ b/OpenAPI/TS28623_ComDefs.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Common Type Definitions - version: 19.4.0 + version: 19.5.0 description: >- OAS 3.0.1 specification of common type definitions in the Generic NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -100,6 +100,11 @@ components: Nid: type: string pattern: '^[A-Fa-f0-9]{11}$' + + CagId: + type: string + pattern: '^[A-Fa-f0-9]{8}$' + PlmnId: description: This datatype is used for writable attribute type: object -- GitLab From f510a1b0efc23b93be06929aca5ab86bd9fd0623 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:56:15 +0000 Subject: [PATCH 19/93] Replace TS28623_FeatureNrm.yaml --- OpenAPI/TS28623_FeatureNrm.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenAPI/TS28623_FeatureNrm.yaml b/OpenAPI/TS28623_FeatureNrm.yaml index 7a37deb9..503f3d7a 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.4.0 + version: 19.5.0 description: >- OAS 3.0.1 definition of the Features of NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -27,6 +27,7 @@ components: - $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: 'TS28561_NdtNrm.yaml#/components/schemas/resources-ndtNrm' - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/resources-fileMgmtNrm' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/resources-genericNrm' - $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/resources-mgmtDataCollectionNrm' @@ -37,5 +38,5 @@ components: - $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/resources-thresholdMonitorNrm' - $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/resources-traceControlNrm' - $ref: 'TS28310_EnergyInformationNrm.yaml#/components/schemas/resources-energyInformationNrm' - + - $ref: 'TS28623_ExternalDataMgmtNrm.yaml#/components/schemas/resources-externalDataMgmtNrm' #----- Definitions in TS 28.623 for TS 28.532 --------------------------# -- GitLab From 4c20fcad943fa329e3b5833aefec5e9290c7721b Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:56:35 +0000 Subject: [PATCH 20/93] Replace TS28623_GenericNrm.yaml --- OpenAPI/TS28623_GenericNrm.yaml | 58 ++++++++++++++++++++++++--------- 1 file changed, 42 insertions(+), 16 deletions(-) diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index 8d054aa9..82befbe2 100755 --- a/OpenAPI/TS28623_GenericNrm.yaml +++ b/OpenAPI/TS28623_GenericNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Generic NRM - version: 19.4.0 + version: 19.5.0 description: >- OAS 3.0.1 definition of the Generic NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -154,29 +154,55 @@ components: allOf: - type: array items: - $ref: '#/components/schemas/NpnId-Type' - minItems: 1 + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + maxItems: 16384 - oneOf: - type: array items: $ref: '#/components/schemas/EutraCellId' minItems: 1 maxItems: 32 + - type: object + properties: + nrCellId: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + maxItems: 32 + nPNIdentityList: + type: array + items: + $ref: '#/components/schemas/NpnId-Type' + - type: object + properties: + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + maxItems: 8 + cAGIdList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/CagId' + maxItems: 256 + - type: object + properties: + taList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + maxItems: 8 + nPNIdentityList: + type: array + items: + $ref: '#/components/schemas/NpnId-Type' - type: array items: - $ref: '#/components/schemas/NrCellId' - minItems: 1 - maxItems: 32 - - type: array - items: - $ref: '#/components/schemas/Tac' - minItems: 1 - maxItems: 8 - - type: array - items: - $ref: '#/components/schemas/Tai' + $ref: '#/components/schemas/NpnId-Type' minItems: 1 - maxItems: 8 Tai: type: object properties: @@ -255,7 +281,7 @@ components: type: array uniqueItems: true items: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/CagId' maxItems: 256 nIDList: type: array -- GitLab From 48c5490bcccc5e633ebba1dedbf49e0beaf7f701 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:56:53 +0000 Subject: [PATCH 21/93] Replace TS28623_ManagementDataCollectionNrm.yaml --- .../TS28623_ManagementDataCollectionNrm.yaml | 50 +------------------ 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml index 5f3a20de..d5ab9f7e 100644 --- a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml +++ b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Management Data Collection NRM - version: 19.4.0 + version: 19.5.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). @@ -18,8 +18,6 @@ components: properties: ManagementDataCollection: $ref: '#/components/schemas/ManagementDataCollection-Multiple' - ExternalDataType: - $ref: '#/components/schemas/ExternalDataType-Multiple' #-------Definition of generic IOCs ----------# @@ -62,24 +60,6 @@ components: items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - ExternalDataScope: - type: object - properties: - geoAreas: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' - objectInstancesIncluded: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - objectInstancesExcluded: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' #-------- Definition of concrete IOCs -------------------------------------------- @@ -114,43 +94,15 @@ components: jobId: type: string - ExternalDataType-Single: - allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - - type: object - properties: - attributes: - type: object - properties: - externalDataType: - type: string - mediaLocation: - type: array - uniqueItems: true - items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' - externalDataTypeSchema: - type: string - externalDataScope: - type: array - uniqueItems: true - items: - $ref: '#/components/schemas/ExternalDataScope' - #-------- Definition of YAML arrays for name-contained IOCs ---------------------- ManagementDataCollection-Multiple: type: array items: $ref: '#/components/schemas/ManagementDataCollection-Single' - ExternalDataType-Multiple: - type: array - items: - $ref: '#/components/schemas/ExternalDataType-Single' #-------- Definitions in TS 28.623 for TS 28.532 --------------------------------- resources-mgmtDataCollectionNrm: oneOf: - $ref: '#/components/schemas/ManagementDataCollection-Single' - - $ref: '#/components/schemas/ExternalDataType-Single' -- GitLab From 7e425a003d8e702c50e55a798038c51bd327eb41 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:57:17 +0000 Subject: [PATCH 22/93] Replace TS28623_MnSRegistryNrm.yaml --- OpenAPI/TS28623_MnSRegistryNrm.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28623_MnSRegistryNrm.yaml b/OpenAPI/TS28623_MnSRegistryNrm.yaml index cfaceb32..bc038623 100644 --- a/OpenAPI/TS28623_MnSRegistryNrm.yaml +++ b/OpenAPI/TS28623_MnSRegistryNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: MnS Registry NRM - version: 19.4.0 + version: 19.5.0 description: >- OAS 3.0.1 definition of the MnS Registry NRM fragment © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -45,15 +45,17 @@ components: - HEARTBEAT_CONTROL - HEARTBEAT_NOTIFICATION - ML_MODEL_MANAGEMENT - - MANAGEMENT DATA ANALYTIC + - MANAGEMENT_DATA_ANALYTIC - RANSC_MANAGEMENT - SON_POLICY - COMMUNICATION_SERVICE_ASSURANCE_CONTROL - INTENT_DRIVEN_MANAGEMENT - ML_MODEL_MANAGEMENT - MNS_REGISTRY_AND_DISCOVERY + - MGMTDATA_REGISTRY_AND_DISCOVERY - MNS_ACCESS_CONTROL_MANAGEMENT - - DSO_RAPID_RECOVERY_AND_THRESHOLD MONITORING + - DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING + - EXTERNALDATA_DISCOVERY_AND_REQUEST #-------- Definition of concrete IOCs -------------------------------------------- MnsRegistry-Single: allOf: -- GitLab From 8a6ae7bd179a8d68039682ca593fef5187ae75f9 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 22 Sep 2025 09:57:41 +0000 Subject: [PATCH 23/93] Replace TS28623_TraceControlNrm.yaml --- OpenAPI/TS28623_TraceControlNrm.yaml | 55 +++++++++++++++------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/OpenAPI/TS28623_TraceControlNrm.yaml b/OpenAPI/TS28623_TraceControlNrm.yaml index b335275c..a1f304f2 100644 --- a/OpenAPI/TS28623_TraceControlNrm.yaml +++ b/OpenAPI/TS28623_TraceControlNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Trace Control NRM - version: 19.3.0 + version: 19.4.0 description: >- OAS 3.0.1 definition of the Trace Control NRM fragment © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -27,6 +27,30 @@ components: #-------- Definition of types used in Trace control NRM fragment------------------ + TraceTarget: + type: object + description: Trace target conveying both the type and value of the target ID. For additional details see 3GPP TS 32.422 + properties: + traceTargetType: + type: string + enum: + - IMSI + - IMEI + - IMEISV + - PUBLIC_ID + - UTRAN_CELL + - EUTRAN_CELL + - NGRAN_CELL + - ENB + - RNC + - GNB + - SUPI + - N4_SESSION_ID + traceTargetValueList: + type: array + items: + type: string + jobType-Type: type: string description: Specifies whether the TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined Trace and MDT job. Applicable for Trace, MDT, RCEF and RLF reporting. See 3GPP TS 32.422 clause 5.9a for additional details. @@ -457,28 +481,7 @@ components: enum: - FILE_BASED - STREAMING - default: FILE_BASED - - traceTarget-Type: - type: object - description: Trace target conveying both the type and value of the target ID. For additional details see 3GPP TS 32.422 - properties: - TargetIdType: - type: string - enum: - - IMSI - - IMEI - - IMEISV - - PUBLIC_ID - - UTRAN_CELL - - E_UTRAN_CELL - - NG_RAN_CELL - - ENB - - RNC - - GNB - - SUPI - TargetIdValue: - type: string + default: FILE_BASED triggeringEvents-Type: type: object @@ -1374,8 +1377,6 @@ components: maxItems: 8 reportType: $ref: '#/components/schemas/reportType-Type' - plmnList: - $ref: '#/components/schemas/plmnList-Type' eventListForEventTriggeredMeasurement: $ref: '#/components/schemas/eventListForEventTriggeredMeasurement-Type' areaConfigurationForNeighCell: @@ -1407,6 +1408,8 @@ components: $ref: '#/components/schemas/immediateMDTConfig-Type' loggedMDTConfig: $ref: '#/components/schemas/loggedMDTConfig-Type' + plmnList: + $ref: '#/components/schemas/plmnList-Type' UECoreMeasConfig-Type: description: UE level measurements configuration parameters for 5G system. See details in 3GPP TS 28.622 clause 4.3.x. @@ -1531,7 +1534,7 @@ components: traceReportingFormat: $ref: '#/components/schemas/traceReportingFormat-Type' traceTarget: - $ref: '#/components/schemas/traceTarget-Type' + $ref: '#/components/schemas/TraceTarget' traceConfig: $ref: '#/components/schemas/traceConfig-Type' mdtConfig: -- GitLab From d4c9bb96ef840401229328f71ae5bb552f287974 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 2 Oct 2025 19:45:27 +0200 Subject: [PATCH 24/93] 2-3 commit1 --- yang-models/_3gpp-common-ep-rp.yang | 6 +- yang-models/_3gpp-common-trace.yang | 9 +- yang-models/_3gpp-common-yang-types.yang | 3 +- yang-models/_3gpp-nr-nrm-ep.yang | 24 ++- yang-models/_3gpp-nr-nrm-iabfunction.yang | 10 +- .../external-yams/ietf-inet-types.yang | 137 +++++++++------- ...01-14.yang => ietf-yang-schema-mount.yang} | 0 .../external-yams/ietf-yang-types.yang | 146 ++++++++++-------- 8 files changed, 203 insertions(+), 132 deletions(-) rename yang-models/external-yams/{ietf-yang-schema-mount@2019-01-14.yang => ietf-yang-schema-mount.yang} (100%) mode change 100755 => 100644 diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang index 3b4d22dd..a3c14b50 100755 --- a/yang-models/_3gpp-common-ep-rp.yang +++ b/yang-models/_3gpp-common-ep-rp.yang @@ -12,7 +12,7 @@ module _3gpp-common-ep-rp { description "Common/basic class/grouping to be inherited/reused. This IOC represents an end point of a link used across a reference point between two network entities. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.622 @@ -23,6 +23,7 @@ module _3gpp-common-ep-rp { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-10-01 { reference CR-0578 ; } revision 2023-09-18 { reference CR-0271 ; } revision 2020-06-08 { reference "CR-0092"; } @@ -49,11 +50,12 @@ module _3gpp-common-ep-rp { config false; type types3gpp:DistinguishedName; } + + uses meas3gpp:SupportedPerfMetricGroupGrp; } grouping EP_Common { uses EP_RPGrp; - uses meas3gpp:SupportedPerfMetricGroupGrp; list localAddress { description "Local IP address and VLAN ID."; key "ipAddress vlanId"; diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index cbcf5b17..38df834e 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,6 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } revision 2025-05-07 { reference "CR-0532 CR-0536 CR-0540" ; } revision 2025-02-07 { reference "CR-0504" ; } @@ -1585,7 +1586,7 @@ module _3gpp-common-trace { reference "clause 5.10.38 of TS 32.422"; } - list areaConfigurationForNeighCells { + list areaConfigurationForNeighCell { when '../../../jobType = "LOGGED_MDT_ONLY" or' + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; key "idx"; @@ -1731,7 +1732,7 @@ module _3gpp-common-trace { trsrPrefixLength defines the size of base TRSR prefix."; reference "Clause 5.10 of 3GPP TS 32.422."; leaf idx { type uint32 ; } - uses trace3gpp:trsrPrefixCfgGrp ; + uses trace3gpp:TrsrPrefixCfgGrp ; } } @@ -1786,8 +1787,8 @@ module _3gpp-common-trace { } } - grouping trsrPrefixCfgGrp { - leaf trstPrefix { + grouping TrsrPrefixCfgGrp { + leaf trsrPrefix { type string; mandatory true; description "A 2 byte Octet String. This is the base TRSR prefix"; diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index bba864e2..85be0505 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -17,6 +17,7 @@ module _3gpp-common-yang-types { reference "3GPP TS 28.623"; + revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } revision 2025-02-19 { reference CR-0512; } revision 2025-02-07 { reference CR-0492; } @@ -103,7 +104,7 @@ module _3gpp-common-yang-types { } typedef FullTime { - type yang:time-with-zone-offset; + type yang:time; } grouping DayInYearGrp { diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 60bc8091..8818cd7d 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -9,6 +9,7 @@ module _3gpp-nr-nrm-ep { import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-common-yang-types { prefix types3gpp ; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -19,6 +20,7 @@ module _3gpp-nr-nrm-ep { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-10-01 { reference CR-1616 ; } revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } @@ -47,6 +49,11 @@ module _3gpp-nr-nrm-ep { uses eprp3gpp:EP_Common; } + grouping EP_F1CGrp { + description "Attributes of IOC EP_F1U"; + uses eprp3gpp:EP_Common; + } + grouping EP_F1CSubtree { list EP_F1C { description "Represents the local end point of the control plane @@ -55,11 +62,24 @@ module _3gpp-nr-nrm-ep { key id; uses top3gpp:Top_Grp; container attributes { - uses eprp3gpp:EP_Common; + uses EP_F1CGrp; } } } + grouping EP_F1UGrp { + description "Attributes of IOC EP_F1U"; + uses eprp3gpp:EP_Common; + + leaf-list epTransportRef { + type types3gpp:DistinguishedName; + config false; + description "This parameter specifies a list of transport level EPs + associated with the application level EP (i.e. EP_N3 or EP_NgU or + EP_F1U) or network slice subnet."; + } + } + grouping EP_F1USubtree { list EP_F1U { description "Represents the local end point of the user plane @@ -68,7 +88,7 @@ module _3gpp-nr-nrm-ep { key id; uses top3gpp:Top_Grp; container attributes { - uses eprp3gpp:EP_Common; + uses EP_F1UGrp; } } } diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang index 12592ba4..9a16b3d2 100644 --- a/yang-models/_3gpp-nr-nrm-iabfunction.yang +++ b/yang-models/_3gpp-nr-nrm-iabfunction.yang @@ -18,6 +18,7 @@ module _3gpp-nr-nrm-iabfunction { reference "3GPP TS 28.541; 3GPP TS 28.314; 3GPP TS 28.315; 3GPP TS 33.310, IETF RFC 9811"; + revision 2025-10-01 { reference "CR-1616" ; } revision 2025-08-15 { reference "CR-1598"; } grouping CaraConfigurationGrp { @@ -170,10 +171,11 @@ module _3gpp-nr-nrm-iabfunction { uses LocationInfoGrp; } } - grouping IabSubTree { + + grouping IABSubTree { description "Contains classes that manage IAB function management"; - list IAB { + list IAB { description "IAB-node architecture is specified in TS 38.401. This IOC defines the configuration information for the IAB management"; @@ -191,7 +193,7 @@ module _3gpp-nr-nrm-iabfunction { augment /me3gpp:ManagedElement { if-feature IABUnderManagedElement; - uses IabSubTree; + uses IABSubTree; } feature IABUnderSubNetwork { @@ -200,6 +202,6 @@ module _3gpp-nr-nrm-iabfunction { augment /subnet3gpp:SubNetwork { if-feature IABUnderSubNetwork; - uses IabSubTree; + uses IABSubTree; } } \ No newline at end of file diff --git a/yang-models/external-yams/ietf-inet-types.yang b/yang-models/external-yams/ietf-inet-types.yang index 8101ea4b..a7da0952 100755 --- a/yang-models/external-yams/ietf-inet-types.yang +++ b/yang-models/external-yams/ietf-inet-types.yang @@ -16,14 +16,13 @@ module ietf-inet-types { description "This module contains a collection of generally useful derived YANG data types for Internet addresses and related things. - The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here. - Copyright (c) 2022 IETF Trust and the persons identified as + Copyright (c) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or @@ -36,13 +35,14 @@ module ietf-inet-types { This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; - revision 2023-01-23 { + revision 2025-06-23 { description "This revision adds the following new data types: - inet:ip-address-and-prefix - inet:ipv4-address-and-prefix - inet:ipv6-address-and-prefix - inet:protocol-number + - inet:upper-layer-protocol-number - inet:host-name - inet:email-address - inet:ip-address-link-local @@ -64,7 +64,6 @@ module ietf-inet-types { reference "RFC 6991: Common YANG Data Types"; } - revision 2010-09-24 { description "Initial revision."; @@ -171,10 +170,7 @@ module ietf-inet-types { "The protocol-number type represents an 8-bit Internet protocol number, carried in the 'protocol' field of the IPv4 header or in the 'next header' field of the IPv6 - header. If IPv6 extension headers are present, then the - protocol number type represents the upper layer protocol - number, i.e., the number of the last next header' field - of the IPv6 extension headers. + header. Protocol numbers are assigned by IANA. The current list of all assignments is available from ."; @@ -183,6 +179,19 @@ module ietf-inet-types { RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; } + typedef upper-layer-protocol-number { + type protocol-number; + description + "The upper-layer-protocol-number represents the upper-layer + protocol number carried in an IP packet. For IPv6 packets + with extension headers, this is the protocol number carried + in the last 'next header' field of the chain of IPv6 extension + headers."; + reference + "RFC 791: Internet Protocol + RFC 8200: Internet Protocol, Version 6 (IPv6) Specification"; + } + /*** collection of types related to autonomous systems ***/ typedef as-number { @@ -219,8 +228,8 @@ module ietf-inet-types { typedef ip-address { type union { - type inet:ipv4-address; - type inet:ipv6-address; + type ipv4-address; + type ipv6-address; } description "The ip-address type represents an IP address and is IP @@ -236,12 +245,16 @@ module ietf-inet-types { 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])' - + '(%[A-Za-z0-9][A-Za-z0-9\-\._~/]*)?'; + + '(%.+)?'; } description "The ipv4-address type represents an IPv4 address in dotted-quad notation. The IPv4 address may include a zone - index, separated by a % sign. + index, separated by a % sign. If a system uses zone names + that are not represented in UTF-8, then an implementation + needs to use some mechanism to transform the local name + into UTF-8. The definition of such a mechanism is outside + the scope of this document. The zone index is used to disambiguate identical address values. For link-local addresses, the zone index will @@ -268,6 +281,10 @@ module ietf-inet-types { "The ipv6-address type represents an IPv6 address in full, mixed, shortened, and shortened-mixed notation. The IPv6 address may include a zone index, separated by a % sign. + If a system uses zone names that are not represented in + UTF-8, then an implementation needs to use some mechanism + to transform the local name into UTF-8. The definition of + such a mechanism is outside the scope of this document. The zone index is used to disambiguate identical address values. For link-local addresses, the zone index will @@ -288,8 +305,8 @@ module ietf-inet-types { typedef ip-address-no-zone { type union { - type inet:ipv4-address-no-zone; - type inet:ipv6-address-no-zone; + type ipv4-address-no-zone; + type ipv6-address-no-zone; } description "The ip-address-no-zone type represents an IP address and is @@ -302,23 +319,25 @@ module ietf-inet-types { } typedef ipv4-address-no-zone { - type inet:ipv4-address { + type ipv4-address { pattern '[0-9\.]*'; } description - "An IPv4 address without a zone index. This type, derived from - ipv4-address, may be used in situations where the zone is known - from the context and hence no zone index is needed."; + "An IPv4 address without a zone index. This type, derived + from the type ipv4-address, may be used in situations where + the zone is known from the context and no zone index is + needed."; } typedef ipv6-address-no-zone { - type inet:ipv6-address { + type ipv6-address { pattern '[0-9a-fA-F:\.]*'; } description - "An IPv6 address without a zone index. This type, derived from - ipv6-address, may be used in situations where the zone is known - from the context and hence no zone index is needed."; + "An IPv6 address without a zone index. This type, derived + from the type ipv6-address, may be used in situations where + the zone is known from the context and no zone index is + needed."; reference "RFC 4291: IP Version 6 Addressing Architecture RFC 4007: IPv6 Scoped Address Architecture @@ -328,8 +347,8 @@ module ietf-inet-types { typedef ip-address-link-local { type union { - type inet:ipv4-address-link-local; - type inet:ipv6-address-link-local; + type ipv4-address-link-local; + type ipv6-address-link-local; } description "The ip-address-link-local type represents a link-local IP @@ -361,8 +380,8 @@ module ietf-inet-types { typedef ip-prefix { type union { - type inet:ipv4-prefix; - type inet:ipv6-prefix; + type ipv4-prefix; + type ipv6-prefix; } description "The ip-prefix type represents an IP prefix and is IP @@ -381,7 +400,6 @@ module ietf-inet-types { "The ipv4-prefix type represents an IPv4 prefix. The prefix length is given by the number following the slash character and must be less than or equal to 32. - A prefix length value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB) and all other bits set to 0. @@ -436,8 +454,8 @@ module ietf-inet-types { typedef ip-address-and-prefix { type union { - type inet:ipv4-address-and-prefix; - type inet:ipv6-address-and-prefix; + type ipv4-address-and-prefix; + type ipv6-address-and-prefix; } description "The ip-address-and-prefix type represents an IP address and @@ -454,7 +472,7 @@ module ietf-inet-types { } description "The ipv4-address-and-prefix type represents an IPv4 - address and an associated ipv4 prefix. + address and an associated IPv4 prefix. The prefix length is given by the number following the slash character and must be less than or equal to 32. @@ -476,7 +494,7 @@ module ietf-inet-types { } description "The ipv6-address-and-prefix type represents an IPv6 - address and an associated ipv4 prefix. + address and an associated IPv6 prefix. The prefix length is given by the number following the slash character and must be less than or equal to 128. @@ -516,6 +534,7 @@ module ietf-inet-types { recommendations in RFCs 1034 and 1123. Schema nodes representing host names should use the host-name type instead of the domain-type. + The encoding of DNS names in the DNS protocol is limited to 255 characters. Since the encoding consists of labels prefixed by a length bytes and there is a trailing NULL @@ -544,7 +563,8 @@ module ietf-inet-types { (DNS SRV) RFC 4592: The Role of Wildcards in the Domain Name System RFC 5890: Internationalized Domain Names in Applications - (IDNA): Definitions and Document Framework"; + (IDNA): Definitions and Document Framework + RFC 9499: DNS Terminology"; } typedef host-name { @@ -565,14 +585,13 @@ module ietf-inet-types { typedef host { type union { - type inet:ip-address; - type inet:host-name; + type ip-address; + type host-name; } description "The host type represents either an IP address or a (fully qualified) host name."; } - typedef uri { type string { pattern '[a-z][a-z0-9+.-]*:.*'; @@ -583,11 +602,13 @@ module ietf-inet-types { Objects using the uri type MUST be in US-ASCII encoding, and MUST be normalized as described by RFC 3986 Sections - 6.2.1, 6.2.2.1, and 6.2.2.2. All unnecessary - percent-encoding is removed, and all case-insensitive - characters are set to lowercase except for hexadecimal - digits, which are normalized to uppercase as described in - Section 6.2.2.1. + 6.2.1, 6.2.2.1, and 6.2.2.2. Characters that can be + represented without using percent-encoding are represented + as characters (without percent-encoding), and all + case-insensitive characters are set to lowercase except + for hexadecimal digits within a percent-encoded triplet, + which are normalized to uppercase as described in + Section 6.2.2.1 of RFC 3986. The purpose of this normalization is to help provide unique URIs. Note that this normalization is not @@ -616,25 +637,29 @@ module ietf-inet-types { typedef email-address { type string { - pattern '(([a-zA-Z0-9!#$%&'+"'"+'*+/=?\^_`{|}~-]+' - + '(\.[a-zA-Z0-9!#$%&'+"'"+'*+/=?\^_`{|}~-]+)*)|' - + '("[a-zA-Z0-9!#$%&'+"'"+'()*+,./\[\]\^_`{|}~-]*"))' - + '@' - + '(([a-zA-Z0-9!#$%&'+"'"+'*+/=?\^_`{|}~-]+' - + '(\.[a-zA-Z0-9!#$%&'+"'"+'*+/=?\^_`{|}~-]+)*)|' - + '\[[a-zA-Z0-9!"#$%&'+"'"+'()*+,./:;<=>?@\^_`{|}~-]+\])'; + pattern '.+@.+'; } description - "The email-address type represents an email address as - defined as addr-spec in RFC 5322 section 3.4.1 except - that obs-local-part, obs-domain and obs-qtext of the - quoted-string are not supported. - - The email-address type uses US-ASCII characters. The - canonical format of the domain part of an email-address - uses lowercase US-ASCII characters."; + "The email-address type represents an internationalized + email address. + + The email address format is defined by the addr-spec + ABNF rule in RFC 5322 section 3.4.1. This format has + been extended by RFC 6532 to support internationalized + email addresses. Implementations MUST support the + internationalization extensions of RFC 6532. Support + of the obsolete obs-local-part, obs-domain, and + obs-qtext parts of RFC 5322 is not required. + + The domain part may use both A-labels and U-labels + (see RFC 5890). The canonical format of the domain part + uses lowercase characters and U-labels (RFC 5890) where + applicable."; reference - "RFC 5322: Internet Message Format"; + "RFC 5322: Internet Message Format + RFC 5890: Internationalized Domain Names in Applications + (IDNA): Definitions and Document Framework + RFC 6531: SMTP Extension for Internationalized Email"; } } diff --git a/yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang b/yang-models/external-yams/ietf-yang-schema-mount.yang old mode 100755 new mode 100644 similarity index 100% rename from yang-models/external-yams/ietf-yang-schema-mount@2019-01-14.yang rename to yang-models/external-yams/ietf-yang-schema-mount.yang diff --git a/yang-models/external-yams/ietf-yang-types.yang b/yang-models/external-yams/ietf-yang-types.yang index 39e390cb..c67167fd 100644 --- a/yang-models/external-yams/ietf-yang-types.yang +++ b/yang-models/external-yams/ietf-yang-types.yang @@ -23,7 +23,7 @@ module ietf-yang-types { described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here. - Copyright (c) 2022 IETF Trust and the persons identified as + Copyright (c) 2025 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or @@ -36,12 +36,12 @@ module ietf-yang-types { This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; - revision 2023-01-23 { + revision 2025-06-23 { description "This revision adds the following new data types: - - yang:date-with-zone-offset + - yang:date - yang:date-no-zone - - yang:time-with-zone-offset + - yang:time - yang:time-no-zone - yang:hours32 - yang:minutes32 @@ -53,8 +53,11 @@ module ietf-yang-types { - yang:nanoseconds32 - yang:nanoseconds64 - yang:language-tag - The yang-identifier definition has been aligned with YANG 1.1. - Several pattern statements have been improved."; + The yang-identifier definition has been aligned with YANG + 1.1 and types representing time support the representation + of leap seconds. The representation of time zone offsets + has been aligned with RFC 9557. Several description and + pattern statements have been improved."; reference "RFC XXXX: Common YANG Data Types"; } @@ -111,20 +114,21 @@ module ietf-yang-types { } typedef zero-based-counter32 { - type yang:counter32; + type counter32; default "0"; description "The zero-based-counter32 type represents a counter32 that has the defined 'initial' value zero. - A schema node instance of this type will be set to zero (0) + + A data tree node using this type will be set to zero (0) on creation and will thereafter increase monotonically until it reaches a maximum value of 2^32-1 (4294967295 decimal), when it wraps around and starts increasing again from zero. - Provided that an application discovers a new schema node - instance of this type within the minimum time to wrap, it - can use the 'initial' value as a delta. It is important for - a management station to be aware of this minimum time and the + Provided that an application discovers a new data tree node + using this type within the minimum time to wrap, it can use + the 'initial' value as a delta. It is important for a + management station to be aware of this minimum time and the actual time between polls, and to discard data if the actual time is too long or there is no defined minimum time. @@ -167,22 +171,22 @@ module ietf-yang-types { } typedef zero-based-counter64 { - type yang:counter64; + type counter64; default "0"; description "The zero-based-counter64 type represents a counter64 that has the defined 'initial' value zero. - A schema node instance of this type will be set to zero (0) + A data tree node using this type will be set to zero (0) on creation and will thereafter increase monotonically until it reaches a maximum value of 2^64-1 (18446744073709551615 decimal), when it wraps around and starts increasing again from zero. - Provided that an application discovers a new schema node - instance of this type within the minimum time to wrap, it - can use the 'initial' value as a delta. It is important for - a management station to be aware of this minimum time and the + Provided that an application discovers a new data tree node + using this type within the minimum time to wrap, it can use + the 'initial' value as a delta. It is important for a + management station to be aware of this minimum time and the actual time between polls, and to discard data if the actual time is too long or there is no defined minimum time. @@ -208,7 +212,6 @@ module ietf-yang-types { If the information being modeled subsequently decreases below (increases above) the maximum (minimum) value, the gauge32 also decreases (increases). - In the value set and its semantics, this type is equivalent to the Gauge32 type of the SMIv2."; reference @@ -301,27 +304,30 @@ module ietf-yang-types { typedef date-and-time { type string { - pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' - + 'T(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?' - + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; + pattern + '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' + + 'T(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' + + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; } description "The date-and-time type is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar. The profile is defined by the - date-time production in Section 5.6 of RFC 3339. + date-time production in Section 5.6 of RFC 3339 and the + update defined in Section 2 of RFC 9557 . The value of + 60 for seconds is allowed only in the case of leap seconds. The date-and-time type is compatible with the dateTime XML schema dateTime type with the following notable exceptions: (a) The date-and-time type does not allow negative years. - (b) The time-offset -00:00 indicates that the date-and-time + (b) The time-offset Z indicates that the date-and-time value is reported in UTC and that the local time zone - reference point is unknown. The time-offsets +00:00 and Z - both indicate that the date-and-time value is reported in - UTC and that the local time reference point is UTC (see RFC - 3339 section 4.3). + reference point is unknown. The time-offsets +00:00 + indicates that the date-and-time value is reported in + UTC and that the local time reference point is UTC + (see RFC 9557 section 2). This type is not equivalent to the DateAndTime textual convention of the SMIv2 since RFC 3339 uses a different @@ -335,34 +341,39 @@ module ietf-yang-types { to change accordingly. Such changes might happen periodically in case a server follows automatically daylight saving time (DST) time zone offset changes. The canonical format for - date-and-time values with an unknown time zone (usually - referring to the notion of local time) uses the time-offset - -00:00, i.e., date-and-time values must be reported in UTC."; + date-and-time values reported in UTC with an unknown local + time zone offset SHOULD use the time-offset Z and MAY use + -00:00 for backwards compatibility."; reference "RFC 3339: Date and Time on the Internet: Timestamps + RFC 9557: Date and Time on the Internet: Timestamps + with Additional Information RFC 2579: Textual Conventions for SMIv2 XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } - typedef date-with-zone-offset { + typedef date { type string { - pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' - + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; + pattern + '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])' + + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; } description "The date type represents a time-interval of the length - of a day, i.e., 24 hours. + of a day, i.e., 24 hours. It includes an optional time + zone offset. The date type is compatible with the XML schema date type with the following notable exceptions: + (a) The date type does not allow negative years. - (b) The time-offset -00:00 indicates that the date value is - reported in UTC and that the local time zone reference point - is unknown. The time-offsets +00:00 and Z both indicate that - the date value is reported in UTC and that the local time - reference point is UTC (see RFC 3339 section 4.3). + (b) The time-offset Z indicates that the date value is + reported in UTC and that the local time zone reference + point is unknown. The time-offset +00:00 indicates that + the date value is reported in UTC and that the local + time reference point is UTC (see RFC 9557 section 2). The canonical format for date values with a known time zone uses a numeric time zone offset that is calculated using @@ -371,17 +382,18 @@ module ietf-yang-types { to change accordingly. Such changes might happen periodically in case a server follows automatically daylight saving time (DST) time zone offset changes. The canonical format for - date values with an unknown time zone (usually referring - to the notion of local time) uses the time-offset -00:00, - i.e., date values must be reported in UTC."; + date values reported in UTC with an unknown local time zone + offset uses the time-offset Z."; reference "RFC 3339: Date and Time on the Internet: Timestamps + RFC 9557: Date and Time on the Internet: Timestamps + with Additional Information XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } typedef date-no-zone { - type date-with-zone-offset { + type date { pattern '[0-9]{4}-(1[0-2]|0[1-9])-(0[1-9]|[1-2][0-9]|3[0-1])'; } description @@ -389,23 +401,26 @@ module ietf-yang-types { time zone offset information."; } - typedef time-with-zone-offset { + typedef time { type string { - pattern '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?' - + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; + pattern + '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?' + + '(Z|[\+\-]((1[0-3]|0[0-9]):([0-5][0-9])|14:00))?'; } description "The time type represents an instance of time of zero-duration - that recurs every day. + that recurs every day. It includes an optional time zone + offset. The value of 60 for seconds is allowed only in the + case of leap seconds. The time type is compatible with the XML schema time type with the following notable exception: - (a) The time-offset -00:00 indicates that the time value is - reported in UTC and that the local time zone reference point - is unknown. The time-offsets +00:00 and Z both indicate that - the time value is reported in UTC and that the local time - reference point is UTC (see RFC 3339 section 4.3). + (a) The time-offset Z indicates that the time value is + reported in UTC and that the local time zone reference + point is unknown. The time-offset +00:00 indicates that + the time value is reported in UTC and that the local + time reference point is UTC (see RFC 9557 section 2). The canonical format for time values with a known time zone uses a numeric time zone offset that is calculated using @@ -414,18 +429,20 @@ module ietf-yang-types { to change accordingly. Such changes might happen periodically in case a server follows automatically daylight saving time (DST) time zone offset changes. The canonical format for - time values with an unknown time zone (usually referring - to the notion of local time) uses the time-offset -00:00, - i.e., time values must be reported in UTC."; + time values reported in UTC with an unknown local time zone + offset uses the time-offset Z."; reference "RFC 3339: Date and Time on the Internet: Timestamps + RFC 9557: Date and Time on the Internet: Timestamps + with Additional Information XSD-TYPES: XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes"; } typedef time-no-zone { - type time-with-zone-offset { - pattern '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?'; + type time { + pattern + '(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\.[0-9]+)?'; } description "The time-no-zone type represents a time without the optional @@ -575,7 +592,7 @@ module ietf-yang-types { } typedef timestamp { - type yang:timeticks; + type timeticks; description "The timestamp type represents the value of an associated timeticks schema node instance at which a specific occurrence @@ -621,9 +638,12 @@ module ietf-yang-types { pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'; } description - "The mac-address type represents an IEEE 802 MAC address. - The canonical representation uses lowercase characters. - + "The mac-address type represents a 48-bit IEEE 802 MAC + address. The canonical representation uses lowercase + characters. Note that there are IEEE 802 MAC addresses + with a different length that this type cannot represent. + The phys-address type may be used to represent physical + addresses of varying length. In the value set and its semantics, this type is equivalent to the MacAddress textual convention of the SMIv2."; reference @@ -724,7 +744,7 @@ module ietf-yang-types { numeric characters, underscores, hyphens, or dots. This definition conforms to YANG 1.1 defined in RFC - 7950. An earlier version of this definition did exclude + 7950. An earlier version of this definition excluded all identifiers starting with any possible combination of the lowercase or uppercase character sequence 'xml', as required by YANG 1 defined in RFC 6020. If this type -- GitLab From a75dc4cecaf4fb2af88720de25d533467712dba1 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Thu, 2 Oct 2025 20:15:35 +0200 Subject: [PATCH 25/93] Edit _3gpp-nr-nrm-ep.yang --- yang-models/_3gpp-nr-nrm-ep.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 8818cd7d..755af3fe 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -20,7 +20,7 @@ module _3gpp-nr-nrm-ep { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-10-01 { reference CR-1616 ; } + revision 2025-10-01 { reference CR-1617 ; } revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } -- GitLab From 91d1e94efbb212a63d4ea0449e1e82de71575d13 Mon Sep 17 00:00:00 2001 From: lengyelb Date: Thu, 2 Oct 2025 20:15:56 +0200 Subject: [PATCH 26/93] Edit _3gpp-nr-nrm-iabfunction.yang --- yang-models/_3gpp-nr-nrm-iabfunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang index 9a16b3d2..80004ae1 100644 --- a/yang-models/_3gpp-nr-nrm-iabfunction.yang +++ b/yang-models/_3gpp-nr-nrm-iabfunction.yang @@ -18,7 +18,7 @@ module _3gpp-nr-nrm-iabfunction { reference "3GPP TS 28.541; 3GPP TS 28.314; 3GPP TS 28.315; 3GPP TS 33.310, IETF RFC 9811"; - revision 2025-10-01 { reference "CR-1616" ; } + revision 2025-10-01 { reference "CR-1617" ; } revision 2025-08-15 { reference "CR-1598"; } grouping CaraConfigurationGrp { -- GitLab From e92acdfa94cde0a80259fe177a9f1554af6a7b3c Mon Sep 17 00:00:00 2001 From: lengyelb Date: Wed, 1 Oct 2025 19:13:01 +0200 Subject: [PATCH 27/93] Edit _3gpp-common-yang-extensions.yang Rel-20 CR 28.623 Indicate disturbance --- yang-models/_3gpp-common-yang-extensions.yang | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index 0b1c1ee2..e8613550 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -46,12 +46,31 @@ module _3gpp-common-yang-extensions { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-10-02 { reference "CR-0577" ; } revision 2025-01-12 { reference "CR-0507, 0492" ; } revision 2024-04-05 { reference "CR-0332, 0333" ; } revision 2023-09-17 { reference "CR-0270, 0271" ; } revision 2022-10-31 { reference "CR-0195, 0196"; } revision 2019-06-23 { reference "Initial version"; } + extension disturbances { + description + "Specifies that creation, deletion or modification of a data node may + impact the systems capability to handle user or control plane + functionality. + + The statement MUST only be a substatement of the leaf, leaf-list, + container, list, anydata, anyxml, rpc or action statements. + Zero or One disturbances statement is allowed per parent + statement. + No substatements are allowed. + The argument can be any text describing + what effects the modification/execution may have on ongoing traffic. + + Adding, removing or modifying this statement is BC"; + argument disturbance-description; + } + extension only-system-created { description "Indicates that the MOI can only be created and deleted by the -- GitLab From b87566f20a73af7ae02ca4b225eabf5b0299d288 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 21 Oct 2025 12:36:10 +0200 Subject: [PATCH 28/93] Locally rebased and merged https://forge.3gpp.org/rep/sa5/MnS/-/merge_requests/1951 --- yang-models/_3gpp-common-yang-types.yang | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 85be0505..a37740f1 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,7 +16,7 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - + revision 2025-10-12 { reference CR-0583; } revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } revision 2025-02-19 { reference CR-0512; } @@ -1071,10 +1071,10 @@ module _3gpp-common-yang-types { location specified by 'fileLocation'. The file location may identify any entity such as a file server or a MnS consumer. The identified MnS consumer may or may not be identical to the MnS consumer creating - the 'PerfMetricJob'. As for CHOICE_1 the MnS producer may emit - 'notifyFileReady' and 'notifyFilePreparationError' notifications to - inform subscribers that a file has been made available at the location - specified by 'fileLocation'. + the 'PerfMetricJob'. The MnS producer may emit 'notifyFileReady' and + 'notifyFilePreparationError' notifications to inform subscribers that + a file has been made available at the location specified by + 'fileLocation'. - When only the streamTarget attribute is present, the MnS producer shall stream the data to the location specified by streamTarget. -- GitLab From 5b610a3bf9c0f82ee9e56e08694e031ea808d27e Mon Sep 17 00:00:00 2001 From: Ravi Chamarty Date: Tue, 30 Sep 2025 15:31:07 -0400 Subject: [PATCH 29/93] Deprecate X2HOBlockList in NR-NRM --- yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index e2940624..1cc3fe8c 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -212,6 +212,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { key idx; leaf idx {type uint32;} uses GeNBIdGrp; + status deprecated; } list xnHOBlockList { -- GitLab From 26464a9179674a83497a04e9bd0c2131b12019da Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 22 Oct 2025 15:19:57 +0200 Subject: [PATCH 30/93] Mapping https://forge.3gpp.org/rep/sa5/MnS/-/merge_requests/1913 to Rel-20 --- yang-models/_3gpp-common-trace.yang | 47 ++++++++++++++---------- yang-models/_3gpp-common-yang-types.yang | 35 ++++++++++++++++-- 2 files changed, 59 insertions(+), 23 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 38df834e..2149f13f 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,6 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } revision 2025-05-07 { reference "CR-0532 CR-0536 CR-0540" ; } @@ -119,12 +120,12 @@ module _3gpp-common-trace { choice AreaScopeChoice { case eutran-only { - leaf-list eutraCellIdList { - type types3gpp:EutraCellId; - min-elements 1; - max-elements 32; - description "List of E-UTRAN cells identified by E-UTRAN-CGI"; - } + leaf-list eutraCellIdList { + type types3gpp:EutraCellId; + min-elements 1; + max-elements 32; + description "List of E-UTRAN cells identified by E-UTRAN-CGI"; + } } case tac { leaf-list tacList { @@ -150,27 +151,35 @@ module _3gpp-common-trace { a list of PNI-NPNs identified by CAG ID with associated plmn-Identity or a list of SNPN identified by Network ID with associated plmn-Identity"; - key idx; - min-elements 1; - uses types3gpp:NpnIdGrp; - leaf idx { type string; } - } + key idx; + min-elements 1; + uses types3gpp:NpnIdGrp; + leaf idx { type string; } + } leaf-list nrCellIdList { must 'not(../taiList)'; type types3gpp:NrCellId; max-elements 32; - description "List of NR cells identified by NG-RAN CGI"; + description "List of NR cells identified by NG-RAN CGI"; } - list taiList { + list taiList { must 'not(../nrCellIdList)'; - description "Tracking Area Identity list"; - key idx; - max-elements 8; - leaf idx { type string; } - uses types3gpp:TaiGrp; + description "Tracking Area Identity list"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:TaiGrp; + } + list ntnGeoAreaList { + must 'not(../nrCellIdList)'; + description "geographical areas for NTN MDT"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:GeoAreaGrp; + } } } - } list sliceIdList { description "Network Slice Id list"; diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index a37740f1..4f5e0db9 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,7 +16,8 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - revision 2025-10-12 { reference CR-0583; } + // common for rel-19, rel-20 + revision 2025-10-07 { reference "CR-0573 CR-0582 CR-583"; } revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-31 { reference "CR-0551 CR-0556 CR-0562"; } revision 2025-02-19 { reference CR-0512; } @@ -652,10 +653,29 @@ module _3gpp-common-yang-types { } } + grouping GeoCircleGrp { + description "a geographical circle identified by reference location and + associated distance radius"; + + leaf referenceLocation { + description "Reference location of the serving cell provided via NTN + (quasi)-Earth fixed cell. This field is only present in an NTN cell. + It is defined as ReferenceLocation-r17 in TS 38.331"; + type string; + } + + leaf distanceRadius { + description "It specifies the radius distance from a geographical + coordinates reference point, defined by referenceLocation. Each value + represents 50m distance. This field is only present in an NTN cell."; + type uint16; + units "50 meters"; + } + } + grouping GeoAreaGrp { description "This data type defines a geographical area. - The geo-area is defined using a convex polygon in the attribute - 'geoPolygon'."; + The geo-area is either a 'geoPolygon' or a 'geoCircle'."; list geoPolygon { description "Specifies the geographical area with a convex polygon. @@ -663,7 +683,6 @@ module _3gpp-common-yang-types { key "latitude longitude"; min-elements 3; ordered-by user; - uses GeoCoordinateGrp; } } @@ -679,6 +698,14 @@ module _3gpp-common-yang-types { reference "clause 2.10.1 of 3GPP TS 23.003"; } + list geoCircle { + description "a geographical circle identified by reference location and + associated distance radius"; + key idx; + leaf idx { type uint16; } + uses GeoCircleGrp; + } + typedef AmfSetId { type union { type uint16 { -- GitLab From 3b5413f0f5cf570262768db747b3d171b605a96a Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 6 Nov 2025 18:10:21 +0100 Subject: [PATCH 31/93] Updated to follow the YANG mapping rule in 32.160 --- yang-models/_3gpp-common-subscription-control.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 5cc3cdd4..8fbbbdf9 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -21,6 +21,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-11-07 { reference "CR-0551 CR-0586"; } //common for r19, r20 revision 2025-08-13 { reference "CR-0551 CR-0561"; } revision 2025-05-13 { reference "CR-0548"; } revision 2025-03-24 { reference "CR-0516 0518"; } @@ -308,7 +309,7 @@ module _3gpp-common-subscription-control { description "Scopes (selects) data nodes in an object tree."; key idx; max-elements 1; - leaf idx { type string; } + leaf idx { type uint32; } uses ScopeGrp; } -- GitLab From 55f66de0deab294b3d91c8904954269da75269cd Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Thu, 6 Nov 2025 18:32:06 +0100 Subject: [PATCH 32/93] minor fm updates --- yang-models/_3gpp-common-fm.yang | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index e9d3b2de..ee2023e3 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -16,6 +16,7 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; + revision 2025-11-07 { reference "CR-0057"; } revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } revision 2025-05-01 { reference "CR-0042 CR-0043"; } // common for R18, R19 revision 2025-03-25 { reference "CR-0025 CR-0026"; } @@ -283,7 +284,7 @@ module _3gpp-common-fm { enum EXTERNAL_TRANSMISSION_DEVICE_FAILURE { value 552; } enum REDUCED_ALARM_REPORTING { value 561; } enum REDUCED_EVENT_REPORTING { value 562; } - enum RECUCED_LOGGING_CAPABILITY { value 563; } + enum REDUCED_LOGGING_CAPABILITY { value 563; } enum SYSTEM_RESOURCES_OVERLOAD { value 564; } enum BROADCAST_CHANNEL_FAILURE { value 565; } enum CONNECTION_ESTABLISHMENT_ERROR { value 566; } @@ -529,6 +530,7 @@ module _3gpp-common-fm { mandatory true; config false ; yext3gpp:notNotifyable; + yext3gpp:inVariant; } leaf alarmChangedTime { @@ -702,6 +704,7 @@ module _3gpp-common-fm { } list comments { + config false ; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; @@ -785,10 +788,14 @@ module _3gpp-common-fm { type string; config false ; yext3gpp:notNotifyable; + description "It carries the identity of the detector of the security + alarm."; } list correlatedNotifications { key sourceObjectInstance; + config false ; + yext3gpp:notNotifyable; description "List of correlated notifications"; leaf sourceObjectInstance { -- GitLab From 57d850e47493db0ea7bdf6c77f8b720138868e9d Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 7 Nov 2025 13:02:47 +0100 Subject: [PATCH 33/93] aligne stage 3 with cr S5-254787 --- yang-models/_3gpp-nr-nrm-nrfreqrelation.yang | 12 ++++ yang-models/_3gpp-nr-nrm-redcapaccess.yang | 61 +++++++++++++++++++- 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index f3f80a3d..8f30e2f8 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -8,6 +8,7 @@ module _3gpp-nr-nrm-nrfreqrelation { import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-nr-nrm-redcapaccess { prefix redcap3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -17,6 +18,7 @@ module _3gpp-nr-nrm-nrfreqrelation { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-1643; } revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } @@ -112,6 +114,16 @@ module _3gpp-nr-nrm-nrfreqrelation { type uint8 { range "2 | 4 | 6 | 8"; } units "0.1"; } + + list cellReselectionRedcap { + description "This attribute indicates the configuration parameters + to allow relaxation of RRM measurement requirements for redcap UE + cell reselection"; + key idx; + leaf idx{ type uint32;} + reference "see clause 6.3.1 TS 38.331 "; + uses redcap3gpp:CellReselectionRedcapGrp; + } leaf pMax { description "Used for calculation of the parameter Pcompensation diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang index 51e91f20..c3660a83 100755 --- a/yang-models/_3gpp-nr-nrm-redcapaccess.yang +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -15,6 +15,7 @@ module _3gpp-nr-nrm-redcapaccess { reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-1643; } revision 2025-07-07 { reference CR-; } feature redcapaccesscriteriasubnertwork { @@ -22,6 +23,60 @@ module _3gpp-nr-nrm-redcapaccess { SubNetwork"; } + grouping CellReselectionRedcapGrp { + description "This data type defines configuration parameters + to allow relaxation of RRM measurement requirements for (e)RedCap UE + cell reselection. "; + reference "TS 38.331 , clasue 6.3.1 and TS 38.304 , clause 5.2.4.9"; + + leaf sSearchDeltaPStationary { + type uint8 { + range "2 | 3 | 6 | 9 | 12 | 15"; + } + mandatory true; + description "This specifies the threshold (in dB) on Srxlev variation + to evaluate stationary criterion for relaxed measurement. It + corresponds to the SSearchDeltaP-Stationary in TS 38.304 [49]. + Its unit is 1 dB. Where Srxlev is the cell selection received + signal level value. "; + // optional + } + leaf tSearchDeltaPStationary { + type uint16 { + range "5 | 10 | 20 | 30 | 60 | 120 | 180 | 240 | 300"; + } + mandatory true; + description "TThis specifies the time period over which the Srxlev + variation is evaluated for stationary criterion for relaxed measurement. + It corresponds to the TSearchDeltaP-Stationary in TS 38.304 [49]. Its + unit is seconds. Where Srxlev is the cell selection received signal + level value. "; + //optional + } + leaf sSearchThresholdP2 { + type uint16 { + range "0..31"; + } + mandatory true; + description "This specifies the Srxlev threshold (in dB) to evaluate + not at cell edge criterion for relaxed measurement. It corresponds + to the SSearchThresholdP2 in TS 38.304 [49]. Its unit is 1 dB. + Where Srxlev is the cell selection received signal level value. "; + //optional + } + leaf sSearchThresholdQ2 { + type uint16 { + range "0..31"; + } + mandatory true; + description "This specifies the Squal threshold (in dB) to + evaluate not at cell edge criterion for relaxed measurement. It + corresponds to the SSearchThresholdQ2 in TS 38.304 [49]. Its unit + is 1 dB. Where Srxlev is the cell selection quality level value. "; + //optional + } + + } grouping RedCapAccessCriteriaGrp { description "Represents the RedCapAccessCriteria <> "; @@ -43,13 +98,13 @@ module _3gpp-nr-nrm-redcapaccess { will be created providing following information: The performance metrics (KPIs and performance measurements) that are to be considered in the criteria for deciding whether the cell in a - RAN node is barred or allowed for RedCap/eRedCap UEs + RAN node is barred or allowed for (e)RedCap UEs The direction (up and down) that is to be considered for crossing the threshold value of the given performance metrics for taking a decision whether the RAN node is barred or allowed for - RedCap/eRedCap UEs. + (e)RedCap UEs. The threshold level of performance metrics value which when crossed - the RAN node is barred or allowed for RedCap/eRedCap UEs"; + the RAN node is barred or allowed for (e)RedCap UEs"; } -- GitLab From 423a53265732224c9b08ab2e91b257aec6750e48 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Nov 2025 13:42:42 +0100 Subject: [PATCH 34/93] aiot step 1 --- yang-models/_3gpp-5gc-nrm-aiot-ep.yang | 243 +++++++++++++++++++++++ yang-models/_3gpp-5gc-nrm-aiot.yang | 222 +++++++++++++++++++++ yang-models/_3gpp-nr-nrm-aiotreader.yang | 98 +++++++++ 3 files changed, 563 insertions(+) create mode 100644 yang-models/_3gpp-5gc-nrm-aiot-ep.yang create mode 100644 yang-models/_3gpp-5gc-nrm-aiot.yang create mode 100644 yang-models/_3gpp-nr-nrm-aiotreader.yang diff --git a/yang-models/_3gpp-5gc-nrm-aiot-ep.yang b/yang-models/_3gpp-5gc-nrm-aiot-ep.yang new file mode 100644 index 00000000..9c8a8439 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-aiot-ep.yang @@ -0,0 +1,243 @@ +module _3gpp-5gc-nrm-aiot-ep { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-aiot-ep"; + prefix "aiotep3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-ep-rp { prefix eprp3gpp; } + import _3gpp-5gc-nrm-amffunction { prefix amf3gpp; } + import _3gpp-5gc-nrm-nrffunction { prefix nrf3gpp; } + import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines AIOT related endpoint Classes (IOCs). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-11-01 { reference CR-1640; } + + grouping EP_AIOT2Grp { + description "Represents the EP_AIOT2 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT3Grp { + description "Represents the EP_AIOT3 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT4Grp { + description "Represents the EP_AIOT4 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT5Grp { + description "Represents the EP_AIOT5 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT6Grp { + description "Represents the EP_AIOT6 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT7Grp { + description "Represents the EP_AIOT7 IOC."; + uses eprp3gpp:EP_Common; + } + + grouping EP_AIOT8Grp { + description "Represents the EP_AIOT8 IOC."; + uses eprp3gpp:EP_Common; + } + + feature EP_AIOT2UnderAMFFunction { + description "EP_AIOT2 shall be contained under AMFFunction."; + } + + augment /me3gpp:ManagedElement/amf3gpp:AMFFunction { + if-feature EP_AIOT2UnderAMFFunction; + list EP_AIOT2 { + description "This IOC represents the AIOT2 interface between NG-RAN and + AIOTF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT2Grp; + } + } + } + + feature EP_AIOT5UnderNRFFunction { + description "EP_AIOT5 shall be contained under NRFFunction."; + } + + augment /me3gpp:ManagedElement/nrf3gpp:NRFFunction { + if-feature EP_AIOT5UnderNRFFunction; + list EP_AIOT5 { + description "This IOC represents the AIOT5 interface between AIOTF and + NRF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT5Grp; + } + } + } + + feature EP_AIOT4UnderNEFFunction { + description "EP_AIOT4 shall be contained under NEFFunction."; + } + + feature EP_AIOT8UnderNEFFunction { + description "EP_AIOT8 shall be contained under NEFFunction."; + } + + augment /me3gpp:ManagedElement/nef3gpp:NEFFunction { + if-feature EP_AIOT4UnderNEFFunction; + list EP_AIOT4 { + description "This IOC represents the AIOT4 interface between AIOTF and + NEF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT4Grp; + } + } + + if-feature EP_AIOT8UnderNEFFunction; + list EP_AIOT8 { + description "This IOC represents the AIOT8 interface between NEF and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT8Grp; + } + } +} + + feature EP_AIOT3UnderAIOTFFunction { + description "EP_AIOT3 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT4UnderAIOTFFunction { + description "EP_AIOT4 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT5UnderAIOTFFunction { + description "EP_AIOT5 shall be contained under AIOTFFunction."; + } + + feature EP_AIOT6UnderAIOTFFunction { + description "EP_AIOT6 shall be contained under AIOTFFunction."; + } + + augment /me3gpp:ManagedElement/aiot3gpp:AIOTFFunction { + if-feature EP_AIOT3UnderAIOTFFunction; + list EP_AIOT3 { + description "This IOC represents the AIOT3 interface between AMF and + AIOTF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT3Grp; + } + } + + if-feature EP_AIOT4UnderAIOTFFunction; + list EP_AIOT4 { + description "This IOC represents the AIOT4 interface between AIOTF and + NEF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT4Grp; + } + } + + if-feature EP_AIOT5UnderAIOTFFunction; + list EP_AIOT5 { + description "This IOC represents the AIOT5 interface between AIOTF and + NRF, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT5Grp; + } + } + + if-feature EP_AIOT6UnderAIOTFFunction; + list EP_AIOT6 { + description "This IOC represents the AIOT6 interface between AIOTF and + ADM, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT6Grp; + } + } + } + + feature EP_AIOT6UnderADMFunction { + description "EP_AIOT6 shall be contained under ADMFunction."; + } + + feature EP_AIOT7UnderADMFunction { + description "EP_AIOT7 shall be contained under ADMFunction."; + } + + feature EP_AIOT8UnderADMFunction { + description "EP_AIOT8 shall be contained under ADMFunction."; + } + + augment /me3gpp:ManagedElement/aiot3gpp:ADMFunction { + if-feature EP_AIOT6UnderADMFunction; + list EP_AIOT6 { + description "This IOC represents the AIOT6 interface between AIOTF and + ADM, which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT6Grp; + } + } + + if-feature EP_AIOT7UnderADMFunction; + list EP_AIOT7 { + description "This IOC represents the AIOT7 interface between UDR and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT7Grp; + } + } + + if-feature EP_AIOT8UnderADMFunction; + list EP_AIOT8 { + description "This IOC represents the AIOT8 interface between NEF and ADM, + which is defined in 3GPP TS 23.369."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EP_AIOT8Grp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-aiot.yang b/yang-models/_3gpp-5gc-nrm-aiot.yang new file mode 100644 index 00000000..be123060 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-aiot.yang @@ -0,0 +1,222 @@ +module _3gpp-5gc-nrm-aiot { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-aiot"; + prefix "aiot3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping AIOT (Ambient power-enabled Internet + of Things). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 + 3GPP TS 23.369"; + + revision 2025-11-01 { reference CR-1640; } + + grouping ServedAIOTAreaIDGrp { + description "ServedAIOTAreaID datatype"; + + list pLMNId { + description "It defines which PLMN that can be served by the AIOT reader."; + + min-elements 1; // error not well defined on stage 2 clause 4.4.1 + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + // error nID is only defined in 5.4.1 not 4.4.1> The text states it is not + // always needed, but the multiplicity is strictly 1. + leaf nID { + type string { + pattern '[A-Fa-f0-9]{11}'; + } + description "Network Identity; Shall be present if PlmnIdNid identifies + an SNPN (see clauses 5.30.2.3, 5.30.2.9, 6.3.4, and 6.3.8 in 3GPP + TS 23.501"; + } + + leaf aIotAreaCode { + type string; + mandatory true; + description "This specifies the identity of the A-IoT Area Code which is + one of the components of A-IoT Area ID. It's a 3-octet string defined + in TS 38.413."; + } + } + + grouping ServedReaderInfoGrp { + description "ServedReaderInfo datatype"; + + leaf readerId { + type int32; + mandatory true; + description "It defines the reader identifier to uniquely identify a + reader within a gNB."; + } + + list servedAIOTAreas { + min-elements 1; + key idx; + leaf idx { type uint32; } + uses ServedAIOTAreaIDGrp; + description "This attribute is used to specify the A-IoT areas supported + by the A-IoT reader. It contains one or multiple A-IoT Area ID, which + is used to uniquely identify an A-IoT Area. + + A-IoT Area ID = PLMN ID +NID (optional) + A-IoT Area Code + (OCTET STRING (SIZE(3))), which is defined in TS 38.413."; + } + + leaf readerLocation { + type string; + mandatory true; + description "This specifies the geographical location of a A-IoT reader. + Reader Location may represent any of latitude/longitude, or any + geographical location/coordinate/area polygon."; + } + } + + grouping AIoTgNBInfoGrp { + description "AIoTgNBInfo datatype"; + + leaf gNBId { + type int64 { range "0..4294967295"; } + mandatory true; + description "It identifies a gNB within a PLMN"; + } + + list servedReaderInfoList { + description "Represents the information of served Readers of a gNB, + which includes the reader ID (indexes), served A-IoT areas of the RAN + and Reader and optionally the Reader location."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses ServedReaderInfoGrp; + } + } + + grouping AIOTFFunctionGrp { + description "Attributes of the IOC AIOTFFunction"; + + uses mf3gpp:ManagedFunctionGrp; + + list pLMNId { + description "Represents a PLMN Identity."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; + type inet:domain-name; + mandatory true; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; + } + + list aIOTgNBInfo { + key idx; + leaf idx { type uint32; } + min-elements 1; + description "It represents the information that a AIOTF needs for + selecting the NG-RAN i.e.of gNB supporting Ambient-IoT service, + which includes gNB ID, served NG-RAN A-IoT area and the information + of served Readers of the gNB."; + uses AIoTgNBInfoGrp; + } + } + + feature AIOTFFunctionUnderManagedElement { + description "AIOTFFunction shall be contained under ManagedElement."; + } + + augment /me3gpp:ManagedElement { + if-feature AIOTFFunctionUnderManagedElement; + list AIOTFFunction { + description "This IOC represents the AIOTF function defined in TS 23.369"; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AIOTFFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } + + ////////////////////////////////////////////////////////////////////// + + grouping ADMFunctionGrp { + description "Attributes of the IOC ADMFunction"; + + uses mf3gpp:ManagedFunctionGrp; + + list pLMNId { + description "Represents a PLMN Identity."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf sBIFQDN { + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; + type inet:domain-name; + mandatory true; + } + + list managedNFProfile { + key idx; + leaf idx { type uint32; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; + } + } + + feature ADMFunctionUnderManagedElement { + description "ADMFunction shall be contained under ManagedElement."; + } + + augment /me3gpp:ManagedElement { + if-feature ADMFunctionUnderManagedElement; + list ADMFunction { + description "This IOC represents the ADM function defined in TS 23.369"; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ADMFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-aiotreader.yang b/yang-models/_3gpp-nr-nrm-aiotreader.yang new file mode 100644 index 00000000..435949e4 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-aiotreader.yang @@ -0,0 +1,98 @@ +module _3gpp-nr-nrm-aiotreader { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-aiotreader"; + prefix "aiotread3gpp"; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping the AIoT Reader. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-11-07 { reference CR-1640; } + + grouping AIOTReaderGrp { + description "Attributes of the IOC AIOTReader"; + + leaf readerId { + type int32; + mandatory true; + description "It defines the reader identifier to uniquely identify a + reader within a gNB."; + } + + leaf administrativeState { + type types3gpp:BasicAdministrativeState; + default LOCKED; + description "It indicates the administrative state of the AIOTReader. + It describes the permission to use or prohibition against using the + AIOT reader, imposed through the OAM services."; + } + + leaf-list supportedAIOTServices { + type enumeration { + enum INVENTORY; + enum COMMAND; + } + min-elements 1; + description "It indicates the supported AIOT service type for an + AIOT reader."; + } + + list pLMNId { + description "Defines which PLMN that can be served by the AIOT reader."; + + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list servedAIOTAreas { + description "This attribute is used to specify the A-IoT areas supported + by the A-IoT reader. It contains one or multiple A-IoT Area ID, which + is used to uniquely identify an A-IoT Area. + + A-IoT Area ID = PLMN ID +NID (optional) + A-IoT Area Code + (OCTET STRING (SIZE(3))), which is defined in TS 38.413."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses aiot3gpp:ServedAIOTAreaIDGrp; + } + + leaf readerLocation { + type string; + mandatory true; + description "This specifies the geographical location of a A-IoT reader. + Reader Location may represent any of latitude/longitude, or any + geographical location/coordinate/area polygon."; + } + + leaf-list nRSectorCarrierRef { + type types3gpp:DistinguishedName; + description "This attribute contains the DN of the referenced + NRSectorCarrier."; + } + } + + augment /me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction { + list AIOTReader { + description "This IOC represents AIoT Reader which supports AIOT + services."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses AIOTReaderGrp; + } + } + } +} \ No newline at end of file -- GitLab From 66b3f1c6d31deeb29b5ae4b52957a2ff44018cfd Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 7 Nov 2025 15:10:13 +0100 Subject: [PATCH 35/93] move AreaScopeGrp to _3gpp-5g-common-yang-types.yang --- yang-models/_3gpp-5g-common-yang-types.yang | 82 +++++++++++++++++++++ yang-models/_3gpp-common-qmcjob.yang | 3 +- yang-models/_3gpp-common-trace.yang | 79 +------------------- 3 files changed, 86 insertions(+), 78 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 59ddcb2c..db560c8e 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -26,6 +26,88 @@ module _3gpp-5g-common-yang-types { revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } + grouping AreaScopeGrp { + description "This <> defines an area scope."; + + choice AreaScopeChoice { + + case eutran-only { // choice 1 + leaf-list eutraCellIdList { + type types3gpp:EutraCellId; + min-elements 1; + max-elements 32; + description "List of E-UTRAN cells identified by E-UTRAN-CGI"; + } + } + case tac { // choice 3 + leaf-list tacList { + type types3gpp:Tac; + min-elements 1; + max-elements 8; + description "Tracking Area Code list"; + } + leaf-list cAGIdList { + type types3gpp:CagId; + max-elements 256; + description "It identifies a CAG list containing up to + 256 CAG-identifiers per UE or up to 12 CAG-identifiers + per cell, see TS 38.331 [38]. CAG ID is used to combine + with PLMN ID to identify a PNI-NPN.AG ID is a hexadecimal + range with size 32 bit."; + } + } + + case ntnGeoAreaList{ // choice 6 + list ntnGeoAreaList { + must 'not(../nrCellIdList)'; + description "geographical areas for NTN MDT"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:GeoAreaGrp; + } + } + + case else { + list nPNIdentityList { // choice 2, 4 , 5 + description "list of NPN IDs of in NR. It is either + a list of PNI-NPNs identified by CAG ID with + associated plmn-Identity or a list of SNPN + identified by Network ID with associated plmn-Identity"; + key idx; + min-elements 1; + uses types3gpp:NpnIdGrp; + leaf idx { type string; } + } + leaf-list nrCellIdList { + must 'not(../taiList)'; + type types3gpp:NrCellId; + max-elements 32; + description "List of NR cells identified by NG-RAN CGI"; + } + list taiList { + must 'not(../nrCellIdList)'; + description "Tracking Area Identity list"; + key idx; + max-elements 8; + leaf idx { type string; } + uses types3gpp:TaiGrp; + } + + } + } + + + list sliceIdList { + description "Network Slice Id list"; + key idx; + uses PLMNInfo; + min-elements 1; + max-elements 16384; + leaf idx { type string; } + } + } + grouping IpInterfaceGrp { leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of diff --git a/yang-models/_3gpp-common-qmcjob.yang b/yang-models/_3gpp-common-qmcjob.yang index 9d58855f..3b6cfd8d 100644 --- a/yang-models/_3gpp-common-qmcjob.yang +++ b/yang-models/_3gpp-common-qmcjob.yang @@ -27,6 +27,7 @@ module _3gpp-common-qmcjob { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-11-02 { reference CR-; } revision 2025-02-06 { reference CR-0508; } revision 2024-11-05 { reference CR-0480; } revision 2024-04-04 { reference CR-0334; } @@ -54,7 +55,7 @@ module _3gpp-common-qmcjob { leaf idx { type uint32 ; } description "It defines the area scope of QoE, which is specified in clause 5.4 of TS 28.405."; - uses trace3gpp:AreaScopeGrp; + uses types5g3gpp:AreaScopeGrp; } leaf qoECollectionEntityAddress { diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 2149f13f..b944c6ad 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,6 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2025-11-02 { reference "CR-" ; } // common for rel-19, rel-20 revision 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } @@ -114,82 +115,6 @@ module _3gpp-common-trace { } } - grouping AreaScopeGrp { - description "This <> defines an area scope."; - - choice AreaScopeChoice { - - case eutran-only { - leaf-list eutraCellIdList { - type types3gpp:EutraCellId; - min-elements 1; - max-elements 32; - description "List of E-UTRAN cells identified by E-UTRAN-CGI"; - } - } - case tac { - leaf-list tacList { - type types3gpp:Tac; - min-elements 1; - max-elements 8; - description "Tracking Area Code list"; - } - leaf-list cAGIdList { - type types3gpp:CagId; - max-elements 256; - description "It identifies a CAG list containing up to - 256 CAG-identifiers per UE or up to 12 CAG-identifiers - per cell, see TS 38.331 [38]. CAG ID is used to combine - with PLMN ID to identify a PNI-NPN.AG ID is a hexadecimal - range with size 32 bit."; - } - } - - case else { - list nPNIdentityList { - description "list of NPN IDs of in NR. It is either - a list of PNI-NPNs identified by CAG ID with - associated plmn-Identity or a list of SNPN - identified by Network ID with associated plmn-Identity"; - key idx; - min-elements 1; - uses types3gpp:NpnIdGrp; - leaf idx { type string; } - } - leaf-list nrCellIdList { - must 'not(../taiList)'; - type types3gpp:NrCellId; - max-elements 32; - description "List of NR cells identified by NG-RAN CGI"; - } - list taiList { - must 'not(../nrCellIdList)'; - description "Tracking Area Identity list"; - key idx; - max-elements 8; - leaf idx { type string; } - uses types3gpp:TaiGrp; - } - list ntnGeoAreaList { - must 'not(../nrCellIdList)'; - description "geographical areas for NTN MDT"; - key idx; - max-elements 8; - leaf idx { type string; } - uses types3gpp:GeoAreaGrp; - } - } - } - - list sliceIdList { - description "Network Slice Id list"; - key idx; - uses types5g3gpp:PLMNInfo; - min-elements 1; - max-elements 16384; - leaf idx { type string; } - } - } grouping ExcessPacketDelayThresholdsGrp { description "Represents the ExcessPacketDelayThresholds dataType. @@ -1681,7 +1606,7 @@ module _3gpp-common-trace { leaf idx { type uint32 ; } description "It specifies the area where data shall be collected. "; max-elements 1; - uses AreaScopeGrp; + uses types5g3gpp:AreaScopeGrp; } leaf-list sensorInformation { -- GitLab From 6e720533868a7b666bc17c5b23654eaca281379f Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Fri, 7 Nov 2025 16:48:38 +0100 Subject: [PATCH 36/93] Add Enum values for missing R20 management capabilities to align with S5-254796 --- yang-models/_3gpp-common-mnsregistry.yang | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 29bd57eb..4521f208 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -17,6 +17,7 @@ module _3gpp-common-mnsregistry { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-; } revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } revision 2023-09-18 { reference CR-0271 ; } @@ -199,22 +200,28 @@ module _3gpp-common-mnsregistry { enum FAULT_NOTIFICATION; enum TRACE_MDT_DATA_COLLECTION_CONTROL; enum TRACE_MDT_DATA_REPORT; + enum STM_PROVISIONING; + enum STM_STREAMING; enum QOE_DATA_COLLECTION_CONTROL; enum QOE_DATA_REPORT; enum FILE_RETRIEVAL; enum FILE_DOWNLOAD; + enum CONFIGURATION_PLAN_MGMT; enum SUBSCRIPTION_CONTROL; enum HEARTBEAT_CONTROL; enum HEARTBEAT_NOTIFICATION; - enum ML_MODEL_MANAGEMENT; enum MANAGEMENT_DATA_ANALYTIC; enum RANSC_MANAGEMENT; enum SON_POLICY; enum COMMUNICATION_SERVICE_ASSURANCE_CONTROL; + enum CLOSED_CONTROL_LOOP_MANAGEMENT; enum INTENT_DRIVEN_MANAGEMENT; + enum ML_MODEL_MANAGEMENT; + enum NDT_LCM; enum MNS_REGISTRY_AND_DISCOVERY; enum MNS_ACCESS_CONTROL_MANAGEMENT; enum DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING; + enum EXTERNALDATA_DISCOVERY_AND_REQUEST; } type string; } -- GitLab From ac2af25a15f93db82f686b24d300abc079798535 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Nov 2025 22:36:29 +0100 Subject: [PATCH 37/93] r19 lift 1 --- yang-models/_3gpp-5gc-nrm-neffunction.yang | 41 ++++++++++++++++++++++ yang-models/_3gpp-common-trace.yang | 2 -- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index f2646d93..6f8b80c8 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -21,6 +21,7 @@ module _3gpp-5gc-nrm-neffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-07 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2025-01-25 { reference CR-1442 ; } @@ -282,6 +283,33 @@ module _3gpp-5gc-nrm-neffunction { } } + grouping AIoTNEFMappingGrp { + description "Represents the data type AIoTNEFMapping"; + + list targetAreaAF { + description "It represents the external target area provided by an AF + to NEF for triggering A-IoT services. It could refer to a geographical + location."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:GeoAreaGrp; + } + + list internalTargetArea { + description "This is the (internal) target area mapped to external + target area. It is provided to NEF by NRF. + It could refer to any of TAC/TAI(list), PLMN or any geographical + location/coordinate/area polygon"; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:AreaScopeGrp; + } + } + grouping NEFFunctionGrp { description "Represents the NEFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; @@ -327,6 +355,19 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses NefInfoGrp; } + + list AIoTNEFMapping { + description "It represents mapping information between external target + area (provided by AF) and (5G core internal) target area that is to + be provided to NRF"; + config false; + min-elements 1; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + key idx; + leaf idx { type uint32 ; } + uses AIoTNEFMappingGrp; + } } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index b944c6ad..7a2a5cbb 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,7 +25,6 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; - revision 2025-11-02 { reference "CR-" ; } // common for rel-19, rel-20 revision 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } @@ -115,7 +114,6 @@ module _3gpp-common-trace { } } - grouping ExcessPacketDelayThresholdsGrp { description "Represents the ExcessPacketDelayThresholds dataType. This <> defines a excess packet delay threshold information -- GitLab From b6ee5d3fbbd618b0d7a0b519b639e7466b272972 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Nov 2025 22:42:55 +0100 Subject: [PATCH 38/93] r19 lift 2 5gcomm type --- yang-models/_3gpp-5g-common-yang-types.yang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index db560c8e..6ddd1b3e 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -15,6 +15,7 @@ module _3gpp-5g-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-07 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } @@ -196,7 +197,7 @@ module _3gpp-5g-common-yang-types { min-elements 1; max-elements 1; key "sst sd"; - uses types5g3gpp:SNssai; + uses SNssai; } list dnnSmfInfoList { -- GitLab From 4d4a190705a0e4870d80fde65936be3f4e79a32c Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Fri, 7 Nov 2025 23:46:38 +0100 Subject: [PATCH 39/93] r19 lift 3 5gc nrffunc --- yang-models/_3gpp-5gc-nrm-nrffunction.yang | 770 +++++++++++---------- 1 file changed, 390 insertions(+), 380 deletions(-) diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index fed4e615..a982a6d9 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -10,6 +10,7 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } import _3gpp-5gc-nrm-udrfunction { prefix udr3gpp; } import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } @@ -21,7 +22,7 @@ module _3gpp-5gc-nrm-nrffunction { import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp;} import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;} import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;} - + import _3gpp-5gc-nrm-aiot { prefix aiot3gpp;} organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -31,6 +32,7 @@ module _3gpp-5gc-nrm-nrffunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-11-01 { reference CR-1640 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } @@ -40,221 +42,209 @@ module _3gpp-5gc-nrm-nrffunction { revision 2019-10-28 { reference S5-193518 ; } revision 2019-05-15 { reference "initial revision"; } + grouping bsfInfo { + list ipv4AddressRanges { + description "List of ranges of IPv4 addresses handled by BSF. + If not provided, the BSF can serve any IPv4 address."; + key "start end"; + uses types3gpp:Ipv4AddressRange; + } - grouping bsfInfo { - - list ipv4AddressRanges { - description "List of ranges of IPv4 addresses handled by BSF. - If not provided, the BSF can serve any IPv4 address."; - key "start end"; - uses types3gpp:Ipv4AddressRange; - } - - leaf-list dnnList { - description "List of DNNs handled by the BSF - If not provided, the BSF can serve any DNN."; - - min-elements 1; - type string; - } + leaf-list dnnList { + description "List of DNNs handled by the BSF + If not provided, the BSF can serve any DNN."; + min-elements 1; + type string; + } - leaf-list ipDomainList { - description "List of IPv4 address domains, as described in + leaf-list ipDomainList { + description "List of IPv4 address domains, as described in subclause 6.2 of 3GPP TS 29.513, handled by the BSF. - If not provided, the BSF can serve any IP domain."; - min-elements 1; - type string; - } - - list ipv6PrefixRanges { - description "List of ranges of IPv6 prefixes handled by the BSF. - If not provided, the BSF can serve any IPv6 prefix."; - key "start end"; - uses types3gpp:Ipv6PrefixRange; - } + If not provided, the BSF can serve any IP domain."; + min-elements 1; + type string; } - grouping chfInfo { - list supiRangeList { - description "List of ranges of SUPIs that can be served by - the CHF instance. If not provided, the CHF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - uses mnfp3gpp:SupiRangeGrp; - } + list ipv6PrefixRanges { + description "List of ranges of IPv6 prefixes handled by the BSF. + If not provided, the BSF can serve any IPv6 prefix."; + key "start end"; + uses types3gpp:Ipv6PrefixRange; + } + } + grouping chfInfo { + list supiRangeList { + description "List of ranges of SUPIs that can be served by + the CHF instance. If not provided, the CHF can serve any SUPI."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } - list gpsiRangeList { - description "List of ranges of GPSI that can be served - by the CHF instance. If not provided, the CHF can serve any GPSI."; - key idx; - leaf idx { type uint32; } - min-elements 1; - uses mnfp3gpp:IdentityRange; - } + list gpsiRangeList { + description "List of ranges of GPSI that can be served + by the CHF instance. If not provided, the CHF can serve any GPSI."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:IdentityRange; + } - list plmnRangeList { - description "List of ranges of PLMNs (including the PLMN + list plmnRangeList { + description "List of ranges of PLMNs (including the PLMN IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; + If not provided, the CHF can serve any PLMN."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - leaf primaryChfInstance { - //optional - description "This attribute represents the NF Instance Id of the - primary CHF instance. This attribute shall be absent if the - secondaryChfInstance is present."; - type string; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + leaf primaryChfInstance { + description "This attribute represents the NF Instance Id of the + primary CHF instance. This attribute shall be absent if the + secondaryChfInstance is present."; + type string; - } - leaf secondaryChfInstance { - //optional - description "This attribute represents the NF Instance Id of the - secondary CHF instance.This attribute shall be absent if the - primaryChfInstance is present."; - type string; - } } - grouping pcscfInfo { - description "This data type represents the information of a P-CSCF NF Instance. - For more information, see clause 6.1.6.2.53 of TS 29.510."; + leaf secondaryChfInstance { + description "This attribute represents the NF Instance Id of the + secondary CHF instance.This attribute shall be absent if the + primaryChfInstance is present."; + type string; + } + } + grouping pcscfInfo { + description "This data type represents the information of a P-CSCF + NF Instance. + For more information, see clause 6.1.6.2.53 of TS 29.510."; - leaf-list accessType { - description "It provides the condition of access type of the UE when + leaf-list accessType { + description "It provides the condition of access type of the UE when the session AMBR shall be enforced, see TS 29.512 [60].If this attribute is included in SmfInfo, it shall contain the access type (3GPP_ACCESS and/or NON_3GPP_ACCESS) supported by the SMF.If not included, it shall be assumed the both access types are supported."; - type enumeration { + type enumeration { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; - } - min-elements 1; - max-elements 2; } - leaf-list dnnList { - description "It represents the DNNs supported by the PCF. The DNN, + min-elements 1; + max-elements 2; + } + leaf-list dnnList { + description "It represents the DNNs supported by the PCF. The DNN, as defined in clause 9A of TS 23.003 [13], shall contain the Network Identifier and it may additionally contain an Operator Identifier, as specified in TS 23.003 [13] clause 9.1.1 and 9.1.2. If the Operator Identifier is not included, the DNN is supported for all the PLMNs in the plmnList of the NF Profile.If not provided, the PCF can serve any DNN."; - min-elements 1; - type string; - } - leaf-list gmFqdn { - description "This attribute represents FQDN of the P-CSCF for the Gm - interface.."; - max-elements 1; - type string; - //optional - } - leaf-list gmIpv4Addresses { - description "This attribute represents list of IPv4 addresses of of + min-elements 1; + type string; + } + leaf-list gmFqdn { + description "This attribute represents FQDN of the P-CSCF for the Gm + interface."; + max-elements 1; + type string; + } + leaf-list gmIpv4Addresses { + description "This attribute represents list of IPv4 addresses of of the P-CSCF for the Gm interface."; - type inet:ipv4-address; - //optional - } - leaf-list gmIpv6Addresses { - description "This attribute represents list of IPv6 addresses of of the + type inet:ipv4-address; + } + leaf-list gmIpv6Addresses { + description "This attribute represents list of IPv6 addresses of of the P-CSCF for the Gm interface."; - type inet:ipv6-address; - //optional - } - leaf mwFqdn { - description "This attribute represents FQDN of the P-CSCF for the Mw + type inet:ipv6-address; + } + leaf mwFqdn { + description "This attribute represents FQDN of the P-CSCF for the Mw interface."; - type string; - //optional - } - leaf-list mwIpv4Addresses { - description "List of ranges of PLMNs (including the PLMN + type string; + } + leaf-list mwIpv4Addresses { + description "List of ranges of PLMNs (including the PLMN IDs of the CHF instance) that can be served by the CHF instance. If not provided, the CHF can serve any PLMN."; - type inet:ipv4-address; - //optional - } - leaf-list mwIpv6Addresses { - description "This attribute represents list of IPv4 addresses of - the P-CSCF for the Mw interface."; - type inet:ipv6-address; - //optional - } - list servedIpv4AddressRanges { - description "List of ranges of PLMNs (including the PLMN + type inet:ipv4-address; + } + leaf-list mwIpv6Addresses { + description "This attribute represents list of IPv4 addresses of + the P-CSCF for the Mw interface."; + type inet:ipv6-address; + } + list servedIpv4AddressRanges { + description "List of ranges of PLMNs (including the PLMN IDs of the CHF instance) that can be served by the CHF instance. - If not provided, the CHF can serve any PLMN."; + If not provided, the CHF can serve any PLMN."; - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - //optional - } + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; } + } grouping HssInfoGrp { description " Information of an HSS NF Instance"; leaf groupID{ description "This attribute defines the identity of the HSS group - that is served by the HSS instance.If not provided, the HSS instance - does not pertain to any HSS group."; + that is served by the HSS instance.If not provided, the HSS instance + does not pertain to any HSS group."; type string; } list imsiRanges { description "This attribute defines the list of ranges of IMSIs whose - profile data is available in the HSS instance."; + profile data is available in the HSS instance."; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses ImsiRange; } list imsPrivateIdentityRanges{ description "This attribute defines the list of ranges of IMS Private - Identities whose profile data is available in the HSS instance."; + Identities whose profile data is available in the HSS instance."; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses mnfp3gpp:IdentityRange; } list imsPublicIdentityRanges{ description "This attribute defines the list of ranges of MSISDNs whose - profile data is available in the HSS instance. "; + profile data is available in the HSS instance. "; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses mnfp3gpp:IdentityRange; } list msisdnRanges{ description "This attribute defines the list of ranges of IMS Public - Identities whose profile data is available in the HSS instance "; + Identities whose profile data is available in the HSS instance "; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses mnfp3gpp:IdentityRange; } list externalGroupIdentifiersRanges{ description "This attribute defines the list of ranges of external - group IDs that can be served by this HSS instance.If not provided, - the HSS instance does not serve any external groups. "; + group IDs that can be served by this HSS instance.If not provided, + the HSS instance does not serve any external groups. "; min-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses mnfp3gpp:IdentityRange; } @@ -263,270 +253,270 @@ module _3gpp-5gc-nrm-nrffunction { max-elements 1; key "id"; leaf id { - description "Unique identifier for the IMSI range."; - type string; + description "Unique identifier for the IMSI range."; + type string; } uses NetworkNodeDiameterAddress; } list additionalDiamAddresses{ description "This attribute defines the Additional Diameter Addresses - of the HSS;may be present if hssDiameterAddress is present "; + of the HSS;may be present if hssDiameterAddress is present "; min-elements 1; key "id"; - leaf id { - description "Unique identifier for the IMSI range."; + leaf id { + description "Unique identifier for the IMSI range."; type string; } uses NetworkNodeDiameterAddress; } } - grouping NrfInfoGrp { + grouping NrfInfoGrp { - list servedUdrInfo { - description "This attribute contains all the udrInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUdrInfo { + description "This attribute contains all the udrInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses udr3gpp:UdrInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedUdmInfo { - description "This attribute contains all the udmInfo - attributes - locally configured in the NRF or the NRF - received during NF registration."; + min-elements 1; + uses udr3gpp:UdrInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUdmInfo { + description "This attribute contains all the udmInfo + attributes + locally configured in the NRF or the NRF + received during NF registration."; - min-elements 1; - uses udm3gpp:UdmInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedAusfInfo { - description "This attribute contains all the - ausfInfo attributes - locally configured in the NRF or the NRF - received during NF registration."; + min-elements 1; + uses udm3gpp:UdmInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedAusfInfo { + description "This attribute contains all the + ausfInfo attributes + locally configured in the NRF or the NRF + received during NF registration."; - min-elements 1; - uses ausf3gpp:AusfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedAmfInfo { - description "This attribute contains all the amfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses ausf3gpp:AusfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedAmfInfo { + description "This attribute contains all the amfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses amf3gpp:AmfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedSmfInfo { - description "This attribute contains all the smfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses amf3gpp:AmfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedSmfInfo { + description "This attribute contains all the smfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses smf3gpp:SmfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedUpfInfo { - description "This attribute contains all the upfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses smf3gpp:SmfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedUpfInfo { + description "This attribute contains all the upfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses upf3gpp:UpfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedPcfInfo { - description "This attribute contains all the pcfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses upf3gpp:UpfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedPcfInfo { + description "This attribute contains all the pcfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses pcf3gpp:pcfInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedBsfInfo { - description "This attribute contains all the bsfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses pcf3gpp:pcfInfoGrp; + } - key nfInstanceId; - leaf nfInstanceId{ - description "String uniquely identifying a NF instance."; - type string; - } + list servedBsfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses bsfInfo; + key nfInstanceId; + leaf nfInstanceId{ + description "String uniquely identifying a NF instance."; + type string; } - list servedChfInfo { - description "This attribute contains all the bsfInfo - attributes - locally configured in the NRF or the NRF received - during NF registration."; + min-elements 1; + uses bsfInfo; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedChfInfo { + description "This attribute contains all the bsfInfo + attributes + locally configured in the NRF or the NRF received + during NF registration."; - min-elements 1; - uses chfInfo; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedNwdafInfo { - description "This attribute contains all the nwdafInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the nwdafInfo belongs to."; + min-elements 1; + uses chfInfo; + } - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } + list servedNwdafInfo { + description "This attribute contains all the nwdafInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nwdafInfo belongs to."; - min-elements 1; - uses nwdaf3gpp:NwdafInfoGrp; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedPcscfInfoList { - description "This attribute contains all the pcscfInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId to which - the map entry belongs to."; - - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses pcscfInfo; + + min-elements 1; + uses nwdaf3gpp:NwdafInfoGrp; + } + list servedPcscfInfoList { + description "This attribute contains all the pcscfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId to which + the map entry belongs to."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedGmlcInfo { - description "This attribute contains all the gmlcInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the nefInfo belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses gmlc3gpp:GmlcInfoGrp; + + min-elements 1; + uses pcscfInfo; + } + list servedGmlcInfo { + description "This attribute contains all the gmlcInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the nefInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedLmfInfo { - description "This attribute contains all the lmfInfo attributes - locally configured in the NRF or the NRF received during NF - registration. The key of the map is the nfInstanceId of which - the lmfInfo belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses lmf3gpp:LmfInfoGrp; + + min-elements 1; + uses gmlc3gpp:GmlcInfoGrp; + } + list servedLmfInfo { + description "This attribute contains all the lmfInfo attributes + locally configured in the NRF or the NRF received during NF + registration. The key of the map is the nfInstanceId of which + the lmfInfo belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedNfInfo { - description "This attribute contains information of other NFs - without corresponding NF type specific Info extensions locally - configured in the NRF or the NRF received during NF registration. - The key of the map is the nfInstanceId of the NF. The map entry - is the NfInfo as defined in clause 5.3.229 representing the - information of a generic NF instance."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - - min-elements 1; - uses nfInfoGrp; + + min-elements 1; + uses lmf3gpp:LmfInfoGrp; + } + list servedNfInfo { + description "This attribute contains information of other NFs + without corresponding NF type specific Info extensions locally + configured in the NRF or the NRF received during NF registration. + The key of the map is the nfInstanceId of the NF. The map entry + is the NfInfo as defined in clause 5.3.229 representing the + information of a generic NF instance."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list servedHssInfoList { - description "This attribute contains list of HssInfo attribute - locally configured in the NRF or that the NRF received during NF - registration. The key of the map is the nfInstanceId to which the - map entry belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - min-elements 1; - uses HssInfoGrp; + + min-elements 1; + uses nfInfoGrp; + } + list servedHssInfoList { + description "This attribute contains list of HssInfo attribute + locally configured in the NRF or that the NRF received during NF + registration. The key of the map is the nfInstanceId to which the + map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } - list served5gDdnmfInfo { - description "This attribute contains all the 5gDdnmfInfo - attribute locally configured in the NRF or that the NRF - received during NF registration. The key of the map is - the nfInstanceId to which the map entry belongs to."; - key nfInstanceId; - leaf nfInstanceId { - description "String uniquely identifying a NF instance."; - type string; - } - min-elements 1; - uses FiveGDdnmfInfo ; + min-elements 1; + uses HssInfoGrp; + } + list served5gDdnmfInfo { + description "This attribute contains all the 5gDdnmfInfo + attribute locally configured in the NRF or that the NRF + received during NF registration. The key of the map is + the nfInstanceId to which the map entry belongs to."; + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; } + min-elements 1; + uses FiveGDdnmfInfo ; } + } grouping ImsiRange{ leaf start{ description "This attribute indicates the first value identifying @@ -571,15 +561,15 @@ module _3gpp-5gc-nrm-nrffunction { max-elements 1; } } - typedef PduSessionType { + typedef PduSessionType { type enumeration { enum IPV4; enum IPV6; enum IPV4V6; enum UNSTRUCTURED; enum ETHERNET; - } } + } grouping DnnUpfInfoItem { leaf dnn { description "String representing a Data Network."; @@ -625,27 +615,52 @@ module _3gpp-5gc-nrm-nrffunction { uses types3gpp:PLMNId; } } + grouping AIoTNRFMappingGrp { + description "Data type AIoTNRFMapping"; + + leaf aIOTFdN { + type types3gpp:DistinguishedName; + mandatory true; + description "Represents the distinguished name (DN) identifier of the + AIOTF that serves the (internal) target area provided by NEF to NRF"; + } + + list internalTargetArea { + description "It is the (internal) target area used by NRF (as provided + by NEF) to accurately locate the AIOTF instance. It is mapped to aIOTFdN. + It could refer to a list of AIoT Areas."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses aiot3gpp:ServedAIOTAreaIDGrp; + } + } grouping NRFFunctionGrp { description "Represents the NRFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at - least one (the primary PLMN Id). - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a - Mobile Network Code (MNC)."; + list pLMNInfoList { + description "It defines the PLMN(s) of a Network Function."; min-elements 1; - max-elements 6; - key "mcc mnc"; - uses types3gpp:PLMNId; + key "mcc mnc sd sst"; + uses types5g3gpp:PLMNInfo; } - leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based - interface."; + description "It is used to indicate the FQDN of the registered NF instance + in service-based interface, for example, NF instance FQDN structure is: + nftype.slicetype.mnc.mcc.3gppnetwork.org"; type inet:domain-name; + mandatory true; + } + + list nFProfileList { + description "It is a set of NFProfile(s) to be registered in the NRF + instance. NFProfile is defined in 3GPP TS 29.510 "; + key idx; + leaf idx { type uint32; } + uses mnfp3gpp:ManagedNFProfileGrp; } leaf-list cNSIIdList { @@ -657,32 +672,14 @@ module _3gpp-5gc-nrm-nrffunction { type string; } - list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of supporting. - (Single Network Slice Selection Assistance Information) - An S-NSSAI has an SST (Slice/Service type) and an optional SD - (Slice Differentiator) field."; - //optional support - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - list nrfInfo { - description ""; + description "Represents information of an NRF NF Instance."; + max-elements 1; key idx; leaf idx {type uint32;} uses NrfInfoGrp; } - list nFProfileList { - description "It is a set of NFProfile(s) to be registered in the NRF - instance. NFProfile is defined in 3GPP TS 29.510 "; - key idx; - leaf idx { type uint32; } - min-elements 1; - max-elements 1; - uses mnfp3gpp:ManagedNFProfileGrp; - } + list managedNFProfile { key idx; leaf idx { type uint32; } @@ -692,6 +689,19 @@ module _3gpp-5gc-nrm-nrffunction { description "This parameter defines profile for managed NF"; reference "3gpp TS 23.501"; } + + list aIoTNRFMapping { + config false; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "Represents mapping information between (Internal) target + area (provided by NEF) and AIOTF DN."; + min-elements 1; + key idx; + leaf idx { type uint32; } + + uses AIoTNRFMappingGrp; + } } augment "/me3gpp:ManagedElement" { -- GitLab From f1ca7e31746b38baef231a190f815bcd00ca5be2 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Sat, 8 Nov 2025 00:44:13 +0100 Subject: [PATCH 40/93] Correcting common revision statements --- yang-models/_3gpp-nr-nrm-ep.yang | 17 +++++++++++++---- yang-models/_3gpp-nr-nrm-nrcelldu.yang | 5 +++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 755af3fe..d5392a2b 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -20,7 +20,8 @@ module _3gpp-nr-nrm-ep { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-10-01 { reference CR-1617 ; } + revision 2025-11-07 { reference "CR-1640 CR-1643"; } // common for R19, R20 + revision 2025-10-01 { reference "CR-1616 CR-1617" ; } revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } @@ -152,9 +153,17 @@ module _3gpp-nr-nrm-ep { uses EP_F1CSubtree; list EP_NgC { - description "Represents the local end point of the control plane - interface (NG-C) between the gNB and AMF."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; + description "This IOC represents the local end point of the control + plane interface (NG-C) between the gNB and AMF or the gNB and AIOTF. + The transport network layer is built on IP transport. For the reliable + transport of signalling messages, SCTP is added on top of IP. + The application layer signalling protocol is referred to as NG-AP + (NG Application Protocol). + + 3GPP TS 38.470 noted that 'one gNB-CU and a set of gNB-DUs are + visible to other logical nodes as a gNB or an en-gNB where the gNB + terminates the Xn and the NG interfaces, and the en-gNB terminates + the X2 and the S1-U interfaces'."; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 40245e23..a6b8fd77 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -19,6 +19,7 @@ module _3gpp-nr-nrm-nrcelldu { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 { reference "CR-1640 CR-1643"; } // common for r19, r20 revision 2025-07-25 { reference CR-1558 ; } revision 2025-02-07 { reference CR-1442; } revision 2024-05-25 { reference CR-1412 ; } @@ -340,8 +341,8 @@ module _3gpp-nr-nrm-nrcelldu { } leaf-list nRSectorCarrierRef { - description "Reference to corresponding NRSectorCarrier instance."; - min-elements 1; + description "This attribute contains the DN of the referenced + NRSectorCarrier."; type types3gpp:DistinguishedName; } -- GitLab From 35580871b195616edd5b4651e7a34856938f6d04 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:26:37 +0000 Subject: [PATCH 41/93] Edit _3gpp-eqp-sectorequipmentfunction.yang --- .../_3gpp-eqp-sectorequipmentfunction.yang | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index a21d4173..04c60d2b 100644 --- a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -17,6 +17,7 @@ module _3gpp-eqp-sectorequipmentfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 {reference "CR1661"} revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; } @@ -58,7 +59,21 @@ module _3gpp-eqp-sectorequipmentfunction { that refer to this object. In the case of SectorEquipmentFunction , these referring objects - may include Cells, NRSectorCarriers if associations between them + may include e.g. Cells, NRSectorCarriers if associations from them + and the SectorEquipmentFunction exist. + + Note: referencedBy is a DN datatype and so can reference an MOI + under a different ME"; + config false; + type types3gpp:DistinguishedName; + } + + leaf-list references { + description "This attribute contains the DNs of one or more objects + referred to by this object. + + In the case of SectorEquipmentFunction , these referred to objects + may include e.g. TMAFunction if associations to them and the SectorEquipmentFunction exist. Note: referencedBy is a DN datatype and so can reference an MOI -- GitLab From 3c067025a4d2f7f6e692ca0283d624bb85e391da Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:29:36 +0000 Subject: [PATCH 42/93] Edit _3gpp-eqp-antennafunction.yang --- yang-models/_3gpp-eqp-antennafunction.yang | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index 9a7e4bfb..f51e53bc 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -16,6 +16,7 @@ module _3gpp-eqp-antennafunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-07 { reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; @@ -168,17 +169,6 @@ module _3gpp-eqp-antennafunction { range "0..180"; } } - - leaf-list theCellList { - description "This attribute contains the DNs of EUtranGenericCell - or UtranGenericCell if associations between them exist. - This attribute contains the DNs of GSMCellPart if association - between them exist. "; - config false; - status deprecated; - type types3gpp:DistinguishedName; - } - } augment "/me3gpp:ManagedElement" { -- GitLab From 8fb9cc393ca4d18bfb5dbf86b5cc74df672f59fe Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:31:39 +0000 Subject: [PATCH 43/93] Edit _3gpp-eqp-antennafunction.yang --- yang-models/_3gpp-eqp-antennafunction.yang | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index f51e53bc..d5cf01c1 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -18,9 +18,8 @@ module _3gpp-eqp-antennafunction { revision 2025-11-07 { reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } - revision 2025-05-01 { reference "Initial revision"; + revision 2025-05-01 { reference "Initial revision";} - } grouping AntennaFunctionGrp { description "Represents the AntennaFunction."; uses mf3gpp:ManagedFunctionGrp; -- GitLab From 25497dd722388818cb718d683275e041d7b6b3b4 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:37:13 +0000 Subject: [PATCH 44/93] Edit _3gpp-eqp-sectorequipmentfunction.yang --- yang-models/_3gpp-eqp-sectorequipmentfunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index 04c60d2b..6396dcff 100644 --- a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -17,7 +17,7 @@ module _3gpp-eqp-sectorequipmentfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-11-07 {reference "CR1661"} + revision 2025-11-06 {reference "CR1661"} revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; } -- GitLab From 7ec515c5cee339165f6fe07fb92d6f54bc7bf843 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:37:37 +0000 Subject: [PATCH 45/93] Edit _3gpp-eqp-antennafunction.yang --- yang-models/_3gpp-eqp-antennafunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index d5cf01c1..09988c4a 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -16,7 +16,7 @@ module _3gpp-eqp-antennafunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-11-07 { reference "CR1661"; } + revision 2025-11-06 { reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision";} -- GitLab From 272a9f775a63033c46a7ce8d4d1c1a2b4627a794 Mon Sep 17 00:00:00 2001 From: scottma Date: Fri, 7 Nov 2025 16:40:56 +0000 Subject: [PATCH 46/93] Edit _3gpp-eqp-sectorequipmentfunction.yang --- yang-models/_3gpp-eqp-sectorequipmentfunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index 6396dcff..2742833d 100644 --- a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -17,7 +17,7 @@ module _3gpp-eqp-sectorequipmentfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2025-11-06 {reference "CR1661"} + revision 2025-11-06 {reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; } -- GitLab From ab994bae24356940c2df511890b4741adeb54f24 Mon Sep 17 00:00:00 2001 From: scottma Date: Thu, 20 Nov 2025 17:12:37 +0000 Subject: [PATCH 47/93] Edit _3gpp-eqp-sectorequipmentfunction.yang --- yang-models/_3gpp-eqp-sectorequipmentfunction.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index 2742833d..0b092efa 100644 --- a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -54,7 +54,7 @@ module _3gpp-eqp-sectorequipmentfunction { type string; } - leaf-list referencedBy { + leaf-list referenceFrom { description "This attribute contains the DNs of one or more objects that refer to this object. @@ -68,7 +68,7 @@ module _3gpp-eqp-sectorequipmentfunction { type types3gpp:DistinguishedName; } - leaf-list references { + leaf-list referenceTo { description "This attribute contains the DNs of one or more objects referred to by this object. -- GitLab From 9cad0ede55e21f23a1000ff32b14e63cdb46ff60 Mon Sep 17 00:00:00 2001 From: scottma Date: Thu, 20 Nov 2025 17:15:52 +0000 Subject: [PATCH 48/93] Edit _3gpp-eqp-antennafunction.yang --- yang-models/_3gpp-eqp-antennafunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index 09988c4a..6edd0980 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -122,7 +122,7 @@ module _3gpp-eqp-antennafunction { } } - leaf-list referencedBy { + leaf-list referenceFrom { description "This attribute contains the DNs of one or more objects that refer to this object. -- GitLab From 5ca5cccf6f5dc121830a44a85e9b169ff4f9d274 Mon Sep 17 00:00:00 2001 From: Zu Qiang Date: Thu, 30 Oct 2025 17:15:49 -0500 Subject: [PATCH 49/93] Update file _3gpp-common-trace.yang --- yang-models/_3gpp-common-trace.yang | 36 ++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index 7a2a5cbb..d9affd7e 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -25,6 +25,7 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + revision 2025-11-07 { reference "CR-0553" ; } revision 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } @@ -1736,6 +1737,25 @@ module _3gpp-common-trace { grouping TraceJobGrp { + leaf administrativeState { + default LOCKED; + type types3gpp:BasicAdministrativeState ; + description "Administrative state of a managed object instance. The + administrative state describes the permission to use or prohibition + against using the object instance. The administrative state is set by + the MnS consumer."; + } + + leaf operationalState { + config false; + mandatory true; + type types3gpp:OperationalState ; + description "Operational state of managed object instance. The + operational state describes if an object instance is operable + (ENABLED) or inoperable (DISABLED). This state is set by the + object instance or the MnS producer and is hence READ-ONLY."; + } + leaf jobType { type enumeration { enum IMMEDIATE_MDT_ONLY; @@ -2090,7 +2110,21 @@ module _3gpp-common-trace { Creation and deletion of TraceJob instances by MnS consumers is optional; when not supported, the TraceJob instances may be created - and deleted by the system or be pre-installed."; + and deleted by the system or be pre-installed. + + For temporary suspension of trace production, the MnS Consumer may + update the administrative state attribute, by setting it to 'LOCKED'. + The MnS Producer may also suspend trace production, for example in + overload situations, by setting the operational state attribute to + 'DISABLED'. + + When the administrative state is set to 'UNLOCKED' after creation + of a TraceJob, the corresponding Trace Session shall be activated. + When the administrative state is set to 'LOCKED' or the operational + state is set to 'DISABLED', the ongoing Trace Session shall be + suspended. The Trace Session shall be resumed when the operational + state is set to 'ENABLED' and the administrative state is set back + to 'UNLOCKED'."; key id; uses top3gpp:Top_Grp ; -- GitLab From 46d73e04d7403484c2788f01665be38c4c837809 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Tue, 2 Dec 2025 01:09:16 +0100 Subject: [PATCH 50/93] Locally rebased and merged https://forge.3gpp.org/rep/sa5/MnS/-/merge_requests/1979 --- yang-models/_3gpp-5g-common-yang-types.yang | 130 ++++++++++++++++++ yang-models/_3gpp-nr-nrm-iabfunction.yang | 142 ++------------------ yang-models/_3gpp-nr-nrm-mwab.yang | 21 ++- 3 files changed, 158 insertions(+), 135 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 6ddd1b3e..e6ddcd22 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -16,6 +16,7 @@ module _3gpp-5g-common-yang-types { reference "3GPP TS 28.541"; revision 2025-11-07 { reference CR-1640 ; } + revision 2025-11-02 { reference CR-1658 ; } revision 2025-07-25 { reference CR-1558 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } @@ -488,4 +489,133 @@ module _3gpp-5g-common-yang-types { } } + grouping CaraConfigurationGrp { + description "This data type represents the configuration used for mobile + NR node (e.g., IAB-node, MWAB-node) to perform certificate enrolment procedure with + Certification Authority server (CA/RA) as specified in TS 28.315 clause 5.3"; + + leaf caraAddress { + type inet:host; + description "IP address or FQDN of the CMP (Certificate Management Protocol) server"; + } + + leaf portNumber { + type inet:port-number; + description "This parameter specifies the port number used by + CMP (Certificate Management Protocol) server. The port for HTTP/HTTPSs + transfer of CMP messages is not explicitly given in RFC 9811, therefore + this parameter is required. The port number is usually + represented as 2 octets."; + } + + leaf path { + type inet:uri; + mandatory true; + description "This parameter specifies the path (in ASCII string) to + the CMP server directory. A CMP server may be located in an + arbitrary path other than root."; + } + + leaf subjectName { + type string; + mandatory true; + description "This parameter specifies the subject name (in ASCII + string) of the CA/RA. The use is described in 3GPP TS 33.310 + clause 9.5.3."; + } + + leaf protocol { + type enumeration { + enum HTTP; + enum HTTPS; + } + description "This parameter specifies the protocol (HTTP or HTTPS) + to be used for certificate enrolment. The use is described in + 3GPP TS 33.310 clause 9.6."; + } + } + + grouping MnrOamIPConfigGrp { + description "This data type includes the configutation for OAM connectivity + used for mobile NR node (e.g., IAB-node, MWAB-node) to establish connection with + management system. The configuration attributes include: + Configuration of certification authority (CA/RA) server, + Configuration of security gateway (SeGW), and + Configuration of software configuration server (SCS)"; + + list caraConfiguration { + description "configuration used for mobile NR node (e.g., IAB-node, MWAB-node) + to perform certificate enrolment procedure as specified in TS 28.315."; + uses CaraConfigurationGrp; + max-elements 1; + key caraAddress; + } + + leaf seGwConfiguration { + description "this parameter specifies IP address or + FQDN of security gateway (SeGW) used for mobile NR + node (e.g., IAB-node, MWAB-node) to establish secure connection + as specified in TS 28.315."; + type inet:host; + + } + + leaf scsConfiguration { + description "this parameter specifies IP address or FQDN of + configuration server (SCS) used for mobile NR node + (e.g., IAB-node, MWAB-node) to establish connection as + specified in TS 28.315."; + type inet:host; + } + } + + grouping LocationInfoGrp { + description "This data type contains location information + of mobile NR node (e.g., IAB-node, MWAB-node)."; + + leaf gNBId { + type int64 { range "0..4294967295"; } + description "It is either the gNB ID of the IAB-donor-CU that target IAB-DU + connects to or the gNB Id of the IAB-nonor-CU that serves IAB-MT, or + the gNBId of the gNB that serves MWAB-UE."; + } + + list pLMNId { + uses types3gpp:PLMNId; + max-elements 1; + description "The PLMN ID where IAB-MT or MWAB-UE is connected to"; + key "mcc mnc"; + } + + leaf cellLocalId { + type int32 { range "0..16383"; } + description "Identifies an NR cell where IAB-MT or MWAB-UE + is connected to."; + } + + leaf nRTAC { + type types5g3gpp:NRTAC; + description "It is TAC pertaining to the cells where IAB-MT or MWAB-UE is + connected."; + } + + list tAI { + uses types3gpp:TaiGrp; + key idx; + leaf idx { type string; } + max-elements 1; + description "It is the TAI (see subclause 9.3.3.11 in TS 38.413) pertaining + to the cells where IAB-MT or MWAB-UE is connected"; + } + list geoArea { + uses types3gpp:GeoAreaGrp; + key idx; + leaf idx {type string;} + max-elements 1; + description "It specifies geographical area of mobile NR node + (e.g., IAB-node or MWAB-node)."; + } + } + + } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang index 80004ae1..7d6e781f 100644 --- a/yang-models/_3gpp-nr-nrm-iabfunction.yang +++ b/yang-models/_3gpp-nr-nrm-iabfunction.yang @@ -3,8 +3,6 @@ module _3gpp-nr-nrm-iabfunction { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-iabfunction"; prefix "iab3gpp"; - import ietf-inet-types { prefix inet; } - import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } @@ -18,157 +16,33 @@ module _3gpp-nr-nrm-iabfunction { reference "3GPP TS 28.541; 3GPP TS 28.314; 3GPP TS 28.315; 3GPP TS 33.310, IETF RFC 9811"; + revision 2025-11-02 { reference "CR-1658" ; } revision 2025-10-01 { reference "CR-1617" ; } revision 2025-08-15 { reference "CR-1598"; } - grouping CaraConfigurationGrp { - description "This data type represents the configuration used for mobile - NR node (e.g., IAB-node) to perform certificate enrolment procedure with - Certification Authority server (CA/RA) as specified in TS 28.315 clause 5.3"; - - leaf caraAddress { - type inet:host; - description "IP address or FQDN of CA/RA server"; - } - - leaf portNumber { - type inet:port-number; - description "This parameter specifies the port number used by - CMP (Certificate Management Protocol) server. The port for HTTP/HTTPSs - transfer of CMP messages is not explicitly given in RFC 9811, therefore - this parameter is required. The port number is usually - represented as 2 octets."; - } - - leaf path { - type inet:uri; - mandatory true; - description "This parameter specifies the path (in ASCII string) to - the CMP server directory. A CMP server may be located in an - arbitrary path other than root."; - } - - leaf subjectName { - type string; - mandatory true; - description "This parameter specifies the subject name (in ASCII - string) of the CA/RA. The use is described in 3GPP TS 33.310 - clause 9.5.3."; - } - - leaf protocol { - type enumeration { - enum HTTP; - enum HTTPS; - } - description "This parameter specifies the protocol (HTTP or HTTPS) - to be used for certificate enrolment. The use is described in - 3GPP TS 33.310 clause 9.6."; - } - } - - grouping MnrOamIPConfigGrp { - description "This data type includes the configutation for OAM connectivity - used for mobile NR node (e.g., IAB-node) to establish connection with - management system. The configuration attributes include: - Configuration of certification authority (CA/RA) server, - Configuration of security gateway (SeGW), and - Configuration of software configuration server (SCS)"; - - list caraConfiguration { - description "configuration used for mobile NR node (e.g., IAB-node) - to perform certificate enrolment procedure as specified in TS 28.315."; - uses CaraConfigurationGrp; - max-elements 1; - key caraAddress; - } - - leaf seGwConfiguration { - description "configuration of security - gateway (SeGW) used for mobile NR node (e.g., IAB-node) to establish - secure connection as specified in TS 28.315."; - type inet:host; - - } - - leaf scsConfiguration { - description "configuration of software - configuration server (SCS) used for mobile NR node (e.g., IAB-node) - to establish connection to SCS as specified in TS 28.315."; - type inet:host; - } - } - - grouping LocationInfoGrp { - description "This data type contains location information - of mobile NR node (e.g., IAB-node)."; - - leaf gNBId { - type int64 { range "0..4294967295"; } - description "It is either the gNB ID of the IAB-donor-CU that target IAB-DU - connects to or the gNB Id of the IAB-nonor-CU that serves IAB-MT"; - } - - list pLMNId { - uses types3gpp:PLMNId; - max-elements 1; - description "The PLMN ID where IAB-MT or MWAB-UE is connected to"; - key "mcc mnc"; - } - - leaf cellLocalId { - type int32 { range "0..16383"; } - description "Identifies an NR cell where IAB-MT or MWAB-UE - is connected to."; - } - - leaf nRTAC { - type types5g3gpp:NRTAC; - description "It is TAC pertaining to the cells where IAB-MT or MWAB-UE is - connected."; - } - - list tAI { - uses types3gpp:TaiGrp; - key idx; - leaf idx { type string; } - max-elements 1; - description "It is the TAI (see subclause 9.3.3.11 in TS 38.413) pertaining - to the cells where IAB-MT or MWAB-UE is connected"; - } - list geoArea { - uses types3gpp:GeoAreaGrp; - key idx; - leaf idx {type string;} - max-elements 1; - description "It specifies geographical area of mobile NR node - (e.g., IAB-node or MWAB)."; - } - } - grouping IABGrp { description "IAB-node architecture is specified in TS 38.401. This IOC defines the configuration information for the IAB management, it is name contained by SubNetwork or ManagedElement"; list mnrOamIPConfig { - description "It is IP configutation for OAM connectivity used IAB-node + description "It is IP configutation for OAM connectivity used by + a mobile NR node (e.g., IAB-node, MWAB-node) to establish connection with management system as specified in TS 28.314[x] clause 6.1.2"; key id; leaf id { type uint32; } - uses MnrOamIPConfigGrp ; + uses types5g3gpp:MnrOamIPConfigGrp ; } - list locationInfo { - description "It is Location information of IAB-node that is used for - IAB-node OAM connection and IAB configuration as specified in - TS 28.314 clause 6.1.2 and TS 28.531 clause 5.1.27"; + list currentLocation { + description "This parameter specifies the current location + of mobile NR node (e.g., IAB-node, MWAB-node)."; key id; leaf id { type uint32; } - uses LocationInfoGrp; + uses types5g3gpp:LocationInfoGrp; } } diff --git a/yang-models/_3gpp-nr-nrm-mwab.yang b/yang-models/_3gpp-nr-nrm-mwab.yang index 9f8af2af..815de23d 100644 --- a/yang-models/_3gpp-nr-nrm-mwab.yang +++ b/yang-models/_3gpp-nr-nrm-mwab.yang @@ -5,6 +5,7 @@ module _3gpp-nr-nrm-mwab { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -15,10 +16,21 @@ module _3gpp-nr-nrm-mwab { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-02 { reference CR-1658 ; } revision 2025-04-25 { reference CR-1527 ; } grouping MWABGrp { - description "Represets the ExternalENBFunction IOC."; + description "Represents the MWAB IOC."; + + list mnrOamIPConfig { + description "It is IP configutation for OAM connectivity used + by a mobile NR node (e.g., IAB-node, MWAB-node) + to establish connection with management system as specified + in TS 28.314[x] clause 6.1.2"; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:MnrOamIPConfigGrp ; + } leaf operationalState { description "It indicates the operational state of the MWAB instance. @@ -58,6 +70,13 @@ module _3gpp-nr-nrm-mwab { leaf idx { type uint32 ; } uses types3gpp:TimeWindowGrp; } + list currentLocation { + description "This parameter specifies the current location + of mobile NR node (e.g., IAB-node, MWAB-node)."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:LocationInfoGrp; + } } grouping MWABSubTree { -- GitLab From c140b461c1bf2529a8bdf9b7653f9d2569481232 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:03:04 +0000 Subject: [PATCH 51/93] Replace TS28532_FileDataReportingMnS.yaml --- OpenAPI/TS28532_FileDataReportingMnS.yaml | 105 +--------------------- 1 file changed, 1 insertion(+), 104 deletions(-) diff --git a/OpenAPI/TS28532_FileDataReportingMnS.yaml b/OpenAPI/TS28532_FileDataReportingMnS.yaml index 033a67bc..65702eee 100644 --- a/OpenAPI/TS28532_FileDataReportingMnS.yaml +++ b/OpenAPI/TS28532_FileDataReportingMnS.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: File Data Reporting MnS - version: 19.1.0 + version: 20.0.0 description: >- OAS 3.0.1 definition of the File Data Reporting MnS © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -69,109 +69,6 @@ paths: application/json: schema: $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' - /subscriptions: - post: - summary: Create a subscription - description: >- - To create a subscription the representation of the subscription is - POSTed on the /subscriptions collection resource. - requestBody: - required: true - content: - application/json: - schema: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Subscription' - responses: - '201': - description: >- - Success case ("201 Created"). - The representation of the newly created subscription resource shall - be returned. - content: - application/json: - schema: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Subscription' - headers: - Location: - description: URI of the newly created subscription resource - required: true - schema: - type: string - default: - description: Error case. - content: - application/json: - schema: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' - callbacks: - notifyFileReady: - '{request.body#/consumerReference}': - post: - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/NotifyFileReady' - responses: - '204': - description: >- - Success case ("204 No Content"). - The notification is successfully delivered. The response message - body is absent. - default: - description: Error case. - content: - application/json: - schema: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' - notifyFilePreparationError: - '{request.body#/consumerReference}': - post: - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/NotifyFilePreparationError' - responses: - '204': - description: >- - Success case ("204 No Content"). - The notification is successfully delivered. The response message - body is absent. - default: - description: Error case. - content: - application/json: - schema: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' - /subscriptions/{subscriptionId}: - delete: - summary: Delete a subscription - description: >- - The subscription is deleted by deleting the corresponding subscription - resource. The resource to be deleted is identified with the path - component of the URI. - parameters: - - name: subscriptionId - in: path - description: Identifies the subscription to be deleted. - required: true - schema: - type: string - responses: - '204': - description: >- - Success case ("204 No Content"). - The subscription resource has been deleted. The response message body - is absent. - default: - description: Error case. - content: - application/json: - schema: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' components: schemas: FileDataType: -- GitLab From 2dd5852358b6309ce4fe6bd9a1dffa9539550d49 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:03:24 +0000 Subject: [PATCH 52/93] Replace TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 89 +++++++++++++++++++++++++++++++++++-- 1 file changed, 85 insertions(+), 4 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 66849e0f..bca07852 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: 3GPP 5GC NRM - version: 20.0.0 + version: 20.1.0 description: >- OAS 3.0.1 specification of the 5GC NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -837,6 +837,17 @@ components: type: integer thresholdRtt: type: integer + QFReportingThreshold: + type: object + properties: + thresholdDlCongestionInfo: + type: integer + thresholdUlCongestionInfo: + type: integer + thresholdDlDataRate: + type: integer + thresholdUlDataRate: + type: integer QosData: type: object @@ -1128,7 +1139,11 @@ components: protoDescDl: $ref: '#/components/schemas/ProtocolDescription' protoDescUl: - $ref: '#/components/schemas/ProtocolDescription' + $ref: '#/components/schemas/ProtocolDescription' + expTranInd: + type: boolean + default: false + ProtocolDescription: type: object properties: @@ -1792,6 +1807,16 @@ components: items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' minItems: 1 + nfTypeList: + type: array + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + nfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 NwdafInfo: description: Information of a NWDAF NF Instance type: object @@ -2219,6 +2244,7 @@ components: type: integer minimum: 0 maximum: 4294967295 + format: int64 trpMappingInfoList: type: array uniqueItems: true @@ -2767,6 +2793,10 @@ components: type: boolean default: false readOnly: true + urspEpsSupport: + type: boolean + default: false + readOnly: true A2xCapability: description: Information of the supported A2X Capability by the PCF @@ -3254,6 +3284,7 @@ components: type: integer minimum: 0 maximum: 4294967295 + format: int64 ngeNbId: type: string pattern: '^(MacroNGeNB-[A-Fa-f0-9]{5}|LMacroNGeNB-[A-Fa-f0-9]{6}|SMacroNGeNB-[A-Fa-f0-9]{5})$' @@ -3972,6 +4003,18 @@ components: items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 1 + supiRanges: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRanges: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 NfInfo: description: Information of a generic NF Instance type: object @@ -4191,6 +4234,26 @@ components: #$ref: 'TS28541_NrNrm.yaml#/components/schemas/ServedAIOTAreaID' readerLocation: type: string + AIoTNRFMapping: + type: object + required: + - aIOTFdN + - internalTargetArea + properties: + aIOTFdN: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + internalTargetArea: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/ServedAIOTAreaID' + AIoTNEFMapping: + type: object + required: + - targetAreaAF + - internalTargetArea + properties: + targetAreaAF: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + internalTargetArea: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/AreaScope' VflInfo: description: Indicates the Vfl capability supported by the NWDAF/TrustAF/unTrustAF type: object @@ -4764,7 +4827,9 @@ components: nrfInfo: $ref: '#/components/schemas/NrfInfo' managedNFProfile: - $ref: '#/components/schemas/ManagedNFProfile' + $ref: '#/components/schemas/ManagedNFProfile' + aIoTNRFMapping: + $ref: '#/components/schemas/AIoTNRFMapping' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object @@ -5022,7 +5087,9 @@ components: type: boolean readOnly: true nefInfo: - $ref: '#/components/schemas/NefInfo' + $ref: '#/components/schemas/NefInfo' + AIoTNEFMapping: + $ref: '#/components/schemas/AIoTNEFMapping' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object @@ -6146,6 +6213,18 @@ components: allOf: - type: object properties: + requestedQoSMonitoring: + type: string + enum: + - DLPD + - ULPD + - RPPD + - DLCI + - ULCI + - DLDR + - ULDR + - DLAB + - ULAB qFQoSMonitoringState: type: string enum: @@ -6177,6 +6256,8 @@ components: default: true qFPacketDelayThresholds: $ref: '#/components/schemas/QFPacketDelayThresholdsType' + qFReportingThresholds: + $ref: '#/components/schemas/QFReportingThreshold' qFMinimumWaitTime: type: integer qFMeasurementPeriod: -- GitLab From bd4d02e9f1ae8a716a897a055fc654dab7758d7b Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:03:38 +0000 Subject: [PATCH 53/93] Replace TS28541_NrNrm.yaml --- OpenAPI/TS28541_NrNrm.yaml | 79 +++++++++++++++++++++++++++++++++++--- 1 file changed, 73 insertions(+), 6 deletions(-) diff --git a/OpenAPI/TS28541_NrNrm.yaml b/OpenAPI/TS28541_NrNrm.yaml index d1dad379..2d4a1344 100755 --- a/OpenAPI/TS28541_NrNrm.yaml +++ b/OpenAPI/TS28541_NrNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: NR NRM - version: 20.0.0 + version: 20.1.0 description: >- OAS 3.0.1 specification of the NR NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -19,6 +19,7 @@ components: type: integer minimum: 0 maximum: 4294967295 + format: int64 GnbIdLength: type: integer minimum: 22 @@ -30,10 +31,12 @@ components: type: integer minimum: 0 maximum: 68719476735 + format: int64 GnbCuUpId: type: integer minimum: 0 maximum: 68719476735 + format: int64 readOnly: true Sst: @@ -109,6 +112,7 @@ components: uniqueItems: true items: $ref: '#/components/schemas/GeNBId' + deprecated: true NrPci: type: integer @@ -682,6 +686,7 @@ components: default: 0 minimum: 0 maximum: 8589934591 + format: int64 eccentricity: type: integer default: 0 @@ -787,7 +792,33 @@ components: nID: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Nid' aIotAreaCode: - type: string + type: string + MnrOamIPConfig: + type: object + properties: + caraConfiguration: + $ref: '#/components/schemas/CaraConfiguration' + seGwConfiguration: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + scsConfiguration: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + CaraConfiguration: + type: object + properties: + caraAddress: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + portNumber: + type: integer + path: + type: string + subjectName: + type: string + protocol: + type: string + enum: + - HTTP + - HTTPS + #-------- Definition of types for name-containments ------ SubNetwork-ncO-NrNrm: type: object @@ -819,7 +850,7 @@ components: CESManagementFunction: $ref: '#/components/schemas/CESManagementFunction-Single' RedCapAccessCriteria: - $ref: '#/components/schemas/RedCapAccessCriteria-Single' + $ref: '#/components/schemas/RedCapAccessCriteria-Multiple' Configurable5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' RimRSGlobal: @@ -834,6 +865,8 @@ components: $ref: '#/components/schemas/NRECMappingRule-Multiple' MWAB: $ref: '#/components/schemas/MWAB-Multiple' + IAB: + $ref: '#/components/schemas/IAB-Multiple' NRFemtoGW: $ref: '#/components/schemas/NRFemtoGW-Single' @@ -860,6 +893,8 @@ components: $ref: '#/components/schemas/CPCIConfigurationFunction-Single' CESManagementFunction: $ref: '#/components/schemas/CESManagementFunction-Single' + RedCapAccessCriteria: + $ref: '#/components/schemas/RedCapAccessCriteria-Multiple' Configurable5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' Dynamic5QISet: @@ -870,6 +905,8 @@ components: $ref: '#/components/schemas/NRECMappingRule-Multiple' MWAB: $ref: '#/components/schemas/MWAB-Multiple' + IAB: + $ref: '#/components/schemas/IAB-Multiple' NRFemtoGW: $ref: '#/components/schemas/NRFemtoGW-Single' @@ -915,6 +952,8 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + iABRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -1071,7 +1110,7 @@ components: dDAPSHOControl: type: boolean dLTMControl: - type: boolean + type: boolean mappedCellIdInfoList: $ref: '#/components/schemas/MappedCellIdInfoList' qceIdMappingInfoList: @@ -1079,9 +1118,11 @@ components: mdtUserConsentReqList: $ref: '#/components/schemas/MdtUserConsentReqList' mWABRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' nRECMappingRuleRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + iABRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' nRFemtoGWRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' @@ -1224,7 +1265,9 @@ components: type: string enum: - REDCAP_1RX - - REDCAP_2RX + - REDCAP_2RX + - EREDCAP_1RX + - EREDCAP_2RX nRSectorCarrierRef: type: array uniqueItems: true @@ -1505,6 +1548,8 @@ components: type: boolean isMLBAllowed: type: boolean + dCLTMControl: + type: boolean EUtranCellRelation-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -2311,6 +2356,8 @@ components: attributes: type: object properties: + mnrOamIPConfig: + $ref: '#/components/schemas/MnrOamIPConfig' administrativeState: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' operationalState: @@ -2325,6 +2372,8 @@ components: uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + currentLocation: + $ref: '#/components/schemas/LocationInfo' NRECMappingRule-Single: allOf: @@ -2395,6 +2444,18 @@ components: uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + IAB-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + mrnOamIPConfig: + $ref: '#/components/schemas/MnrOamIPConfig' + currentLocation: + $ref: '#/components/schemas/LocationInfo' NRFemtoGW-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -2593,6 +2654,11 @@ components: type: array items: $ref: '#/components/schemas/AIOTReader-Single' + IAB-Multiple: + type: array + items: + $ref: '#/components/schemas/IAB-Single' + #-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- @@ -2665,4 +2731,5 @@ components: - $ref: '#/components/schemas/NTNTimeBasedConfig-Single' - $ref: '#/components/schemas/RedCapAccessCriteria-Single' - $ref: '#/components/schemas/AIOTReader-Single' + - $ref: '#/components/schemas/IAB-Single' -- GitLab From 51b717ec2f205c95de5c2d378cbb32cd64e2e8cc Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:03:57 +0000 Subject: [PATCH 54/93] Replace TS28623_ManagementDataCollectionNrm.yaml --- .../TS28623_ManagementDataCollectionNrm.yaml | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml index d5ab9f7e..771db70c 100644 --- a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml +++ b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Management Data Collection NRM - version: 19.5.0 + version: 20.0.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). @@ -27,16 +27,22 @@ components: oneOf: - type: array items: - type: string - enum: - - COVERAGE - - CAPACITY - - ENERGY_EFFICIENCY - - MOBILITY - - ACCESSIBILITY + $ref: '#/components/schemas/mgtDataCategory' + uniqueItems: true - type: array items: - type: string + $ref: '#/components/schemas/mgtDataName' + uniqueItems: true + mgtDataCategory: + type: string + enum: + - COVERAGE + - CAPACITY + - ENERGY_EFFICIENCY + - MOBILITY + - ACCESSIBILITY + mgtDataName: + type: string NodeFilter: type: object properties: @@ -74,7 +80,10 @@ components: managementData: $ref: '#/components/schemas/ManagementData' targetNodeFilter: - $ref: '#/components/schemas/NodeFilter' + type: array + items: + $ref: '#/components/schemas/NodeFilter' + uniqueItems: true collectionTimeWindow: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' reportingCtrl: @@ -93,7 +102,12 @@ components: type: boolean jobId: type: string - + required: + - managementData + - targetNodeFilter + - collectionTimeWindow + - reportingCtrl + - jobId #-------- Definition of YAML arrays for name-contained IOCs ---------------------- ManagementDataCollection-Multiple: type: array -- GitLab From 9deef4ee5578a9e178e4bfd86d58ff9f30de8b25 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:08:38 +0000 Subject: [PATCH 55/93] Replace TS28105_AiMlNrm.yaml with the latest version in R19 --- OpenAPI/TS28105_AiMlNrm.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/OpenAPI/TS28105_AiMlNrm.yaml b/OpenAPI/TS28105_AiMlNrm.yaml index 11607de7..4dd21ebf 100644 --- a/OpenAPI/TS28105_AiMlNrm.yaml +++ b/OpenAPI/TS28105_AiMlNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: AI/ML NRM - version: 19.3.0 + version: 19.4.0 description: >- OAS 3.0.1 specification of the AI/ML NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -376,7 +376,7 @@ components: description: > List of MLTrainingFunction DNs capable of acting as FL clients. Applicable when fLRole = FL_SERVER. - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' FLRequirement: type: object @@ -425,7 +425,7 @@ components: additionalProperties: false properties: clientRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' numberOfDataSamplesUsed: type: integer trainingTimeDuration: @@ -604,7 +604,7 @@ components: trainingRequestRef: ## Figure 7.3a.1.1.1-1 has no such pointer $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' participatingFLClientRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' trainingReportRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' mLModelGeneratedRef: @@ -981,7 +981,7 @@ components: - ACTIVATED - DEACTIVATED managedActivationScope: - $ref: '#/components/schemas/AIMLManagementPolicy' + $ref: '#/components/schemas/ManagedActivationScope' usedByFunctionRefList: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' mLModelRefList: -- GitLab From 02fc26d3eb7784573a386730e451808b234ae212 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:08:55 +0000 Subject: [PATCH 56/93] Replace TS28111_FaultNrm.yaml with the latest version in R19 --- OpenAPI/TS28111_FaultNrm.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenAPI/TS28111_FaultNrm.yaml b/OpenAPI/TS28111_FaultNrm.yaml index 4e52a1c8..14354915 100644 --- a/OpenAPI/TS28111_FaultNrm.yaml +++ b/OpenAPI/TS28111_FaultNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Fault Management NRM - version: 19.2.0 + version: 19.3.0 description: >- OAS 3.0.1 definition of the Fault Supervision MnS © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -229,7 +229,7 @@ components: - EXTERNAL_TRANSMISSION_DEVICE_FAILURE - REDUCED_ALARM_REPORTING - REDUCED_EVENT_REPORTING - - RECUCED_LOGGING_CAPABILITY + - REDUCED_LOGGING_CAPABILITY - SYSTEM_RESOURCES_OVERLOAD - BROADCAST_CHANNEL_FAILURE - CONNECTION_ESTABLISHMENT_ERROR -- GitLab From db68b3c4cf84bc5fd9f361dcc9c508f01cf08f39 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:09:11 +0000 Subject: [PATCH 57/93] Replace TS28312_IntentNrm.yaml with the latest version in R19 --- OpenAPI/TS28312_IntentNrm.yaml | 102 +++++++++++++++++++-------------- 1 file changed, 58 insertions(+), 44 deletions(-) diff --git a/OpenAPI/TS28312_IntentNrm.yaml b/OpenAPI/TS28312_IntentNrm.yaml index 052f0fdc..c751a6ce 100644 --- a/OpenAPI/TS28312_IntentNrm.yaml +++ b/OpenAPI/TS28312_IntentNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Intent NRM - version: 19.3.0 + version: 19.4.0 description: >- OAS 3.0.1 definition of the Intent NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -26,7 +26,7 @@ components: description: >- This IOC represents the properties of an Intent driven management information between MnS consumer and MnS producer. allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object properties: userLabel: @@ -38,20 +38,20 @@ components: items: type: object oneOf: - - $ref: "#/components/schemas/IntentExpectation" - - $ref: "TS28312_IntentExpectations.yaml#/components/schemas/RadioNetworkExpectation" - - $ref: "TS28312_IntentExpectations.yaml#/components/schemas/EdgeServiceSupportExpectation" - - $ref: "TS28312_IntentExpectations.yaml#/components/schemas/5GCNetworkExpectation" - - $ref: "TS28312_IntentExpectations.yaml#/components/schemas/RadioServiceExpectation" - - $ref: "TS28312_IntentExpectations.yaml#/components/schemas/NetworkMaintenanceExpectation" + - $ref: '#/components/schemas/IntentExpectation' + - $ref: 'TS28312_IntentExpectations.yaml#/components/schemas/RadioNetworkExpectation' + - $ref: 'TS28312_IntentExpectations.yaml#/components/schemas/EdgeServiceSupportExpectation' + - $ref: 'TS28312_IntentExpectations.yaml#/components/schemas/5GCNetworkExpectation' + - $ref: 'TS28312_IntentExpectations.yaml#/components/schemas/RadioServiceExpectation' + - $ref: 'TS28312_IntentExpectations.yaml#/components/schemas/NetworkMaintenanceExpectation' intentMgmtPurpose: - $ref: "#/components/schemas/IntentMgmtPurpose" + $ref: '#/components/schemas/IntentMgmtPurpose' contextSelectivity: - $ref: "#/components/schemas/Selectivity" + $ref: '#/components/schemas/Selectivity' consumerSatisfactionIndexThreshold: type: integer expectationSelectivity: - $ref: "#/components/schemas/Selectivity" + $ref: '#/components/schemas/Selectivity' intentContexts: type: array uniqueItems: true @@ -65,6 +65,7 @@ components: enum: - ACTIVATED - DEACTIVATED + default: ACTIVATED description: >- It describes the intent administrative state. This attribute is used when MnS consumer-suspension mechanism is supported @@ -76,7 +77,10 @@ components: intentPreemptionCapability: type: boolean intentReportControl: - $ref: '#/components/schemas/IntentReportControl' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IntentReportControl' implicitIntentIndex: type: boolean default: false @@ -85,9 +89,9 @@ components: intentUtilityFormulaRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' IntentReport-Single: - description: It represents intent report information from MnS producer to MnS consumer. + description: It represents intent report information from MnS producer to MnS consumer. allOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object properties: intentFulfilmentReport: @@ -101,8 +105,11 @@ components: $ref: '#/components/schemas/IntentFeasibilityCheckReport' intentExplorationReport: $ref: '#/components/schemas/IntentExplorationReport' - intentUtilityReport: - $ref: '#/components/schemas/IntentUtilityReport' + intentUtilityReports: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IntentUtilityReport' intentFulfilmentNegotiationReport: $ref: '#/components/schemas/IntentFulfilmentNegotiationReport' lastUpdatedTime: @@ -132,6 +139,8 @@ components: $ref: '#/components/schemas/Intent-Multiple' IntentReport: $ref: '#/components/schemas/IntentReport-Multiple' + IntentUtilityFormula: + $ref: '#/components/schemas/IntentUtilityFormula-Multiple' IntentUtilityFormula-Single: description: >- It represents an intent utility function instance. @@ -146,14 +155,11 @@ components: items: $ref: '#/components/schemas/UtilityParameter' uniqueItems: true - minItems: 1 utilityScale: type: number - minItems: 1 - default: 0 + default: 1 utilityOffset: type: number - minItems: 1 default: 0 #-------Definition of generic IOCs ----------# @@ -235,7 +241,7 @@ components: - IS_NOT_ONE_OF - IS_EQUAL_TO_OR_LESS_THAN - IS_EQUAL_TO_OR_GREATER_THAN - - IS_ALL_OF + - IS_ALL_OF Selectivity: type: string enum: @@ -244,7 +250,7 @@ components: - ANY_OF IntentMgmtPurpose: description: >- - It describes the MnS consumer requirements for the management purpose (required procedures) + It describes the MnS consumer requirements for the management purpose (required procedures) of the created or modified intent instance type: string enum: @@ -303,7 +309,7 @@ components: description: >- It desribes the RF reference frequency (i.e. Absolute Radio Frequency Channel Number) and/or the frequency operating band used for a given direction (UL or DL) in FDD or - for both UL and DL directions in TDD. + for both UL and DL directions in TDD. type: object properties: arfcn: @@ -421,18 +427,15 @@ components: expectedReportTypes: description: >- It indicates the type of IntentReports. - type: string - enum: - - INTENT_FULFILMENT_REPORT - - INTENT_CONFLICT_REPORT - - INTENT_FEASIBILITY_CHECK_REPORT - - INTENT_EXPLORATION_REPORT - - INTENT_FULFILMENT_NEGOTIATION_REPORT - - INTENT_UTILITY_REPORT + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ExpectedReportType' reportingConditions: description: >- It indicates the specified conditions for intent reporting. type: array + uniqueItems: true items: $ref: '#/components/schemas/ReportingCondition' reportingTargets: @@ -444,6 +447,15 @@ components: required: - reportRecipientAddress - observationPeriod + ExpectedReportType: + type: string + enum: + - INTENT_FULFILMENT_REPORT + - INTENT_CONFLICT_REPORT + - INTENT_FEASIBILITY_CHECK_REPORT + - INTENT_EXPLORATION_REPORT + - INTENT_FULFILMENT_NEGOTIATION_REPORT + - INTENT_UTILITY_REPORT ReportingCondition: description: >- It describes the specified conditions for intent reporting. @@ -466,8 +478,8 @@ components: - type: array uniqueItems: true items: - $ref: "#/components/schemas/ValueRangeType" - - $ref: "#/components/schemas/ValueRangeType" + $ref: '#/components/schemas/ValueRangeType' + - $ref: '#/components/schemas/ValueRangeType' #-------Definition of the concrete IntentReportControl dataType----------------# @@ -475,7 +487,7 @@ components: IntentFulfilmentReport: description: >- It includes the intentFulfilmentInfo and expectationFulfilmetResult. - This attribute shall be supported when intent fulfilment information is supported by IntentReport + This attribute shall be supported when intent fulfilment information is supported by IntentReport type: object properties: intentFulfilmentInfo: @@ -514,7 +526,7 @@ components: #-------Definition of the generic TargetFulfilmentResult dataType----------------# TargetFulfilmentResult: description: >- - This data type includes targetFulfilmentInfo and targetAchievedValue for each ExpectationTarget. + This data type includes targetFulfilmentInfo and targetAchievedValue for each ExpectationTarget. type: object properties: targetName: @@ -524,7 +536,7 @@ components: $ref: '#/components/schemas/FulfilmentInfo' targetAchievedValue: description: >- - It describes the value that has been achieved for the expectation target at the time at which + It describes the value that has been achieved for the expectation target at the time at which the report is generated. $ref: "#/components/schemas/ValueRangeType" targetContexts: @@ -534,7 +546,7 @@ components: $ref: '#/components/schemas/Context' required: - targetName - - targetFulfilmentInfo + - targetFulfilmentInfo #-------Definition of the concrete TargetFulfilmentResult dataType----------------# #-------Definition of the generic IntentConflictReport dataType----------------# @@ -562,7 +574,7 @@ components: description: >- This will be present if the value of conflictType is EXPECTATION_CONFLICT. It describes the expectationId of the conflicting IntentExpectation with an Intent type: string - readOnly: true + 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 @@ -570,7 +582,7 @@ components: readOnly: true recommendedSolutions: type: string - readOnly: true + readOnly: true enum: - MODIFY - DELETE @@ -609,6 +621,7 @@ components: infeasibilityReasons: description: An attribute which is used when feasibilityCheckResult is INFEASIBLE type: array + uniqueItems: true items: type: string readOnly: true @@ -633,6 +646,7 @@ components: readOnly: true inFeasibleTargets: type: array + uniqueItems: true items: type: string readOnly: true @@ -796,7 +810,7 @@ components: required: - intentHandlingCapabilityId - supportedExpectationObjectType - - supportedExpectationTargetInfoList + - supportedExpectationTargetInfoList SupportedExpectationTargetInfo: description: >- It indicates the detailed information about what the intent driven MnS producer supports for a given supportedExpectationObjectType. @@ -816,7 +830,7 @@ components: $ref: '#/components/schemas/ValueRangeType' - $ref: '#/components/schemas/ValueRangeType' required: - - supportedTargetName + - supportedTargetName #-------Definition of the concrete IntentHandlingCapability dataType----------------# @@ -835,7 +849,7 @@ components: #-------Definition of the generic UtilityResult dataType----------------# UtilityResult: description: >- - It represents the inputs for the specified Intent Utility Function. + It provides the result for the specified Intent Utility Function. type: object properties: utilityFunctionId: @@ -847,7 +861,7 @@ components: #-------Definition of the concrete UtilityResult dataType----------------# #-------Definition of the generic UtilityDefinition dataType----------------# - UtilityDefinition: + UtilityDefinition: description: >- It represents the inputs for the specified Intent Utility Function. type: object @@ -892,7 +906,7 @@ components: #----- Definitions in TS 28.312 for TS 28.532 --------------------------# resources-intentNrm: oneOf: - - $ref: '#/components/schemas/IntentHandlingFunction-Single' + - $ref: '#/components/schemas/IntentHandlingFunction-Single' - $ref: '#/components/schemas/Intent-Single' - $ref: '#/components/schemas/IntentReport-Single' - $ref: '#/components/schemas/IntentUtilityFormula-Single' -- GitLab From fcd6f34d7b770efd38421957a7eb8663028f04a0 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:09:32 +0000 Subject: [PATCH 58/93] Replace TS28532_ProvMnS.yaml with the latest version in R19 --- OpenAPI/TS28532_ProvMnS.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28532_ProvMnS.yaml b/OpenAPI/TS28532_ProvMnS.yaml index e24a6910..270a363c 100755 --- a/OpenAPI/TS28532_ProvMnS.yaml +++ b/OpenAPI/TS28532_ProvMnS.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Provisioning MnS - version: 19.1.0 + version: 19.2.0 description: >- OAS 3.0.1 definition of the Provisioning MnS © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -388,9 +388,9 @@ paths: With HTTP DELETE one resource is deleted. The resources to be deleted is identified with the target URI. responses: - '200': + '204': description: >- - Success case ("200 OK"). + Success case ("204 No Content"). This status code is returned, when the resource has been successfully deleted. The response body is empty. default: -- GitLab From 20919ad0c21053810a2bd4132fdd28c48e290fbf Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:10:02 +0000 Subject: [PATCH 59/93] Replace TS28561_NdtNrm.yaml with the latest version in R19 --- OpenAPI/TS28561_NdtNrm.yaml | 59 ++++++++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 11 deletions(-) diff --git a/OpenAPI/TS28561_NdtNrm.yaml b/OpenAPI/TS28561_NdtNrm.yaml index 270a819a..31d58a42 100644 --- a/OpenAPI/TS28561_NdtNrm.yaml +++ b/OpenAPI/TS28561_NdtNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: NDT NRM - version: 19.0.0 + version: 19.1.0 description: >- OAS 3.0.1 definition of the NDT NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -38,6 +38,8 @@ components: New values can be added to this list in future releases to support new use cases. nDTFunctionScope: $ref: '#/components/schemas/NDTFunctionScope' + nDTFunctionRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' NDTJob-Single: description: >- @@ -61,9 +63,10 @@ components: description: >- It indicates the related NDT Job contributing as a collaborator to the executed NDT Job. It describes the DN of the collaborated NDT Job $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - ndtReportRefList: + nDTReportRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + nDTJobRefList: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - NDTReport-Single: description: >- This IOC represents the properties of an NDT report corresponding to an NDT job @@ -77,18 +80,17 @@ components: 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. - ndtJobRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - ndtFunctionRef: + nDTJobRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + #-------Definition of the dataType ----------# NDTCapability: type: string enum: - RISKY_ACTIONS_PREDICTION - EVENTS_IMPACTS_VERIFICATION - - FAULT_INJECTION + - NETWORK_ISSUE_INDUCEMENT - NETWORK_EVENTS_VERIFICATION - NETWORK_CONFIGURATIONS_VERIFICATION - AUTOMATION_CONFIGURATION_VERIFICATION @@ -106,15 +108,13 @@ components: properties: nDTInputDescriptionId: type: string - simulationData: + simulationDataDescriptor: type: array uniqueItems: true items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + $ref: '#/components/schemas/SimulationDataDescriptor' networkEventInfo: type: string - condition: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' NDTOutputDescription: type: object properties: @@ -166,6 +166,43 @@ components: uniqueItems: true items: $ref: '#/components/schemas/NDTOutputDescription' + SimulationDataDescriptor: + type: object + properties: + simulationData: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SimulationData' + condition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + SimulationData: + type: object + properties: + performanceData: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/PerformanceData' + mDTData: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + configurationData: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + PerformanceData: + type: object + properties: + performanceDataName: + type: string + performanceDataValue: + type: integer + performanceDataScalingFactor: + type: integer #------Definition of JSON arrays for name-contained IOCs ---------------# -- GitLab From e005e72328ea3aa510a7718ffd2ba13914e37576 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:10:24 +0000 Subject: [PATCH 60/93] Replace TS28567_CclNrm.yaml --- OpenAPI/TS28567_CclNrm.yaml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/OpenAPI/TS28567_CclNrm.yaml b/OpenAPI/TS28567_CclNrm.yaml index 1cd88fcd..f8f6c70d 100644 --- a/OpenAPI/TS28567_CclNrm.yaml +++ b/OpenAPI/TS28567_CclNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: CCL NRM - version: 19.0.0 + version: 19.1.0 description: >- OAS 3.0.1 definition of the CCL NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -28,13 +28,13 @@ components: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object - properties: + properties: cCLComponentsInfo: type: array items: $ref: '#/components/schemas/CCLComponentsInfo' description: >- - It indicates information on the constituent components of a CCL. + It indicates information on the constituent components of a CCL. administrativeState: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' operationalState: @@ -106,23 +106,25 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object properties: - FaultManagementAlarmIdList: - type: string - FaultManagementBackUpObjectRequirement: + faultManagementAlarmIdList: + type: array + items: + type: string + faultManagementBackUpObjectRequirement: type: boolean - FaultManagementIsolateObjectRequirement: + faultManagementIsolateObjectRequirement: type: boolean - FaultManagementTimeWindow: + faultManagementTimeWindow: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' clearUserId: - type: string + type: string #-------Definition of the generic dataType --------------# CCLComponentsInfo: type: object properties: - cCLComponentId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + cCLComponentInfoId: + type: string cCLSteps: type: string enum: @@ -146,11 +148,11 @@ components: FaultManagementCCLReport: type: object properties: - GeneratedAlarmResultList: + generatedAlarmResultList: type: array items: type: string - FaultManagementCCLReportTime: + faultManagementCCLReportTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' GeneratedAlarmResult: -- GitLab From 4fd590c50d8cf86187b5489dba19726cbe84726d Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:10:42 +0000 Subject: [PATCH 61/93] Replace TS28572_PlanManagement.yaml --- OpenAPI/TS28572_PlanManagement.yaml | 1498 +++++++++++++-------------- 1 file changed, 721 insertions(+), 777 deletions(-) diff --git a/OpenAPI/TS28572_PlanManagement.yaml b/OpenAPI/TS28572_PlanManagement.yaml index 3d33a9a6..312cf8bd 100644 --- a/OpenAPI/TS28572_PlanManagement.yaml +++ b/OpenAPI/TS28572_PlanManagement.yaml @@ -1,17 +1,17 @@ openapi: 3.0.0 info: title: 3GPP Plan Provisioning Management API - version: 19.0.0 + version: 19.1.0 description: API for managing network configuration plans and related jobs externalDocs: description: 3GPP TS 28.572; Generic management services url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.572/ servers: - - url: '{MnSRoot}/ProvPlanMnS/{MnSVersion}' + - url: '{MnSRoot}/plan-management/{MnSVersion}' variables: MnSRoot: description: See clause 4.4.2 of TS 32.158 - default: http://example.com/PlanManagement + default: http://example.com/cm MnSVersion: description: Version number of the OpenAPI definition default: v1 @@ -31,20 +31,42 @@ paths: schema: $ref: '#/components/schemas/PlanConfigurationDescriptor' example: - { - "name": "Rollout-5G-Dublin-East", - "version" : "1.0.0", - "description": "This is the plan for the new 5G rollout in Dublin east.", - "customProperties": { - "technology-type": "NR", - "location": "Dublin" - }, - "currentConfigAddress": "http://example.org/3gpp/ProvMnS/v1", - "configurationContentType" : "application/vnd.3gpp.yang-patch+json", - "planConfig": { - ... - } - } + name: "Rollout-5G-Dublin-East" + version: "1.0.0" + description: "This is the plan for the new 5G rollout in Dublin east." + customProperties: + technology-type: "NR" + location: "Dublin" + configChangesContentType: "YANG" + 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. responses: '201': description: Plan descriptor created successfully @@ -90,9 +112,10 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/DescriptorListEntry' + type: object # <-- Response body is an object + properties: + items: # <-- The array is nested inside the 'items' property + $ref: '#/components/schemas/DescriptorListEntry' '500': description: Internal server error. content: @@ -155,8 +178,7 @@ paths: "technology-type": "NR", "location": "Dublin" }, - "currentConfigAddress": "http://example.org/3gpp/ProvMnS/v1", - "planConfig": { + "configChanges": { ... } } @@ -263,9 +285,10 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/DescriptorListEntry' + type: object # <-- Response body is an object + properties: + items: # <-- The array is nested inside the 'items' property + $ref: '#/components/schemas/DescriptorListEntry' '500': description: Internal server error. content: @@ -397,9 +420,10 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/DescriptorListEntry' + type: object # <-- Response body is an object + properties: + items: # <-- The array is nested inside the 'items' property + $ref: '#/components/schemas/DescriptorListEntry' '500': description: Internal server error. content: @@ -407,7 +431,7 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /fallback-descriptor/{id}: + /fallback-descriptors/{id}: parameters: - in: path name: id @@ -521,9 +545,10 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/DescriptorListEntry' + type: object # <-- Response body is an object + properties: + items: # <-- The array is nested inside the 'items' property + $ref: '#/components/schemas/DescriptorListEntry' /trigger-descriptors/{id}: parameters: @@ -616,7 +641,7 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /activation-jobs: + /plan-activation-jobs: post: tags: - Activation Management @@ -639,11 +664,11 @@ paths: schema: type: string format: uri-reference - example: "/activation-jobs/myjob-111" + example: "/plan-activation-jobs/myjob-111" content: application/json: schema: - $ref: '#/components/schemas/ActivationJob' + $ref: '#/components/schemas/ActivationJobResponse' '400': description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields). content: @@ -692,7 +717,7 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /activation-jobs/{id}: + /plan-activation-jobs/{id}: parameters: - $ref: '#/components/parameters/jobId' get: @@ -707,7 +732,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ActivationJob' + $ref: '#/components/schemas/ActivationJobResponse' '404': description: Job not found. content: @@ -749,15 +774,15 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /activation-jobs/{id}/status: - parameters: - - $ref: '#/components/parameters/jobId' + /plan-activation-jobs/{id}/status: get: tags: - Activation Management summary: Get job status description: Retrieve the current status of a specific plan activation job using its unique identifier. operationId: getJobStatus + parameters: + - $ref: '#/components/parameters/jobId' responses: '200': description: Job status retrieved successfully. @@ -777,18 +802,39 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ErrorDetail' - patch: + + /plan-activation-jobs/{id}/activation-details: + get: + tags: + - Activation Management + summary: Get activation details + description: Retrieve detailed information about the activation results of a job + operationId: getActivationDetails + parameters: + - $ref: '#/components/parameters/jobId' + responses: + '200': + description: Activation details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionDetails' + '404': + description: Job not found + content: + application/problem+json: + 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 - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CancelRequest' responses: '200': description: Job cancel request was successfully completed @@ -813,30 +859,7 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /activation-jobs/{id}/activation-details: - get: - tags: - - Activation Management - summary: Get activation details - description: Retrieve detailed information about the activation results of a job - operationId: getActivationDetails - parameters: - - $ref: '#/components/parameters/jobId' - responses: - '200': - description: Activation details retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ExecutionDetails' - '404': - description: Job not found - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ErrorDetail' - - /validation-jobs: + /plan-validation-jobs: post: tags: - Validation Management @@ -863,7 +886,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ValidationJob' + $ref: '#/components/schemas/ValidationJobResponse' '400': description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields). content: @@ -888,17 +911,23 @@ paths: name: job-state schema: $ref: '#/components/schemas/JobState' - description: Filter jobs by their current status. - example: "RUNNING" + description: Filter jobs by their current state. + example: "COMPLETED" # Example state for validation jobs responses: '200': - description: List of plan validation jobs retrieved successfully. + description: List of plan validation jobs retrieved successfully. content: application/json: schema: type: array items: - $ref: '#/components/schemas/JobListEntry' + $ref: '#/components/schemas/JobListEntry' + '400': + description: Invalid query parameters + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' '500': description: Internal server error. content: @@ -906,7 +935,7 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /validation-jobs/{id}: + /plan-validation-jobs/{id}: parameters: - $ref: '#/components/parameters/jobId' get: @@ -921,7 +950,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ValidationJob' + $ref: '#/components/schemas/ValidationJobResponse' '404': description: Job not found. content: @@ -957,7 +986,7 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /validation-jobs/{id}/status: + /plan-validation-jobs/{id}/status: get: tags: - Validation Management @@ -985,43 +1014,8 @@ paths: application/problem+json: schema: $ref: '#/components/schemas/ErrorDetail' - patch: - tags: - - Activation Management - summary: Cancel the validation job - description: Cancel the validation job - operationId: cancelActivationJobById - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CancelRequest' - 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' - /validation-jobs/{id}/validation-details: + /plan-validation-jobs/{id}/validation-details: get: tags: - Validation Management @@ -1051,7 +1045,7 @@ paths: schema: $ref: '#/components/schemas/ErrorDetail' - /validation-jobs/{id}/cancel-request: + /plan-validation-jobs/{id}/cancel-request: parameters: - $ref: '#/components/parameters/jobId' put: @@ -1105,20 +1099,78 @@ components: schemas: + PlanConfigurationDescriptor: type: object required: - - configurationContentType - - planConfig + - configChanges + allOf: + - $ref: '#/components/schemas/PlanConfigurationDescriptorCommonProperties' + properties: + configChanges: + description: "The plan configuration changes" + type: array + items: + $ref: '#/components/schemas/ConfigChange' + + 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: + type: object + required: + - configChangesContentType properties: id: type: string description: Unique id of the plan configuration descriptor - example: "plan-001" + example: plan-001 name: type: string description: Descriptive name of the plan group configuration descriptor - example: "Rollout-5G-Dublin-East" + example: Rollout-5G-Dublin-East version: type: string description: The version of the planned configuration. Its format is implementation specific. @@ -1126,7 +1178,7 @@ components: description: type: string description: Used to describe the purpose of the plan configuration - example: "This is the plan for the new 5G rollout in Dublin east." + example: This is the plan for the new 5G rollout in Dublin east. customProperties: type: object description: A dynamic set of custom properties provided by client @@ -1134,73 +1186,21 @@ components: example: technology-type: NR location: Dublin - currentConfigAddress: - type: string - format: uri-reference - description: A reference address to the current configuration associated with the configuration in this descriptor - example: "http://example.org/3gpp/ProvMnS/v1" activationMode: type: string enum: [ATOMIC, BEST_EFFORT, STOP_ON_ERROR] - default : "BEST_EFFORT" + default : BEST_EFFORT description: Specifies the execution behavior when the plan is activated - example: "BEST_EFFORT" - lastModifiedAt: - type: string - format: date-time - description: the last time the plan was modified - example: "2025-03-06T16:50:26-08:00" - validationState: - type: string - enum: [NOT_VALIDATED, VALIDATING, VALID, INVALID] - default : "NOT_VALIDATED" - description: The validation state of the plan. - example: "NOT_VALIDATED" - lastValidatedAt: - type: string - format: date-time - description: last time the plan was validated - example: "2025-03-06T16:50:29-08:00" - configurationContentType: + example: BEST_EFFORT + configChangesContentType: type: string enum: - - application/vnd.3gpp.json-patch+json - - application/vnd.3gpp.yang-patch+json + - YANG + - OPENAPI + default: YANG description: The format/type of the configuration in planConfig - example: "application/vnd.3gpp.yang-patch+json" - planConfig: - description: "The plan configuration changes" - oneOf: - - type: array - items: - $ref: '#/components/schemas/Change' - - type: object - additionalProperties: - $ref: '#/components/schemas/Change' - description: A map of changes. The key of the map shall have the same value as the changeId. - PlanConfigurationDescriptorResponse: - type: object - required: - - id - - activationMode - - lastModifiedAt - - validationState - - configurationContentType - - planConfig - allOf: - - $ref: '#/components/schemas/PlanConfigurationDescriptor' - properties: - _links: - type: object - description: Hypermedia links for plan descriptor - allOf: - - $ref: '#/components/schemas/SelfLink' - example: - self: - href: "{root-url}/ProvMnS/v1/plan-descriptors/pd-001" - templated: true - type: "application/json" - title: "The newly created PlanConfigurationDescriptor" + example: YANG + PlanConfigurationGroupDescriptor: type: object @@ -1240,17 +1240,17 @@ components: default : "BEST_EFFORT" description: Specifies the execution behavior when the plan configuration group is activated example: "BEST_EFFORT" - lastModifiedAt: - type: string - format: date-time - description: the last time the plan was modified - example: "2025-03-06T16:50:26-08:00" validationState: type: string enum: [NOT_VALIDATED, VALIDATING, VALID, INVALID] default : "NOT_VALIDATED" description: The validation state for the last time plan configuration group was validated 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 @@ -1260,42 +1260,92 @@ components: type: array description: list of plan or plan group descriptor identifiers items: - type: object - required: - - identifier - properties: - type: - type: string - enum: [PLAN, PLAN_GROUP] - default: PLAN - identifier: - type: string - example: [{"type" : "PLAN", "identifier" : "plan-descriptor-001"}, {"type" : "PLAN_GROUP", "identifier" : "plan-group-descriptor-001"}] - - FallbackConfigurationDescriptor: + $ref: '#/components/schemas/Member' + example: + - planConfigDescrId: pcd-network-101 + - planConfigGroupDescrId: pgc-europe-east-group + - planConfigDescrId: pcd-radio-tuning-005 + - planConfigGroupDescrId: pgc-5g-core-rollout + + PlanConfigurationGroupDescriptorResponse: type: object required: - - configurationContentType - - planConfig - properties: - id: - type: string - description: Unique id of the fallback configuration descriptor - example: "fallback-001" - name: - 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." - customProperties: - type: object + - 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" + + + 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. + 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 ] + + FallbackConfigurationDescriptor: + type: object + required: + - configChangesContentType + - configChanges + properties: + id: + type: string + description: Unique id of the fallback configuration descriptor + example: "fallback-001" + name: + 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." + customProperties: + type: object description: A dynamic set of custom properties provided by client additionalProperties: true example: @@ -1307,24 +1357,26 @@ components: configurationContentType: type: string enum: - - application/vnd.3gpp.json-patch+json - - application/vnd.3gpp.yang-patch+json - description: The format/type of the configuration in planConfig - example: "application/vnd.3gpp.yang-patch+json" - planConfig: - description: "The fallback configuration." + - 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/Change' + $ref: '#/components/schemas/ConfigChange' description: A map of changes. The key of the map shall have the same value as the changeId. + + FallbackConfigurationDescriptorResponse: type: object required: - id - configurationContentType - - planConfig + - fallbackConfig allOf: - $ref: '#/components/schemas/FallbackConfigurationDescriptor' properties: @@ -1335,33 +1387,10 @@ components: - $ref: '#/components/schemas/SelfLink' example: self: - href: "{root-url}/ProvMnS/v1/fallback-descriptors/pd-001" + href: "{root-url}/plan-management/v1/fallback-descriptors/pd-001" templated: true type: "application/json" - title: "The newly created FallbackConfigurationDescriptor" - 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}/ProvMnS/v1/plan-group-descriptors/pgd-001" - templated: true - type: "application/json" - title: "The newly created PlanConfigurationGroupDescriptor" + title: "The newly created FallbackConfigurationDescriptor" TriggerDescriptor: type: object @@ -1461,7 +1490,7 @@ components: - $ref: '#/components/schemas/SelfLink' example: self: - href: "{root-url}/ProvMnS/v1/trigger-descriptors/trigger-001" + href: "{root-url}/plan-management/v1/trigger-descriptors/trigger-001" templated: true type: "application/json" title: "The newly created TriggerDescriptor" @@ -1508,10 +1537,16 @@ components: - id - name - jobState - - ActivationJobRequest: - type: object + + ActivationJob: + type: object + allOf: + - $ref: '#/components/schemas/JobState' properties: + id: + type: string + description: id of the activation job + example: "job-id-3985199134" name: type: string description: Name of the activation job @@ -1522,9 +1557,13 @@ components: example: "Optimize the Dublin area network" mnsConsumerId: type: array - description: The user 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"] + 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 @@ -1538,6 +1577,36 @@ 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: @@ -1563,7 +1632,7 @@ components: techology-type: "NR", indoor: false } - planConfig: + configChanges: ... - type: object # Alt.3 planConfigGroupDescrId required: @@ -1590,162 +1659,146 @@ components: 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 + + ActivationJobRequest: + type: object + allOf: + - $ref: '#/components/schemas/ActivationJob' + example: + { + "name" : "5G-Dublin-East-Rollout", + "description" : "Optimize the 5G network in Dublin East", + "planConfigDescr" : { + "activationMode" : "ATOMIC", + "customProperties" : { + "technology-type": "NR", + "location": "Dublin" + }, + "configChangesContentType" : "application/vnd.3gpp.yang-patch+json", + "configChanges": { + ... + } + } + } - ActivationJob: + ActivationJobResponse: type: object required: - id - - status + - jobState + - jobDetails + - activationState + - activationDetails - isImmediateActivation - isFallbackEnabled - serviceImpact - - jobDetails - - _links - description: An object representing a plan activation job. allOf: - - type: object - properties: - id: - type: string - description: ID of the activation job. - example: "job-id-3985199134" - status: - $ref: '#/components/schemas/ActivationJobStatus' - jobDetails: - $ref: '#/components/schemas/JobDetails' - activationDetails: - allOf: - - $ref: '#/components/schemas/LinkObject' - - type: object - properties: - href: - type: string - description: A URI reference to the activation details. - example: "{apiRoot}/ProvMnS/v1/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" - mnsConsumerId: - type: array - description: The user that created and/or started the job. It may indicate a human user and/or one or more applications initiating the job. E.g. ["userid:janedoe", "appid:12314"]. - items: - type: string - _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}/ProvMnS/v1/activation-jobs/{ActivationJobId}" - title: - type: string - enum: - - "Link to the plan activation job" - method: - type: string - enum: - - "GET" - example: - href: "{apiRoot}/ProvMnS/v1/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' - - type: object - description: A URI reference to the fallback plan descriptor. - example: - href: "{apiRoot}/ProvMnS/v1/plan-descriptors/myjob-111-fallback" - templated: true - type: "application/json" - title: "A URI reference to the fallback plan descriptor" - method: "GET" - additionalProperties: - $ref: '#/components/schemas/LinkObject' - - $ref: '#/components/schemas/ActivationJobRequest' - example: - id: "myjob-111" - name: "5G-Dublin-East-Rollout" - description: "Optimize the 5G network in Dublin East" - isFallbackEnabled: true - serviceImpact: "SHORTEST_TIME" - isImmediateActivation: true - status: - jobState: "RUNNING" - startedAt: "" - activationState: "NOT_STARTED" - jobDetails: {} # Assuming this is a simple object - activationDetails: - href: "{apiRoot}/ProvMnS/v1/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" + - $ref: '#/components/schemas/ActivationJob' + properties: _links: - self: - href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111" - templated: true - type: "application/json" - title: "The newly created activation job" - method: "GET" - planDescriptor: - href: "{apiRoot}/ProvMnS/v1/plan-descriptors/planxyz" - templated: true - type: "application/json" - title: "plan descriptor link" - method: "GET" - status: - href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/status" - templated: true - type: "application/json" - title: "activation status link" - method: "GET" - activation-details: - href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/activation-details" - templated: true - type: "application/json" - title: "activation details link" - method: "GET" - cancel: - href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/cancel-request" - templated: true - type: "application/json" - title: "cancel the job" - method: "PUT" - fallbackPlan: - href: "{apiRoot}/ProvMnS/v1/plan-descriptors/myfallback-plan-111" - templated: true - type: "application/json" - title: "fallback plan descriptor link" - method: "GET" - additionalProperties: true + 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" - ValidationJobRequest: + ValidationJob: type: object - required: - - _links - description: An object representing a plan activation job. + allOf: + - $ref: '#/components/schemas/JobState' properties: + id: + type: string + description: id of the validation job + example: "job-id-3985199134" name: type: string description: Name of the validation job @@ -1754,16 +1807,17 @@ components: type: string description: Human-readable description of the job example: "Optimize the Dublin area network" + mnsConsumerId: + type: array + 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 validationMode: type: string enum: [CONTINUE_ON_ERROR, STOP_ON_ERROR] default : "CONTINUE_ON_ERROR" description: Specifies the execution behavior when the plan is activated - mnsConsumerId: - type: array - description: The user 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 + oneOf: - type: object # Alt.1 planConfigDescrId required: @@ -1789,7 +1843,7 @@ components: techology-type: "NR", indoor: false } - planConfig: + configChanges: ... - type: object # Alt.3 planConfigGroupDescrId required: @@ -1816,187 +1870,146 @@ components: type: string description: Unique id reference to the fallback descriptor to validate example: "planxyz" + additionalProperties : true + + ValidationJobRequest: + type: object + allOf: + - $ref: '#/components/schemas/ValidationJob' example: { - name : "5G-Dublin-East-Rollout", - description : "Optimize the 5G network in Dublin East", - planConfigDescrId : "plan-descriptor-001", - } - additionalProperties : true - - ValidationJob: + "name" : "5G-Dublin-East-Rollout", + "description" : "Optimize the 5G network in Dublin East", + "planDescriptor" : { + "activationMode" : "ATOMIC", + "customProperties" : { + "technology-type": "NR", + "location": "Dublin" + }, + "configChanges": { + ... + } + } + } + + ValidationJobResponse: type: object required: - id - - status + - jobState - jobDetails + - validationState - validationDetails - - _links - allOf: - - $ref: '#/components/schemas/ValidationJobRequest' - - type: object - properties: - id: - type: string - description: id of the validation job - example: "job-id-3985199134" - status: - allOf: - - $ref: '#/components/schemas/ValidationJobStatus' - jobDetails: - allOf: - - $ref: '#/components/schemas/JobDetails' - currentConfigTime: - type: string - format: date-time - validationDetails: - allOf: - - $ref: '#/components/schemas/LinkObject' - - type: object - properties: - href: - type: string - title: A URI reference to the validation details - example: "{apiRoot}/ProvMnS/v1/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}/ProvMnS/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}/ProvMnS/v1/validation-jobs/validation-job-001" - title: "Link to the plan validation job" - type: "application/json" - templated: true - method: GET - cencel: - allOf: - - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema - - type: object - properties: - href: - type: string - default: "{apiRoot}/ProvMnS/v1/validation-jobs/{validationJobId}/status" - title: - type: string - enum: - - "Link to the plan validation job" - method: - type: string - enum: - - "PATCH" # This means the method MUST be "GET" - example: - href: "{apiRoot}/ProvMnS/v1/validation-jobs/validation-job-001/status" - title: "Link to the cancel validation job - cancelRequest : true must be in body" - type: "application/json" - templated: true - method: PUT - - - required : - - self - - cancel - # additionalProperties to allow any other dynamic links - additionalProperties: - $ref: '#/components/schemas/LinkObject' - example: - self: - href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111" - templated: true - type: "application/json" - title: "The newly created activation job" - method : "GET" - planDescriptor: - href: "{apiRoot}/ProvMnS/v1/plan-descriptors/planxyz" - templated: true - type: "application/json" - title: "plan descriptor link" - method : "GET" - status: - href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/status" - templated: true - type: "application/json" - title: "activation status link" - method : "GET" - cancel: - href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/status" - templated: true - type: "application/json" - title: "cancel the job" - method : "PATCH" - - example: - { - id : "myjob-111", - name : "5G-Dublin-East-Rollout", - description : "Optimize the 5G network in Dublin East", - isFallbackEnabled : true, - serviceImpact : "SHORTEST_TIME", - isImmediateActivation : true, - status : { - jobState : "RUNNING", - jobDetails : {...}, - startedAt : "", - activationState : "NOT_STARTED" - }, - validationDetails : { - href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/validation-details", - templated: true, - type: "application/json", - title: "The validation details of the plan configuration(s)", - method : "GET" - }, - planConfigDescrId : "plan-descriptor-001", - } - additionalProperties : true - - CancelRequest: - type: object + allOf: + - $ref: '#/components/schemas/ValidationJob' properties: cancelRequest: type: boolean - description: property to cancel the activation/validation job - example: true - - Change: + 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' + 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" + + ConfigChange: type: object properties: - changeId: + modifyOperator: type: string - description: Unique identifier for this change - example: "opId-001" - operation: - type: string - enum: [create, merge, update, delete] + enum: [create, merge, merge-create, delete] description: The operation to perform example: "create" description: @@ -2007,14 +2020,47 @@ components: 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" + 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 + example: "cell-operation-001" value: type: object additionalProperties: true # Allows any nested properties within 'value' - description: Value to apply (for create/update/merge/delete operations) - additionalProperties: true # Allows for any nested properties + description: Value to apply (for create/merge/merge-create operations) + additionalProperties: true # Allows for additional properties to be provided required: - operation - target + + ConfigChangeInResponse: + description: Represents a single change operation that combines a base definition + with mutually exclusive identification methods (ID or Index). + 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 @@ -2029,7 +2075,7 @@ components: properties: href: type: string - default: "{apiRoot}/ProvMnS/v1/plan-descriptors/{planDescriptorId}" + default: "{apiRoot}/plan-management/v1/plan-descriptors/{planDescriptorId}" title: type: string enum: @@ -2039,7 +2085,7 @@ components: enum: - "GET" # This means the method MUST be "GET" example: - href: "{apiRoot}/ProvMnS/v1/plan-descriptors/plan-descriptor-001" + 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 @@ -2051,7 +2097,7 @@ components: properties: href: type: string - default: "{apiRoot}/ProvMnS/v1/activation-jobs/{jobId}/status" + default: "{apiRoot}/plan-management/v1/plan-activation-jobs/{jobId}/status" title: type: string enum: @@ -2062,7 +2108,7 @@ components: - "GET" # This means the method MUST be "GET" description: A URI reference to the status information example: - href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/status" + href: "{apiRoot}/plan-management/v1/plan-activation-jobs/myjob-111/status" title: "Link to GET the job status" type: "application/json" templated: true @@ -2074,7 +2120,7 @@ components: properties: href: type: string - default: "{apiRoot}/ProvMnS/v1/plan-{job-type}-jobs/{jobId}/status" + default: "{apiRoot}/plan-management/v1/plan-{job-type}-jobs/{jobId}/cancel-request" title: type: string enum: @@ -2082,14 +2128,14 @@ components: method: type: string enum: - - "PATCH" # This means the method MUST be "PATCH" + - "PUT" # This means the method MUST be "PUT" description: A URI reference to cancel the job example: - href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/status" + 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: PATCH + method: POST JobState: type: string @@ -2098,8 +2144,12 @@ components: JobDetails: properties: - jobInformation: + message: type: string + errors: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' additionalProperties: true ActivationJobStatus: @@ -2156,16 +2206,17 @@ components: type: array items: $ref: '#/components/schemas/ChangeStatus' + memberConflicts: + type: array + items: + $ref: '#/components/schemas/MemberConflict' summary: $ref: '#/components/schemas/SummaryStatus' example: { "results": { ...}, - "summary" : { - "unprocessed": 0, - "succeeded": 2, - "failed": 3 - } + "memberConflicts": { ...}, + "summary" : {...} } ValidationState: @@ -2181,6 +2232,10 @@ components: ChangeStatus: type: object properties: + planConfigDescrId: + type: string + description : The schange status may optionally include the planDescriptor Id + example: "descriptor-001" changeId: type: string example: "changeId-001" @@ -2196,12 +2251,8 @@ components: type: array items: $ref: '#/components/schemas/ErrorDetail' - conflicts: - type: array - items: - $ref: '#/components/schemas/Conflict' required: - - changeId # either the changeId from the plan or the array index in the array of Change; + - changeId # either the chanId or the array index in the array of ChangeBaseProperties; - target - state example: @@ -2237,74 +2288,48 @@ components: rollbackFailed: type: integer example: 0 + conflicting: + type: integer + example: 0 - Conflict: + MemberConflict: type: object - allOf: - - $ref: '#/components/schemas/Change' properties: - planDescriptorId: - type: string - change: - $ref: '#/components/schemas/Change' - conflictingChanges: + memberConflict : type: array items: - $ref: '#/components/schemas/ConflictingChange' - example: - { - "planDescriptorId" : "plan-descriptor-001", - "changeId": "optimization-change-A", - "operation": "merge", - "target": "/_3gpp-common-subnetwork:SubNetwork=HQ/NRCellDU=cell-22", - "value" : { - "attributes" : { - "some-attribute-name-a" : "some-attribute-value-b" - } - }, - "conflictingChanges": [ - { - "planDescriptorId": "plan-emergency-fix", - "change": { - "changeId": "fix-power-issue-X", - "operation": "merge", - "target": "/_3gpp-common-subnetwork:SubNetwork=HQ/NRCellDU=cell-22", - "value" : { - "attributes" : { - "some-attribute-name-x" : "some-attribute-value-y" - } - }, - }, - "conflictType": "VALUE_OVERWRITE", - "conflictMessage": "This change attempts to set 'transmitPower' to 45, but 'fix-power-issue-X' from 'plan-emergency-fix' sets it to 40. Only one value can persist.", - "severity": "HIGH" - } - ] - } + $ref: '#/components/schemas/MemberOp' - ConflictingChange: + MemberOp: type: object properties: - planDescriptorId: - type: string - change: - $ref: '#/components/schemas/Change' - conflictType: - type: string - conflictMessage: + planConfigDescrId: type: string - severity: + changeId: type: string - enum: - - LOW - - MEDIUM - - HIGH - - UNKNOWN - default: UNKNOWN + 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: - - change - - conflictType - - severity + - planDescriptorId ErrorDetail: type: object @@ -2313,70 +2338,38 @@ components: type: string description: A short, human-readable summary of the problem type example: "Data already exists; cannot be created" - status: - type: integer - format: int32 - enum: - - 400 - - 403 - - 404 - - 405 - - 406 - - 408 - - 410 - - 411 - - 413 - - 414 - - 415 - - 422 - - 426 - - 429 - - 451 type: type: string description: The type of the error enum: - VALIDATION_ERROR - - REQUEST_OBJECT_TREE_MISMATCH - - IE_NOT_FOUND - - MODIFICATION_NOT_ALLOWED + - ACTIVATION_ERROR - RETRIEVAL_NOT_ALLOWED - - SERVER_LIMITATION - - SERVICE_DISABLED + - MODIFICATION_NOT_ALLOWED + - SERVER_ERROR - APPLICATION_LAYER_ERROR reason: type: string enum: - - RESPONSE_TOO_LARGE - - NO_DATA_ACCESS - - QUERY_MALFORMED - - QUERY_PARAM_NAMES_INVALID - - QUERY_PARAM_VALUES_INVALID - - QUERY_PARAMS_MISSING - - QUERY_PARAMS_INCONSISTENT - - ATTRIBUTES_NOT_READABLE - - QUERY_PARAMS_TOO_COMPLEX - - NEW_ATTRIBUTE_VALUE_INVALID - - NEW_ATTRIBUTE_NAME_INVALID - - ATTRIBUTE_NOT_WRITABLE + - 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 - - OBJECT_CREATION_NOT_ALLOWED - - OBJECT_DELETION_NOT_ALLOWED - - NEW_OBJECT_CLASS_NAME_INVALID - - NEW_OBJECT_REPRESENTATION_INVALID - - NEW_OBJECT_CONTAINMENT_INVALID - - NEW_OBJECTS_ID_EXISTS - - NEW_OBJECTS_PARENT_NOT_FOUND - - NEW_OBJECT_ATTRIBUTE_VALUE_MISSING - - OBJECTS_CARDINALITY_INVALID - - OBJECT_NOT_A_LEAF - - OBJECT_NOT_FOUND - - OP_UNKNOWN - - RESOURCE_LOCKED - - SERVICE_LOCKED - - UNKNOWN - example: "UNKNOWN" + - UNKNOWN_OPERATION + - ACCESS_DENIED + - ATTRIBUTE_INDEX_BAD + - REQUEST_OBJECT_TREE_MISMATCH + - OTHER + example: "ACCESS_DENIED" detail: type: string description: A human-readable explanation specific to this occurrence of the problem. @@ -2390,32 +2383,27 @@ components: additionalProperties: true required: - type - - title - - status # 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/RequestObjectTreeMismatchDetails' - - $ref: '#/components/schemas/IENotFoundDetails' - - $ref: '#/components/schemas/ModificationNotAllowedDetails' + - $ref: '#/components/schemas/ActivationErrorDetails' - $ref: '#/components/schemas/RetrievalNotAllowedDetails' - - $ref: '#/components/schemas/ServerLimitationDetails' - - $ref: '#/components/schemas/ServiceDisabledDetails' + - $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' - REQUEST_OBJECT_TREE_MISMATCH: '#/components/schemas/RequestObjectTreeMismatchDetails' - IE_NOT_FOUND: '#/components/schemas/IENotFoundDetails' - MODIFICATION_NOT_ALLOWED: '#/components/schemas/ModificationNotAllowedDetails' + ACTIVATION_ERROR: '#/components/schemas/ActivationErrorDetails' RETRIEVAL_NOT_ALLOWED: '#/components/schemas/RetrievalNotAllowedDetails' - SERVER_LIMITATION: '#/components/schemas/ServerLimitationDetails' - SERVICE_DISABLED: '#/components/schemas/ServiceDisabledDetails' + MODIFICATION_NOT_ALLOWED: '#/components/schemas/ModificationNotAllowedDetails' + SERVER_ERROR: '#/components/schemas/ServerErrorDetails' APPLICATION_LAYER_ERROR: '#/components/schemas/ApplicationLayerErrorDetails' # Individual schemas for each specific error type @@ -2428,48 +2416,16 @@ components: title: type: string enum: ["Validation Error"] - status: - type: integer - enum: [400] - - RequestObjectTreeMismatchDetails: - type: object - properties: - type: - type: string - enum: [REQUEST_OBJECT_TREE_MISMATCH] - title: - type: string - enum: ["Request Object Tree Mismatch"] - status: - type: integer - enum: [422] - IENotFoundDetails: + ActivationErrorDetails: type: object properties: type: type: string - enum: [IE_NOT_FOUND] + enum: [ACTIVATION_ERROR] title: type: string - enum: ["Information Element Not Found"] - status: - type: integer - enum: [400] - - ModificationNotAllowedDetails: - type: object - properties: - type: - type: string - enum: [MODIFICATION_NOT_ALLOWED] - title: - type: string - enum: ["Modification Not Allowed"] - status: - type: integer - enum: [403] + enum: ["Activation Error"] RetrievalNotAllowedDetails: type: object @@ -2480,35 +2436,26 @@ components: title: type: string enum: ["Retrieval Not Allowed"] - status: - type: integer - enum: [403] - ServerLimitationDetails: + ModificationNotAllowedDetails: type: object properties: type: type: string - enum: [SERVER_LIMITATION] + enum: [MODIFICATION_NOT_ALLOWED] title: type: string - enum: ["Server Limitation"] - status: - type: integer - enum: [500] + enum: ["Modification Not Allowed"] - ServiceDisabledDetails: + ServerErrorDetails: type: object properties: type: type: string - enum: [SERVICE_DISABLED] + enum: [SERVER_ERROR] title: type: string - enum: ["Service Disabled"] - status: - type: integer - enum: [503] + enum: ["Service Error"] ApplicationLayerErrorDetails: type: object @@ -2519,9 +2466,6 @@ components: title: type: string enum: ["Application Layer Error"] - status: - type: integer - enum: [500] LinkObject: type: object @@ -2563,7 +2507,7 @@ components: - self example: # demonstrates a typical _links object in an actual response self: - href: "{root-url}/ProvMnS/v1/plan-descriptors/pd-001" + href: "{root-url}/plan-management/v1/plan-descriptors/pd-001" templated: true type: "application/json" title: "The newly created PlanConfigurationDescriptor" @@ -2578,7 +2522,7 @@ components: AddNrCellChange: summary: Add a new NR Cell (create operation) value: - operation: create + 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 @@ -2587,16 +2531,16 @@ components: UpdateNrCellChange: summary: Update an existing NR Cell (merge operation) value: - operation: update + 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 (remove operation) + summary: Remove an NR Cell (delete operation) value: - operation: delete + 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 -- GitLab From 096a91572d6b65b026609c97a5d8b679ee91c006 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:11:02 +0000 Subject: [PATCH 62/93] Replace TS28623_ComDefs.yaml --- OpenAPI/TS28623_ComDefs.yaml | 59 ++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28623_ComDefs.yaml b/OpenAPI/TS28623_ComDefs.yaml index 71d88b74..d6a21ffb 100755 --- a/OpenAPI/TS28623_ComDefs.yaml +++ b/OpenAPI/TS28623_ComDefs.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Common Type Definitions - version: 19.5.0 + version: 19.6.0 description: >- OAS 3.0.1 specification of common type definitions in the Generic NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -58,7 +58,16 @@ components: format: float minimum: -180 maximum: 180 - + GeoCircle: + description: This datatype is specifies the geographical area for NTN + type: object + properties: + referenceLocation: + $ref: '#/components/schemas/GeoCoordinate' + distanceRadius: + type: integer + minimum: 1 + maximum: 65535 Dn: description: This datatype is used for writable attribute type: string @@ -148,6 +157,46 @@ components: $ref: '#/components/schemas/DateTimeRo' endTime: $ref: '#/components/schemas/DateTimeRo' + EventTriggerConfig: + description: This defines the configuration parameters of trigger event used for M10 measurement in NR. For details, please refer to TS 32.422 subclause 5.10.X. + type: object + properties: + eventType: + type: string + enum: + - eventA1 + - eventA2 + thresholdRAN: + type: integer + minimum: 0 + maximum: 127 + measurementQuantityRAN: + type: string + enum: + - RSRP + hysteresisRAN: + type: integer + minimum: 0 + maximum: 30 + timeToTriggerRAN: + type: string + enum: + - 0ms + - 40ms + - 64ms + - 80ms + - 100ms + - 128ms + - 160ms + - 256ms + - 320ms + - 480ms + - 512ms + - 640ms + - 1024ms + - 1280ms + - 2560ms + - 5120ms GeoCoordinate: type: object properties: @@ -166,6 +215,10 @@ components: items: $ref: '#/components/schemas/GeoCoordinate' minItems: 1 + - type: object + properties: + geoCircle: + $ref: '#/components/schemas/GeoCircle' GeoAreaToCellMapping: type: object properties: @@ -527,7 +580,7 @@ components: type: string title: type: string - badOP: + badOp: type: string otherProblems: type: array -- GitLab From 7cf8c70e37f29be06a4e34073582a96e51766aac Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:11:32 +0000 Subject: [PATCH 63/93] Replace TS28623_FeatureNrm.yaml with the latest version in R19 --- OpenAPI/TS28623_FeatureNrm.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenAPI/TS28623_FeatureNrm.yaml b/OpenAPI/TS28623_FeatureNrm.yaml index 503f3d7a..a9a9d95a 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.5.0 + version: 19.6.0 description: >- OAS 3.0.1 definition of the Features of NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -23,6 +23,7 @@ components: - $ref: 'TS28318_DsoNrm.yaml#/components/schemas/resources-DSORecovery' - $ref: 'TS28319_MsacNrm.yaml#/components/schemas/resources-msacNrm' - $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_NrNrm.yaml#/components/schemas/resources-nrNrm' - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/resources-5gcNrm' -- GitLab From abfe6247610371ac39ab4dc18ae63a563239ea70 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:11:49 +0000 Subject: [PATCH 64/93] Replace TS28623_FileManagementNrm.yaml with the latest version in R19 --- OpenAPI/TS28623_FileManagementNrm.yaml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/OpenAPI/TS28623_FileManagementNrm.yaml b/OpenAPI/TS28623_FileManagementNrm.yaml index 60d44b7f..f5ce2e5d 100644 --- a/OpenAPI/TS28623_FileManagementNrm.yaml +++ b/OpenAPI/TS28623_FileManagementNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: File Management NRM - version: 19.2.0 + version: 19.3.0 description: >- OAS 3.0.1 definition of the File Management NRM fragment © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -94,7 +94,7 @@ components: type: object properties: fileLocation: - type: string + $ref: '#/components/schemas/FileLocation' notificationRecipientAddress: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' cancelJob: @@ -131,8 +131,10 @@ components: attributes: type: object properties: - fileLocation: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' + file: + oneOf: + - $ref: '#/components/schemas/FileLocation' + - $ref: '#/components/schemas/FileContent' fileCompression: type: string readOnly: true @@ -154,14 +156,16 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' fileExpirationTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' - fileContent: - type: string - readOnly: true jobRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' jobId: type: string readOnly: true + FileLocation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' + FileContent: + type: string + readOnly: true -- GitLab From ba6f602697d9a4335f6a31091540b51521758556 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:12:04 +0000 Subject: [PATCH 65/93] Replace TS28623_GenericNrm.yaml with the latest version in R19 --- OpenAPI/TS28623_GenericNrm.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index 82befbe2..2265caf9 100755 --- a/OpenAPI/TS28623_GenericNrm.yaml +++ b/OpenAPI/TS28623_GenericNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Generic NRM - version: 19.5.0 + version: 19.6.0 description: >- OAS 3.0.1 definition of the Generic NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -199,6 +199,14 @@ components: type: array items: $ref: '#/components/schemas/NpnId-Type' + - type: object + properties: + nTNGeoAreaList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + minItems: 1 + maxItems: 8 - type: array items: $ref: '#/components/schemas/NpnId-Type' -- GitLab From 9ea97bff0666d816aa5667befe95e10d2a5464f2 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:12:19 +0000 Subject: [PATCH 66/93] Replace TS28623_MnSRegistryNrm.yaml with the latest version in R19 --- OpenAPI/TS28623_MnSRegistryNrm.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/OpenAPI/TS28623_MnSRegistryNrm.yaml b/OpenAPI/TS28623_MnSRegistryNrm.yaml index bc038623..104ea629 100644 --- a/OpenAPI/TS28623_MnSRegistryNrm.yaml +++ b/OpenAPI/TS28623_MnSRegistryNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: MnS Registry NRM - version: 19.5.0 + version: 19.6.0 description: >- OAS 3.0.1 definition of the MnS Registry NRM fragment © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -37,20 +37,24 @@ components: - FAULT_NOTIFICATION - TRACE_MDT_DATA_COLLECTION_CONTROL - TRACE_MDT_DATA_REPORT + - STM_PROVISIONING + - STM_STREAMING - QOE_DATA_COLLECTION_CONTROL - QOE_DATA_REPORT - FILE_RETRIEVAL - FILE_DOWNLOAD + - CONFIGURATION_PLAN_MGMT - SUBSCRIPTION_CONTROL - HEARTBEAT_CONTROL - HEARTBEAT_NOTIFICATION - - ML_MODEL_MANAGEMENT - MANAGEMENT_DATA_ANALYTIC - RANSC_MANAGEMENT - SON_POLICY - COMMUNICATION_SERVICE_ASSURANCE_CONTROL + - CLOSED_CONTROL_LOOP_MANAGEMENT - INTENT_DRIVEN_MANAGEMENT - ML_MODEL_MANAGEMENT + - NDT_LCM - MNS_REGISTRY_AND_DISCOVERY - MGMTDATA_REGISTRY_AND_DISCOVERY - MNS_ACCESS_CONTROL_MANAGEMENT -- GitLab From fcd5b416884700fc564c5cfcc80fbeda39e0513a Mon Sep 17 00:00:00 2001 From: ruiyue Date: Mon, 15 Dec 2025 08:12:38 +0000 Subject: [PATCH 67/93] Replace TS28623_TraceControlNrm.yaml with the latest version in R19 --- OpenAPI/TS28623_TraceControlNrm.yaml | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28623_TraceControlNrm.yaml b/OpenAPI/TS28623_TraceControlNrm.yaml index a1f304f2..de165e2f 100644 --- a/OpenAPI/TS28623_TraceControlNrm.yaml +++ b/OpenAPI/TS28623_TraceControlNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Trace Control NRM - version: 19.4.0 + version: 19.5.0 description: >- OAS 3.0.1 definition of the Trace Control NRM fragment © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -53,7 +53,7 @@ components: jobType-Type: type: string - description: Specifies whether the TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined Trace and MDT job. Applicable for Trace, MDT, RCEF and RLF reporting. See 3GPP TS 32.422 clause 5.9a for additional details. + description: Specifies whether the TraceJob represents only MDT, Logged MBSFN MDT, Trace or a combined Trace and MDT job, etc. Applicable for Trace, MDT, RCEF, RRC and RLF reporting. See 3GPP TS 32.422 clause 5.9a for additional details. enum: - IMMEDIATE_MDT_ONLY - LOGGED_MDT_ONLY @@ -65,7 +65,9 @@ components: - 5GC_UE_LEVEL_MEASUREMENTS_ONLY - TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS - IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS - - TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS + - TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS + - RRC_REPORT + - IMMEDIATE_MDT_AND_ LOGGED_MDT default: TRACE_ONLY listOfInterfaces-Type: description: The interfaces to be recorded in the Network Element. See 3GPP TS 32.422 clause 5.5 for additional details. @@ -838,6 +840,7 @@ components: - M1_EVENT_TRIGGERED - M8 - M9 + - M10 loggingDuration-Type: description: See details in 3GPP TS 32.422 clause 5.10.9. @@ -1277,6 +1280,15 @@ components: minItems: 0 maxItems: 255 + layerOneRsrpPeriodicity-Type: + description: Periodicity that the UE shall use for the logging of the M10 measurements. See details in 3GPP TS 32.422 clause 5.10.X. + type: integer + enum: + - 2 + - 3 + - 4 + - 5 + traceConfig-Type: description: Trace configuration parameters for NR. See details in 3GPP TS 28.622 clause 4.3.30. type: object @@ -1352,6 +1364,11 @@ components: $ref: '#/components/schemas/positioningMethod-Type' excessPacketDelayThresholds: $ref: '#/components/schemas/excessPacketDelayThresholds-Type' + layerOneRsrpPeriodicity: + $ref: '#/components/schemas/layerOneRsrpPeriodicity-Type' + eventTriggerConfig: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/EventTriggerConfig' + loggedMDTConfig-Type: description: Logged MDT configuration parameters. See details in 3GPP TS 28.622 clause 4.3.30. -- GitLab From 6ca24b885ac1292a2e05d50b1225027a21a9370e Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 28 Jan 2026 13:10:07 +0100 Subject: [PATCH 68/93] made comment config true --- yang-models/_3gpp-common-fm.yang | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index ee2023e3..ef3e27b7 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -12,13 +12,14 @@ module _3gpp-common-fm { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines a Fault Management model - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; + revision 2026-01-24 { reference "CR-0060"; } // common for R19, R20 revision 2025-11-07 { reference "CR-0057"; } revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } - revision 2025-05-01 { reference "CR-0042 CR-0043"; } // common for R18, R19 + revision 2025-05-01 { reference "CR-0042 CR-0043"; } revision 2025-03-25 { reference "CR-0025 CR-0026"; } revision 2024-05-12 { description "The definition of the module was from TS 28.623 to TS 28.111"; @@ -704,7 +705,6 @@ module _3gpp-common-fm { } list comments { - config false ; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; -- GitLab From 4ca55c35ee863f7cf68eae7b5dc145c9b97554ad Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 28 Jan 2026 13:14:16 +0100 Subject: [PATCH 69/93] updated faulty revision date --- yang-models/_3gpp-common-fm.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index ef3e27b7..046aa5a7 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -16,7 +16,7 @@ module _3gpp-common-fm { TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; - revision 2026-01-24 { reference "CR-0060"; } // common for R19, R20 + revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2025-11-07 { reference "CR-0057"; } revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } revision 2025-05-01 { reference "CR-0042 CR-0043"; } -- GitLab From 4d39f8fefceeeb264168f26494b524c7ef9bafec Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 5 Feb 2026 09:12:56 +0100 Subject: [PATCH 70/93] supportedVendorSpecificFeature mapping from rel19 --- yang-models/_3gpp-5g-common-yang-types.yang | 23 ++++++++++++++ .../_3gpp-5gc-nrm-managed-nfprofile.yang | 30 +++++++++++++------ yang-models/_3gpp-5gc-nrm-nfservice.yang | 22 +++++++++++++- 3 files changed, 65 insertions(+), 10 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index e6ddcd22..f57e1b28 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -110,6 +110,29 @@ module _3gpp-5g-common-yang-types { } } + grouping VendorSpecificFeatureGrp { + description "This <> represents the information of vendor + specific feature as defined in clause 6.1.6.2.62 of 3GPP TS 29.510"; + + leaf featureName { + type string; + mandatory true; + config false; + description "It is a string representing a proprietary feature + specific to a given vendor. + It is recommended that the case convention for these strings is the + same as for enumerated data types (i.e. UPPER_WITH_UNDERSCORE; + see 3GPP TS 29.501, clause 5.1.1)."; + } + leaf featureVersion { + type string; + mandatory true; + config false; + description "It is a string representing the version of the feature."; + } + + } + grouping IpInterfaceGrp { leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index e7e5dc38..a2e10ebc 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -579,15 +579,27 @@ grouping ManagedNFProfileGrp { min-elements 1; uses nfs3gpp:NFServiceGrp; } - // leaf supportedVendorSpecificFeatures { - // description "It indicates a map of Vendor-Specific features, where the - // key of the map is the IANA-assigned SMI Network Management Private - // Enterprise Codes and the value of each entry of the map shall be - // a list (array) of VendorSpecificFeature objects as defined - // in the clause 5.3.247."; - // type string; - // min-elements 1; - // } attributeValuePair with no defintion anywhere + list supportedVendorSpecificFeatures { + description "It indicates a map of Vendor-Specific features, where the + key of the map is the IANA-assigned SMI Network Management Private + Enterprise Codes and the value of each entry of the map shall be + a list (array) of VendorSpecificFeature objects as defined + in the clause 5.3.247."; + key "enterpriseCode"; + + leaf enterpriseCode { + type uint32; + description "IANA-assigned SMI Network Management Private Enterprise Code"; + } + + list vendorSpecificFeature { + key "featureName"; + config false; + description "VendorSpecificFeature objects as defined + in the clause 5.3.247."; + uses types5g3gpp:VendorSpecificFeatureGrp; + } + } list selectionConditions { description "Identifications of Credentials Holder or Default Credentials diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 2577809c..8feb09eb 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -220,7 +220,27 @@ module _3gpp-5gc-nrm-nfservice { pattern '[A-Fa-f0-9]*'; } } - + list supportedVendorSpecificFeatures { + description "It indicates a map of Vendor-Specific features, where the + key of the map is the IANA-assigned SMI Network Management Private + Enterprise Codes and the value of each entry of the map shall be + a list (array) of VendorSpecificFeature objects as defined + in the clause 5.3.247."; + key "enterpriseCode"; + + leaf enterpriseCode { + type uint32; + description "IANA-assigned SMI Network Management Private Enterprise Code"; + } + + list vendorSpecificFeature { + key "featureName"; + config false; + description "VendorSpecificFeature objects as defined + in the clause 5.3.247."; + uses types5g3gpp:VendorSpecificFeatureGrp; + } + } grouping ipEndPoint { choice address { leaf ipv4Address { -- GitLab From ecb39e9f6195c2a9d6e0cc6c1133c8c764fcf103 Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 5 Feb 2026 09:24:03 +0100 Subject: [PATCH 71/93] corect lint errors and revision --- yang-models/_3gpp-5g-common-yang-types.yang | 24 ++++++++++++------- .../_3gpp-5gc-nrm-managed-nfprofile.yang | 6 +++-- yang-models/_3gpp-5gc-nrm-nfservice.yang | 4 +++- yang-models/_3gpp-common-fm.yang | 1 + 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index f57e1b28..0b96e49c 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -15,6 +15,7 @@ module _3gpp-5g-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2025-11-07 { reference CR-1640 ; } revision 2025-11-02 { reference CR-1658 ; } revision 2025-07-25 { reference CR-1558 ; } @@ -514,12 +515,14 @@ module _3gpp-5g-common-yang-types { grouping CaraConfigurationGrp { description "This data type represents the configuration used for mobile - NR node (e.g., IAB-node, MWAB-node) to perform certificate enrolment procedure with - Certification Authority server (CA/RA) as specified in TS 28.315 clause 5.3"; + NR node (e.g., IAB-node, MWAB-node) to perform certificate enrolment + procedure with Certification Authority server (CA/RA) as specified in + TS 28.315 clause 5.3"; leaf caraAddress { type inet:host; - description "IP address or FQDN of the CMP (Certificate Management Protocol) server"; + description "IP address or FQDN of the CMP (Certificate Management + Protocol) server"; } leaf portNumber { @@ -560,15 +563,17 @@ module _3gpp-5g-common-yang-types { grouping MnrOamIPConfigGrp { description "This data type includes the configutation for OAM connectivity - used for mobile NR node (e.g., IAB-node, MWAB-node) to establish connection with + used for mobile NR node (e.g., IAB-node, MWAB-node) to establish + connection with management system. The configuration attributes include: Configuration of certification authority (CA/RA) server, Configuration of security gateway (SeGW), and Configuration of software configuration server (SCS)"; list caraConfiguration { - description "configuration used for mobile NR node (e.g., IAB-node, MWAB-node) - to perform certificate enrolment procedure as specified in TS 28.315."; + description "configuration used for mobile NR node (e.g., IAB-node, + MWAB-node) to perform certificate enrolment procedure as specified + in TS 28.315."; uses CaraConfigurationGrp; max-elements 1; key caraAddress; @@ -598,7 +603,8 @@ module _3gpp-5g-common-yang-types { leaf gNBId { type int64 { range "0..4294967295"; } - description "It is either the gNB ID of the IAB-donor-CU that target IAB-DU + description "It is either the gNB ID of the IAB-donor-CU that target + IAB-DU connects to or the gNB Id of the IAB-nonor-CU that serves IAB-MT, or the gNBId of the gNB that serves MWAB-UE."; } @@ -627,8 +633,8 @@ module _3gpp-5g-common-yang-types { key idx; leaf idx { type string; } max-elements 1; - description "It is the TAI (see subclause 9.3.3.11 in TS 38.413) pertaining - to the cells where IAB-MT or MWAB-UE is connected"; + description "It is the TAI (see subclause 9.3.3.11 in TS 38.413) + pertaining to the cells where IAB-MT or MWAB-UE is connected"; } list geoArea { uses types3gpp:GeoAreaGrp; diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index a2e10ebc..0cc65323 100755 --- a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -17,7 +17,8 @@ Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; -revision 2025-07-25 { reference CR-1558 ; } + revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 + revision 2025-07-25 { reference CR-1558 ; } revision 2025-07-25 { reference "initial revision"; } grouping SPNInfoIdGrp { @@ -589,7 +590,8 @@ grouping ManagedNFProfileGrp { leaf enterpriseCode { type uint32; - description "IANA-assigned SMI Network Management Private Enterprise Code"; + description "IANA-assigned SMI Network Management Private + Enterprise Code"; } list vendorSpecificFeature { diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 8feb09eb..8ca29a70 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -16,6 +16,7 @@ module _3gpp-5gc-nrm-nfservice { TTA, TTC). All rights reserved."; reference "3GPP TS 29.510"; + revision 2026-01-25 { reference "CR-0060"; } // common for R19, R20 revision 2025-01-25 { reference CR-1442; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-01-25 { reference CR-0454 ; } @@ -230,7 +231,8 @@ module _3gpp-5gc-nrm-nfservice { leaf enterpriseCode { type uint32; - description "IANA-assigned SMI Network Management Private Enterprise Code"; + description "IANA-assigned SMI Network Management Private + Enterprise Code"; } list vendorSpecificFeature { diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index 046aa5a7..c2d3faa3 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -705,6 +705,7 @@ module _3gpp-common-fm { } list comments { + config false; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; -- GitLab From d421e4e2b7f89e76e748f472131c7b7bac1a628d Mon Sep 17 00:00:00 2001 From: rosabolzek Date: Thu, 5 Feb 2026 09:58:25 +0100 Subject: [PATCH 72/93] correct linterror --- yang-models/_3gpp-common-fm.yang | 1 - 1 file changed, 1 deletion(-) diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index c2d3faa3..046aa5a7 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -705,7 +705,6 @@ module _3gpp-common-fm { } list comments { - config false; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; -- GitLab From 591b4f378db0aa20077a1e7a5294638f39817219 Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 9 Feb 2026 05:25:07 +0100 Subject: [PATCH 73/93] Made Ephemeris readWrite to follow stage-2 --- yang-models/_3gpp-nr-nrm-ntnfunction.yang | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-ntnfunction.yang b/yang-models/_3gpp-nr-nrm-ntnfunction.yang index 43e2a86e..c4c4db92 100644 --- a/yang-models/_3gpp-nr-nrm-ntnfunction.yang +++ b/yang-models/_3gpp-nr-nrm-ntnfunction.yang @@ -15,10 +15,11 @@ module _3gpp-nr-nrm-ntnfunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Implements support the C-SON function of Capacity and Coverage optimization . - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2026-02-02 { reference CR-1683; } revision 2025-03-27 { reference CR-1512; } revision 2025-02-17 { reference CR-1479 ; } revision 2024-05-24 { reference CR-1273 ; } @@ -40,7 +41,6 @@ module _3gpp-nr-nrm-ntnfunction { type uint32 { range 0..604800; } - config false; default 0; units meter; description "X, Y, Z coordinate of satellite position state vector @@ -52,7 +52,6 @@ module _3gpp-nr-nrm-ntnfunction { type uint32 { range 0..604800; } - config false; default 0; units meter; description "X, Y, Z coordinate of satellite position state vector @@ -64,7 +63,6 @@ module _3gpp-nr-nrm-ntnfunction { type uint32 { range 0..604800; } - config false; default 0; units meter; description "X, Y, Z coordinate of satellite position state vector @@ -76,7 +74,6 @@ module _3gpp-nr-nrm-ntnfunction { type int32 { range -131072..131071; } - config false; default 0; units meter/second; description "X, Y, Z coordinate of satellite velocity state vector @@ -88,7 +85,6 @@ module _3gpp-nr-nrm-ntnfunction { type int32 { range -131072..131071; } - config false; default 0; units meter/second; description "X, Y, Z coordinate of satellite velocity state vector @@ -100,7 +96,6 @@ module _3gpp-nr-nrm-ntnfunction { type int32 { range -131072..131071; } - config false; default 0; units meter/second; description "X, Y, Z coordinate of satellite velocity state vector @@ -117,7 +112,6 @@ module _3gpp-nr-nrm-ntnfunction { type uint64 { range 0..8589934591; } - config false; default 0; units meter; description "Satellite orbital parameter: semi major axis alpha, @@ -130,7 +124,6 @@ module _3gpp-nr-nrm-ntnfunction { type int32 { range -524288..524287; } - config false; default 0; description "Satellite orbital parameter: eccentricity e, see NIMA TR 8350.2. @@ -142,7 +135,6 @@ module _3gpp-nr-nrm-ntnfunction { type uint32 { range 0..16777215; } - config false; default 0; units radian; description "Satellite orbital parameter: argument of periapsis omega, @@ -155,7 +147,6 @@ module _3gpp-nr-nrm-ntnfunction { type uint32 { range 0..2097151; } - config false; default 0; units radian; description "Satellite orbital parameter: longitude of ascending node @@ -168,7 +159,6 @@ module _3gpp-nr-nrm-ntnfunction { type int32 { range -524288..524287; } - config false; default 0; units radian; description "Satellite orbital parameter: inclination i, @@ -181,7 +171,6 @@ module _3gpp-nr-nrm-ntnfunction { type uint32 { range 0..16777215; } - config false; default 0; units radian; description "Satellite orbital parameter: Mean anomaly M at epoch time, @@ -201,7 +190,6 @@ module _3gpp-nr-nrm-ntnfunction { type string { pattern "00([01][0-9][0-9])|(2[0-4][0-9]|(25[0-5]))"; } - config false; description "This attribute indicates satellite Id.number. It shall be formatted as a fixed 5-digit string, padding with leading digits '0' to complete a 5-digit length. @@ -210,7 +198,6 @@ module _3gpp-nr-nrm-ntnfunction { leaf epochTime { type yang:date-and-time; - config false; description "It defines the ephemeris reference time."; } @@ -219,7 +206,8 @@ module _3gpp-nr-nrm-ntnfunction { description "It indicates ephemeris is in format of NTN payload position and velocity state vectors."; max-elements 1; - config false; + key idx; + leaf idx { type uint32; } uses PositionVelocityGrp; } @@ -227,7 +215,8 @@ module _3gpp-nr-nrm-ntnfunction { description "It indicates ephemeris is in orbital parameter ephemeris format, as specified in NIMA TR 8350.2"; max-elements 1; - config false; + key idx; + leaf idx { type uint32; } uses OrbitalGrp; } } -- GitLab From bb9d7824777c5cf433a4977ce6d1ad189324854e Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 9 Feb 2026 05:35:14 +0100 Subject: [PATCH 74/93] Update CR info to indicate common r19,20 yam --- yang-models/_3gpp-nr-nrm-ntnfunction.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yang-models/_3gpp-nr-nrm-ntnfunction.yang b/yang-models/_3gpp-nr-nrm-ntnfunction.yang index c4c4db92..d0a35a2d 100644 --- a/yang-models/_3gpp-nr-nrm-ntnfunction.yang +++ b/yang-models/_3gpp-nr-nrm-ntnfunction.yang @@ -19,7 +19,7 @@ module _3gpp-nr-nrm-ntnfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2026-02-02 { reference CR-1683; } + revision 2026-02-02 { reference "CR-1682 CR-1683"; } //Common in r19, r20 revision 2025-03-27 { reference CR-1512; } revision 2025-02-17 { reference CR-1479 ; } revision 2024-05-24 { reference CR-1273 ; } -- GitLab From ce74b0fd74736ef2c8f9d665283ef70cb775eded Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Mon, 9 Feb 2026 05:41:19 +0100 Subject: [PATCH 75/93] Yang 3gpp check corrrections --- yang-models/_3gpp-nr-nrm-ntnfunction.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yang-models/_3gpp-nr-nrm-ntnfunction.yang b/yang-models/_3gpp-nr-nrm-ntnfunction.yang index d0a35a2d..53095b40 100644 --- a/yang-models/_3gpp-nr-nrm-ntnfunction.yang +++ b/yang-models/_3gpp-nr-nrm-ntnfunction.yang @@ -278,7 +278,6 @@ module _3gpp-nr-nrm-ntnfunction { key idx; leaf idx { type uint32 ; } uses NTNEntityConfigGrp; - min-elements 0; description "It contains a list of configuration updates to be applied to specified NTN entities."; } @@ -318,7 +317,8 @@ module _3gpp-nr-nrm-ntnfunction { EP_NgC, NRCellCU, NRCellDU, NRSectorCarrier, SectorEquipmentFunction, and NRCellRelation. The IP Configuration of the feeder links may be configured via IP Autoconfiguration services [x] and/or configured via - instances of NTNTimeBasedConfig in anticipation of feeder link switchovers."; + instances of NTNTimeBasedConfig in anticipation of feeder link + switchovers."; key id; max-elements 1; uses top3gpp:Top_Grp; -- GitLab From 53a1df17e59e3858e356416afc2d720a5a7a123e Mon Sep 17 00:00:00 2001 From: "U-ERICSSON\\ETHBLL" Date: Wed, 11 Feb 2026 23:54:21 +0530 Subject: [PATCH 76/93] listofinterfaces --- yang-models/_3gpp-common-trace.yang | 138 ++++++++++++++++++---------- 1 file changed, 88 insertions(+), 50 deletions(-) diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index d9affd7e..8eeee60b 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -14,7 +14,7 @@ module _3gpp-common-trace { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Trace handling - Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -25,8 +25,9 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; - revision 2025-11-07 { reference "CR-0553" ; } - revision 2025-10-07 { reference "CR-0573" ; } // common for rel-19, rel-20 + revision 2026-02-08 { reference "CR-1683" ; } + revision 2025-11-07 { reference "CR-0553" ; } + revision 2025-10-07 { reference "CR-0573" ; } revision 2025-10-01 { reference "CR-0578" ; } revision 2025-08-07 { reference "CR-0551 CR-0552 CR-0562" ; } revision 2025-05-07 { reference "CR-0532 CR-0536 CR-0540" ; } @@ -196,18 +197,7 @@ module _3gpp-common-trace { attribute triggeringEvents. For each triggering event the first and last message (start/stop triggering event) to record are specified."; - list listOfInterfaces { - key idx; - - description "Specifies the interfaces that need to be traced in the given - ManagedEntityFunction.The attribute is applicable only for Trace. In - case this attribute is not used, it carries a null semantic."; - reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the - allowed values."; - - leaf idx { type uint32 ; } - - leaf-list MSCServerInterfaces { + typedef MSCServerInterfaces { type enumeration { enum A ; enum Iu-CS ; @@ -221,14 +211,14 @@ module _3gpp-common-trace { enum CAP ; } } - leaf-list MGWInterfaces { + typedef MGWInterfaces { type enumeration { enum Mc ; enum Nb-UP ; enum Iu-UP ; } } - leaf-list RNCInterfaces { + typedef RNCInterfaces { type enumeration { enum Iu-CS ; enum Iu-PS ; @@ -237,7 +227,7 @@ module _3gpp-common-trace { enum Uu ; } } - leaf-list SGSNInterfaces { + typedef SGSNInterfaces { type enumeration { enum Gb ; enum Iu-PS ; @@ -253,14 +243,14 @@ module _3gpp-common-trace { enum S13 ; } } - leaf-list GGSNInterfaces { + typedef GGSNInterfaces { type enumeration { enum Gn ; enum Gi ; enum Gmb ; } } - leaf-list S-CSCFInterfaces { + typedef S-CSCFInterfaces { type enumeration { enum Mw ; enum Mg ; @@ -268,13 +258,13 @@ module _3gpp-common-trace { enum Mi ; } } - leaf-list P-CSCFInterfaces { + typedef P-CSCFInterfaces { type enumeration { enum Gm ; enum Mw ; } } - leaf-list I-CSCFInterfaces { + typedef I-CSCFInterfaces { type enumeration { enum Cx ; enum Dx ; @@ -282,26 +272,26 @@ module _3gpp-common-trace { enum Mw ; } } - leaf-list MRFCInterfaces { + typedef MRFCInterfaces { type enumeration { enum Mp ; enum Mr ; } } - leaf-list MGCFInterfaces { + typedef MGCFInterfaces { type enumeration { enum Mg ; enum Mj ; enum Mn ; } } - leaf-list IBCFInterfaces { + typedef IBCFInterfaces { type enumeration { enum Ix ; enum Mx ; } } - leaf-list E-CSCFInterfaces { + typedef E-CSCFInterfaces { type enumeration { enum Mw ; enum Ml ; @@ -309,14 +299,14 @@ module _3gpp-common-trace { enum Mi-Mg ; } } - leaf-list BGCFInterfaces { + typedef BGCFInterfaces { type enumeration { enum Mi ; enum Mj ; enum Mk ; } } - leaf-list ASInterfaces { + typedef ASInterfaces { type enumeration { enum Dh ; enum Sh ; @@ -324,7 +314,7 @@ module _3gpp-common-trace { enum Ut ; } } - leaf-list HSSInterfaces { + typedef HSSInterfaces { type enumeration { enum MAP-C ; enum MAP-D ; @@ -336,19 +326,19 @@ module _3gpp-common-trace { enum Sh ; } } - leaf-list EIRInterfaces { + typedef EIRInterfaces { type enumeration { enum MAP-F ; enum S13 ; enum MAP-Gf ; } } - leaf-list BM-SCInterfaces { + typedef BM-SCInterfaces { type enumeration { enum Gmb ; } } - leaf-list MMEInterfaces { + typedef MMEInterfaces { type enumeration { enum S1-MME ; enum S3 ; @@ -358,7 +348,7 @@ module _3gpp-common-trace { enum S13 ; } } - leaf-list SGWInterfaces { + typedef SGWInterfaces { type enumeration { enum S4 ; enum S5 ; @@ -367,7 +357,7 @@ module _3gpp-common-trace { enum Gxc ; } } - leaf-list PDN_GWInterfaces { + typedef PDN_GWInterfaces { type enumeration { enum S2a ; enum S2b ; @@ -379,13 +369,13 @@ module _3gpp-common-trace { enum SGi ; } } - leaf-list eNBInterfaces { + typedef eNBInterfaces { type enumeration { enum S1-MME ; enum X2 ; } } - leaf-list en-gNBInterfaces { + typedef en-gNBInterfaces { type enumeration { enum S1-MME ; enum X2 ; @@ -394,7 +384,7 @@ module _3gpp-common-trace { enum E1 ; } } - leaf-list AMFInterfaces { + typedef AMFInterfaces { type enumeration { enum N1 ; enum N2 ; @@ -408,38 +398,38 @@ module _3gpp-common-trace { enum N26 ; } } - leaf-list AUSFInterfaces { + typedef AUSFInterfaces { type enumeration { enum N12 ; enum N13 ; } } - leaf-list NEFInterfaces { + typedef NEFInterfaces { type enumeration { enum N29 ; enum N30 ; enum N33 ; } } - leaf-list NRFInterfaces { + typedef NRFInterfaces { type enumeration { enum N27 ; } } - leaf-list NSSFInterfaces { + typedef NSSFInterfaces { type enumeration { enum N22 ; enum N31 ; } } - leaf-list PCFInterfaces { + typedef PCFInterfaces { type enumeration { enum N5 ; enum N7 ; enum N15 ; } } - leaf-list SMFInterfaces { + typedef SMFInterfaces { type enumeration { enum N4 ; enum N7 ; @@ -451,13 +441,13 @@ module _3gpp-common-trace { enum N16a ; } } - leaf-list SMSFInterfaces { + typedef SMSFInterfaces { type enumeration { enum N20 ; enum N21 ; } } - leaf-list UDMInterfaces { + typedef UDMInterfaces { type enumeration { enum N8 ; enum N10 ; @@ -465,19 +455,19 @@ module _3gpp-common-trace { enum N21 ; } } - leaf-list UPFInterfaces { + typedef UPFInterfaces { type enumeration { enum N4 ; } } - leaf-list ng-eNBInterfaces { + typedef ng-eNBInterfaces { type enumeration { enum NG-C ; enum Xn-C ; enum Uu ; } } - leaf-list gNB-CU-CPInterfaces { + typedef gNB-CU-CPInterfaces { type enumeration { enum NG-C ; enum Xn-C ; @@ -487,16 +477,64 @@ module _3gpp-common-trace { enum X2-C ; } } - leaf-list gNB-CU-UPInterfaces { + typedef gNB-CU-UPInterfaces { type enumeration { enum E1 ; } } - leaf-list gNB-DUInterfaces { + typedef gNB-DUInterfaces { type enumeration { enum F1-C ; } } + + + + leaf-list listOfInterfaces { + type union { + type MSCServerInterfaces; + type MGWInterfaces; + type RNCInterfaces; + type SGSNInterfaces; + type GGSNInterfaces; + type S-CSCFInterfaces; + type P-CSCFInterfaces; + type I-CSCFInterfaces; + type MRFCInterfaces; + type MGCFInterfaces; + type IBCFInterfaces; + type E-CSCFInterfaces; + type BGCFInterfaces; + type ASInterfaces; + type HSSInterfaces; + type EIRInterfaces; + type BM-SCInterfaces; + type MMEInterfaces; + type SGWInterfaces; + type PDN_GWInterfaces; + type eNBInterfaces; + type en-gNBInterfaces; + type AMFInterfaces; + type AUSFInterfaces; + type NEFInterfaces; + type NRFInterfaces; + type NSSFInterfaces; + type PCFInterfaces; + type SMFInterfaces; + type SMSFInterfaces; + type UDMInterfaces; + type UPFInterfaces; + type ng-eNBInterfaces; + type gNB-CU-CPInterfaces; + type gNB-CU-UPInterfaces; + type gNB-DUInterfaces; + } + description "Specifies the interfaces that need to be traced in the given + ManagedEntityFunction.The attribute is applicable only for Trace. In + case this attribute is not used, it carries a null semantic."; + reference "Clause 5.5 of 3GPP TS 32.422 for additional details on the + allowed values."; + } leaf-list listOfNeTypes { -- GitLab From 3d92a3d0eea0570a59f2cd13e4c7f294933165cc Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:48:20 +0000 Subject: [PATCH 77/93] Replace TS28541_5GcNrm.yaml --- OpenAPI/TS28541_5GcNrm.yaml | 73 +++++++++++++++++++++++++++++++++++-- 1 file changed, 69 insertions(+), 4 deletions(-) diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index bca07852..c937d623 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 -- GitLab From de70f539e96b2b774ab7d2517532ad4ef4fde3a3 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:49:31 +0000 Subject: [PATCH 78/93] Replace TS28623_ExternalDataMgmtNrm.yaml --- OpenAPI/TS28623_ExternalDataMgmtNrm.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml index 8dedab4e..12d5bea5 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 -- GitLab From 7400210b43cff566ad1d8859f2be4a71feeec15b Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:49:45 +0000 Subject: [PATCH 79/93] Replace TS28623_GenericNrm.yaml --- OpenAPI/TS28623_GenericNrm.yaml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index 2265caf9..63895f7d 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 -- GitLab From 45497a904ff024d92cc561b48b1e4dbc9ac62ef4 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:50:02 +0000 Subject: [PATCH 80/93] Replace TS28623_ManagementDataCollectionNrm.yaml --- .../TS28623_ManagementDataCollectionNrm.yaml | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml index 771db70c..62d1b00a 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: -- GitLab From ad2ff11e257348058836faad9685233783698c4b Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:50:11 +0000 Subject: [PATCH 81/93] Replace TS28623_ManagementDataCollectionNrm.yaml -- GitLab From 5d9a0f6c442df8840fca97f9247ecab92a3ebbb7 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:50:22 +0000 Subject: [PATCH 82/93] Replace TS28623_MnSRegistryNrm.yaml --- OpenAPI/TS28623_MnSRegistryNrm.yaml | 44 +++++++++++++++++++---------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/OpenAPI/TS28623_MnSRegistryNrm.yaml b/OpenAPI/TS28623_MnSRegistryNrm.yaml index 104ea629..ac75dcdf 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: -- GitLab From 66d09795e37f2ad5251fc62d456067326f3a9d62 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:50:41 +0000 Subject: [PATCH 83/93] Replace TS29571_CommonData.yaml --- OpenAPI/TS29571_CommonData.yaml | 6422 +++++++++++++++++++++++++++---- 1 file changed, 5577 insertions(+), 845 deletions(-) diff --git a/OpenAPI/TS29571_CommonData.yaml b/OpenAPI/TS29571_CommonData.yaml index 86a4a4de..761fcd3f 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: -- GitLab From ea96b6f1ca7986f51b828adb56ed6a4d7d68b73f Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:51:15 +0000 Subject: [PATCH 84/93] Upload New File --- OpenAPI/TS28541_GenericRanNrm.yaml | 101 +++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 OpenAPI/TS28541_GenericRanNrm.yaml diff --git a/OpenAPI/TS28541_GenericRanNrm.yaml b/OpenAPI/TS28541_GenericRanNrm.yaml new file mode 100644 index 00000000..64dccff9 --- /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' + -- GitLab From 57263404b8ace46611a2c0c78750deaf97ce52ef Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:53:23 +0000 Subject: [PATCH 85/93] Replace TS28623_TraceControlNrm.yaml --- OpenAPI/TS28623_TraceControlNrm.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/OpenAPI/TS28623_TraceControlNrm.yaml b/OpenAPI/TS28623_TraceControlNrm.yaml index de165e2f..6e691212 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: -- GitLab From 5d91bb5e8294e7093b1697fedcac89652e5b0945 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:53:55 +0000 Subject: [PATCH 86/93] Replace TS28105_AiMlNrm.yaml --- OpenAPI/TS28105_AiMlNrm.yaml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/OpenAPI/TS28105_AiMlNrm.yaml b/OpenAPI/TS28105_AiMlNrm.yaml index 4dd21ebf..66062222 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: -- GitLab From 0b180104c34062f0b4308e5ed80a7644cc635e22 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:54:06 +0000 Subject: [PATCH 87/93] Replace TS28312_IntentNrm.yaml --- OpenAPI/TS28312_IntentNrm.yaml | 73 ++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 17 deletions(-) diff --git a/OpenAPI/TS28312_IntentNrm.yaml b/OpenAPI/TS28312_IntentNrm.yaml index c751a6ce..8a87834c 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 -- GitLab From c52a6ab114605d54c58c249b76479216abfd0387 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:54:36 +0000 Subject: [PATCH 88/93] Replace TS28561_NdtNrm.yaml --- OpenAPI/TS28561_NdtNrm.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/OpenAPI/TS28561_NdtNrm.yaml b/OpenAPI/TS28561_NdtNrm.yaml index 31d58a42..42565ff5 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.21.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 ---------------# -- GitLab From 80582df6c3e8969f197d476168a8ecf5dd672c57 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 08:54:47 +0000 Subject: [PATCH 89/93] Replace TS28572_PlanManagement.yaml --- OpenAPI/TS28572_PlanManagement.yaml | 2131 +++++++++++++-------------- 1 file changed, 1024 insertions(+), 1107 deletions(-) diff --git a/OpenAPI/TS28572_PlanManagement.yaml b/OpenAPI/TS28572_PlanManagement.yaml index 312cf8bd..b391301d 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 -- GitLab From af8f17abd3634786b8ab63d6a67914cc39dde48e Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 09:24:07 +0000 Subject: [PATCH 90/93] Replace TS28623_FeatureNrm.yaml --- OpenAPI/TS28623_FeatureNrm.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OpenAPI/TS28623_FeatureNrm.yaml b/OpenAPI/TS28623_FeatureNrm.yaml index a9a9d95a..121f01b1 100644 --- a/OpenAPI/TS28623_FeatureNrm.yaml +++ b/OpenAPI/TS28623_FeatureNrm.yaml @@ -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' -- GitLab From 93ee618d962c955783a150237ae7993c9080f594 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 09:28:45 +0000 Subject: [PATCH 91/93] Edit TS28623_FeatureNrm.yaml to upgrade the version --- OpenAPI/TS28623_FeatureNrm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenAPI/TS28623_FeatureNrm.yaml b/OpenAPI/TS28623_FeatureNrm.yaml index 121f01b1..d60e6f7b 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). -- GitLab From f0fb23826b0a3848280d0daf5f91ff7f03726ad6 Mon Sep 17 00:00:00 2001 From: ruiyue Date: Sun, 15 Mar 2026 09:33:02 +0000 Subject: [PATCH 92/93] Edit TS28561_NdtNrm.yaml --- OpenAPI/TS28561_NdtNrm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenAPI/TS28561_NdtNrm.yaml b/OpenAPI/TS28561_NdtNrm.yaml index 42565ff5..605cb1a9 100644 --- a/OpenAPI/TS28561_NdtNrm.yaml +++ b/OpenAPI/TS28561_NdtNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: NDT NRM - version: 19.21.0 + version: 19.2.0 description: >- OAS 3.0.1 definition of the NDT NRM © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). -- GitLab From 6e86c7b62faef13188f6a8eb58fd74aa2c95b3e1 Mon Sep 17 00:00:00 2001 From: potherakallo Date: Thu, 2 Apr 2026 07:38:49 +0000 Subject: [PATCH 93/93] 28.312_Rel-20_Invariant_Guidance_in_Intent branch --- OpenAPI/TS28312_IntentNrm.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenAPI/TS28312_IntentNrm.yaml b/OpenAPI/TS28312_IntentNrm.yaml index 8a87834c..d7580e33 100644 --- a/OpenAPI/TS28312_IntentNrm.yaml +++ b/OpenAPI/TS28312_IntentNrm.yaml @@ -427,6 +427,8 @@ components: items: $ref: "#/components/schemas/ValueRangeType" - $ref: "#/components/schemas/ValueRangeType" + contextInvariant: + type: boolean required: - contextAttribute - contextCondition -- GitLab