diff --git a/OpenAPI/TS28104_MdaNrm.yaml b/OpenAPI/TS28104_MdaNrm.yaml index 4839ffc8e78daf40927cc7d27831c2eea9ff3d20..3a83c1ae4f6f9af4bd291ed88932b4d064052545 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 diff --git a/OpenAPI/TS28104_MdaReport.yaml b/OpenAPI/TS28104_MdaReport.yaml index 3244b9f61a331e2399715316af410997235b4ede..123a9954531b1cd5978d8d9801086897140eaeac 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 diff --git a/OpenAPI/TS28105_AiMlNrm.yaml b/OpenAPI/TS28105_AiMlNrm.yaml index f76a2a4919d3b30599e9b6c757551b55e85b0737..66062222a941cff8ffa7f63b1cdc4ad89cf950c9 100644 --- a/OpenAPI/TS28105_AiMlNrm.yaml +++ b/OpenAPI/TS28105_AiMlNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: AI/ML NRM - version: 19.2.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 @@ -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/DnListRo' + + 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/DnRo' + 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 @@ -275,21 +538,44 @@ components: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' requestStatus: $ref: '#/components/schemas/RequestStatus' - expectedRuntimeContext: - $ref: '#/components/schemas/MLContext' performanceRequirements: type: array 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,12 +601,15 @@ 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/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: @@ -355,8 +644,12 @@ components: areNewTrainingDataUsed: type: boolean 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: @@ -365,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: @@ -448,7 +739,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 +775,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 +816,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: @@ -672,7 +976,7 @@ components: - ACTIVATED - DEACTIVATED managedActivationScope: - $ref: '#/components/schemas/AIMLManagementPolicy' + $ref: '#/components/schemas/ManagedActivationScope' usedByFunctionRefList: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' mLModelRefList: @@ -688,8 +992,6 @@ components: $ref: '#/components/schemas/MLModelLoadingProcess-Multiple' MLModelLoadingPolicy: $ref: '#/components/schemas/MLModelLoadingPolicy-Multiple' - MLModel: - $ref: '#/components/schemas/MLModel-Multiple' AIMLInferenceReport-Single: allOf: @@ -706,6 +1008,8 @@ components: items: $ref: '#/components/schemas/InferenceOutput' minItems: 1 + potentialImpactInfo: + $ref: '#/components/schemas/PotentialImpactInfo' mLModelRefList: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' diff --git a/OpenAPI/TS28111_FaultNotifications.yaml b/OpenAPI/TS28111_FaultNotifications.yaml index ffac86e1fa6cdeef23e0a5ec9a5f877eb046263c..ee6a249b4e5079f2e961ddcb03ac6e1d2762f7eb 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' diff --git a/OpenAPI/TS28111_FaultNrm.yaml b/OpenAPI/TS28111_FaultNrm.yaml index 13a6967dd9b89665592c0e8b6cedd80f04c80b6b..143549151f322282d92791def2891b3e4746bd55 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). @@ -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 + - REDUCED_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' diff --git a/OpenAPI/TS28312_IntentExpectations.yaml b/OpenAPI/TS28312_IntentExpectations.yaml index e0ef86a290dc4e6e4fd9f0d918a809c0e32ca8d9..379962e30f7f76a2aec7cf9404c3f2b4a005917e 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 diff --git a/OpenAPI/TS28312_IntentNrm.yaml b/OpenAPI/TS28312_IntentNrm.yaml index c0242f0a30c8183ec0616e41a2b248c83e78b22e..d7580e339a4c3a8c49f9dd8a399a395462575249 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.2.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 @@ -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 @@ -72,19 +73,33 @@ 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: - $ref: '#/components/schemas/IntentReportControl' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/IntentReportControl' + implicitIntentIndex: + type: boolean + default: false 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. + 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: @@ -98,14 +113,20 @@ 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: $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 @@ -120,21 +141,17 @@ 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: + $ref: '#/components/schemas/IntentUtilityFormula-Multiple' IntentUtilityFormula-Single: description: >- It represents an intent utility function instance. @@ -144,20 +161,20 @@ components: properties: utilityFunctionId: type: string - uniqueItems: true - minItems: 1 utilityParameterList: type: array items: $ref: '#/components/schemas/UtilityParameter' uniqueItems: true - minItems: 1 utilityScale: type: number - minItems: 1 + default: 1 utilityOffset: type: number - minItems: 1 + default: 0 + required: + - utilityFunctionId + - utilityParameterList #-------Definition of generic IOCs ----------# #-------Definition of the generic IntentExpectation dataType ----------# @@ -194,6 +211,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 +240,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: @@ -236,16 +255,17 @@ 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: - ALL_OF - ONE_OF - ANY_OF + default: ALL_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: @@ -256,15 +276,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 +292,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 +312,9 @@ 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 + required: + - fulfilmentStatus ExpectationVerb: type: string enum: @@ -304,8 +326,8 @@ 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. - type: object + for both UL and DL directions in TDD. + type: object properties: arfcn: type: integer @@ -343,12 +365,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. @@ -380,13 +402,17 @@ 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----------# #-------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: @@ -400,7 +426,13 @@ components: minItems: 1 items: $ref: "#/components/schemas/ValueRangeType" - - $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" + contextInvariant: + type: boolean + required: + - contextAttribute + - contextCondition + - contextValueRange #-------Definition of the generic Context dataType----------------# #-------Definition of the generic IntentReportControl dataType----------------# @@ -411,7 +443,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: >- @@ -422,16 +455,15 @@ components: expectedReportTypes: description: >- It indicates the type of IntentReports. - type: string - enum: - - INTENT_FULFILMENT_REPORT - - INTENT_CONFLICT_REPORT - - INTENT_FEASIBILITY_CHECK_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: @@ -440,6 +472,17 @@ components: type: array items: type: string + required: + - 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. @@ -462,8 +505,12 @@ components: - type: array uniqueItems: true items: - $ref: "#/components/schemas/ValueRangeType" - - $ref: "#/components/schemas/ValueRangeType" + $ref: '#/components/schemas/ValueRangeType' + - $ref: '#/components/schemas/ValueRangeType' + required: + - targetName + - targetCondition + - targetValueRange #-------Definition of the concrete IntentReportControl dataType----------------# @@ -471,7 +518,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: @@ -483,7 +530,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----------------# @@ -502,12 +557,15 @@ components: uniqueItems: true items: $ref: '#/components/schemas/TargetFulfilmentResult' + required: + - expectaitonId + - expectationFulfilmentInfo #-------Definition of the concrete ExpectationFulfilmentResult dataType----------------# #-------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: @@ -517,7 +575,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: @@ -525,6 +583,9 @@ components: uniqueItems: true items: $ref: '#/components/schemas/Context' + required: + - targetName + - targetFulfilmentInfo #-------Definition of the concrete TargetFulfilmentResult dataType----------------# #-------Definition of the generic IntentConflictReport dataType----------------# @@ -539,39 +600,43 @@ 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 + 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: type: string - readOnly: true + readOnly: true 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 +660,12 @@ 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 + uniqueItems: true items: type: string - readOnly: true + readOnly: true enum: - INVALID_INTENT_EXPRESSION - INTENT_CONFLICT @@ -607,6 +673,9 @@ components: type: array items: $ref: '#/components/schemas/InFeasibleExpectationInfo' + required: + - feasibilityCheckResult + - infeasibilityReasons InFeasibleExpectationInfo: description: >- It describes the list of InFeasibleExpectationInfo for all infeasible IntentExpectations @@ -618,10 +687,14 @@ components: readOnly: true inFeasibleTargets: type: array + uniqueItems: true items: type: string readOnly: true description: It describes the list of TargetNames for the InFeasibleTargets + required: + - expectationId + - inFeasibleTargets #-------Definition of the concrete IntentFeasibilityCheckReport dataType----------------# @@ -636,8 +709,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 @@ -650,14 +723,17 @@ 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 #-------Definition of the generic IntentExplorationReport dataType----------------# @@ -701,6 +777,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 +848,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 +870,8 @@ components: items: $ref: '#/components/schemas/ValueRangeType' - $ref: '#/components/schemas/ValueRangeType' + required: + - supportedTargetName #-------Definition of the concrete IntentHandlingCapability dataType----------------# @@ -805,33 +890,34 @@ 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: type: string + readOnly: true utilityResult: type: number + readOnly: true #-------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 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 ---------------# @@ -861,7 +947,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' diff --git a/OpenAPI/TS28319_MsacNrm.yaml b/OpenAPI/TS28319_MsacNrm.yaml index ac65e3ebf0c6a657d2a0965dd6e451da814eb7fa..90b4f161577460dc0d0bb5913d58e697d794b104 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' diff --git a/OpenAPI/TS28532_FileDataReportingMnS.yaml b/OpenAPI/TS28532_FileDataReportingMnS.yaml index 033a67bc5dae16b1d8d2076323633d8d63b0d0b0..65702eee286075878bc2fde8814d128fcfa18a26 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: diff --git a/OpenAPI/TS28532_ProvMnS.yaml b/OpenAPI/TS28532_ProvMnS.yaml index e24a69104a1e966833c25447a7326bc560fe773b..270a363c016d309c6ba9e70263892887eedd12a3 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: diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index b99e102d04a4814fffd00de597e884ad383d163f..c937d6235346da9ee51e2440521ab8bd6581d255 100755 --- a/OpenAPI/TS28541_5GcNrm.yaml +++ b/OpenAPI/TS28541_5GcNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: 3GPP 5GC NRM - version: 19.4.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 @@ -192,6 +192,8 @@ components: 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 @@ -417,7 +419,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 @@ -433,6 +438,10 @@ components: uniqueItems: true items: $ref: '#/components/schemas/PlmnSnssai' + priority: + type: integer + minimum: 0 + maximum: 65535 allowedSNPNs: type: array uniqueItems: true @@ -537,11 +546,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 @@ -572,12 +583,64 @@ components: 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 + $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 @@ -774,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 @@ -808,6 +882,29 @@ 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 @@ -874,12 +971,97 @@ 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 + dataEndMarkInd: + type: boolean + dataBurstSizeInd: + type: boolean + timetoNextBurstInd: + type: boolean + 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 @@ -955,6 +1137,117 @@ components: 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' + 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 + 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/RtpHeaderExtInfo' + rtpPayloadInfoList: + type: array + uniqueItems: true + items: + $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: + type: integer + minimum: 0 + maximum: 127 + minItems: 1 + rtpPayloadFormat: + anyOf: + - type: string + enum: + - H264 + - H265 + - type: string SnssaiInfo: type: object @@ -1316,8 +1609,14 @@ components: properties: atsssLL: type: boolean - mptcp: + mptcpudp: + type: boolean + mpquic: + type: boolean + mpquicIp: type: boolean + mpquicE: + type: boolean rttWithoutPmf: type: boolean @@ -1542,6 +1841,28 @@ components: 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 + 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 @@ -1734,6 +2055,14 @@ components: 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 @@ -1750,6 +2079,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 @@ -1878,6 +2222,14 @@ components: mappingInd: type: boolean 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: @@ -1938,6 +2290,7 @@ components: type: integer minimum: 0 maximum: 4294967295 + format: int64 trpMappingInfoList: type: array uniqueItems: true @@ -2245,6 +2598,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 @@ -2387,12 +2751,43 @@ components: supportedPfcpFeatures: type: string readOnly: true - # upfEvents: - # type: array uniqueItems: true - # items: - # $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/EventType' - # minItems: 1 + 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 @@ -2444,6 +2839,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 @@ -2515,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 @@ -2931,6 +3347,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})$' @@ -3110,7 +3527,9 @@ components: type: object required: - sNssai - - dnnInfoList + anyOf: + - required: [ dnnUpfInfoList ] + - required: [ dnnUpfInfoListId ] properties: sNssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' @@ -3479,6 +3898,13 @@ components: 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: @@ -3545,6 +3971,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: @@ -3623,6 +4066,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 @@ -3813,6 +4268,80 @@ 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: + type: string + #$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 + 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: @@ -4361,7 +4890,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 @@ -4619,7 +5150,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 @@ -4840,7 +5373,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 @@ -4872,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 @@ -5741,6 +6278,18 @@ components: allOf: - type: object properties: + requestedQoSMonitoring: + type: string + enum: + - DLPD + - ULPD + - RPPD + - DLCI + - ULCI + - DLDR + - ULDR + - DLAB + - ULAB qFQoSMonitoringState: type: string enum: @@ -5772,6 +6321,8 @@ components: default: true qFPacketDelayThresholds: $ref: '#/components/schemas/QFPacketDelayThresholdsType' + qFReportingThresholds: + $ref: '#/components/schemas/QFReportingThreshold' qFMinimumWaitTime: type: integer qFMeasurementPeriod: diff --git a/OpenAPI/TS28541_GenericRanNrm.yaml b/OpenAPI/TS28541_GenericRanNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..64dccff9a0680f843fe0f3a9a93dce4a1cc1445a --- /dev/null +++ b/OpenAPI/TS28541_GenericRanNrm.yaml @@ -0,0 +1,101 @@ +openapi: 3.0.1 +info: + title: Generic RAN NRM + version: 20.0.0 + description: >- + OAS 3.0.1 specification of the Generic RAN NRM + © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.541; 5G NRM, Generic RAN NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/ +paths: {} +components: + schemas: + +#-------- Definition of types for name containment----------------------------------------------------- + ManagedElement-ncO-GenericRanNrm: + type: object + properties: + AntennaFunction: + $ref: '#/components/schemas/AntennaFunction-Multiple' + SectorEquipmentFunction: + $ref: '#/components/schemas/SectorEquipmentFunction-Multiple' +#-------- Definition of concrete IOCs -------------------------------------------- + AntennaFunction-Single: + type: object + properties: + beamTilt: + type: integer + format: int32 + elevation: + type: number + retTiltValue: + type: integer + format: int32 + bearing: + type: integer + format: int32 + retGroupName: + type: string + maxAzimuthValue: + type: integer + format: int32 + minimum: 0 + maximum: 360 + minAzimuthValue: + type: integer + format: int32 + minimum: 0 + maximum: 360 + horizBeamwidth: + type: integer + format: int32 + minimum: 0 + maximum: 360 + vertBeamwidth: + type: integer + format: int32 + minimum: 0 + maximum: 360 + latitude: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Latitude' + longitude: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Longitude' + referenceFrom: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + + SectorEquipmentFunction-Single: + type: object + properties: + fqBandList: + description: >- + The list of frequency bands/ranges supported by the hardware associated + with the SectorEquipmentFunction. + type: array + uniqueItems: true + items: + type: string + confOutputPower: + type: integer + format: int32 + referenceFrom: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + referenceTo: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + AntennaFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AntennaFunction-Single' + SectorEquipmentFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/SectorEquipmentFunction-Single' + +#-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- + resources-genericRanNrm: + oneOf: + - $ref: '#/components/schemas/AntennaFunction-Single' + - $ref: '#/components/schemas/SectorEquipmentFunction-Single' + diff --git a/OpenAPI/TS28541_NrNrm.yaml b/OpenAPI/TS28541_NrNrm.yaml index 30b636f3c7fbd27be14a13b06d957fc7298cb1e7..2d4a13446e9d98e34d14b5fce332dd678c83015f 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: 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 @@ -159,12 +163,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: @@ -682,6 +686,7 @@ components: default: 0 minimum: 0 maximum: 8589934591 + format: int64 eccentricity: type: integer default: 0 @@ -764,8 +769,56 @@ components: 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 + 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 @@ -797,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: @@ -812,6 +865,10 @@ components: $ref: '#/components/schemas/NRECMappingRule-Multiple' MWAB: $ref: '#/components/schemas/MWAB-Multiple' + IAB: + $ref: '#/components/schemas/IAB-Multiple' + NRFemtoGW: + $ref: '#/components/schemas/NRFemtoGW-Single' ManagedElement-ncO-NrNrm: type: object @@ -836,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: @@ -846,6 +905,10 @@ components: $ref: '#/components/schemas/NRECMappingRule-Multiple' MWAB: $ref: '#/components/schemas/MWAB-Multiple' + IAB: + $ref: '#/components/schemas/IAB-Multiple' + NRFemtoGW: + $ref: '#/components/schemas/NRFemtoGW-Single' #-------- Definition of abstract IOCs -------------------------------------------- @@ -881,12 +944,16 @@ components: 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/DnRo' + iABRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -958,6 +1025,8 @@ components: type: boolean onboardSatelliteId: $ref: '#/components/schemas/SatelliteId' + isNRFemtoNode: + type: boolean PlmnInfoList: $ref: '#/components/schemas/PlmnInfoList' configurable5QISetRef: @@ -1026,6 +1095,8 @@ components: type: boolean onboardSatelliteId: $ref: '#/components/schemas/SatelliteId' + isNRFemtoNode: + type: boolean tceIDMappingInfoList: $ref: '#/components/schemas/TceIDMappingInfoList' configurable5QISetRef: @@ -1038,6 +1109,8 @@ components: type: boolean dDAPSHOControl: type: boolean + dLTMControl: + type: boolean mappedCellIdInfoList: $ref: '#/components/schemas/MappedCellIdInfoList' qceIdMappingInfoList: @@ -1045,9 +1118,13 @@ 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' - type: object properties: @@ -1188,7 +1265,9 @@ components: type: string enum: - REDCAP_1RX - - REDCAP_2RX + - REDCAP_2RX + - EREDCAP_1RX + - EREDCAP_2RX nRSectorCarrierRef: type: array uniqueItems: true @@ -1240,7 +1319,7 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object properties: - bWPlist: + bWPList: type: array uniqueItems: true items: @@ -1469,6 +1548,8 @@ components: type: boolean isMLBAllowed: type: boolean + dCLTMControl: + type: boolean EUtranCellRelation-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1519,6 +1600,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 @@ -1555,6 +1668,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: @@ -2168,7 +2297,9 @@ components: type: object properties: coverageShapeList: - type: integer + type: array + items: + $ref: '#/components/schemas/CoverageShape' downlinkTransmitPowerRange: $ref: '#/components/schemas/ParameterRange' antennaTiltRange: @@ -2181,19 +2312,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: @@ -2231,6 +2356,8 @@ components: attributes: type: object properties: + mnrOamIPConfig: + $ref: '#/components/schemas/MnrOamIPConfig' administrativeState: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' operationalState: @@ -2245,6 +2372,8 @@ components: uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + currentLocation: + $ref: '#/components/schemas/LocationInfo' NRECMappingRule-Single: allOf: @@ -2303,11 +2432,48 @@ components: - 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' + 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' + - 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 ---------------------- @@ -2488,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 --------------------------------- @@ -2560,4 +2731,5 @@ components: - $ref: '#/components/schemas/NTNTimeBasedConfig-Single' - $ref: '#/components/schemas/RedCapAccessCriteria-Single' - $ref: '#/components/schemas/AIOTReader-Single' + - $ref: '#/components/schemas/IAB-Single' diff --git a/OpenAPI/TS28561_NdtNrm.yaml b/OpenAPI/TS28561_NdtNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..605cb1a97c70fd74489f9ae0f551e9646b593991 --- /dev/null +++ b/OpenAPI/TS28561_NdtNrm.yaml @@ -0,0 +1,235 @@ +openapi: 3.0.1 +info: + title: NDT NRM + 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). + 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 + minItems: 1 + 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' + nDTFunctionRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + 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' + 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 + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + 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. + nDTJobRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + + + #-------Definition of the dataType ----------# + NDTCapability: + type: string + enum: + - RISKY_ACTIONS_PREDICTION + - EVENTS_IMPACTS_VERIFICATION + - NETWORK_ISSUE_INDUCEMENT + - 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 + simulationDataDescriptor: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SimulationDataDescriptor' + networkEventInfo: + type: string + 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' + 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 + maxItems: 1 + performanceDataValue: + type: integer + maxItems: 1 + performanceDataScalingFactor: + type: integer + maxItems: 1 + + #------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' diff --git a/OpenAPI/TS28567_CclNrm.yaml b/OpenAPI/TS28567_CclNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f8f6c70dbef643426609da3ce62e2204173e1dde --- /dev/null +++ b/OpenAPI/TS28567_CclNrm.yaml @@ -0,0 +1,233 @@ +openapi: 3.0.1 +info: + title: CCL NRM + 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). + 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: array + items: + 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: + cCLComponentInfoId: + type: string + 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 diff --git a/OpenAPI/TS28572_PlanManagement.yaml b/OpenAPI/TS28572_PlanManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b391301de446296844d4114c12e79053eaf88c5a --- /dev/null +++ b/OpenAPI/TS28572_PlanManagement.yaml @@ -0,0 +1,2463 @@ +openapi: 3.0.1 +info: + title: 3GPP Plan Provisioning Management API + 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/ +servers: + - url: '{MnSRoot}/plan-management/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/cm + MnSVersion: + 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: + 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/PlanConfigurationDescriptorRequest' + 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" + configChangesContentType: YANG_BASED + configChanges: + - 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 + 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/PlanConfigurationDescriptorRequest' + 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" + }, + "configChanges": [ + { + "modifyOperator": "merge", + "changeId": "Dublin-Center_DC-01_555777999", + "target": "/SubNetwork=Dublin-Center/ManagedElement=DC-001/NRCellDU=1", + "value": { + "ssbDuration": 2 + } + } + ] + } + 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' + 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-descriptors/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the fallback descriptor. + example: "Fallback-Dublin-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/TriggerDescriptorRequest' + + 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: Trigger 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/TriggerDescriptorRequest' + 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' + + /plan-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/ActivationJobWritableProperties' + 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: "/plan-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' + + /plan-activation-jobs/{id}: + parameters: + - 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 + 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' + 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: + 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: + - 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. + 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' + + /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: + - 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 + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionDetails' + '404': + description: Job not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + + /plan-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: "/plan-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 state. + example: "job-state=COMPLETED" # Example state for validation jobs + responses: + '200': + description: List of plan validation 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' + + /plan-validation-jobs/{id}: + parameters: + - 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 + 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' + 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: + 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: + - 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. + 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' + + /plan-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: + - 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. + 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' + +components: + schemas: + PlanConfigurationDescriptor: + allOf: + - $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: + allOf: + - $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 + properties: + 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 + 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 + + 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" + 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 + 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" + validationState: + type: string + 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" + 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" + members: + type: array + description: list of plan or plan group descriptor identifiers + items: + $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: + allOf: + - $ref: '#/components/schemas/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. + oneOf: + - 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 + 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" + 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 + additionalProperties: true + example: + technology-type: NR + location: Dublin + activationJob: + type: string + description: The identifier of the related activation job. + 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: + allOf: + - $ref: '#/components/schemas/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" + + 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: + 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: "1.0.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 + activationJobs: + type: array + items: + type : string + description: The identifiers of one or more activation jobs that shall be triggered by this condition. + 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" + 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" + 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: 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 + + Hysteresis: + type: object + properties: + 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: 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 + version: + type: string + description: version of the descriptor. + example: "1.0.0" + description: + type: string + description: description/purpose of the descriptor. + example: "plan-descriptor-1" + required : + - id + + JobListEntry: + allOf: + - 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: + 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 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 + isFallbackEnabled: + type: boolean + description: Whether fallback should be enabled for this job + default: false + 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: + - $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: + 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: + id: + type: string + description: id of the activation job + example: "job-id-3985199134" + 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" + jobDetails: + allOf: + - $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: 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 + + ValidationJobRequest: + allOf: + - $ref: '#/components/schemas/ValidationJobBaseProperties' + 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 + } + } + ] + } + } + + ValidationJobBaseProperties: + type: object + 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" + 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 + + 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 + } + } + ] + } + } + additionalProperties : true + + ValidationJob: + allOf: + - $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: + jobState: + allOf: + - $ref: '#/components/schemas/JobState' + example: "COMPLETED" + validationState: + allOf: + - $ref: '#/components/schemas/ValidationState' + 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" + + ConfigChangeWritable: + 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" + changeId: + 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 + additionalProperties: true # Allows any nested properties within 'value' + description: Value to apply (for create/merge/merge-create operations) + additionalProperties: true # Allows for additional properties to be provided + required: + - modifyOperator + - target + + 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: + - 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 + 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: + - 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-validation-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-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: + properties: + message: + type: string + errors: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + additionalProperties: true + + + 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: + $ref: '#/components/schemas/Result' + memberConflicts: + type: array + items: + $ref: '#/components/schemas/MemberConflict' + example: + 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: "VALIDATION_SUCCEEDED" + + ActivationState: + type: string + enum: [NOT_STARTED, ACTIVATED, ACTIVATION_FAILED, PARTIALLY_ACTIVATED, ACTIVATION_FAILED_ROLLED_BACK, ACTIVATION_FAILED_ROLLBACK_FAILED] + example: "ACTIVATED" + + Result: + type: object + description: Details of the execution of the operations that are contained in the planned configuration. + properties: + planConfigDescrId: + type: string + 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" + state: + type: string + enum: [NOT_STARTED, PROCESSING, SUCCEEDED, FAILED] + default: NOT_STARTED + description: The state of the operation activation. + example: "SUCCEEDED" + target: + type: string + example: "/SubNetwork=1/MeContext=2/ManagedElement=3" + errors: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + required: + - 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 + state: FAILED + errors: + - type: VALIDATION_ERROR + title: Validation Error + 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: + 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 + conflicting: + type: integer + example: 0 + + MemberConflict: + type: object + properties: + memberConflict : + type: array + items: + $ref: '#/components/schemas/MemberOp' + + MemberOp: + type: object + description: The identification of two or more operation members that have a conflict. + properties: + planConfigDescrId: + type: string + description: The plan configuration descriptor Id. + target: + description: The path of the target change resource. + type: string + required: + - 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: + title: + type: string + description: A short, human-readable summary of the problem type + example: "Data already exists; cannot be created" + type: + type: string + description: The type of the error + enum: + - SCHEMA_VALIDATION_ERROR + - DATA_NODE_TREE_ERROR + - MODIFICATION_NOT_ALLOWED + - ACCESS_CONTROL_CONFLICT + - APPLICATION_LAYER_ERROR + - SERVER_ERROR + - OTHER + reason: + type: string + enum: + - 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 + - OTHER + 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" + badDataNode: + 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 + - badDataNode + + 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}/plan-management/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" \ No newline at end of file diff --git a/OpenAPI/TS28623_ComDefs.yaml b/OpenAPI/TS28623_ComDefs.yaml index 7d4cb0b6131718a685d5189c1974f3d1a2470013..d6a21ffbdfab8fdf4019395aca9d4c07b26ff034 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.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 @@ -100,6 +109,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 @@ -143,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: @@ -161,6 +215,10 @@ components: items: $ref: '#/components/schemas/GeoCoordinate' minItems: 1 + - type: object + properties: + geoCircle: + $ref: '#/components/schemas/GeoCircle' GeoAreaToCellMapping: type: object properties: @@ -522,7 +580,7 @@ components: type: string title: type: string - badOP: + badOp: type: string otherProblems: type: array diff --git a/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..12d5bea55755f65a776475f72c2711fb4e870235 --- /dev/null +++ b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml @@ -0,0 +1,89 @@ +openapi: 3.0.1 +info: + title: External data management NRM + version: 20.0.0 + description: >- + OAS 3.0.1 definition of the External data type NRM fragment + © 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 + 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 + 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 + 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' + + diff --git a/OpenAPI/TS28623_FeatureNrm.yaml b/OpenAPI/TS28623_FeatureNrm.yaml index 7a37deb97ebd5a3b233bb003c1d2c281f3047f60..d60e6f7be605f7468f24290c4293dc6e06881f1f 100644 --- a/OpenAPI/TS28623_FeatureNrm.yaml +++ b/OpenAPI/TS28623_FeatureNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: NRM Feautres - version: 19.4.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). @@ -23,10 +23,13 @@ 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_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' - $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/resources-mgmtDataCollectionNrm' @@ -37,5 +40,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 --------------------------# diff --git a/OpenAPI/TS28623_FileManagementNrm.yaml b/OpenAPI/TS28623_FileManagementNrm.yaml index 60d44b7f0ad4c9d3c23563fd331565758cbcc096..f5ce2e5d0d5547b40e9f3b57e8cefcc1fe15ab69 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 diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index 8d054aa95d0127c4c046bb1710e3a68b2d9c3369..63895f7d74e4fe7b96d49e8efb063044d22ce209 100755 --- a/OpenAPI/TS28623_GenericNrm.yaml +++ b/OpenAPI/TS28623_GenericNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Generic NRM - version: 19.4.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 @@ -154,29 +154,64 @@ 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: object + properties: + nTNGeoAreaList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + minItems: 1 + maxItems: 8 - 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 +290,7 @@ components: type: array uniqueItems: true items: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/CagId' maxItems: 256 nIDList: type: array @@ -609,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: @@ -626,7 +667,7 @@ components: - $ref: 'TS28536_CoslaNrm.yaml#/components/schemas/ManagedElement-ncO-CoslaNrm' - $ref: 'TS28541_NrNrm.yaml#/components/schemas/ManagedElement-ncO-NrNrm' - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/ManagedElement-ncO-5GcNrm' - + - $ref: 'TS28541_GenericRanNrm.yaml#/components/schemas/ManagedElement-ncO-GenericRanNrm' NrmRoot: oneOf: - type: object diff --git a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml index 5f3a20de4375fc6da9eed558f58a2ce7974e6c28..62d1b00af8e60cfe98431bb60d90e1df7d2e7eb1 100644 --- a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml +++ b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Management Data Collection NRM - version: 19.4.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 @@ -18,8 +18,6 @@ components: properties: ManagementDataCollection: $ref: '#/components/schemas/ManagementDataCollection-Multiple' - ExternalDataType: - $ref: '#/components/schemas/ExternalDataType-Multiple' #-------Definition of generic IOCs ----------# @@ -29,16 +27,26 @@ components: oneOf: - type: array items: - type: string + $ref: '#/components/schemas/mgtDataCategory' + uniqueItems: true + - type: array + items: + $ref: '#/components/schemas/mgtDataName' + uniqueItems: true + mgtDataCategory: + oneOf: + - type: string enum: - COVERAGE - CAPACITY + - SERVICE_EXPERIENCE + - TRACE - ENERGY_EFFICIENCY - MOBILITY - ACCESSIBILITY - - type: array - items: - type: string + - type: string + mgtDataName: + type: string NodeFilter: type: object properties: @@ -62,24 +70,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 -------------------------------------------- @@ -94,7 +84,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: @@ -113,44 +106,21 @@ components: type: boolean 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' - + required: + - managementData + - targetNodeFilter + - collectionTimeWindow + - reportingCtrl + - jobId #-------- 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' diff --git a/OpenAPI/TS28623_MnSRegistryNrm.yaml b/OpenAPI/TS28623_MnSRegistryNrm.yaml index cfaceb325a99d8ffbac8766ae5ccbbaa8a167880..ac75dcdf21dc9c1aa542bc04ae7de2f487e50c2f 100644 --- a/OpenAPI/TS28623_MnSRegistryNrm.yaml +++ b/OpenAPI/TS28623_MnSRegistryNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: MnS Registry NRM - version: 19.4.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 ----------# @@ -37,23 +37,29 @@ 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 + - 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 - - DSO_RAPID_RECOVERY_AND_THRESHOLD MONITORING + - DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING + - EXTERNALDATA_DISCOVERY_AND_REQUEST #-------- Definition of concrete IOCs -------------------------------------------- MnsRegistry-Single: allOf: @@ -114,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: @@ -194,6 +209,11 @@ components: #-------- Definition of YAML arrays for name-contained IOCs ---------------------- + MnsRegistry-Multiple: + type: array + items: + $ref: '#/components/schemas/MnsRegistry-Single' + MnsInfo-Multiple: type: array items: diff --git a/OpenAPI/TS28623_TraceControlNrm.yaml b/OpenAPI/TS28623_TraceControlNrm.yaml index b335275c80312978e1623c6df8114990338074a8..6e6912126589c38225c93eb385dca884c4dff831 100644 --- a/OpenAPI/TS28623_TraceControlNrm.yaml +++ b/OpenAPI/TS28623_TraceControlNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Trace Control NRM - version: 19.3.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 @@ -27,9 +27,33 @@ 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. + 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 @@ -41,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. @@ -457,28 +483,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 @@ -835,6 +840,7 @@ components: - M1_EVENT_TRIGGERED - M8 - M9 + - M10 loggingDuration-Type: description: See details in 3GPP TS 32.422 clause 5.10.9. @@ -1274,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 @@ -1349,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. @@ -1374,8 +1394,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 +1425,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. @@ -1451,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: @@ -1531,7 +1559,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: diff --git a/OpenAPI/TS29571_CommonData.yaml b/OpenAPI/TS29571_CommonData.yaml index 86a4a4de68fd8c8c0df1ea99a2aee54c32ea20f7..761fcd3faa4fce9be8729a4b1aa03d1f50f99134 100644 --- a/OpenAPI/TS29571_CommonData.yaml +++ b/OpenAPI/TS29571_CommonData.yaml @@ -1,24 +1,25 @@ -##### Special note: CT R16 local copy for SA5 OAM Forge branch only, it shall not be used otherwise. S5-222029 on 4.4.2022. Updated to sync with 1.5.0 for SA5#147 (17.02.2023) openapi: 3.0.0 info: - version: '1.2.6' + version: '1.6.0' + + title: 'Common Data Types' description: | - Common Data Types for Service Based Interfaces. - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + Common Data Types for Service Based Interfaces. + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: - description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 16.10.0 - url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.571/' + description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 19.5.0 + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.571/' paths: {} components: schemas: # -# Common Data Types for Generic usage definitiones as defined in clause 5.2 +# Common Data Types for Generic usage definitions as defined in clause 5.2 # # @@ -27,95 +28,161 @@ components: Binary: format: binary type: string + description: string with format 'binary' as defined in OpenAPI. + BinaryRm: format: binary type: string nullable: true + description: > + "string with format 'binary' as defined in OpenAPI OpenAPI with 'nullable: true' property." + Bytes: format: byte type: string + description: string with format 'bytes' as defined in OpenAPI + BytesRm: format: byte type: string nullable: true + description: > + string with format 'bytes' as defined in OpenAPI OpenAPI with 'nullable: true' property. + Date: format: date type: string + description: string with format 'date' as defined in OpenAPI. + DateRm: format: date type: string nullable: true + description: > + string with format 'date' as defined in OpenAPI OpenAPI with 'nullable: true' property. + DateTime: format: date-time type: string + description: string with format 'date-time' as defined in OpenAPI. + DateTimeRm: format: date-time type: string nullable: true + description: > + string with format 'date-time' as defined in OpenAPI with 'nullable:true' property. + DiameterIdentity: - type: string - pattern: '^([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}$' + $ref: '#/components/schemas/Fqdn' + DiameterIdentityRm: - type: string - pattern: '^([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}$' - nullable: true + $ref: '#/components/schemas/FqdnRm' + Double: format: double type: number + description: string with format 'double' as defined in OpenAPI + DoubleRm: format: double type: number nullable: true + description: > + string with format 'double' as defined in OpenAPI with 'nullable: true' property. + DurationSec: type: integer + description: indicating a time in seconds. + DurationSecRm: type: integer nullable: true + description: "indicating a time in seconds with OpenAPI defined 'nullable: true' property." + Float: format: float type: number + description: string with format 'float' as defined in OpenAPI. + FloatRm: format: float type: number nullable: true + description: > + string with format 'float' as defined in OpenAPI with the OpenAPI defined + 'nullable: true' property. + Int32: format: int32 type: integer + description: string with format 'int32' as defined in OpenAPI. + Int32Rm: format: int32 type: integer nullable: true + description: > + string with format 'int32' as defined in OpenAPI with the OpenAPI defined + 'nullable: true' property. + Int64: type: integer format: int64 + description: string with format 'int64' as defined in OpenAPI. + Int64Rm: format: int64 type: integer nullable: true + description: > + string with format 'int64' as defined in OpenAPI with the OpenAPI defined + 'nullable: true' property. + Ipv4Addr: type: string pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$' example: '198.51.100.1' + description: > + String identifying a IPv4 address formatted in the 'dotted decimal' notation + as defined in RFC 1166. + Ipv4AddrRm: type: string pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$' example: '198.51.100.1' nullable: true + description: > + String identifying a IPv4 address formatted in the 'dotted decimal' notation + as defined in RFC 1166 with the OpenAPI defined 'nullable: true' property. + Ipv4AddrMask: type: string pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$' example: '198.51.0.0/16' + description: > + "String identifying a IPv4 address mask formatted in the 'dotted decimal' notation + as defined in RFC 1166." + Ipv4AddrMaskRm: type: string pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$' example: '198.51.0.0/16' nullable: true + description: > + String identifying a IPv4 address mask formatted in the 'dotted decimal' notation + as defined in RFC 1166 with the OpenAPI defined 'nullable: true' property. + Ipv6Addr: type: string allOf: - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$' - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$' example: '2001:db8:85a3::8a2e:370:7334' + description: > + String identifying an IPv6 address formatted according to clause 4 of RFC5952. + The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used. + Ipv6AddrRm: type: string allOf: @@ -123,100 +190,221 @@ components: - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$' example: '2001:db8:85a3::8a2e:370:7334' nullable: true + description: > + String identifying an IPv6 address formatted according to clause 4 of RFC5952 with the + OpenAPI 'nullable: true' property. + The mixed IPv4 IPv6 notation according to clause 5 of RFC5952 shall not be used. + Ipv6Prefix: type: string allOf: - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$' - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' example: '2001:db8:abcd:12::0/64' + description: > + String identifying an IPv6 address prefix formatted according to clause 4 of RFC 5952. + IPv6Prefix data type may contain an individual /128 IPv6 address. + Ipv6PrefixRm: type: string allOf: - pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$' - pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$' nullable: true + description: > + String identifying an IPv6 address prefix formatted according to clause 4 of RFC 5952 with + the OpenAPI 'nullable: true' property. IPv6Prefix data type may contain an individual + /128 IPv6 address. + MacAddr48: type: string pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$' + description: > + String identifying a MAC address formatted in the hexadecimal notation + according to clause 1.1 and clause 2.1 of RFC 7042. + MacAddr48Rm: type: string pattern: '^([0-9a-fA-F]{2})((-[0-9a-fA-F]{2}){5})$' nullable: true + description: > + "String identifying a MAC address formatted in the hexadecimal notation according to + clause 1.1 and clause 2.1 of RFC 7042 with the OpenAPI 'nullable: true' property." + SupportedFeatures: type: string pattern: '^[A-Fa-f0-9]*$' + description: > + A string used to indicate the features supported by an API that is used as defined in clause + 6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in + hexadecimal representation Each character in the string shall take a value of "0" to "9", + "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in + table 5.2.2-3. The most significant character representing the highest-numbered features + shall appear first in the string, and the character representing features 1 to 4 + shall appear last in the string. The list of features and their numbering (starting with 1) + are defined separately for each API. If the string contains a lower number of characters + than there are defined features for an API, all features that would be represented by + characters that are not present in the string are not supported. + Uinteger: type: integer minimum: 0 + description: Unsigned Integer, i.e. only value 0 and integers above 0 are permissible. + UintegerRm: type: integer minimum: 0 + description: > + Unsigned Integer, i.e. only value 0 and integers above 0 are permissible with + the OpenAPI 'nullable: true' property. nullable: true + Uint16: type: integer minimum: 0 maximum: 65535 + description: > + Integer where the allowed values correspond to the value range of an + unsigned 16-bit integer. + Uint16Rm: type: integer minimum: 0 maximum: 65535 nullable: true + description: > + Integer where the allowed values correspond to the value range of an unsigned + 16-bit integer with the OpenAPI 'nullable: true' property. + Uint32: type: integer minimum: 0 maximum: 4294967295 #(2^32)-1 + description: > + Integer where the allowed values correspond to the value range of an unsigned + 32-bit integer. + Uint32Rm: format: int32 type: integer minimum: 0 maximum: 4294967295 #(2^32)-1 nullable: true + description: > + Integer where the allowed values correspond to the value range of an unsigned + 32-bit integer with the OpenAPI 'nullable: true' property. + Uint64: type: integer minimum: 0 maximum: 18446744073709551615 #(2^64)-1 + description: > + Integer where the allowed values correspond to the value range of an + unsigned 64-bit integer. + Uint64Rm: type: integer minimum: 0 maximum: 18446744073709551615 #(2^64)-1 nullable: true + description: > + Integer where the allowed values correspond to the value range of an unsigned + 16-bit integer with the OpenAPI 'nullable: true' property. + Uri: type: string + description: String providing an URI formatted according to RFC 3986. + UriRm: type: string nullable: true + description: > + String providing an URI formatted according to RFC 3986 with the OpenAPI + 'nullable: true' property. + VarUeId: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|gci-.+|gli-.+|.+)$' + description: String represents the SUPI or GPSI + VarUeIdRm: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|gci-.+|gli-.+|.+)$' nullable: true + description: "String represents the SUPI or GPSI with the OpenAPI 'nullable: true' property." + TimeZone: type: string + example: '-08:00+1' + description: | + String with format "time-numoffset" optionally appended by "daylightSavingTime", where + - "time-numoffset" shall represent the time zone adjusted for daylight saving time and be + encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339; + - "daylightSavingTime" shall represent the adjustment that has been made and shall be + encoded as "+1" or "+2" for a +1 or +2 hours adjustment. + + The example is for 8 hours behind UTC, +1 hour adjustment for Daylight Saving Time. + TimeZoneRm: type: string nullable: true + description: | + "String with format 'time-numoffset' optionally appended by '', where + - 'time-numoffset' shall represent the time zone adjusted for daylight saving time and be + encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339; + - 'daylightSavingTime' shall represent the adjustment that has been made and shall be + encoded as '+1' or '+2' for a +1 or +2 hours adjustment. + + But with the OpenAPI 'nullable: true' property." + StnSr: type: string + description: String representing the STN-SR as defined in clause 18.6 of 3GPP TS 23.003. + StnSrRm: type: string nullable: true + description: > + String representing the STN-SR as defined in clause 18.6 of 3GPP TS 23.003 + with the OpenAPI 'nullable: true' property. + CMsisdn: type: string pattern: '^[0-9]{5,15}$' + description: String representing the C-MSISDN as defined in clause 18.7 of 3GPP TS 23.003. + CMsisdnRm: type: string pattern: '^[0-9]{5,15}$' nullable: true + description: > + String representing the C-MSISDN as defined in clause 18.7 of 3GPP TS 23.003 with + the OpenAPI 'nullable: true' property. + + MonthOfYear: + type: integer + minimum: 1 + maximum: 12 + description: > + integer between and including 1 and 12 denoting a month. 1 shall indicate January, + and the subsequent months shall be indicated with the next higher numbers. + 12 shall indicate December. + DayOfWeek: type: integer minimum: 1 maximum: 7 - description: integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday. + description: > + integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, + and the subsequent weekdays shall be indicated with the next higher numbers. + 7 shall indicate Sunday. + TimeOfDay: type: string - description: String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339. Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + description: > + String with format partial-time or full-time as defined in clause 5.6 of IETF RFC 3339. + Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + EmptyObject: description: Empty JSON object { }, it is defined with the keyword additionalProperties false type: object @@ -234,6 +422,7 @@ components: anyOf: - $ref: '#/components/schemas/Fqdn' - $ref: '#/components/schemas/NullValue' + # # COMMON ENUMERATED DATA TYPES # @@ -249,6 +438,8 @@ components: - replace - test - type: string + description: Operations as defined in IETF RFC 6902. + UriScheme: anyOf: - type: string @@ -256,6 +447,8 @@ components: - http - https - type: string + description: HTTP and HTTPS URI scheme. + ChangeType: anyOf: - type: string @@ -265,6 +458,8 @@ components: - REMOVE - REPLACE - type: string + description: Indicates the type of change to be performed. + HttpMethod: anyOf: - type: string @@ -279,18 +474,49 @@ components: - CONNECT - TRACE - type: string + description: HTTP methodes. + NullValue: enum: - null + description: JSON's null value. + + + MatchingOperator: + anyOf: + - type: string + enum: + - FULL_MATCH + - MATCH_ALL + - STARTS_WITH + - NOT_START_WITH + - ENDS_WITH + - NOT_END_WITH + - CONTAINS + - NOT_CONTAIN + - type: string + description: the matching operation. + + UpfPacketInspectionFunctionality: + description: Indicates a packet inspection functionality of the UPF. + anyOf: + - type: string + enum: + - DEEP_PACKET_INSPECTION + - MAC_FILTER_BASED_PACKET_DETECTION + - IP_FILTER_BASED_PACKET_DETECTION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration. + # # COMMON STRUCTURED DATA TYPES # -#### -##### Note: this datatype is commented out as to removed extra inference to TS29510_Nnrf_AccessToken.yaml -##### only 1st and this four lines are added, line 298- 301 are commented out simply. By S on 4.4.2022 -#### + ProblemDetails: + description: Provides additional information in an error response. type: object properties: type: @@ -301,10 +527,15 @@ components: type: integer detail: type: string + description: A human-readable explanation specific to this occurrence of the problem. instance: $ref: '#/components/schemas/Uri' cause: type: string + description: > + A machine-readable application error cause specific to this occurrence of the problem. + This IE should be present and provide application-related error information, if + available. invalidParams: type: array items: @@ -312,23 +543,36 @@ components: minItems: 1 supportedFeatures: $ref: '#/components/schemas/SupportedFeatures' -# accessTokenError: -# $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenErr' -# accessTokenRequest: -# $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenReq' + #accessTokenError: + # $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenErr' + #accessTokenRequest: + # $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenReq' nrfId: - type: string + $ref: '#/components/schemas/Fqdn' + supportedApiVersions: + type: array + items: + type: string + minItems: 1 + #noProfileMatchInfo: + # $ref: 'TS29510_Nnrf_NFDiscovery.yaml#/components/schemas/NoProfileMatchInfo' + Link: type: object properties: href: $ref: '#/components/schemas/Uri' + description: It contains the URI of the linked resource. + LinkRm: type: object properties: href: $ref: '#/components/schemas/Uri' nullable: true + description: > + It contains the URI of the linked resource with the OpenAPI 'nullable: true' property. + PatchItem: type: object properties: @@ -336,12 +580,20 @@ components: $ref: '#/components/schemas/PatchOperation' path: type: string + description: > + contains a JSON pointer value (as defined in IETF RFC 6901) that references + a location of a resource on which the patch operation shall be performed. from: type: string + description: > + indicates the path of the source JSON element (according to JSON Pointer syntax) + being moved or copied to the location indicated by the "path" attribute. value: {} required: - op - path + description: it contains information on data to be changed. + LinksValueSchema: oneOf: - type: array @@ -349,6 +601,8 @@ components: $ref: '#/components/schemas/Link' minItems: 1 - $ref: '#/components/schemas/Link' + description: A list of mutually exclusive alternatives of 1 or more links. + SelfLink: type: object properties: @@ -356,15 +610,34 @@ components: $ref: '#/components/schemas/Link' required: - self + description: It contains the URI of the linked resource. + InvalidParam: type: object properties: param: type: string + description: > + If the invalid parameter is an attribute in a JSON body, this IE shall contain the + attribute's name and shall be encoded as a JSON Pointer. If the invalid parameter is + an HTTP header, this IE shall be formatted as the concatenation of the string "header " + plus the name of such header. If the invalid parameter is a query parameter, this IE + shall be formatted as the concatenation of the string "query " plus the name of such + query parameter. If the invalid parameter is a variable part in the path of a resource + URI, this IE shall contain the name of the variable, including the symbols "{" and "}" + used in OpenAPI specification as the notation to represent variable path segments. reason: type: string + description: > + A human-readable reason, e.g. "must be a positive integer". In cases involving failed + operations in a PATCH request, the reason string should identify the operation that + failed using the operation's array index to assist in correlation of the invalid + parameter with the failed operation, e.g." Replacement value invalid for attribute + (failed operation index= 4)" required: - param + description: It contains an invalid parameter and a related description. + ChangeItem: type: object properties: @@ -372,13 +645,22 @@ components: $ref: '#/components/schemas/ChangeType' path: type: string + description: > + contains a JSON pointer value (as defined in IETF RFC 6901) that references a target + location within the resource on which the change has been applied. from: type: string + description: > + indicates the path of the source JSON element (according to JSON Pointer syntax) + being moved or copied to the location indicated by the "path" attribute. It shall + be present if the "op" attribute is of value "MOVE". origValue: {} newValue: {} required: - op - path + description: It contains data which need to be changed. + NotifyItem: type: object required: @@ -392,10 +674,17 @@ components: items: $ref: '#/components/schemas/ChangeItem' minItems: 1 + description: Indicates changes on a resource. + ComplexQuery: oneOf: - $ref: '#/components/schemas/Cnf' - $ref: '#/components/schemas/Dnf' + description: > + The ComplexQuery data type is either a conjunctive normal form or a disjunctive normal form. + The attribute names "cnfUnits" and "dnfUnits" (see clause 5.2.4.11 and clause 5.2.4.12) + serve as discriminator. + Cnf: type: object required: @@ -406,6 +695,8 @@ components: items: $ref: '#/components/schemas/CnfUnit' minItems: 1 + description: A conjunctive normal form + Dnf: type: object required: @@ -416,6 +707,8 @@ components: items: $ref: '#/components/schemas/DnfUnit' minItems: 1 + description: A disjunctive normal form. + CnfUnit: type: object required: @@ -426,6 +719,10 @@ components: items: $ref: '#/components/schemas/Atom' minItems: 1 + description: > + During the processing of cnfUnits attribute, all the members in the array shall be + interpreted as logically concatenated with logical "AND". + DnfUnit: type: object required: @@ -436,7 +733,12 @@ components: items: $ref: '#/components/schemas/Atom' minItems: 1 + description: > + During the processing of dnfUnits attribute, all the members in the array shall be + interpreted as logically concatenated with logical "OR". + Atom: + description: contains a search parameter and its positive or negative content. type: object required: - attr @@ -444,10 +746,14 @@ components: properties: attr: type: string + description: contains the name of a defined query parameter. value: {} negative: type: boolean + description: indicates whether the negative condition applies for the query condition. + PatchResult: + description: The execution report result on failed modification. type: object required: - report @@ -457,6 +763,10 @@ components: items: $ref: '#/components/schemas/ReportItem' minItems: 1 + description: > + The execution report contains an array of report items. Each report item indicates one + failed modification. + ReportItem: type: object required: @@ -464,36 +774,74 @@ components: properties: path: type: string + description: > + Contains a JSON pointer value (as defined in IETF RFC 6901) that references a + location of a resource to which the modification is subject. + reason: + type: string + description: > + A human-readable reason providing details on the reported modification failure. + The reason string should identify the operation that failed using the operation's + array index to assist in correlation of the invalid parameter with the failed + operation, e.g. "Replacement value invalid for attribute (failed operation index= 4)". + description: indicates performed modivications. + HalTemplate: + description: > + Hypertext Application Language (HAL) template contains the extended 3GPP hypermedia format. type: object required: - method properties: title: type: string + description: A human-readable string that can be used to identify this template method: $ref: '#/components/schemas/HttpMethod' contentType: type: string + description: > + The media type that should be used for the corresponding request. If the attribute + is missing, or contains an unrecognized value, the client should act as if the + contentType is set to "application/json". properties: type: array items: $ref: '#/components/schemas/Property' minItems: 1 + description: > + The properties that should be included in the body of the corresponding request. + If the contentType attribute is set to "application/json", then this attribute + describes the attributes of the JSON object of the body. + Property: + description: > + If the contentType attribute is set to "application/json", then this attribute describes + the attributes of the JSON object of the body. type: object required: - name properties: name: type: string + description: The name of the property required: type: boolean + description: > + Indicates whether the property is required – true= required – + false(default)= not required. regex: type: string + description: A regular expression string to be applied to the value of the property. value: type: string + description: The property value. When present, it shall be a valid JSON string. + RedirectResponse: + description: > + The response shall include a Location header field containing a different URI + (pointing to a different URI of an other service instance), or the same URI if a request + is redirected to the same target resource via a different SCP. type: object properties: cause: @@ -503,8 +851,162 @@ components: targetSepp: $ref: '#/components/schemas/Uri' + TunnelAddress: + description: Tunnel address + type: object + properties: + ipv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + portNumber: + $ref: '#/components/schemas/Uinteger' + required: + - portNumber + anyOf: + - required: [ ipv4Addr ] + - required: [ ipv6Addr ] + + + FqdnPatternMatchingRule: + description: a matching rule for a FQDN pattern + type: object + oneOf: + - required: [ regex ] + - required: [ stringMatchingRule ] + properties: + regex: + type: string + stringMatchingRule: + $ref: '#/components/schemas/StringMatchingRule' + + + StringMatchingRule: + description: A list of conditions for string matching + type: object + properties: + stringMatchingConditions: + type: array + items: + $ref: '#/components/schemas/StringMatchingCondition' + minItems: 1 + required: + - stringMatchingConditions + + StringMatchingCondition: + description: A String with Matching Operator + type: object + properties: + matchingString: + type: string + matchingOperator: + $ref: '#/components/schemas/MatchingOperator' + required: + - matchingOperator + + Ipv4AddressRange: + description: Range of IPv4 addresses + type: object + properties: + start: + $ref: '#/components/schemas/Ipv4Addr' + end: + $ref: '#/components/schemas/Ipv4Addr' + required: + - start + - end + + + Ipv6AddressRange: + description: Range of IPv6 addresses + type: object + properties: + start: + $ref: '#/components/schemas/Ipv6Addr' + end: + $ref: '#/components/schemas/Ipv6Addr' + required: + - start + - end + + Ipv6PrefixRange: + description: Range of IPv6 prefixes + type: object + properties: + start: + $ref: '#/components/schemas/Ipv6Prefix' + end: + $ref: '#/components/schemas/Ipv6Prefix' + required: + - start + - end + + NfSignallingInfo: + description: NF Signalling Information + type: object + properties: + nfInstanceId: + $ref: '#/components/schemas/NfInstanceId' + nfSigInfoPerWndw: + type: array + items: + $ref: '#/components/schemas/NfSignallingInfoPerTimeWindow' + minItems: 1 + nfHeartbeatInfo: + $ref: '#/components/schemas/NfHeartbeatInfo' + unexpStatusInd: + type: boolean + default: false + required: + - nfInstanceId + + NfSignallingInfoPerTimeWindow: + description: NF Signalling Information Per time window + type: object + properties: + # tw: + # $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + nfSigInfoPerService: + type: array + items: + $ref: '#/components/schemas/NfSignallingInfoPerService' + minItems: 1 + required: + - tw + - nfSigInfoPerService + NfSignallingInfoPerService: + description: NF signalling information per service. + type: object + properties: + nfServiceInstanceId: + type: string + #serviceName: + # $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName' + avgProcTime: + $ref: '#/components/schemas/Float' + numOfReq: + $ref: '#/components/schemas/Uinteger' + numOfReqUnresp: + $ref: '#/components/schemas/Uinteger' + numOfReqReject: + $ref: '#/components/schemas/Uinteger' + numOfRedMessages: + $ref: '#/components/schemas/Uinteger' + numOfPosteriorReq: + $ref: '#/components/schemas/Uinteger' + required: + - nfServiceInstanceId + - serviceName + NfHeartbeatInfo: + description: NF heart beat information. + type: object + properties: + numOfRetrans: + $ref: '#/components/schemas/Uinteger' + hbIntvl: + $ref: '#/components/schemas/Uinteger' # # Data Types related to Subscription, Identification and Numbering as defined in clause 5.3 @@ -515,82 +1017,236 @@ components: # Dnn: type: string + description: > + String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; + it shall contain either a DNN Network Identifier, or a full DNN with both the Network + Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. + It shall be coded as string in which the labels are separated by dots + (e.g. "Label1.Label2.Label3"). DnnRm: type: string nullable: true + description: > + String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; + it shall contain either a DNN Network Identifier, or a full DNN with both the + Network Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 + and 9.1.2. It shall be coded as string in which the labels are separated by dots + (e.g. 'Label1.Label2.Label3') with the OpenAPI 'nullable: true' property. + WildcardDnn: type: string pattern: '^[*]$' + description: String representing the Wildcard DNN. It shall contain the string "*". + WildcardDnnRm: type: string pattern: '^[*]$' nullable: true + description: > + String representing the Wildcard DNN. It shall contain the string '*' but with the + OpenAPI 'nullable: true' property. + Gpsi: type: string pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' + description: > + String identifying a Gpsi shall contain either an External Id or an MSISDN. + It shall be formatted as follows -External Identifier= "extid-'extid', where 'extid' + shall be formatted according to clause 19.7.2 of 3GPP TS 23.003 that describes an + External Identifier. + GpsiRm: type: string pattern: '^(msisdn-[0-9]{5,15}|extid-[^@]+@[^@]+|.+)$' nullable: true + description: > + String identifying a Gpsi shall contain either an External Id or an MSISDN. It shall be + formatted as follows -External Identifier= 'extid-'extid', where 'extid' shall be formatted + according to clause 19.7.2 of 3GPP TS 23.003 that describes an External Identifier with the + OpenAPI 'nullable: true' property. + GroupId: type: string pattern: '^[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$' + description: > + String identifying a group of devices network internal globally unique ID which identifies + a set of IMSIs, as specified in clause 19.9 of 3GPP TS 23.003. + GroupIdRm: type: string pattern: '^[A-Fa-f0-9]{8}-[0-9]{3}-[0-9]{2,3}-([A-Fa-f0-9][A-Fa-f0-9]){1,10}$' nullable: true + description: > + String identifying a group of devices network internal globally unique ID which + identifies a set of IMSIs, as specified in clause 19.9 of 3GPP TS 23.003 with the + OpenAPI 'nullable: true' property. + ExternalGroupId: type: string pattern: '^extgroupid-[^@]+@[^@]+$' + description: > + String identifying External Group Identifier that identifies a group made up of one or + more subscriptions associated to a group of IMSIs, as specified in clause 19.7.3 of 3GPP + TS 23.003. + ExternalGroupIdRm: type: string pattern: '^extgroupid-[^@]+@[^@]+$' nullable: true + description: > + String identifying External Group Identifier that identifies a group made up of one or + more subscriptions associated to a group of IMSIs, as specified in clause 19.7.3 of + 3GPP TS 23.003 with the OpenAPI 'nullable: true' property. + Pei: type: string pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' + description: > + String representing a Permanent Equipment Identifier that may contain - an IMEI or IMEISV, + as specified in clause 6.2 of 3GPP TS 23.003; a MAC address for a 5G-RG or FN-RG via + wireline access, with an indication that this address cannot be trusted for regulatory + purpose if this address cannot be used as an Equipment Identifier of the FN-RG, as + specified in clause 4.7.7 of 3GPP TS23.316. Examples are imei-012345678901234 or + imeisv-0123456789012345. + PeiRm: type: string pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' nullable: true + description: > + This data type is defined in the same way as the 'Pei' data type but with + the OpenAPI 'nullable: true' property. + Supi: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|.+)$' + description: | + String identifying a Supi that shall contain either an IMSI, a network specific identifier, + a Global Cable Identifier (GCI) or a Global Line Identifier (GLI) as specified in clause + 2.2A of 3GPP TS 23.003. It shall be formatted as follows + - for an IMSI "imsi-", where shall be formatted according to clause 2.2 + of 3GPP TS 23.003 that describes an IMSI. + - for a network specific identifier "nai-, where shall be formatted + according to clause 28.7.2 of 3GPP TS 23.003 that describes an NAI. + - for a GCI "gci-", where shall be formatted according to clause 28.15.2 + of 3GPP TS 23.003. + - for a GLI "gli-", where shall be formatted according to clause 28.16.2 of + 3GPP TS 23.003.To enable that the value is used as part of an URI, the string shall + only contain characters allowed according to the "lower-with-hyphen" naming convention + defined in 3GPP TS 29.501. + SupiRm: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|gci-.+|gli-.+|.+)$' nullable: true + description: > + This data type is defined in the same way as the 'Supi' data type, but with the + OpenAPI 'nullable: true' property. + NfInstanceId: type: string format: uuid + description: > + String uniquely identifying a NF instance. The format of the NF Instance ID shall be a + Universally Unique Identifier (UUID) version 4. + AmfId: type: string pattern: '^[A-Fa-f0-9]{6}$' - AmfRegionId: + description: > + String identifying the AMF ID composed of AMF Region ID (8 bits), AMF Set ID (10 bits) + and AMF Pointer (6 bits) as specified in clause 2.10.1 of 3GPP TS 23.003. It is encoded + as a string of 6 hexadecimal characters (i.e., 24 bits). + + AmfRegionId: type: string pattern: '^[A-Fa-f0-9]{2}$' + description: > + String identifying the AMF Region (8 bits) as specified in clause 2.10.1 of + 3GPP TS 23.003. It is encoded as a string of 2 hexadecimal characters (i.e. 8 bits). + AmfSetId: type: string pattern: '^[0-3][A-Fa-f0-9]{2}$' + description: > + String identifying the AMF Set ID (10 bits) as specified in clause 2.10.1 of 3GPP TS 23.003. + It is encoded as a string of 3 hexadecimal characters where the first character is limited + to values 0 to 3 (i.e. 10 bits). + RfspIndex: type: integer minimum: 1 maximum: 256 + description: > + Unsigned integer representing the "Subscriber Profile ID for RAT/Frequency Priority" + as specified in 3GPP TS 36.413. + RfspIndexRm: type: integer minimum: 1 maximum: 256 nullable: true + description: > + Unsigned integer representing the 'Subscriber Profile ID for RAT/Frequency Priority' + as specified in 3GPP TS 36.413 with the OpenAPI 'nullable: true' property. + NfGroupId: type: string + description: Identifier of a group of NFs. + MtcProviderInformation: type: string + description: String uniquely identifying MTC provider information. + CagId: type: string pattern: '^[A-Fa-f0-9]{8}$' + description: String containing a Closed Access Group Identifier. + SupiOrSuci: type: string - pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.+|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.*|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' + description: String identifying a SUPI or a SUCI. + + Imsi: + description: String identifying an IMSI + type: string + pattern: '^[0-9]{5,15}$' + + ApplicationlayerId: + type: string + description: > + String identifying an UE with application layer ID. The format of the application + layer ID parameter is same as the Application layer ID defined in clause 11.3.4 of + 3GPP TS 24.554. + + NsacSai: + type: string + description: > + String identifying the Network Slice Admission Control Service Area Identifier. + + +# +# ENUMERATED DATA TYPES +# + + GroupServiceId: + anyOf: + - type: integer + enum: + - 1 + - 2 + - 3 + - type: integer + description: > + This integer provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - 1: Group specific NAS level congestion control + - 2: Group specific Monitoring of Number of UEs present in a geographical area + - 3: Group specific Group specific for 5G LAN Type service # # STRUCTURED DATA TYPES @@ -605,10 +1261,16 @@ components: required: - plmnId - amfId + description: Globally Unique AMF Identifier constructed out of PLMN, Network and AMF identity. + GuamiRm: anyOf: - $ref: '#/components/schemas/Guami' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Guami' data type, but with the OpenAPI + 'nullable: true' property. + NetworkId: type: object properties: @@ -616,6 +1278,7 @@ components: $ref: '#/components/schemas/Mnc' mcc: $ref: '#/components/schemas/Mcc' + description: contains PLMN and Network identity. # @@ -627,106 +1290,356 @@ components: # ApplicationId: type: string + description: String providing an application identifier. ApplicationIdRm: type: string nullable: true + description: > + String providing an application identifier with the OpenAPI 'nullable: true' property. + PduSessionId: type: integer minimum: 0 maximum: 255 + description: > + Unsigned integer identifying a PDU session, within the range 0 to 255, as specified in + clause 11.2.3.1b, bits 1 to 8, of 3GPP TS 24.007. If the PDU Session ID is allocated by the + Core Network for UEs not supporting N1 mode, reserved range 64 to 95 is used. PDU Session ID + within the reserved range is only visible in the Core Network. + Mcc: type: string pattern: '^\d{3}$' + description: > + Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 + of 3GPP TS 38.413. + MccRm: type: string pattern: '^\d{3}$' nullable: true + description: > + Mobile Country Code part of the PLMN, comprising 3 digits, as defined in clause 9.3.3.5 of + 3GPP TS 38.413 with the OpenAPI 'nullable: true' property. + Mnc: type: string pattern: '^\d{2,3}$' + description: > + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in + clause 9.3.3.5 of 3GPP TS 38.413. + MncRm: type: string pattern: '^\d{2,3}$' nullable: true + description: > + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause + 9.3.3.5 of 3GPP TS 38.413 with the OpenAPI 'nullable: true' property. + Tac: type: string pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + description: > + 2 or 3-octet string identifying a tracking area code as specified in clause 9.3.3.16 or + 9.3.3.10 of 3GPP TS 38.413, in hexadecimal representation. Each character in the string + shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits of the TAC shall + appear first in the string, and the character representing the 4 least significant bit + of the TAC shall appear last in the string. TacRm: type: string pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' nullable: true + description: > + This data type is defined in the same way as the 'Tac' data type, but with the + OpenAPI 'nullable: true' property. + EutraCellId: type: string pattern: '^[A-Fa-f0-9]{7}$' + description: > + 28-bit string identifying an E-UTRA Cell Id as specified in clause 9.3.1.9 of + 3GPP TS 38.413, in hexadecimal representation. Each character in the string shall take a + value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most + significant character representing the 4 most significant bits of the Cell Id shall appear + first in the string, and the character representing the 4 least significant bit of the + Cell Id shall appear last in the string. + EutraCellIdRm: type: string pattern: '^[A-Fa-f0-9]{7}$' nullable: true + description: > + This data type is defined in the same way as the 'EutraCellId' data type, but with + the OpenAPI 'nullable: true' property. + NrCellId: type: string pattern: '^[A-Fa-f0-9]{9}$' + description: > + 36-bit string identifying an NR Cell Id as specified in clause 9.3.1.7 of 3GPP TS 38.413, + in hexadecimal representation. Each character in the string shall take a value of "0" to + "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant character + representing the 4 most significant bits of the Cell Id shall appear first in the string, + and the character representing the 4 least significant bit of the Cell Id shall appear last + in the string. + NrCellIdRm: type: string pattern: '^[A-Fa-f0-9]{9}$' nullable: true + description: > + This data type is defined in the same way as the 'NrCellId' data type, but with the + OpenAPI 'nullable: true' property. Dnai: type: string + description: DNAI (Data network access identifier), see clause 5.6.7 of 3GPP TS 23.501. + DnaiRm: type: string nullable: true + description: > + This data type is defined in the same way as the 'Dnai' data type, but with the + OpenAPI 'nullable: true' property. + 5GMmCause: $ref: '#/components/schemas/Uinteger' + AmfName: - type: string + $ref: '#/components/schemas/Fqdn' + AreaCode: type: string + description: Values are operator specific. + AreaCodeRm: type: string nullable: true + description: > + This data type is defined in the same way as the 'AreaCode' data type, but with the + OpenAPI 'nullable: true' property. + N3IwfId: type: string pattern: '^[A-Fa-f0-9]+$' + description: > + This represents the identifier of the N3IWF ID as specified in clause 9.3.1.57 of + 3GPP TS 38.413 in hexadecimal representation. Each character in the string shall take a value + of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant + character representing the 4 most significant bits of the N3IWF ID shall appear first in the + string, and the character representing the 4 least significant bit of the N3IWF ID shall + appear last in the string. + WAgfId: type: string pattern: '^[A-Fa-f0-9]+$' + description: > + This represents the identifier of the W-AGF ID as specified in clause 9.3.1.162 of + 3GPP TS 38.413 in hexadecimal representation. Each character in the string shall take a + value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most + significant character representing the 4 most significant bits of the W-AGF ID shall + appear first in the string, and the character representing the 4 least significant bit + of the W-AGF ID shall appear last in the string. + TngfId: type: string pattern: '^[A-Fa-f0-9]+$' + description: > + This represents the identifier of the TNGF ID as specified in clause 9.3.1.161 of + 3GPP TS 38.413 in hexadecimal representation. Each character in the string shall take a value + of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant + character representing the 4 most significant bits of the TNGF ID shall appear first in + the string, and the character representing the 4 least significant bit of the TNGF ID + shall appear last in the string. + NgeNbId: type: string pattern: '^(MacroNGeNB-[A-Fa-f0-9]{5}|LMacroNGeNB-[A-Fa-f0-9]{6}|SMacroNGeNB-[A-Fa-f0-9]{5})$' + description: > + This represents the identifier of the ng-eNB ID as specified in clause 9.3.1.8 of + 3GPP TS 38.413. The value of the ng-eNB ID shall be encoded in hexadecimal representation. + Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and + shall represent 4 bits. The padding 0 shall be added to make multiple nibbles, so the most + significant character representing the padding 0 if required together with the 4 most + significant bits of the ng-eNB ID shall appear first in the string, and the character + representing the 4 least significant bit of the ng-eNB ID (to form a nibble) shall appear + last in the string. + + example: SMacroNGeNB-34B89 Nid: type: string pattern: '^[A-Fa-f0-9]{11}$' + description: > + This represents the Network Identifier, which together with a PLMN ID is used to identify + an SNPN (see 3GPP TS 23.003 and 3GPP TS 23.501 clause 5.30.2.1). + NidRm: type: string pattern: '^[A-Fa-f0-9]{11}$' nullable: true + description: > + This data type is defined in the same way as the 'Nid' data type, but with the OpenAPI + 'nullable: true' property." + NfSetId: type: string + description: > + NF Set Identifier (see clause 28.12 of 3GPP TS 23.003), formatted as the following string + "set.set.5gc.mnc.mcc", or + "set.set.5gc.nid.mnc.mcc" with + encoded as defined in clause 5.4.2 ("Mcc" data type definition) + encoding the Mobile Network Code part of the PLMN, comprising 3 digits. + If there are only 2 significant digits in the MNC, one "0" digit shall be inserted + at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' + encoded as a value defined in Table 6.1.6.3.3-1 of 3GPP TS 29.510 but + with lower case characters encoded as a string of characters consisting of + alphabetic characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that + shall end with either an alphabetic character or a digit. + NfServiceSetId: type: string + description: > + NF Service Set Identifier (see clause 28.12 of 3GPP TS 23.003) formatted as the following + string "set.sn.nfi.5gc.mnc.mcc", or + "set.sn.nfi.5gc.nid.mnc.mcc" with + encoded as defined in clause 5.4.2 ("Mcc" data type definition) + encoding the Mobile Network Code part of the PLMN, comprising 3 digits. + If there are only 2 significant digits in the MNC, one "0" digit shall be inserted + at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' + encoded as defined in clause 5.4.2 ("Nid" data type definition) + encoded as defined in clause 5.3.2 + encoded as defined in 3GPP TS 29.510 + encoded as a string of characters consisting of alphabetic + characters (A-Z and a-z), digits (0-9) and/or the hyphen (-) and that shall end + with either an alphabetic character or a digit. + PlmnAssiUeRadioCapId: $ref: '#/components/schemas/Bytes' + ManAssiUeRadioCapId: $ref: '#/components/schemas/Bytes' + TypeAllocationCode: type: string pattern: '^[0-9]{8}$' + description: > + Type Allocation Code (TAC) of the UE, comprising the initial eight-digit portion of the + 15-digit IMEI and 16-digit IMEISV codes. See clause 6.2 of 3GPP TS 23.003. + HfcNId: type: string maxLength: 6 + description: > + This IE represents the identifier of the HFC node Id as specified in CableLabs + WR-TR-5WWC-ARCH. It is provisioned by the wireline operator as part of wireline + operations and may contain up to six characters. + HfcNIdRm: type: string maxLength: 6 nullable: true + description: > + This data type is defined in the same way as the 'HfcNId' data type, but with the + OpenAPI 'nullable: true' property. + ENbId: type: string pattern: '^(MacroeNB-[A-Fa-f0-9]{5}|LMacroeNB-[A-Fa-f0-9]{6}|SMacroeNB-[A-Fa-f0-9]{5}|HomeeNB-[A-Fa-f0-9]{7})$' + description: > + This represents the identifier of the eNB ID as specified in clause 9.2.1.37 of + 3GPP TS 36.413. The string shall be formatted with the following pattern + '^('MacroeNB-[A-Fa-f0-9]{5}|LMacroeNB-[A-Fa-f0-9]{6}|SMacroeNB-[A-Fa-f0-9]{5} + |HomeeNB-[A-Fa-f0-9]{7})$'. The value of the eNB ID shall be encoded in hexadecimal + representation. Each character in the string shall take a value of "0" to "9", "a" to "f" + or "A" to "F" and shall represent 4 bits. The padding 0 shall be added to make multiple + nibbles, so the most significant character representing the padding 0 if required together + with the 4 most significant bits of the eNB ID shall appear first in the string, and the + character representing the 4 least significant bit of the eNB ID (to form a nibble) shall + appear last in the string. + Gli: $ref: '#/components/schemas/Bytes' Gci: type: string + description: > + Global Cable Identifier uniquely identifying the connection between the 5G-CRG or FN-CRG + to the 5GS. See clause 28.15.4 of 3GPP TS 23.003. This shall be encoded as a string per + clause 28.15.4 of 3GPP TS 23.003, and compliant with the syntax specified in clause 2.2 + of IETF RFC 7542 for the username part of a NAI. The GCI value is specified in + CableLabs WR-TR-5WWC-ARCH. + + NsSrg: + type: string + description: > + String providing a Network Slice Simultaneous Registration Group. See clause 5.15.12 of + 3GPP TS 23.501 + + NsSrgRm: + type: string + nullable: true + description: > + String providing a Network Slice Simultaneous Registration Group with the OpenAPI + "nullable: true" property. See clause 5.15.12 of 3GPP TS 23.501 + + + RelayServiceCode: + type: integer + minimum: 0 + maximum: 16777215 + description: > + Relay Service Code to identify a connectivity service provided by the UE-to-Network relay or + the UE-to-UE relay. + + 5GPrukId: + type: string + description: > + A string carrying the CP-PRUK ID of the 5G ProSe Remote UE or the 5G ProSe End UE. + The CP-PRUK ID is a string in NAI format as specified in clause 28.7.11 of 3GPP TS 23.003. + pattern: '^rid[0-9]{1,4}\.pid[0-9a-fA-F]+\@prose-cp\.5gc\.mnc[0-9]{2,3}\.mcc[0-9]{3}\.3gppnetwork\.org$' + + NsagId: + type: integer + description: > + The Network Slice AS Group ID, see 3GPP TS 38.413 + + NsagIdRm: + type: integer + nullable: true + description: > + This data type is defined in the same way as the "NsagId" data type, but with the OpenAPI + "nullable: true" property + + GeoSatelliteId: + type: string + description: > + A string carrying the GEO Satellite ID. + + OffloadIdentifier: + type: string + description: > + Offload identifier uniquely identifying a VPLMN offloading policy information instance + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{8}(-v[0-9]{1,2}){0,1}$' + + OpConfiguredCapability: + type: string + description: > + The operator configurable capability supported by the UPF. + + SatelliteId: + type: string + description: > + Unique identifier of a satellite. + + EnergySavingIndicator: + $ref: '#/components/schemas/Uinteger' + + OverloadControlInfo: + description: > + String representing the Overload Control Information as defined in clause 5.2.3.2.9 of 3GPP + TS 29.500. + type: string + # # ENUMERATED DATA TYPES @@ -737,10 +1650,16 @@ components: enum: - 3GPP_ACCESS - NON_3GPP_ACCESS + description: Indicates whether the access is via 3GPP or via non-3GPP. + AccessTypeRm: anyOf: - $ref: '#/components/schemas/AccessType' - $ref: '#/components/schemas/NullValue' + description: > + Indicates wether the access is via 3GPP or via non-3GPP but with the OpenAPI + 'nullable: true' property." + RatType: anyOf: - type: string @@ -760,11 +1679,34 @@ components: - TRUSTED_WLAN - UTRA - GERA - - type: string + - NR_LEO + - NR_MEO + - NR_GEO + - NR_OTHER_SAT + - NR_REDCAP + - WB_E_UTRAN_LEO + - WB_E_UTRAN_MEO + - WB_E_UTRAN_GEO + - WB_E_UTRAN_OTHERSAT + - NB_IOT_LEO + - NB_IOT_MEO + - NB_IOT_GEO + - NB_IOT_OTHERSAT + - LTE_M_LEO + - LTE_M_MEO + - LTE_M_GEO + - LTE_M_OTHERSAT + - NR_EREDCAP + - HSPA_EVOLUTION - type: string + description: Indicates the radio access used. + RatTypeRm: anyOf: - $ref: '#/components/schemas/RatType' - $ref: '#/components/schemas/NullValue' + description: > + Provides information about the radio access but with the OpenAPI 'nullable: true' property. + PduSessionType: anyOf: - type: string @@ -775,10 +1717,18 @@ components: - UNSTRUCTURED - ETHERNET - type: string + description: > + PduSessionType indicates the type of a PDU session. It shall comply with the provisions + defined in table 5.4.3.3-1. + PduSessionTypeRm: anyOf: - $ref: '#/components/schemas/PduSessionType' - $ref: '#/components/schemas/NullValue' + description: > + PduSessionType indicates the type of a PDU session. It shall comply with the provisions + defined in table 5.4.3.3-1 but with the OpenAPI "nullable: true" property. + UpIntegrity: anyOf: - type: string @@ -787,10 +1737,20 @@ components: - PREFERRED - NOT_NEEDED - type: string + description: > + indicates whether UP integrity protection is required, preferred or not needed for all + the traffic on the PDU Session. It shall comply with the provisions defined in + table 5.4.3.4-1. + UpIntegrityRm: anyOf: - $ref: '#/components/schemas/UpIntegrity' - $ref: '#/components/schemas/NullValue' + description: > + indicates whether UP integrity protection is required, preferred or not needed for all + the traffic on the PDU Session. It shall comply with the provisions defined in + table 5.4.3.4-1. + UpConfidentiality: anyOf: - type: string @@ -799,10 +1759,20 @@ components: - PREFERRED - NOT_NEEDED - type: string + description: > + indicates whether UP confidentiality protection is required, preferred or not needed for + all the traffic on the PDU Session. It shall comply with the provisions defined in + table 5.4.3.5-1. + UpConfidentialityRm: anyOf: - $ref: '#/components/schemas/UpConfidentiality' - $ref: '#/components/schemas/NullValue' + description: > + indicates whether UP integrity protection is required, preferred or not needed for all the + traffic on the PDU Session. It shall comply with the provisions defined in table 5.4.3.4-1, + but with the OpenAPI 'nullable: true' property. + SscMode: anyOf: - type: string @@ -811,10 +1781,18 @@ components: - SSC_MODE_2 - SSC_MODE_3 - type: string + description: > + represents the service and session continuity mode It shall comply with the provisions + defined in table 5.4.3.6-1. + SscModeRm: anyOf: - $ref: '#/components/schemas/SscMode' - $ref: '#/components/schemas/NullValue' + description: > + represents the service and session continuity mode It shall comply with the provisions + defined in table 5.4.3.6-1 but with the OpenAPI 'nullable: true' property. + DnaiChangeType: anyOf: - type: string @@ -824,18 +1802,24 @@ components: - LATE - type: string description: > - This string provides forward-compatibility with future - extensions to the enumeration but is not used to encode - content defined in the present version of this API. - description: > - Possible values are + This string provides forward-compatibility with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + + description: | + Possible values are: - EARLY: Early notification of UP path reconfiguration. - - EARLY_LATE: Early and late notification of UP path reconfiguration. This value shall only be present in the subscription to the DNAI change event. - - LATE: Late notification of UP path reconfiguration. + - EARLY_LATE: Early and late notification of UP path reconfiguration. This value shall + only be present in the subscription to the DNAI change event. + - LATE: Late notification of UP path reconfiguration. + DnaiChangeTypeRm: anyOf: - $ref: '#/components/schemas/DnaiChangeType' - $ref: '#/components/schemas/NullValue' + description: > + It can take the values as specified for DnaiChangeType but with the OpenAPI + 'nullable: true' property. + RestrictionType: anyOf: - type: string @@ -843,10 +1827,16 @@ components: - ALLOWED_AREAS - NOT_ALLOWED_AREAS - type: string + description: It contains the restriction type ALLOWED_AREAS or NOT_ALLOWED_AREAS. + RestrictionTypeRm: anyOf: - $ref: '#/components/schemas/RestrictionType' - $ref: '#/components/schemas/NullValue' + description: > + It contains the restriction type ALLOWED_AREAS or NOT_ALLOWED_AREAS but with the + OpenAPI 'nullable: true' property. + CoreNetworkType: anyOf: - type: string @@ -854,10 +1844,16 @@ components: - 5GC - EPC - type: string + description: It contains the Core Network type 5GC or EPC. + CoreNetworkTypeRm: anyOf: - $ref: '#/components/schemas/CoreNetworkType' - $ref: '#/components/schemas/NullValue' + description: > + It contains the Core Network type 5GC or EPC but with the OpenAPI + 'nullable: true' property. + PresenceState: anyOf: - type: string @@ -867,6 +1863,13 @@ components: - UNKNOWN - INACTIVE - type: string + description: | + Possible values are: + -IN_AREA: Indicates that the UE is inside or enters the presence reporting area. + -OUT_OF_AREA: Indicates that the UE is outside or leaves the presence reporting area + -UNKNOW: Indicates it is unknown whether the UE is in the presence reporting area or not + -INACTIVE: Indicates that the presence reporting area is inactive in the serving node. + StationaryIndication: anyOf: - type: string @@ -878,14 +1881,19 @@ components: This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. - description: > - Possible values are + description: | + Possible values are: - STATIONARY: Identifies the UE is stationary - MOBILE: Identifies the UE is mobile + StationaryIndicationRm: anyOf: - $ref: '#/components/schemas/StationaryIndication' - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'StationaryIndication' enumeration, + but with the OpenAPI 'nullable: true' property." + ScheduledCommunicationType: anyOf: - type: string @@ -894,10 +1902,20 @@ components: - UPLINK_ONLY - BIDIRECTIONAL - type: string + description: | + Possible values are: + -DOWNLINK_ONLY: Downlink only + -UPLINK_ONLY: Uplink only + -BIDIRECTIONA: Bi-directional + ScheduledCommunicationTypeRm: anyOf: - $ref: '#/components/schemas/ScheduledCommunicationType' - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'ScheduledCommunicationTypen' + enumeration, but with the OpenAPI 'nullable: true' property." + TrafficProfile: anyOf: - type: string @@ -911,17 +1929,25 @@ components: description: > This string provides forward-compatibility with future extensions to the enumeration but is not used to encode - content defined in the present version of this API. - description: > - Possible values are + content defined in the present version of this API. + + description: | + Possible values are: - SINGLE_TRANS_UL: Uplink single packet transmission. - SINGLE_TRANS_DL: Downlink single packet transmission. - - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission with subsequent downlink packet transmission. - - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission with subsequent uplink packet transmission. + - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission + with subsequent downlink packet transmission. + - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission + with subsequent uplink packet transmission. + TrafficProfileRm: anyOf: - $ref: '#/components/schemas/TrafficProfile' - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'TrafficProfile' enumeration, but + with the OpenAPI 'nullable: true' property. + LcsServiceAuth: anyOf: - type: string @@ -937,12 +1963,14 @@ components: This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. - description: > - Possible values are + description: | + Possible values are: - "LOCATION_ALLOWED_WITH_NOTIFICATION": Location allowed with notification - "LOCATION_ALLOWED_WITHOUT_NOTIFICATION": Location allowed without notification - - "LOCATION_ALLOWED_WITHOUT_RESPONSE": Location with notification and privacy verification; location allowed if no response - - "LOCATION_RESTRICTED_WITHOUT_RESPONSE": Location with notification and privacy verification; location restricted if no response + - "LOCATION_ALLOWED_WITHOUT_RESPONSE": Location with notification and privacy + verification; location allowed if no response + - "LOCATION_RESTRICTED_WITHOUT_RESPONSE": Location with notification and privacy + verification; location restricted if no response - "NOTIFICATION_ONLY": Notification only - "NOTIFICATION_AND_VERIFICATION_ONLY": Notification and privacy verification only UeAuth: @@ -952,6 +1980,11 @@ components: - AUTHORIZED - NOT_AUTHORIZED - type: string + description: | + Possible values are: + - AUTHORIZED: Indicates that the UE is authorized. + - NOT_AUTHORIZED: Indicates that the UE is not authorized. + DlDataDeliveryStatus: anyOf: - type: string @@ -964,15 +1997,25 @@ components: This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. - description: > - Possible values are - - BUFFERED: The first downlink data is buffered with extended buffering matching the source of the downlink traffic. - - TRANSMITTED: The first downlink data matching the source of the downlink traffic is transmitted after previous buffering or discarding of corresponding packet(s) because the UE of the PDU Session becomes ACTIVE, and buffered data can be delivered to UE. - - DISCARDED: The first downlink data matching the source of the downlink traffic is discarded because the Extended Buffering time, as determined by the SMF, expires or the amount of downlink data to be buffered is exceeded. + description: | + Possible values are: + - BUFFERED: The first downlink data is buffered with extended buffering matching the + source of the downlink traffic. + - TRANSMITTED: The first downlink data matching the source of the downlink traffic is + transmitted after previous buffering or discarding of corresponding packet(s) because + the UE of the PDU Session becomes ACTIVE, and buffered data can be delivered to UE. + - DISCARDED: The first downlink data matching the source of the downlink traffic is + discarded because the Extended Buffering time, as determined by the SMF, expires or + the amount of downlink data to be buffered is exceeded. + DlDataDeliveryStatusRm: anyOf: - $ref: '#/components/schemas/DlDataDeliveryStatus' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the ' DlDataDeliveryStatus ' data type, + but with the OpenAPI 'nullable: true' property. + AuthStatus: anyOf: - type: string @@ -984,12 +2027,62 @@ components: description: > This string provides forward-compatibility with future extensions to the enumeration but is not used to encode - content defined in the present version of this API. - description: > - Possible values are + content defined in the present version of this API. + + description: | + Possible values are: - "EAP_SUCCESS": The NSSAA status is EAP-Success. - "EAP_FAILURE": The NSSAA status is EAP-Failure. - - "PENDING": The NSSAA status is Pending. + - "PENDING": The NSSAA status is Pending. + + LineType: + anyOf: + - type: string + enum: + - DSL + - PON + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + description: | + Possible values are: + - DSL: Identifies a DSL line + - PON: Identifies a PON line + + LineTypeRm: + anyOf: + - $ref: '#/components/schemas/LineType' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'LineType' data type, but with the + OpenAPI 'nullable: true' property. + + + NotificationFlag: + anyOf: + - type: string + enum: + - ACTIVATE + - DEACTIVATE + - RETRIEVAL + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + description: | + Possible values are: + - ACTIVATE: The event notification is activated. + - DEACTIVATE: The event notification is deactivated and shall be muted. The available + event(s) shall be stored. + - RETRIEVAL: The event notification shall be sent to the NF service consumer(s), + after that, is muted again. + + TransportProtocol: anyOf: - type: string @@ -1000,44 +2093,175 @@ components: description: > This string provides forward-compatibility with future extensions to the enumeration but is not used to encode - content defined in the present version of this API. - description: > - Possible values are - - UDP: User Datagram Protocol. - - TCP: Transmission Control Protocol. + content defined in the present version of this API. -# -# STRUCTURED DATA TYPES -# + description: | + Possible values are: + - UDP: User Datagram Protocol. + - TCP: Transmission Control Protocol. - Snssai: - type: object - properties: - sst: - type: integer - minimum: 0 - maximum: 255 - sd: - type: string - pattern: '^[A-Fa-f0-9]{6}$' - required: - - sst - PlmnId: - type: object - properties: - mcc: - $ref: '#/components/schemas/Mcc' - mnc: - $ref: '#/components/schemas/Mnc' - required: - - mcc - - mnc - PlmnIdRm: + SatelliteBackhaulCategory: anyOf: - - $ref: '#/components/schemas/PlmnId' - - $ref: '#/components/schemas/NullValue' + - type: string + enum: + - GEO + - MEO + - LEO + - OTHER_SAT + - DYNAMIC_GEO + - DYNAMIC_MEO + - DYNAMIC_LEO + - DYNAMIC_OTHER_SAT + - NON_SATELLITE + - type: string + description: Indicates the satellite backhaul used. + + SatelliteBackhaulCategoryRm: + anyOf: + - $ref: '#/components/schemas/SatelliteBackhaulCategory' + - $ref: '#/components/schemas/NullValue' + description: > + Provides information about the satellite backhaul but with the OpenAPI + 'nullable: true' property. + + BufferedNotificationsAction: + anyOf: + - type: string + enum: + - SEND_ALL + - DISCARD_ALL + - DROP_OLD + - type: string + description: > + Indicates the required action by the event producer NF on the buffered Notifications. + + SubscriptionAction: + anyOf: + - type: string + enum: + - CLOSE + - CONTINUE_WITH_MUTING + - CONTINUE_WITHOUT_MUTING + - type: string + description: > + Indicates the required action by the event producer NF on the event subscription if an + exception occurs while the event is muted. + + SnssaiStatus: + anyOf: + - type: string + enum: + - AVAILABLE + - UNAVAILABLE + - type: string + description: Indicates the S-NSSAI availability. + + TerminationIndication: + description: Indicates the termination of Network Slice Replacement. + anyOf: + - type: string + enum: + - NEW_UES_TERMINATION + - ALL_UES_TERMINATION + - type: string + + DelayMeasurementProtocol: + description: Delay measurement protocol + anyOf: + - type: string + enum: + - TWAMP + - OWAMP + - STAMP + - OTHER + - type: string + + CagProvisionOperation: + description: CAG provision operation + anyOf: + - type: string + enum: + - ADD + - REPLACE + - REMOVE + - type: string + +# +# STRUCTURED DATA TYPES +# + SubscribedDefaultQos: + type: object + required: + - 5qi + - arp + properties: + 5qi: + $ref: '#/components/schemas/5Qi' + arp: + $ref: '#/components/schemas/Arp' + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + description: Provides the subsribed 5QI and the ARP, it may contain the priority level. + + Snssai: + type: object + properties: + sst: + type: integer + minimum: 0 + maximum: 255 + description: > + Unsigned integer, within the range 0 to 255, representing the Slice/Service Type. + It indicates the expected Network Slice behaviour in terms of features and services. + Values 0 to 127 correspond to the standardized SST range. Values 128 to 255 correspond + to the Operator-specific range. See clause 28.4.2 of 3GPP TS 23.003. + Standardized values are defined in clause 5.15.2.2 of 3GPP TS 23.501. + + sd: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + description: > + 3-octet string, representing the Slice Differentiator, in hexadecimal representation. + Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" + and shall represent 4 bits. The most significant character representing the 4 most + significant bits of the SD shall appear first in the string, and the character + representing the 4 least significant bit of the SD shall appear last in the string. + This is an optional parameter that complements the Slice/Service type(s) to allow to + differentiate amongst multiple Network Slices of the same Slice/Service type. This IE + shall be absent if no SD value is associated with the SST. + description: > + When Snssai needs to be converted to string (e.g. when used in maps as key), the string shall + be composed of one to three digits "sst" optionally followed by "-" and 6 hexadecimal digits + "sd". + + required: + - sst + + PlmnId: + type: object + properties: + mcc: + $ref: '#/components/schemas/Mcc' + mnc: + $ref: '#/components/schemas/Mnc' + description: > + When PlmnId needs to be converted to string (e.g. when used in maps as key), the string + shall be composed of three digits "mcc" followed by "-" and two or three digits "mnc". + + required: + - mcc + - mnc + PlmnIdRm: + anyOf: + - $ref: '#/components/schemas/PlmnId' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'PlmnId' data type, but with the + OpenAPI 'nullable: true' property. + Tai: + description: Contains the tracking area identity as described in 3GPP 23.003 type: object properties: plmnId: @@ -1049,16 +2273,21 @@ components: required: - plmnId - tac + TaiRm: anyOf: - $ref: '#/components/schemas/Tai' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Tai' data type, but with the OpenAPI + 'nullable: true' property. + Ecgi: + description: Contains the ECGI (E-UTRAN Cell Global Identity), as described in 3GPP 23.003 type: object properties: plmnId: $ref: '#/components/schemas/PlmnId' - # PLMN Identity eutraCellId: $ref: '#/components/schemas/EutraCellId' nid: @@ -1066,11 +2295,17 @@ components: required: - plmnId - eutraCellId + EcgiRm: anyOf: - $ref: '#/components/schemas/Ecgi' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Ecgi' data type, but with the + OpenAPI 'nullable: true' property. + Ncgi: + description: Contains the NCGI (NR Cell Global Identity), as described in 3GPP 23.003 type: object properties: plmnId: @@ -1082,10 +2317,15 @@ components: required: - plmnId - nrCellId + NcgiRm: anyOf: - $ref: '#/components/schemas/Ncgi' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Ncgi' data type, but with the + OpenAPI 'nullable: true' property. + UserLocation: type: object properties: @@ -1099,7 +2339,12 @@ components: $ref: '#/components/schemas/UtraLocation' geraLocation: $ref: '#/components/schemas/GeraLocation' + description: > + At least one of eutraLocation, nrLocation, n3gaLocation, utraLocation, geraLocation + and plmnLocation shall be present. Several of them may be present. + EutraLocation: + description: Contains the E-UTRA user location. type: object properties: tai: @@ -1112,58 +2357,109 @@ components: ignoreEcgi: type: boolean default: false + description: > + This flag when present shall indicate that the Ecgi shall be ignored + When present, it shall be set as follows: + - true: ecgi shall be ignored. + - false (default): ecgi shall not be ignored. ageOfLocationInformation: type: integer minimum: 0 maximum: 32767 + description: > + The value represents the elapsed time in minutes since the last network contact of the + mobile station. Value "0" indicates that the location information was obtained after a + successful paging procedure for Active Location Retrieval when the UE is in idle mode + or after a successful NG-RAN location reporting procedure with the eNB when the UE is + in connected mode. Any other value than "0" indicates that the location information is + the last known one. See 3GPP TS 29.002 clause 17.7.8. ueLocationTimestamp: $ref: '#/components/schemas/DateTime' geographicalInformation: type: string pattern: '^[0-9A-F]{16}$' + description: > + Refer to geographical Information. See 3GPP TS 23.032 clause 7.3.2. Only the + description of an ellipsoid point with uncertainty circle is allowed to be used. geodeticInformation: type: string pattern: '^[0-9A-F]{20}$' + description: > + Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) [24] + clause 3.88.2. Only the description of an ellipsoid point with uncertainty circle + is allowed to be used. globalNgenbId: $ref: '#/components/schemas/GlobalRanNodeId' + globalENbId: $ref: '#/components/schemas/GlobalRanNodeId' required: - tai - ecgi + EutraLocationRm: anyOf: - $ref: '#/components/schemas/EutraLocation' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'EutraLocation' data type, but with + the OpenAPI 'nullable: true' property. + NrLocation: + description: Contains the NR user location. type: object properties: tai: $ref: '#/components/schemas/Tai' ncgi: $ref: '#/components/schemas/Ncgi' + ignoreNcgi: + type: boolean + default: false ageOfLocationInformation: type: integer minimum: 0 maximum: 32767 + description: > + The value represents the elapsed time in minutes since the last network contact of the mobile + station. Value "0" indicates that the location information was obtained after a + successful paging procedure for Active Location Retrieval when the UE is in idle mode + or after a successful NG-RAN location reporting procedure with the eNB when the UE is + in connected mode. Any other value than "0" indicates that the location information is + the last known one. See 3GPP TS 29.002 clause 17.7.8. ueLocationTimestamp: $ref: '#/components/schemas/DateTime' geographicalInformation: type: string pattern: '^[0-9A-F]{16}$' + description: > + Refer to geographical Information. See 3GPP TS 23.032 clause 7.3.2. Only the description + of an ellipsoid point with uncertainty circle is allowed to be used. geodeticInformation: type: string pattern: '^[0-9A-F]{20}$' + description: > + Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) [24] clause + 3.88.2. Only the description of an ellipsoid point with uncertainty circle is allowed + to be used. globalGnbId: $ref: '#/components/schemas/GlobalRanNodeId' + ntnTaiInfo: + $ref: '#/components/schemas/NtnTaiInfo' required: - tai - ncgi + NrLocationRm: - anyOf: + anyOf: - $ref: '#/components/schemas/NrLocation' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'NrLocation' data type, but with the + OpenAPI 'nullable: true' property." + N3gaLocation: + description: Contains the Non-3GPP access user location. type: object properties: n3gppTai: @@ -1171,16 +2467,24 @@ components: n3IwfId: type: string pattern: '^[A-Fa-f0-9]+$' + description: > + This IE shall contain the N3IWF identifier received over NGAP and shall be encoded as a + string of hexadecimal characters. Each character in the string shall take a value of "0" + to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant + character representing the 4 most significant bits of the N3IWF ID shall appear first in + the string, and the character representing the 4 least significant bit of the N3IWF ID + shall appear last in the string. + ueIpv4Addr: $ref: '#/components/schemas/Ipv4Addr' ueIpv6Addr: $ref: '#/components/schemas/Ipv6Addr' portNumber: $ref: '#/components/schemas/Uinteger' - tnapId: - $ref: '#/components/schemas/TnapId' protocol: $ref: '#/components/schemas/TransportProtocol' + tnapId: + $ref: '#/components/schemas/TnapId' twapId: $ref: '#/components/schemas/TwapId' hfcNodeId: @@ -1191,7 +2495,9 @@ components: $ref: '#/components/schemas/LineType' gci: $ref: '#/components/schemas/Gci' + UpSecurity: + description: Contains Userplain security information. type: object properties: upIntegr: @@ -1201,11 +2507,17 @@ components: required: - upIntegr - upConfid + UpSecurityRm: - anyOf: + anyOf: - $ref: '#/components/schemas/UpSecurity' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'UpSecurity' data type, but with the + OpenAPI 'nullable: true' property. + NgApCause: + description: Represents the NGAP cause. type: object properties: group: @@ -1215,7 +2527,9 @@ components: required: - group - value + BackupAmfInfo: + description: Provides details of the Backup AMF. type: object properties: backupAmf: @@ -1225,19 +2539,32 @@ components: items: $ref: '#/components/schemas/Guami' minItems: 1 + description: > + If present, this IE shall contain the list of GUAMI(s) (supported by the AMF) for + which the backupAmf IE applies. required: - backupAmf + RefToBinaryData: + description: This parameter provides information about the referenced binary body data. type: object properties: contentId: type: string + description: > + This IE shall contain the value of the Content-ID header of the referenced binary + body part. required: - contentId + RefToBinaryDataRm: anyOf: - $ref: '#/components/schemas/RefToBinaryData' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the ' RefToBinaryData ' data type, + but with the OpenAPI 'nullable: true' property. + RouteToLocation: type: object properties: @@ -1248,12 +2575,17 @@ components: routeProfId: type: string nullable: true + description: Identifies the routing profile Id. required: - dnai anyOf: - required: [ routeInfo ] - required: [ routeProfId ] nullable: true + description: > + At least one of the "routeInfo" attribute and the "routeProfId" attribute shall be included + in the "RouteToLocation" data type. + RouteInformation: type: object properties: @@ -1266,19 +2598,12 @@ components: required: - portNumber nullable: true - SubscribedDefaultQos: - type: object - required: - - 5qi - - arp - properties: - 5qi: - $ref: '#/components/schemas/5Qi' - arp: - $ref: '#/components/schemas/Arp' - priorityLevel: - $ref: '#/components/schemas/5QiPriorityLevel' + description: > + At least one of the "ipv4Addr" attribute and the "ipv6Addr" attribute shall be included in + the "RouteInformation" data type. + Area: + description: Provides area information. type: object oneOf: - required: @@ -1293,7 +2618,9 @@ components: minItems: 1 areaCode: $ref: '#/components/schemas/AreaCode' + ServiceAreaRestriction: + description: Provides information about allowed or not allowed areas. type: object properties: restrictionType: @@ -1341,39 +2668,32 @@ components: enum: [ ALLOWED_AREAS ] - not: required: [ maxNumOfTAsForNotAllowedAreas ] - WirelineArea: - type: object - properties: - globalLineIds: - type: array - items: - $ref: '#/components/schemas/Gli' - minItems: 1 - hfcNIds: - type: array - items: - $ref: '#/components/schemas/HfcNId' - minItems: 1 - areaCodeB: - $ref: '#/components/schemas/AreaCode' - areaCodeC: - $ref: '#/components/schemas/AreaCode' - WirelineServiceAreaRestriction: - type: object - properties: - restrictionType: - $ref: '#/components/schemas/RestrictionType' - areas: - type: array - items: - $ref: '#/components/schemas/WirelineArea' + PresenceInfo: type: object properties: praId: type: string + description: > + Represents an identifier of the Presence Reporting Area (see clause 28.10 of 3GPP + TS 23.003. This IE shall be present if the Area of Interest subscribed or reported is + a Presence Reporting Area or a Set of Core Network predefined Presence Reporting Areas. + When present, it shall be encoded as a string representing an integer in the following + ranges: + 0 to 8 388 607 for UE-dedicated PRA + 8 388 608 to 16 777 215 for Core Network predefined PRA + Examples: + PRA ID 123 is encoded as "123" + PRA ID 11 238 660 is encoded as "11238660" + additionalPraId: type: string + description: > + This IE may be present if the praId IE is present and if it contains a PRA identifier + referring to a set of Core Network predefined Presence Reporting Areas. When present, + this IE shall contain a PRA Identifier of an individual PRA within the Set of Core + Network predefined Presence Reporting Areas indicated by the praId IE. + presenceState: $ref: '#/components/schemas/PresenceState' trackingAreaList: @@ -1381,33 +2701,75 @@ components: items: $ref: '#/components/schemas/Tai' minItems: 1 + description: > + Represents the list of tracking areas that constitutes the area. This IE shall be + present if the subscription or the event report is for tracking UE presence in the + tracking areas. For non 3GPP access the TAI shall be the N3GPP TAI. + ecgiList: type: array items: $ref: '#/components/schemas/Ecgi' minItems: 1 + description: > + Represents the list of EUTRAN cell Ids that constitutes the area. This IE shall + be present if the Area of Interest subscribed is a list of EUTRAN cell Ids. + ncgiList: type: array items: $ref: '#/components/schemas/Ncgi' minItems: 1 + description: > + Represents the list of NR cell Ids that constitutes the area. This IE shall be + present if the Area of Interest subscribed is a list of NR cell Ids. + globalRanNodeIdList: type: array items: $ref: '#/components/schemas/GlobalRanNodeId' minItems: 1 + description: > + Represents the list of NG RAN node identifiers that constitutes the area. This IE shall + be present if the Area of Interest subscribed is a list of NG RAN node identifiers. + globaleNbIdList: type: array items: $ref: '#/components/schemas/GlobalRanNodeId' minItems: 1 + description: > + Represents the list of eNodeB identifiers that constitutes the area. This IE shall be + present if the Area of Interest subscribed is a list of eNodeB identifiers. + description: > + If the additionalPraId IE is present, this IE shall state the presence information of the + UE for the individual PRA identified by the additionalPraId IE; If the additionalPraId IE + is not present, this IE shall state the presence information of the UE for the PRA + identified by the praId IE. PresenceInfoRm: type: object properties: praId: type: string + description: | + Represents an identifier of the Presence Reporting Area (see clause 28.10 of + 3GPP TS 23.003. This IE shall be present if the Area of Interest subscribed or + reported is a Presence Reporting Area or a Set of Core Network predefined Presence + Reporting Areas. When present, it shall be encoded as a string representing an integer + in the following ranges: + - 0 to 8 388 607 for UE-dedicated PRA + - 8 388 608 to 16 777 215 for Core Network predefined PRA + Examples: + PRA ID 123 is encoded as "123" + PRA ID 11 238 660 is encoded as "11238660" additionalPraId: type: string + description: > + This IE may be present if the praId IE is present and if it contains a PRA identifier + referring to a set of Core Network predefined Presence Reporting Areas. + When present, this IE shall contain a PRA Identifier of an individual PRA within the Set + of Core Network predefined Presence Reporting Areas indicated by the praId IE. + presenceState: $ref: '#/components/schemas/PresenceState' trackingAreaList: @@ -1415,26 +2777,50 @@ components: items: $ref: '#/components/schemas/Tai' minItems: 0 + description: > + Represents the list of tracking areas that constitutes the area. This IE shall be + present if the subscription or the event report is for tracking UE presence in the + tracking areas. For non 3GPP access the TAI shall be the N3GPP TAI. + ecgiList: type: array items: $ref: '#/components/schemas/Ecgi' minItems: 0 + description: > + Represents the list of EUTRAN cell Ids that constitutes the area. This IE shall be + present if the Area of Interest subscribed is a list of EUTRAN cell Ids. ncgiList: type: array items: $ref: '#/components/schemas/Ncgi' minItems: 0 + description: > + Represents the list of NR cell Ids that constitutes the area. This IE shall be present + if the Area of Interest subscribed is a list of NR cell Ids. globalRanNodeIdList: type: array items: $ref: '#/components/schemas/GlobalRanNodeId' + description: > + Represents the list of NG RAN node identifiers that constitutes the area. This IE shall be + present if the Area of Interest subscribed is a list of NG RAN node identifiers. globaleNbIdList: type: array items: $ref: '#/components/schemas/GlobalRanNodeId' minItems: 1 + description: > + Represents the list of eNodeB identifiers that constitutes the area. This IE shall be present + if the Area of Interest subscribed is a list of eNodeB identifiers. nullable: true + description: > + This data type is defined in the same way as the 'PresenceInfo' data type, but with the + OpenAPI 'nullable: true' property. If the additionalPraId IE is present, this IE shall state + the presence information of the UE for the individual PRA identified by the additionalPraId + IE; If the additionalPraId IE is not present, this IE shall state the presence information + of the UE for the PRA identified by the praId IE. + GlobalRanNodeId: type: object properties: @@ -1461,34 +2847,94 @@ components: - required: [ wagfId ] - required: [ tngfId ] - required: [ eNbId ] + description: > + One of the six attributes n3IwfId, gNbIdm, ngeNbId, wagfId, tngfId, eNbId shall be present. required: - plmnId GNbId: + description: Provides the G-NB identifier. type: object properties: bitLength: type: integer minimum: 22 maximum: 32 + description: > + Unsigned integer representing the bit length of the gNB ID as defined in clause + 9.3.1.6 of 3GPP TS 38.413 [11], within the range 22 to 32. gNBValue: type: string pattern: '^[A-Fa-f0-9]{6,8}$' + description: > + This represents the identifier of the gNB. The value of the gNB ID shall be encoded + in hexadecimal representation. Each character in the string shall take a value of + "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The padding 0 shall + be added to make multiple nibbles, the most significant character representing the + padding 0 if required together with the 4 most significant bits of the gNB ID shall + appear first in the string, and the character representing the 4 least significant bit + of the gNB ID shall appear last in the string. required: - bitLength - gNBValue + AtsssCapability: + description: > + Containes Capability to support procedures related to Access Traffic Steering, Switching, + Splitting. type: object properties: atsssLL: type: boolean default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the ATSSS-LL steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501). + true: Supported + false (default): Not Supported mptcp: type: boolean default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPTCP steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501 + true: Supported + false (default): Not Supported + mpquic: + type: boolean + default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPQUIC-UDP steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501) + true: Supported + false (default): Not Supported rttWithoutPmf: type: boolean default: false + description: > + This IE is only used by the UPF to indicate whether the UPF supports RTT measurement + without PMF (see clauses 5.32.2, 6.3.3.3 of 3GPP TS 23.501 + true: Supported + false (default): Not Supported + mpquicIp: + type: boolean + default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPQUIC-IP steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501) + true: Supported + false (default): Not Supported + mpquicE: + type: boolean + default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPQUIC-E steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501) + true: Supported + false (default): Not Supported PlmnIdNid: + description: > + Contains the serving core network operator PLMN ID and, for an SNPN, the NID that together + with the PLMN ID identifies the SNPN. type: object required: - mcc @@ -1500,52 +2946,141 @@ components: $ref: '#/components/schemas/Mnc' nid: $ref: '#/components/schemas/Nid' + + PlmnIdNidRm: + anyOf: + - $ref: '#/components/schemas/PlmnIdNid' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'PlmnIdNid' data type, but with the + OpenAPI 'nullable: true' property. + SmallDataRateStatus: + description: It indicates theSmall Data Rate Control Status type: object properties: remainPacketsUl: type: integer minimum: 0 + description: > + When present, it shall contain the number of packets the UE is allowed to send uplink + in the given time unit for the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501. remainPacketsDl: type: integer minimum: 0 + description: > + When present it shall contain the number of packets the AF is allowed to send downlink + in the given time unit for the given PDU session (see clause 5.31.14.3 of 3GPP TS 23.501. validityTime: $ref: '#/components/schemas/DateTime' remainExReportsUl: type: integer minimum: 0 + description: > + When present, it shall indicate number of additional exception reports the UE is allowed + to send uplink in the given time unit for the given PDU session (see clause 5.31.14.3 + of 3GPP TS 23.501. remainExReportsDl: type: integer minimum: 0 + description: > + When present, it shall indicate number of additional exception reports the AF is allowed + to send downlink in the given time unit for the given PDU session (see clause 5.31.14.3 + in 3GPP TS 23.501 + + HfcNodeId: + description: REpresents the HFC Node Identifer received over NGAP. + type: object + required: + - hfcNId + properties: + hfcNId: + $ref: '#/components/schemas/HfcNId' + + HfcNodeIdRm: + anyOf: + - $ref: '#/components/schemas/HfcNodeId' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'HfcNodeId' data type, but with the + OpenAPI 'nullable: true' property. + + WirelineArea: + type: object + properties: + globalLineIds: + type: array + items: + $ref: '#/components/schemas/Gli' + minItems: 1 + hfcNIds: + type: array + items: + $ref: '#/components/schemas/HfcNId' + minItems: 1 + areaCodeB: + $ref: '#/components/schemas/AreaCode' + areaCodeC: + $ref: '#/components/schemas/AreaCode' + combGciAndHfcNIds: + type: array + items: + $ref: '#/components/schemas/CombGciAndHfcNIds' + minItems: 1 + description: > + One and only one of the "globLineIds", "hfcNIds", "areaCodeB",d "areaCodeC" and + combGciAndHfcNIds attributes shall be included in a WirelineArea data structure + + WirelineServiceAreaRestriction: + type: object + properties: + restrictionType: + $ref: '#/components/schemas/RestrictionType' + areas: + type: array + items: + $ref: '#/components/schemas/WirelineArea' + description: > + The "restrictionType" attribute and the "areas" attribute shall be either both present + or absent. The empty array of areas is used when service is allowed/restricted nowhere. + ApnRateStatus: + description: Contains the APN rate control status e.g. of the AMF. type: object properties: remainPacketsUl: type: integer minimum: 0 + description: > + When present, it shall contain the number of packets the UE is allowed to send uplink + in the given time unit for the given APN (all PDN connections of the UE to this APN + see clause 4.7.7.3 in 3GPP TS 23.401. remainPacketsDl: type: integer minimum: 0 + description: > + When present, it shall contain the number of packets the UE is allowed to send uplink + in the given time unit for the given APN (all PDN connections of the UE to this APN + see clause 4.7.7.3 in 3GPP TS 23.401. validityTime: $ref: '#/components/schemas/DateTime' remainExReportsUl: type: integer minimum: 0 + description: > + When present, it shall indicate the number of additional exception reports the UE is + allowed to send uplink in the given time unit for the given APN (all PDN connections of the UE to this APN, + see clause 4.7.7.3 in 3GPP TS 23.401. remainExReportsDl: type: integer minimum: 0 - HfcNodeId: - type: object - required: - - hfcNId - properties: - hfcNId: - $ref: '#/components/schemas/HfcNId' - HfcNodeIdRm: - anyOf: - - $ref: '#/components/schemas/HfcNodeId' - - $ref: '#/components/schemas/NullValue' - ScheduledCommunicationTime: + description: > + When present, it shall indicate the number of additional exception reports the AF is + allowed to send downlink in the given time unit for the given APN (all PDN connections + of the UE to this APN, see clause 4.7.7.3 in 3GPP TS 23.401. + + ScheduledCommunicationTime: + description: Identifies time and day of the week when the UE is available for communication. type: object properties: daysOfWeek: @@ -1554,29 +3089,56 @@ components: $ref: '#/components/schemas/DayOfWeek' minItems: 1 maxItems: 6 - description: Identifies the day(s) of the week. If absent, it indicates every day of the week. + description: > + Identifies the day(s) of the week. If absent, it indicates every day of the week. timeOfDayStart: $ref: '#/components/schemas/TimeOfDay' timeOfDayEnd: $ref: '#/components/schemas/TimeOfDay' + ScheduledCommunicationTimeRm: anyOf: - $ref: '#/components/schemas/ScheduledCommunicationTime' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'ScheduledCommunicationTime' data type, + but with the OpenAPI 'nullable: true' property. + BatteryIndication: type: object properties: batteryInd: type: boolean + description: > + This IE shall indicate whether the UE is battery powered or not. + true: the UE is battery powered; + false or absent: the UE is not battery powered replaceableInd: type: boolean + description: > + This IE shall indicate whether the battery of the UE is replaceable or not. + true: the battery of the UE is replaceable; + false or absent: the battery of the UE is not replaceable. rechargeableInd: type: boolean + description: > + This IE shall indicate whether the battery of the UE is rechargeable or not. + true: the battery of UE is rechargeable; + false or absent: the battery of the UE is not rechargeable. + description: > + Parameters "replaceableInd" and "rechargeableInd" are only included if the value of + Parameter "batteryInd" is true. + BatteryIndicationRm: anyOf: - $ref: '#/components/schemas/BatteryIndication' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'BatteryIndication' data type, but + with the OpenAPI 'nullable: true' property. + AcsInfo: + description: The ACS information for the 5G-RG is defined in BBF TR-069 [42] or in BBF TR-369 type: object properties: acsUrl: @@ -1585,25 +3147,35 @@ components: $ref: '#/components/schemas/Ipv4Addr' acsIpv6Addr: $ref: '#/components/schemas/Ipv6Addr' + AcsInfoRm: anyOf: - $ref: '#/components/schemas/AcsInfo' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'AcsInfo' data type, but with the + OpenAPI 'nullable: true' property. + NrV2xAuth: + description: Contains NR V2X services authorized information. type: object properties: vehicleUeAuth: $ref: '#/components/schemas/UeAuth' pedestrianUeAuth: $ref: '#/components/schemas/UeAuth' + LteV2xAuth: + description: Contains LTE V2X services authorized information. type: object properties: vehicleUeAuth: $ref: '#/components/schemas/UeAuth' pedestrianUeAuth: $ref: '#/components/schemas/UeAuth' + Pc5QoSPara: + description: Contains policy data on the PC5 QoS parameters. type: object required: - pc5QosFlowList @@ -1612,26 +3184,33 @@ components: type: array items: $ref: '#/components/schemas/Pc5QosFlowItem' + minItems: 1 pc5LinkAmbr: $ref: '#/components/schemas/BitRate' + Pc5QosFlowItem: + description: Contains a PC5 QOS flow. type: object required: - pqi properties: pqi: $ref: '#/components/schemas/5Qi' + pc5FlowBitRates: $ref: '#/components/schemas/Pc5FlowBitRates' range: $ref: '#/components/schemas/Uinteger' + Pc5FlowBitRates: + description: it shall represent the PC5 Flow Bit Rates type: object properties: guaFbr: $ref: '#/components/schemas/BitRate' maxFbr: $ref: '#/components/schemas/BitRate' + UtraLocation: type: object oneOf: @@ -1641,6 +3220,7 @@ components: - sai - required: - rai + description: Exactly one of cgi, sai or lai shall be present. properties: cgi: $ref: '#/components/schemas/CellGlobalId' @@ -1654,14 +3234,29 @@ components: type: integer minimum: 0 maximum: 32767 + description: > + The value represents the elapsed time in minutes since the last network contact of the + mobile station. Value "0" indicates that the location information was obtained after a + successful paging procedure for Active Location Retrieval when the UE is in idle mode + or after a successful location reporting procedure the UE is in connected mode. Any + other value than "0" indicates that the location information is the last known one. + See 3GPP TS 29.002 clause 17.7.8. ueLocationTimestamp: $ref: '#/components/schemas/DateTime' geographicalInformation: type: string pattern: '^[0-9A-F]{16}$' + description: > + Refer to geographical Information.See 3GPP TS 23.032 clause 7.3.2. Only the + description of an ellipsoid point with uncertainty circle is allowed to be used. geodeticInformation: type: string pattern: '^[0-9A-F]{20}$' + description: > + Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) clause + 3.88.2. Only the description of an ellipsoid point with uncertainty circle is allowed + to be used. + GeraLocation: type: object oneOf: @@ -1669,38 +3264,56 @@ components: - cgi - required: - sai - - required: - - rai - required: - lai + description: Exactly one of cgi, sai or lai shall be present. properties: locationNumber: type: string + description: Location number within the PLMN. See 3GPP TS 23.003, clause 4.5. cgi: $ref: '#/components/schemas/CellGlobalId' - rai: - $ref: '#/components/schemas/RoutingAreaId' sai: $ref: '#/components/schemas/ServiceAreaId' lai: $ref: '#/components/schemas/LocationAreaId' + rai: + $ref: '#/components/schemas/RoutingAreaId' vlrNumber: type: string + description: VLR number. See 3GPP TS 23.003 clause 5.1. mscNumber: type: string + description: MSC number. See 3GPP TS 23.003 clause 5.1. ageOfLocationInformation: type: integer minimum: 0 maximum: 32767 + description: > + The value represents the elapsed time in minutes since the last network contact of the + mobile station. Value "0" indicates that the location information was obtained after a + successful paging procedure for Active Location Retrieval when the UE is in idle mode + or after a successful location reporting procedure the UE is in connected mode. Any + other value than "0" indicates that the location information is the last known one. + See 3GPP TS 29.002 clause 17.7.8. ueLocationTimestamp: $ref: '#/components/schemas/DateTime' geographicalInformation: type: string pattern: '^[0-9A-F]{16}$' + description: > + Refer to geographical Information.See 3GPP TS 23.032 clause 7.3.2. Only the + description of an ellipsoid point with uncertainty circle is allowed to be used. geodeticInformation: type: string pattern: '^[0-9A-F]{20}$' + description: > + Refers to Calling Geodetic Location.See ITU-T Recommendation Q.763 (1999) clause 3.88.2. + Only the description of an ellipsoid point with uncertainty circle is allowed to be + used. + CellGlobalId: + description: Contains a Cell Global Identification as defined in 3GPP TS 23.003, clause 4.3.1. type: object required: - plmnId @@ -1715,7 +3328,9 @@ components: cellId: type: string pattern: '^[A-Fa-f0-9]{4}$' + ServiceAreaId: + description: Contains a Service Area Identifier as defined in 3GPP TS 23.003, clause 12.5. type: object required: - plmnId @@ -1727,10 +3342,14 @@ components: lac: type: string pattern: '^[A-Fa-f0-9]{4}$' + description: Location Area Code. sac: type: string pattern: '^[A-Fa-f0-9]{4}$' + description: Service Area Code. + LocationAreaId: + description: Contains a Location area identification as defined in 3GPP TS 23.003, clause 4.1. type: object required: - plmnId @@ -1738,10 +3357,14 @@ components: properties: plmnId: $ref: '#/components/schemas/PlmnId' + lac: type: string pattern: '^[A-Fa-f0-9]{4}$' + description: Location Area Code. + RoutingAreaId: + description: Contains a Routing Area Identification as defined in 3GPP TS 23.003, clause 4.2. type: object required: - plmnId @@ -1753,30 +3376,41 @@ components: lac: type: string pattern: '^[A-Fa-f0-9]{4}$' + description: Location Area Code rac: type: string pattern: '^[A-Fa-f0-9]{2}$' + description: Routing Area Code + DddTrafficDescriptor: + description: Contains a Traffic Descriptor. type: object properties: ipv4Addr: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + $ref: '#/components/schemas/Ipv4Addr' ipv6Addr: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' + $ref: '#/components/schemas/Ipv6Addr' portNumber: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + $ref: '#/components/schemas/Uinteger' macAddr: - $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' + $ref: '#/components/schemas/MacAddr48' + MoExpDataCounter: + description: Contain the MO Exception Data Counter. type: object required: - counter properties: counter: type: integer + description: > + Unsigned integer identifying the MO Exception Data Counter, as specified in clause + 5.31.14.3 of 3GPP TS 23.501. timeStamp: $ref: '#/components/schemas/DateTime' + NssaaStatus: + description: contains the Subscribed S-NSSAI subject to NSSAA procedure and the status. type: object required: - snssai @@ -1786,60 +3420,78 @@ components: $ref: '#/components/schemas/Snssai' status: $ref: '#/components/schemas/AuthStatus' + NssaaStatusRm: anyOf: - $ref: '#/components/schemas/NssaaStatus' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'NssaaStatus' data type, but with + the OpenAPI 'nullable: true' property. + TnapId: + description: Contain the TNAP Identifier see clause5.6.2 of 3GPP TS 23.501. type: object properties: ssId: type: string + description: > + This IE shall be present if the UE is accessing the 5GC via a trusted WLAN access + network.When present, it shall contain the SSID of the access point to which the UE + is attached, that is received over NGAP, see IEEE Std 802.11-2012. + bssId: type: string + description: > + When present, it shall contain the BSSID of the access point to which the UE is + attached, that is received over NGAP, see IEEE Std 802.11-2012. + civicAddress: $ref: '#/components/schemas/Bytes' + TnapIdRm: anyOf: - $ref: '#/components/schemas/TnapId' - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'TnapId' data type, but with the + OpenAPI 'nullable: true' property. + TwapId: + description: > + Contain the TWAP Identifier as defined in clause 4.2.8.5.3 of 3GPP TS 23.501 + or the WLAN location information as defined in clause 4.5.7.2.8 of 3GPP TS 23.402. type: object required: - ssId properties: ssId: type: string + description: > + This IE shall contain the SSID of the access point to which the UE is attached, that is + received over NGAP, see IEEE Std 802.11-2012. + bssId: type: string + description: > + When present, it shall contain the BSSID of the access point to which the UE is + attached, for trusted WLAN access, see IEEE Std 802.11-2012. + civicAddress: $ref: '#/components/schemas/Bytes' + TwapIdRm: anyOf: - $ref: '#/components/schemas/TwapId' - $ref: '#/components/schemas/NullValue' - LineType: - anyOf: - - type: string - enum: - - DSL - - PON - - type: string - description: > - This string provides forward-compatibility with future - extensions to the enumeration but is not used to encode - content defined in the present version of this API. description: > - Possible values are - - DSL: Identifies a DSL line - - PON: Identifies a PON line - LineTypeRm: - anyOf: - - $ref: '#/components/schemas/LineType' - - $ref: '#/components/schemas/NullValue' + This data type is defined in the same way as the 'TwapId' data type, but with the + OpenAPI 'nullable: true' property. SnssaiExtension: - description: Extensions to the Snssai data type, sdRanges and wildcardSd shall not be present simultaneously + description: > + Extensions to the Snssai data type, sdRanges and wildcardSd shall not be present + simultaneously type: object not: required: @@ -1847,13 +3499,17 @@ components: - wildcardSd properties: sdRanges: - description: When present, it shall contain the range(s) of Slice Differentiator values supported for the Slice/Service Type value indicated in the sst attribute of the Snssai data type + description: > + When present, it shall contain the range(s) of Slice Differentiator values supported for + the Slice/Service Type value indicated in the sst attribute of the Snssai data type type: array items: $ref: '#/components/schemas/SdRange' minItems: 1 wildcardSd: - description: When present, it shall be set to true, to indicate that all SD values are supported for the Slice/Service Type value indicated in the sst attribute of the Snssai data type + description: > + When present, it shall be set to true, to indicate that all SD values are supported for + the Slice/Service Type value indicated in the sst attribute of the Snssai data type. type: boolean enum: - true @@ -1865,875 +3521,3943 @@ components: start: type: string pattern: '^[A-Fa-f0-9]{6}$' + description: > + First value identifying the start of an SD range. This string shall be formatted as + specified for the sd attribute of the Snssai data type in clause 5.4.4.2. end: type: string pattern: '^[A-Fa-f0-9]{6}$' + description: > + Last value identifying the end of an SD range. This string shall be formatted as + specified for the sd attribute of the Snssai data type in clause 5.4.4.2. -# -# Data types describing alternative data types or combinations of data types -# - ExtSnssai: - allOf: - - $ref: '#/components/schemas/Snssai' - - $ref: '#/components/schemas/SnssaiExtension' + ProseServiceAuth: + description: > + Indicates whether the UE is authorized to use related services. + type: object + properties: + proseDirectDiscoveryAuth: + $ref: '#/components/schemas/UeAuth' + proseDirectCommunicationAuth: + $ref: '#/components/schemas/UeAuth' + proseL2RelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL3RelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL2RemoteAuth: + $ref: '#/components/schemas/UeAuth' + proseL3RemoteAuth: + $ref: '#/components/schemas/UeAuth' + proseMultipathComL2RemoteAuth: + $ref: '#/components/schemas/UeAuth' + proseL2UeRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL3UeRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL2EndAuth: + $ref: '#/components/schemas/UeAuth' + proseL3EndAuth: + $ref: '#/components/schemas/UeAuth' + proseL3IntermediateRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL3RemoteMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL3RelayMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL3UeRelayMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL3EndMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL2IntermediateRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL2RemoteMultihopAuth: + $ref: '#/components/schemas/UeAuth' + proseL2RelayMultihopAuth: + $ref: '#/components/schemas/UeAuth' -# -# Data Types related to 5G QoS as defined in clause 5.5 -# + EcsServerAddr: + description: > + Contains the Edge Configuration Server Address Configuration Information as defined in + clause 5.2.3.6.1 of 3GPP TS 23.502. + type: object + properties: + ecsFqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + ecsIpAddressList: + type: array + items: + $ref: '#/components/schemas/IpAddr' + minItems: 1 + ecsUriList: + type: array + items: + $ref: '#/components/schemas/Uri' + minItems: 1 + ecsProviderId: + type: string -# -# SIMPLE DATA TYPES -# -# - Qfi: - type: integer - minimum: 0 - maximum: 63 - QfiRm: - type: integer - minimum: 0 - maximum: 63 - nullable: true - 5Qi: - type: integer - minimum: 0 - maximum: 255 - 5QiRm: - type: integer - minimum: 0 - maximum: 255 - nullable: true - BitRate: - type: string - pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' - BitRateRm: - type: string - pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' - nullable: true - ArpPriorityLevelRm: - type: integer - minimum: 1 - maximum: 15 - nullable: true - ArpPriorityLevel: - type: integer - minimum: 1 - maximum: 15 - nullable: true - description: nullable true shall not be used for this attribute - 5QiPriorityLevel: - type: integer - minimum: 1 - maximum: 127 - 5QiPriorityLevelRm: - type: integer - minimum: 1 - maximum: 127 - nullable: true - PacketDelBudget: - type: integer - minimum: 1 - PacketDelBudgetRm: - type: integer - minimum: 1 - nullable: true - PacketErrRate: - type: string - pattern: '^([0-9]E-[0-9])$' - PacketErrRateRm: - type: string - pattern: '^([0-9]E-[0-9])$' - nullable: true - PacketLossRate: - type: integer - minimum: 0 - maximum: 1000 - PacketLossRateRm: - type: integer - minimum: 0 - maximum: 1000 - nullable: true - AverWindow: - type: integer - minimum: 1 - maximum: 4095 - default: 2000 - AverWindowRm: - type: integer - maximum: 4095 - default: 2000 - minimum: 1 - nullable: true - MaxDataBurstVol: - type: integer - minimum: 1 - maximum: 4095 - MaxDataBurstVolRm: - type: integer - minimum: 1 - maximum: 4095 - nullable: true - SamplingRatio: - type: integer - minimum: 1 - maximum: 100 - SamplingRatioRm: - type: integer - minimum: 1 - maximum: 100 - nullable: true - RgWirelineCharacteristics: - $ref: '#/components/schemas/Bytes' - RgWirelineCharacteristicsRm: + EcsServerAddrRm: anyOf: - - $ref: '#/components/schemas/RgWirelineCharacteristics' + - $ref: '#/components/schemas/EcsServerAddr' - $ref: '#/components/schemas/NullValue' - ExtMaxDataBurstVol: - type: integer - minimum: 4096 - maximum: 2000000 - ExtMaxDataBurstVolRm: - type: integer - minimum: 4096 - maximum: 2000000 - nullable: true - ExtPacketDelBudget: - type: integer - minimum: 1 - ExtPacketDelBudgetRm: - type: integer - minimum: 1 - nullable: true + description: > + This data type is defined in the same way as the ' EcsServerAddr ' data type, but with + the OpenAPI 'nullable: true' property. -# -# ENUMERATED DATA TYPES -# + IpAddr: + description: Contains an IP adresse. + type: object + oneOf: + - required: + - ipv4Addr + - required: + - ipv6Addr + - required: + - ipv6Prefix + properties: + ipv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + ipv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + ipv6Prefix: + $ref: '#/components/schemas/Ipv6Prefix' - PreemptionCapability: - anyOf: - - type: string - enum: - - NOT_PREEMPT - - MAY_PREEMPT - - type: string + SACInfo: + description: > + Represents threshold(s) to control the triggering of network slice reporting notifications + or the information contained in the network slice reporting notification. + type: object + properties: + numericValNumUes: + type: integer + numericValNumPduSess: + type: integer + percValueNumUes: + type: integer + minimum: 0 + maximum: 100 + percValueNumPduSess: + type: integer + minimum: 0 + maximum: 100 + uesWithPduSessionInd: + type: boolean + default: false + + SACEventStatus: + description: > + Contains the network slice status information in terms of the current number of UEs + registered with a network slice, the current number of PDU Sessions established on a + network slice or both. + type: object + properties: + reachedNumUes: + $ref: '#/components/schemas/SACInfo' + reachedNumPduSess: + $ref: '#/components/schemas/SACInfo' + + SpatialValidityCond: + description: Contains the Spatial Validity Condition. + type: object + properties: + trackingAreaList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + countries: + type: array + items: + $ref: '#/components/schemas/Mcc' + minItems: 1 +# geographicalServiceArea: +# $ref: '#/components/schemas/GeoServiceArea' + + SpatialValidityCondRm: + description: Contains the Spatial Validity Condition or the null value. + anyOf: + - $ref: '#/components/schemas/SpatialValidityCond' + - $ref: '#/components/schemas/NullValue' + + ServerAddressingInfo: + description: Contains addressing information (IP addresses and/or FQDNs) of a server. + type: object + anyOf: + - required: + - ipv4Addresses + - required: + - ipv6Addresses + - required: + - fqdnList + properties: + ipv4Addresses: + type: array + items: + $ref: '#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Addresses: + type: array + items: + $ref: '#/components/schemas/Ipv6Addr' + minItems: 1 + fqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + + PcfUeCallbackInfo: + description: > + Contains the PCF for the UE information necessary for the PCF for the PDU session to send + SM Policy Association Establishment and Termination events. + type: object + properties: + callbackUri: + $ref: '#/components/schemas/Uri' + bindingInfo: + type: string + nullable: true + required: + - callbackUri + + PduSessionInfo: + description: indicates the DNN and S-NSSAI combination of a PDU session. + type: object + properties: + snssai: + $ref: '#/components/schemas/Snssai' + dnn: + $ref: '#/components/schemas/Dnn' + required: + - dnn + - snssai + + EasIpReplacementInfo: + description: Contains EAS IP replacement information for a Source and a Target EAS. + type: object + properties: + source: + $ref: '#/components/schemas/EasServerAddress' + target: + $ref: '#/components/schemas/EasServerAddress' + required: + - source + - target + + EasServerAddress: + description: Represents the IP address and port of an EAS server. + type: object + properties: + ip: + $ref: '#/components/schemas/IpAddr' + port: + $ref: '#/components/schemas/Uinteger' + required: + - ip + - port + + RoamingRestrictions: + description: > + Indicates if access is allowed to a given serving network, e.g. a PLMN (MCC, MNC) or an + SNPN (MCC, MNC, NID). + type: object + properties: + accessAllowed: + type: boolean + + #GeoServiceArea: + # description: List of geographic area or list of civic address info + # type: object + # properties: + # geographicAreaList: + # type: array + # items: + # $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' + # minItems: 1 + # civicAddressList: + # type: array + # items: + # $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' + # minItems: 1 + + MutingExceptionInstructions: + description: > + Indicates to an Event producer NF instructions for the subscription and stored events when + an exception (e.g. full buffer) occurs at the Event producer NF while the event is muted. + type: object + properties: + bufferedNotifs: + $ref: '#/components/schemas/BufferedNotificationsAction' + subscription: + $ref: '#/components/schemas/SubscriptionAction' + + MutingNotificationsSettings: + description: > + Indicates the Event producer NF settings to the Event consumer NF + type: object + properties: + maxNoOfNotif: + type: integer + durationBufferedNotif: + $ref: '#/components/schemas/DurationSec' + + CombGciAndHfcNIds: + description: > + Combined Global Cable Identifier and HFC Node Id + type: object + properties: + globalCableId: + $ref: '#/components/schemas/Gci' + hfcNId: + $ref: '#/components/schemas/HfcNId' + + + VplmnOffloadingInfo: + description: VPLMN Specific Offloading Information + type: object + nullable: true + properties: + offloadIdentifier: + $ref: '#/components/schemas/OffloadIdentifier' + vplmnId: + $ref: '#/components/schemas/PlmnId' + allowedTraffic: + type: boolean + default: true + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv4AddrMasks: + type: array + items: + $ref: '#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + fqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + fqdnPatterns: + type: array + items: + $ref: '#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + + PartiallyAllowedSnssai: + description: > + Indicates a S-NSSAI that is partially allowed in the Registration Area. + type: object + properties: + snssai: + $ref: '#/components/schemas/Snssai' + allowedTaiList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + required: + - snssai + - allowedTaiList + + VarRepPeriod: + description: > + Indicates the Variable reporting periodicity for event reporting + type: object + properties: + repPeriod: + $ref: '#/components/schemas/DurationSec' + percValueNfLoad: + allOf: + - $ref: '#/components/schemas/Uinteger' + minimum: 0 + maximum: 100 + required: + - repPeriod + + + RangingSlPosAuth: + description: > + Indicates whether the UE is authorized to use related services. + type: object + properties: + rgSlPosPc5Auth: + $ref: '#/components/schemas/UeAuth' + rgSlPosLocAuth: + $ref: '#/components/schemas/UeAuth' + rgSlPosClientAuth: + $ref: '#/components/schemas/UeAuth' + rgSlPosServerAuth: + $ref: '#/components/schemas/UeAuth' + + + NrA2xAuth: + description: Contains NR A2X services authorized information. + type: object + properties: + uavUeAuth: + $ref: '#/components/schemas/UeAuth' + + LteA2xAuth: + description: Contains LTE A2X services authorized information. + type: object + properties: + uavUeAuth: + $ref: '#/components/schemas/UeAuth' + + SliceUsageControlInfo: + description: The network slice usage control related information + type: object + required: + - sNssai + properties: + sNssai: + $ref: '#/components/schemas/Snssai' + deregInactTimer: + $ref: '#/components/schemas/DurationSec' + sessInactTimer: + $ref: '#/components/schemas/DurationSec' + anyOf: + - required: [ deregInactTimer ] + - required: [ sessInactTimer ] + + SnssaiDnnItem: + description: Combination of S-NSSAIs and DNNs + type: object + properties: + snssaiList: + type: array + items: + $ref: '#/components/schemas/ExtSnssai' + minItems: 1 + dnnList: + type: array + items: + $ref: '#/components/schemas/Dnn' + minItems: 1 + anyOf: + - required: [ snssaiList ] + - required: [ dnnList ] + + + NtnTaiInfo: + description: Contains NR NTN TAI Information. + type: object + required: + - plmnId + - tacList + properties: + plmnId: + $ref: '#/components/schemas/PlmnIdNid' + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + derivedTac: + $ref: '#/components/schemas/Tac' + + MitigationInfo: + description: include the congestion mitigation information. + type: object + properties: + percValueNumUes: + type: integer + minimum: 0 + maximum: 100 + newUesInd: + type: boolean + + VplmnDlAmbr: + description: an Authorized DL Session AMBR for Offloading for the VPLMN + type: object + nullable: true + properties: + vplmnId: + $ref: '#/components/schemas/PlmnId' + sessionDlAmbr: + $ref: '#/components/schemas/BitRate' + required: + - vplmnId + - sessionDlAmbr + + LocalOffloadingManagementInfo: + description: Local Offloading Management Information + type: object + nullable: true + properties: + offloadIdentifier: + $ref: '#/components/schemas/OffloadIdentifier' + allowedTraffic: + type: boolean + default: true + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv4AddrMasks: + type: array + items: + $ref: '#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + fqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + fqdnPatterns: + type: array + items: + $ref: '#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + + + CagProvisionInformation: + description: CAG Provision Information + type: object + required: + - cagInfo + properties: + cagInfo: + type: array + items: + $ref: '#/components/schemas/CagId' + minItems: 1 + # commonValidTimePeriodList: + # type: array + # items: + # $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ValidTimePeriod' + # minItems: 0 + additionalValidTimePeriodList: + description: > + A map (list of key-value pairs) where CAG ID coverted to string serves the key; + and the value is an array of time periods associted with the CAG ID. + type: object + # additionalProperties: + # type: array + # items: + # $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ValidTimePeriod' + # minItems: 1 + # minProperties: 1 + provisionOperation: + $ref: '#/components/schemas/CagProvisionOperation' + + + PlmnLocation: + description: Contains the PLMN ID where the UE is located + type: object + required: + - plmnId + properties: + plmnId: + $ref: '#/components/schemas/PlmnIdNid' + +# +# Data types describing alternative data types or combinations of data types +# + ExtSnssai: + allOf: + - $ref: '#/components/schemas/Snssai' + - $ref: '#/components/schemas/SnssaiExtension' + description: > + The sdRanges and wildcardSd attributes shall be exclusive from each other. If one of these + attributes is present, the sd attribute shall also be present and it shall contain one Slice + Differentiator value within the range of SD (if the sdRanges attribute is present) or with + any value (if the wildcardSd attribute is present). + + SnssaiReplaceInfo: + description: Indicates the status of an S-NSSAI and an alternative S-NSSAI optionally. + type: object + properties: + snssai: + $ref: '#/components/schemas/Snssai' + status: + $ref: '#/components/schemas/SnssaiStatus' + altSnssai: + $ref: '#/components/schemas/Snssai' + nsReplTerminInd: + $ref: '#/components/schemas/TerminationIndication' + plmnId: + $ref: '#/components/schemas/PlmnId' + mitigationInfo: + $ref: '#/components/schemas/MitigationInfo' + required: + - snssai + + +# +# Data Types related to 5G QoS as defined in clause 5.5 +# + +# +# SIMPLE DATA TYPES +# +# + Qfi: + type: integer + minimum: 0 + maximum: 63 + description: Unsigned integer identifying a QoS flow, within the range 0 to 63. + + QfiRm: + type: integer + minimum: 0 + maximum: 63 + nullable: true + description: > + This data type is defined in the same way as the 'Qfi' data type, but with the + OpenAPI 'nullable: true' property. + + 5Qi: + type: integer + minimum: 0 + maximum: 255 + description: > + Unsigned integer representing a 5G QoS Identifier (see clause 5.7.2.1 of 3GPP TS 23.501, + within the range 0 to 255. + + 5QiRm: + type: integer + minimum: 0 + maximum: 255 + nullable: true + description: > + This data type is defined in the same way as the '5QiPriorityLevel' data type, but with + the OpenAPI 'nullable: true' property. " + + BitRate: + type: string + pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' + description: > + String representing a bit rate; the prefixes follow the standard symbols from The International + System of Units, and represent x1000 multipliers, with the exception that prefix "K" is + used to represent the standard symbol "k". + + BitRateRm: + type: string + pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' + nullable: true + description: > + This data type is defined in the same way as the 'BitRate' data type, but with the OpenAPI + 'nullable: true' property. + + PacketRate: + type: string + pattern: '^\d+(\.\d+)? (pps|kpps|Mpps|Gpps|Tpps)$' + description: > + String representing a packet rate, i.e., packet per second; the prefixes follow the symbols + from The International System of Units, and represent x1000 multipliers. + + PacketRateRm: + type: string + pattern: '^\d+(\.\d+)? (pps|kpps|Mpps|Gpps|Tpps)$' + nullable: true + description: > + This data type is defined in the same way as the 'PacketRate' data type, but with the + OpenAPI 'nullable: true' property. + + TrafficVolume: + type: string + pattern: '^\d+(\.\d+)? (B|kB|MB|GB|TB)$' + description: > + String representing a Traffic Volume measured in bytes; the prefixes follow the symbols + from The International System of Units, and represent x1000 multipliers. + + TrafficVolumeRm: + type: string + pattern: '^\d+(\.\d+)? (B|kB|MB|GB|TB)$' + nullable: true + description: > + This data type is defined in the same way as the 'TrafficVolume' data type, but with the + OpenAPI 'nullable: true' property. + + ArpPriorityLevelRm: + type: integer + minimum: 1 + maximum: 15 + nullable: true + description: > + This data type is defined in the same way as the 'ArpPriorityLevel' data type, but with + the OpenAPI 'nullable: true' property. + + ArpPriorityLevel: + type: integer + minimum: 1 + maximum: 15 + nullable: true + description: > + nullable true shall not be used for this attribute. Unsigned integer indicating the ARP + Priority Level (see clause 5.7.2.2 of 3GPP TS 23.501, within the range 1 to 15.Values are + ordered in decreasing order of priority, i.e. with 1 as the highest priority and 15 as + the lowest priority. + + 5QiPriorityLevel: + type: integer + minimum: 1 + maximum: 127 + description: > + Unsigned integer indicating the 5QI Priority Level (see clauses 5.7.3.3 and 5.7.4 of 3GPP + TS 23.501, within the range 1 to 127.Values are ordered in decreasing order of priority, + i.e. with 1 as the highest priority and 127 as the lowest priority. + + 5QiPriorityLevelRm: + type: integer + minimum: 1 + maximum: 127 + nullable: true + description: > + This data type is defined in the same way as the '5QiPriorityLevel' data type, but with + the OpenAPI 'nullable: true' property. + + PacketDelBudget: + type: integer + minimum: 1 + description: > + Unsigned integer indicating Packet Delay Budget (see clauses 5.7.3.4 and 5.7.4 of 3GPP + TS 23.501), expressed in milliseconds. + + PacketDelBudgetRm: + type: integer + minimum: 1 + nullable: true + description: > + This data type is defined in the same way as the 'PacketDelBudget' data type, but with + the OpenAPI 'nullable: true' property. + + PacketErrRate: + type: string + pattern: '^([0-9]E-[0-9])$' + description: > + String representing Packet Error Rate (see clause 5.7.3.5 and 5.7.4 of 3GPP TS 23.501, + expressed as a "scalar x 10-k" where the scalar and the exponent k are each encoded as + one decimal digit. + + PacketErrRateRm: + type: string + pattern: '^([0-9]E-[0-9])$' + nullable: true + description: > + This data type is defined in the same way as the 'PacketErrRate' data type, but with + the OpenAPI 'nullable: true' property. + + PacketLossRate: + type: integer + minimum: 0 + maximum: 1000 + description: > + Unsigned integer indicating Packet Loss Rate (see clauses 5.7.2.8 and 5.7.4 of 3GPP + TS 23.501), expressed in tenth of percent. + + PacketLossRateRm: + type: integer + minimum: 0 + maximum: 1000 + nullable: true + description: > + This data type is defined in the same way as the 'PacketLossRate' data type, but with + the OpenAPI 'nullable: true' property. + + AverWindow: + type: integer + minimum: 1 + maximum: 4095 + default: 2000 + description: > + Unsigned integer indicating Averaging Window (see clause 5.7.3.6 and 5.7.4 of + 3GPP TS 23.501), expressed in milliseconds. + + AverWindowRm: + type: integer + maximum: 4095 + default: 2000 + minimum: 1 + nullable: true + description: > + This data type is defined in the same way as the 'AverWindow' data type, but with + the OpenAPI 'nullable: true' property. + + MaxDataBurstVol: + type: integer + minimum: 1 + maximum: 4095 + description: > + Unsigned integer indicating Maximum Data Burst Volume (see clauses 5.7.3.7 and 5.7.4 of + 3GPP TS 23.501), expressed in Bytes. + + MaxDataBurstVolRm: + type: integer + minimum: 1 + maximum: 4095 + nullable: true + description: > + This data type is defined in the same way as the 'MaxDataBurstVol' data type, but with + the OpenAPI 'nullable: true' property. + + SamplingRatio: + type: integer + minimum: 1 + maximum: 100 + description: > + Unsigned integer indicating Sampling Ratio (see clauses 4.15.1 of 3GPP TS 23.502), + expressed in percent. + + SamplingRatioRm: + type: integer + minimum: 1 + maximum: 100 + nullable: true + description: > + This data type is defined in the same way as the 'SamplingRatio' data type, but with the + OpenAPI 'nullable: true' property. +# + RgWirelineCharacteristics: + $ref: '#/components/schemas/Bytes' + + RgWirelineCharacteristicsRm: + anyOf: + - $ref: '#/components/schemas/RgWirelineCharacteristics' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'RgWirelineCharacteristics' data type, + but with the OpenAPI 'nullable: true' property. + + ExtMaxDataBurstVol: + type: integer + minimum: 4096 + maximum: 2000000 + description: > + Unsigned integer indicating Maximum Data Burst Volume (see clauses 5.7.3.7 and 5.7.4 of + 3GPP TS 23.501), expressed in Bytes. + + ExtMaxDataBurstVolRm: + type: integer + minimum: 4096 + maximum: 2000000 + nullable: true + description: > + This data type is defined in the same way as the 'ExtMaxDataBurstVol' data type, but + with the OpenAPI 'nullable: true' property. + + ExtPacketDelBudget: + type: integer + minimum: 1 + description: > + Unsigned integer indicating Packet Delay Budget (see clauses 5.7.3.4 and 5.7.4 of 3GPP + TS 23.501 [8])), expressed in 0.01 milliseconds. + + ExtPacketDelBudgetRm: + type: integer + minimum: 1 + nullable: true + description: > + This data type is defined in the same way as the 'ExtPacketDelBudget' data type, but + with the OpenAPI 'nullable: true' property. " + + Metadata: + format: byte + type: string + nullable: true + description: > + A String which is transparently passed to the UPF to be applied for traffic to SFC. + + +# +# ENUMERATED DATA TYPES +# + + PreemptionCapability: + anyOf: + - type: string + enum: + - NOT_PREEMPT + - MAY_PREEMPT + - type: string + description: > + The enumeration PreemptionCapability indicates the pre-emption capability of a request on + other QoS flows. See clause 5.7.2.2 of 3GPP TS 23.501. It shall comply with the provisions + defined in table 5.5.3.1-1. PreemptionCapabilityRm: anyOf: - - $ref: '#/components/schemas/PreemptionCapability' + - $ref: '#/components/schemas/PreemptionCapability' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'PreemptionCapability' enumeration, + but with the OpenAPI 'nullable: true' property. + + PreemptionVulnerability: + anyOf: + - type: string + enum: + - NOT_PREEMPTABLE + - PREEMPTABLE + - type: string + description: > + The enumeration PreemptionVulnerability indicates the pre-emption vulnerability of the QoS + flow to pre-emption from other QoS flows. See clause 5.7.2.2 of 3GPP TS 23.501. It shall + comply with the provisions defined in table 5.5.3.2-1 + + PreemptionVulnerabilityRm: + anyOf: + - $ref: '#/components/schemas/PreemptionVulnerability' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'PreemptionVulnerability' enumeration, + but with the OpenAPI 'nullable: true' property." + + ReflectiveQoSAttribute: + anyOf: + - type: string + enum: + - RQOS + - NO_RQOS + - type: string + description: > + The enumeration ReflectiveQosAttribute indicates whether certain traffic of the QoS flow may + be subject to Reflective QoS (see clause 5.7.2.3 of 3GPP TS 23.501). It shall comply with + the provisions defined in table 5.5.3.3-1. + + ReflectiveQoSAttributeRm: + anyOf: + - $ref: '#/components/schemas/ReflectiveQoSAttribute' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'ReflectiveQosAttribute' enumeration, + but with the OpenAPI 'nullable: true' property. " + + NotificationControl: + anyOf: + - type: string + enum: + - REQUESTED + - NOT_REQUESTED + - type: string + description: > + The enumeration NotificationControl indicates whether notifications are requested from the + RAN when the GFBR can no longer (or again) be fulfilled for a QoS Flow during the lifetime + of the QoS Flow (see clause 5.7.2.4 of 3GPP TS 23.501). + It shall comply with the provisions defined in table 5.5.3.5-1. + + NotificationControlRm: + anyOf: + - $ref: '#/components/schemas/NotificationControl' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'NotificationControl' enumeration, but + with the OpenAPI 'nullable: true' property. + + QosResourceType: + anyOf: + - type: string + enum: + - NON_GBR + - NON_CRITICAL_GBR + - CRITICAL_GBR + - type: string + description: > + The enumeration QosResourceType indicates whether a QoS Flow is non-GBR, delay critical GBR, + or non-delay critical GBR (see clauses 5.7.3.4 and 5.7.3.5 of 3GPP TS 23.501). It shall + comply with the provisions defined in table 5.5.3.6-1. + + QosResourceTypeRm: + anyOf: + - $ref: '#/components/schemas/QosResourceType' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'QosResourceType' enumeration, but + with the OpenAPI 'nullable: true' property. " + + AdditionalQosFlowInfo: + anyOf: + - anyOf: + - type: string + enum: + - MORE_LIKELY + - type: string + - $ref: '#/components/schemas/NullValue' + description: > + The enumeration AdditionalQosFlowInfo provides additional QoS flow information (see clause + 9.3.1.12 3GPP TS 38.413 [11]). It shall comply with the provisions defined in table + 5.5.3.12-1. + + PartitioningCriteria: + anyOf: + - type: string + enum: + - TAC + - SUBPLMN + - GEOAREA + - SNSSAI + - DNN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - "TAC": Type Allocation Code + - "SUBPLMN": Subscriber PLMN ID + - "GEOAREA": Geographical area, i.e. list(s) of TAI(s) + - "SNSSAI": S-NSSAI + - "DNN": DNN + + PartitioningCriteriaRm: + anyOf: + - $ref: '#/components/schemas/PartitioningCriteria' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the ' PartitioningCriteria ' data type, but + with the OpenAPI 'nullable: true' property. + + PduSetHandlingInfo: + anyOf: + - type: string + enum: + - ALL_PDUS_NEEDED + - ALL_PDUS_NOT_NEEDED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - "ALL_PDUS_NEEDED": All PDUs of the PDU Set are needed + - "ALL_PDUS_NOT_NEEDED": All PDUs of the PDU Set are not needed + + MediaTransportProto: + anyOf: + - type: string + enum: + - RTP + - SRTP + - MOQT + - type: string + description: > + The enumeration MediaTransportProto indicates the transport protocol used for a media flow. + + MediaTransportProtoRm: + anyOf: + - $ref: '#/components/schemas/MediaTransportProto' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'MediaTransportProto' data type, + but with the OpenAPI 'nullable: true' property. + + RtpHeaderExtType: + anyOf: + - type: string + enum: + - PDU_SET_MARKING + - DYN_CHANGING_TRAFFIC_CHAR + - EXPEDITED_TRANSFER_IND + - type: string + description: > + The enumeration indicates the type of Rtp Header Extension type + + RtpHeaderExtTypeRm: + anyOf: + - $ref: '#/components/schemas/RtpHeaderExtType' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'RtpHeaderExtType' data type, + but with the OpenAPI 'nullable: true' property. + + + RtpPayloadFormat: + anyOf: + - type: string + enum: + - H264 + - H265 + - type: string + description: > + The enumeration RtpPayloadFormat indicates the RTP Payload format + + + RtpPayloadFormatRm: + anyOf: + - $ref: '#/components/schemas/RtpPayloadFormat' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'RtpPayloadFormat' data type, but with the + OpenAPI 'nullable: true' property. + + + MriTransferMethod: + anyOf: + - type: string + enum: + - UDP_OPTION + - type: string + description: > + This data type indicates the method used for transferring Media Related Information. + + MriTransferMethodRm: + anyOf: + - $ref: '#/components/schemas/MriTransferMethod' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'MriTransferMethod' data type, + but with the OpenAPI 'nullable: true' property. + +# +# +# STRUCTURED DATA TYPES +# + + Arp: + description: Contains Allocation and Retention Priority information. + type: object + properties: + priorityLevel: + $ref: '#/components/schemas/ArpPriorityLevel' + preemptCap: + $ref: '#/components/schemas/PreemptionCapability' + preemptVuln: + $ref: '#/components/schemas/PreemptionVulnerability' + required: + - priorityLevel + - preemptCap + - preemptVuln + + Ambr: + description: Contains the maximum aggregated uplink and downlink bit rates. + type: object + properties: + uplink: + $ref: '#/components/schemas/BitRate' + downlink: + $ref: '#/components/schemas/BitRate' + required: + - uplink + - downlink + + Dynamic5Qi: + description: > + It indicates the QoS Characteristics for a Non-standardised or not pre-configured 5QI + for downlink and uplink. + type: object + properties: + resourceType: + $ref: '#/components/schemas/QosResourceType' + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + packetDelayBudget: + $ref: '#/components/schemas/PacketDelBudget' + packetErrRate: + $ref: '#/components/schemas/PacketErrRate' + averWindow: + $ref: '#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: '#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: '#/components/schemas/ExtMaxDataBurstVol' + extPacketDelBudget: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetDl: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetUl: + $ref: '#/components/schemas/ExtPacketDelBudget' + required: + - resourceType + - priorityLevel + - packetDelayBudget + - packetErrRate + + NonDynamic5Qi: + description: > + It indicates the QoS Characteristics for a standardized or pre-configured 5QI for downlink + and uplink. + type: object + properties: + priorityLevel: + $ref: '#/components/schemas/5QiPriorityLevel' + averWindow: + $ref: '#/components/schemas/AverWindow' + maxDataBurstVol: + $ref: '#/components/schemas/MaxDataBurstVol' + extMaxDataBurstVol: + $ref: '#/components/schemas/ExtMaxDataBurstVol' + cnPacketDelayBudgetDl: + $ref: '#/components/schemas/ExtPacketDelBudget' + cnPacketDelayBudgetUl: + $ref: '#/components/schemas/ExtPacketDelBudget' + minProperties: 0 + + ArpRm: + anyOf: + - $ref: '#/components/schemas/Arp' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Arp' data type, but with the + OpenAPI 'nullable: true' property. + + AmbrRm: + anyOf: + - $ref: '#/components/schemas/Ambr' + - $ref: '#/components/schemas/NullValue' + description: > + This data type is defined in the same way as the 'Ambr' data type, but with the + OpenAPI 'nullable: true' property." + + SliceMbr: + description: MBR related to slice + type: object + properties: + uplink: + $ref: '#/components/schemas/BitRate' + downlink: + $ref: '#/components/schemas/BitRate' + required: + - uplink + - downlink + + SliceMbrRm: + description: "SliceMbr with nullable: true" + + anyOf: + - $ref: '#/components/schemas/SliceMbr' + - $ref: '#/components/schemas/NullValue' + + PduSetQosPara: + description: Represents the PDU Set level QoS parameters. + type: object + properties: + pduSetDelayBudget: + $ref: '#/components/schemas/ExtPacketDelBudget' + pduSetErrRate: + $ref: '#/components/schemas/PacketErrRate' + pduSetHandlingInfo: + $ref: '#/components/schemas/PduSetHandlingInfo' + anyOf: + - required: [ pduSetDelayBudget, pduSetErrRate ] + - required: [ pduSetHandlingInfo ] +# + + PduSetQosParaRm: + description: "PduSetQosPara contains removable attributes" + type: object + nullable: true + properties: + pduSetDelayBudget: + $ref: '#/components/schemas/ExtPacketDelBudgetRm' + pduSetErrRate: + $ref: '#/components/schemas/PacketErrRateRm' + pduSetHandlingInfo: + $ref: '#/components/schemas/PduSetHandlingInfoRm' + + + ProtocolDescription: + description: ProtocolDescription contains information to derive PDU set information. + type: object + properties: + transportProto: + $ref: '#/components/schemas/MediaTransportProto' + rtpHeaderExtInfo: + $ref: '#/components/schemas/RtpHeaderExtInfo' + addRtpHeaderExtInfo: + type: array + items: + $ref: '#/components/schemas/RtpHeaderExtInfo' + minItems: 1 + rtpPayloadInfoList: + type: array + items: + $ref: '#/components/schemas/RtpPayloadInfo' + minItems: 1 + mriTransferInfo: + $ref: '#/components/schemas/MriTransferMethod' + + ProtocolDescriptionRm: + description: Describes the modifications to the ProtocolDescription data type. + type: object + nullable: true + properties: + transportProto: + $ref: '#/components/schemas/MediaTransportProtoRm' + rtpHeaderExtInfo: + $ref: '#/components/schemas/RtpHeaderExtInfoRm' + addRtpHeaderExtInfo: + type: array + nullable: true + items: + $ref: '#/components/schemas/RtpHeaderExtInfo' + minItems: 1 + rtpPayloadInfoList: + type: array + nullable: true + items: + $ref: '#/components/schemas/RtpPayloadInfo' + minItems: 1 + mriTransferInfo: + $ref: '#/components/schemas/MriTransferMethodRm' + + + RtpHeaderExtInfo: + description: RTP Header Extension information + type: object + properties: + rtpHeaderExtType: + $ref: '#/components/schemas/RtpHeaderExtType' + rtpHeaderExtId: + type: integer + minimum: 1 + maximum: 255 + longFormat: + type: boolean + pduSetSizeActive: + type: boolean + pduSetPduCountActive: + type: boolean + + RtpHeaderExtInfoRm: + description: Describes the modifications to RtpHeaderExtInfo data type + type: object + nullable: true + properties: + rtpHeaderExtType: + $ref: '#/components/schemas/RtpHeaderExtTypeRm' + rtpHeaderExtId: + type: integer + nullable: true + minimum: 1 + maximum: 255 + longFormat: + type: boolean + nullable: true + pduSetSizeActive: + type: boolean + nullable: true + pduSetPduCountActive: + type: boolean + nullable: true + + RtpPayloadInfo: + description: RtpPayloadInfo contains Rtp payload type and format. + type: object + properties: + rtpPayloadTypeList: + type: array + items: + type: integer + minimum: 0 + maximum: 127 + minItems: 1 + rtpPayloadFormat: + $ref: '#/components/schemas/RtpPayloadFormat' + + RtpPayloadInfoRm: + nullable: true + description: Describes the modifications to the RtpPayloadInfo data type. + type: object + properties: + rtpPayloadTypeList: + type: array + nullable: true + items: + type: integer + minimum: 0 + maximum: 127 + minItems: 1 + rtpPayloadFormat: + $ref: '#/components/schemas/RtpPayloadFormatRm' + + PduSetHandlingInfoRm: + anyOf: + - $ref: '#/components/schemas/PduSetHandlingInfo' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'PduSetHandlingInfo' enumeration, + but with the OpenAPI 'nullable: true' property. + + MriTransferInfo: + description: Describes how media related information is transferred + type: object + properties: + transferMethod: + $ref: '#/components/schemas/MriTransferMethod' + + MriTransferInfoRm: + description: Describes how media related information is transferred + type: object + nullable: true + properties: + transferMethod: + $ref: '#/components/schemas/MriTransferMethodRm' + + +# +# Data Types related to 5G Trace as defined in clause 5.6 +# + +# +# SIMPLE DATA TYPES +# + + PhysCellId: + type: integer + minimum: 0 + maximum: 1007 + description: > + Integer value identifying the physical cell identity (PCI), as definition of "PhysCellId" IE + in clause 6.3.2 of 3GPP TS 38.331. + + ArfcnValueNR: + type: integer + minimum: 0 + maximum: 3279165 + description: > + Integer value indicating the ARFCN applicable for a downlink, uplink or bi-directional (TDD) + NR global frequency raster, + as definition of "ARFCN-ValueNR" IE in clause 6.3.2 of 3GPP TS 38.331. + + QoeReference: + description: > + String containing MCC (3 digits), MNC (2 or 3 digits) + and QMC ID (3 octets, encoded as 6 hexadecimal digits). + type: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{6}$' + + MdtAlignmentInfo: + description: | + String containing: + - Trace Reference: MCC (3 digits), MNC (2 or 3 digits), + Trace ID (3 octets, encoded as 6 hexadecimal digits) + - Trace Recording Session Reference (2 octets, encoded as 4 hexadecimal digits) + format: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{6}-[A-Fa-f0-9]{4}$' + +# +# +# Enumerations +# + + TraceDepth: + anyOf: + - type: string + enum: + - MINIMUM + - MEDIUM + - MAXIMUM + - MINIMUM_WO_VENDOR_EXTENSION + - MEDIUM_WO_VENDOR_EXTENSION + - MAXIMUM_WO_VENDOR_EXTENSION + - type: string + description: > + The enumeration TraceDepth defines how detailed information should be recorded + in the trace. See 3GPP TS 32.422 for further description of the values. + It shall comply with the provisions defined in table 5.6.3.1-1 + + TraceDepthRm: + anyOf: + - $ref: '#/components/schemas/TraceDepth' + - $ref: '#/components/schemas/NullValue' + description: > + This enumeration is defined in the same way as the 'TraceDepth' enumeration, but with + the OpenAPI 'nullable: true' property. + + JobType: + anyOf: + - type: string + enum: + - IMMEDIATE_MDT_ONLY + - LOGGED_MDT_ONLY + - TRACE_ONLY + - IMMEDIATE_MDT_AND_TRACE + - LOGGED_MBSFN_MDT + - 5GC_UE_LEVEL_MEASUREMENTS_ONLY + - TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS_ONLY + - IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS + - TRACE_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS + - type: string + description: > + The enumeration JobType defines Job Type in the trace. See 3GPP TS 32.422 for further + description of the values. It shall comply with the provisions defined in table 5.6.3.3-1. + + ReportTypeMdt: + anyOf: + - type: string + enum: + - PERIODICAL + - EVENT_TRIGGED + - type: string + description: > + The enumeration ReportTypeMdt defines Report Type for logged MDT in the trace. See 3GPP TS + 32.422 for further description of the values. It shall comply with the provisions defined + in table 5.6.3.4-1. + + MeasurementLteForMdt: + anyOf: + - type: string + enum: + - M1 + - M2 + - M3 + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL + - M8 + - M9 + - type: string + description: > + The enumeration MeasurementLteForMdt defines Measurements used for MDT in LTE in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.5-1. + + MeasurementNrForMdt: + anyOf: + - type: string + enum: + - M1 + - M2 + - M3 + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL + - M8 + - M9 + - type: string + description: > + The enumeration MeasurementNrForMdt defines Measurements used for MDT in NR in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.6-1. + + SensorMeasurement: + anyOf: + - type: string + enum: + - BAROMETRIC_PRESSURE + - UE_SPEED + - UE_ORIENTATION + - type: string + description: > + The enumeration SensorMeasurement defines sensor measurement type for MDT in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.7-1. + + ReportingTrigger: + anyOf: + - type: string + enum: + - PERIODICAL + - EVENT_A2 + - EVENT_A2_PERIODIC + - ALL_RRM_EVENT_TRIGGERS + - type: string + description: > + The enumeration ReportingTrigger defines Reporting Triggers for MDT in the trace. See 3GPP + TS 32.42] for further description of the values. It shall comply with the provisions + defined in table 5.6.3.8-1. + + ReportIntervalMdt: + anyOf: + - type: string + enum: + - 120 + - 240 + - 480 + - 640 + - 1024 + - 2048 + - 5120 + - 10240 + - 60000 + - 360000 + - 720000 + - 1800000 + - 3600000 + - type: string + description: > + The enumeration ReportIntervalMdt defines Report Interval for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with + the provisions defined in table 5.6.3.9-1. + + ReportAmountMdt: + anyOf: + - type: string + enum: + - 1 + - 2 + - 4 + - 8 + - 16 + - 32 + - 64 + - infinity + - type: string + description: > + The enumeration ReportAmountMdt defines Report Amount for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.10-1. + + EventForMdt: + anyOf: + - type: string + enum: + - OUT_OF_COVERAG + - A2_EVENT + - type: string + description: > + The enumeration EventForMdt defines events triggered measurement for logged MDT in the + trace. See 3GPP TS 32.422 for further description of the values. It shall comply with + the provisions defined in table 5.6.3.11-1 + + LoggingIntervalMdt: + anyOf: + - type: string + enum: + - 128 + - 256 + - 512 + - 1024 + - 2048 + - 3072 + - 4096 + - 6144 + - type: string + description: > + The enumeration LoggingIntervalMdt defines Logging Interval for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.12-1. + + LoggingDurationMdt: + anyOf: + - type: string + enum: + - 600 + - 1200 + - 2400 + - 3600 + - 5400 + - 7200 + - type: string + description: > + The enumeration LoggingIntervalMdt defines Logging Interval for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.12-1. + + PositioningMethodMdt: + anyOf: + - type: string + enum: + - GNSS + - E_CELL_ID + - type: string + description: > + The enumeration LoggingDurationMdt defines Logging Duration for MDT in the trace. See 3GPP + TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.13-1. + + CollectionPeriodRmmLteMdt: + anyOf: + - type: string + enum: + - 1024 + - 1280 + - 2048 + - 2560 + - 5120 + - 10240 + - 60000 + - type: string + description: > + The enumeration CollectionPeriodRmmLteMdt defines Collection period for RRM measurements + LTE for MDT in the trace. See 3GPP TS 32.422 for further description of the values. + It shall comply with the provisions defined in table 5.6.3.15-1. + + MeasurementPeriodLteMdt: + anyOf: + - type: string + enum: + - 1024 + - 1280 + - 2048 + - 2560 + - 5120 + - 10240 + - 60000 + - type: string + description: > + The enumeration MeasurementPeriodLteMdt defines Measurement period LTE for MDT in the + trace. See 3GPP TS 32.422 for further description of the values. It shall comply + with the provisions defined in table 5.6.3.16-1. + + ReportIntervalNrMdt: + anyOf: + - type: string + enum: + - 120 + - 240 + - 480 + - 640 + - 1024 + - 2048 + - 5120 + - 10240 + - 20480 + - 40960 + - 60000 + - 360000 + - 720000 + - 1800000 + - 3600000 + - type: string + description: > + The enumeration ReportIntervalNrMdt defines Report Interval in NR for MDT in the trace. See + 3GPP TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.17-1. + + LoggingIntervalNrMdt: + anyOf: + - type: string + enum: + - 128 + - 256 + - 512 + - 1024 + - 2048 + - 3072 + - 4096 + - 6144 + - 320 + - 640 + - infinity + - type: string + description: > + The enumeration LoggingIntervalNrMdt defines Logging Interval in NR for MDT in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.18-1. + + CollectionPeriodRmmNrMdt: + anyOf: + - type: string + enum: + - 1024 + - 2048 + - 5120 + - 10240 + - 60000 + - type: string + description: > + The enumeration CollectionPeriodRmmNrMdt defines Collection period for RRM measurements NR + for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.19-1 + + LoggingDurationNrMdt: + anyOf: + - type: string + enum: + - 600 + - 1200 + - 2400 + - 3600 + - 5400 + - 7200 + - type: string + description: > + The enumeration LoggingDurationMdt defines Logging Duration in NR for MDT in the trace. See + 3GPP TS 32.422 for further description of the values. It shall comply with the provisions + defined in table 5.6.3.20-1. + + QoeServiceType: + description: > + The enumeration QoeServiceType indicates the kind of service that shall be recorded for + QMC. It shall comply with the provisions defined in TS 29.571, table 5.6.3.21-1. + anyOf: + - type: string + enum: + - DASH + - MTSI + - VR + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + + AvailableRanVisibleQoeMetric: + description: > + The enumeration AvailableRanVisibleQoeMetric indicates different available + RAN-visible QoE metrics to the gNB. It shall comply with the provisions defined + in TS 29.571, table 5.6.3.22-1. + anyOf: + - type: string + enum: + - APPLICATION_LAYER_BUFFER_LEVEL_LIST + - PLAYOUT_DELAY_FOR_MEDIA_STARTUP + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + + MeasurementType: + anyOf: + - type: string + enum: + - GTP_DELAYDLPSAUPFUEMEAN_SNSSAI_QFI + - GTP_DELAYULPSAUPFUEMEANEXCD1_SNSSAI_QFI + - GTP_DELAYDLPSAUPFUEMEANINCD1_SNSSAI_QFI + - GTP_DELAYULPSAUPFNGRANMEAN_SNSSAI_QFI + - GTP_DELAYDLPSAUPFNGRANMEAN_SNSSAI_QFI + - GTP_RTTDELAYPSAUPFNGRANMEAN + - GTP_RTTDELAYPSAUPFNGRANMEAN_SNSSAI + - GTP_RTTDELAYPSAUPFNGRANMEAN_QFI + - GTP_RTTDELAYPSAUPFNGRANMEAN_SNSSAI_QFI + - type: string + description: > + The enumeration MeasurementType defines Measurement Type in the + 5GC UE level measurements trace. + + BluetoothRssi: + anyOf: + - type: string + enum: + - TRUE + - type: string + description: > + The enumeration BluetoothRssi defines RSSI measurement by UE for Bluetooth. + + WlanRssi: + anyOf: + - type: string + enum: + - TRUE + - type: string + description: > + The enumeration WlanRssi defines RSSI measurement by UE for WLAN. + + WlanRtt: + anyOf: + - type: string + enum: + - TRUE + - type: string + description: > + The enumeration WlanRtt defines RTT measurement by UE for WLAN. + + +# +# STRUCTURED DATA TYPES +# + + TraceData: + description: contains Trace control and configuration parameters. + type: object + nullable: true + properties: + traceRef: + type: string + pattern: '^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$' + description: > + Trace Reference (see 3GPP TS 32.422).It shall be encoded as the concatenation + of MCC, MNC and Trace ID as follows: - + The Trace ID shall be encoded as a 3 octet string in hexadecimal + representation. Each character in the Trace ID string shall + take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits of the + Trace ID shall appear first in the string, and the character representing the + 4 least significant bit of the Trace ID shall appear last in the string. + + traceDepth: + $ref: '#/components/schemas/TraceDepth' + neTypeList: + type: string + pattern: '^[A-Fa-f0-9]+$' + description: > + List of NE Types (see 3GPP TS 32.422). It shall be encoded as an octet string + in hexadecimal representation. Each character in the string shall take a value + of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits shall + appear first in the string, and the character representing the 4 least + significant bit shall appear last in the string. Octets shall be coded + according to 3GPP TS 32.422. + eventList: + type: string + pattern: '^[A-Fa-f0-9]+$' + description: > + Triggering events (see 3GPP TS 32.422). It shall be encoded as an octet string in + hexadecimal representation. Each character in the string shall take a value of "0" + to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits shall + appear first in the string, and the character representing the 4 least + significant bit shall appear last in the string. Octets shall be coded + according to 3GPP TS 32.422. + collectionEntityIpv4Addr: + $ref: '#/components/schemas/Ipv4Addr' + collectionEntityIpv6Addr: + $ref: '#/components/schemas/Ipv6Addr' + traceReportingConsumerUri: + $ref: '#/components/schemas/Uri' + interfaceList: + type: string + pattern: '^[A-Fa-f0-9]+$' + description: > + List of Interfaces (see 3GPP TS 32.422). It shall be encoded as an octet string in + hexadecimal representation. + Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" + and shall represent 4 bits. The most significant character representing the 4 most + significant bits shall appear first in the string, and the character representing the + 4 least significant bit shall appear last in the string. Octets shall be coded + according to 3GPP TS 32.422. If this attribute is not present, all the interfaces + applicable to the list of NE types indicated in the neTypeList attribute should + be traced. + jobType: + $ref: '#/components/schemas/JobType' + required: + - traceRef + - traceDepth + - neTypeList + - eventList + + MdtConfiguration: + description: contains contain MDT configuration data. + type: object + required: + - jobType + properties: + jobType: + $ref: '#/components/schemas/JobType' + reportType: + $ref: '#/components/schemas/ReportTypeMdt' + areaScope: + $ref: '#/components/schemas/AreaScope' + measurementLteList: + type: array + items: + $ref: '#/components/schemas/MeasurementLteForMdt' + measurementNrList: + type: array + items: + $ref: '#/components/schemas/MeasurementNrForMdt' + minItems: 1 + sensorMeasurementList: + type: array + items: + $ref: '#/components/schemas/SensorMeasurement' + minItems: 1 + sensorMeasurementLteList: + type: array + items: + $ref: '#/components/schemas/SensorMeasurement' + minItems: 1 + reportingTriggerList: + type: array + items: + $ref: '#/components/schemas/ReportingTrigger' + minItems: 1 + reportInterval: + $ref: '#/components/schemas/ReportIntervalMdt' + reportIntervalNr: + $ref: '#/components/schemas/ReportIntervalNrMdt' + reportAmount: + $ref: '#/components/schemas/ReportAmountMdt' + reportAmountPerMeasurementLte: + type: object + additionalProperties: + $ref: '#/components/schemas/ReportAmountMdt' + minProperties: 1 + description: > + A map (list of key-value pairs) where MeasurementLteForMdt serves as key; + reportAmountPerMeasurementNr: + type: object + additionalProperties: + $ref: '#/components/schemas/ReportAmountMdt' + minProperties: 1 + description: > + A map (list of key-value pairs) where MeasurementNrForMdt serves as key; + eventThresholdRsrp: + type: integer + minimum: 0 + maximum: 97 + description: > + This IE shall be present if the report trigger parameter is configured for A2 event + reporting or A2 event triggered periodic reporting and the job type parameter is + configured for Immediate MDT or combined Immediate MDT and Trace in LTE. + When present, this IE shall indicate the Event Threshold for RSRP, and the value shall + be between 0-97. + mnOnlyInd: + type: boolean + default: false + + eventThresholdRsrpNr: + type: integer + minimum: 0 + maximum: 127 + description: > + This IE shall be present if the report trigger parameter is configured for A2 event + reporting or A2 event triggered periodic reporting and the job type parameter is + configured for Immediate MDT, combined Immediate MDT + and Trace, Immediate MDT and 5GC UE level measurements or Trace, Immediate MDT and 5GC + UE level measurements in NR. When present, + this IE shall indicate the Event Threshold for RSRP, and the value shall be + between 0-127. + eventThresholdRsrq: + type: integer + minimum: 0 + maximum: 34 + description: > + This IE shall be present if the report trigger parameter is configured for A2 event + reporting or A2 event triggered periodic reporting and the job type parameter is + configured for Immediate MDT or combined Immediate MDT and Trace in LTE.When present, + this IE shall indicate the Event Threshold for RSRQ, and the value shall be + between 0-34. + eventThresholdRsrqNr: + type: integer + minimum: 0 + maximum: 127 + description: > + This IE shall be present if the report trigger parameter is configured for A2 event + reporting or A2 event triggered periodic reporting and the job type parameter is + configured for Immediate MDT, combined Immediate MDT and Trace, Immediate MDT and 5GC + UE level measurements or Trace, Immediate MDT and 5GC UE level measurements in NR. + When present, + this IE shall indicate the Event Threshold for RSRQ, and the value shall be + between 0-127. + eventList: + type: array + items: + $ref: '#/components/schemas/EventForMdt' + minItems: 1 + loggingInterval: + $ref: '#/components/schemas/LoggingIntervalMdt' + loggingIntervalNr: + $ref: '#/components/schemas/LoggingIntervalNrMdt' + loggingDuration: + $ref: '#/components/schemas/LoggingDurationMdt' + loggingDurationNr: + $ref: '#/components/schemas/LoggingDurationNrMdt' + positioningMethod: + $ref: '#/components/schemas/PositioningMethodMdt' + addPositioningMethodList: + type: array + items: + $ref: '#/components/schemas/PositioningMethodMdt' + minItems: 1 + collectionPeriodRmmLte: + $ref: '#/components/schemas/CollectionPeriodRmmLteMdt' + collectionPeriodRmmNr: + $ref: '#/components/schemas/CollectionPeriodRmmNrMdt' + measurementPeriodLte: + $ref: '#/components/schemas/MeasurementPeriodLteMdt' + mdtAllowedPlmnIdList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + minItems: 1 + maxItems: 16 + mbsfnAreaList: + type: array + items: + $ref: '#/components/schemas/MbsfnArea' + minItems: 1 + maxItems: 8 + interFreqTargetList: + type: array + items: + $ref: '#/components/schemas/InterFreqTargetInfo' + minItems: 1 + maxItems: 8 + eventThresholdSinrNr: + type: integer + minimum: 0 + maximum: 127 + bluetoothMeasurementNr: + $ref: '#/components/schemas/BluetoothMeasurement' + bluetoothMeasurementLte: + $ref: '#/components/schemas/BluetoothMeasurement' + wlanMeasurementNr: + $ref: '#/components/schemas/WlanMeasurement' + wlanMeasurementLte: + $ref: '#/components/schemas/WlanMeasurement' + sliceAreaScope: + type: array + items: + $ref: '#/components/schemas/SliceScopePerPlmn' + minItems: 1 + maxItems: 16 + + AreaScope: + description: Contain the area based on Cells or Tracking Areas. + type: object + properties: + eutraCellIdList: + type: array + items: + $ref: '#/components/schemas/EutraCellId' + minItems: 1 + nrCellIdList: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + tacInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/TacInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + cagInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/CagInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + nidInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/NidInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + cellIdNidInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/CellIdNidInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + tacNidInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/TacNidInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + cagList: + type: array + items: + $ref: '#/components/schemas/CagId' + minItems: 1 + + TacInfo: + description: contains tracking area information (tracking area codes). + type: object + required: + - tacList + properties: + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + + CagInfo: + description: contains CAG IDs. + type: object + required: + - cagList + properties: + cagList: + type: array + items: + $ref: '#/components/schemas/CagId' + minItems: 1 + + NidInfo: + description: contains NIDs. + type: object + required: + - nidList + properties: + nidList: + type: array + items: + $ref: '#/components/schemas/Nid' + minItems: 1 + + CellIdNidInfo: + description: contains a list of the NR Cell Identities in SNPN. + type: object + required: + - cellIdNidList + properties: + cellIdNidList: + type: array + items: + $ref: '#/components/schemas/CellIdNid' + minItems: 1 + + CellIdNid: + description: contains a NR Cell Identity and Network Identity. + type: object + required: + - cellId + - nid + properties: + cellId: + $ref: '#/components/schemas/NrCellId' + nid: + $ref: '#/components/schemas/Nid' + + TacNidInfo: + description: contains a list of the tracking area codes in SNPN. + type: object + required: + - tacNidList + properties: + tacNidList: + type: array + items: + $ref: '#/components/schemas/TacNid' + minItems: 1 + + TacNid: + description: contains a tracking area code and Network Identity. + type: object + required: + - tac + - nid + properties: + tac: + $ref: '#/components/schemas/Tac' + nid: + $ref: '#/components/schemas/Nid' + + MbsfnArea: + description: Contains an MBSFN area information. + type: object + properties: + mbsfnAreaId: + type: integer + minimum: 0 + maximum: 255 + description: This IE shall contain the MBSFN Area ID. + carrierFrequency: + type: integer + minimum: 0 + maximum: 262143 + description: When present, this IE shall contain the Carrier Frequency (EARFCN). + + InterFreqTargetInfo: + description: Indicates the Inter Frequency Target information. + required: + - dlCarrierFreq + type: object + properties: + dlCarrierFreq: + $ref: '#/components/schemas/ArfcnValueNR' + cellIdList: + type: array + items: + $ref: '#/components/schemas/PhysCellId' + minItems: 1 + maxItems: 32 + description: > + When present, this IE shall contain a list of the physical cell identities where the + UE is requested to perform measurement logging for the indicated frequency. + + + QmcConfigInfo: + description: > + It contains the configuration information for signaling-based activation of the + Quality of Experience (QoE) Measurements Collection (QMC) functionality. + type: object + required: + - qoeReference + properties: + qoeReference: + $ref: '#/components/schemas/QoeReference' + serviceType: + $ref: '#/components/schemas/QoeServiceType' + sliceScope: + type: array + items: + $ref: '#/components/schemas/Snssai' + minItems: 1 + areaScope: + $ref: '#/components/schemas/QmcAreaScope' + qoeCollectionEntityAddress: + $ref: '#/components/schemas/IpAddr' + qoeTarget: + $ref: '#/components/schemas/QoeTarget' + mdtAlignmentInfo: + $ref: '#/components/schemas/MdtAlignmentInfo' + availableRanVisibleQoeMetrics: + type: array + items: + $ref: '#/components/schemas/AvailableRanVisibleQoeMetric' + minItems: 1 + containerForAppLayerMeasConfig: + $ref: '#/components/schemas/Bytes' + mbsCommunicationServiceType: + $ref: '#/components/schemas/MbsServiceType' + + QmcAreaScope: + description: > + This IE contains the area in Cells or Tracking Areas where the QMC data collection + shall take place. + type: object + properties: + nrCellIdList: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + taiList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + plmnList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + minItems: 1 + + QoeTarget: + description: > + This parameter specifies the target object (individual UE) for the QMC in case of + signalling based QMC. It shall be able to carry an IMSI or a SUPI. + type: object + properties: + supi: + $ref: '#/components/schemas/Supi' + imsi: + $ref: '#/components/schemas/Imsi' + + + UeLevelMeasurementsConfiguration: + description: 5GC UE Level Measurements configuration. + type: object + required: + - jobType + - ueLevelMeasurementsList + properties: + jobType: + $ref: '#/components/schemas/JobType' + ueLevelMeasurementsList: + type: array + items: + $ref: '#/components/schemas/MeasurementType' + minItems: 1 + granularityPeriod: + $ref: '#/components/schemas/DurationSec' + + BluetoothMeasurement: + description: contains the bluetooth measurements to be collected for UE. + type: object + properties: + measurementNameList: + type: array + items: + $ref: '#/components/schemas/MeasurementName' + minItems: 1 + maxItems: 4 + bluetoothRssi: + $ref: '#/components/schemas/BluetoothRssi' + + WlanMeasurement: + description: contains the WLAN measurements to be collected for UE. + type: object + properties: + measurementNameList: + type: array + items: + $ref: '#/components/schemas/MeasurementName' + minItems: 1 + maxItems: 4 + wlanRssi: + $ref: '#/components/schemas/WlanRssi' + wlanRtt: + $ref: '#/components/schemas/WlanRtt' + + MeasurementName: + description: contains the measurement name for measurement collection. + type: object + properties: + bluetoothName: + type: string + wlanName: + type: string + + SliceScopePerPlmn: + description: contains the list of network slices for MDT per PLMN. + type: object + required: + - plmn + - sliceScope + properties: + plmn: + $ref: '#/components/schemas/PlmnId' + sliceScope: + type: array + items: + $ref: '#/components/schemas/Snssai' + minItems: 1 + maxItems: 1024 + + + +# Data Types related to 5G ODB as defined in clause 5.7 + +# +# SIMPLE DATA TYPES +# +# +# +# Enumerations +# + RoamingOdb: + anyOf: + - type: string + enum: + - OUTSIDE_HOME_PLMN + - OUTSIDE_HOME_PLMN_COUNTRY + - type: string + description: > + The enumeration RoamingOdb defines the Barring of Roaming as. See 3GPP TS 23.015 for further + description. It shall comply with the provisions defined in table 5.7.3.1-1. + + OdbPacketServices: + anyOf: + - anyOf: + - type: string + enum: + - ALL_PACKET_SERVICES + - ROAMER_ACCESS_HPLMN_AP + - ROAMER_ACCESS_VPLMN_AP + - type: string - $ref: '#/components/schemas/NullValue' - PreemptionVulnerability: + description: > + The enumeration OdbPacketServices defines the Barring of Packet Oriented Services. + See 3GPP TS 23.015 for further description. It shall comply with the provisions defined + in table 5.7.3.2-1 + +# +# STRUCTURED DATA TYPES +# + + OdbData: + description: Contains information regarding operater determined barring. + type: object + properties: + roamingOdb: + $ref: '#/components/schemas/RoamingOdb' + +# +# Data Types related to Charging as defined in clause 5.8 +# + +# +# SIMPLE DATA TYPES +# +# + ChargingId: + deprecated: true + type: integer + minimum: 0 + maximum: 4294967295 #(2^32)-1 + description: > + Integer where the allowed values correspond to the value range of an unsigned 32-bit + integer. + + SmfChargingId: + description: String based Charging ID + type: string + pattern: '^(0|([1-9]{1}[0-9]{0,9}))\.smf-([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$' + + ApplicationChargingId: + type: string + description: > + Application provided charging identifier allowing correlation of charging information. + + RatingGroup: + $ref: '#/components/schemas/Uint32' + + ServiceId: + $ref: '#/components/schemas/Uint32' + + +# +# Enumerations +# + +# +# STRUCTURED DATA TYPES +# + SecondaryRatUsageReport: + description: Secondary RAT Usage Report to report usage data for a secondary RAT for QoS flows. + type: object + properties: + secondaryRatType: + $ref: '#/components/schemas/RatType' + qosFlowsUsageData: + type: array + items: + $ref: '#/components/schemas/QosFlowUsageReport' + minItems: 1 + required: + - secondaryRatType + - qosFlowsUsageData + + QosFlowUsageReport: + description: Contains QoS flows usage data information. + type: object + properties: + qfi: + $ref: '#/components/schemas/Qfi' + startTimeStamp: + $ref: '#/components/schemas/DateTime' + endTimeStamp: + $ref: '#/components/schemas/DateTime' + downlinkVolume: + $ref: '#/components/schemas/Int64' + uplinkVolume: + $ref: '#/components/schemas/Int64' + required: + - qfi + - startTimeStamp + - endTimeStamp + - downlinkVolume + - uplinkVolume + + SecondaryRatUsageInfo: + description: > + Secondary RAT Usage Information to report usage data for a secondary RAT for QoS flows + and/or the whole PDU session. + type: object + properties: + secondaryRatType: + $ref: '#/components/schemas/RatType' + qosFlowsUsageData: + type: array + items: + $ref: '#/components/schemas/QosFlowUsageReport' + minItems: 1 + pduSessionUsageData: + type: array + items: + $ref: '#/components/schemas/VolumeTimedReport' + minItems: 1 + required: + - secondaryRatType + + VolumeTimedReport: + description: Contains Usage data information. + type: object + properties: + startTimeStamp: + $ref: '#/components/schemas/DateTime' + endTimeStamp: + $ref: '#/components/schemas/DateTime' + downlinkVolume: + $ref: '#/components/schemas/Int64' + uplinkVolume: + $ref: '#/components/schemas/Int64' + required: + - startTimeStamp + - endTimeStamp + - downlinkVolume + - uplinkVolume + + +# Data Types related to MBS as defined in clause 5.9 +# + +# +# SIMPLE DATA TYPES +# +# + + AreaSessionId: + $ref: '#/components/schemas/Uint16' + + AreaSessionPolicyId: + $ref: '#/components/schemas/Uint16' + + MbsFsaId: + description: MBS Frequency Selection Area Identifier + type: string + pattern: '^[A-Fa-f0-9]{6}$' + + IntendedServiceArea: + $ref: '#/components/schemas/Bytes' + + + +# +# Enumerations +# +# + MbsServiceType: + description: Indicates the MBS service type of an MBS session anyOf: - type: string enum: - - NOT_PREEMPTABLE - - PREEMPTABLE + - MULTICAST + - BROADCAST - type: string - PreemptionVulnerabilityRm: - anyOf: - - $ref: '#/components/schemas/PreemptionVulnerability' - - $ref: '#/components/schemas/NullValue' - ReflectiveQoSAttribute: + + MbsSessionActivityStatus: + description: Indicates the MBS session's activity status anyOf: - type: string enum: - - RQOS - - NO_RQOS + - ACTIVE + - INACTIVE - type: string - ReflectiveQoSAttributeRm: + + MbsSessionEventType: + description: MBS Session Event Type anyOf: - - $ref: '#/components/schemas/ReflectiveQoSAttribute' - - $ref: '#/components/schemas/NullValue' - NotificationControl: + - type: string + enum: + - MBS_REL_TMGI_EXPIRY + - BROADCAST_DELIVERY_STATUS + - INGRESS_TUNNEL_ADD_CHANGE + - type: string + + BroadcastDeliveryStatus: + description: Broadcast MBS Session's Delivery Status anyOf: - - type: string - enum: - - REQUESTED - - NOT_REQUESTED - - type: string - NotificationControlRm: + - type: string + enum: + - STARTED + - TERMINATED + - type: string + + NrRedCapUeInfo: + description: > + Indicates whether the broadcast MBS session is intended only for NR (e)RedCap UEs, + only for UEs that are neither NR RedCap UEs nor NR RedCap UEs, or for any kind of UE. anyOf: - - $ref: '#/components/schemas/NotificationControl' - - $ref: '#/components/schemas/NullValue' - QosResourceType: + - type: string + enum: + - NR_REDCAP_UE_ONLY # NR RedCap UEs and NR eRedCap UEs + - BOTH_NR_REDCAP_UE_AND_NON_REDCAP_UE # any kind of UEs + - NON_REDCAP_UE_ONLY # neither NR RedCap UEs nor NR eRedCap UEs + - type: string + +# +# STRUCTURED DATA TYPES +# + MbsSessionId: + description: MBS Session Identifier + type: object + properties: + tmgi: + $ref: '#/components/schemas/Tmgi' + ssm: + $ref: '#/components/schemas/Ssm' + nid: + $ref: '#/components/schemas/Nid' anyOf: - - type: string - enum: - - NON_GBR - - NON_CRITICAL_GBR - - CRITICAL_GBR - - type: string - QosResourceTypeRm: + - required: [ tmgi ] + - required: [ ssm ] + + Tmgi: + description: Temporary Mobile Group Identity + type: object + properties: + mbsServiceId: + type: string + pattern: '^[A-Fa-f0-9]{6}$' + description: MBS Service ID + plmnId: + $ref: '#/components/schemas/PlmnId' + required: + - mbsServiceId + - plmnId + + Ssm: + description: Source specific IP multicast address + type: object + properties: + sourceIpAddr: + $ref: '#/components/schemas/IpAddr' + destIpAddr: + $ref: '#/components/schemas/IpAddr' + required: + - sourceIpAddr + - destIpAddr + + MbsServiceArea: + description: MBS Service Area + type: object + properties: + ncgiList: + type: array + items: + $ref: '#/components/schemas/NcgiTai' + minItems: 1 + description: List of NR cell Ids + taiList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + description: List of tracking area Ids + intendedServAreaList: + type: array + items: + $ref: '#/components/schemas/IntendedServiceArea' + minItems: 1 + description: NR NTN Intended Service Area anyOf: - - $ref: '#/components/schemas/QosResourceType' - - $ref: '#/components/schemas/NullValue' - AdditionalQosFlowInfo: + - required: [ ncgiList ] + - required: [ taiList ] + + NcgiTai: + description: List of NR cell ids, with their pertaining TAIs + type: object + properties: + tai: + $ref: '#/components/schemas/Tai' + cellList: + type: array + items: + $ref: '#/components/schemas/Ncgi' + minItems: 1 + description: List of List of NR cell ids + required: + - tai + - cellList + + MbsSession: + description: Individual MBS session + type: object + properties: + mbsSessionId: + $ref: '#/components/schemas/MbsSessionId' + tmgiAllocReq: + type: boolean + default: false + writeOnly: true + tmgi: + allOf: + - $ref: '#/components/schemas/Tmgi' + readOnly: true + expirationTime: + allOf: + - $ref: '#/components/schemas/DateTime' + readOnly: true + serviceType: + allOf: + - $ref: '#/components/schemas/MbsServiceType' + writeOnly: true + locationDependent: + type: boolean + default: false + areaSessionId: + allOf: + - $ref: '#/components/schemas/AreaSessionId' + readOnly: true + ingressTunAddrReq: + type: boolean + default: false + writeOnly: true + ingressTunAddr: + type: array + items: + $ref: '#/components/schemas/TunnelAddress' + minItems: 1 + readOnly: true + ssm: + allOf: + - $ref: '#/components/schemas/Ssm' + writeOnly: true + mbsServiceArea: + allOf: + - $ref: '#/components/schemas/MbsServiceArea' + writeOnly: true +# extMbsServiceArea: +# allOf: +# - $ref: '#/components/schemas/ExternalMbsServiceArea' +# writeOnly: true + redMbsServArea: + allOf: + - $ref: '#/components/schemas/MbsServiceArea' + readOnly: true +# extRedMbsServArea: +# allOf: +# - $ref: '#/components/schemas/ExternalMbsServiceArea' +# readOnly: true + dnn: + allOf: + - $ref: '#/components/schemas/Dnn' + writeOnly: true + snssai: + allOf: + - $ref: '#/components/schemas/Snssai' + writeOnly: true + activationTime: + deprecated: true + format: date-time + type: string + startTime: + $ref: '#/components/schemas/DateTime' + terminationTime: + $ref: '#/components/schemas/DateTime' + mbsServInfo: + $ref: '#/components/schemas/MbsServiceInfo' + mbsSessionSubsc: + $ref: '#/components/schemas/MbsSessionSubscription' + activityStatus: + $ref: '#/components/schemas/MbsSessionActivityStatus' + anyUeInd: + type: boolean + default: false + writeOnly: true + mbsFsaIdList: + type: array + items: + $ref: '#/components/schemas/MbsFsaId' + minItems: 1 + associatedSessionId: + $ref: '#/components/schemas/AssociatedSessionId' + nrRedCapUeInfo: + $ref: '#/components/schemas/NrRedCapUeInfo' + required: + - serviceType anyOf: - - anyOf: - - type: string - enum: - - MORE_LIKELY - - type: string - - $ref: '#/components/schemas/NullValue' -# + - required: [ mbsSessionId ] + - required: [ tmgiAllocReq ] + not: + required: [redMbsServArea, extRedMbsServArea] + + + MbsSessionSubscription: + description: MBS session subscription + type: object + properties: + mbsSessionId: + $ref: '#/components/schemas/MbsSessionId' + areaSessionId: + $ref: '#/components/schemas/AreaSessionId' + eventList: + type: array + items: + $ref: '#/components/schemas/MbsSessionEvent' + minItems: 1 + notifyUri: + $ref: '#/components/schemas/Uri' + notifyCorrelationId: + type: string + expiryTime: + $ref: '#/components/schemas/DateTime' + nfcInstanceId: + $ref: '#/components/schemas/NfInstanceId' + mbsSessionSubscUri: + allOf: + - $ref: '#/components/schemas/Uri' + readOnly: true + required: + - eventList + - notifyUri + + MbsSessionEventReportList: + description: MBS session event report list + type: object + properties: + eventReportList: + type: array + items: + $ref: '#/components/schemas/MbsSessionEventReport' + minItems: 1 + notifyCorrelationId: + type: string + required: + - eventReportList + + MbsSessionEvent: + description: MBS session event + type: object + properties: + eventType: + $ref: '#/components/schemas/MbsSessionEventType' + required: + - eventType + + MbsSessionEventReport: + description: MBS session event report + type: object + properties: + eventType: + $ref: '#/components/schemas/MbsSessionEventType' + timeStamp: + $ref: '#/components/schemas/DateTime' + ingressTunAddrInfo: + $ref: '#/components/schemas/IngressTunAddrInfo' + broadcastDelStatus: + $ref: '#/components/schemas/BroadcastDeliveryStatus' + required: + - eventType + +# ExternalMbsServiceArea: +# description: List of geographic area or list of civic address info for MBS Service Area +# type: object +# properties: +# geographicAreaList: +# type: array +# items: +# $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' +# minItems: 1 +# civicAddressList: +# type: array +# items: +# $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' +# minItems: 1 +# oneOf: +# - required: [ geographicAreaList ] +# - required: [ civicAddressList ] + + + MbsSecurityContext: + description: MBS security context consisting of MSK/MTK(s) and associated IDs + type: object + properties: + keyList: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string serves + as key of MbsSecurityContext + type: object + additionalProperties: + $ref: '#/components/schemas/MbsKeyInfo' + minProperties: 1 + required: + - keyList + + MbsKeyInfo: + description: MBS Security Key Data Structure + type: object + properties: + keyDomainId: + $ref: '#/components/schemas/Bytes' + mskId: + $ref: '#/components/schemas/Bytes' + msk: + $ref: '#/components/schemas/Bytes' + mskLifetime: + $ref: '#/components/schemas/DateTime' + mtkId: + $ref: '#/components/schemas/Bytes' + mtk: + $ref: '#/components/schemas/Bytes' + required: + - keyDomainId + - mskId + + IngressTunAddrInfo: + description: Ingress Tunnel Address Information + type: object + properties: + ingressTunAddr: + type: array + items: + $ref: '#/components/schemas/TunnelAddress' + minItems: 1 + required: + - ingressTunAddr -# -# STRUCTURED DATA TYPES -# - Arp: + MbsServiceAreaInfo: + description: MBS Service Area Information for location dependent MBS session type: object properties: - priorityLevel: - $ref: '#/components/schemas/ArpPriorityLevel' - preemptCap: - $ref: '#/components/schemas/PreemptionCapability' - preemptVuln: - $ref: '#/components/schemas/PreemptionVulnerability' + areaSessionId: + $ref: '#/components/schemas/AreaSessionId' + mbsServiceArea: + $ref: '#/components/schemas/MbsServiceArea' required: - - priorityLevel - - preemptCap - - preemptVuln - ArpRm: - anyOf: - - $ref: '#/components/schemas/Arp' - - $ref: '#/components/schemas/NullValue' - Ambr: + - areaSessionId + - mbsServiceArea + + MbsServiceInfo: + description: Represent MBS Service Information. type: object properties: - uplink: - $ref: '#/components/schemas/BitRate' - downlink: + mbsMediaComps: + description: > + The key of the map is the "mbsMedCompNum" attribute of the corresponding MbsMediaCompRm + data structure provided as a map entry. + type: object + additionalProperties: + $ref: '#/components/schemas/MbsMediaCompRm' + minProperties: 1 + # mbsSdfResPrio: + # $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ReservPriority' + # afAppId: + # $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AfAppId' + mbsSessionAmbr: $ref: '#/components/schemas/BitRate' required: - - uplink - - downlink - AmbrRm: + - mbsMediaComps + + MbsMediaComp: + description: Represents an MBS Media Component. + type: object + properties: + mbsMedCompNum: + type: integer + # mbsFlowDescs: + # type: array + # items: + # $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription' + # minItems: 1 + # mbsSdfResPrio: + # $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ReservPriority' + mbsMediaInfo: + $ref: '#/components/schemas/MbsMediaInfo' + qosRef: + type: string + mbsQoSReq: + $ref: '#/components/schemas/MbsQoSReq' + required: + - mbsMedCompNum + + MbsMediaCompRm: + description: > + This data type is defined in the same way as the MbsMediaComp data type, but with the + OpenAPI nullable property set to true. anyOf: - - $ref: '#/components/schemas/Ambr' + - $ref: '#/components/schemas/MbsMediaComp' - $ref: '#/components/schemas/NullValue' - Dynamic5Qi: + + MbsQoSReq: + description: Represent MBS QoS requirements. type: object properties: - resourceType: - $ref: '#/components/schemas/QosResourceType' - priorityLevel: - $ref: '#/components/schemas/5QiPriorityLevel' - packetDelayBudget: - $ref: '#/components/schemas/PacketDelBudget' - packetErrRate: - $ref: '#/components/schemas/PacketErrRate' + 5qi: + $ref: '#/components/schemas/5Qi' + guarBitRate: + $ref: '#/components/schemas/BitRate' + maxBitRate: + $ref: '#/components/schemas/BitRate' averWindow: $ref: '#/components/schemas/AverWindow' - maxDataBurstVol: - $ref: '#/components/schemas/MaxDataBurstVol' - extMaxDataBurstVol: - $ref: '#/components/schemas/ExtMaxDataBurstVol' - extPacketDelBudget: - $ref: '#/components/schemas/ExtPacketDelBudget' - cnPacketDelayBudgetDl: - $ref: '#/components/schemas/ExtPacketDelBudget' - cnPacketDelayBudgetUl: - $ref: '#/components/schemas/ExtPacketDelBudget' + reqMbsArp: + $ref: '#/components/schemas/Arp' required: - - resourceType - - priorityLevel - - packetDelayBudget - - packetErrRate - NonDynamic5Qi: + - 5qi + + MbsMediaInfo: + description: Represent MBS Media Information. type: object properties: - priorityLevel: - $ref: '#/components/schemas/5QiPriorityLevel' - averWindow: - $ref: '#/components/schemas/AverWindow' - maxDataBurstVol: - $ref: '#/components/schemas/MaxDataBurstVol' - extMaxDataBurstVol: - $ref: '#/components/schemas/ExtMaxDataBurstVol' - cnPacketDelayBudgetDl: - $ref: '#/components/schemas/ExtPacketDelBudget' - cnPacketDelayBudgetUl: - $ref: '#/components/schemas/ExtPacketDelBudget' - minProperties: 0 +# mbsMedType: +# $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MediaType' + maxReqMbsBwDl: + $ref: '#/components/schemas/BitRate' + minReqMbsBwDl: + $ref: '#/components/schemas/BitRate' +# codecs: +# type: array +# items: +# $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/CodecData' +# minItems: 1 +# maxItems: 2 -# -# Data Types related to 5G Trace as defined in clause 5.6 + AssociatedSessionId: + description: an associated Session Id used in MOCN + anyOf: + - $ref: '#/components/schemas/Ssm' + - type: string + + + +# Data Types related to Time Synchronization as defined in clause 5.10 # # # SIMPLE DATA TYPES # - PhysCellId: - type: integer - minimum: 0 - maximum: 1007 - ArfcnValueNR: - type: integer - minimum: 0 - maximum: 3279165 # + + # # Enumerations # - TraceDepth: - anyOf: - - type: string - enum: - - MINIMUM - - MEDIUM - - MAXIMUM - - MINIMUM_WO_VENDOR_EXTENSION - - MEDIUM_WO_VENDOR_EXTENSION - - MAXIMUM_WO_VENDOR_EXTENSION - - type: string - TraceDepthRm: - anyOf: - - $ref: '#/components/schemas/TraceDepth' - - $ref: '#/components/schemas/NullValue' - JobType: - anyOf: - - type: string - enum: - - IMMEDIATE_MDT_ONLY - - LOGGED_MDT_ONLY - - TRACE_ONLY - - IMMEDIATE_MDT_AND_TRACE - - RLF_REPORTS_ONLY - - RCEF_REPORTS_ONLY - - LOGGED_MBSFN_MDT - - type: string - ReportTypeMdt: - anyOf: - - type: string - enum: - - PERIODICAL - - EVENT_TRIGGED - - type: string - MeasurementLteForMdt: - anyOf: - - type: string - enum: - - M1 - - M2 - - M3 - - M4_DL - - M4_UL - - M5_DL - - M5_UL - - M6_DL - - M6_UL - - M7_DL - - M7_UL - - M8 - - M9 - - type: string - MeasurementNrForMdt: - anyOf: - - type: string - enum: - - M1 - - M2 - - M3 - - M4_DL - - M4_UL - - M5_DL - - M5_UL - - M6_DL - - M6_UL - - M7_DL - - M7_UL - - M8 - - M9 - - type: string - SensorMeasurement: +# + + SynchronizationState: + description: Indicates the Synchronization State. anyOf: - type: string enum: - - BAROMETRIC_PRESSURE - - UE_SPEED - - UE_ORIENTATION + - LOCKED + - HOLDOVER + - FREERUN - type: string - ReportingTrigger: + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + TimeSource: + description: Indicates the Time Source. anyOf: - type: string enum: - - PERIODICAL - - EVENT_A2 - - EVENT_A2_PERIODIC - - ALL_RRM_EVENT_TRIGGERS + - SYNC_E + - PTP + - GNSS + - ATOMIC_CLOCK + - TERRESTRIAL_RADIO + - SERIAL_TIME_CODE + - NTP + - HAND_SET + - OTHER - type: string - ReportIntervalMdt: + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + ClockQualityDetailLevel: + description: Indicates the Clock Quality Detail Level. anyOf: - type: string enum: - - 120 - - 240 - - 480 - - 640 - - 1024 - - 2048 - - 5120 - - 10240 - - 60000 - - 360000 - - 720000 - - 1800000 - - 3600000 + - CLOCK_QUALITY_METRICS + - ACCEPT_INDICATION - type: string - ReportAmountMdt: + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + ClockQualityDetailLevelRm: + description: > + This data type is defined in the same way as the 'ClockQualityDetailLevel' data type, + but with the OpenAPI 'nullable: true' property. anyOf: - - type: string - enum: - - 1 - - 2 - - 4 - - 8 - - 16 - - 32 - - 64 - - infinity - - type: string - EventForMdt: + - $ref: '#/components/schemas/ClockQualityDetailLevel' + - $ref: '#/components/schemas/NullValue' + + +# +# STRUCTURED DATA TYPES +# + + ClockQualityAcceptanceCriterion: + description: Contains a Clock Quality Acceptance Criterion. + type: object + properties: + synchronizationState: + type: array + items: + $ref: '#/components/schemas/SynchronizationState' + minItems: 1 + clockQuality: + $ref: '#/components/schemas/ClockQuality' + parentTimeSource: + type: array + items: + $ref: '#/components/schemas/TimeSource' + minItems: 1 + + ClockQualityAcceptanceCriterionRm: + description: Contains a Clock Quality Acceptance Criterion. + type: object + nullable: true + properties: + synchronizationState: + type: array + nullable: true + items: + $ref: '#/components/schemas/SynchronizationState' + minItems: 1 + clockQuality: + $ref: '#/components/schemas/ClockQualityRm' + parentTimeSource: + type: array + nullable: true + items: + $ref: '#/components/schemas/TimeSource' + minItems: 1 + + ClockQuality: + description: Contains Clock Quality. + type: object + properties: + traceabilityToGnss: + type: boolean + traceabilityToUtc: + type: boolean + frequencyStability: + $ref: '#/components/schemas/Uint16' + clockAccuracyIndex: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + clockAccuracyValue: + type: integer + minimum: 1 + maximum: 40000000 + + ClockQualityRm: + description: "ClockQuality with 'nullable: true' property" + type: object + nullable: true + properties: + traceabilityToGnss: + type: boolean + traceabilityToUtc: + type: boolean + frequencyStability: + $ref: '#/components/schemas/Uint16Rm' + clockAccuracyIndex: + type: string + nullable: true + pattern: '^[A-Fa-f0-9]{2}$' + clockAccuracyValue: + type: integer + nullable: true + minimum: 1 + maximum: 40000000 + + + + +# Data Types related to IMS SBA as defined in clause 5.11 +# + +# +# SIMPLE DATA TYPES +# +# + + SessionId: + description: IMS Session Identifier + type: string + + Fingerprint: + description: The certificate fingerprint for the DTLS association. + type: string + pattern: '^(SHA-1|SHA-224|SHA-256|SHA-384|SHA-512|MD5|MD2)\s[0-9A-F]{2}(:[0-9A-F]{2})+$' + + MediaId: + description: IMS Media Flow Identifier + type: string + + MediaIdRm: + description: IMS Media Flow Identifier + type: string + nullable: true + + MaxMessageSize: + description: Maximum SCTP user message size + type: integer + maximum: 64 + default: 64 + + TlsId: + description: The TLS ID for the media stream. + type: string + pattern: '^[A-Za-z0-9+/_-]{20,255}$' + + ImsTranspInfo: + description: IMS object to carry transparent information for IMS Exposure services. + type: object + + +# +# Enumerations +# +# + MediaResourceType: + description: Indicates the Media Resource type anyOf: - type: string enum: - - OUT_OF_COVERAG - - A2_EVENT + - DC + - AUDIO + - VIDEO - type: string - LoggingIntervalMdt: + + MediaProxy: + description: Media Proxy Configuration applicable to the media flow anyOf: - type: string enum: - - 128 - - 256 - - 512 - - 1024 - - 2048 - - 3072 - - 4096 - - 6144 + - HTTP_PROXY + - UDP_PROXY + - DC_APPLICATION_PROXY - type: string - LoggingDurationMdt: + + SecuritySetup: + description: security setup of the DTLS connection anyOf: - - type: string - enum: - - 600 - - 1200 - - 2400 - - 3600 - - 5400 - - 7200 - - type: string - PositioningMethodMdt: + - type: string + enum: + - ACTIVE + - PASSIVE + - ACTPASS + - type: string + + BdcUsedBy: + description: The party uses the bootstrap data channel in the media description anyOf: - type: string enum: - - GNSS - - E_CELL_ID + - SENDER + - RECEIVER - type: string - CollectionPeriodRmmLteMdt: + + AdcEndpointType: + description: The remote endpoint type of the application data channel anyOf: - type: string enum: - - 1024 - - 1280 - - 2048 - - 2560 - - 5120 - - 10240 - - 60000 + - UE + - SERVER - type: string - MeasurementPeriodLteMdt: + + ImsEvent: + description: The IMS events anyOf: - type: string enum: - - 1024 - - 1280 - - 2048 - - 2560 - - 5120 - - 10240 - - 60000 + - ADC_ESTABLISHMENT + - ADC_RELEASE + - BDC_ESTABLISHMENT + - BDC_RELEASE + - ADC_IWK_ESTABLISHMENT - type: string - ReportIntervalNrMdt: + + AdcStatus: + description: ADC event status. anyOf: - type: string enum: - - 120 - - 240 - - 480 - - 640 - - 1024 - - 2048 - - 5120 - - 10240 - - 20480 - - 40960 - - 60000 - - 360000 - - 720000 - - 1800000 - - 3600000 + - ADC_ESTABLISHED + - ADC_RELEASED + - ADC_IWK_ESTABLISHED - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. - LoggingIntervalNrMdt: + BdcStatus: + description: BDC event status. anyOf: - type: string enum: - - 128 - - 256 - - 512 - - 1024 - - 2048 - - 3072 - - 4096 - - 6144 - - 320 - - 640 - - infinity + - BDC_ESTABLISHED + - BDC_RELEASED - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. - CollectionPeriodRmmNrMdt: + ImsReportMode: + description: Ims event report mode. anyOf: - type: string enum: - - 1024 - - 2048 - - 5120 - - 10240 - - 60000 + - ON_EVENT_DETECTION + - PERIODIC - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. - LoggingDurationNrMdt: + RenderingMode: + description: The rendering mode for avatar media anyOf: - type: string enum: - - 600 - - 1200 - - 2400 - - 3600 - - 5400 - - 7200 + - UE_CENTRIC + - NET_CENTRIC_MF + - NET_CENTRIC_DCAS - type: string + # # STRUCTURED DATA TYPES # - TraceData: + DcEndpoint: + description: Endpoint for Data Channel type: object - nullable: true properties: - traceRef: + sctpPort: + type: integer + maximum: 65535 + minimum: 0 + description: Local or remote port for Data Channel + fingerprint: + deprecated: true + allOf: + - $ref: '#/components/schemas/Fingerprint' + fingerprints: + type: array + items: + $ref: '#/components/schemas/Fingerprint' + minItems: 1 + tlsId: + $ref: '#/components/schemas/TlsId' + securitySetup: + $ref: '#/components/schemas/SecuritySetup' + + DcStream: + description: Data Channel mapping and configuration information + type: object + not: + required: [maxRetry, maxTime] + properties: + streamId: + type: integer + maximum: 65535 + default: 0 + description: Stream identifier for Data Channel + subprotocol: type: string - pattern: '^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$' - traceDepth: - $ref: '#/components/schemas/TraceDepth' - neTypeList: + pattern: '^[A-Fa-f0-9]{20}$' + description: Subprotocol of the SCTP stream + order: + type: boolean + maxRetry: + type: integer + default: 0 + description: maximal number of the times a message will be retransmitted + maxTime: + type: integer + default: 0 + description: > + maximal lifetime in milliseconds after which a message will no longer be + transmitted or retransmitted + priority: + type: integer + default: 256 + description: priority of data channel relative to other data channels + + + ReplaceHttpUrl: + description: replacement HTTP URL per stream + type: object + properties: + replaceHttpUrl: + $ref: '#/components/schemas/Uri' + streamId: + type: integer + maximum: 65535 + default: 0 + description: Stream identifier for Data Channel + + Endpoint: + description: Represents the IP endpoint. + type: object + required: + - ip + - transport + - portNumber + properties: + ip: + $ref: '#/components/schemas/IpAddr' + transport: + $ref: '#/components/schemas/TransportProtocol' + portNumber: + $ref: '#/components/schemas/Uinteger' + + + AppBindingInfo: + description: Represents the application binding information. + type: object + required: + - applicationId + properties: + applicationId: type: string - pattern: '^[A-Fa-f0-9]+$' - eventList: + description: application identifier. + plmnId: + $ref: '#/components/schemas/NetworkId' + appDcInfo: + deprecated: true + allOf: + - $ref: '#/components/schemas/AppDcInfo' + appDcInfoList: + type: array + items: + $ref: '#/components/schemas/AppDcInfo' + minItems: 1 + + + AppDcInfo: + description: Represents the application data channel is intened towards to a server or the remote UE. + type: object + required: + - streamId + properties: + streamId: + type: integer + adcEndpointType: + $ref: '#/components/schemas/AdcEndpointType' + + MdcEndpoint: + description: Endpoint for MDC1 and MDC2 interface + type: object + required: + - ip + - portNumber + properties: + ip: + $ref: '#/components/schemas/IpAddr' + portNumber: + $ref: '#/components/schemas/Uinteger' + sctpPort: + type: integer + maximum: 65535 + minimum: 0 + description: Port number for SCTP connection over DTLS + fingerprint: + deprecated: true + allOf: + - $ref: '#/components/schemas/Fingerprint' + fingerprints: + type: array + items: + $ref: '#/components/schemas/Fingerprint' + minItems: 1 + tlsId: + $ref: '#/components/schemas/TlsId' + securitySetup: + $ref: '#/components/schemas/SecuritySetup' + + ImsReportingOptions: + description: Ims event reporting options. + type: object + properties: + reportMode: + $ref: '#/components/schemas/ImsReportMode' + oneTimeReport: + type: boolean + oneTimeNotification: + type: boolean + maxNumOfReports: + type: integer + reportPeriod: + $ref: '#/components/schemas/DurationSec' + expiry: + $ref: '#/components/schemas/DateTime' + + ImsEventConfiguration: + description: Ims event configuration information. + type: object + required: + - imsEvent + properties: + imsEvent: + $ref: '#/components/schemas/ImsEvent' + eventInfo: + $ref: '#/components/schemas/EventInformation' + reqCurrentStatus: + type: boolean + imsEventFilters: + type: array + items: + $ref: '#/components/schemas/ImsEventFilter' + minItems: 1 + + EventInformation: + description: Ims event information. + type: object + properties: + imsTranspEventConfig: + $ref: '#/components/schemas/ImsTranspInfo' + ImsEventFilter: + description: Conditions to match specific Ims event. + type: object + properties: + callingId: type: string - pattern: '^[A-Fa-f0-9]+$' - collectionEntityIpv4Addr: - $ref: '#/components/schemas/Ipv4Addr' - collectionEntityIpv6Addr: - $ref: '#/components/schemas/Ipv6Addr' - interfaceList: + pattern: '^(sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}|tel\:\+[0-9]{5,15})$' + calledId: type: string - pattern: '^[A-Fa-f0-9]+$' + pattern: '^(sip\:([a-zA-Z0-9_\-.!~*()&=+$,;?\/]+)\@([A-Za-z0-9]+([-A-Za-z0-9]+)\.)+[a-z]{2,}|tel\:\+[0-9]{5,15})$' + appBindingInfo: + $ref: '#/components/schemas/AppBindingInfo' + sessionId: + $ref: '#/components/schemas/SessionId' + imsTranspFilter: + $ref: '#/components/schemas/ImsTranspInfo' + + ImsEventReport: + description: Ims event report. + type: object required: - - traceRef - - traceDepth - - neTypeList - - eventList - MdtConfiguration: + - imsEvent + properties: + imsEvent: + $ref: '#/components/schemas/ImsEvent' + eventReport: + $ref: '#/components/schemas/ImsEventReportInfo' + sessionId: + $ref: '#/components/schemas/SessionId' + + ImsEventReportInfo: + description: Ims event report specific information. + type: object + properties: + adcReport: + $ref: '#/components/schemas/AdcReport' + bdcReport: + $ref: '#/components/schemas/BdcReport' + imsTranspEventReport: + $ref: '#/components/schemas/ImsTranspInfo' + + AdcReport: + description: Application data channel report. type: object required: - - jobType + - adcStatus properties: - jobType: - $ref: '#/components/schemas/JobType' - reportType: - $ref: '#/components/schemas/ReportTypeMdt' - areaScope: - $ref: '#/components/schemas/AreaScope' - measurementLteList: + adcStatus: + $ref: '#/components/schemas/AdcStatus' + + BdcReport: + description: Bootstrap data channel report. + type: object + required: + - bdcStatus + properties: + bdcStatus: + $ref: '#/components/schemas/BdcStatus' + + RcdProperties: + description: Contains the RCD related parameters. + type: object + properties: + rcdSrvAddr: + $ref: '#/components/schemas/ServerAddressingInfo' + rcdUrl: + $ref: '#/components/schemas/Uri' + rcdInfo: + $ref: '#/components/schemas/RcdInformation' + + RcdInformation: + description: > + Contains a collection of RCD properties as specified in IETF RFC 9796 + and represented as a jCard JSON object. + type: object + required: + - identifProps + properties: + identifProps: + $ref: '#/components/schemas/IdentificationProperties' + delvAddrProps: + $ref: '#/components/schemas/DeliveringAddrProperties' + commsProps: + $ref: '#/components/schemas/CommunicationsProperties' + geogrProps: + $ref: '#/components/schemas/GeographicalProperties' + organProps: + $ref: '#/components/schemas/OrganizationalProperties' + explanProps: + $ref: '#/components/schemas/ExplanatoryProperties' + + IdentificationProperties: + description: Represents the identity information of the entity associated with the jCard. + type: object + required: + - fns + properties: + fns: + description: > + Represent the "fn" property which provides a formatted text corresponding to the + name of the object the jCard represents as defined in IETF RFC 6350, section 6.2.1. type: array - items: - $ref: '#/components/schemas/MeasurementLteForMdt' - measurementNrList: + items: + type: string + minItems: 1 + nProp: + description: > + Represent the "n" property which provides the components of the name of the object + the jCard represents as defined as defined in IETF RFC 6350, section 6.2.2. + type: string + nickNames: + description: > + Represent the "nickname" property which provides the text corresponding to the + nickname of the object the jCard represents as defined in IETF RFC 6350, section 6.2.3. type: array items: - $ref: '#/components/schemas/MeasurementNrForMdt' + type: string minItems: 1 - sensorMeasurementList: + photos: + description: > + Represent the "photo" property which provides image or photograph information that + annotates some aspect of the object the jCard represents as defined in + IETF RFC 6350, section 6.2.4. type: array items: - $ref: '#/components/schemas/SensorMeasurement' + $ref: '#/components/schemas/Uri' minItems: 1 - reportingTriggerList: + + DeliveringAddrProperties: + description: > + Represents the information related to the delivery address of the entity associated with + the jCard. + type: object + properties: + adrs: + description: > + Represent the "adr" property which provides the delivery address of the object the + jCard represents as defined in IETF RFC 6350, section 6.3.1. type: array items: - $ref: '#/components/schemas/ReportingTrigger' + type: string minItems: 1 - reportInterval: - $ref: '#/components/schemas/ReportIntervalMdt' - reportIntervalNr: - $ref: '#/components/schemas/ReportIntervalNrMdt' - reportAmount: - $ref: '#/components/schemas/ReportAmountMdt' - eventThresholdRsrp: - type: integer - minimum: 0 - maximum: 97 - eventThresholdRsrpNr: - type: integer - minimum: 0 - maximum: 127 - eventThresholdRsrq: - type: integer - minimum: 0 - maximum: 34 - eventThresholdRsrqNr: - type: integer - minimum: 0 - maximum: 127 - eventList: + + CommunicationsProperties: + description: Indicates how to communicate with the entity associated with the jCard. + type: object + properties: + tels: + description: > + Represent the "tel" property which provides the telephone number for the object the + jCard represents as defined in IETF RFC 6350, section 6.4.1. type: array items: - $ref: '#/components/schemas/EventForMdt' + type: string minItems: 1 - loggingInterval: - $ref: '#/components/schemas/LoggingIntervalMdt' - loggingIntervalNr: - $ref: '#/components/schemas/LoggingIntervalNrMdt' - loggingDuration: - $ref: '#/components/schemas/LoggingDurationMdt' - loggingDurationNr: - $ref: '#/components/schemas/LoggingDurationNrMdt' - positioningMethod: - $ref: '#/components/schemas/PositioningMethodMdt' - addPositioningMethodList: + emails: + description: > + Represent the "email" property which provides the electronic mail address of the + object the jCard represents as defined in IETF RFC 6350, section 6.4.2. type: array items: - $ref: '#/components/schemas/PositioningMethodMdt' + type: string minItems: 1 - collectionPeriodRmmLte: - $ref: '#/components/schemas/CollectionPeriodRmmLteMdt' - collectionPeriodRmmNr: - $ref: '#/components/schemas/CollectionPeriodRmmNrMdt' - measurementPeriodLte: - $ref: '#/components/schemas/MeasurementPeriodLteMdt' - mdtAllowedPlmnIdList: + langs: + description: > + Represent the "lang" property which provides the language(s) that may be used for + communicating with the object the jCard represents as defined in IETF RFC 6350, + section 6.4.4. type: array items: - $ref: '#/components/schemas/PlmnId' + type: string minItems: 1 - maxItems: 16 - mbsfnAreaList: + + GeographicalProperties: + description: > + Represents the geographical information associated with the entity associated with + the jCard. + type: object + properties: + tzs: + description: > + Represent the "tz" property which provides the time zone of the object the jCard + represents as defined in IETF RFC 6350, section 6.5.1. type: array items: - $ref: '#/components/schemas/MbsfnArea' + type: string minItems: 1 - maxItems: 8 - interFreqTargetList: + geos: + description: > + Represent the "geo" property which provides the global positioning of the object the + jCard represents as defined in IETF RFC 6350, section 6.5.2. type: array items: - $ref: '#/components/schemas/InterFreqTargetInfo' + $ref: '#/components/schemas/Uri' minItems: 1 - maxItems: 8 - AreaScope: + + OrganizationalProperties: + description: > + Represents the information associated with characteristics of the organization or + organizational units of the entity associated with the jCard. type: object properties: - eutraCellIdList: + titles: + description: > + Represent the "title" property which has the intent of providing the position or job + of the object the jCard represents as defined in IETF RFC 6350, section 6.6.1. type: array items: - $ref: '#/components/schemas/EutraCellId' + type: string minItems: 1 - nrCellIdList: + roles: + description: > + Represent the "role" property which has the intent of providing the position or job + of the object the jCard represents as defined in IETF RFC 6350, section 6.6.2. type: array items: - $ref: '#/components/schemas/NrCellId' + type: string minItems: 1 - tacList: + logos: + description: > + Represent the "logo" property which has the intent of specifying a graphic image of + a logo associated with the object the jCard represents as defined in IETF RFC 6350, + section 6.6.3. type: array items: - $ref: '#/components/schemas/Tac' + $ref: '#/components/schemas/Uri' minItems: 1 - tacInfoPerPlmn: - type: object - additionalProperties: - $ref: '#/components/schemas/TacInfo' - TacInfo: - type: object - required: - - tacList - properties: - tacList: + orgs: + description: > + Represent the "org" property which has the intent of specifying the organizational + name and units of the object the jCard represents as defined in IETF RFC 6350, + section 6.6.4. type: array items: - $ref: '#/components/schemas/Tac' + type: string minItems: 1 - MbsfnArea: - type: object - properties: - mbsfnAreaId: - type: integer - minimum: 0 - maximum: 255 - carrierFrequency: - type: integer - minimum: 0 - maximum: 262143 - InterFreqTargetInfo: - required: - - dlCarrierFreq + ExplanatoryProperties: + description: > + Indicates an additional information such as an application category information or notes + that are specific to the entity associated with the jCard. type: object + required: + - version properties: - dlCarrierFreq: - $ref: '#/components/schemas/ArfcnValueNR' - cellIdList: + categories: + description: > + Represent the "categories" property which specifies application category information + about the object the jCard represents as defined in IETF RFC 6350, section 6.7.1. type: array items: - $ref: '#/components/schemas/PhysCellId' + type: string minItems: 1 - maxItems: 32 - - -# Data Types related to 5G ODB as defined in clause 5.7 - -# -# SIMPLE DATA TYPES -# -# -# -# Enumerations -# - RoamingOdb: - anyOf: - - type: string - enum: - - OUTSIDE_HOME_PLMN - - OUTSIDE_HOME_PLMN_COUNTRY - - type: string - - OdbPacketServices: - anyOf: - - anyOf: - - type: string - enum: - - ALL_PACKET_SERVICES - - ROAMER_ACCESS_HPLMN_AP - - ROAMER_ACCESS_VPLMN_AP - - type: string - - $ref: '#/components/schemas/NullValue' + notes: + description: > + Represent the "note" property which specifies supplemental information or a comment + about the object the jCard represents as defined in IETF RFC 6350, section 6.7.2. + type: array + items: + type: string + minItems: 1 + sounds: + description: > + Represent the "sound" property which specifies digital sound content information + that annotates some aspect of the object the jCard represents as defined in + IETF RFC 6350, section 6.7.5. + type: array + items: + $ref: '#/components/schemas/Uri' + minItems: 1 + uid: + $ref: '#/components/schemas/Uri' + urls: + description: > + Represent the "url" property which specifies a uniform resource locator associated + with the object the jCard represents as defined in IETF RFC 6350, section 6.7.8. + type: array + items: + $ref: '#/components/schemas/Uri' + minItems: 1 + version: + description: > + Represent the "version" property which specifies the version of the vCard + specification used to format this vCard as defined in IETF RFC 6350, section 6.7.9. + type: string -# -# STRUCTURED DATA TYPES -# - OdbData: + AudioVideoMedia: + description: the description of audio and video media. type: object + required: + - transportProto + - fmt properties: - roamingOdb: - $ref: '#/components/schemas/RoamingOdb' + transportProto: + type: string + description: the transport protocol of audio/video media + fmt: + type: integer + description: Media format description of audio/video media -# -# Data Types related to Charging as defined in clause 5.8 + +# Data Types related to Ambient IoT as defined in clause 5.12 # # # SIMPLE DATA TYPES # # - ChargingId: - $ref: '#/components/schemas/Uint32' - ApplicationChargingId: + AiotAreaCode: + description: Ambient IoT Area code. type: string + pattern: '^[A-Fa-f0-9]{6}$' - RatingGroup: - $ref: '#/components/schemas/Uint32' + AiotFilteringInformation: + description: Ambient IoT Filtering Information. + $ref: '#/components/schemas/Bytes' - ServiceId: - $ref: '#/components/schemas/Uint32' + AiotDevPermId: + $ref: '#/components/schemas/Bytes' + description: > + String identifying the AIoT Device Permanent Identifier. -# -# Enumerations -# # # STRUCTURED DATA TYPES # - SecondaryRatUsageReport: - type: object - properties: - secondaryRatType: - $ref: '#/components/schemas/RatType' - qosFlowsUsageData: - type: array - items: - $ref: '#/components/schemas/QosFlowUsageReport' - minItems: 1 - required: - - secondaryRatType - - qosFlowsUsageData - - QosFlowUsageReport: - type: object - properties: - qfi: - $ref: '#/components/schemas/Qfi' - startTimeStamp: - $ref: '#/components/schemas/DateTime' - endTimeStamp: - $ref: '#/components/schemas/DateTime' - downlinkVolume: - $ref: '#/components/schemas/Int64' - uplinkVolume: - $ref: '#/components/schemas/Int64' - required: - - qfi - - startTimeStamp - - endTimeStamp - - downlinkVolume - - uplinkVolume - SecondaryRatUsageInfo: + AiotArea: + description: Contains a list of AIoT Area ID(s). type: object properties: - secondaryRatType: - $ref: '#/components/schemas/RatType' - qosFlowsUsageData: - type: array - items: - $ref: '#/components/schemas/QosFlowUsageReport' - minItems: 1 - pduSessionUsageData: + areaIds: type: array items: - $ref: '#/components/schemas/VolumeTimedReport' + $ref: '#/components/schemas/AiotAreaId' minItems: 1 required: - - secondaryRatType + - areaIds - VolumeTimedReport: + AiotAreaId: + description: AIoT Area ID. type: object properties: - startTimeStamp: - $ref: '#/components/schemas/DateTime' - endTimeStamp: - $ref: '#/components/schemas/DateTime' - downlinkVolume: - $ref: '#/components/schemas/Int64' - uplinkVolume: - $ref: '#/components/schemas/Int64' + plmnId: + $ref: '#/components/schemas/PlmnId' + nid: + $ref: '#/components/schemas/Nid' + aiotAreaCode: + $ref: '#/components/schemas/AiotAreaCode' required: - - startTimeStamp - - endTimeStamp - - downlinkVolume - - uplinkVolume + - plmnId + - aiotAreaCode + # @@ -2754,7 +7478,8 @@ components: schema: type: string 3gpp-Sbi-Target-Nf-Id: - description: 'Identifier of target NF (service) instance towards which the request is redirected' + description: > + 'Identifier of target NF (service) instance towards which the request is redirected' schema: type: string '308': @@ -2770,7 +7495,8 @@ components: schema: type: string 3gpp-Sbi-Target-Nf-Id: - description: 'Identifier of target NF (service) instance towards which the request is redirected' + description: > + 'Identifier of target NF (service) instance towards which the request is redirected' schema: type: string '400': @@ -2832,7 +7558,7 @@ components: schema: $ref: '#/components/schemas/ProblemDetails' '413': - description: Payload Too Large + description: Content Too Large content: application/problem+json: schema: @@ -2867,6 +7593,12 @@ components: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' + '502': + description: Bad Gateway + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' '503': description: Service Unavailable content: diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 59ddcb2c3d8f01c7259d7c1def06aa58ec5da1ee..0b96e49cbc8bebf6bbba994590ba3176518c6c32 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -15,6 +15,9 @@ 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 ; } revision 2025-03-25 { reference CR-1489 ; } revision 2024-11-01 { reference CR-1405; } @@ -26,6 +29,111 @@ 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 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 @@ -114,7 +222,7 @@ module _3gpp-5g-common-yang-types { min-elements 1; max-elements 1; key "sst sd"; - uses types5g3gpp:SNssai; + uses SNssai; } list dnnSmfInfoList { @@ -405,4 +513,138 @@ 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-5gc-nrm-aiot-ep.yang b/yang-models/_3gpp-5gc-nrm-aiot-ep.yang new file mode 100644 index 0000000000000000000000000000000000000000..9c8a843958f306599fd8be60ffa1de872802be45 --- /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 0000000000000000000000000000000000000000..be123060a171542c252449387fffffacf19cc2ff --- /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-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang index e7e5dc38431feb199442bb98f0bffba530d845f5..0cc653236d9d40cfbc7e12e789335525abde38d5 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 { @@ -579,15 +580,28 @@ 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-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index f2646d93e68a8b2cda55b07b413cfb2eb2cc4bfb..6f8b80c808fa35400eb36ff932da668762934cb7 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-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 2577809c6b6445b18e1cace013f5b428265ed10d..8ca29a704ee9d9fef7724c44f375fb4bf48f41d4 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 ; } @@ -220,7 +221,28 @@ 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 { diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index fed4e61593bd619257b1a0d44c8f35891f9228df..a982a6d966bdbaca0f4694d362f45afff6790357 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" { diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang index 3b4d22dd97c390af97e3d8078daedb03d17e1126..a3c14b50f0230bedf8c6e5592db6ab9021e9920a 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-fm.yang b/yang-models/_3gpp-common-fm.yang index e9d3b2defb0c4675535b8b5d7e3a2ff10b6dcbd2..046aa5a7ef07e3e03832b43a0f1afc8c2819a3e2 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -12,12 +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-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"; } // 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"; @@ -283,7 +285,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 +531,7 @@ module _3gpp-common-fm { mandatory true; config false ; yext3gpp:notNotifyable; + yext3gpp:inVariant; } leaf alarmChangedTime { @@ -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 { diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 29bd57ebbc6ea8094b15708c45b16c054a4e999a..4521f20811598610839f637829bf07a27f528780 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; } diff --git a/yang-models/_3gpp-common-qmcjob.yang b/yang-models/_3gpp-common-qmcjob.yang index 9d58855f52eec7ff62c51f9a7a9dcb3beaac8d00..3b6cfd8d7b67431fa8eefd2b0e6e5f58c8a984eb 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-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index 5cc3cdd461c46c62b62f313264927272b65a5c49..8fbbbdf949ce04a4cae0823043b6051990e7f318 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; } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index cbcf5b179aad55ff78b7c65b6e3e42e098e4e275..8eeee60b7f0844835fbfad9f6ceb105e26a4c6ad 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,6 +25,10 @@ module _3gpp-common-trace { Integration Reference Point (IRP); Information Service (IS)" ; + 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" ; } revision 2025-02-07 { reference "CR-0504" ; } @@ -112,75 +116,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 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. This <> defines a excess packet delay threshold information @@ -262,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 ; @@ -287,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 ; @@ -303,7 +227,7 @@ module _3gpp-common-trace { enum Uu ; } } - leaf-list SGSNInterfaces { + typedef SGSNInterfaces { type enumeration { enum Gb ; enum Iu-PS ; @@ -319,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 ; @@ -334,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 ; @@ -348,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 ; @@ -375,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 ; @@ -390,7 +314,7 @@ module _3gpp-common-trace { enum Ut ; } } - leaf-list HSSInterfaces { + typedef HSSInterfaces { type enumeration { enum MAP-C ; enum MAP-D ; @@ -402,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 ; @@ -424,7 +348,7 @@ module _3gpp-common-trace { enum S13 ; } } - leaf-list SGWInterfaces { + typedef SGWInterfaces { type enumeration { enum S4 ; enum S5 ; @@ -433,7 +357,7 @@ module _3gpp-common-trace { enum Gxc ; } } - leaf-list PDN_GWInterfaces { + typedef PDN_GWInterfaces { type enumeration { enum S2a ; enum S2b ; @@ -445,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 ; @@ -460,7 +384,7 @@ module _3gpp-common-trace { enum E1 ; } } - leaf-list AMFInterfaces { + typedef AMFInterfaces { type enumeration { enum N1 ; enum N2 ; @@ -474,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 ; @@ -517,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 ; @@ -531,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 ; @@ -553,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 { @@ -1585,7 +1557,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"; @@ -1671,7 +1643,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 { @@ -1731,7 +1703,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 +1758,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"; @@ -1803,6 +1775,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; @@ -2157,7 +2148,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 ; diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index 0b1c1ee27322437cc9734a487074ef5da53f45a3..e8613550a51805e55accf25d0e1b823ac57d0c5f 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 diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index bba864e2836d03deb76227e5011b19e97053e9a6..4f5e0db9b9d0873a68175903815ae6ebbaa20afc 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -16,7 +16,9 @@ module _3gpp-common-yang-types { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; - + // 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; } revision 2025-02-07 { reference CR-0492; } @@ -103,7 +105,7 @@ module _3gpp-common-yang-types { } typedef FullTime { - type yang:time-with-zone-offset; + type yang:time; } grouping DayInYearGrp { @@ -651,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. @@ -662,7 +683,6 @@ module _3gpp-common-yang-types { key "latitude longitude"; min-elements 3; ordered-by user; - uses GeoCoordinateGrp; } } @@ -678,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 { @@ -1070,10 +1098,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. diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang index 9a7e4bfbd53a990ea56021f11ca3703ff12e6c69..6edd0980193a4a36abd506094e15cae7737bd773 100644 --- a/yang-models/_3gpp-eqp-antennafunction.yang +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -16,10 +16,10 @@ module _3gpp-eqp-antennafunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-11-06 { 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; @@ -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. @@ -168,17 +168,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" { diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang index a21d4173fc5b10ed50ad054fc8e7fb995febfbab..0b092efabf0cb0084a5afa86b12847a178d04d2f 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-06 {reference "CR1661"; } revision 2025-08-13 { reference "CR1581"; } revision 2025-05-01 { reference "Initial revision"; } @@ -53,12 +54,26 @@ 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. 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 referenceTo { + 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 diff --git a/yang-models/_3gpp-nr-nrm-aiotreader.yang b/yang-models/_3gpp-nr-nrm-aiotreader.yang new file mode 100644 index 0000000000000000000000000000000000000000..435949e48244ed15a96b103d1fc6bf8eb0bbc0f1 --- /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 diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 60bc8091fcc1b17b7b30dca317f29792c6872d3e..d5392a2b7060915926d358bb656569c750293dd5 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,8 @@ module _3gpp-nr-nrm-ep { 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-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; } @@ -47,6 +50,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 +63,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 +89,7 @@ module _3gpp-nr-nrm-ep { key id; uses top3gpp:Top_Grp; container attributes { - uses eprp3gpp:EP_Common; + uses EP_F1UGrp; } } } @@ -132,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-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index e2940624d4f11b192580384aeb0aee56b4edde12..1cc3fe8cb814b425e7f5124c028f5959f23a0e3b 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 { diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang index 12592ba498c406202cd9e263dde2aa917d8414b5..7d6e781f23f6d4f81430c067de41c2c6533ba80f 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,162 +16,40 @@ 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; } } - 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 +67,7 @@ module _3gpp-nr-nrm-iabfunction { augment /me3gpp:ManagedElement { if-feature IABUnderManagedElement; - uses IabSubTree; + uses IABSubTree; } feature IABUnderSubNetwork { @@ -200,6 +76,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/_3gpp-nr-nrm-mwab.yang b/yang-models/_3gpp-nr-nrm-mwab.yang index 9f8af2af9575b54b16c11f95b2ac6c136b62f2cc..815de23d262cbacfcd8d5e00d5b825538638076d 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 { diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index 40245e23e7bc11ae461ca272de3df0cb9506c44b..a6b8fd775c89e35c0cffa0bc814e1cf206bc7fb6 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; } diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index f3f80a3d9ffe8a1384771dd290be72f86da94294..8f30e2f81c1cb94d6085d97ce8959d15a420dfff 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-ntnfunction.yang b/yang-models/_3gpp-nr-nrm-ntnfunction.yang index 43e2a86ebb7dadbeb5c226e897bd1263562278b2..53095b40121a74505ca314337782a0c36b97d57e 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-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 ; } @@ -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; } } @@ -289,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."; } @@ -329,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; diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang index 51e91f203ccc0532906c7999450df437b299cde0..c3660a832749edd1fa3875e03ac8d6b63ac84220 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"; } diff --git a/yang-models/external-yams/ietf-inet-types.yang b/yang-models/external-yams/ietf-inet-types.yang index 8101ea4bc5978aa27e86fbcaf41f6513ce86aedc..a7da0952342a163ea835d574d0c2bba36cd52be0 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 39e390cba870289d46e7185101f0d7c81253a11f..c67167fd00c3807146d552f09443f4f3c050ea73 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