diff --git a/OpenAPI/README.md b/OpenAPI/README.md index c0e969a3423284f17d20fc4487b36687dc426e9f..8be2519a32582f5f604c28245e1246ba51f688d5 100644 --- a/OpenAPI/README.md +++ b/OpenAPI/README.md @@ -103,6 +103,9 @@ The links below will open the Swagger Editor/UI and auto-load the OpenAPI YAML f ([Editor](https://forge.3gpp.org/swagger/tools/loader.html?yaml=OpenAPI/TS28318_DsoNrm.yaml)) ([UI](https://forge.3gpp.org/swagger/tools/loader.html?action=ui&yaml=OpenAPI/TS28318_DsoNrm.yaml)) +* Energy Information NRM (TS 28.310) +([Editor](https://forge.3gpp.org/swagger/tools/loader.html?yaml=OpenAPI/TS28310_EnergyInformationNrm.yaml)) +([UI](https://forge.3gpp.org/swagger/tools/loader.html?action=ui&yaml=OpenAPI/TS28310_EnergyInformationNrm.yaml)) ## Management Services (MnS) diff --git a/OpenAPI/TS28104_MdaNrm.yaml b/OpenAPI/TS28104_MdaNrm.yaml index c229cc7d83a8e88075b1297a3beca6855b6a42f1..3a83c1ae4f6f9af4bd291ed88932b4d064052545 100644 --- a/OpenAPI/TS28104_MdaNrm.yaml +++ b/OpenAPI/TS28104_MdaNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: MDA NRM - version: 18.4.0 + version: 19.3.0 description: >- OAS 3.0.1 specification of the MDA 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.104; MDA @@ -14,14 +14,44 @@ components: schemas: #-------- Definition of types----------------------------------------------------- + MDAType: + type: string + enum: + - COVERAGE_ANALYTICS_COVERAGE_PROBLEM_ANALYSIS + - COVERAGE_ANALYTICS_PAGING_OPTIMIZATION + - SLS_ANALYSIS_SERVICE_EXPERIENCE_ANALYSIS + - SLS_ANALYSIS_NETWORK_SLICE_THROUGHPUT_ANALYSIS + - 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 + - MDA_ASSISTED_FAULT_MANAGEMENT_FAILURE_PREDICTION + - MDA_ASSISTED_ENERGY_SAVING_ENERGY_SAVING_ANALYSIS + - MOBILITY_MANAGEMENT_ANALYTICS_MOBILITY_PERFORMANCE_ANALYSIS + - MOBILITY_MANAGEMENT_ANALYTICS_HANDOVER_OPTIMIZATION + - MAINTENANCE_MAINTENANCE_ANALYTICS + - MAINTENANCE_SOFTWARE_UPGRADE_VALIDATION_ANALYTICS + - RESOURCE_ANALYTICS_VIRTUALIZED_RESOURCE_UTILIZATION_ANALYSIS_NF + - RESOURCE_ANALYTICS_PHYSICAL_RESOURCE_UTILIZATION_ANALYSIS_NF + - RESOURCE_ANALYTICS_5GC_CONTROL_PLANE_CONGESTION_ANALYSIS + - PREDICTIONS_PM_DATA + - ATSSS_PERFORMANCE_TRAFFIC_STEERING_ANALYTICS + - CORRELATION_ANALYTICS_TRAINING_DATA_ANALYSIS + - CORRELATION_ANALYTICS_NF_SCALING_DIMENSIONING_DATA_ANALYSIS + MDATypes: type: array + uniqueItems: true items: - type: string + $ref: '#/components/schemas/MDAType' MDAOutputs: type: array + uniqueItems: true items: $ref: '#/components/schemas/MDAOutputPerMDAType' @@ -34,16 +64,20 @@ components: - type: object properties: areaScope: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' MDAOutputPerMDAType: type: object properties: mDAType: - type: string + $ref: '#/components/schemas/MDAType' mDAOutputIEFilters: type: array + uniqueItems: true items: $ref: '#/components/schemas/MDAOutputIEFilter' @@ -55,7 +89,10 @@ components: filterValue: type: string threshold: - $ref: '#/components/schemas/ThresholdInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ThresholdInfo' analyticsPeriod: $ref: '#/components/schemas/AnalyticsSchedule' timeOut: @@ -77,8 +114,9 @@ components: properties: timeDurations: type: array + uniqueItems: true items: - $ref: 'TS28104_MdaReport.yaml#/components/schemas/TimeWindow' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' - type: object properties: granularityPeriod: @@ -107,6 +145,7 @@ components: format: float minimum: 0 + #-------- Definition of types for name-containments ------ SubNetwork-ncO-MdaNrm: type: object @@ -138,15 +177,17 @@ components: properties: supportedMDACapabilities: $ref: '#/components/schemas/MDATypes' - mlModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - aIMLInferenceFunctionRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + aIMLInferenceFunctionRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: MDARequest: $ref: '#/components/schemas/MDARequest-Multiple' + MDAReport: + $ref: '#/components/schemas/MDAReport-Multiple' MDARequest-Single: allOf: @@ -171,7 +212,12 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' recommendationFilter: $ref: '#/components/schemas/AnalyticsScopeType' - + performanceThresholdInfo: + type: array + items: + $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ThresholdInfo' + thresholdMonitorRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' MDAReport-Single: $ref: 'TS28104_MdaReport.yaml#/components/schemas/MDAReport' diff --git a/OpenAPI/TS28104_MdaReport.yaml b/OpenAPI/TS28104_MdaReport.yaml index b57be4d1a8e53fd04bfad327601642a4218f4884..123a9954531b1cd5978d8d9801086897140eaeac 100644 --- a/OpenAPI/TS28104_MdaReport.yaml +++ b/OpenAPI/TS28104_MdaReport.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: MDA Report - version: 18.3.0 + version: 19.3.0 description: >- OAS 3.0.1 specification of the MDA Report - © 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.104; MDA Report @@ -14,18 +14,52 @@ components: schemas: #-------- Definition of types----------------------------------------------------- + ProjectionDuration: + type: object + properties: + fromTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + toTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + PagingOptimizationAnalysisOutput: + type: object + properties: + oOCDuration: + $ref: '#/components/schemas/ProjectionDuration' + oOCLocation: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoCoordinate' + minItems: 1 + oOCMap: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + minItems: 1 MDAOutputs: type: object properties: mDAType: - type: string + $ref: 'TS28104_MdaNrm.yaml#/components/schemas/MDAType' mDAOutputList: - type: array - items: - $ref: '#/components/schemas/MDAOutputEntry' + oneOf: + - $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/TrafficCongestionProblemAnalysisOutput' + - type: array + uniqueItems: true + items: + $ref: '#/components/schemas/MDAOutputEntry' analyticsWindow: - $ref: '#/components/schemas/TimeWindow' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindowRo' confidenceDegree: type: number format: float @@ -35,18 +69,10 @@ components: properties: mDAOutputIEName: type: string + readOnly: true mDAOutputIEValue: {} - TimeWindow: - type: object - properties: - mDAOutputStartTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - mDAOutputEndTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - - #-------- Definition of MDA Report -------------------------------------------- MDAReport: @@ -61,6 +87,340 @@ components: mDAReportID: type: string mDAOutputs: - $ref: '#/components/schemas/MDAOutputs' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/MDAOutputs' mDARequestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + +#-------- Definition of recommended action -------------------------------------------- + Recommended3GPPAction: + type: object + properties: + mOInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + path: + type: string + op: + type: string + enum: + - ADD + - REMOVE + - REPLACE + value: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + additionalText: + type: array + items: + type: string + + RecommendedAction: + type: object + properties: + recommended3GPPActions: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/Recommended3GPPAction' + recommendedNon3GPPActions: + type: array + uniqueItems: true + items: + type: string + recommendedHumanReadableActions: + type: array + uniqueItems: true + items: + type: string + actionInterval: + type: integer + timeWindow: + type: array + uniqueItems: false + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + + + +#-------- Definition of specific MobilityPerformanceAnalysis MDAoutput ----------------------------- + MobilityPerformanceAnalysisOutput: + type: object + properties: + mobilityPerformanceIssueIdentifier: + type: integer + mobilityPerformanceIssueRootCause: + type: string + enum: + - TooLongMobilityInterruptionTime + - PoorCoverageOfTheCelledge + - InappropriateHandoverParameters + - Other + mobilityPerformanceIssueLocation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + +#-------- Definition of specific CoverageProblemAnalysis MDAoutput ----------------------------- + CoverageProblemAnalysisOutput: + type: object + properties: + coverageProblemId: + type: string + coverageProblemType: + type: string + enum: + - WEAK_COVERAGE + - COVERAGE_HOLE + - PILOT_POLLUTION + - OVERSHOOT_COVERAGE + - DL_ULCHANNEL_COVERAGE_MISMATCH + - Other + coverageProblemAreas: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + problematicCells: + type: integer + recommendedActions: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/RecommendedAction' + radioEnvironmentMap: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/RadioEnvironmentMap' + cellConfigurations: + description: A map (list of key-value pairs) + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + + RadioEnvironmentMap: + type: object + properties: + geoCoordinate: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + coverageCharacterization: + $ref: '#/components/schemas/CoverageCharacterization' + + CoverageCharacterization: + type: object + properties: + rsrp: + type: number + format: float + sinr: + type: number + format: float + +#-------- Definition of specific TrainingDataAnalysis MDAoutput ----------------------------- + + TrainingDataAnalysisOutput: + type: object + properties: + measurementDataCorrelationRecommendation: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/MeasurementDataCorrelationRecommendation' + + MeasurementDataCorrelationRecommendation: + type: object + properties: + recommendedMeasurementDataToCollect: + type: array + uniqueItems: true + items: + type: string + recommendedMeasurementDataNotToCollect: + type: array + uniqueItems: true + items: + type: string + modelPerformanceImpact: + type: integer + minimum: 0 + maximum: 100 + + + + +#-------- Definition of specific NFScalingDimensioningDataAnalysis MDAoutput ----------------------------- + + NFScalingDimensioningDataAnalysisOutput: + type: object + properties: + recommendedActions: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/RecommendedAction' + + + + + +#-------- Definition of specific PMData MDAoutput ----------------------------- + PMDataOutput: + type: object + properties: + pmPredictions: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/PmPrediction' + minItems: 1 + thresholdAssessment: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ThresholdAssessment' + thresholdAdjustmentRecommendations: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/RecommendedAction' + + PmPrediction: + type: object + properties: + pmName: + type: string + pmPredictedValue: + description: >- + This specifies the predicted value of the PM specified by “pmName” + attribute. + oneOf: + - type: integer + - type: number + format: float + + thresholdAssessment: + $ref: '#/components/schemas/ThresholdAssessment' + + ThresholdAssessment: + type: object + properties: + performanceMetrics: + description: >- + It indicates list of performance metrics with threshold + configuration issue. + Performance metrics include measurements defined in TS 28.552 + and KPIs defined in TS 28.554. + For non-3GPP specified measurements the name is defined elsewhere. + type: array + uniqueItems: true + items: + type: string + timeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + confidenceScore: + type: number + format: float + + +#-------- Definition of specific FailurePrediction MDAoutput ----------------------------- + + FailurePredictionOutput: + type: object + properties: + failurePredictionObject: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + potentialFailureType: + type: string + potentialFailureCause: + oneOf: + - type: integer + - type: string + eventTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + issueID: + type: string + issueDomain: + type: string + enum: + - RAN_ISSUE + - CN_ISSUE + - UNKNOWN + perceivedSeverity: + type: string + enum: + - CRITICAL + - MAJOR + - MINOR + - WARNING + - INTERMEDIATE + - CLEARED + trendIndication: + type: string + enum: + - MORE_SEVERE + - NO_CHANGE + - LESS_SEVERE + predictedFailureEndTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + statisticsInfoList: + type: array + items: + type: integer + managementDataCollectionRecommendations: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ManagementDataCollectionInfo' + recommendedActions: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/RecommendedAction' + + ManagementDataCollectionInfo: + type: object + properties: + managementDataType: + type: string + enum: + - MEASUREMENT + - KPI + - TRACE_MDT + - QOE + managementData: + $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/ManagementData' + targetEntities: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + collectionDuration: + type: array + 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 7566d90a21594f143cf809d49baa0f4239ab2235..a41055eb9878b4de01c190c94986cc4a5f5ba092 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: 18.4.0 + version: 19.3.0 description: >- OAS 3.0.1 specification of the AI/ML 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.105; AI/ML Management @@ -18,13 +18,14 @@ components: MLContext: type: object properties: - inferenceModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + inferenceEntityRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' dataProviderRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' RequestStatus: type: string + readOnly: true enum: - NOT_STARTED - IN_PROGRESS @@ -69,21 +70,26 @@ components: properties: thresholdList: type: array + uniqueItems: true items: $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ThresholdInfo' managedActivationScope: $ref: '#/components/schemas/ManagedActivationScope' - SupportedPerfIndicator: type: object properties: performanceIndicatorName: type: string + readOnly: true isSupportedForTraining: type: boolean + readOnly: true + default: FALSE isSupportedForTesting: type: boolean + readOnly: true + default: FALSE ManagedActivationScope: oneOf: @@ -91,18 +97,21 @@ components: properties: dNList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - type: object properties: timeWindow: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' - type: object properties: geoPolygon: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' @@ -110,9 +119,10 @@ components: type: object properties: aIMLInferenceName: - type: string + $ref: '#/components/schemas/AIMLInferenceName' capabilityName: type: string + readOnly: true mLCapabilityParameters: description: A map (list of key-value pairs) for an aIMLInferenceName and capabilityName $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' @@ -122,37 +132,309 @@ components: properties: availMLCapabilityReportID: type: string + readOnly: true mLCapabilityVersionId: type: array + uniqueItems: true items: type: string + readOnly: true expectedPerformanceGains: type: array + uniqueItems: true items: $ref: '#/components/schemas/ModelPerformance' mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' InferenceOutput: type: object properties: inferenceOutputId: type: array + uniqueItems: true items: type: string + readOnly: true aIMLInferenceName: - type: string + $ref: '#/components/schemas/AIMLInferenceName' + readOnly: true inferenceOutputTime: type: array + uniqueItems: true items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $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' - + AIMLInferenceName: + oneOf: + - $ref: 'TS28104_MdaNrm.yaml#/components/schemas/MDAType' + - $ref: '#/components/schemas/NwdafAnalyticsType' + - $ref: '#/components/schemas/NgRanInferenceType' + - $ref: '#/components/schemas/VSExtensionType' + NwdafAnalyticsType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + NgRanInferenceType: + type: string + enum: + - NG_RAN_NETWORK_ENERGY_SAVING + - NG_RAN_LOAD_BALANCING + - NG_RAN_MOBILITY_OPTIMIZATION + VSExtensionType: + type: string + DataStatisticalProperties: + type: object + properties: + uniformlyDistributedTrainingData: + type: boolean + default: FALSE + trainingDataWithOrWithoutOutliers: + type: boolean + default: FALSE + DistributedTrainingExpectation: + type: object + properties: + expectedTrainingTime: + type: integer + dataSplitIndication: + type: boolean + default: FALSE + suggestedTrainingNodeList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + PotentialImpactInfo: + type: object + properties: + impactedScope: + $ref: '#/components/schemas/ManagedActivationScope' + impactedPM: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ImpactedPM' + ImpactedPM: + type: object + properties: + pMIdentifier: + type: string + readOnly: true + + MLKnowledge: + type: object + properties: + mLKnowledgeName: + type: string + readOnly: true + knowledgeType: + type: string + enum: + - TABLE + - STATISTIC + - REGRESSION + readOnly: true + predictorResponseArray: + # array of pair + type: array + description: Array of pair + uniqueItems: true + items: + type: array + description: Array of pair + minItems: 2 + maxItems: 2 + items: + type: string + + EnvironmentScope: + oneOf: + #Choice_1.1 managedEntitiesScope + - type: object + properties: + managedEntitiesScope: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + #Choice_1.2 areaScope + - type: object + properties: + areaScope: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + #Choice 2 timeWindow + - type: object + properties: + timeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + #todo: stage 2 attribute definition missing + + SupportedLearningTechnology: + type: object + properties: + learningTechnologyName: + type: array + uniqueItems: true + items: + type: string + enum: + - RL + - FL + - DL + readOnly: true + supportedRLEnvironment: + description: Included when RL is supported. + type: array + uniqueItems: true + items: + type: string + enum: + - SIMULATION_ENVIRONMENTS + - REAL_NETWORK_ENVIRONMENTS + readOnly: true + supportedFLRole: + description: Included when FL is supported. + type: array + uniqueItems: true + items: + type: string + enum: [FL_SERVER, FL_CLIENT] + minItems: 1 + maxItems: 2 + readOnly: true + supportedInferenceNameList: + description: Types of inference the training technologies can be applied to. + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/AIMLInferenceName' + minItems: 1 + readOnly: true + + RLRequirement: + type: object + properties: + rLEnvironmentType: + type: array + uniqueItems: true + items: + type: string + enum: + - SIMULATION_ENVIRONMENTS + - REAL_NETWORK_ENVIRONMENTS + + rLEnvironmentScope: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/EnvironmentScope' + minItems: 1 + + rLImpactedScope: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/EnvironmentScope' + minItems: 1 + + rLPerformanceRequirements: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ThresholdInfo' + + ClusteringCriteria: + type: object + properties: + performanceMetric: + type: string + taskType: + type: string + allowedClusterTrainingTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + minItems: 1 + maxItems: 1 + preferredModelDiversity: + type: string + + FLParticipationInfo: + type: object + additionalProperties: false + properties: + fLRole: + type: string + enum: [FL_SERVER, FL_CLIENT] + readOnly: true + isAvailableForFLTraining: + type: boolean + default: FALSE + readOnly: true + candidateFLClientRefList: + description: > + List of MLTrainingFunction DNs capable of acting as FL clients. + Applicable when fLRole = FL_SERVER. + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + + FLRequirement: + type: object + additionalProperties: false + properties: + fLClientSelectionCriteria: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/FLClientSelectionCriteria' + minItems: 1 + + FLClientSelectionCriteria: + type: object + additionalProperties: false + properties: + minimumAvailableDataSamples: + type: integer + minimumAvailableTimeDuration: + type: integer + description: Minutes + minimumInterimModelPerformance: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ModelPerformance' + servingGeoArea: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + clientRedundancy: + type: boolean + trainingDataWithOrWithoutOutliers: + type: boolean + default: FALSE + uniformlyDistributedTrainingData: + type: boolean + default: FALSE + required: + - minimumAvailableDataSamples + - minimumAvailableTimeDuration + + FLReportPerClient: + type: object + additionalProperties: false + properties: + clientRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + numberOfDataSamplesUsed: + type: integer + trainingTimeDuration: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + modelPerformanceOnClient: + type: array + items: + $ref: '#/components/schemas/ModelPerformance' + #-------- Definition of types for name-containments ------ SubNetwork-ncO-AiMlNrm: type: object @@ -198,8 +480,22 @@ 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/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -226,27 +522,58 @@ components: - type: object properties: aIMLInferenceName: - type: string + $ref: '#/components/schemas/AIMLInferenceName' + fLRequirement: + $ref: '#/components/schemas/FLRequirement' candidateTrainingDataSource: type: array + uniqueItems: true items: type: string trainingDataQualityScore: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' trainingRequestSource: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + oneOf: + - type: string + - $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/Dn' mLModelCoordinationGroupRef: @@ -263,23 +590,32 @@ components: properties: priority: type: integer + default: 0 terminationConditions: type: string progressStatus: $ref: '#/components/schemas/ProcessMonitor' cancelProcess: type: boolean + default: FALSE suspendProcess: type: boolean + default: FALSE trainingRequestRef: ## Figure 7.3a.1.1.1-1 has no such pointer - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + participatingFLClientRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' trainingReportRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' mLModelGeneratedRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - mLModelRef: ## Figure 7.3a.1.1.1-1 is 1-0..1 mapping, hence should be single - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + mLModelRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + mLModelCoordinationGroupRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + mLModelCoordinationGroupGeneratedRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + MLTrainingReport-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -291,34 +627,46 @@ components: properties: usedConsumerTrainingData: type: array + uniqueItems: true items: type: string + readOnly: true modelConfidenceIndication: type: integer + readOnly: true modelPerformanceTraining: type: array + uniqueItems: true items: $ref: '#/components/schemas/ModelPerformance' modelPerformanceValidation: type: array + uniqueItems: true items: $ref: '#/components/schemas/ModelPerformance' dataRatioTrainingAndValidation: type: integer areNewTrainingDataUsed: type: boolean + readOnly: true trainingRequestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + fLReportPerClient: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/FLReportPerClient' + trainingProcessRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' lastTrainingRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' mLModelGeneratedRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' mLModelCoordinationGroupGeneratedRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' MLTestingFunction-Single: allOf: @@ -331,7 +679,7 @@ components: - type: object properties: ##FIXME pointer to MLModelCoordinationGroup missing mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -348,20 +696,19 @@ components: attributes: allOf: - type: object - oneOf: - - required: [ requestStatus, mLModelToTestRef ] - - required: [ requestStatus, mLModelCoordinationGroupToTestRef ] properties: requestStatus: $ref: '#/components/schemas/RequestStatus' cancelRequest: type: boolean + default: FALSE suspendRequest: - type: boolean - mLModelToTestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - mLModelCoordinationGroupToTestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + type: boolean + default: FALSE + mLModelRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + mLModelCoordinationGroupRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' MLTestingReport-Single: allOf: @@ -374,12 +721,14 @@ components: properties: modelPerformanceTesting: type: array + uniqueItems: true items: $ref: '#/components/schemas/ModelPerformance' mLTestingResult: type: string + readOnly: true testingRequestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' MLModelLoadingRequest-Single: allOf: @@ -394,10 +743,12 @@ components: $ref: '#/components/schemas/RequestStatus' cancelRequest: type: boolean + default: FALSE suspendRequest: - type: boolean + type: boolean + default: FALSE mLModelToLoadRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' MLModelLoadingPolicy-Single: allOf: @@ -409,11 +760,11 @@ components: - type: object properties: aIMLInferenceName: - type: string + $ref: '#/components/schemas/AIMLInferenceName' policyForLoading: $ref: '#/components/schemas/AIMLManagementPolicy' mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' MLModelLoadingProcess-Single: allOf: @@ -428,14 +779,17 @@ components: $ref: '#/components/schemas/ProcessMonitor' cancelProcess: type: boolean + default: FALSE suspendProcess: type: boolean + default: FALSE mLModelLoadingRequestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' mLModelLoadingPolicyRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' loadedMLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + uniqueItems: true MLModel-Single: allOf: @@ -447,10 +801,12 @@ components: properties: mLModelId: type: string + readOnly: true aIMLInferenceName: - type: string + $ref: '#/components/schemas/AIMLInferenceName' mLModelVersion: type: string + readOnly: true expectedRunTimeContext: $ref: '#/components/schemas/MLContext' trainingContext: @@ -458,15 +814,37 @@ components: runTimeContext: $ref: '#/components/schemas/MLContext' supportedPerformanceIndicators: - $ref: '#/components/schemas/SupportedPerfIndicator' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SupportedPerfIndicator' + minItems: 1 mLCapabilitiesInfoList: type: array + uniqueItems: true 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: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + aIMLInferenceReportRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + usedByFunctionRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' MLModelRepository-Single: allOf: @@ -487,7 +865,11 @@ components: type: object properties: memberMLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + minItems: 2 ## 7.3a.4.1 IOC MLUpdateFunction-Single: @@ -503,7 +885,7 @@ components: availMLCapabilityReport: $ref: '#/components/schemas/AvailMLCapabilityReport' mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -524,10 +906,12 @@ components: properties: performanceGainThreshold: type: array + uniqueItems: true items: $ref: '#/components/schemas/ModelPerformance' newCapabilityVersionId: type: array + uniqueItems: true items: type: string updateTimeDeadline: @@ -538,12 +922,14 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' cancelRequest: type: boolean + default: FALSE suspendRequest: type: boolean + default: FALSE mLUpdateProcessRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' MLUpdateProcess-Single: allOf: @@ -555,12 +941,18 @@ components: properties: progressStatus: $ref: '#/components/schemas/ProcessMonitor' - mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - mLUpdateRequestRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + cancelProcess: + type: boolean + default: FALSE + suspendProcess: + type: boolean + default: FALSE + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + mLUpdateRequestRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' mLUpdateReportRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' MLUpdateReport-Single: allOf: @@ -572,10 +964,10 @@ components: properties: updatedMLCapability: $ref: '#/components/schemas/AvailMLCapabilityReport' - mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' mLUpdateProcessRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' AIMLInferenceFunction-Single: allOf: @@ -595,9 +987,9 @@ components: managedActivationScope: $ref: '#/components/schemas/AIMLManagementPolicy' usedByFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -609,8 +1001,6 @@ components: $ref: '#/components/schemas/MLModelLoadingProcess-Multiple' MLModelLoadingPolicy: $ref: '#/components/schemas/MLModelLoadingPolicy-Multiple' - MLModel: - $ref: '#/components/schemas/MLModel-Multiple' AIMLInferenceReport-Single: allOf: @@ -623,11 +1013,14 @@ components: properties: inferenceOutputs: type: array + uniqueItems: true items: $ref: '#/components/schemas/InferenceOutput' minItems: 1 - mLModelRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + potentialImpactInfo: + $ref: '#/components/schemas/PotentialImpactInfo' + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' AIMLInferenceEmulationFunction-Single: allOf: @@ -639,7 +1032,7 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' - type: object properties: - AIMLInferenceEmulationReport: + AIMLInferenceReport: $ref: '#/components/schemas/AIMLInferenceReport-Multiple' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' 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 7a525d13f635f975e14c2f0b5dd108cae8f18e59..4e52a1c85ce23ee74eb955e10685222fb32bffc7 100644 --- a/OpenAPI/TS28111_FaultNrm.yaml +++ b/OpenAPI/TS28111_FaultNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Fault Management NRM - version: 18.1.0 + version: 19.2.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 @@ -40,30 +40,236 @@ components: - PHYSICAL_VIOLATION - SECURITY_SERVICE_OR_MECHANISM_VIOLATION - TIME_DOMAIN_VIOLATION + - OTHER + readOnly: true ProbableCause: description: >- The value of the probable cause may be a specific standardized string, or any - vendor provided string. Probable cause strings are not standardized in the - present document. They may be added in a future version. Up to then the - mapping of the generic probable cause strings "PROBABLE_CAUSE_001" to - "PROBABLE_CAUSE_005" is vendor specific. + vendor provided string. The value of the probable cause may also be an integer. The mapping of integer values to probable causes is vendor specific. oneOf: - anyOf: - type: string + description: Values are from the (informative) Annex B of 3GPP TS 28.111. enum: - - PROBABLE_CAUSE_001 - - PROBABLE_CAUSE_002 - - PROBABLE_CAUSE_003 - - PROBABLE_CAUSE_004 - - PROBABLE_CAUSE_005 + - INDETERMINATE + - ALARM_INDICATION_SIGNAL + - CALL_SETUP_FAILURE + - DEGRADED_SIGNAL + - FAR_END_RECEIVER_FAILURE + - FRAMING_ERROR + - LOSS_OF_FRAME + - LOSS_OF_POINTER + - LOSS_OF_SIGNAL + - PAYLOAD_TYPE_MISMATCH + - REMOTE_ALARM_INTERFACE + - EXCESSIVE_BIT_ERROR_RATE + - PATH_TRACE_MISMATCH + - UNAVAILABLE + - SIGNAL_LABEL_MISMATCH + - LOSS_OF_MULTI_FRAME + - COMMUNICATIONS_RECEIVE_FAILURE + - COMMUNICATIONS_TRANSMIT_FAILURE + - MODULATION_FAILURE + - DEMODULATION_FAILURE + - BACK_PLANE_FAILURE + - DATA_SET_PROBLEM + - EQUIPMENT_IDENTIFIER_DUPLICATION + - EXTERNAL_IF_DEVICE_PROBLEM + - LINE_CARD_PROBLEM + - MULTIPLEXER_PROBLEM + - NE_IDENTIFIER_DUPLICATION + - POWER_PROBLEM + - PROCESSOR_PROBLEM + - PROTECTION_PATH_FAILURE + - RECEIVER_FAILURE + - REPLACEABLE_UNIT_MISSING + - REPLACEABLE_UNIT_TYPE_MISMATCH + - SYNCHRONIZATION_SOURCE_MISMATCH + - TERMINAL_PROBLEM + - TIMING_PROBLEM + - TRANSMITTER_FAILURE + - TRUNK_CARD_PROBLEM + - REPLACEABLE_UNIT_PROBLEM + - REAL_TIME_CLOCK_FAILURE + - PROTECTION_MECHANISM_FAILURE + - PROTECTING_RESOURCE_FAILURE + - AIR_COMPRESSOR_FAILURE + - AIR_CONDITIONING_FAILURE + - AIR_DRYER_FAILURE + - BATTERY_DISCHARGING + - BATTERY_FAILURE + - COMMERCIAL_POWER_FAILURE + - COOLING_FAN_FAILURE + - ENGINE_FAILURE + - FIRE_DETECTOR_FAILURE + - FUSE_FAILURE + - GENERATOR_FAILURE + - LOW_BATTERY_THRESHOLD + - PUMP_FAILURE + - RECTIFIER_FAILURE + - RECTIFIER_HIGH_VOLTAGE + - RECTIFIER_LOW_F_VOLTAGE + - VENTILATION_SYSTEM_FAILURE + - ENCLOSURE_DOOR_OPEN + - EXPLOSIVE_GAS + - FIRE + - FLOOD + - HIGH_HUMIDITY + - HIGH_TEMPERATURE + - HIGH_WIND + - ICE_BUILD_UP + - INTRUSION_DETECTION + - LOW_FUEL + - LOW_HUMIDITY + - LOW_CABLE_PRESSURE + - LOW_TEMPERATURE + - LOW_WATER + - SMOKE + - TOXIC_GAS + - EXTERNAL_POINT_FAILURE + - STORAGE_CAPACITY_PROBLEM + - MEMORY_MISMATCH + - CORRUPT_DATA + - OUT_OF_CPU_CYCLES + - SOFTWARE_ENVIRONMENT_PROBLEM + - SOFTWARE_DOWNLOAD_FAILURE + - LOSS_OF_REAL_TIME + - REINITIALIZED + - EXCESSIVE_ERROR_RATE + - ADAPTER_ERROR + - APPLICATION_SUBSYSTEM_FAILURE + - BANDWIDTH_REDUCED + - COMMUNICATIONS_PROTOCOL_ERROR + - COMMUNICATIONS_SUBSYSTEM_FAILURE + - CONFIGURATION_OR_CUSTOMIZATION_ERROR + - CONGESTION + - CPU_CYCLES_LIMIT_EXCEEDED + - DATA_SET_OR_MODEM_ERROR + - DTE_DCE_INTERFACE_ERROR + - EQUIPMENT_MALFUNCTION + - EXCESSIVE_VIBRATION + - FILE_ERROR + - HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM + - HUMIDITY_UNACCEPTABLE + - INPUT_OUTPUT_DEVICE_ERROR + - INPUT_DEVICE_ERROR + - LAN_ERROR + - LEAK_DETECTED + - LOCAL_NODE_TRANSMISSION_ERROR + - MATERIAL_SUPPLY_EXHAUSTED + - OUT_OF_MEMORY + - OUTPUT_DEVICE_ERROR + - PERFORMANCE_DEGRADED + - PRESSURE_UNACCEPTABLE + - QUEUE_SIZE_EXCEEDED + - RECEIVE_FAILURE + - REMOTE_NODE_TRANSMISSION_ERROR + - RESOURCE_AT_OR_NEARING_CAPACITY + - RESPONSE_TIME_EXCESSIVE + - RETRANSMISSION_RATE_EXCESSIVE + - SOFTWARE_ERROR + - SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED + - SOFTWARE_PROGRAM_ERROR + - TEMPERATURE_UNACCEPTABLE + - THRESHOLD_CROSSED + - TOXIC_LEAK_DETECTED + - TRANSMIT_FAILURE + - UNDERLYING_RESOURCE_UNAVAILABLE + - VERSION_MISMATCH + - A_BIS_TO_BTS_INTERFACE_FAILURE + - A_BIS_TO_TRX_INTERFACE_FAILURE + - ANTENNA_PROBLEM + - BATTERY_BREAKDOWN + - BATTERY_CHARGING_FAULT + - CLOCK_SYNCHRONIZATION_PROBLEM + - COMBINER_PROBLEM + - DISK_PROBLEM + - EXCESSIVE_RECEIVER_TEMPERATURE + - EXCESSIVE_TRANSMITTER_OUTPUT_POWER + - EXCESSIVE_TRANSMITTER_TEMPERATURE + - FREQUENCY_HOPPING_DEGRADED + - FREQUENCY_HOPPING_FAILURE + - FREQUENCY_REDEFINITION_FAILED + - LINE_INTERFACE_FAILURE + - LINK_FAILURE + - LOSS_OF_SYNCHRONIZATION + - LOST_REDUNDANCY + - MAINS_BREAKDOWN_WITH_BATTERY_BACKUP + - MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP + - POWER_SUPPLY_FAILURE + - RECEIVER_ANTENNA_FAULT + - RECEIVER_MULTICOUPLER_FAILURE + - REDUCED_TRANSMITTER_OUTPUT_POWER + - SIGNAL_QUALITY_EVALUATION_FAULT + - TIMESLOT_HARDWARE_FAILURE + - TRANSCEIVER_PROBLEM + - TRANSCODER_PROBLEM + - TRANSCODER_OR_RATE_ADAPTER_PROBLEM + - TRANSMITTER_ANTENNA_FAILURE + - TRANSMITTER_ANTENNA_NOT_ADJUSTED + - TRANSMITTER_LOW_VOLTAGE_OR_CURRENT + - TRANSMITTER_OFF_FREQUENCY + - DATABASE_INCONSISTENCY + - FILE_SYSTEM_CALL_UNSUCCESSFUL + - INPUT_PARAMETER_OUT_OF_RANGE + - INVALID_PARAMETER + - INVALID_POINTER + - MESSAGE_NOT_EXPECTED + - MESSAGE_NOT_INITIALIZED + - MESSAGE_OUT_OF_SEQUENCE + - SYSTEM_CALL_UNSUCCESSFUL + - TIMEOUT_EXPIRED + - VARIABLE_OUT_OF_RANGE + - WATCH_DOG_TIMER_EXPIRED + - COOLING_SYSTEM_FAILURE + - EXTERNAL_EQUIPMENT_FAILURE + - EXTERNAL_POWER_SUPPLY_FAILURE + - EXTERNAL_TRANSMISSION_DEVICE_FAILURE + - REDUCED_ALARM_REPORTING + - REDUCED_EVENT_REPORTING + - RECUCED_LOGGING_CAPABILITY + - SYSTEM_RESOURCES_OVERLOAD + - BROADCAST_CHANNEL_FAILURE + - CONNECTION_ESTABLISHMENT_ERROR + - INVALID_MESSAGE_RECEIVED + - INVALID_MSU_RECEIVED + - LAPD_LINK_PROTOCOL_FAILURE + - LOCAL_ALARM_INDICATION + - REMOTE_ALARM_INDICATION + - ROUTING_FAILURE + - SS7_PROTOCOL_FAILURE + - TRANSMISSION_ERROR + - AUTHENTICATION_FAILURE + - BREACH_OF_CONFIDENTIALITY + - CABLE_TAMPER + - DELAYED_INFORMATION + - DENIAL_OF_SERVICE + - DUPLICATE_INFORMATION + - INFORMATION_MISSING + - INFORMATION_MODIFICATION_DETECTED + - INFORMATION_OUT_OF_SEQUENCE + - INTRUSION_DETECTED + - KEY_EXPIRED + - NON_REPUDIATION_FAILURE + - OUT_OF_HOURS_ACTIVITY + - OUT_OF_SERVICE + - PROCEDURAL_ERROR + - UNAUTHORISED_ACCESS_ATTEMPT + - UNEXPECTED_INFORMATION + - UNSPECIFIED_REASON + readOnly: true - type: string + readOnly: true - type: integer + readOnly: true SpecificProblem: oneOf: - type: string + readOnly: true - type: integer + readOnly: true PerceivedSeverity: type: string enum: @@ -72,9 +278,10 @@ components: - MAJOR - MINOR - WARNING - - CLEARED + - CLEARED TrendIndication: type: string + readOnly: true enum: - MORE_SEVERE - NO_CHANGE @@ -87,9 +294,9 @@ components: high: oneOf: - type: integer - - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/FloatRo' low: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/FloatRo' ThresholdLevelInd: oneOf: - type: object @@ -100,17 +307,19 @@ components: properties: down: $ref: '#/components/schemas/ThresholdHysteresis' - ThresholdInfo: + ThresholdCrossing: type: object properties: observedMeasurement: type: string + readOnly: true observedValue: type: number + readOnly: true thresholdLevel: $ref: '#/components/schemas/ThresholdLevelInd' armTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' required: - observedMeasurement - observedValue @@ -118,7 +327,7 @@ components: type: object properties: sourceObjectInstance: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' notificationIds: type: array items: @@ -145,15 +354,15 @@ components: # alarmId: # $ref: '#/components/schemas/AlarmId' objectInstance: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' notificationId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationId' alarmRaisedTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' alarmChangedTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' alarmClearedTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' alarmType: $ref: '#/components/schemas/AlarmType' probableCause: @@ -165,11 +374,11 @@ components: backedUpStatus: type: boolean backUpObject: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdinfo: - $ref: '#/components/schemas/ThresholdInfo' + $ref: '#/components/schemas/ThresholdCrossing' correlatedNotifications: $ref: '#/components/schemas/CorrelatedNotifications' stateChangeDefinition: @@ -178,34 +387,42 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' proposedRepairActions: type: string + readOnly: true additionalText: type: string + readOnly: true additionalInformation: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' - rootCauseIndicator: type: boolean - + readOnly: true ackTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' ackUserId: type: string ackSystemId: type: string ackState: $ref: '#/components/schemas/AckState' - clearUserId: type: string clearSystemId: type: string serviceUser: type: string + readOnly: true serviceProvider: type: string + readOnly: true securityAlarmDetector: type: string - + readOnly: true + clearingType: + type: string + enum: + - MANUAL + - AUTOMATIC + default: AUTOMATIC AlarmList-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -220,8 +437,9 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' numOfAlarmRecords: type: integer + readOnly: true lastModification: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' alarmRecords: description: >- This resource represents a map of alarm records. @@ -230,7 +448,7 @@ components: additionalProperties: $ref: '#/components/schemas/AlarmRecord' unreliableAlarmScope: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' #---- Definition of alarm notifications --------------------------------------------# @@ -239,7 +457,6 @@ components: type: string enum: - notifyNewAlarm - - notifyChangedAlarm - notifyChangedAlarmGeneral - notifyAckStateChanged - notifyCorrelatedNotificationChanged @@ -280,7 +497,7 @@ components: trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdInfo: - $ref: '#/components/schemas/ThresholdInfo' + $ref: '#/components/schemas/ThresholdCrossing' correlatedNotifications: $ref: '#/components/schemas/CorrelatedNotifications' stateChangeDefinition: @@ -295,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' @@ -332,6 +554,11 @@ components: type: string securityAlarmDetector: type: string + clearingType: + type: string + enum: + - MANUAL + - AUTOMATIC NotifyClearedAlarm: allOf: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' @@ -348,6 +575,8 @@ components: $ref: '#/components/schemas/AlarmType' probableCause: $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' perceivedSeverity: $ref: '#/components/schemas/PerceivedSeverity' correlatedNotifications: @@ -356,24 +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' - perceivedSeverity: - $ref: '#/components/schemas/PerceivedSeverity' NotifyChangedAlarmGeneral: allOf: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' @@ -381,6 +592,7 @@ components: required: - alarmId - alarmType + - probableCause properties: alarmId: $ref: '#/components/schemas/AlarmId' @@ -401,7 +613,7 @@ components: trendIndication: $ref: '#/components/schemas/TrendIndication' thresholdInfo: - $ref: '#/components/schemas/ThresholdInfo' + $ref: '#/components/schemas/ThresholdCrossing' stateChangeDefinition: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeValueChangeSet' monitoredAttributes: @@ -423,6 +635,7 @@ components: required: - alarmId - alarmType + - probableCause - serviceUser - serviceProvider - securityAlarmDetector @@ -433,6 +646,8 @@ components: $ref: '#/components/schemas/AlarmType' probableCause: $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' perceivedSeverity: $ref: '#/components/schemas/PerceivedSeverity' correlatedNotifications: @@ -458,9 +673,17 @@ components: required: - alarmId - correlatedNotifications + - alarmType + - probableCause properties: alarmId: $ref: '#/components/schemas/AlarmId' + alarmType: + $ref: '#/components/schemas/AlarmType' + probableCause: + $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' correlatedNotifications: $ref: '#/components/schemas/CorrelatedNotifications' rootCauseIndicator: @@ -483,6 +706,8 @@ components: $ref: '#/components/schemas/AlarmType' probableCause: $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' perceivedSeverity: $ref: '#/components/schemas/PerceivedSeverity' ackState: @@ -508,6 +733,8 @@ components: $ref: '#/components/schemas/AlarmType' probableCause: $ref: '#/components/schemas/ProbableCause' + specificProblem: + $ref: '#/components/schemas/SpecificProblem' perceivedSeverity: $ref: '#/components/schemas/PerceivedSeverity' comments: @@ -539,7 +766,7 @@ components: type: object properties: commentTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' commentUserId: type: string commentSystemId: diff --git a/OpenAPI/TS28310_EnergyInformationNrm.yaml b/OpenAPI/TS28310_EnergyInformationNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..496cb7c0e7756f7cf532fcfabe59a517f4f8c19b --- /dev/null +++ b/OpenAPI/TS28310_EnergyInformationNrm.yaml @@ -0,0 +1,95 @@ +openapi: 3.0.1 +info: + title: Energy Information NRM + version: 19.0.0 + description: >- + OAS 3.0.1 specification of the Energy Information NRM + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.310; Energy Information NRM + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.310/ +paths: {} +components: + schemas: + +#-------- Definition of types----------------------------------------------------- + EnergySourceInfo: + type: object + properties: + energySourceType: + type: string + energySourceCef: + type: number + format: float + minimum: 0 + renewableEnergy: + type: boolean + energyCompositionPercentage: + type: number + format: float + default: 100 + minimum: 1 + maximum: 100 + EnergySupplyMode: + type: string + enum: + - GRID_ELECTRICITY + - BACKUP_ENERGY + - LOCALLY_GENERATED_ENERGY + +#-------- Definition of concrete IOCs -------------------------------------------- + SubNetwork-ncO-EnergyInformationNrm: + type: object + properties: + EnergySupplyInfo: + $ref: '#/components/schemas/EnergySupplyInfo-Multiple' + EnergyInfoGroup: + $ref: '#/components/schemas/EnergyInfoGroup-Multiple' + + EnergySupplyInfo-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + energySupplyMode: + $ref: '#/components/schemas/EnergySupplyMode' + energySourceList: + type: array + uniqueItems: true + minItems: 1 + items: + $ref: '#/components/schemas/EnergySourceInfo' + EnergyInfoGroup-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + energySupplyModeRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + memberDNList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- + + EnergySupplyInfo-Multiple: + type: array + items: + $ref: '#/components/schemas/EnergySupplyInfo-Single' + EnergyInfoGroup-Multiple: + type: array + items: + $ref: '#/components/schemas/EnergyInfoGroup-Single' + +#--------------------------------- Definition ------------------------------------ + + resources-energyInformationNrm: + oneOf: + - $ref: '#/components/schemas/EnergySupplyInfo-Single' + - $ref: '#/components/schemas/EnergyInfoGroup-Single' diff --git a/OpenAPI/TS28312_IntentExpectations.yaml b/OpenAPI/TS28312_IntentExpectations.yaml index 82031387f92e7b5a1a985d4a895bb530b3aed843..379962e30f7f76a2aec7cf9404c3f2b4a005917e 100644 --- a/OpenAPI/TS28312_IntentExpectations.yaml +++ b/OpenAPI/TS28312_IntentExpectations.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Scenario specific Intent Expectations - version: 18.4.0 + version: 19.3.0 description: >- OAS 3.0.1 definition of scenario specific Intent Expectations - © 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.312; Intent driven management services for mobile networks @@ -22,11 +22,12 @@ 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 items: type: object oneOf: @@ -40,18 +41,25 @@ components: - $ref: '#/components/schemas/HighDLPrbLoadRatioTarget' - $ref: '#/components/schemas/AveULPrbLoadTarget' - $ref: '#/components/schemas/AveDLPrbLoadTarget' - - $ref: "#/components/schemas/RANEnergyConsumptionTarget" - - $ref: "#/components/schemas/RANEnergyEfficiencyTarget" + - $ref: '#/components/schemas/RANEnergyConsumptionTarget' + - $ref: '#/components/schemas/RANEnergyEfficiencyTarget' + - $ref: '#/components/schemas/ActiveUEsNumTarget' + - $ref: '#/components/schemas/PRBsTarget' + - $ref: '#/components/schemas/InterRAThandoverTarget' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget' expectationContexts: type: array + uniqueItems: true items: type: object oneOf: - $ref: '#/components/schemas/TargetAssuranceTimeContext' + - $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 @@ -60,11 +68,12 @@ 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 items: type: object oneOf: @@ -72,13 +81,20 @@ components: - $ref: '#/components/schemas/ULLatencyTarget' - $ref: '#/components/schemas/DLThptPerUETarget' - $ref: '#/components/schemas/ULThptPerUETarget' + - $ref: '#/components/schemas/NumberofUEsTarget' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget' expectationContexts: type: array + uniqueItems: true items: - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' + type: object + oneOf: + - $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 @@ -92,6 +108,7 @@ components: $ref: '#/components/schemas/EdgeServiceSupportExpectationObject' expectationTargets: type: array + uniqueItems: true items: type: object oneOf: @@ -105,6 +122,7 @@ components: - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationTarget' expectationContexts: type: array + uniqueItems: true items: type: object oneOf: @@ -114,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 @@ -123,31 +143,78 @@ components: expectationId: type: string expectationVerb: - $ref: "TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb" - expectationObjects: - type: array - 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 items: type: object 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: + description: >- + This data type is the "IntentExpectation" data type with specialisations to represent MnS consumer's expectations for Network Maintenance + type: object + properties: + expectationId: + type: string + expectationVerb: + $ref: 'TS28312_IntentNrm.yaml#/components/schemas/ExpectationVerb' + expectationObject: + $ref: '#/components/schemas/NetworkMaintenanceExpectationObject' + expectationTargets: + type: array + uniqueItems: true + items: + type: object + oneOf: + - $ref: '#/components/schemas/MaintenanceVersionTarget' + - $ref: '#/components/schemas/WeakRSRPRatioTarget' + - $ref: '#/components/schemas/LowSINRRatioTarget' + - $ref: '#/components/schemas/AveULRANUEThptTarget' + - $ref: '#/components/schemas/AveDLRANUEThptTarget' + - $ref: '#/components/schemas/LowULRANUEThptRatioTarget' + - $ref: '#/components/schemas/LowDLRANUEThptRatioTarget' + - $ref: '#/components/schemas/HighULPrbLoadRatioTarget' + - $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' + expectationContexts: + type: array + uniqueItems: true + items: + type: object + oneOf: + - $ref: '#/components/schemas/MaintenanceTimeContext' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' required: - - expectationId + - expectationId + - expectationObject + - expectationTargets #-------Definition of the IntentExpectation dataType ----------# #-------Definition of the scenario specific ExpectationObject dataType ----------# @@ -159,21 +226,24 @@ components: objectType: type: string enum: - - RAN_SubNetwork + - RAN_SUBNETWORK objectInstance: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' objectContexts: type: array + uniqueItems: true items: type: object oneOf: - $ref: '#/components/schemas/CoverageAreaPolygonContext' - $ref: '#/components/schemas/CoverageTACContext' + - $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: >- @@ -183,16 +253,22 @@ components: objectType: type: string enum: - - Radio_Service + - RADIO_SERVICE objectInstance: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' objectContexts: type: array + uniqueItems: true items: type: object oneOf: - $ref: '#/components/schemas/CoverageAreaPolygonContext' + - $ref: '#/components/schemas/DlFrequencyContext' + - $ref: '#/components/schemas/UlFrequencyContext' + - $ref: '#/components/schemas/CellContext' - $ref: '#/components/schemas/ServiceTypeContext' + - $ref: '#/components/schemas/UEGroupContext' + - $ref: '#/components/schemas/GeoCoordinateContext' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' EdgeServiceSupportExpectationObject: description: >- @@ -202,18 +278,19 @@ components: objectType: type: string enum: - - EdgeService_Support #value for Edge Service Support Expectation--# + - EDGE_SERVICE_SUPPORT #value for Edge Service Support Expectation--# objectInstance: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' objectContexts: type: array + uniqueItems: true items: type: object 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 @@ -222,21 +299,51 @@ components: objectType: type: string enum: - - 5GC_SubNetwork #value for 5GC Network Expectation--# + - 5GC_SUBNETWORK #value for 5GC Network Expectation--# objectInstance: $ref: "TS28623_ComDefs.yaml#/components/schemas/Dn" objectContexts: type: array + uniqueItems: true 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 + type: object + properties: + objectInstance: + $ref: "TS28623_ComDefs.yaml#/components/schemas/Dn" + objectContexts: + type: array + uniqueItems: true + 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/CoverageAreaPolygonContext' + - $ref: '#/components/schemas/CoverageTACContext' + - $ref: '#/components/schemas/PLMNContext' + - $ref: '#/components/schemas/DlFrequencyContext' + - $ref: '#/components/schemas/UlFrequencyContext' + - $ref: '#/components/schemas/RATContext' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Context' #-------Definition of the ExpectationObject dataType ----------# @@ -334,6 +441,13 @@ components: - IS_GREATER_THAN targetValueRange: type: integer + targetContexts: + type: array + items: + type: object + oneOf: + - $ref: '#/components/schemas/UlFrequencyContext' + - $ref: '#/components/schemas/RATContext' AveDLRANUEThptTarget: description: >- This data type is the "ExpectationTarget" data type with specialisations for AveDLRANUEThptTarget.It describes the average @@ -351,6 +465,13 @@ components: - IS_GREATER_THAN targetValueRange: type: integer + targetContexts: + type: array + items: + type: object + oneOf: + - $ref: '#/components/schemas/DlFrequencyContext' + - $ref: '#/components/schemas/RATContext' LowULRANUEThptRatioTarget: description: >- This data type is the "ExpectationTarget" data type with specialisations for LowULRANUEThptRatioTarget.It describes the low @@ -377,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: @@ -387,7 +508,7 @@ components: contextCondition: type: string enum: - - Is_less_than + - IS_LESS_THAN contextValueRange: type: number LowDLRANUEThptRatioTarget: @@ -395,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: @@ -454,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: @@ -494,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: @@ -551,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: @@ -568,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: @@ -581,6 +702,80 @@ components: - IS_GREATER_THAN targetValueRange: type: integer + ActiveUEsNumTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for ActiveUEsNumTarget. + It describes the number of Active UEs for the specified areas. This target is related to Mean + number of Active UEs in the DL per cell and Mean number of Active UEs in the UL per cell defined + in 3GPP TS 28.552 [6]. + type: object + properties: + targetName: + type: string + enum: + - ActiveUEsNum + targetCondition: + type: string + enum: + - IS_WITHIN_RANGE + targetValueRange: + type: array + description: >- + a pair of integer values to represent minimum number of active UEs and maximum number of active UEs. + items: + type: integer + minItems: 1 + maxItems: 2 + PRBsTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for PRBsTarget. + It describes total available number of physical resource blocks (PRBs). This target is equal to the difference between the DL total available PRB plus UL total available PRB of operator A and the DL total available PRB plus UL total available PRB of operator B. DL total available PRB and UL total available PRB defined in clause 5.1.1.2.6 and 5.1.1.2.8 of TS 28.552 [12]. + type: object + properties: + targetName: + type: string + enum: + - pRBS + targetCondition: + type: string + enum: + - IS_EQUAL_TO + targetValueRange: + type: integer + InterRAThandoverTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for PRBsTarget. + it shows how often a handover from 5GS to EPS is successful. The InterRAThandover target is equal to the difference between 5GS to EPS handover success rate of operator A and 5GS to EPS handover success rate of operator B. For details see attribute 5GS to EPS handover success rate defined in clause 6.6.4 of TS 28.554 [11]. + type: object + properties: + targetName: + type: string + enum: + - InterRATHandover + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer + minimum: 0 + maximum: 100 + NumberofUEsTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for NumberofUEsTarget.It describes + the number of UEs target for the Radio Service that the intent expectation is applied. + type: object + properties: + targetName: + type: string + enum: + - NumberofUEs + targetCondition: + type: string + enum: + - IS_LESS_THAN + targetValueRange: + type: integer DLThptPerUETarget: description: >- This data type is the "ExpectationTarget" data type with specialisations for DLThptPerUETarget. It describes the DL throughput target by the per UE for the @@ -596,7 +791,7 @@ components: enum: - IS_GREATER_THAN targetValueRange: - $ref: 'TS28541_SliceNrm.yaml#/components/schemas/XLThpt' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' ULThptPerUETarget: description: >- This data type is the "ExpectationTarget" data type with specialisations for ULThptPerUETarget.It describes the UL throughput target by the per UE for the edge @@ -612,7 +807,7 @@ components: enum: - IS_GREATER_THAN targetValueRange: - $ref: 'TS28541_SliceNrm.yaml#/components/schemas/XLThpt' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' DLLatencyTarget: description: >- This data type is the "ExpectationTarget" data type with specialisations for DLLatencyTarget.It describes the DL latency target for the edge service supporting or radio service @@ -715,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: @@ -776,6 +971,21 @@ components: - IS_LESS_THAN targetValueRange: type: integer + MaintenanceVersionTarget: + description: >- + This data type is the "ExpectationTarget" data type with specialisations for Maintenance Version Target. It describes the maintenance version target for the network maintenance, such as target version of the maintenance object after maintenance. + type: object + properties: + targetName: + type: string + enum: + - MaintenanceVersion + targetCondition: + type: string + enum: + - IS_EQUAL_TO + targetValueRange: + type: string #-------Definition of the concrete ExpectationTarget dataType----------# @@ -783,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: @@ -812,11 +1022,62 @@ components: - IS_ALL_OF contextValueRange: type: array + uniqueItems: true items: $ref: "TS28623_ComDefs.yaml#/components/schemas/Tac" + CellContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for CellContext. + It describes the coverage areas for the RAN SubNetwork or Radio Service that the intent expectation is applied + in the form of a list of cells (including E-UTRAN cells identified by E-UTRAN-CGI and NR cells + identified by NG-RAN CGI). + type: object + properties: + contextAttribute: + type: string + enum: + - Cell + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: "#/components/schemas/CellId" + CellId: + oneOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/EutraCellId' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NrCellId' + TimeBasedAreaContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for TimeBasedAreaContext. + It describes the areas for specific times for the RAN SubNetwork that the intent expectation is + applied in the form of a list. + type: object + properties: + contextAttribute: + type: string + enum: + - TimeBasedArea + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + $ref: "#/components/schemas/TimeBasedArea" + TimeBasedArea: + type: object + properties: + geoArea: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + 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: @@ -829,12 +1090,29 @@ components: - IS_ALL_OF contextValueRange: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + 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. + type: object + properties: + contextAttribute: + type: string + enum: + - GeoCoordinate + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoCoordinate' DlFrequencyContext: description: >- This data type is the "Context" data type with specialisations for Object context "DLFrequencyContext". It describes the downlink frequency information (RF reference - frequencies and/ or the frequency operating band) supported by the RAN SubNetwork that the intent expectation is applied. + frequencies and/ or the frequency operating band) supported by the RAN SubNetwork or Radio Service that the intent expectation is applied. type: object properties: contextAttribute: @@ -847,12 +1125,13 @@ components: - IS_ALL_OF contextValueRange: type: array + uniqueItems: true items: $ref: 'TS28312_IntentNrm.yaml#/components/schemas/Frequency' UlFrequencyContext: description: >- This data type is the "Context" data type with specialisations for Object context "ULFrequencyContext".It describes the uplink frequency information (RF reference - frequencies and/ or the frequency operating band) supported by the RAN SubNetwork that the intent expectation is applied. + frequencies and/ or the frequency operating band) supported by the RAN SubNetwork or Radio Service that the intent expectation is applied. type: object properties: contextAttribute: @@ -865,8 +1144,9 @@ components: - IS_ALL_OF contextValueRange: 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 @@ -883,6 +1163,7 @@ components: - IS_ALL_OF contextValueRange: type: array + uniqueItems: true items: type: string enum: @@ -891,7 +1172,7 @@ components: - NR UEGroupContext: description: >- - This data type is the "ObjectContext" data type with specialisations for UEGroup([5QI, SNSSAI]) + This data type is the "ObjectContext" data type with specialisations for UEGroup([5QI, SNSSAI, pLMNId]) type: object properties: contextAttribute: @@ -904,8 +1185,9 @@ components: - IS_ALL_OF contextValueRange: 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 @@ -951,11 +1233,12 @@ components: - IS_ALL_OF contextValueRange: 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: @@ -968,9 +1251,10 @@ components: - IS_ALL_OF contextValueRange: type: array + uniqueItems: true items: - $ref: "TS28623_GenericNrm.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 @@ -985,9 +1269,10 @@ components: - IS_ALL_OF contextValueRange: type: array + uniqueItems: true items: type: string - TaiContext: + TaiContext: description: >- This data type is the "ObjectContext" data type with specialisations for TaiContext type: object @@ -1002,8 +1287,9 @@ components: - IS_ALL_OF contextValueRange: 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 @@ -1019,9 +1305,10 @@ components: - IS_ALL_OF contextValueRange: type: array + uniqueItems: true items: type: string - DnnContext: + DnnContext: description: >- This data type is the "ObjectContext" data type with specialisations for DnnContext type: object @@ -1036,8 +1323,64 @@ components: - IS_ALL_OF contextValueRange: type: array + uniqueItems: true + items: + type: string + MaintenanceVersionContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for MaintenanceVersionContext. It describes the scope of the maintenance objects based on software version. + type: object + properties: + contextAttribute: + type: string + enum: + - swVersion + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + type: string + MaintenanceOrderContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for MaintenanceOrderContext. It describes describes the list of DNs for NFs/NEs based on their order for maintenance. + type: object + properties: + contextAttribute: + type: string + enum: + - maintenanceOrder + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + type: array + items: + type: string + MaintenanceTypeContext: + description: >- + This data type is the "ObjectContext" data type with specialisations for MaintenanceTypeContext. It describes the type of maintenance expected for the maintenance object. + type: object + properties: + contextAttribute: + type: string + enum: + - maintenanceType + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + type: array + uniqueItems: true items: type: string + enum: + - UPGRADE + - DOWNGRADE #-------Definition of the scenario specific ObjectTarget dataType----------------# #-------Definition of the concrete ExpectationContext dataType----------------# @@ -1135,6 +1478,23 @@ components: - IS_EQUAL_TO contextValueRange: $ref: "TS28541_NrNrm.yaml#/components/schemas/Sst" + SchedulingTimeContext: + description: >- + This data type is the "ExpectationContext" data type with specialisations for SchedulingTimeContext.It describes + the scheduled times (including one-time interval, daily periodicity, weekly periodicity or monthly periodicity) + for the IntentObject that the intent expectation is applied. + type: object + properties: + contextAttribute: + type: string + enum: + - schedulingTime + contextCondition: + type: string + enum: + - IS_ALL_OF + contextValueRange: + $ref: "TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime" StartTimeContext: description: >- This data type is the "ExpectationContext" data type with specialisations for StartTimeContext @@ -1150,4 +1510,19 @@ components: - IS_EQUAL_TO contextValueRange: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + MaintenanceTimeContext: + description: >- + This data type is the "ExpectationContext" data type with specialisations for MaintenanceTimeContext + type: object + properties: + contextAttribute: + type: string + enum: + - MaintenanceTime + contextCondition: + type: string + enum: + - IS_EQUAL_TO + contextValueRange: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' #-------Definition of the concrete ExpectionContext dataType----------------# diff --git a/OpenAPI/TS28312_IntentNrm.yaml b/OpenAPI/TS28312_IntentNrm.yaml index dc5c4d4e48ca9d7641779bc7bd27ebe49288c5ec..052f0fdc81b274ceeb533cfe1daf1b8e3871c209 100644 --- a/OpenAPI/TS28312_IntentNrm.yaml +++ b/OpenAPI/TS28312_IntentNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Intent NRM - version: 18.4.0 + version: 19.3.0 description: >- OAS 3.0.1 definition of the Intent 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.312; Intent driven management services for mobile networks @@ -33,18 +33,28 @@ components: type: string intentExpectations: type: array + uniqueItems: true + minItems: 1 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/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" contextSelectivity: - $ref: "#/components/schemas/Selectivity" + $ref: "#/components/schemas/Selectivity" + consumerSatisfactionIndexThreshold: + type: integer + expectationSelectivity: + $ref: "#/components/schemas/Selectivity" intentContexts: type: array + uniqueItems: true items: $ref: '#/components/schemas/Context' description: >- @@ -64,17 +74,16 @@ components: maximum: 100 description: It expresses the priority of the stated intent within a MnS consumer. intentPreemptionCapability: - type: string - enum: - - TRUE - - FALSE - observationPeriod: - type: integer - description: >- - It represents the observation period of the fulfilmentInfo for corresponding - ExpectationTargets, IntentExpectations and Intent. + type: boolean + intentReportControl: + $ref: '#/components/schemas/IntentReportControl' + implicitIntentIndex: + type: boolean + default: false intentReportReference: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + intentUtilityFormulaRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' IntentReport-Single: description: It represents intent report information from MnS producer to MnS consumer. allOf: @@ -85,14 +94,21 @@ components: $ref: '#/components/schemas/IntentFulfilmentReport' intentConflictReports: type: array + uniqueItems: true items: $ref: '#/components/schemas/IntentConflictReport' intentFeasibilityCheckReport: - $ref: '#/components/schemas/IntentFeasibilityCheckReport' + $ref: '#/components/schemas/IntentFeasibilityCheckReport' + intentExplorationReport: + $ref: '#/components/schemas/IntentExplorationReport' + intentUtilityReport: + $ref: '#/components/schemas/IntentUtilityReport' + intentFulfilmentNegotiationReport: + $ref: '#/components/schemas/IntentFulfilmentNegotiationReport' lastUpdatedTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' intentReference: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' IntentHandlingFunction-Single: description: >- It represents the intent handling capabilities can be supported by a specific intent @@ -103,13 +119,42 @@ components: properties: intentHandlingCapabilityList: type: array + uniqueItems: true + minItems: 1 items: $ref: '#/components/schemas/IntentHandlingCapability' + supportedUtilityList: + type: array + items: + $ref: '#/components/schemas/UtilityDefinition' + uniqueItems: true Intent: $ref: '#/components/schemas/Intent-Multiple' - IntentReport: + IntentReport: $ref: '#/components/schemas/IntentReport-Multiple' - + IntentUtilityFormula-Single: + description: >- + It represents an intent utility function instance. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + utilityFunctionId: + type: string + utilityParameterList: + type: array + items: + $ref: '#/components/schemas/UtilityParameter' + uniqueItems: true + minItems: 1 + utilityScale: + type: number + minItems: 1 + default: 0 + utilityOffset: + type: number + minItems: 1 + default: 0 #-------Definition of generic IOCs ----------# #-------Definition of the generic IntentExpectation dataType ----------# @@ -128,16 +173,26 @@ components: $ref: "#/components/schemas/ExpectationObject" expectationTargets: type: array + uniqueItems: true + minItems: 1 items: $ref: '#/components/schemas/ExpectationTarget' contextSelectivity: $ref: "#/components/schemas/Selectivity" expectationContexts: type: array + uniqueItems: true items: $ref: '#/components/schemas/Context' + preferenceWeight: + type: integer + minimum: 0 + maximum: 10 + 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 ----------# @@ -153,19 +208,21 @@ components: - RAN_SUBNETWORK #value for Radio Network Expectation--# - EDGE_SERVICE_SUPPORT #value for Edge Service Support Expectation--# - 5GC_SUBNETWORK #value for 5GC Network Expectation--# - - Radio_Service #value for Radio Service Expectation--# + - RADIO_SERVICE #value for Radio Service Expectation--# + - SUBNETWORK #value for Network Maintenance Expectation--# objectInstance: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' objectContexts: type: array + uniqueItems: true items: $ref: '#/components/schemas/Context' 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: @@ -185,17 +242,28 @@ components: - ALL_OF - ONE_OF - ANY_OF + IntentMgmtPurpose: + description: >- + It describes the MnS consumer requirements for the management purpose (required procedures) + of the created or modified intent instance + type: string + enum: + - FEASIBILITYCHECK + - FULFILMENT_WITHOUT_NEGOTIATION + - EXPLORATION + - FULFILMENT_WITH_NEGOTIATION + 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 @@ -203,14 +271,14 @@ components: - SUSPENDED - TERMINATED - FULFILMENTFAILED - default: ACKNOWLEDGED - description: It describes the current progress of or the reason for not achieving fulfilment + default: ACKNOWLEDGED + description: It describes the current progress of or the reason for not achieving fulfilment for the intent, intentExpectation or expectationTarget. - An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo + An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo FulfilmentInfo: description: >- This dataType represents the properties of a specific fulfilment information for an aspect of - the intent (i.e. either an expectation, a target or the whole intent). + the intent (i.e. either an expectation, a target or the whole intent). type: object properties: fulfilmentStatus: @@ -219,22 +287,24 @@ components: $ref: "#/components/schemas/NotFulfilledState" notFulfilledReasons: type: array + uniqueItems: true items: type: string readOnly: true - description: An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo + description: An attribute which is used when FulfilmentInfo is implemented for IntentFulfilmentInfo ExpectationVerb: type: string enum: - DELIVER - ENSURE + - MAINTAIN description: It describes the characteristic of the intentExpectation and is the property that describes the types of intentExpectations. Vendor extensions are allowed Frequency: 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 + type: object properties: arfcn: type: integer @@ -258,23 +328,26 @@ components: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoCoordinate' - $ref: '#/components/schemas/UEGroup' - - $ref: '#/components/schemas/Frequency' + - $ref: '#/components/schemas/Frequency' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime' UEGroup: description: >- - It describes the UE Group, which is - represented by specific 5QI, specific S-NSSAI, or a specific combination - of S-NSSAI and 5QI + It describes the UE Group, + which is represented by specific 5QI, specific S-NSSAI, specific PLMNId or + a specific combination of S-NSSAI, 5QI and PLMNId. type: object properties: + pLMNId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' 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. @@ -288,6 +361,8 @@ components: targetValueRange: oneOf: - type: array + uniqueItems: true + minItems: 1 items: $ref: "#/components/schemas/ValueRangeType" - $ref: "#/components/schemas/ValueRangeType" @@ -295,15 +370,22 @@ components: $ref: "#/components/schemas/Selectivity" targetContexts: type: array + uniqueItems: true items: $ref: '#/components/schemas/Context' description: It describes the list of constraints and conditions that should apply for a specific expectationTarget. + preferenceWeight: + type: integer + minimum: 0 + maximum: 10 + description: It represents the preference information of the Consumer on expectationTargets. + #-------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: @@ -313,11 +395,82 @@ components: contextValueRange: oneOf: - type: array + uniqueItems: true + minItems: 1 items: $ref: "#/components/schemas/ValueRangeType" - $ref: "#/components/schemas/ValueRangeType" #-------Definition of the generic Context dataType----------------# + #-------Definition of the generic IntentReportControl dataType----------------# + IntentReportControl: + description: >- + It describes intent report subscription information + type: object + properties: + reportRecipientAddress: + description: >- + It indicates the address of report recipient for MnS consumer + type: string + observationPeriod: + description: >- + It indicates the time period for which the fulfilment process is observed + and at the end of which the fulfilmentInfo for corresponding + ExpectationTargets, IntentExpectations and Intent is updated. + type: integer + expectedReportTypes: + description: >- + It indicates the type of IntentReports. + type: string + enum: + - INTENT_FULFILMENT_REPORT + - INTENT_CONFLICT_REPORT + - INTENT_FEASIBILITY_CHECK_REPORT + - INTENT_EXPLORATION_REPORT + - INTENT_FULFILMENT_NEGOTIATION_REPORT + - INTENT_UTILITY_REPORT + reportingConditions: + description: >- + It indicates the specified conditions for intent reporting. + type: array + items: + $ref: '#/components/schemas/ReportingCondition' + reportingTargets: + description: >- + It indicates the specified targets needed to be reported. + type: array + items: + type: string + required: + - reportRecipientAddress + - observationPeriod + ReportingCondition: + description: >- + It describes the specified conditions for intent reporting. + oneOf: + - $ref: '#/components/schemas/TimeCondition' + - $ref: '#/components/schemas/TargetFulfilmentCondition' + TimeCondition: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime' + TargetFulfilmentCondition: + description: >- + It indicates the specified conditions of target fulfilment for intent reporting. + type: object + properties: + targetName: + type: string + targetCondition: + $ref: '#/components/schemas/Condition' + targetValueRange: + oneOf: + - type: array + uniqueItems: true + items: + $ref: "#/components/schemas/ValueRangeType" + - $ref: "#/components/schemas/ValueRangeType" + #-------Definition of the concrete IntentReportControl dataType----------------# + + #-------Definition of the generic IntentFulfilmentReport dataType----------------# IntentFulfilmentReport: description: >- @@ -329,8 +482,12 @@ components: $ref: '#/components/schemas/FulfilmentInfo' expectationFulfilmentResult: type: array + uniqueItems: true + minItems: 1 items: $ref: '#/components/schemas/ExpectationFulfilmentResult' + additionalFulfilmentInfo: + type: string #-------Definition of the concrete IntentFulfilmentReport dataType----------------# #-------Definition of the generic ExpectationFulfilmentResult dataType----------------# @@ -341,12 +498,17 @@ components: properties: expectaitonId: type: string + readOnly: true expectationFulfilmentInfo: $ref: '#/components/schemas/FulfilmentInfo' - targetFulfilmentResult: + targetFulfilmentResults: type: array + uniqueItems: true items: $ref: '#/components/schemas/TargetFulfilmentResult' + required: + - expectaitonId + - expectationFulfilmentInfo #-------Definition of the concrete ExpectationFulfilmentResult dataType----------------# #-------Definition of the generic TargetFulfilmentResult dataType----------------# @@ -357,13 +519,22 @@ components: properties: targetName: type: string + readOnly: true targetFulfilmentInfo: $ref: '#/components/schemas/FulfilmentInfo' targetAchievedValue: - type: number description: >- 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: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/Context' + required: + - targetName + - targetFulfilmentInfo #-------Definition of the concrete TargetFulfilmentResult dataType----------------# #-------Definition of the generic IntentConflictReport dataType----------------# @@ -375,8 +546,10 @@ components: properties: conflictId: type: string + readOnly: true conflictType: type: string + readOnly: true enum: - INTENT_CONFLICT - EXPECTATION_CONFLICT @@ -384,40 +557,217 @@ components: conflictingIntent: description: >- This will be present if the value of conflictType is INTENT_CONFLICT. It describes the DN of the conflicting intent - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $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 - type: string + type: string + readOnly: true conflictingTarget: description: >- This will be present if the value of conflictType is TARGET_CONFLICT. It describes the targetName of the conflicting ExpectationTarget with an IntentExpectation - type: string + type: string + readOnly: true recommendedSolutions: - type: string + type: string + 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. + type: object + properties: + utilityResultList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/UtilityResult' + #-------Definition of the concrete IntentUtilityReport dataType----------------# + #-------Definition of the generic IntentFeasibilityCheckReport dataType----------------# IntentFeasibilityCheckReport: description: >- It represents the intent feasibility check information - This attribute shall be supported when intent feasibility check information information is supported by IntentReport + This attribute shall be supported when intent feasibility check information information is supported by IntentReport type: object properties: feasibilityCheckResult: type: string + readOnly: true enum: - FEASIBLE - INFEASIBLE - infeasibilityReason: + infeasibilityReasons: + description: An attribute which is used when feasibilityCheckResult is INFEASIBLE + type: array + items: + type: string + readOnly: true + enum: + - INVALID_INTENT_EXPRESSION + - INTENT_CONFLICT + inFeasibleExpectationInfos: + type: array + items: + $ref: '#/components/schemas/InFeasibleExpectationInfo' + required: + - feasibilityCheckResult + - infeasibilityReasons + InFeasibleExpectationInfo: + description: >- + It describes the list of InFeasibleExpectationInfo for all infeasible IntentExpectations + in the intent + type: object + properties: + expectationId: type: string - description: An attribute which is used when feasibilityCheckResult is INFEASIBLE + readOnly: true + inFeasibleTargets: + type: array + items: + type: string + readOnly: true + description: It describes the list of TargetNames for the InFeasibleTargets + required: + - expectationId + - inFeasibleTargets #-------Definition of the concrete IntentFeasibilityCheckReport dataType----------------# + + #-------Definition of the generic IntentExplorationReport dataType----------------# + IntentExplorationReport: + description: >- + It represents the intent exploration information + This attribute shall be supported when intent exploration information is supported by IntentReport + type: object + properties: + expectationExplorationResults: + type: array + items: + $ref: '#/components/schemas/ExpectationExplorationResult' + uniqueItems: true + minItems: 1 + ExpectationExplorationResult: + description: >- + It represents the expectation exploration result for a specific intent expectation + type: object + properties: + expectationId: + type: string + readOnly: true + targetExplorationResults: + type: array + items: + $ref: '#/components/schemas/ExpectationTarget' + uniqueItems: true + minItems: 1 + contextExplorationResults: + type: array + items: + $ref: '#/components/schemas/Context' + uniqueItems: true + minItems: 1 + required: + - expectationId + - targetExplorationResults + #-------Definition of the generic IntentExplorationReport dataType----------------# + + + + #-------Definition of the generic IntentFulfilmentNegotiationReport dataType----------------# + IntentFulfilmentNegotiationReport: + description: >- + It represents the intent negotiation information during fulfilment phase + This attribute shall be supported when intent fulfilment negotiation information is supported by IntentReport + type: object + properties: + possibleIntentOutcomeList: + type: array + items: + $ref: '#/components/schemas/PossibleIntentOutcome' + uniqueItems: true + minItems: 1 + intentFulfilmentNegotiationConsumerFeedback: + $ref: '#/components/schemas/IntentFulfilmentNegotiationFeedback' + implicitIntent: + $ref: '#/components/schemas/ImplicitIntent' + PossibleIntentOutcome: + description: >- + It represents a single outcome evaluated by the MnS producer + type: object + properties: + possibleIntentOutcomeId: + type: integer + readOnly: true + intentFulfilmentInfo: + $ref: '#/components/schemas/FulfilmentInfo' + expectationFulfilmentResults: + type: array + items: + $ref: '#/components/schemas/ExpectationFulfilmentResult' + uniqueItems: true + minItems: 1 + possibleImpacts: + type: array + items: + $ref: '#/components/schemas/PossibleImpact' + uniqueItems: true + minItems: 1 + required: + - possibleIntentOutcomeId + - intentFulfilmentInfo + PossibleImpact: + description: >- + It represents the possible impact of the possible outcome + type: object + properties: + impactedObjects: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + minItems: 1 + impactedAttributes: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + minItems: 1 + IntentFulfilmentNegotiationFeedback: + description: >- + It represents the feedback information that the MnS consumer provides to the + MnS producer as response during intent fulfilment Negotiation. + type: object + properties: + referredIntentOutcomeId: + type: integer + consumerSatisfactionIndex: + type: integer + ImplicitIntent: + description: >- + It represents the implicit intent which includes the information + that MnS consumers have not explicitly pointed out in its intent. + type: object + properties: + implicitIntentExpectations: + type: array + items: + $ref: '#/components/schemas/IntentExpectation' + implicitIntentContexts: + type: array + items: + $ref: '#/components/schemas/Context' + + #-------Definition of the generic IntentFulfilmentNegotiationReport dataType----------------# + + #-------Definition of the generic IntentHandlingCapability dataType----------------# IntentHandlingCapability: description: >- @@ -427,21 +777,94 @@ components: properties: intentHandlingCapabilityId: type: string + readOnly: true supportedExpectationObjectType: type: string enum: - RAN_SUBNETWORK - EDGE_SERVICE_SUPPORT - 5GC_SUBNETWORK - - Radio_Service + - RADIO_SERVICE + readOnly: true description: It describes the expectation object type which can be supported by a specific intent handling function of MnS producer. - supportedExpectationTargetNames: + supportedExpectationTargetInfoList: type: array items: - type: string - description: It describes the supported expectation targets for the supported expectation object type. + $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. + type: object + properties: + supportedTargetName: + type: string + readOnly: true + supportedTargetCondition: + $ref: '#/components/schemas/Condition' + supportedTargetValueRange: + oneOf: + - type: array + uniqueItems: true + minItems: 1 + items: + $ref: '#/components/schemas/ValueRangeType' + - $ref: '#/components/schemas/ValueRangeType' + required: + - supportedTargetName #-------Definition of the concrete IntentHandlingCapability dataType----------------# + + #-------Definition of the generic UtilityParameter dataType----------------# + UtilityParameter: + description: >- + It represents the inputs for the specified Intent Utility Function. + type: object + properties: + parameterName: + type: string + parameterWeight: + type: number + #-------Definition of the concrete UtilityParameter dataType----------------# + + #-------Definition of the generic UtilityResult dataType----------------# + UtilityResult: + description: >- + It represents the inputs 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: + 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: + type: array + items: + $ref: '#/components/schemas/UtilityParameter' + uniqueItems: true + #-------Definition of the concrete UtilityDefinition dataType----------------# + #------Definition of JSON arrays for name-contained IOCs ---------------# Intent-Multiple: @@ -459,6 +882,10 @@ components: items: $ref: '#/components/schemas/IntentHandlingFunction-Single' + IntentUtilityFormula-Multiple: + type: array + items: + $ref: '#/components/schemas/IntentUtilityFormula-Single' #------Definition of JSON arrays for name-contained IOCs ---------------# @@ -467,6 +894,7 @@ components: oneOf: - $ref: '#/components/schemas/IntentHandlingFunction-Single' - $ref: '#/components/schemas/Intent-Single' - - $ref: '#/components/schemas/IntentReport-Single' + - $ref: '#/components/schemas/IntentReport-Single' + - $ref: '#/components/schemas/IntentUtilityFormula-Single' #----- Definitions in TS 28.312 for TS 28.532 --------------------------# diff --git a/OpenAPI/TS28317_RanScNrm.yaml b/OpenAPI/TS28317_RanScNrm.yaml index 3b1973463bac5549049ca00a706b4fd418066973..13a85ef1b15e39a2a758ce3721012b1b8f526abd 100644 --- a/OpenAPI/TS28317_RanScNrm.yaml +++ b/OpenAPI/TS28317_RanScNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: RANSC NRM - version: 18.1.0 + version: 19.0.0 description: >- OAS 3.0.1 definition of the RANSC NRM © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -34,6 +34,7 @@ components: properties: nEInformation: type: array + uniqueItems: true items: $ref: '#/components/schemas/NEInfomration' description: >- @@ -64,7 +65,7 @@ components: description: >- Setting this attribute to "TRUE" cancels the self configuration process. scMgmtProfileRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' #-------Definition of IOCs ----------# @@ -100,8 +101,9 @@ components: for usage in the RANSC management for monitoring for the self configuration process. type: object properties: - jobId: + id: type: string + readOnly: true status: type: string enum: @@ -111,10 +113,12 @@ components: - FAILED - CANCELLING - CANCELLED + readOnly: true progressPercentage: type: integer minimum: 0 maximum: 100 + readOnly: true progressStateInfo: type: string enum: @@ -126,9 +130,11 @@ components: - RETRIEVE_CONFIGURATION_DATA - SETUP_PRECONFIGURED_SIGNALLING_LINKS - SET_FINAL_STATE_OF_NE + readOnly: true resultStateInfo: oneOf: - type: string + readOnly: true enum: - UNKNOWN - INCORRECT_CONFIGURATION @@ -136,10 +142,11 @@ components: - DISCONNECTION_BETWEEN_NE_AND_OAM - OTHER - type: string + readOnly: true startTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' endTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' #-------Definition of Data types ----------# diff --git a/OpenAPI/TS28318_DsoNrm.yaml b/OpenAPI/TS28318_DsoNrm.yaml index 7246dca06f5339830621ae57777da15147215f37..5f7901bd33c3057e6d040460ee76a7ed6997f7d7 100644 --- a/OpenAPI/TS28318_DsoNrm.yaml +++ b/OpenAPI/TS28318_DsoNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: 3GPP NRM - version: 18.1.0 + version: 19.1.0 description: >- OAS 3.0.1 specification of the OutageAndRecoveryInfo NRM - © 2024, 3GPP Organizational OutageAndRecoveryInfo Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2025, 3GPP Organizational OutageAndRecoveryInfo Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.318; OutageAndRecoveryInfo NRM @@ -17,8 +17,8 @@ components: EnergyServiceLocation: type: object properties: - CGI: - type: string + outageArea: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AreaOfInterest' energySupplyId: type: string @@ -47,11 +47,13 @@ components: dsoRapidInterventionDuration: type: integer mnoInterventionTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' mnoInterventionDuration: type: integer + readOnly: true mnoMaxServiceDuration: type: integer + readOnly: true affectedArea: $ref: '#/components/schemas/EnergyServiceLocation' isAffectedAreaPriority: 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 4138a3c1147353019589b66e035b69954c6199ae..033a67bc5dae16b1d8d2076323633d8d63b0d0b0 100644 --- a/OpenAPI/TS28532_FileDataReportingMnS.yaml +++ b/OpenAPI/TS28532_FileDataReportingMnS.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: File Data Reporting MnS - version: 18.2.0 + version: 19.1.0 description: >- OAS 3.0.1 definition of the File Data Reporting 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.532; Generic management services @@ -203,6 +203,17 @@ components: type: string fileDataType: $ref: '#/components/schemas/FileDataType' + jobId: + type: string + FileCreationErrorInfoList: + type: object + properties: + fileLocation: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + fileDataType: + $ref: '#/components/schemas/FileDataType' + jobId: + type: string NotifyFileReady: allOf: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' @@ -222,7 +233,7 @@ components: fileInfoList: type: array items: - $ref: '#/components/schemas/FileInfo' + $ref: '#/components/schemas/FileCreationErrorInfoList' reason: type: string additionalText: diff --git a/OpenAPI/TS28532_ProvMnS.yaml b/OpenAPI/TS28532_ProvMnS.yaml index 116dfc4b7d44bcd8df8eafb2f94fadb728a982fa..e24a69104a1e966833c25447a7326bc560fe773b 100755 --- a/OpenAPI/TS28532_ProvMnS.yaml +++ b/OpenAPI/TS28532_ProvMnS.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Provisioning MnS - version: 18.3.0 + version: 19.1.0 description: >- OAS 3.0.1 definition of the Provisioning 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.532; Generic management services @@ -192,6 +192,48 @@ paths: application/json: schema: $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyPotentialFaultyDataNodeTree: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyPotentialFaultyDataNodeTree' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' + notifyDataNodeTreeSyncRecommended: + '{request.body#/notificationRecipientAddress}': + post: + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/NotifyDataNodeTreeSyncRecommended' + responses: + '204': + description: >- + Success case ("204 No Content"). + The notification is successfully delivered. The response + has no message body. + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponse' get: summary: Reads one or multiple resources description: >- @@ -203,13 +245,12 @@ paths: in: query description: >- This parameter extends the set of targeted resources beyond the base - resource identified with the path component of the URI. No scoping - mechanism is specified in the present document. + resource identified with the path component of the URI. required: false - schema: - $ref: '#/components/schemas/Scope' - style: form - explode: true + content: + application/json: + schema: + $ref: '#/components/schemas/Scope' - name: filter in: query description: >- @@ -219,7 +260,7 @@ paths: are targeted. required: false schema: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/JexConditions' - name: attributes in: query description: >- @@ -251,7 +292,10 @@ paths: select data nodes. required: false schema: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter' + oneOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/JexNodeSelectionBasic' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/JexNodeSelectionAdvanced' + responses: '200': description: >- @@ -355,6 +399,41 @@ paths: application/json: schema: $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponseDefault' + '/{URI-LDN-first-part}': + parameters: + - name: URI-LDN-first-part + in: path + required: true + schema: + type: string + post: + summary: Creates a complete single resource + description: >- + With HTTP POST a complete single resource is created. The identifier of the new + resource is assigned by the MnS producer. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + responses: + '201': + description: >- + Success case ("201 Created"). + This status code shall be returned when the resource is created. + The representation of the created resource is returned in the response + message body. + content: + application/json: + schema: + $ref: '#/components/schemas/Resource' + default: + description: Error case. + content: + application/json: + schema: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/ErrorResponseDefault' components: schemas: CmNotificationTypes: @@ -365,6 +444,8 @@ components: - notifyMOIAttributeValueChanges - notifyEvent - notifyMOIChanges + - notifyPotentialFaultyDataNodeTree + - notifyDataNodeTreeSyncRecommended SourceIndicator: type: string enum: @@ -399,7 +480,6 @@ components: - copy - move - test - Resource: oneOf: - type: object @@ -418,28 +498,7 @@ components: type: object required: - id - - anyOf: - - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/resources-genericNrm' - - $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: 'TS28536_CoslaNrm.yaml#/components/schemas/resources-coslaNrm' - - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/resources-intentNrm' - - $ref: 'TS28104_MdaNrm.yaml#/components/schemas/resources-mdaNrm' - - $ref: 'TS28105_AiMlNrm.yaml#/components/schemas/resources-AiMlNrm' - - $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/resources-edgeNrm' - - $ref: 'TS28317_RanScNrm.yaml#/components/schemas/resources-RanScNrm' - - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/resources-fileMgmtNrm' - - $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/resources-mgmtDataCollectionNrm' - - $ref: 'TS28623_MnSRegistryNrm.yaml#/components/schemas/resources-mnSRegistryNrm' - - $ref: 'TS28623_PmControlNrm.yaml#/components/schemas/resources-pmControlNrm' - - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/resources-faultNrm' - - $ref: 'TS28623_QoEMeasurementCollectionNrm.yaml#/components/schemas/resources-qoEMeasuremetCollectionNrm' - - $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/resources-subscriptionControlNrm' - - $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/resources-thresholdMonitorNrm' - - $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/resources-traceControlNrm' - - $ref: 'TS28319_MsacNrm.yaml#/components/schemas/resources-msacNrm' - - $ref: 'TS28318_DsoNrm.yaml#/components/schemas/resources-DSORecovery' + - $ref: 'TS28623_FeatureNrm.yaml#/components/schemas/resources-feature' Scope: type: object properties: @@ -555,6 +614,20 @@ components: $ref: '#/components/schemas/MoiChange' required: - moiChanges + NotifyPotentialFaultyDataNodeTree: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + scope: + $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/Scope' + NotifyDataNodeTreeSyncRecommended: + allOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationHeader' + - type: object + properties: + scope: + $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/Scope' PatchItem: type: object properties: diff --git a/OpenAPI/TS28532_StreamingDataMnS.yaml b/OpenAPI/TS28532_StreamingDataMnS.yaml index 6f7f94fc7d36c513535fe28bbbc7df350365a8b4..82ce927d592275880f8bce18a4296db0f0c53645 100755 --- a/OpenAPI/TS28532_StreamingDataMnS.yaml +++ b/OpenAPI/TS28532_StreamingDataMnS.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: TS 28.532 Streaming data reporting service - version: 18.1.0 + version: 19.0.0 description: >- OAS 3.0.1 specification for the Streaming data reporting service (Streaming MnS) - © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. servers: - url: '{MnSRoot}/StreamingDataReportingMnS/{MnSVersion}' @@ -48,6 +48,8 @@ paths: in: query description: The list of connectionId for which the connection information is to be returned. required: false + style: form + explode: false schema: type: array items: @@ -187,6 +189,8 @@ paths: in: query description: The list of streamId for the stream(s) to be deleted. required: true + style: form + explode: false schema: type: array items: @@ -214,6 +218,8 @@ paths: in: query description: The list of streamId for which the stream information is to be retrieved. required: true + style: form + explode: false schema: type: array items: diff --git a/OpenAPI/TS28536_CoslaNrm.yaml b/OpenAPI/TS28536_CoslaNrm.yaml index a81e08261fc6cd845e072718fccae9bdee4553ce..47ddfaa2c5fa04ae589f405b41f4e61e285b91e0 100755 --- a/OpenAPI/TS28536_CoslaNrm.yaml +++ b/OpenAPI/TS28536_CoslaNrm.yaml @@ -2,10 +2,10 @@ openapi: 3.0.1 info: title: coslaNrm - version: 18.1.0 + version: 19.1.0 description: >- OAS 3.0.1 specification of the Cosla 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: @@ -33,30 +33,35 @@ components: AssuranceGoalStatusObserved: type: string + readOnly: true enum: - FULFILLED - NOT_FULFILLED AssuranceGoalStatusPredicted: type: string + readOnly: true enum: - FULFILLED - NOT_FULFILLED AssuranceTargetStatusObserved: type: string + readOnly: true enum: - FULFILLED - NOT_FULFILLED AssuranceTargetStatusPredicted: type: string + readOnly: true enum: - FULFILLED - NOT_FULFILLED AssuranceTargetName: type: string + readOnly: true AssuranceTarget: type: object @@ -65,9 +70,12 @@ components: $ref: '#/components/schemas/AssuranceTargetName' assuranceTargetValue: type: string + readOnly: true AssuranceTargetList: type: array + uniqueItems: true + minItems: 1 items: $ref: '#/components/schemas/AssuranceTarget' @@ -76,17 +84,18 @@ components: properties: assuranceGoalStatusId: type: string + readOnly: true assuranceGoalId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' assuranceGoalStatusObserved: $ref: '#/components/schemas/AssuranceGoalStatusObserved' assuranceGoalStatusPredicted: $ref: '#/components/schemas/AssuranceGoalStatusPredicted' - assuranceGoalRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' AssuranceGoalStatusList: type: array + uniqueItems: true + minItems: 1 items: $ref: '#/components/schemas/AssuranceGoalStatus' @@ -95,6 +104,7 @@ components: properties: assuranceTargetStatusId: type: string + readOnly: true assuranceTargetName: $ref: '#/components/schemas/AssuranceTargetName' assuranceTargetStatusObserved: @@ -104,11 +114,14 @@ components: AssuranceTargetStatusList: type: array + uniqueItems: true + minItems: 1 items: $ref: '#/components/schemas/AssuranceTargetStatus' AttributeNameList: type: array + uniqueItems: true items: type: string @@ -155,13 +168,18 @@ components: controlLoopLifeCyclePhase: $ref: '#/components/schemas/ControlLoopLifeCyclePhase' aCCLDisallowedList: - $ref: '#/components/schemas/ACCLDisallowedAttributes' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ACCLDisallowedAttributes' + networkSliceRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + networkSliceSubnetRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + AssuranceReport: + $ref: '#/components/schemas/AssuranceReport-Single' AssuranceGoal: $ref: '#/components/schemas/AssuranceGoal-Multiple' - networkSliceRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - networkSliceSubnetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' AssuranceGoal-Single: allOf: @@ -194,6 +212,8 @@ components: properties: assuranceGoalStatusList: $ref: '#/components/schemas/AssuranceGoalStatusList' + assuranceGoalRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' #-------- Definition of JSON arrays for name-contained IOCs ---------------------- diff --git a/OpenAPI/TS28538_EdgeNrm.yaml b/OpenAPI/TS28538_EdgeNrm.yaml index 0848b77d43bfaeb0f655cfe23151d47ccfde4018..90eb86cef08c0c02eadab8adc7ca7f9e8621a5fb 100644 --- a/OpenAPI/TS28538_EdgeNrm.yaml +++ b/OpenAPI/TS28538_EdgeNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: 3GPP Edge NRM - version: 18.7.0 + version: 19.4.0 description: >- OAS 3.0.1 specification of the Edge 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.538; Edge NRM @@ -88,16 +88,21 @@ components: type: string swImageRef: type: string - Duration: + RegistrationInfo: type: object properties: - startTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - endTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + registrationExpiry: + type: string + readOnly: true + registrationID: + type: string + readOnly: true + secCredential: + type: string EASServicePermission: type: string description: any of enumerated value + readOnly: true enum: - TRIAL - SILVER @@ -107,9 +112,11 @@ components: EASStatus: type: string description: any of enumerated value + readOnly: true enum: - ENABLED - DISABLED + - OVERLOAD_WARNING ResourceReservationRequirement: type: object properties: @@ -125,9 +132,11 @@ components: properties: resourceId: type: string + readOnly: true reservationStatus: type: string description: any of enumrated value + readOnly: true enum: - RESERVED - USEd @@ -142,9 +151,11 @@ components: - FUTURE futuristicTriggerTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - AvailableEDNList: + AvailableEDN: type: object properties: + AvailableEDN: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' resourceQuota: $ref: '#/components/schemas/VirtualResource' FederatedECSInfo: @@ -158,7 +169,26 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' servedEESList: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - + SAP: + type: object + properties: + host: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' + port: + type: integer + Operation: + type: object + properties: + name: + type: string + allowedConsumers: + type: string + operationSemantics: + type: string + description: any of enumrated value + enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY #-------- Definition of types for name-containments ------ SubNetwork-ncO-EdgeNrm: @@ -168,6 +198,31 @@ components: $ref: '#/components/schemas/ECSFunction-Multiple' EdgeDataNetwork: $ref: '#/components/schemas/EdgeDataNetwork-Multiple' + EASBundle: + $ref: '#/components/schemas/EASBundle-Multiple' + +#-------- Definition of Edge common IOCs -------------------------------------------- + ManagedEdgeNFService-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + sAP: + $ref: '#/components/schemas/SAP' + operations: + type: array + items: + $ref: '#/components/schemas/Operation' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' +#-------- Definition of Edge common IOCs -------------------------------------------- #-------- Definition of concrete IOCs -------------------------------------------- @@ -188,6 +243,7 @@ components: $ref: '#/components/schemas/EESFunction-Multiple' availableEdgeVirtualResources: type: string + readOnly: true EASFunction-Single: allOf: @@ -205,6 +261,8 @@ components: type: array items: type: string + registrationInfo: + $ref: '#/components/schemas/RegistrationInfo' eASRequirementsRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' eASAddress: @@ -215,7 +273,12 @@ components: $ref: '#/components/schemas/RelocationTriggerInfo' relocationRejectByASP: type: boolean + default: FALSE - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ManagedEdgeNFService: + $ref: '#/components/schemas/ManagedEdgeNFService-Multiple' EASProfile-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -223,12 +286,15 @@ components: properties: aCID: type: string + readOnly: true eASProvider: type: string + readOnly: true eASdescription: type: string + readOnly: true eASSchedule: - $ref: '#/components/schemas/Duration' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindowRo' eASGeographicalServiceArea: $ref: '#/components/schemas/GeoLoc' eASTopologicalServiceArea: @@ -239,10 +305,14 @@ components: $ref: '#/components/schemas/EASFeature' eASServiceContinuitySupport: type: boolean + readOnly: true + default: FALSE eASDNAI: type: string + readOnly: true eASAvailabilityReportingPeriod: type: integer + readOnly: true eASStatus: $ref: '#/components/schemas/EASStatus' EESFunction-Single: @@ -270,8 +340,14 @@ components: serviceContinuitySupport: type: boolean eASFunctionRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + registrationInfo: + $ref: '#/components/schemas/RegistrationInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ManagedEdgeNFService: + $ref: '#/components/schemas/ManagedEdgeNFService-Multiple' ECSFunction-Single: allOf: @@ -296,6 +372,10 @@ components: sharedECSInfo: $ref: '#/components/schemas/FederatedECSInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - type: object + properties: + ManagedEdgeNFService: + $ref: '#/components/schemas/ManagedEdgeNFService-Multiple' EASRequirements-Single: allOf: @@ -313,7 +393,7 @@ components: softwareImageInfo: $ref: '#/components/schemas/SoftwareImageInfo' eASSchedule: - $ref: '#/components/schemas/Duration' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' eASFeature: $ref: '#/components/schemas/EASFeature' relocationPolicy: @@ -365,12 +445,14 @@ components: properties: federationID: type: string - FederationExpiry: + federationExpiry: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' leadingOPiD: type: string - avaibleEDNList: - $ref: '#/components/schemas/AvailableEDNList' + availableEDNList: + type: array + items: + $ref: '#/components/schemas/AvailableEDN' acceptedEDN: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' OperatorEdgeDataNetwork-Single: @@ -382,7 +464,32 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' edgeDataNetworkRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - + EASBundle-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + bundleIdentifier: + type: string + readOnly: true + bundledEASIdentifier: + type: string + bundleType: + type: string + mainEASIdentifier: + type: string + coordinatedEASDiscovery: + type: boolean + default: FALSE + coordinatedACR: + type: boolean + eDNAffinity: + type: string + description: any of enumrated value + enum: + - STRONG + - WEAK + - PREFERRED #-------- Definition of JSON arrays for name-contained IOCs ---------------------- @@ -418,15 +525,22 @@ components: type: array items: $ref: '#/components/schemas/OperatorEdgeDataNetwork-Single' + EASBundle-Multiple: + type: array + items: + $ref: '#/components/schemas/EASBundle-Single' + ManagedEdgeNFService-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedEdgeNFService-Single' - #--------------------------------- Definition ------------------------------------ resources-edgeNrm: oneOf: - $ref: '#/components/schemas/EASFunction-Single' - $ref: '#/components/schemas/ECSFunction-Single' - - $ref: '#/components/schemas/EESFunction-Single' + - $ref: '#/components/schemas/EESFunction-Single' - $ref: '#/components/schemas/EdgeDataNetwork-Single' - $ref: '#/components/schemas/EASRequirements-Single' - $ref: '#/components/schemas/EASProfile-Single' @@ -434,3 +548,5 @@ components: - $ref: '#/components/schemas/OperatorEdgeFederation-Single' - $ref: '#/components/schemas/OperatorEdgeDataNetwork-Single' - $ref: '#/components/schemas/EASResourceReservationJob-Single' + - $ref: '#/components/schemas/EASBundle-Single' + - $ref: '#/components/schemas/ManagedEdgeNFService-Single' diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index 44dc93e1c80245cd60b6bdd8aef483b28055fe5b..950193f8c1504b8714dfa9a5af77de681e0a3477 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: 18.8.0 + version: 19.5.0 description: >- OAS 3.0.1 specification of the 5GC 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.541; 5G NRM, 5GC NRM @@ -19,9 +19,9 @@ components: type: object description: 'AmfIdentifier comprise of amfRegionId, amfSetId and amfPointer' properties: - amfRegionId: + aMFRegionId: $ref: '#/components/schemas/AmfRegionId' - amfSetId: + aMFSetId: $ref: '#/components/schemas/AmfSetId' amfPointer: $ref: '#/components/schemas/AmfPointer' @@ -52,32 +52,10 @@ components: type: integer NFProfileList: type: array + uniqueItems: true description: List of NF profile items: - $ref: '#/components/schemas/NFProfile' - NFProfile: - type: object - description: 'NF profile stored in NRF, defined in TS 29.510' - properties: - nFInstanceId: - type: string - description: uuid of NF instance - nFType: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' - nFStatus: - $ref: '#/components/schemas/NFStatus' - plmn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - sNssais: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' - fqdn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' - interPlmnFqdn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' - nfServices: - type: array - items: - $ref: '#/components/schemas/NFService' + $ref: '#/components/schemas/ManagedNFProfile' NFService: type: object description: NF Service is defined in TS 29.510 @@ -86,30 +64,157 @@ components: type: string serviceName: type: string - version: - type: string + versions: + type: array + uniqueItems: true + items: + type: string + minItems: 1 schema: type: string + nfServiceStatus: + type: string + enum: + - REGISTERED + - SUSPENDED + - UNDISCOVERABLE + - CANARY_RELEASE fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' interPlmnFqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' ipEndPoints: type: array + uniqueItems: true items: $ref: '#/components/schemas/IpEndPoint' - apiPrfix: + apiPrefix: type: string - allowedPlmns: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + allowedPLMNs: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + allowedSnpns: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SnpnId' allowedNfTypes: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' - allowedNssais: + $ref: '#/components/schemas/NFType' + allowedNfDomains: + type: array + uniqueItems: true + items: + type: string + allowedNSSAIs: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + priority: + type: integer + minimum: 0 + maximum: 65535 + capacity: + type: integer + recoveryTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + vendorId: + $ref: '#/components/schemas/VendorId' + allowedOperationsPerNfType: + type: string + allowedOperationsPerNfInstance: + type: string + allowedOperationsPerNfInstanceOverrides: + type: boolean + sNssais: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + oauth2Required: + type: boolean + sharedServiceDataId: + type: string + defaultNotificationSubscriptions: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/DefaultNotificationSubscription' + callbackUriPrefixList: + type: array + items: + $ref: '#/components/schemas/CallbackUriPrefixItem' + supportedFeatures: + type: string + supportedVendorSpecificFeatures: + description: A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + allowedScopesRuleSet: + description: A map (list of key-value pairs) where a valid JSON pointer Id serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/RuleSet' + minProperties: 1 + nfServiceSetIdList: + description: This attribute represents a list of NF Service Set ID. + type: array + items: + type: string + perPlmnSnssaiList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/PlmnSnssai' + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + canaryRelease: + type: boolean + default: false + exclusiveCanaryReleaseSelection: + type: boolean + default: false + shutdownTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + canaryPrecedenceOverPreferred: + type: boolean + default: false + perPlmnOauth2ReqList: + $ref: '#/components/schemas/PlmnOauth2' + PlmnOauth2: + description: Oauth2.0 required indication for a given PLMN ID + type: object + properties: + oauth2RequiredPlmnIdList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + minItems: 1 + oauth2NotRequiredPlmnIdList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + minItems: 1 + VendorSpecificFeature: + type: object + properties: + featureName: + type: string + readOnly: true + featureVersion: + type: string + readOnly: true NFStatus: type: string description: any of enumerated value @@ -118,11 +223,12 @@ components: - SUSPENDED CNSIIdList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/CNSIId' + $ref: '#/components/schemas/CNSIId' CNSIId: type: string - description: CNSI Id is defined in TS 29.531, only for Core Network + description: CNSI Id is defined in TS 29.531, only for Core Network. EnergySavingControl: type: string description: any of enumerated value @@ -131,16 +237,16 @@ components: - TO_BE_NOT_ENERGYSAVING EnergySavingState: type: string + readOnly: true description: any of enumerated value enum: - IS_NOT_ENERGYSAVING - IS_ENERGYSAVING TACList: type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' - WeightFactor: - type: integer VendorId: type: string description: Vendor ID of the NF Service instance (Private Enterprise Number assigned by IANA) @@ -150,19 +256,23 @@ components: properties: nFSrvGroupId: type: string + readOnly: true supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 routingIndicators: type: array + uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' minItems: 1 suciInfos: type: array + uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' minItems: 1 @@ -186,8 +296,12 @@ components: - P_BDT - P_PLMNUE - P_NSSCD + - P_PDTQ + - P_MBSCD + - P_GROUP NotificationType: type: string + readOnly: true enum: - N1_MESSAGES - N2_INFORMATION @@ -197,6 +311,12 @@ components: - LOCATION_UPDATE_NOTIFICATION - NSSAA_REAUTH_NOTIFICATION - NSSAA_REVOC_NOTIFICATION + - MATCH_INFO_NOTIFICATION + - DATA_RESTORATION_NOTIFICATION + - TSCTS_NOTIFICATION + - LCS_KEY_DELIVERY_NOTIFICATION + - UUAA_MM_AUTH_NOTIFICATION + - DC_SESSION_EVENT_NOTIFICATION DefaultNotificationSubscription: type: object properties: @@ -204,95 +324,358 @@ components: $ref: '#/components/schemas/NotificationType' callbackURI: type: string + readOnly: true + interPlmnCallbackUri: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' n1MessageClass: type: boolean + readOnly: true n2InformationClass: type: boolean + readOnly: true versions: type: string + readOnly: true binding: type: string + readOnly: true + acceptedEncoding: + type: string + readOnly: true + supportedFeatures: + type: string + readOnly: true + serviceInfoList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/DefSubServiceInfo' + minItems: 1 + callbackUriPrefix: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' + CallbackUriPrefixItem: + type: object + properties: + notificationTypes: + type: array + items: + $ref: '#/components/schemas/NotificationType' + callbackUriPrefix: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' + DefSubServiceInfo: + type: object + properties: + versions: + type: array + uniqueItems: true + items: + type: string + minItems: 1 + readOnly: true + supportedFeatures: + type: string + readOnly: true ManagedNFProfile: type: object properties: + hniList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + minItems: 1 + interPlmnFqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' nfInstanceID: type: string + readOnly: true nfType: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' + collocatedNfInstances: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/CollocatedNfInstance' + nfInstanceName: + type: string + nfStatus: + $ref: '#/components/schemas/NFStatus' + plmnList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sNssais: + type: array + uniqueItems: true + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + fqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' heartbeatTimer: type: integer authzInfo: type: string hostAddr: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' allowedPLMNs: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' sNPNList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnpnId' + perPlmnSnssaiList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/PlmnSnssai' allowedSNPNs: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnpnId' allowedNfTypes: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' allowedNfDomains: type: array + uniqueItems: true items: type: string allowedNSSAIs: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + allowedRuleSet: + description: > + A map (list of key-value pairs) where a valid JSON pointer Id serves as key + type: object + additionalProperties: + $ref: '#/components/schemas/RuleSet' + minProperties: 1 locality: type: string + extLocality: + description: > + A map (list of key-value pairs) where a (unique) valid JSON string serves + as key representing a type of locality + type: object + additionalProperties: + type: string + minProperties: 1 capacity: type: integer + load: + type: integer + minimum: 0 + maximum: 100 + loadTimeStamp: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' nfSetIdList: type: array + uniqueItems: true items: type: string + minItems: 1 servingScope: type: array + uniqueItems: true items: type: string + minItems: 1 lcHSupportInd: type: boolean + readOnly: true olcHSupportInd: type: boolean + readOnly: true nfSetRecoveryTimeList: type: array + uniqueItems: true items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' + minItems: 1 scpDomains: type: array + uniqueItems: true items: type: string + minItems: 1 recoveryTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' nfServicePersistence: type: boolean + readOnly: true nfProfileChangesSupportInd: type: boolean + nfProfilePartialUpdateChangesSupportInd: + type: boolean + default: false + writeOnly: true + nfProfileChangesInd: + type: boolean + default: false + readOnly: true defaultNotificationSubscriptions: type: array + uniqueItems: true items: $ref: '#/components/schemas/DefaultNotificationSubscription' minItems: 1 serviceSetRecoveryTimeList: type: array + uniqueItems: true items: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' minItems: 1 vendorId: $ref: '#/components/schemas/VendorId' + nfServiceList: + description: > + A map (list of key-value pairs) where serviceInstanceId serves as key of NFService + type: object + additionalProperties: + $ref: '#/components/schemas/NFService' + minProperties: 1 + supportedVendorSpecificFeatures: + description: > + A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/VendorSpecificFeature' + minItems: 1 + minProperties: 1 + canaryRelease: + type: boolean + default: false + exclusiveCanaryReleaseSelection: + type: boolean + default: false + sharedProfileDataId: + type: string + shutdownTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + supportedRcfs: + type: array + uniqueItems: true + items: + type: string + minItems: 1 + canaryPrecedenceOverPreferred: + type: boolean + default: false + selectionConditions: + description: > + conditions under which an NF Instance shall be selected by an NF Service Consumer. + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + SelectionConditions: + description: > + It contains the set of conditions that shall be evaluated to determine whether a consumer + shall select a given producer. The producer shall only be selected if the evaluation of + the conditions is . The set of conditions can be represented by a single + ConditionItem or by a ConditionGroup, where the latter contains a (recursive) list of + conditions joined by the "and" or "or" logical relationships. + oneOf: + - $ref: '#/components/schemas/ConditionItem' + - $ref: '#/components/schemas/ConditionGroup' + ConditionGroup: + description: > + List (array) of conditions (joined by the "and" or "or" logical relationship), + under which an NF Instance with an NFStatus or NFServiceStatus value set to, + "CANARY_RELEASE", or with a "canaryRelease" attribute set to true, + shall be selected by an NF Service Consumer. + type: object + oneOf: + - required: [ and ] + - required: [ or ] + properties: + and: + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + or: + type: array + items: + $ref: '#/components/schemas/SelectionConditions' + minItems: 1 + ConditionItem: + description: > + A ConditionItem consists of a number of attributes representing individual conditions + (e.g. a SUPI range, or a TAI list). If several attributes/conditions are present, + the evaluation of the ConditionItem is if all attributes/conditions are evaluated + as (i.e., it follows the AND logical relationship). + type: object + allOf: + - not: + required: [ and ] + - not: + required: [ or ] + properties: + consumerNfTypes: + type: array + items: + $ref: '#/components/schemas/NFType' + minItems: 1 + serviceFeature: + type: integer + minimum: 1 + vsServiceFeature: + type: integer + minimum: 1 + supiRangeList: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + gpsiRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + impuRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + impiRangeList: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + peiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' + minItems: 1 + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + dnnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 SEPPType: type: string + readOnly: true description: any of enumerated value enum: - CSEPP @@ -308,6 +691,7 @@ components: type: array items: $ref: '#/components/schemas/SupportedFunc' + minItems: 1 CommModelType: type: string description: any of enumerated value @@ -329,17 +713,21 @@ components: type: string CommModelList: type: array + uniqueItems: true items: $ref: '#/components/schemas/CommModel' + minItems: 1 CapabilityList: type: array items: type: string + minItems: 1 FiveQiDscpMapping: type: object properties: fiveQIValues: type: array + uniqueItems: true items: type: integer dscp: @@ -355,9 +743,10 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' NetworkSliceInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/NetworkSliceInfo' - + minItems: 1 PacketErrorRate: type: object properties: @@ -410,8 +799,10 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp' qosNotificationControl: type: boolean + default: false reflectiveQos: type: boolean + default: false sharingKeyDl: type: string sharingKeyUl: @@ -425,6 +816,7 @@ components: QosDataList: type: array + uniqueItems: true items: $ref: '#/components/schemas/QosData' @@ -453,11 +845,13 @@ components: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' addRedirectInfo: type: array + uniqueItems: true items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation' minItems: 1 muteNotif: type: boolean + default: false trafficSteeringPolIdDl: type: string nullable: true @@ -466,10 +860,13 @@ components: nullable: true routeToLocs: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' + minItems: 1 traffCorreInd: type: boolean + default: false upPathChgEvent: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' steerFun: @@ -485,9 +882,18 @@ components: TrafficControlDataList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TrafficControlData' + ServiceFeatureMap: + type: object + properties: + featureList: + type: string + serviceName: + type: string + PccRule: type: object properties: @@ -496,6 +902,7 @@ components: description: Univocally identifies the PCC rule within a PDU session. flowInfoList: type: array + uniqueItems: true items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation' applicationId: @@ -510,18 +917,23 @@ components: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' isAppRelocatable: type: boolean + default: false isUeAddrPreserved: type: boolean + default: false qosData: type: array + uniqueItems: true items: $ref: '#/components/schemas/QosDataList' altQosParams: type: array + uniqueItems: true items: $ref: '#/components/schemas/QosDataList' trafficControlData: type: array + uniqueItems: true items: $ref: '#/components/schemas/TrafficControlDataList' conditionData: @@ -530,6 +942,24 @@ components: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' tscaiInputUl: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer' + easRedisIndRequired: + type: boolean + default: false + tscaiTimeDom: + type: integer + batNotificationCapable: + type: boolean + default: false + uENotifEnabled: + type: boolean + default: false + packFiltAllPrec: + type: integer + nscSupportedFeats: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ServiceFeatureMap' SnssaiInfo: type: object @@ -546,23 +976,31 @@ components: $ref: '#/components/schemas/SnssaiInfo' isSubjectToNsac: type: boolean + default: false maxNumberofUEs: type: integer eACMode: type: string + readOnly: true enum: - INACTIVE - ACTIVE + default: INACTIVE activeEacThreshold: type: integer + default: 0 deactiveEacThreshold: type: integer + default: 100 numberofUEs: type: integer + readOnly: true uEIdList: type: array + uniqueItems: true items: type: string + readOnly: true maxNumberofPDUSessions: type: integer @@ -575,7 +1013,7 @@ components: type: string nRTACpattern: type: string - + TaiRange: type: object properties: @@ -583,9 +1021,11 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' nRTACRangelist: type: array + uniqueItems: true items: $ref: '#/components/schemas/NRTACRange' - + minItems: 1 + GUAMInfo: type: object properties: @@ -596,14 +1036,16 @@ components: SupportedBMOList: type: array + uniqueItems: true items: type: string ECSAddrConfigInfo: type: array + uniqueItems: true items: type: string - + minItems: 1 DnnSmfInfoItem: type: object properties: @@ -611,21 +1053,26 @@ components: type: string dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 + SatelliteId: + type: string + pattern: '^[0-9]{5}$' + dnaiSatelliteMapping: type: object properties: dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 geoSatelliteId: - type: string - pattern: '^[0-9]{5}$' + $ref: '#/components/schemas/SatelliteId' SnssaiSmfInfoItem: type: object @@ -634,37 +1081,45 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' dnnSmfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnSmfInfoItem' + minItems: 1 5GCNfConnEcmInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/5GCNfConnEcmInfo' + minItems: 1 5GCNfConnEcmInfo: type: object description: 'Store the 5GC NF connection information' properties: 5GCNFType: type: string + readOnly: true enum: - PCF - NEF - SCEF 5GCNFIpAddress: type: string + readOnly: true 5GCNFRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' UPFConnectionInfo: type: object properties: uPFIpAddress: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostRo' uPFRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + SnssaiList: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' SnpnId: @@ -678,8 +1133,9 @@ components: type: string TaiList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' SupiRange: type: object properties: @@ -703,23 +1159,58 @@ components: properties: proseDirectDiscovery: type: boolean + default: false proseDirectCommunication: type: boolean + default: false proseL2UetoNetworkRelay: type: boolean + default: false proseL3UetoNetworkRelay: type: boolean + default: false proseL2RemoteUe: type: boolean + default: false proseL3RemoteUe: type: boolean + default: false + proseL2UetoUeRelay: + type: boolean + default: false + proseL3UetoUeRelay: + type: boolean + default: false + proseL2EndUe: + type: boolean + default: false + proseL3EndUe: + type: boolean + default: false + proseL3IntermRelay: + type: boolean + default: false + proseL3MultihopRemote: + type: boolean + default: false + proseL3NetMultihopRelay: + type: boolean + default: false + proseL3UeMultihopRelay: + type: boolean + default: false + proseL3EndUeMultihop: + type: boolean + default: false V2xCapability: type: object properties: lteV2x: type: boolean + default: false nrV2x: type: boolean + default: false InternalGroupIdRange: type: object properties: @@ -734,14 +1225,19 @@ components: properties: routingInds: type: array + uniqueItems: true items: type: string + minItems: 1 hNwPubKeyIds: type: array + uniqueItems: true items: type: integer + minItems: 1 SuciInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' SharedDataIdRange: @@ -751,24 +1247,31 @@ components: type: string SupiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' IdentityRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' + minItems: 1 InternalGroupIdRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' SupportedDataSetList: type: array items: $ref: '#/components/schemas/SupportedDataSet' + minItems: 1 SharedDataIdRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SharedDataIdRange' + minItems: 1 InterfaceUpfInfoItem: type: object properties: @@ -783,16 +1286,31 @@ components: - N6MB - N19MB - NMB9 + - S1U + - S5U + - S8U + - S11U + - S12 + - S2AU + - S2BU + - N3TRUSTEDN3GPP + - N3UNTRUSTEDN3GPP + - N9ROAMING + - SGI + - N19 + - SXAU + - SXBU + - N4U ipv4EndpointAddresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' - minItems: 1 ipv6EndpointAddresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' - minItems: 1 fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' networkInstance: @@ -812,9 +1330,15 @@ components: type: object properties: ipv4EndpointAddresses: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' ipv6EndpointAddresses: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' @@ -868,6 +1392,7 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' scpIpEndPoints: type: array + uniqueItems: true items: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/IpEndPoint' minItems: 1 @@ -900,11 +1425,13 @@ components: minProperties: 1 remotePlmnList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' minItems: 1 remoteSnpnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' minItems: 1 @@ -917,6 +1444,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 @@ -927,6 +1455,7 @@ components: type: object additionalProperties: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -967,6 +1496,7 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -981,12 +1511,17 @@ components: analyticsMetadataProvisioning: type: boolean default: false + roamingExchange: + type: boolean + default: false + MlAnalyticsInfo: description: ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service type: object properties: mlAnalyticsIds: type: array + uniqueItems: true items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 @@ -996,6 +1531,7 @@ components: $ref: '#/components/schemas/TaiList' mlModelInterInfo: type: array + uniqueItems: true items: $ref: '#/components/schemas/VendorId' minItems: 0 @@ -1007,6 +1543,7 @@ components: - FL_SERVER_AND_CLIENT flTimeInterval: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' minItems: 1 @@ -1016,11 +1553,13 @@ components: properties: eventIds: type: array + uniqueItems: true items: $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' minItems: 1 nwdafEvents: type: array + uniqueItems: true items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 @@ -1028,6 +1567,7 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1037,16 +1577,19 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' servingNfSetIdList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 servingNfTypeList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' minItems: 1 mlAnalyticsList: type: array + uniqueItems: true items: $ref: '#/components/schemas/MlAnalyticsInfo' minItems: 1 @@ -1076,41 +1619,49 @@ components: minProperties: 1 addressDomains: type: array + uniqueItems: true items: type: string minItems: 1 ipv4Addresses: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' minItems: 1 ipv6Prefixes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' minItems: 1 ipv4AddrRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 1 ipv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 1 servedNfSetIdList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 remotePlmnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 1 remoteSnpnList: type: array + uniqueItems: true items: $ref: '#/components/schemas/PlmnIdNid' minItems: 1 @@ -1118,6 +1669,7 @@ components: $ref: '#/components/schemas/IpReachability' scpCapabilities: type: array + uniqueItems: true items: $ref: '#/components/schemas/ScpCapability' @@ -1127,14 +1679,18 @@ components: properties: appIds: type: array + uniqueItems: true items: type: string minItems: 1 + readOnly: true afIds: type: array + uniqueItems: true items: type: string minItems: 1 + readOnly: true AfEvent: description: Represents Application Events. anyOf: @@ -1156,7 +1712,7 @@ components: - type: string description: > This string provides forward-compatibility with future extensions to the enumeration but - is not used to encode content defined in the present version of this API. + is not used to encode content defined in the present version of this API. AfEventExposureData: description: AF Event Exposure data managed by a given NEF Instance type: object @@ -1165,19 +1721,24 @@ components: properties: afEvents: type: array + uniqueItems: true items: $ref: '#/components/schemas/AfEvent' minItems: 1 afIds: type: array + uniqueItems: true items: type: string minItems: 1 + readOnly: true appIds: type: array + uniqueItems: true items: type: string minItems: 1 + readOnly: true UnTrustAfInfo: description: Information of a untrusted AF Instance type: object @@ -1226,16 +1787,19 @@ components: properties: sNssaiEasdfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiEasdfInfoItem' minItems: 1 easdfN6IpAddressList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 upfN6IpAddressList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 @@ -1251,6 +1815,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnEasdfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnEasdfInfoItem' minItems: 1 @@ -1267,6 +1832,7 @@ components: - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 @@ -1276,11 +1842,13 @@ components: properties: supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 internalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' minItems: 1 @@ -1290,27 +1858,31 @@ components: properties: sNssaiInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiInfoItem' minItems: 1 afEvents: type: array + uniqueItems: true items: $ref: '#/components/schemas/AfEvent' minItems: 1 appIds: type: array + uniqueItems: true items: type: string minItems: 1 internalGroupId: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' minItems: 1 mappingInd: type: boolean - default: False + default: false ExternalClientType: description: Indicates types of External Clients. anyOf: @@ -1357,6 +1929,7 @@ components: pattern: '^[0-9]{5}$' trpIds: type: array + uniqueItems: true items: type: integer minimum: 1 @@ -1372,14 +1945,17 @@ components: maximum: 4294967295 trpMappingInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TrpMappingInfo' minItems: 1 TrpInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TrpInfo' + minItems: 1 LmfInfo: description: Information of an LMF NF Instance @@ -1387,6 +1963,7 @@ components: properties: servingClientTypes: type: array + uniqueItems: true items: $ref: '#/components/schemas/ExternalClientType' minItems: 1 @@ -1394,31 +1971,37 @@ components: type: string servingAccessTypes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 servingAnNodeTypes: type: array + uniqueItems: true items: $ref: '#/components/schemas/AnNodeType' minItems: 1 servingRatTypes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' minItems: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 supportedGADShapes: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupportedGADShapes' minItems: 1 @@ -1430,11 +2013,13 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -1452,32 +2037,38 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 routingIndicators: type: array + uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' minItems: 1 internalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' minItems: 1 suciInfos: type: array + uniqueItems: true items: $ref: '#/components/schemas/SuciInfo' minItems: 1 @@ -1505,6 +2096,7 @@ components: type: boolean remotePlmnRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/PlmnRange' minItems: 1 @@ -1515,11 +2107,13 @@ components: properties: servingNfTypeList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' minItems: 1 servingNfSetIdList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 @@ -1527,6 +2121,7 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1537,16 +2132,19 @@ components: properties: servingNfTypeList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + $ref: '#/components/schemas/NFType' servingNfSetIdList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' taiList: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' @@ -1558,16 +2156,19 @@ components: properties: supiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 0 gpsiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 0 plmnRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/PlmnRange' minItems: 0 @@ -1587,11 +2188,13 @@ components: properties: ipv4EndpointAddress: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 ipv6EndpointAddress: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 @@ -1612,26 +2215,31 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfRegionId' guamiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 backupInfoAmfFailure: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 backupInfoAmfRemoval: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami' minItems: 1 @@ -1651,16 +2259,19 @@ components: properties: sNssaiSmfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiSmfInfoItem' minItems: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1668,11 +2279,13 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' pgwIpAddrList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' minItems: 1 accessType: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 @@ -1684,6 +2297,7 @@ components: type: boolean pgwFqdnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' minItems: 1 @@ -1705,26 +2319,32 @@ components: properties: sNssaiUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiUpfInfoItem' minItems: 1 smfServingArea: type: array + uniqueItems: true items: type: string minItems: 1 interfaceUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/InterfaceUpfInfoItem' minItems: 1 iwkEpsInd: type: boolean default: false + readOnly: true sxaInd: type: boolean + readOnly: true pduSessionTypes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' minItems: 1 @@ -1733,13 +2353,16 @@ components: ueIpAddrInd: type: boolean default: false + readOnly: true taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -1759,6 +2382,7 @@ components: redundantGtpu: type: boolean default: false + readOnly: true ipups: type: boolean default: false @@ -1767,8 +2391,10 @@ components: default: false supportedPfcpFeatures: type: string + readOnly: true # upfEvents: # type: array + uniqueItems: true # items: # $ref: 'TS29564_Nupf_EventExposure.yaml#/components/schemas/EventType' # minItems: 1 @@ -1781,16 +2407,19 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' dnnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 1 gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -1801,9 +2430,11 @@ components: v2xSupportInd: type: boolean default: false + readOnly: true proseSupportInd: type: boolean default: false + readOnly: true proseCapability: $ref: '#/components/schemas/ProseCapability' v2xCapability: @@ -1811,11 +2442,13 @@ components: a2xSupportInd: type: boolean default: false + readOnly: true a2xCapability: $ref: '#/components/schemas/A2xCapability' rangingSlPosSupportInd: type: boolean - default: false + default: false + readOnly: true A2xCapability: description: Information of the supported A2X Capability by the PCF @@ -1841,16 +2474,19 @@ components: $ref: '#/components/schemas/AfEventExposureData' gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 servedFqdnList: type: array + uniqueItems: true items: type: string minItems: 1 @@ -1858,16 +2494,19 @@ components: $ref: '#/components/schemas/TaiList' taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 unTrustAfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/UnTrustAfInfo' minItems: 1 @@ -2258,9 +2897,9 @@ components: description: defines the list of satellite backhaul information type: object properties: - globalRanNodeID: - $ref: '#/components/schemas/GlobalRanNodeID' - SatelliteBackhaulCategory: + nTNGlobalRanNodeID: + $ref: '#/components/schemas/NTNGlobalRanNodeID' + satelliteBackhaulCategory: anyOf: - type: string enum: @@ -2277,18 +2916,18 @@ components: geoSatelliteId: type: string pattern: '^[0-9]{5}$' - GlobalRanNodeID: + NTNGlobalRanNodeID: description: globally identification of an NG-RAN node type: object oneOf: - - required: [ pLmnId, n3IwfId] - - required: [ plmnId, gNbId] - - required: [ pLmnId, ngeNbId] - - required: [ plmnId, wagfId] - - required: [ pLmnId, tngfId] - - required: [ plmnId, twifId] - properties: - pLmnId: + - required: [ pLMNId, n3IwfId] + - required: [ plMNId, gNbId] + - required: [ pLMNId, ngeNbId] + - required: [ plMNId, wagfId] + - required: [ pLMNId, tngfId] + - required: [ plMNId, twifId] + properties: + pLMNId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' n3IwfId: type: string @@ -2307,7 +2946,13 @@ components: type: string pattern: '^[A-Fa-f0-9]+$' twifId: - type: string + type: string + NTNPLMNRestrictionsList: + description: NTNPLMNRestrictionsInfoList that relates to non-terrestrial network access + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NTNPLMNRestrictionsInfo' NTNPLMNRestrictionsInfo: description: restrictions per PLMN that relates to non-terrestrial network access type: object @@ -2316,35 +2961,64 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' blockedLocationInfoList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/BlockedLocationInfoList' - minItems: 1 - BlockedLocationInfoList: + $ref: '#/components/schemas/BlockedLocationInfo' + BlockedLocationInfo: description: location for which the PLMN access restrictions are to be applied in case of NTN type: object properties: blockedLocation: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - blockedDur: - $ref: '#/components/schemas/TimeDuration' + blockedDurWindow: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' blockedSlice: - type: string - TimeDuration: - description: location for which the PLMN access restrictions are to be applied in case of NTN + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' + SatelliteCoverageInfoList: + description: SatelliteCoverageInfoList that relates to NR Satellite RAT type and corresponding information of satellite coverage + type: array + items: + $ref: '#/components/schemas/SatelliteCoverageInfo' + SatelliteCoverageInfo: + description: This datatype defines information related to NR Satellite RAT type and corresponding information of satellite coverage type: object properties: - blockedDurStartTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - blockedDurEndTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' - + nRSatelliteRATtype: + anyOf: + - type: string + enum: + - NRLEO + - NRMEO + - NRGEO + - NROTHERSAT + - type: string + locationInfo: + type: array + items: + $ref: '#/components/schemas/NtnLocationInfo' + NtnLocationInfo: + description: This datatype defines the information about locations and corresponding time windows + type: object + properties: + location: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + availabilityWindows: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + nonAvailabilityWindows: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' 5GDdnmfInfo: description: Information of an 5G DDNMF NF Instance type: object required: - - plmnId + - plMNId properties: - plmnId: + plMNId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' ImsiRange: description: > @@ -2384,26 +3058,31 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' imsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/ImsiRange' minItems: 1 imsPrivateIdentityRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 imsPublicIdentityRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 msisdnRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 externalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -2411,6 +3090,7 @@ components: $ref: '#/components/schemas/NetworkNodeDiameterAddress' additionalDiamAddresses: type: array + uniqueItems: true items: $ref: '#/components/schemas/NetworkNodeDiameterAddress' minItems: 1 @@ -2420,10 +3100,12 @@ components: properties: servingClientTypes: type: array + uniqueItems: true items: $ref: '#/components/schemas/ExternalClientType' gmlcNumbers: type: array + uniqueItems: true items: type: string pattern: '^[0-9]{5,15}$' @@ -2439,6 +3121,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnTsctsfInfoItem' minItems: 1 @@ -2463,18 +3146,22 @@ components: minProperties: 0 externalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' internalGroupIdentifiersRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/InternalGroupIdRange' @@ -2484,21 +3171,25 @@ components: properties: dnnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 0 ipDomainList: type: array + uniqueItems: true items: type: string minItems: 0 ipv4AddressRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 0 ipv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 0 @@ -2510,11 +3201,13 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' supiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupiRange' minItems: 0 gpsiRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 0 @@ -2535,11 +3228,13 @@ components: minProperties: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -2555,7 +3250,7 @@ components: required: - mbsServiceIdStart - mbsServiceIdEnd - - plmnId + - plMNId properties: mbsServiceIdStart: type: string @@ -2563,7 +3258,7 @@ components: mbsServiceIdEnd: type: string pattern: '^[A-Fa-f0-9]{6}$' - plmnId: + plMNId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' nid: $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' @@ -2618,11 +3313,11 @@ components: type: string pattern: '^[A-Fa-f0-9]{6}$' description: MBS Service ID - plmnId: + plMNId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' required: - mbsServiceId - - plmnId + - plMNId Ssm: description: Source specific IP multicast address @@ -2642,12 +3337,14 @@ components: properties: ncgiList: type: array + uniqueItems: true items: $ref: '#/components/schemas/NcgiTai' minItems: 1 description: List of NR cell Ids taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 @@ -2664,6 +3361,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' cellList: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ncgi' minItems: 1 @@ -2676,7 +3374,7 @@ components: description: Contains the NCGI (NR Cell Global Identity), as described in 3GPP 23.003 type: object properties: - plmnId: + plMNId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' nrCellId: type: string @@ -2699,6 +3397,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnMbSmfInfoItem' minItems: 1 @@ -2720,6 +3419,7 @@ components: properties: routingIndicators: type: array + uniqueItems: true items: type: string pattern: '^[0-9]{1,4}$' @@ -2732,26 +3432,31 @@ components: properties: sNssaiMbUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SnssaiUpfInfoItem' minItems: 1 mbSmfServingArea: type: array + uniqueItems: true items: type: string minItems: 1 interfaceMbUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/InterfaceUpfInfoItem' minItems: 1 taiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai' minItems: 1 taiRangeList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TaiRange' minItems: 1 @@ -2772,6 +3477,7 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' dnnUpfInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DnnUpfInfoItem' minItems: 1 @@ -2793,44 +3499,44 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' dnaiList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' - minItems: 1 pduSessionTypes: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' - minItems: 1 ipv4AddressRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' - minItems: 1 ipv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' - minItems: 1 natedIpv4AddressRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' - minItems: 1 natedIpv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' - minItems: 1 ipv4IndexList: type: array + uniqueItems: true items: $ref: '#/components/schemas/IpIndex' - minItems: 1 ipv6IndexList: type: array + uniqueItems: true items: $ref: '#/components/schemas/IpIndex' - minItems: 1 networkInstance: description: > The N6 Network Instance associated with the S-NSSAI and DNN. @@ -2852,6 +3558,7 @@ components: properties: msisdnRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/IdentityRange' minItems: 1 @@ -2864,18 +3571,20 @@ components: pLMNInfo: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfo' expiryTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' PcscfInfo: description: Information of a P-CSCF NF Instance type: object properties: accessType: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 dnnList: type: array + uniqueItems: true items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 @@ -2883,11 +3592,13 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' gmIpv4Addresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 gmIpv6Addresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 @@ -2895,21 +3606,25 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' mwIpv4Addresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' minItems: 1 mwIpv6Addresses: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' minItems: 1 servedIpv4AddressRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv4AddressRange' minItems: 1 servedIpv6PrefixRanges: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ipv6PrefixRange' minItems: 1 @@ -2917,8 +3632,221 @@ components: description: Information of a generic NF Instance type: object properties: - nfType: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NFType' + nfType: + $ref: '#/components/schemas/NFType' + SAP: + type: object + properties: + host: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' + port: + type: integer + NFServiceType: + type: string + enum: + - NAMF_COMMUNICATION + - NAMF_EVENTEXPOSURE + - NAMF_MT + - NAMF_LOCATION + - NSMF_PDUSESSION + - NSMF_EVENTEXPOSURE + - OTHERS + readOnly: true + Operation: + type: object + properties: + name: + type: string + readOnly: true + allowedNFTypes: + $ref: '#/components/schemas/NFType' + operationSemantics: + $ref: '#/components/schemas/OperationSemantics' + NFType: + description: NF name defined in TS 23.501 or TS 29.510'.This datatype is used for writable attribute + type: string + enum: + - NRF + - UDM + - AMF + - SMF + - AUSF + - NEF + - PCF + - SMSF + - NSSF + - UDR + - LMF + - GMLC + - 5G_EIR + - SEPP + - UPF + - N3IWF + - AF + - UDSF + - DN + - BSF + - CHF + - NWDAF + - PCSCF + - CBCF + - HSS + - UCMF + - SOR_AF + - SPAF + - MME + - SCSAS + - SCEF + - SCP + - NSSAAF + - ICSCF + - SCSCF + - DRA + - IMS_AS + - AANF + - 5G_DDNMF + - NSACF + - MFAF + - EASDF + - DCCF + - MB_SMF + - TSCTSF + - ADRF + - GBA_BSF + - CEF + - MB_UPF + - NSWOF + - PKMF + - MNPF + - SMS_GMSC + - SMS_IWMSC + - MBSF + - MBSTF + - PANF + - TNGF + - W_AGF + - TWIF + - TSN_AF + + OperationSemantics: + type: string + readOnly: true + enum: + - REQUEST_RESPONSE + - SUBSCRIBE_NOTIFY + RegistrationState: + type: string + readOnly: true + enum: + - REGISTERED + - DEREGISTERED + CollocatedNfInstance: + description: Information of an collocated NF Instance registered in the NRF + type: object + required: + - nfInstanceId + - nfType + properties: + nfInstanceId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + nfType: + $ref: '#/components/schemas/NFType' + PlmnSnssai: + description: List of network slices (S-NSSAIs) for a given PLMN ID + type: object + required: + - plmnId + - sNssaiList + properties: + plmnId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + sNssaiList: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + minItems: 1 + nid: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Nid' + RuleSet: + type: object + required: + - priority + - action + properties: + priority: + type: integer + minimum: 0 + maximum: 65535 + plmns: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + snpns: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + nfTypes: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NFType' + nfDomains: + type: array + uniqueItems: true + items: + type: string + nssais: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + nfInstances: + type: array + uniqueItems: true + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + scopes: + type: array + uniqueItems: true + items: + type: string + action: + type: string + enum: + - ALLOW + - DENY + AIoTgNBInfo: + type: object + required: + - gNBId + - servedReaderInfoList + properties: + gNBId: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/GnbId' + servedReaderInfoList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ServedReaderInfo' + ServedReaderInfo: + type: object + required: + - readerId + - servedAIOTAreas + properties: + readerId: + type: integer + servedAIOTAreas: + type: array + uniqueItems: true + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/ServedAIOTAreaID' + readerLocation: + type: string + #-------- Definition of types for name-containments ------ SubNetwork-ncO-5GcNrm: @@ -3012,6 +3940,10 @@ components: $ref: '#/components/schemas/MbUpfFunction-Multiple' MNPFFunction: $ref: '#/components/schemas/MnpfFunction-Multiple' + AiotfFunction: + $ref: '#/components/schemas/AiotfFunction-Multiple' + AdmFunction: + $ref: '#/components/schemas/AdmFunction-Multiple' #-------- Definition of concrete IOCs -------------------------------------------- AmfFunction-Single: @@ -3030,10 +3962,6 @@ components: $ref: '#/components/schemas/AmfIdentifier' sBIFqdn: type: string - interPlmnFQDN: - type: string - weightFactor: - $ref: '#/components/schemas/WeightFactor' cNSIIdList: $ref: '#/components/schemas/CNSIIdList' amfSetRef: @@ -3042,19 +3970,27 @@ components: $ref: '#/components/schemas/ManagedNFProfile' commModelList: $ref: '#/components/schemas/CommModelList' - nTNPLMNInfoList: - $ref: '#/components/schemas/NTNPLMNRestrictionsInfo' + nTNPLMNRestrictionsList: + $ref: '#/components/schemas/NTNPLMNRestrictionsList' + satelliteCoverageInfoList: + $ref: '#/components/schemas/SatelliteCoverageInfoList' amfInfo: $ref: '#/components/schemas/AmfInfo' sliceExpiryInfo: $ref: '#/components/schemas/SliceExpiryInfo' - SatelliteBackhaulInfoList: - $ref: '#/components/schemas/SatelliteBackhaulInfo' + satelliteBackhaulInfoList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SatelliteBackhaulInfo' + minItems: 1 mappedCellIdInfoList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' mdtUserConsentReqList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/MdtUserConsentReqList' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N2: @@ -3077,8 +4013,8 @@ components: $ref: '#/components/schemas/EP_N22-Multiple' EP_N26: $ref: '#/components/schemas/EP_N26-Multiple' - EP_NLS: - $ref: '#/components/schemas/EP_NLS-Multiple' + EP_NL1: + $ref: '#/components/schemas/EP_NL1-Multiple' EP_NL2: $ref: '#/components/schemas/EP_NL2-Multiple' EP_N58: @@ -3091,6 +4027,8 @@ components: $ref: '#/components/schemas/EP_N89-Multiple' EP_N11mb: $ref: '#/components/schemas/EP_N11mb-Multiple' + EP_AIOT3: + $ref: '#/components/schemas/EP_AIOT3-Multiple' AmfSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3158,16 +4096,22 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' SmfInfo: - $ref: '#/components/schemas/SmfInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/SmfInfo' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' dnaiSatelliteMappingList: type: array + uniqueItems: true items: $ref: '#/components/schemas/dnaiSatelliteMapping' + minItems: 1 - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N4: @@ -3222,8 +4166,18 @@ components: supportedBMOList: $ref: '#/components/schemas/SupportedBMOList' upfInfo: - $ref: '#/components/schemas/UpfInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/UpfInfo' + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' + uPFCapabilities: + type: string - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3: @@ -3251,6 +4205,7 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3: @@ -3278,14 +4233,18 @@ components: supportedBMOList: $ref: '#/components/schemas/SupportedBMOList' PcfInfo: - $ref: '#/components/schemas/PcfInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/PcfInfo' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' predefinedPccRuleSetRefs: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N5: @@ -3324,6 +4283,7 @@ components: ausfInfo: $ref: '#/components/schemas/AusfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N12: @@ -3355,6 +4315,7 @@ components: udmInfo: $ref: '#/components/schemas/UdmInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N8: @@ -3388,6 +4349,11 @@ components: udrInfo: $ref: '#/components/schemas/UdrInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + - type: object + properties: + EP_AIOT7: + $ref: '#/components/schemas/EP_AIOT7-Multiple' UdsfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3407,6 +4373,7 @@ components: udsfInfo: $ref: '#/components/schemas/UdsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' NrfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3427,7 +4394,10 @@ components: $ref: '#/components/schemas/NFProfileList' nrfInfo: $ref: '#/components/schemas/NrfInfo' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N27: @@ -3436,6 +4406,8 @@ components: $ref: '#/components/schemas/EP_N96-Multiple' EP_SM14: $ref: '#/components/schemas/EP_SM14-Multiple' + EP_AIOT5: + $ref: '#/components/schemas/EP_AIOT5-Multiple' NssfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3457,6 +4429,7 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N22: @@ -3486,6 +4459,7 @@ components: smsfInfo: $ref: '#/components/schemas/SmsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N20: @@ -3517,12 +4491,23 @@ components: trpInfoList: $ref: '#/components/schemas/TrpInfoList' mappedCellIdInfoList: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' + $ref: 'TS28541_NrNrm.yaml#/components/schemas/MappedCellIdInfoList' + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + aIMLInferenceFunctionRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: - EP_NLS: - $ref: '#/components/schemas/EP_NLS-Multiple' + EP_NL1: + $ref: '#/components/schemas/EP_NL1-Multiple' + EP_NL8: + $ref: '#/components/schemas/EP_NL8-Multiple' + EP_NL7: + $ref: '#/components/schemas/EP_NL7-Multiple' + EP_NL10: + $ref: '#/components/schemas/EP_NL10-Multiple' NgeirFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3544,6 +4529,7 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N17: @@ -3559,16 +4545,18 @@ components: - type: object properties: plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnIdRo' sEPPType: $ref: '#/components/schemas/SEPPType' sEPPId: type: integer + readOnly: true fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' seppInfo: $ref: '#/components/schemas/SeppInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N32: @@ -3601,10 +4589,16 @@ components: $ref: '#/components/schemas/NwdafInfo' nwdafLogicalFuncSupported: type: string + readOnly: true enum: - NWDAF_WITH_ANLF - NWDAF_WITH_MTLF - NWDAF_WITH_ANLF_MTLF + roamingAnalytics: + type: boolean + roamingData: + type: boolean + - type: object properties: EP_NL3: @@ -3614,7 +4608,7 @@ components: AnLFFunction: $ref: '#/components/schemas/AnLFFunction-Single' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ScpFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3628,10 +4622,11 @@ components: supportedFuncList: $ref: '#/components/schemas/SupportedFuncList' address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' scpInfo: $ref: '#/components/schemas/ScpInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_SM13: @@ -3656,9 +4651,11 @@ components: $ref: '#/components/schemas/CapabilityList' isCAPIFSup: type: boolean + readOnly: true nefInfo: $ref: '#/components/schemas/NefInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N33: @@ -3671,6 +4668,10 @@ components: $ref: '#/components/schemas/EP_N62-Multiple' EP_N63: $ref: '#/components/schemas/EP_N63-Multiple' + EP_AIOT4: + $ref: '#/components/schemas/EP_AIOT4-Multiple' + EP_AIOT8: + $ref: '#/components/schemas/EP_AIOT8-Multiple' NsacfFunction-Single: allOf: @@ -3686,11 +4687,13 @@ components: $ref: '#/components/schemas/ManagedNFProfile' nsacfInfoSnssai: type: array + uniqueItems: true items: $ref: '#/components/schemas/NsacfInfoSnssai' nsacfInfo: $ref: '#/components/schemas/NsacfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N60: @@ -3715,6 +4718,7 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_Npc4: @@ -3746,7 +4750,12 @@ components: type: string easdfInfo: $ref: '#/components/schemas/EasdfInfo' + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N88: @@ -3768,11 +4777,11 @@ components: eDNServiceArea: $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/ServingLocation' eASIpAddress: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' eESIpAddress: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' eCSIpAddress: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' ednIdentifier: type: string ecmConnectionType: @@ -3802,6 +4811,7 @@ components: amfIdentifier: $ref: '#/components/schemas/AmfIdentifier' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalNrfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3815,6 +4825,7 @@ components: plmnIdList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalNssfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3828,6 +4839,7 @@ components: plmnIdList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ExternalSeppFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3839,13 +4851,74 @@ components: - type: object properties: plmnId: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnIdRo' sEPPId: type: integer + readOnly: true fqdn: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/FqdnRo' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + AiotfFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + aIOTgNBInfo: + $ref: '#/components/schemas/AIoTgNBInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + - type: object + properties: + EP_AIOT2: + $ref: '#/components/schemas/EP_AIOT2-Multiple' + EP_AIOT3: + $ref: '#/components/schemas/EP_AIOT3-Multiple' + EP_AIOT4: + $ref: '#/components/schemas/EP_AIOT4-Multiple' + EP_AIOT5: + $ref: '#/components/schemas/EP_AIOT5-Multiple' + EP_AIOT6: + $ref: '#/components/schemas/EP_AIOT6-Multiple' + AdmFunction-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sBIFqdn: + type: string + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' + - type: object + properties: + EP_AIOT6: + $ref: '#/components/schemas/EP_AIOT6-Multiple' + EP_AIOT7: + $ref: '#/components/schemas/EP_AIOT7-Multiple' + EP_AIOT8: + $ref: '#/components/schemas/EP_AIOT8-Multiple' + EP_N2-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -3875,7 +4948,7 @@ components: remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' EP_N4-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4174,7 +5247,7 @@ components: remotePlmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' remoteSeppAddress: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host' remoteSeppId: type: integer n32cParas: @@ -4267,7 +5340,7 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - EP_NLS-Single: + EP_NL1-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -4337,6 +5410,34 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL7-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + EP_NL8-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' EP_NL9-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4351,7 +5452,20 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - + EP_NL10-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' EP_N60-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4437,7 +5551,112 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' - + + EP_AIOT2-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT3-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT4-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT5-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT6-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT7-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + + EP_AIOT8-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/EP_RP-Attr' + - type: object + properties: + localAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' + remoteAddress: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' + FiveQiDscpMappingSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4447,8 +5666,9 @@ components: allOf: - type: object properties: - FiveQiDscpMappingList: + fiveQiDscpMappingList: type: array + uniqueItems: true items: $ref: '#/components/schemas/FiveQiDscpMapping' @@ -4519,20 +5739,28 @@ components: - DISABLED gtpUPathMonitoredSNSSAIs: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' monitoredDSCPs: type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 255 isEventTriggeredGtpUPathMonitoringSupported: type: boolean + readOnly: true + default: true isPeriodicGtpUMonitoringSupported: type: boolean + readOnly: true + default: true isImmediateGtpUMonitoringSupported: type: boolean + readOnly: true + default: true gtpUPathDelayThresholds: $ref: '#/components/schemas/GtpUPathDelayThresholdsType' gtpUPathMinimumWaitTime: @@ -4556,20 +5784,28 @@ components: - DISABLED qFMonitoredSNSSAIs: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' qFMonitored5QIs: type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 255 isEventTriggeredQFMonitoringSupported: type: boolean + readOnly: true + default: true isPeriodicQFMonitoringSupported: type: boolean + readOnly: true + default: true isSessionReleasedQFMonitoringSupported: type: boolean + readOnly: true + default: true qFPacketDelayThresholds: $ref: '#/components/schemas/QFPacketDelayThresholdsType' qFMinimumWaitTime: @@ -4588,8 +5824,10 @@ components: properties: predefinedPccRules: type: array + uniqueItems: true items: - $ref: '#/components/schemas/PccRule' + $ref: '#/components/schemas/PccRule' + minItems: 1 AfFunction-Single: allOf: @@ -4610,6 +5848,7 @@ components: trustAfInfo: $ref: '#/components/schemas/TrustAfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N5: @@ -4637,13 +5876,14 @@ components: type: string cNSIIdList: $ref: '#/components/schemas/CNSIIdList' - nFProfileList: - $ref: '#/components/schemas/NFProfileList' + managedNFProfile: + $ref: '#/components/schemas/ManagedNFProfile' commModelList: $ref: '#/components/schemas/CommModelList' nssafInfo: $ref: '#/components/schemas/NssaafInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' EP_N58-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4695,6 +5935,7 @@ components: dccfInfo: $ref: '#/components/schemas/DccfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' MfafFunction-Single: allOf: @@ -4717,6 +5958,7 @@ components: mfafInfo: $ref: '#/components/schemas/MfafInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' ChfFunction-Single: allOf: @@ -4739,6 +5981,7 @@ components: chfInfo: $ref: '#/components/schemas/ChfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N28: @@ -4901,6 +6144,7 @@ components: gmlcInfo: $ref: '#/components/schemas/GmlcInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_NL2: @@ -4913,6 +6157,8 @@ components: $ref: '#/components/schemas/EP_NL6-Multiple' EP_NL9: $ref: '#/components/schemas/EP_NL9-Multiple' + EP_NL10: + $ref: '#/components/schemas/EP_NL10-Multiple' TsctsfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -4934,6 +6180,7 @@ components: tsctsfInfo: $ref: '#/components/schemas/TsctsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N84: @@ -5055,8 +6302,12 @@ components: commModelList: $ref: '#/components/schemas/CommModelList' bsfInfo: - $ref: '#/components/schemas/BsfInfo' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/BsfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' MbSmfFunction-Single: allOf: @@ -5077,6 +6328,7 @@ components: mbSmfInfo: $ref: '#/components/schemas/MbSmfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N11mb: @@ -5150,6 +6402,7 @@ components: mbUpfInfo: $ref: '#/components/schemas/MbUpfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_N3mb: @@ -5180,6 +6433,7 @@ components: mnpfInfo: $ref: '#/components/schemas/MnpfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + - $ref: '#/components/schemas/ManagedFunction5GC-nc0' - type: object properties: EP_SM12: @@ -5259,6 +6513,11 @@ components: enum: - ACTIVATED - DEACTIVATED + readOnly: true + mLModelRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + aIMLInferenceFunctionRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' EP_SM12-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -5301,9 +6560,48 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/LocalAddress' remoteAddress: $ref: 'TS28541_NrNrm.yaml#/components/schemas/RemoteAddress' +#-------- Definition of abstract IOCs -------------------------------------------- + ManagedFunction5GC-nc0: + type: object + properties: + ManagedNFService: + $ref: '#/components/schemas/ManagedNFService-Multiple' +#-------- Definition of abstract IOCs -------------------------------------------- -#-------- Definition of JSON arrays for name-contained IOCs ---------------------- +#-------- Definition of 5GC common IOCs -------------------------------------------- + ManagedNFService-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + userLabel: + type: string + nFServiceType: + $ref: '#/components/schemas/NFServiceType' + sAP: + $ref: '#/components/schemas/SAP' + operations: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/Operation' + minItems: 1 + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + usageState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UsageState' + registrationState: + $ref: '#/components/schemas/RegistrationState' + +#-------- Definition of 5GC common IOCs -------------------------------------------- + +#-------- Definition of JSON arrays for name-contained IOCs ---------------------- AmfFunction-Multiple: type: array items: @@ -5412,7 +6710,15 @@ components: type: array items: $ref: '#/components/schemas/EASDFFunction-Single' - + AiotfFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AiotfFunction-Single' + AdmFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/AdmFunction-Single' + EP_N2-Multiple: type: array items: @@ -5549,10 +6855,10 @@ components: type: array items: $ref: '#/components/schemas/EP_MAP_SMSC-Single' - EP_NLS-Multiple: + EP_NL1-Multiple: type: array items: - $ref: '#/components/schemas/EP_NLS-Single' + $ref: '#/components/schemas/EP_NL1-Single' EP_NL2-Multiple: type: array items: @@ -5569,10 +6875,22 @@ components: type: array items: $ref: '#/components/schemas/EP_NL6-Single' + EP_NL7-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL7-Single' + EP_NL8-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL8-Single' EP_NL9-Multiple: type: array items: $ref: '#/components/schemas/EP_NL9-Single' + EP_NL10-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_NL10-Single' EP_N60-Multiple: type: array items: @@ -5673,6 +6991,34 @@ components: type: array items: $ref: '#/components/schemas/EP_SM14-Single' + EP_AIOT2-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT2-Single' + EP_AIOT3-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT3-Single' + EP_AIOT4-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT4-Single' + EP_AIOT5-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT5-Single' + EP_AIOT6-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT6-Single' + EP_AIOT7-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT7-Single' + EP_AIOT8-Multiple: + type: array + items: + $ref: '#/components/schemas/EP_AIOT8-Single' Configurable5QISet-Multiple: type: array items: @@ -5741,7 +7087,10 @@ components: type: array items: $ref: '#/components/schemas/MnpfFunction-Single' - + ManagedNFService-Multiple: + type: array + items: + $ref: '#/components/schemas/ManagedNFService-Single' #------------ Definitions in TS 28.541 for TS 28.532 ----------------------------- resources-5gcNrm: @@ -5766,6 +7115,7 @@ components: - $ref: '#/components/schemas/NefFunction-Single' - $ref: '#/components/schemas/NsacfFunction-Single' - $ref: '#/components/schemas/DDNMFFunction-Single' + - $ref: '#/components/schemas/ManagedNFService-Single' - $ref: '#/components/schemas/ExternalAmfFunction-Single' - $ref: '#/components/schemas/ExternalNrfFunction-Single' @@ -5838,12 +7188,15 @@ components: - $ref: '#/components/schemas/EP_S5U-Single' - $ref: '#/components/schemas/EP_Rx-Single' - $ref: '#/components/schemas/EP_MAP_SMSC-Single' - - $ref: '#/components/schemas/EP_NLS-Single' + - $ref: '#/components/schemas/EP_NL1-Single' - $ref: '#/components/schemas/EP_NL2-Single' - $ref: '#/components/schemas/EP_NL3-Single' - $ref: '#/components/schemas/EP_NL5-Single' - $ref: '#/components/schemas/EP_NL6-Single' + - $ref: '#/components/schemas/EP_NL7-Single' + - $ref: '#/components/schemas/EP_NL8-Single' - $ref: '#/components/schemas/EP_NL9-Single' + - $ref: '#/components/schemas/EP_NL10-Single' - $ref: '#/components/schemas/EP_N11mb-Single' - $ref: '#/components/schemas/EP_N16mb-Single' - $ref: '#/components/schemas/EP_Nmb1-Single' @@ -5851,6 +7204,14 @@ components: - $ref: '#/components/schemas/EP_SM12-Single' - $ref: '#/components/schemas/EP_SM13-Single' - $ref: '#/components/schemas/EP_SM14-Single' + + - $ref: '#/components/schemas/EP_AIOT2-Single' + - $ref: '#/components/schemas/EP_AIOT3-Single' + - $ref: '#/components/schemas/EP_AIOT4-Single' + - $ref: '#/components/schemas/EP_AIOT5-Single' + - $ref: '#/components/schemas/EP_AIOT6-Single' + - $ref: '#/components/schemas/EP_AIOT7-Single' + - $ref: '#/components/schemas/EP_AIOT8-Single' - $ref: '#/components/schemas/Configurable5QISet-Single' - $ref: '#/components/schemas/FiveQiDscpMappingSet-Single' @@ -5870,3 +7231,5 @@ components: - $ref: '#/components/schemas/MbSmfFunction-Single' - $ref: '#/components/schemas/MbUpfFunction-Single' - $ref: '#/components/schemas/MnpfFunction-Single' + - $ref: '#/components/schemas/AiotfFunction-Single' + - $ref: '#/components/schemas/AdmFunction-Single' diff --git a/OpenAPI/TS28541_NrNrm.yaml b/OpenAPI/TS28541_NrNrm.yaml index 62e23de93760987a78e011b7ca67c887b8be1dac..e45e2a6a79e36e5a81ecae61926c54ac8e501c46 100755 --- a/OpenAPI/TS28541_NrNrm.yaml +++ b/OpenAPI/TS28541_NrNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: NR NRM - version: 18.8.0 + version: 19.5.0 description: >- OAS 3.0.1 specification of the NR 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.541; 5G NRM, NR NRM @@ -34,6 +34,7 @@ components: type: integer minimum: 0 maximum: 68719476735 + readOnly: true Sst: type: integer @@ -48,8 +49,13 @@ components: type: string pattern: '^[A-Fa-f0-9]{6}$' + SatelliteId: + type: string + pattern: '^[0-9]{5}$' + PlmnIdList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' PlmnInfo: @@ -63,42 +69,62 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' PlmnInfoList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/PlmnInfo' - NpnIdentityList: + $ref: '#/components/schemas/PlmnInfo' + minItems: 1 + NPNIdentityList: type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NpnId-Type' - GGnbId: - type: string - pattern: '^[0-9]{3}[0-9]{2,3}-(22|23|24|25|26|27|28|29|30|31|32)-[0-9]{1,10}' - GEnbId: - type: string - pattern: '^[0-9]{3}[0-9]{2,3}-(18|20|21|22)-[0-9]{1,7}' + minItems: 1 + GgNBId: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + gnbIdLength: + $ref: '#/components/schemas/GnbIdLength' + gnbId: + $ref: '#/components/schemas/GnbId' + GeNBId: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + enbId: + type: integer + minimum: 0 + maximum: 4194303 - GGnbIdList: + GgNBIdList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/GGnbId' + $ref: '#/components/schemas/GgNBId' - GEnbIdList: + GeNBIdList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/GEnbId' + $ref: '#/components/schemas/GeNBId' NrPci: type: integer maximum: 503 - NrTac: + NRTAC: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' - NrTacList: + NRTACList: type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' TaiList: type: array + uniqueItems: true items: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' BackhaulAddress: type: object properties: @@ -109,7 +135,7 @@ components: MappingSetIDBackhaulAddress: type: object properties: - setID: + setId: type: integer backhaulAddress: $ref: '#/components/schemas/BackhaulAddress' @@ -133,12 +159,12 @@ components: type: string description: >- Time of day is in HH:MM or H:MM 24-hour format per UTC time zone. - Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + Examples, 20:15, 20:15-08:00 (for 8 hours behind UTC). endTime: type: string description: >- Time of day is in HH:MM or H:MM 24-hour format per UTC time zone. - Examples, 20:15:00, 20:15:00-08:00 (for 8 hours behind UTC). + Examples, 20:15, 20:15-08:00 (for 8 hours behind UTC). daysOfWeek: type: string enum: @@ -167,13 +193,15 @@ components: type: integer minimum: 0 maximum: 100 - numberOfPreamblesSent: + NumberOfPreamblesSent: type: integer minimum: 0 maximum: 200 + UeAccDelayProbabilityDist: type: array + uniqueItems: true items: $ref: '#/components/schemas/UeAccDelayProbability' @@ -191,6 +219,7 @@ components: NRPciList: type: array + uniqueItems: true items: $ref: '#/components/schemas/NrPci' minItems: 0 @@ -198,6 +227,7 @@ components: CSonPciList: type: array + uniqueItems: true items: $ref: '#/components/schemas/NrPci' minItems: 1 @@ -234,13 +264,12 @@ components: - IDLE - INACTIVE - ACTIVE + readOnly: true CyclicPrefix: type: string enum: - - '15' - - '30' - - '60' - - '120' + - NORMAL + - EXTENDED TxDirection: type: string enum: @@ -257,33 +286,32 @@ components: type: string enum: - INITIAL + - INITIAL_REDCAP - OTHER - - SUL - IsESCoveredBy: type: string enum: - NO - PARTIAL - FULL - RrmPolicyMember: + RRMPolicyMember: type: object properties: plmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' snssai: $ref: '#/components/schemas/Snssai' - RrmPolicyMemberList: + RRMPolicyMemberList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/RrmPolicyMember' + $ref: '#/components/schemas/RRMPolicyMember' + minItems: 1 AddressWithVlan: type: object properties: - ipv4Address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' - ipv6Address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' + iPAddress: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' vlanId: type: integer minimum: 0 @@ -298,30 +326,10 @@ components: minimum: 0 maximum: 65535 RemoteAddress: - type: object - properties: - ipv4Address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' - ipv6Address: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' - - CellIndividualOffset: - type: object - properties: - rsrpOffsetSSB: - type: integer - rsrqOffsetSSB: - type: integer - sinrOffsetSSB: - type: integer - rsrpOffsetCSI-RS: - type: integer - rsrqOffsetCSI-RS: - type: integer - sinrOffsetCSI-RS: - type: integer + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' QOffsetRange: type: integer + default: 0 enum: - -24 - -22 @@ -354,23 +362,9 @@ components: - 3 - 2 - 1 - QOffsetRangeList: - type: object - properties: - rsrpOffsetSSB: - $ref: '#/components/schemas/QOffsetRange' - rsrqOffsetSSB: - $ref: '#/components/schemas/QOffsetRange' - sinrOffsetSSB: - $ref: '#/components/schemas/QOffsetRange' - rsrpOffsetCSI-RS: - $ref: '#/components/schemas/QOffsetRange' - rsrqOffsetCSI-RS: - $ref: '#/components/schemas/QOffsetRange' - sinrOffsetCSI-RS: - $ref: '#/components/schemas/QOffsetRange' QOffsetFreq: type: number + default: 0 TReselectionNRSf: type: integer enum: @@ -413,7 +407,6 @@ components: type: integer minimum: -1800 maximum: 1800 - RSSetId: type: integer maximum: 4194303 @@ -440,9 +433,16 @@ components: rimRSStartingFrequencyOffsetIdList: type: array + uniqueItems: true items: type: integer - + minimum: 0 + maximum: 550 + minItems: 1 + maxItems: 4 + description: > + It is a list of configured frequency offsets in units of resource blocks. + Only 1,2 or 4 number of elements allowed in the array. SequenceDomainPara: type: object properties: @@ -450,19 +450,30 @@ components: type: integer rimRSScrambleIdListofRS1: type: array + uniqueItems: true items: type: integer + minimum: 0 + maximum: 1023 + minItems: 1 + maxItems: 8 nrofRIMRSSequenceCandidatesofRS2: type: integer rimRSScrambleIdListofRS2: type: array + uniqueItems: true items: type: integer + minimum: 0 + maximum: 1023 + minItems: 1 + maxItems: 8 enableEnoughNotEnoughIndication: type: string enum: - ENABLE - - DISABLE + - DISABLE + default: DISABLE rIMRSScrambleTimerMultiplier: type: integer rIMRSScrambleTimerOffset: @@ -513,22 +524,26 @@ components: type: integer consecutiveRIMRS1List: type: array + uniqueItems: true items: type: integer consecutiveRIMRS2List: type: array + uniqueItems: true items: type: integer enablenearfarIndicationRS1: type: string enum: - ENABLE - - DISABLE + - DISABLE + default: DISABLE enablenearfarIndicationRS2: type: string enum: - ENABLE - - DISABLE + - DISABLE + default: DISABLE RimRSReportInfo: type: object @@ -552,7 +567,8 @@ components: type: string enum: - ENABLE - - DISABLE + - DISABLE + default: DISABLE reportInterval: type: integer nrofRIMRSReportInfo: @@ -561,23 +577,24 @@ components: type: integer rimRSReportInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/RimRSReportInfo' - TceMappingInfo: + TceIDMappingInfo: type: object properties: - TceIPAddress: - oneOf: - - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' - - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' - TceID: + tceIPAddress: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddr' + tceID: type: integer - PlmnTarget: + pLMNTarget: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' - TceMappingInfoList: + TceIDMappingInfoList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/TceMappingInfo' + $ref: '#/components/schemas/TceIDMappingInfo' + minItems: 1 ResourceType: type: string enum: @@ -593,12 +610,11 @@ components: type: integer minValue: type: integer - NTNTAClist: type: array + uniqueItems: true items: - $ref: '#/components/schemas/NrTac' - + $ref: '#/components/schemas/NRTAC' Ephemeris: type: object oneOf: @@ -609,8 +625,7 @@ components: - epochTime properties: satelliteId: - type: string - pattern: '^[0-9]{5}$' + $ref: '#/components/schemas/SatelliteId' epochTime: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' positionVelocity: @@ -620,34 +635,42 @@ components: EphemerisInfos: type: array + uniqueItems: true items: $ref: '#/components/schemas/Ephemeris' + minItems: 1 PositionVelocity: type: object properties: positionX: type: integer + default: 0 minimum: 0 maximum: 604800 positionY: type: integer + default: 0 minimum: 0 maximum: 604800 positionZ: type: integer + default: 0 minimum: 0 maximum: 604800 velocityVX: type: integer + default: 0 minimum: -131072 maximum: 131071 velocityVY: type: integer + default: 0 minimum: -131072 maximum: 131071 velocityVZ: type: integer + default: 0 minimum: -131072 maximum: 131071 @@ -656,26 +679,32 @@ components: properties: semiMajorAxis: type: integer + default: 0 minimum: 0 maximum: 8589934591 eccentricity: type: integer + default: 0 minimum: -524288 maximum: 524287 periapsis: type: integer + default: 0 minimum: 0 maximum: 16777215 longitude: type: integer + default: 0 minimum: 0 maximum: 2097151 inclination: type: integer + default: 0 minimum: -524288 maximum: 524287 meanAnomaly: type: integer + default: 0 minimum: 0 maximum: 16777215 @@ -688,6 +717,7 @@ components: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Ncgi' MappedCellIdInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/MappedCellIdInfo' QceIdMappingInfo: @@ -703,10 +733,13 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' QceIdMappingInfoList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/QceIdMappingInfo' + $ref: '#/components/schemas/QceIdMappingInfo' + minItems: 1 MdtUserConsentReqList: type: array + uniqueItems: true items: type: string enum: @@ -720,6 +753,41 @@ components: - M8 - M9 - MDT_UE_LOCATION + + NTNEntityConf: + type: object + properties: + nTNConfEntity: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + nTNConfList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + LocationInfo: + type: object + properties: + gNBId: + type: integer + pLMNId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + cellLocalId: + type: integer + nRTAC: + type: string + tAI: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + geoArea: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + ServedAIOTAreaID: + type: object + properties: + pLMNId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + nID: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Nid' + aIotAreaCode: + type: string #-------- Definition of types for name-containments ------ SubNetwork-ncO-NrNrm: @@ -727,12 +795,12 @@ components: properties: NRFrequency: $ref: '#/components/schemas/NRFrequency-Multiple' - ExternalGnbCuCpFunction: - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Multiple' - ExternalGnbCuUpFunction: - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Multiple' - ExternalGnbDuFunction: - $ref: '#/components/schemas/ExternalGnbDuFunction-Multiple' + ExternalGNBCUCPFunction: + $ref: '#/components/schemas/GNBCUCPFunction-Multiple' + ExternalGNBCUUPFunction: + $ref: '#/components/schemas/ExternalGNBCUUPFunction-Multiple' + ExternalGNBDUFunction: + $ref: '#/components/schemas/ExternalGNBDUFunction-Multiple' ExternalENBFunction: $ref: '#/components/schemas/ExternalENBFunction-Multiple' EUtranFrequency: @@ -751,6 +819,8 @@ components: $ref: '#/components/schemas/CPCIConfigurationFunction-Single' CESManagementFunction: $ref: '#/components/schemas/CESManagementFunction-Single' + RedCapAccessCriteria: + $ref: '#/components/schemas/RedCapAccessCriteria-Single' Configurable5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' RimRSGlobal: @@ -759,16 +829,22 @@ components: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' CCOFunction: $ref: '#/components/schemas/CCOFunction-Single' + NTNFunction: + $ref: '#/components/schemas/NTNFunction-Single' + NRECMappingRule: + $ref: '#/components/schemas/NRECMappingRule-Multiple' + MWAB: + $ref: '#/components/schemas/MWAB-Multiple' ManagedElement-ncO-NrNrm: type: object properties: - GnbDuFunction: - $ref: '#/components/schemas/GnbDuFunction-Multiple' - GnbCuUpFunction: - $ref: '#/components/schemas/GnbCuUpFunction-Multiple' - GnbCuCpFunction: - $ref: '#/components/schemas/GnbCuCpFunction-Multiple' + GNBDUFunction: + $ref: '#/components/schemas/GNBDUFunction-Multiple' + GNBCUUPFunction: + $ref: '#/components/schemas/GNBCUUPFunction-Multiple' + GNBCUCPFunction: + $ref: '#/components/schemas/GNBCUCPFunction-Multiple' DESManagementFunction: $ref: '#/components/schemas/DESManagementFunction-Single' DRACHOptimizationFunction: @@ -787,20 +863,26 @@ components: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' Dynamic5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + NTNFunction: + $ref: '#/components/schemas/NTNFunction-Single' + NRECMappingRule: + $ref: '#/components/schemas/NRECMappingRule-Multiple' + MWAB: + $ref: '#/components/schemas/MWAB-Multiple' #-------- Definition of abstract IOCs -------------------------------------------- - RrmPolicy_-Attr: + RRMPolicy_-Attr: type: object properties: resourceType: $ref: '#/components/schemas/ResourceType' - rRMPolicyMemberList: - $ref: '#/components/schemas/RrmPolicyMemberList' + RRMPolicyMemberList: + $ref: '#/components/schemas/RRMPolicyMemberList' #-------- Definition of concrete IOCs -------------------------------------------- - GnbDuFunction-Single: + GNBDUFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -818,23 +900,27 @@ components: $ref: '#/components/schemas/GnbId' gnbIdLength: $ref: '#/components/schemas/GnbIdLength' + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' rimRSReportConf: $ref: '#/components/schemas/RimRSReportConf' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: RRMPolicyRatio: $ref: '#/components/schemas/RRMPolicyRatio-Multiple' - NrCellDu: - $ref: '#/components/schemas/NrCellDu-Multiple' - Bwp-Multiple: - $ref: '#/components/schemas/Bwp-Multiple' - NrSectorCarrier-Multiple: - $ref: '#/components/schemas/NrSectorCarrier-Multiple' + NRCellDU: + $ref: '#/components/schemas/NRCellDU-Multiple' + BWP-Multiple: + $ref: '#/components/schemas/BWP-Multiple' + NRSectorCarrier-Multiple: + $ref: '#/components/schemas/NRSectorCarrier-Multiple' EP_F1C: $ref: '#/components/schemas/EP_F1C-Single' EP_F1U: @@ -842,15 +928,17 @@ components: DRACHOptimizationFunction: $ref: '#/components/schemas/DRACHOptimizationFunction-Single' OperatorDU: - $ref: '#/components/schemas/OperatorDu-Multiple' + $ref: '#/components/schemas/OperatorDU-Multiple' BWPSet: $ref: '#/components/schemas/BWPSet-Multiple' Configurable5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' Dynamic5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + AIOTReader: + $ref: '#/components/schemas/AIOTReader-Multiple' - OperatorDu-Single: + OperatorDU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -870,10 +958,10 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: description: This attribute is condition optional. The condition is NG-RAN Multi-Operator Core Network (NG-RAN MOCN) network sharing with operator specific 5QI is supported. - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - NrOperatorCellDu: - $ref: '#/components/schemas/NrOperatorCellDu-Multiple' - GnbCuUpFunction-Single: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + NROperatorCellDU: + $ref: '#/components/schemas/NROperatorCellDU-Multiple' + GNBCUUPFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -889,12 +977,16 @@ components: $ref: '#/components/schemas/GnbIdLength' gnbCuUpId: $ref: '#/components/schemas/GnbCuUpId' - plmnInfoList: + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' + PlmnInfoList: $ref: '#/components/schemas/PlmnInfoList' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -917,7 +1009,7 @@ components: Dynamic5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' - GnbCuCpFunction-Single: + GNBCUCPFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -936,27 +1028,35 @@ components: plmnId: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' x2BlockList: - $ref: '#/components/schemas/GGnbIdList' + $ref: '#/components/schemas/GgNBIdList' xnBlockList: - $ref: '#/components/schemas/GGnbIdList' + $ref: '#/components/schemas/GgNBIdList' x2AllowList: - $ref: '#/components/schemas/GGnbIdList' + $ref: '#/components/schemas/GgNBIdList' xnAllowList: - $ref: '#/components/schemas/GGnbIdList' + $ref: '#/components/schemas/GgNBIdList' x2HOBlockList: - $ref: '#/components/schemas/GEnbIdList' - xnHOBlackList: - $ref: '#/components/schemas/GGnbIdList' - mappingSetIDBackhaulAddress: - $ref: '#/components/schemas/MappingSetIDBackhaulAddress' - tceMappingInfoList: - $ref: '#/components/schemas/TceMappingInfoList' + $ref: '#/components/schemas/GeNBIdList' + xnHOBlockList: + $ref: '#/components/schemas/GgNBIdList' + mappingSetIDBackhaulAddressList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/MappingSetIDBackhaulAddress' + minItems: 1 + isOnboardSatellite: + type: boolean + onboardSatelliteId: + $ref: '#/components/schemas/SatelliteId' + tceIDMappingInfoList: + $ref: '#/components/schemas/TceIDMappingInfoList' configurable5QISetRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' dynamic5QISetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' ephemerisInfoSetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' dCHOControl: type: boolean dDAPSHOControl: @@ -967,13 +1067,17 @@ components: $ref: '#/components/schemas/QceIdMappingInfoList' mdtUserConsentReqList: $ref: '#/components/schemas/MdtUserConsentReqList' + mWABRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + nRECMappingRuleRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: RRMPolicyRatio: $ref: '#/components/schemas/RRMPolicyRatio-Multiple' - NrCellCu: - $ref: '#/components/schemas/NrCellCu-Multiple' + NRCellCU: + $ref: '#/components/schemas/NRCellCU-Multiple' EP_XnC: $ref: '#/components/schemas/EP_XnC-Multiple' EP_E1: @@ -996,8 +1100,12 @@ components: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Configurable5QISet-Multiple' Dynamic5QISet: $ref: 'TS28541_5GcNrm.yaml#/components/schemas/Dynamic5QISet-Multiple' + NRNetwork: + $ref: '#/components/schemas/NRNetwork-Single' + EUtranNetwork: + $ref: '#/components/schemas/EUtraNetwork-Single' - NrCellCu-Single: + NRCellCU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1012,7 +1120,7 @@ components: plmnInfoList: $ref: '#/components/schemas/PlmnInfoList' nRFrequencyRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -1037,7 +1145,7 @@ components: DPCIConfigurationFunction: $ref: '#/components/schemas/DPCIConfigurationFunction-Single' - NrCellDu-Single: + NRCellDU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1055,14 +1163,21 @@ components: type: integer cellState: $ref: '#/components/schemas/CellState' - plmnInfoList: + plmnInfoInfoList: $ref: '#/components/schemas/PlmnInfoList' - npnIdentityList: - $ref: '#/components/schemas/NpnIdentityList' + nPNIdentityList: + $ref: '#/components/schemas/NPNIdentityList' nrPci: $ref: '#/components/schemas/NrPci' - nrTac: + nRTAC: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + nTNTAClist: + type: array + uniqueItems: true + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' + minItems: 1 + maxItems: 12 arfcnDL: type: integer arfcnUL: @@ -1089,22 +1204,34 @@ components: maximum: 159 ssbDuration: $ref: '#/components/schemas/SsbDuration' - nrSectorCarrierRef: + uECellBarredAccess: + type: array + uniqueItems: true + items: + type: string + enum: + - REDCAP_1RX + - REDCAP_2RX + nRSectorCarrierRef: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - bwpRef: + bWPRef: description: "Condition is BWP sets are not supported" type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - bwpSetRef: + bWPSetRef: description: "Condition is BWP sets are supported" $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' rimRSMonitoringStartTime: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + redCapAccessCriteriaRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' rimRSMonitoringStopTime: - type: string + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' rimRSMonitoringWindowDuration: type: integer rimRSMonitoringWindowStartingOffset: @@ -1136,14 +1263,15 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object properties: - bWPlist: + bWPList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' maxItems: 12 - NrOperatorCellDu-Single: + NROperatorCellDU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1154,7 +1282,7 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' plmnInfoList: $ref: '#/components/schemas/PlmnInfoList' - nrTac: + nRTAC: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac' NRFrequency-Single: @@ -1175,6 +1303,7 @@ components: type: integer minimum: 1 maximum: 256 + readOnly: true EUtranFrequency-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1192,7 +1321,7 @@ components: minimum: 1 maximum: 256 - NrSectorCarrier-Single: + NRSectorCarrier-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1221,7 +1350,7 @@ components: properties: CommonBeamformingFunction: $ref: '#/components/schemas/CommonBeamformingFunction-Single' - Bwp-Single: + BWP-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1258,11 +1387,18 @@ components: digitalAzimuth: $ref: '#/components/schemas/DigitalAzimuth' digitalTilt: - $ref: '#/components/schemas/DigitalTilt' + $ref: '#/components/schemas/DigitalTilt' - type: object properties: Beam: $ref: '#/components/schemas/Beam-Multiple' + CCOWeakCoverageParameters: + $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' + CCOPilotPollutionParameters: + $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' + CCOOvershootCoverageParameters: + $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' + Beam-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1274,24 +1410,30 @@ components: properties: beamIndex: type: integer + readOnly: true beamType: type: string + readOnly: true enum: - - SSB_BEAM + - SSB_BEAM beamAzimuth: type: integer + readOnly: true minimum: -1800 maximum: 1800 beamTilt: type: integer + readOnly: true minimum: -900 maximum: 900 beamHorizWidth: type: integer + readOnly: true minimum: 0 maximum: 3599 beamVertWidth: type: integer + readOnly: true minimum: 0 maximum: 1800 RRMPolicyRatio-Single: @@ -1301,7 +1443,7 @@ components: properties: attributes: allOf: - - $ref: '#/components/schemas/RrmPolicy_-Attr' + - $ref: '#/components/schemas/RRMPolicy_-Attr' - type: object properties: rRMPolicyMaxRatio: @@ -1331,7 +1473,11 @@ components: nRTCI: type: integer cellIndividualOffset: - $ref: '#/components/schemas/CellIndividualOffset' + type: array + items: + $ref: '#/components/schemas/QOffsetRange' + minItems: 6 + maxItems: 6 adjacentNRCellRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' nRFreqRelationRef: @@ -1368,15 +1514,27 @@ components: type: object properties: offsetMO: - $ref: '#/components/schemas/QOffsetRangeList' + type: array + items: + $ref: '#/components/schemas/QOffsetRange' + minItems: 6 + maxItems: 6 blockListEntry: type: array + uniqueItems: true items: type: integer minimum: 0 - maximum: 1007 + maximum: 503 + maxItems: 16 blockListEntryIdleMode: - type: integer + type: array + uniqueItems: true + items: + type: integer + minimum: 0 + maximum: 1007 + maxItems: 16 cellReselectionPriority: type: integer cellReselectionSubPriority: @@ -1384,6 +1542,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 @@ -1431,17 +1621,30 @@ components: type: object properties: cellIndividualOffset: - $ref: '#/components/schemas/CellIndividualOffset' - blackListEntry: type: array + items: + $ref: '#/components/schemas/QOffsetRange' + minItems: 6 + maxItems: 6 + blockListEntry: + type: array + uniqueItems: true + items: + type: integer + minimum: 0 + maximum: 503 + maxItems: 16 + blockListEntryIdleMode: + type: array + uniqueItems: true items: type: integer minimum: 0 maximum: 1007 - blackListEntryIdleMode: - type: integer + maxItems: 16 cellReselectionPriority: type: integer + default: 0 cellReselectionSubPriority: type: number minimum: 0.2 @@ -1524,18 +1727,20 @@ components: $ref: "#/components/schemas/InterRatEsDeactivationCandidateCellParameters" isProbingCapable: type: string + readOnly: true enum: - YES - NO energySavingState: type: string + readOnly: true enum: - IS_NOT_ENERGY_SAVING - IS_ENERGY_SAVING mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' DRACHOptimizationFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1570,9 +1775,9 @@ components: tstoreUEcntxt: $ref: '#/components/schemas/TstoreUEcntxt' mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' DLBOFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1588,9 +1793,9 @@ components: minimumTimeBetweenHoTriggerChange: $ref: '#/components/schemas/MinimumTimeBetweenHoTriggerChange' mLModelRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' aIMLInferenceFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' DPCIConfigurationFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1668,7 +1873,18 @@ components: $ref: '#/components/schemas/TimeDomainPara' RimRSSet: $ref: '#/components/schemas/RimRSSet-Multiple' - + RedCapAccessCriteria-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + nRCellDURef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + criteriaConditonRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' RimRSSet-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1682,9 +1898,9 @@ components: setType: $ref: '#/components/schemas/RSSetType' nRCellDURefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' - ExternalGnbDuFunction-Single: + ExternalGNBDUFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1705,7 +1921,22 @@ components: $ref: '#/components/schemas/EP_F1C-Multiple' EP_F1U: $ref: '#/components/schemas/EP_F1U-Multiple' - ExternalGnbCuUpFunction-Single: + NRNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + NRFrequency: + $ref: '#/components/schemas/NRFrequency-Multiple' + ExternalGNBCUCPFunction: + $ref: '#/components/schemas/ExternalGNBCUCPFunction-Multiple' + ExternalGNBCUUPFunction: + $ref: '#/components/schemas/ExternalGNBCUUPFunction-Multiple' + ExternalGNBDUFunction: + $ref: '#/components/schemas/ExternalGNBDUFunction-Multiple' + + + ExternalGNBCUUPFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1728,7 +1959,7 @@ components: $ref: '#/components/schemas/EP_F1U-Multiple' EP_XnU: $ref: '#/components/schemas/EP_XnU-Multiple' - ExternalGnbCuCpFunction-Single: + ExternalGNBCUCPFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1748,15 +1979,15 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: - ExternalNrCellCu: - $ref: '#/components/schemas/ExternalNrCellCu-Multiple' + ExternalNRCellCU: + $ref: '#/components/schemas/ExternalNRCellCU-Multiple' EP_XnC: $ref: '#/components/schemas/EP_XnC-Multiple' EP_E1: $ref: '#/components/schemas/EP_E1-Multiple' EP_F1C: $ref: '#/components/schemas/EP_F1C-Multiple' - ExternalNrCellCu-Single: + ExternalNRCellCU-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' - type: object @@ -1770,11 +2001,26 @@ components: type: integer nrPci: $ref: '#/components/schemas/NrPci' - plmnIdList: - $ref: '#/components/schemas/PlmnIdList' + plMNIdList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + minItems: 1 + maxItems: 12 nRFrequencyRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' + EUtraNetwork-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + EUtranFrequency: + $ref: '#/components/schemas/EUtranFrequency-Multiple' + ExternalENBFunction: + $ref: '#/components/schemas/ExternalENBFunction-Multiple' + ExternalENBFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1905,7 +2151,7 @@ components: remoteAddress: $ref: '#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' EP_NgU-Single: allOf: @@ -1922,7 +2168,7 @@ components: remoteAddress: $ref: '#/components/schemas/RemoteAddress' epTransportRefs: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' EP_X2U-Single: allOf: @@ -1962,11 +2208,11 @@ components: properties: cCOControl: type: boolean - cCOWeakCoverageParameters: + CCOWeakCoverageParameters: $ref: '#/components/schemas/CCOWeakCoverageParameters-Single' - cCOPilotPollutionParameters: + CCOPilotPollutionParameters: $ref: '#/components/schemas/CCOPilotPollutionParameters-Single' - cCOOvershootCoverageParameters-Single: + CCOOvershootCoverageParameters-Single: $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' CCOParameters-Attr: allOf: @@ -1977,7 +2223,9 @@ components: type: object properties: coverageShapeList: - type: integer + type: array + items: + $ref: '#/components/schemas/CoverageShape' downlinkTransmitPowerRange: $ref: '#/components/schemas/ParameterRange' antennaTiltRange: @@ -1990,19 +2238,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: @@ -2015,9 +2257,11 @@ components: nTNpLMNInfoList: $ref: '#/components/schemas/PlmnInfoList' nTNTAClist: - $ref: '#/components/schemas/NrTacList' - ephemerisInfoSet: + $ref: '#/components/schemas/NRTACList' + EphemerisInfoSet: $ref: '#/components/schemas/EphemerisInfoSet-Multiple' + nTNTimeBasedConfig: + $ref: '#/components/schemas/NTNTimeBasedConfig-Multiple' EphemerisInfoSet-Single: allOf: @@ -2030,44 +2274,139 @@ components: properties: ephemerisInfos: $ref: '#/components/schemas/EphemerisInfos' + MWAB-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' + allowedArea: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + allowedTime: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + currentLocation: + $ref: '#/components/schemas/LocationInfo' + + NRECMappingRule-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + ecMRInputMinimumValue: + type: integer + ecMRInputMaximumValue: + type: integer + ecTimeInterval: + type: integer + + NTNTimeBasedConfig-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - type: object + properties: + timeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + nTNEntityConfigList: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NTNEntityConf' + minItems: 1 + AIOTReader-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' + - type: object + properties: + readerId: + type: integer + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + supportedAIOTServices: + type: array + uniqueItems: true + items: + type: string + enum: + - INVENTORY + - COMMAND + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + servedAIOTAreas: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ServedAIOTAreaID' + readerLocation: + type: string + nRSectorCarrierRef: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + #-------- Definition of JSON arrays for name-contained IOCs ---------------------- - GnbDuFunction-Multiple: + GNBDUFunction-Multiple: type: array items: - $ref: '#/components/schemas/GnbDuFunction-Single' - OperatorDu-Multiple: + $ref: '#/components/schemas/GNBDUFunction-Single' + OperatorDU-Multiple: type: array items: - $ref: '#/components/schemas/OperatorDu-Single' - GnbCuUpFunction-Multiple: + $ref: '#/components/schemas/OperatorDU-Single' + GNBCUUPFunction-Multiple: type: array items: - $ref: '#/components/schemas/GnbCuUpFunction-Single' - GnbCuCpFunction-Multiple: + $ref: '#/components/schemas/GNBCUUPFunction-Single' + GNBCUCPFunction-Multiple: type: array items: - $ref: '#/components/schemas/GnbCuCpFunction-Single' + $ref: '#/components/schemas/GNBCUCPFunction-Single' BWPSet-Multiple: type: array items: $ref: '#/components/schemas/BWPSet-Single' - NrCellDu-Multiple: + NRCellDU-Multiple: type: array items: - $ref: '#/components/schemas/NrCellDu-Single' + $ref: '#/components/schemas/NRCellDU-Single' - NrOperatorCellDu-Multiple: + NROperatorCellDU-Multiple: type: array items: - $ref: '#/components/schemas/NrOperatorCellDu-Single' + $ref: '#/components/schemas/NROperatorCellDU-Single' - NrCellCu-Multiple: + NRCellCU-Multiple: type: array items: - $ref: '#/components/schemas/NrCellCu-Single' + $ref: '#/components/schemas/NRCellCU-Single' NRFrequency-Multiple: type: array @@ -2080,14 +2419,14 @@ components: items: $ref: '#/components/schemas/EUtranFrequency-Single' - NrSectorCarrier-Multiple: + NRSectorCarrier-Multiple: type: array items: - $ref: '#/components/schemas/NrSectorCarrier-Single' - Bwp-Multiple: + $ref: '#/components/schemas/NRSectorCarrier-Single' + BWP-Multiple: type: array items: - $ref: '#/components/schemas/Bwp-Single' + $ref: '#/components/schemas/BWP-Single' Beam-Multiple: type: array items: @@ -2119,22 +2458,22 @@ components: items: $ref: '#/components/schemas/RimRSSet-Single' - ExternalGnbDuFunction-Multiple: + ExternalGNBDUFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGnbDuFunction-Single' - ExternalGnbCuUpFunction-Multiple: + $ref: '#/components/schemas/ExternalGNBDUFunction-Single' + ExternalGNBCUUPFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' - ExternalGnbCuCpFunction-Multiple: + $ref: '#/components/schemas/ExternalGNBCUUPFunction-Single' + ExternalGNBCUCPFunction-Multiple: type: array items: - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' - ExternalNrCellCu-Multiple: + $ref: '#/components/schemas/ExternalGNBCUCPFunction-Single' + ExternalNRCellCU-Multiple: type: array items: - $ref: '#/components/schemas/ExternalNrCellCu-Single' + $ref: '#/components/schemas/ExternalNRCellCU-Single' ExternalENBFunction-Multiple: type: array @@ -2157,6 +2496,10 @@ components: type: array items: $ref: '#/components/schemas/EP_F1C-Single' + RedCapAccessCriteria-Multiple: + type: array + items: + $ref: '#/components/schemas/RedCapAccessCriteria-Single' EP_NgC-Multiple: type: array items: @@ -2189,25 +2532,44 @@ components: type: array items: $ref: '#/components/schemas/EphemerisInfoSet-Single' + NRECMappingRule-Multiple: + type: array + items: + $ref: '#/components/schemas/NRECMappingRule-Single' + NTNTimeBasedConfig-Multiple: + type: array + items: + $ref: '#/components/schemas/NTNTimeBasedConfig-Single' + MWAB-Multiple: + type: array + items: + $ref: '#/components/schemas/MWAB-Single' + AIOTReader-Multiple: + type: array + items: + $ref: '#/components/schemas/AIOTReader-Single' #-------- Definitions in TS 28.541 for TS 28.532 --------------------------------- resources-nrNrm: oneOf: - - $ref: '#/components/schemas/GnbDuFunction-Single' - - $ref: '#/components/schemas/GnbCuUpFunction-Single' - - $ref: '#/components/schemas/GnbCuCpFunction-Single' - - $ref: '#/components/schemas/OperatorDu-Single' + - $ref: '#/components/schemas/GNBDUFunction-Single' + - $ref: '#/components/schemas/GNBCUUPFunction-Single' + - $ref: '#/components/schemas/GNBCUCPFunction-Single' + - $ref: '#/components/schemas/OperatorDU-Single' + + - $ref: '#/components/schemas/NRCellCU-Single' + - $ref: '#/components/schemas/NRCellDU-Single' + - $ref: '#/components/schemas/NROperatorCellDU-Single' - - $ref: '#/components/schemas/NrCellCu-Single' - - $ref: '#/components/schemas/NrCellDu-Single' - - $ref: '#/components/schemas/NrOperatorCellDu-Single' + - $ref: '#/components/schemas/NRNetwork-Single' + - $ref: '#/components/schemas/EUtraNetwork-Single' - $ref: '#/components/schemas/NRFrequency-Single' - $ref: '#/components/schemas/EUtranFrequency-Single' - - $ref: '#/components/schemas/NrSectorCarrier-Single' - - $ref: '#/components/schemas/Bwp-Single' + - $ref: '#/components/schemas/NRSectorCarrier-Single' + - $ref: '#/components/schemas/BWP-Single' - $ref: '#/components/schemas/BWPSet-Single' - $ref: '#/components/schemas/CommonBeamformingFunction-Single' - $ref: '#/components/schemas/Beam-Single' @@ -2230,10 +2592,10 @@ components: - $ref: '#/components/schemas/RimRSGlobal-Single' - $ref: '#/components/schemas/RimRSSet-Single' - - $ref: '#/components/schemas/ExternalGnbDuFunction-Single' - - $ref: '#/components/schemas/ExternalGnbCuUpFunction-Single' - - $ref: '#/components/schemas/ExternalGnbCuCpFunction-Single' - - $ref: '#/components/schemas/ExternalNrCellCu-Single' + - $ref: '#/components/schemas/ExternalGNBDUFunction-Single' + - $ref: '#/components/schemas/ExternalGNBCUUPFunction-Single' + - $ref: '#/components/schemas/ExternalGNBCUCPFunction-Single' + - $ref: '#/components/schemas/ExternalNRCellCU-Single' - $ref: '#/components/schemas/ExternalENBFunction-Single' - $ref: '#/components/schemas/ExternalEUTranCell-Single' @@ -2253,4 +2615,9 @@ components: - $ref: '#/components/schemas/CCOOvershootCoverageParameters-Single' - $ref: '#/components/schemas/NTNFunction-Single' - $ref: '#/components/schemas/EphemerisInfoSet-Single' + - $ref: '#/components/schemas/MWAB-Single' + - $ref: '#/components/schemas/NRECMappingRule-Single' + - $ref: '#/components/schemas/NTNTimeBasedConfig-Single' + - $ref: '#/components/schemas/RedCapAccessCriteria-Single' + - $ref: '#/components/schemas/AIOTReader-Single' diff --git a/OpenAPI/TS28541_SliceNrm.yaml b/OpenAPI/TS28541_SliceNrm.yaml index 121dc8f67f4d2c3a97d27200e1c9a19d54ea757b..d062e7bfdf8667d51e61b8660c93e9b41e06cb1b 100755 --- a/OpenAPI/TS28541_SliceNrm.yaml +++ b/OpenAPI/TS28541_SliceNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Slice NRM - version: 18.8.0 + version: 19.4.0 description: >- OAS 3.0.1 specification of the Slice 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.541; 5G NRM, Slice NRM @@ -31,8 +31,10 @@ components: - NOT_SUPPORTED - BETWEEN_BS_AND_UE - BETWEEN_BS_AND_UE_AND_UE_AND_UE + readOnly: true PositioningAvailability: type: array + uniqueItems: true items: type: string enum: @@ -42,6 +44,9 @@ components: - AECID - HYBRID_POSITIONING - NET_RTK + readOnly: true + minItems: 1 + maxItems: 6 PredictionFrequency: type: string enum: @@ -69,14 +74,20 @@ components: enum: - CHARACTER - SCALABILITY + readOnly: true Tagging: type: array + readOnly: true + uniqueItems: true items: type: string enum: - PERFORMANCE - FUNCTION - OPERATION + minItems: 1 + maxItems: 3 + readOnly: true Exposure: type: string enum: @@ -96,6 +107,7 @@ components: enum: - NOT_SUPPORTED - SUPPORTED + readOnly: true DelayTolerance: type: object properties: @@ -119,17 +131,19 @@ components: $ref: '#/components/schemas/Support' periodicityList: type: array + uniqueItems: true items: type: integer + minItems: 1 XLThpt: type: object properties: servAttrCom: $ref: '#/components/schemas/ServAttrCom' guaThpt: - $ref: '#/components/schemas/Float' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' maxThpt: - $ref: '#/components/schemas/Float' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Float' MaxPktSize: type: object properties: @@ -144,6 +158,15 @@ components: $ref: '#/components/schemas/ServAttrCom' nOofPDUSessions: type: integer + MaxNumberofUEs: + type: object + properties: + servAttrCom: + $ref: '#/components/schemas/ServAttrCom' + 3GPPNoOfUEs: + type: integer + non3GPPNoOfUEs: + type: integer KPIMonitoring: type: object properties: @@ -151,8 +174,10 @@ components: $ref: '#/components/schemas/ServAttrCom' kPIList: type: array + uniqueItems: true items: type: string + readOnly: true NBIoT: type: object properties: @@ -167,6 +192,7 @@ components: $ref: '#/components/schemas/ServAttrCom' nROperatingBands: type: array + uniqueItems: true items: type: string Synchronicity: @@ -215,8 +241,10 @@ components: properties: nsInstanceId: type: string + readOnly: true nsName: type: string + readOnly: true description: type: string EmbbEEPerfReq: @@ -273,12 +301,15 @@ components: properties: secFunId: type: string + readOnly: true secFunType: type: string secRules: type: array + uniqueItems: true items: type: string + readOnly: true N6Protection: type: object properties: @@ -286,8 +317,10 @@ components: $ref: '#/components/schemas/ServAttrCom' secFuncList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SecFunc' + minItems: 1 DataNetwork: type: object properties: @@ -295,6 +328,7 @@ components: $ref: '#/components/schemas/ServAttrCom' dnnList: type: array + uniqueItems: true items: type: string DataAccess: @@ -340,14 +374,17 @@ components: $ref: '#/components/schemas/ServAttrCom' dataAccessList: type: array + uniqueItems: true items: $ref: '#/components/schemas/DataAccess' tunnellingMechanismList: type: array + uniqueItems: true items: $ref: '#/components/schemas/TunnellingMechanism' localBreakoutAllowedList: type: array + uniqueItems: true items: $ref: '#/components/schemas/LboAllowed' @@ -355,7 +392,7 @@ components: type: object properties: maxNumberofUEs: - type: integer + $ref: '#/components/schemas/MaxNumberofUEs' dLLatency: type: number uLLatency: @@ -415,7 +452,14 @@ components: uLPktDelayVariation: $ref: '#/components/schemas/Float' sliceSubnetAvailability: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime' + type: array + uniqueItems: true + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime' + renewableEnergyPct: + type: integer + minimum: 0 + maximum: 100 RANSliceSubnetProfile: type: object @@ -431,7 +475,7 @@ components: resourceSharingLevel: $ref: '#/components/schemas/SharingLevel' maxNumberofUEs: - type: integer + $ref: '#/components/schemas/MaxNumberofUEs' activityFactor: type: integer dLThptPerSliceSubnet: @@ -454,6 +498,7 @@ components: type: integer nROperatingBands: type: array + uniqueItems: true items: type: string delayTolerance: @@ -488,6 +533,10 @@ components: $ref: '#/components/schemas/Float' uLPktDelayVariation: $ref: '#/components/schemas/Float' + renewableEnergyPct: + type: integer + minimum: 0 + maximum: 100 TopSliceSubnetProfile: type: object @@ -497,7 +546,7 @@ components: uLLatency: type: integer maxNumberofUEs: - type: integer + $ref: '#/components/schemas/MaxNumberofUEs' dLThptPerSliceSubnet: $ref: '#/components/schemas/XLThpt' dLThptPerUE: @@ -514,6 +563,7 @@ components: type: integer nROperatingBands: type: array + uniqueItems: true items: type: string sliceSimultaneousUse: @@ -571,17 +621,25 @@ components: uLPktDelayVariation: $ref: '#/components/schemas/Float' sliceSubnetAvailability: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime' + type: array + uniqueItems: true + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime' + renewableEnergyPct: + type: integer + minimum: 0 + maximum: 100 ServiceProfile: type: object properties: serviceProfileId: type: string + readOnly: true plmnInfoList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' maxNumberofUEs: - type: number + $ref: '#/components/schemas/MaxNumberofUEs' dLLatency: type: number uLLatency: @@ -630,6 +688,7 @@ components: $ref: '#/components/schemas/V2XCommModels' coverageArea: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' termDensity: @@ -667,13 +726,21 @@ components: uLPktDelayVariation: $ref: '#/components/schemas/Float' sliceAvailability: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime' + type: array + uniqueItems: true + items: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/SchedulingTime' + renewableEnergyPct: + type: integer + minimum: 0 + maximum: 100 SliceProfile: type: object properties: sliceProfileId: type: string + readOnly: true plmnInfoList: $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' cNSliceSubnetProfile: @@ -682,11 +749,6 @@ components: $ref: '#/components/schemas/RANSliceSubnetProfile' topSliceSubnetProfile: $ref: '#/components/schemas/TopSliceSubnetProfile' - - IpAddress: - oneOf: - - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' - - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr' LogicalInterfaceInfo: type: object @@ -732,11 +794,13 @@ components: ServiceProfileList: type: array + uniqueItems: true items: $ref: '#/components/schemas/ServiceProfile' SliceProfileList: type: array + uniqueItems: true items: $ref: '#/components/schemas/SliceProfile' FeasibilityResult: @@ -746,22 +810,27 @@ components: enum: - FEASIBLE - INFEASIBLE + readOnly: true InFeasibleReason: description: >- An attribute that specifies the additional reason information if the feasibility check result is infeasible.The detailed ENUM value is FFS. type: string + readOnly: true RecommendationRequest: description: >- An attribute represents MnS consumer's request for recommended network slice related requirements. - type: boolean + type: boolean + default: false RecommendedRequirements: description: >- An attribute that specifies the recommended network slicing related requirements (i.e. ServiceProfile and SliceProfile information) which can be supported by the MnS producer.. type: string + readOnly: true ResourceReservation: description: >- An attribute represents MnS consumer's requirements for resource reservation. type: boolean + default: false RequestedReservationExpiration: description: >- An attribute which specifies MnS consuner's requirements for the validity period of the resource reservation. @@ -774,6 +843,7 @@ components: - RESERVED - UNRESERVED - USED + readOnly: true ReservationExpiration: description: >- An attribute which specifies the actual validity period of the resource reservation.. @@ -782,7 +852,7 @@ components: description: >- An attribute that specifies the additional reason information if the reservation is failed. type: string - + readOnly: true ResourceIsolationRule: type: object properties: @@ -836,7 +906,7 @@ components: - type: object properties: networkSliceSubnetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' operationalState: $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' administrativeState: @@ -844,7 +914,7 @@ components: serviceProfileList: $ref: '#/components/schemas/ServiceProfileList' networkSliceControllerRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' isolationProfileRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' @@ -858,9 +928,9 @@ components: - type: object properties: managedFunctionRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' networkSliceSubnetRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' operationalState: $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' administrativeState: @@ -880,7 +950,7 @@ components: - RAN_SLICESUBNET - CN_SLICESUBNET networkSliceSubnetControllerRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' isolationProfileRef: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' @@ -893,14 +963,14 @@ components: type: object properties: ipAddress: - $ref: '#/components/schemas/IpAddress' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/IpAddrRo' localLogicalInterfaceInfo: $ref: '#/components/schemas/LogicalInterfaceInfo' qosProfile: type: string epApplicationRefs: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' - connectionPointRefList: + externalEndPointRefList: type: array items: $ref: '#/components/schemas/ConnectionPointInfo' @@ -915,14 +985,16 @@ components: properties: dLlatency: type: integer + readOnly: true uLlatency: type: integer + readOnly: true dLThptPerSliceSubnet: $ref: '#/components/schemas/XLThpt' uLThptPerSliceSubnet: $ref: '#/components/schemas/XLThpt' coverageAreaTAList: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList' + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/TaiList' FeasibilityCheckAndReservationJob-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -971,6 +1043,7 @@ components: $ref: '#/components/schemas/ServiceProfile' serviceProfileId: type: string + readOnly: true operationalState: $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' administrativeState: @@ -980,7 +1053,7 @@ components: processMonitor: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor' networkSliceRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' NetworkSliceSubnetController-Single: allOf: @@ -1003,7 +1076,7 @@ components: processMonitor: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor' networkSliceSubnetRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' IsolationProfile-Single: allOf: @@ -1018,12 +1091,13 @@ components: $ref: '#/components/schemas/NetworkSlicingApplicability' resourceIsolationRuleList: type: array + uniqueItems: true items: $ref: '#/components/schemas/ResourceIsolationRule' networkSliceRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' networkSliceSubnetRefList: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' #-------- Definition of JSON arrays for name-contained IOCs ---------------------- diff --git a/OpenAPI/TS28550_PerfMeasJobCtrlMnS.yaml b/OpenAPI/TS28550_PerfMeasJobCtrlMnS.yaml index 7de08a785a3903f40d8dbeab67b17d5fac4a8e02..4dc673d5d016f8c8c137b28d7397ad1910c7e18d 100755 --- a/OpenAPI/TS28550_PerfMeasJobCtrlMnS.yaml +++ b/OpenAPI/TS28550_PerfMeasJobCtrlMnS.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: TS 28.550 Performance Measurement Job Control Service - version: 18.1.0 + version: 19.0.0 description: >- OAS 3.0.1 specification of the Performance Measurement Job Control Service - @ 2023, 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.550 Performance assurance @@ -56,6 +56,8 @@ paths: in: query description: This parameter identifies the list of jobId to select the resources from the collection resources identified with the path component of the URI. required: true + style: form + explode: false schema: type: array items: diff --git a/OpenAPI/TS28561_NdtNrm.yaml b/OpenAPI/TS28561_NdtNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..270a819a8dad34d740bcc10220977b04c76ce994 --- /dev/null +++ b/OpenAPI/TS28561_NdtNrm.yaml @@ -0,0 +1,193 @@ +openapi: 3.0.1 +info: + title: NDT NRM + version: 19.0.0 + description: >- + OAS 3.0.1 definition of the NDT NRM + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.561; Management aspects of Network Digital Twins + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.561/ +paths: {} +components: + schemas: + + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-NDTNrm: + type: object + properties: + NDTFunction: + $ref: '#/components/schemas/NDTFunction-Multiple' + + #-------Definition of generic IOCs ----------# + NDTFunction-Single: + description: >- + This IOC represents the properties of an NDT Function + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + supportedNDTCapabilities: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTCapability' + description: >- + It indicates the different types of NDT application use cases which the NDT is capable of undertaking.. + New values can be added to this list in future releases to support new use cases. + nDTFunctionScope: + $ref: '#/components/schemas/NDTFunctionScope' + + NDTJob-Single: + description: >- + This IOC represents the properties of an NDT job demand created by an MnS consumer. An NDT job represents the requirements for a network simulation/emulation task + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + nDTCapability: + $ref: '#/components/schemas/NDTCapability' + description: >- + It indicates the type of application use cases that is desired to be executed. + New values can be added to this list in future releases to support new use cases. + nDTJobSynchScope: + $ref: '#/components/schemas/ScopeDefinition' + nDTJobScenario: + $ref: '#/components/schemas/NDTInputDescription' + nDTJobExecutionRequirements: + $ref: '#/components/schemas/NdtJobExecutionReqts' + collaboratingNDT: + description: >- + It indicates the related NDT Job contributing as a collaborator to the executed NDT Job. It describes the DN of the collaborated NDT Job + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + ndtReportRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnListRo' + + NDTReport-Single: + description: >- + This IOC represents the properties of an NDT report corresponding to an NDT job + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + nDTJobOutputData: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTOutputDataPoint' + description: It indicates the list of NDTOutput(s) that are provided by the NDT function as the output for any task executed in an instantiated NDT job. + ndtJobRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + ndtFunctionRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + + #-------Definition of the dataType ----------# + NDTCapability: + type: string + enum: + - RISKY_ACTIONS_PREDICTION + - EVENTS_IMPACTS_VERIFICATION + - FAULT_INJECTION + - NETWORK_EVENTS_VERIFICATION + - NETWORK_CONFIGURATIONS_VERIFICATION + - AUTOMATION_CONFIGURATION_VERIFICATION + - ML_TRAINING_DATA_GENERATION + - USER_EXPERIENCE_DATA_GENERATION + NDTFunctionScope: + type: object + properties: + nDTRANScope: + $ref: '#/components/schemas/ScopeDefinition' + nDTCNScope: + $ref: '#/components/schemas/ScopeDefinition' + NDTInputDescription: + type: object + properties: + nDTInputDescriptionId: + type: string + simulationData: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + networkEventInfo: + type: string + condition: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + NDTOutputDescription: + type: object + properties: + nDTOutputDescriptionId: + type: string + objectInstance: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + objectAttributeList: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AttributeNameValuePairSet' + ScopeDefinition: + type: object + oneOf: + - required: [ managedEntitiesScope ] + - required: [ areaScope ] + properties: + managedEntitiesScope: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' + areaScope: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + NdtJobExecutionReqts: + type: object + properties: + maxRuntime: + type: integer + NDTOutputDataPoint: + type: object + properties: + networkState: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTOutputDescription' + networkConfiguration: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTOutputDescription' + observations: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/NDTOutputDescription' + + #------Definition of JSON arrays for name-contained IOCs ---------------# + + NDTJob-Multiple: + type: array + items: + $ref: '#/components/schemas/NDTJob-Single' + + NDTReport-Multiple: + type: array + items: + $ref: '#/components/schemas/NDTReport-Single' + + NDTFunction-Multiple: + type: array + items: + $ref: '#/components/schemas/NDTFunction-Single' + #------Definition of JSON arrays for name-contained IOCs ---------------# + + #----- Definitions in TS 28.561 for TS 28.532 --------------------------# + resources-ndtNrm: + oneOf: + - $ref: '#/components/schemas/NDTFunction-Single' + - $ref: '#/components/schemas/NDTJob-Single' + - $ref: '#/components/schemas/NDTReport-Single' diff --git a/OpenAPI/TS28567_CclNrm.yaml b/OpenAPI/TS28567_CclNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1cd88fcd3225e5b056e588b91e831f9ec4c7128e --- /dev/null +++ b/OpenAPI/TS28567_CclNrm.yaml @@ -0,0 +1,231 @@ +openapi: 3.0.1 +info: + title: CCL NRM + version: 19.0.0 + description: >- + OAS 3.0.1 definition of the CCL NRM + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.567; management aspect of closed control loops + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.567/ +paths: {} +components: + schemas: + + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-CCLNrm: + type: object + properties: + ClosedControlLoop: + $ref: '#/components/schemas/ClosedControlLoop-Multiple' + + #-------Definition of generic IOCs ----------# + + ClosedControlLoop-Single: + description: >- + This IOC represents the properties of an CCL management information between MnS consumer and MnS producer. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + cCLComponentsInfo: + type: array + items: + $ref: '#/components/schemas/CCLComponentsInfo' + description: >- + It indicates information on the constituent components of a CCL. + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + operationalState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + cCLPriority: + type: integer + minimum: 1 + maximum: 10 + description: This provides the priority of the CCL. This will be the numerical value between 1 to 10, with 1 being the least priority. + cCLComponentList: + type: array + items: + $ref: '#/components/schemas/CCLComponent' + description: >- + It indicates the list of components ating as steps of the CCL. + cCLType: + type: string + enum: + - ENERGYOPTIMIZATION + - SLICEASSURANCE + cCLActionTrigger: + type: string + desiredBehavior: + type: string + enum: + - DECISION_ACTIVATION + - NOTIFY_RCOMMENDATION + - DO_NOTHING + cCLPurposeRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + CCLScope-Single: + description: It indicates a scope of a CCL. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + cCLPurposeRefList: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + CCLReport-Single: + description: This class represents the reported outcomes on a CCL instance. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + scopeType: + type: string + enum: + - CCL_MEASUREMENT_SCOPE + - CCL_TARGET_SCOPE + - CCL_CONTROL_SCOPE + - CCL_IMPACT_SCOPE + ConflictManagementAndCoordinationEntity-Single: + description: This defines the conflict management functionality. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + coordinationCapability: + type: string + description: >- + It indicates a capability of a coordination entity to coordinate CCL conflicts. + coordinatedCCLsScopes: + type: string + cCLActionConflictsHandling: + $ref: '#/components/schemas/CCLActionConflictsHandling' + FaultManagement: + description: This IOC represents the Fault Management CCL purpose. + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + FaultManagementAlarmIdList: + type: string + FaultManagementBackUpObjectRequirement: + type: boolean + FaultManagementIsolateObjectRequirement: + type: boolean + FaultManagementTimeWindow: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' + clearUserId: + type: string + +#-------Definition of the generic dataType --------------# + CCLComponentsInfo: + type: object + properties: + cCLComponentId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + cCLSteps: + type: string + enum: + - DATA_COLLECTION + - ANALYSIS + - DECISION + - EXECUTION + CCLComponent: + type: object + properties: + cCLComponentIdentification: + type: string + cCLComponentRole: + type: string + enum: + - MONITOR + - ANALYSIS + - DECISION + - EXECUTION + - OTHER + FaultManagementCCLReport: + type: object + properties: + GeneratedAlarmResultList: + type: array + items: + type: string + FaultManagementCCLReportTime: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + + GeneratedAlarmResult: + type: object + properties: + alarmId: + type: string + alarmClearedStatus: + type: boolean + identifiedRootCauseInformation: + type: string + enhancedCorrelationInformation: + type: array + items: + type: string + + CCLScopeCoordinationCapability: + type: object + properties: + cCLCoordinationCapabilityID: + type: string + + CCLActionConflictsHandling: + type: object + properties: + conflictInformation: + $ref: '#/components/schemas/ConflictInformation' + conflictResolution: + $ref: '#/components/schemas/ConflictResolution' + targetCCL: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + ConflictInformation: + type: object + properties: + conflictingCCLId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + conflictingActions: + type: string + + ConflictResolution: + type: object + properties: + conflictingCCLId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + cCLGoalBreachPercentage: + type: integer + #-------Definition of the generic dataType --------------# + + + #------Definition of JSON arrays for name-contained IOCs ---------------# + ClosedControlLoop-Multiple: + type: array + items: + $ref: '#/components/schemas/ClosedControlLoop-Single' + + CCLScope-Multiple: + type: array + items: + $ref: '#/components/schemas/CCLScope-Single' + + CCLReport-Multiple: + type: array + items: + $ref: '#/components/schemas/CCLReport-Single' + + ConflictManagementAndCoordinationEntity-Multiple: + type: array + items: + $ref: '#/components/schemas/ConflictManagementAndCoordinationEntity-Single' + + + resources-CCLNrm: + oneOf: + - $ref: '#/components/schemas/ClosedControlLoop-Single' + - $ref: '#/components/schemas/CCLScope-Single' + - $ref: '#/components/schemas/CCLReport-Single' + - $ref: '#/components/schemas/ConflictManagementAndCoordinationEntity-Single' \ No newline at end of file diff --git a/OpenAPI/TS28572_PlanManagement.yaml b/OpenAPI/TS28572_PlanManagement.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3d33a9a65a0c431ddc2dfa7574b0feff618395e7 --- /dev/null +++ b/OpenAPI/TS28572_PlanManagement.yaml @@ -0,0 +1,2602 @@ +openapi: 3.0.0 +info: + title: 3GPP Plan Provisioning Management API + version: 19.0.0 + description: API for managing network configuration plans and related jobs +externalDocs: + description: 3GPP TS 28.572; Generic management services + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.572/ +servers: + - url: '{MnSRoot}/ProvPlanMnS/{MnSVersion}' + variables: + MnSRoot: + description: See clause 4.4.2 of TS 32.158 + default: http://example.com/PlanManagement + MnSVersion: + description: Version number of the OpenAPI definition + default: v1 + +paths: + /plan-descriptors: + post: + tags: + - Plan Descriptor Management + summary: Create a new plan descriptor + description: Creates a new configuration plan descriptor that can be later activated. + operationId: createPlanDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationDescriptor' + example: + { + "name": "Rollout-5G-Dublin-East", + "version" : "1.0.0", + "description": "This is the plan for the new 5G rollout in Dublin east.", + "customProperties": { + "technology-type": "NR", + "location": "Dublin" + }, + "currentConfigAddress": "http://example.org/3gpp/ProvMnS/v1", + "configurationContentType" : "application/vnd.3gpp.yang-patch+json", + "planConfig": { + ... + } + } + responses: + '201': + description: Plan descriptor created successfully + headers: + Location: + description: URI of the created plan descriptor. + schema: + type: string + format: uri-reference + example: "/plan-descriptors/my-plan11" + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationDescriptorResponse' + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '409': + description: A plan descriptor with the given ID already exists. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Plan Descriptor Management + summary: Get plan configuration descriptors + description: Retrieve a list of existing plan descriptors. + operationId: getPlanDescriptors + responses: + '200': + description: List of the plan configuration descriptors retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /plan-descriptors/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan descriptor. + example: "NewNetworkElement10-group-plan-001" + required: true + + get: + tags: + - Plan Descriptor Management + summary: Get a specific plan descriptor by ID + description: Retrieve the details of a single plan descriptor using its unique identifier. + operationId: getPlanDescriptorById + responses: + '200': + description: Plan descriptor retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationDescriptorResponse' + '404': + description: Plan descriptor does not exist + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + put: + tags: + - Plan Descriptor Management + summary: Replace a plan descriptor + description: Replace a configuration plan descriptor + operationId: putPlanDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationDescriptor' + example: + { + "name": "Rollout-5G-Dublin-East", + "description": "This is the plan for the new 5G rollout in Dublin east.", + "customProperties": { + "technology-type": "NR", + "location": "Dublin" + }, + "currentConfigAddress": "http://example.org/3gpp/ProvMnS/v1", + "planConfig": { + ... + } + } + responses: + '204': + description: Plan descriptor replaced successfully. No content is returned + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '404': + description: Plan descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Plan Descriptor Management + summary: Delete a plan descriptor by ID + description: Deletes a specific configuration plan descriptor using its unique identifier + operationId: deletePlanDescriptorById + responses: + '204': + description: Plan descriptor deleted successfully. + '404': + description: Plan descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' ##EDITOR The example in swagger is very strange. The example cannot be the same for put and delete. TODO LATER + '409': + description: Conflict - The plan descriptor cannot be deleted due to its current state or dependencies (For example, it is referenced in a plan group descriptor). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /plan-group-descriptors: + post: + tags: + - Plan Group Descriptor Management + summary: Create a new plan group descriptor + description: Creates a new configuration plan group descriptor that can be later activated. + operationId: createPlanGroupDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' + + responses: + '201': + description: Plan group descriptor created successfully + headers: + Location: + description: URI of the created plan descriptor. + schema: + type: string + format: uri-reference + example: "/plan-group-descriptors/mygroup-11" + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptorResponse' + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Plan Group Descriptor Management + summary: Get plan configuration descriptors + description: Retrieve a list of existing plan descriptors. + operationId: getPlanGroupDescriptors + responses: + '200': + description: List of the plan configuration descriptors retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /plan-group-descriptors/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the plan group descriptor. + example: "NewNetworkElement10-group-plan-001" + required: true + + get: + tags: + - Plan Group Descriptor Management + summary: Get a specific plan group descriptor by ID + description: Retrieve the details of a plan group descriptor using its unique identifier. + operationId: getPlanGroupDescriptorById + responses: + '200': + description: Plan group descriptor retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptorResponse' + '404': + description: Plan group descriptor does not exist + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + put: + tags: + - Plan Group Descriptor Management + summary: Replace a plan group descriptor + description: Replace a configuration plan group descriptor + operationId: putPlanGroupDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' + example: + { + "name": "Rollout-5G-Dublin-East", + "version" : "1.0.0", + "description": "This is the plan for the new 5G rollout in Dublin east.", + "activationMode" : "BEST_EFFORT", + "isOrdered" : true, + "isFailOnMemberConflicts" : true, + "members": [{"type" : "PLAN", "identifier" : "plan-descriptor-001"}, {"type" : "PLAN_GROUP", "identifier" : "plan-group-descriptor-001"}] + } + responses: + '200': + description: Plan group descriptor replaced successfully + content: + application/json: + schema: + $ref: '#/components/schemas/PlanConfigurationGroupDescriptorResponse' + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '404': + description: Plan group descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Plan Group Descriptor Management + summary: Delete a plan group descriptor by ID + description: Deletes a plan group descriptor using its unique identifier + operationId: deletePlanGroupDescriptorById + responses: + '204': + description: Plan descriptor deleted successfully. + '404': + description: Plan descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '409': + description: The plan group descriptor cannot be deleted due to its current state or dependencies (For example, it is referenced in a plan group descriptor). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /fallback-descriptors: + get: + tags: + - Fallback Descriptor Management + summary: Get fallback configuration descriptors + description: Retrieve a list of existing fallback descriptors. + operationId: getFallbackDescriptors + responses: + '200': + description: List of the fallback configuration descriptors retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /fallback-descriptor/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the fallback descriptor. + example: "Fallback-Dublin-South-plan-001" + required: true + get: + tags: + - Fallback Descriptor Management + summary: Get a specific fallback descriptor by ID + description: Retrieve the details of a single fallback descriptor using its unique identifier. + operationId: getFallbackDescriptorById + responses: + '200': + description: Fallback Plan descriptor retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/FallbackConfigurationDescriptorResponse' + '404': + description: Fallback descriptor does not exist + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + delete: + tags: + - Fallback Descriptor Management + summary: Delete a Fallback descriptor by ID + description: Deletes a specific fallback plan descriptor using its unique identifier + operationId: deleteFallbackDescriptorById + responses: + '204': + description: Fallback descriptor deleted successfully. + '404': + description: Fallback descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' ##EDITOR The example in swagger is very strange. The example cannot be the same for put and delete. TODO LATER + '409': + description: Conflict - The fallback descriptor cannot be deleted due to its current state. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + /trigger-descriptors: + post: + tags: + - Trigger Descriptor Management + summary: Create a new trigger descriptor + description: Creates a new trigger descriptor + operationId: createTriggerDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerDescriptor' + + responses: + '201': + description: Trigger descriptor created successfully + headers: + Location: + description: URI of the created trigger descriptor. + schema: + type: string + format: uri-reference + example: "/trigger-descriptors/mytrigger-11" + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerDescriptorResponse' + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Trigger Descriptor Management + summary: Get trigger descriptors + description: Retrieve a list of existing trigger descriptors. + operationId: getTriggerDescriptors + responses: + '200': + description: List of the trigger descriptors retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DescriptorListEntry' + + /trigger-descriptors/{id}: + parameters: + - in: path + name: id + schema: + type: string + description: Unique identifier of the descriptor. + example: "NewNetworkElement10-trigger-001" + required: true + + get: + tags: + - Trigger Descriptor Management + summary: Get a specific trigger descriptor by ID + description: Retrieve the details of a single descriptor using its unique identifier. + operationId: getTriggerDescriptorById + responses: + '200': + description: Plan descriptor retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerDescriptorResponse' + '404': + description: Trigger descriptor not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + put: + tags: + - Trigger Descriptor Management + summary: Replace a trigger descriptor + description: Replace a trigger descriptor + operationId: putTriggerDescriptor + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TriggerDescriptor' + responses: + '204': + description: Trigger descriptor created successfully + '400': + description: Invalid request parameters or malformed input. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '404': + description: Trigger descriptor not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Trigger Descriptor Management + summary: Delete a trigger descriptor by ID + description: Deletes a specific trigger descriptor using its unique identifier + operationId: deleteTriggerDescriptorById + responses: + '204': + description: Trigger descriptor deleted successfully. + '404': + description: Trigger descriptor not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /activation-jobs: + post: + tags: + - Activation Management + summary: Create a new plan activation job + description: Creates and starts a new plan activation job based on an existing plan descriptor (or plan group descriptor or fallback descriptor). The new job's ID will be generated by the server and returned in the Location header. + operationId: createActivationJob + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ActivationJobRequest' + responses: + '201': + description: Plan activation job created successfully. + The response body provides job details, and the Location header points to the new job. + headers: + Location: + description: URI of the created job resource. + schema: + type: string + format: uri-reference + example: "/activation-jobs/myjob-111" + content: + application/json: + schema: + $ref: '#/components/schemas/ActivationJob' + '400': + description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Activation Management + summary: Get plan activation jobs + description: Retrieve a list of plan activation jobs. + operationId: getActivationJobs + parameters: + - in: query + name: job-state + schema: + $ref: '#/components/schemas/JobState' + description: Filter jobs by their current state. + example: "RUNNING" + responses: + '200': + description: List of plan activation jobs retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/JobListEntry' + '400': + description: Invalid query parameters + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /activation-jobs/{id}: + parameters: + - $ref: '#/components/parameters/jobId' + get: + tags: + - Activation Management + summary: Get plan activation job details by ID + description: Retrieve detailed information about a specific plan activation job using its unique identifier. + operationId: getActivationJobById + responses: + '200': + description: Job details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ActivationJob' + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Activation Management + summary: Delete a plan activation job by ID + description: Deletes a specific plan activation job, typically if it's not in a terminal state (e.g., running, completed, failed). + operationId: deleteActivationJobById + responses: + '204': + description: Job deleted successfully. No content is returned. + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '409': + description: Cannot delete job in its current state (e.g., already running). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /activation-jobs/{id}/status: + parameters: + - $ref: '#/components/parameters/jobId' + get: + tags: + - Activation Management + summary: Get job status + description: Retrieve the current status of a specific plan activation job using its unique identifier. + operationId: getJobStatus + responses: + '200': + description: Job status retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ActivationJobStatus' + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + patch: + tags: + - Activation Management + summary: Cancel the activation job + description: Cancel the activation job + operationId: cancelActivationJobById + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRequest' + responses: + '200': + description: Job cancel request was successfully completed + '202': + description: Job cancel request was accepted and cancellation is ongoing + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '422': + description: Semantic error - e.g. job was not in RUNNING state + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /activation-jobs/{id}/activation-details: + get: + tags: + - Activation Management + summary: Get activation details + description: Retrieve detailed information about the activation results of a job + operationId: getActivationDetails + parameters: + - $ref: '#/components/parameters/jobId' + responses: + '200': + description: Activation details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionDetails' + '404': + description: Job not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /validation-jobs: + post: + tags: + - Validation Management + summary: Create a new plan validation job + description: Creates and starts a new plan validation job based on an existing plan descriptor. The new job's ID will be generated by the server and returned in the Location header. + operationId: createValidationJob + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationJobRequest' + responses: + '201': + description: Plan validation job created successfully. + The response body provides job details, and the Location header points to the new job. + headers: + Location: + description: URI of the created job resource. + schema: + type: string + format: uri-reference + example: "/validation-jobs/myjob-111" + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationJob' + '400': + description: Invalid request payload or parameters (e.g., malformed JSON, missing required fields). + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + get: + tags: + - Validation Management + summary: Get plan validation jobs + description: Retrieve a list of plan validation jobs. + operationId: getValidationJobs + parameters: + - in: query + name: job-state + schema: + $ref: '#/components/schemas/JobState' + description: Filter jobs by their current status. + example: "RUNNING" + responses: + '200': + description: List of plan validation jobs retrieved successfully. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/JobListEntry' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /validation-jobs/{id}: + parameters: + - $ref: '#/components/parameters/jobId' + get: + tags: + - Validation Management + summary: Get plan validation job details by ID + description: Retrieve detailed information about a specific plan validation job using its unique identifier. + operationId: getValidationJobById + responses: + '200': + description: Job details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationJob' + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + delete: + tags: + - Validation Management + summary: Delete a plan validation job by ID + description: Deletes a specific plan validation job, typically if it's not in a terminal state (e.g., running, completed, failed). + operationId: deleteValidationJobById + responses: + '204': + description: Job deleted successfully. No content is returned. + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /validation-jobs/{id}/status: + get: + tags: + - Validation Management + summary: Get job status + description: Retrieve the current status of a specific plan validation job using its unique identifier. + operationId: getValidationJobStatus + parameters: + - $ref: '#/components/parameters/jobId' + responses: + '200': + description: Job status retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationJobStatus' + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + patch: + tags: + - Activation Management + summary: Cancel the validation job + description: Cancel the validation job + operationId: cancelActivationJobById + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRequest' + responses: + '200': + description: Job cancel request was successfully completed + '202': + description: Job cancel request was accepted and cancellation is ongoing + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '422': + description: Semantic error - e.g. job was not in RUNNING state + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /validation-jobs/{id}/validation-details: + get: + tags: + - Validation Management + summary: Get validation details + description: Retrieve detailed information about the validation results of a job + operationId: getValidationDetails + parameters: + - $ref: '#/components/parameters/jobId' + - name: details + in: query + description: Selects the level of details to return. + schema: + type: string + enum: [summary, all] + default: all + responses: + '200': + description: Validation details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ExecutionDetails' + '404': + description: Job not found + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + + /validation-jobs/{id}/cancel-request: + parameters: + - $ref: '#/components/parameters/jobId' + put: + tags: + - Validation Management + summary: Cancel the validation job + description: Cancel the validation job + operationId: cancelValidationJobById + responses: + '200': + description: Job cancel request was successfully completed + '202': + description: Job cancel request was accepted and cancellation is ongoing + '404': + description: Job not found. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '422': + description: Semantic error - e.g. job was not in RUNNING state + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + '500': + description: Internal server error. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ErrorDetail' + +components: + parameters: + jobId: + name: id + in: path + description: Unique identifier of the job + required: true + schema: + type: string + example: "myjob-111" + descriptorId: + name: descriptorId + in: path + description: Unique identifier of the plan descriptor + required: true + schema: + type: string + example: "plan-descriptor-001" + + + schemas: + PlanConfigurationDescriptor: + type: object + required: + - configurationContentType + - planConfig + properties: + id: + type: string + description: Unique id of the plan configuration descriptor + example: "plan-001" + name: + type: string + description: Descriptive name of the plan group configuration descriptor + example: "Rollout-5G-Dublin-East" + version: + type: string + description: The version of the planned configuration. Its format is implementation specific. + example: 1.0.0 + description: + type: string + description: Used to describe the purpose of the plan configuration + example: "This is the plan for the new 5G rollout in Dublin east." + customProperties: + type: object + description: A dynamic set of custom properties provided by client + additionalProperties: true + example: + technology-type: NR + location: Dublin + currentConfigAddress: + type: string + format: uri-reference + description: A reference address to the current configuration associated with the configuration in this descriptor + example: "http://example.org/3gpp/ProvMnS/v1" + activationMode: + type: string + enum: [ATOMIC, BEST_EFFORT, STOP_ON_ERROR] + default : "BEST_EFFORT" + description: Specifies the execution behavior when the plan is activated + example: "BEST_EFFORT" + lastModifiedAt: + type: string + format: date-time + description: the last time the plan was modified + example: "2025-03-06T16:50:26-08:00" + validationState: + type: string + enum: [NOT_VALIDATED, VALIDATING, VALID, INVALID] + default : "NOT_VALIDATED" + description: The validation state of the plan. + example: "NOT_VALIDATED" + lastValidatedAt: + type: string + format: date-time + description: last time the plan was validated + example: "2025-03-06T16:50:29-08:00" + configurationContentType: + type: string + enum: + - application/vnd.3gpp.json-patch+json + - application/vnd.3gpp.yang-patch+json + description: The format/type of the configuration in planConfig + example: "application/vnd.3gpp.yang-patch+json" + planConfig: + description: "The plan configuration changes" + oneOf: + - type: array + items: + $ref: '#/components/schemas/Change' + - type: object + additionalProperties: + $ref: '#/components/schemas/Change' + description: A map of changes. The key of the map shall have the same value as the changeId. + PlanConfigurationDescriptorResponse: + type: object + required: + - id + - activationMode + - lastModifiedAt + - validationState + - configurationContentType + - planConfig + allOf: + - $ref: '#/components/schemas/PlanConfigurationDescriptor' + properties: + _links: + type: object + description: Hypermedia links for plan descriptor + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/ProvMnS/v1/plan-descriptors/pd-001" + templated: true + type: "application/json" + title: "The newly created PlanConfigurationDescriptor" + + PlanConfigurationGroupDescriptor: + type: object + required : + - members + properties: + id: + type: string + description: Unique id of the plan group configuration descriptor + example: "plan-001" + name: + type: string + description: Descriptive name of the plan group configuration descriptor + example: "Rollout-5G-Dublin-East" + description: + type: string + description: Used to describe the purpose of the plan group configuration + example: "This is the plan for the new 5G rollout in Dublin east." + customProperties: + type: object + description: A dynamic set of custom properties provided by client + additionalProperties: true + example: + technology-type: NR + location: Dublin + isOrdered: + type: boolean + description: Specifies if the members of the planned configuration group are ordered. When ordered, the planned configuration group members shall be validated/activated in the specified order. When not ordered the planned configuration group members can be validated/activated in any order + default: "false" + isFailOnMemberConflicts: + type: boolean + description: Specifies if the activation shall fail on detection of conflicts between planned configuration group members, or if the operations shall be processed as if there were no conflicts + default: "false" + activationMode: + type: string + enum: [ATOMIC, BEST_EFFORT, STOP_ON_ERROR] + default : "BEST_EFFORT" + description: Specifies the execution behavior when the plan configuration group is activated + example: "BEST_EFFORT" + lastModifiedAt: + type: string + format: date-time + description: the last time the plan was modified + example: "2025-03-06T16:50:26-08:00" + validationState: + type: string + enum: [NOT_VALIDATED, VALIDATING, VALID, INVALID] + default : "NOT_VALIDATED" + description: The validation state for the last time plan configuration group was validated + example: "NOT_VALIDATED" + lastValidatedAt: + type: string + format: date-time + description: last time the plan was validated + example: "2025-03-06T16:50:29-08:00" + members: + type: array + description: list of plan or plan group descriptor identifiers + items: + type: object + required: + - identifier + properties: + type: + type: string + enum: [PLAN, PLAN_GROUP] + default: PLAN + identifier: + type: string + example: [{"type" : "PLAN", "identifier" : "plan-descriptor-001"}, {"type" : "PLAN_GROUP", "identifier" : "plan-group-descriptor-001"}] + + FallbackConfigurationDescriptor: + type: object + required: + - configurationContentType + - planConfig + properties: + id: + type: string + description: Unique id of the fallback configuration descriptor + example: "fallback-001" + name: + type: string + description: Descriptive name of the fallback configuration descriptor + example: "Fallback-Rollout-5G-Dublin-East" + version: + type: string + description: The version of the fallback configuration. Its format is implementation specific. + example: 1.0.0 + description: + type: string + description: Used to describe the purpose of the fallback configuration + example: "Fallback for configuration plan Rollout-5G-Dublin-East." + customProperties: + type: object + description: A dynamic set of custom properties provided by client + additionalProperties: true + example: + technology-type: NR + location: Dublin + activationJob: + type: string + description: The identifier of the related activation job. + configurationContentType: + type: string + enum: + - application/vnd.3gpp.json-patch+json + - application/vnd.3gpp.yang-patch+json + description: The format/type of the configuration in planConfig + example: "application/vnd.3gpp.yang-patch+json" + planConfig: + description: "The fallback configuration." + oneOf: + - type: string + - type: object + additionalProperties: + $ref: '#/components/schemas/Change' + description: A map of changes. The key of the map shall have the same value as the changeId. + FallbackConfigurationDescriptorResponse: + type: object + required: + - id + - configurationContentType + - planConfig + allOf: + - $ref: '#/components/schemas/FallbackConfigurationDescriptor' + properties: + _links: + type: object + description: Hypermedia links for fallback descriptor + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/ProvMnS/v1/fallback-descriptors/pd-001" + templated: true + type: "application/json" + title: "The newly created FallbackConfigurationDescriptor" + PlanConfigurationGroupDescriptorResponse: + type: object + required: + - id + - activationMode + - validationState + - isOrdered + - isFailOnMemberConflicts + - members + allOf: + - $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' + properties: + _links: + type: object + description: Hypermedia links for plan descriptor + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/ProvMnS/v1/plan-group-descriptors/pgd-001" + templated: true + type: "application/json" + title: "The newly created PlanConfigurationGroupDescriptor" + + TriggerDescriptor: + type: object + required: + - conditionExpression + - evaluationPeriod + properties: + id: + type: string + description: Unique id of the plan configuration descriptor + example: "trigger-001" + name: + type: string + description: Descriptive name of the trigger descriptor + example: "Rollout-5G-Dublin-East" + description: + type: string + description: Used to describe the purpose of the trigger + example: "This is the plan for the new 5G rollout in Dublin east." + version: + type: string + description: an optional version for the Trigger Descriptor + example: "v1.0" + customProperties: + type: object + description: A dynamic set of custom properties provided by client + additionalProperties: true + example: + technology-type: NR + location: Dublin + conditionExpression: + type: string + description: The condition expression ##BALAZS JEX on NRM - OPEN + activationJobs: + type: array + items: + type : string + description: The identifiers of one or more activation jobs that shall be triggered by this condition. + startAt: + type: string + format: date-time + description: The date and time at which the evaluation of the condition expression shall start. The evaluation result is set to "False" before that date and time. If the information element is not specified, evaluation of the trigger condition shall start immediately. + example: "2025-03-06T16:50:26-08:00" + stopAt: + type: string + format: date-time + description: The date and time at which the evaluation of the condition expression shall stop. The evaluation result is set to "False" after that date and time. If the information element is not specified, evaluation of the trigger condition shall continue until the deletion of the trigger condition descriptor. + example: "2025-03-06T16:50:26-08:00" + currentEvaluationResult: + type: boolean + default : false + description: The current result of evaluating the "condition-expression". + example: false + lastModifiedAt: + type: string + format: date-time + description: The date and time at which the trigger condition was modified the last time by a MnS consumer. Upon creation of the trigger condition descriptor the value of the information element is set to the date and time at which the descriptor is created. + example: "2025-03-06T16:50:29-08:00" + lastTriggeredAt: + type: string + format: date-time + description: Th date and time at which the evaluation result of the trigger condition changed the last time from "False" to "True". + example: "2025-03-06T16:50:29-08:00" + isTriggerActive: + type: boolean + default : false + description: The indication if the trigger can start activation jobs (trigger is active), or if the trigger cannot start activation jobs (trigger is inactive). + example: false + isTriggerOnce: + type: boolean + default : true + description: The boolean indication, if the trigger is disarmed after the first firing. + example: false + evaluationPeriod: + type: integer + description: The evaluation period specifies the interval of time in seconds between two consecutive condition expression evaluations. + hysteresis: + type: integer + description: The hysteresis, when present, specifies that the trigger shall not be activated immediately when the evaluation result changes from false to true or a specified number of times. Values greater or equal to 1 are allowed + + TriggerDescriptorResponse: + type: object + required: + - id + - conditionExpression + - evaluationPeriod + - isTriggerOnce + - currentEvaluationResult + - isTriggerActive + allOf: + - $ref: '#/components/schemas/TriggerDescriptor' + properties: + _links: + type: object + description: Hypermedia links for trigger descriptor + allOf: + - $ref: '#/components/schemas/SelfLink' + example: + self: + href: "{root-url}/ProvMnS/v1/trigger-descriptors/trigger-001" + templated: true + type: "application/json" + title: "The newly created TriggerDescriptor" + + DescriptorListEntry: + type: array + items: + type: object + properties: + id: + type: string + description: id of the descriptor. + example: plan-descriptor-1 + name: + type: string + description: name of the descriptor. + example: Dublin East Rollout + description: + type: string + description: description/purpose of the descriptor. + example: plan-descriptor-1 + required : + - id + - name + + JobListEntry: + type: object + allOf: + - $ref: '#/components/schemas/JobState' + properties: + id: + type: string + description: id of the job. + example: plan-job-1 + name: + type: string + description: name of the job. + example: Dublin East Rollout Job + description: + type: string + description: description/purpose of the job. + example: Job to do dublin east rollout + required : + - id + - name + - jobState + + ActivationJobRequest: + type: object + properties: + name: + type: string + description: Name of the activation job + example: "Dublin East Cell Deployment" + description: + type: string + description: Human-readable description of the job + example: "Optimize the Dublin area network" + mnsConsumerId: + type: array + description: The user that created and/or started the job. It may indicated a human user and/or one or more applications initiating the job. E.g. ["userid:janedoe", "appid:12314"] + items: + type: string + isFallbackEnabled: + type: boolean + description: Whether fallback should be enabled for this job + default: true + serviceImpact: + type: string + enum: [LEAST_SERVICE_IMPACT, SHORTEST_TIME] + description: Additional job-specific parameters + default: "SHORTEST_TIME" + isImmediateActivation: + type: boolean + description: Specifies if the activation job shall start immediately or, alternatively, by conditional activation. + default: true + oneOf: + - type: object # Alt.1 planConfigDescrId + required: + - planConfigDescrId + properties: + planConfigDescrId: + type: string + description: Unique id reference to the plan descriptor to activate + example: "planxyz" + - type: object # Alt.2 planConfigDescr embedded + required: + - planConfigDescr + properties: + planConfigDescr: + type: object + description: Inline plan configuration descriptor to activate + allOf: + - $ref: '#/components/schemas/PlanConfigurationDescriptor' + example: + name: "myjob-111" + activationMode: "BEST_EFFORT" + customProperties: { + techology-type: "NR", + indoor: false + } + planConfig: + ... + - type: object # Alt.3 planConfigGroupDescrId + required: + - planConfigGroupDescrId # Alt.3 planConfigGroupDescrId + properties: + planConfigGroupDescrId: + type: string + description: Unique id reference to the plan group descriptor to activate + example: "plan-group-xyz" + - type: object # Alt.4 planConfigGroupDescr embedded + required: + - planConfigGroupDescr + properties: + planConfigGroupDescr: + type: string + description: Inline plan group descriptor to activate + allOf: + - $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' + - type: object # Alt.5 fallbackConfigDescrId + required: + - fallbackConfigDescrId + properties: + fallbackConfigDescrId: + type: string + description: Unique id reference to the fallback descriptor to activate + example: "planxyz" + + + ActivationJob: + type: object + required: + - id + - status + - isImmediateActivation + - isFallbackEnabled + - serviceImpact + - jobDetails + - _links + description: An object representing a plan activation job. + allOf: + - type: object + properties: + id: + type: string + description: ID of the activation job. + example: "job-id-3985199134" + status: + $ref: '#/components/schemas/ActivationJobStatus' + jobDetails: + $ref: '#/components/schemas/JobDetails' + activationDetails: + allOf: + - $ref: '#/components/schemas/LinkObject' + - type: object + properties: + href: + type: string + description: A URI reference to the activation details. + example: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/activation-details" + title: + type: string + enum: + - "Link to the activation details" + method: + type: string + enum: + - "GET" + type: + type: string + description: The content type expected when following this link (MIME type). + default: "application/json" + mnsConsumerId: + type: array + description: The user that created and/or started the job. It may indicate a human user and/or one or more applications initiating the job. E.g. ["userid:janedoe", "appid:12314"]. + items: + type: string + _links: + description: Hypermedia links for this resource, including fixed and dynamic relations. + allOf: + - $ref: '#/components/schemas/JobLinks' + - type: object + properties: + self: + allOf: + - $ref: '#/components/schemas/LinkObject' + - type: object + properties: + href: + type: string + default: "{apiRoot}/ProvMnS/v1/activation-jobs/{ActivationJobId}" + title: + type: string + enum: + - "Link to the plan activation job" + method: + type: string + enum: + - "GET" + example: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/activation-job-001" + title: "Link to the plan activation job" + type: "application/json" + templated: true + method: "GET" + fallback: + allOf: + - $ref: '#/components/schemas/LinkObject' + - type: object + description: A URI reference to the fallback plan descriptor. + example: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/myjob-111-fallback" + templated: true + type: "application/json" + title: "A URI reference to the fallback plan descriptor" + method: "GET" + additionalProperties: + $ref: '#/components/schemas/LinkObject' + - $ref: '#/components/schemas/ActivationJobRequest' + example: + id: "myjob-111" + name: "5G-Dublin-East-Rollout" + description: "Optimize the 5G network in Dublin East" + isFallbackEnabled: true + serviceImpact: "SHORTEST_TIME" + isImmediateActivation: true + status: + jobState: "RUNNING" + startedAt: "" + activationState: "NOT_STARTED" + jobDetails: {} # Assuming this is a simple object + activationDetails: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/activation-details" + templated: true + type: "application/json" + title: "The activation details of the plan configuration(s)" + method: "GET" + planConfigDescrId: "plan-descriptor-001" + _links: + self: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111" + templated: true + type: "application/json" + title: "The newly created activation job" + method: "GET" + planDescriptor: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/planxyz" + templated: true + type: "application/json" + title: "plan descriptor link" + method: "GET" + status: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/status" + templated: true + type: "application/json" + title: "activation status link" + method: "GET" + activation-details: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/activation-details" + templated: true + type: "application/json" + title: "activation details link" + method: "GET" + cancel: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/cancel-request" + templated: true + type: "application/json" + title: "cancel the job" + method: "PUT" + fallbackPlan: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/myfallback-plan-111" + templated: true + type: "application/json" + title: "fallback plan descriptor link" + method: "GET" + additionalProperties: true + + ValidationJobRequest: + type: object + required: + - _links + description: An object representing a plan activation job. + properties: + name: + type: string + description: Name of the validation job + example: "Dublin East Cell Deployment" + description: + type: string + description: Human-readable description of the job + example: "Optimize the Dublin area network" + validationMode: + type: string + enum: [CONTINUE_ON_ERROR, STOP_ON_ERROR] + default : "CONTINUE_ON_ERROR" + description: Specifies the execution behavior when the plan is activated + mnsConsumerId: + type: array + description: The user that created and/or started the job. It may indicated a human user and/or one or more applications initiating the job. E.g. ["userid:janedoe", "appid:12314"] + items: + type: string + oneOf: + - type: object # Alt.1 planConfigDescrId + required: + - planConfigDescrId + properties: + planConfigDescrId: + type: string + description: Unique id reference to the plan descriptor to validate + example: "planxyz" + - type: object # Alt.2 planConfigDescr embedded + required: + - planConfigDescr + properties: + planConfigDescr: + type: object + description: Inline plan configuration descriptor to validate + allOf: + - $ref: '#/components/schemas/PlanConfigurationDescriptor' + example: + name: "myjob-111" + activationMode: "BEST_EFFORT" + customProperties: { + techology-type: "NR", + indoor: false + } + planConfig: + ... + - type: object # Alt.3 planConfigGroupDescrId + required: + - planConfigGroupDescrId + properties: + planConfigGroupDescrId: + type: string + description: Unique id reference to the plan group descriptor to validate + example: "plan-group-xyz" + - type: object # Alt.4 planConfigGroupDescr embedded + required: + - planConfigGroupDescr + properties: + planConfigGroupDescr: + type: string + description: Inline plan group descriptor to validate + allOf: + - $ref: '#/components/schemas/PlanConfigurationGroupDescriptor' + - type: object # Alt.5 fallbackConfigDescrId + required: + - fallbackConfigDescrId + properties: + fallbackConfigDescrId: + type: string + description: Unique id reference to the fallback descriptor to validate + example: "planxyz" + example: + { + name : "5G-Dublin-East-Rollout", + description : "Optimize the 5G network in Dublin East", + planConfigDescrId : "plan-descriptor-001", + } + additionalProperties : true + + ValidationJob: + type: object + required: + - id + - status + - jobDetails + - validationDetails + - _links + allOf: + - $ref: '#/components/schemas/ValidationJobRequest' + - type: object + properties: + id: + type: string + description: id of the validation job + example: "job-id-3985199134" + status: + allOf: + - $ref: '#/components/schemas/ValidationJobStatus' + jobDetails: + allOf: + - $ref: '#/components/schemas/JobDetails' + currentConfigTime: + type: string + format: date-time + validationDetails: + allOf: + - $ref: '#/components/schemas/LinkObject' + - type: object + properties: + href: + type: string + title: A URI reference to the validation details + example: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/validation-details" + title: + type: string + enum: + - "Link to the validation details" + method: + type: string + enum: + - "GET" + type: + type: string + description: The content type expected when following this link (MIME type). + default: "application/json" + _links: + description: Hypermedia links for this resource, including fixed and dynamic relations + allOf: + - $ref: '#/components/schemas/JobLinks' + - type: object + properties: + self: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/ProvMnS/v1/validation-jobs/{validationJobId}" + title: + type: string + enum: + - "Link to the plan validation job" + method: + type: string + enum: + - "GET" # This means the method MUST be "GET" + example: + href: "{apiRoot}/ProvMnS/v1/validation-jobs/validation-job-001" + title: "Link to the plan validation job" + type: "application/json" + templated: true + method: GET + cencel: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/ProvMnS/v1/validation-jobs/{validationJobId}/status" + title: + type: string + enum: + - "Link to the plan validation job" + method: + type: string + enum: + - "PATCH" # This means the method MUST be "GET" + example: + href: "{apiRoot}/ProvMnS/v1/validation-jobs/validation-job-001/status" + title: "Link to the cancel validation job - cancelRequest : true must be in body" + type: "application/json" + templated: true + method: PUT + + + required : + - self + - cancel + # additionalProperties to allow any other dynamic links + additionalProperties: + $ref: '#/components/schemas/LinkObject' + example: + self: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111" + templated: true + type: "application/json" + title: "The newly created activation job" + method : "GET" + planDescriptor: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/planxyz" + templated: true + type: "application/json" + title: "plan descriptor link" + method : "GET" + status: + href: "{apiRoot}/ProvMnS/1900/activation-jobs/myjob-111/status" + templated: true + type: "application/json" + title: "activation status link" + method : "GET" + cancel: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/status" + templated: true + type: "application/json" + title: "cancel the job" + method : "PATCH" + + example: + { + id : "myjob-111", + name : "5G-Dublin-East-Rollout", + description : "Optimize the 5G network in Dublin East", + isFallbackEnabled : true, + serviceImpact : "SHORTEST_TIME", + isImmediateActivation : true, + status : { + jobState : "RUNNING", + jobDetails : {...}, + startedAt : "", + activationState : "NOT_STARTED" + }, + validationDetails : { + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/validation-details", + templated: true, + type: "application/json", + title: "The validation details of the plan configuration(s)", + method : "GET" + }, + planConfigDescrId : "plan-descriptor-001", + } + additionalProperties : true + + CancelRequest: + type: object + properties: + cancelRequest: + type: boolean + description: property to cancel the activation/validation job + example: true + + Change: + type: object + properties: + changeId: + type: string + description: Unique identifier for this change + example: "opId-001" + operation: + type: string + enum: [create, merge, update, delete] + description: The operation to perform + example: "create" + description: + type: string + description: text describing the change + example: "modify NR cell for optimisation" + target: + type: string + description: Target data node path + example: "/_3gpp-common-subnetwork:SubNetwork=Irl/3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=1/_3gpp_nrm_nrcelldu:NRCellDU=4" + value: + type: object + additionalProperties: true # Allows any nested properties within 'value' + description: Value to apply (for create/update/merge/delete operations) + additionalProperties: true # Allows for any nested properties + required: + - operation + - target + + JobLinks: + type: object + allOf: + - $ref: '#/components/schemas/SelfLink' + properties: + planDescriptor: + description: A URI reference to the plan (or plan group) configuration descriptor + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/ProvMnS/v1/plan-descriptors/{planDescriptorId}" + title: + type: string + enum: + - "Link to the plan (or plan group) configuration descriptor" + method: + type: string + enum: + - "GET" # This means the method MUST be "GET" + example: + href: "{apiRoot}/ProvMnS/v1/plan-descriptors/plan-descriptor-001" + title: "Link reference to the plan (or plan group) configuration descriptor" + type: "application/json" + templated: true + method: GET + status: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/ProvMnS/v1/activation-jobs/{jobId}/status" + title: + type: string + enum: + - "Link to GET the job status" + method: + type: string + enum: + - "GET" # This means the method MUST be "GET" + description: A URI reference to the status information + example: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/status" + title: "Link to GET the job status" + type: "application/json" + templated: true + method: GET + cancel: + allOf: + - $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + - type: object + properties: + href: + type: string + default: "{apiRoot}/ProvMnS/v1/plan-{job-type}-jobs/{jobId}/status" + title: + type: string + enum: + - "Link to cancel the job" + method: + type: string + enum: + - "PATCH" # This means the method MUST be "PATCH" + description: A URI reference to cancel the job + example: + href: "{apiRoot}/ProvMnS/v1/activation-jobs/myjob-111/status" + title: "Link to cancel the job" + type: "application/json" + templated: true + method: PATCH + + JobState: + type: string + enum: [NOT_STARTED, QUEUED, RUNNING, CANCELLING, CANCELLED, COMPLETED, FAILED] + example: "COMPLETED" + + JobDetails: + properties: + jobInformation: + type: string + additionalProperties: true + + ActivationJobStatus: + properties: + jobState: + allOf: + - $ref: '#/components/schemas/JobState' + example: "COMPLETED" + activationState: + allOf: + - $ref: '#/components/schemas/ActivationState' + example: "ACTIVATED" + startedAt: + type: string + format: date-time + example: "2024-12-02T13:16:54.088Z" + stoppedAt: + type: string + format: date-time + example: "2024-12-02T13:16:58.088Z" + + ValidationJobStatus: + properties: + jobState: + allOf: + - $ref: '#/components/schemas/JobState' + example: "COMPLETED" + validationState: + allOf: + - $ref: '#/components/schemas/ValidationState' + example: "VALID" + startedAt: + type: string + format: date-time + example: "2024-12-02T13:16:54.088Z" + stoppedAt: + type: string + format: date-time + example: "2024-12-02T13:16:58.088Z" + + ExecutionDetails: + type: object + description: Details of the execution of the operations that are contained in the planned configuration or planned configuration group referenced in the job. + properties: + results: + type: array + items: + type: object + properties: + planDescriptorId: + type: string + example: "planconfig-descriptor-001" + changes: + type: array + items: + $ref: '#/components/schemas/ChangeStatus' + summary: + $ref: '#/components/schemas/SummaryStatus' + example: + { + "results": { ...}, + "summary" : { + "unprocessed": 0, + "succeeded": 2, + "failed": 3 + } + } + + ValidationState: + type: string + enum: [UNKNOWN, VALIDATION_SUCCEEDED, VALIDATION_FAILED] + example: "VALIDATED" + + ActivationState: + type: string + enum: [NOT_STARTED, VALIDATING, ACTIVATED, ACTIVATION_FAILED, PARTIALLY_ACTIVATED, ACTIVATION_FAILED_ROLLED_BACK, ACTIVATION_FAILED_ROLLBACK_FAILED] + example: "ACTIVATED" + + ChangeStatus: + type: object + properties: + changeId: + type: string + example: "changeId-001" + state: + type: string + enum: [NOT_STARTED, PROCESSING, SUCCEEDED, FAILED] + default: NOT_STARTED + example: "SUCCEEDED" + target: + type: string + example: "/SubNetwork=1/MeContext=2/ManagedElement=3" + errors: + type: array + items: + $ref: '#/components/schemas/ErrorDetail' + conflicts: + type: array + items: + $ref: '#/components/schemas/Conflict' + required: + - changeId # either the changeId from the plan or the array index in the array of Change; + - target + - state + example: + changeId: changeId-002-update-config + target: /SubNetwork=1/MeContext=2/ManagedElement=3 + state: FAILED + errors: + - type: VALIDATION_ERROR + title: Validation Error + status: 400 + reason: NEW_ATTRIBUTE_VALUE_INVALID + detail: The provided value 'some-value' for 'someAttr' is not allowed. Valid values are 'some-value-x', 'some-value-y'. + path: /SubNetwork=1/MeContext=2/ManagedElement=3/attributes/someAttr + errorInfo: + attributeName: someAttr + invalidValue: some-value + + SummaryStatus: + type: object + properties: + notFinished: + type: integer + example: 1 + succeeded: + type: integer + example: 3 + failed: + type: integer + example: 3 + rollbackSucceeded: + type: integer + example: 0 + rollbackFailed: + type: integer + example: 0 + + Conflict: + type: object + allOf: + - $ref: '#/components/schemas/Change' + properties: + planDescriptorId: + type: string + change: + $ref: '#/components/schemas/Change' + conflictingChanges: + type: array + items: + $ref: '#/components/schemas/ConflictingChange' + example: + { + "planDescriptorId" : "plan-descriptor-001", + "changeId": "optimization-change-A", + "operation": "merge", + "target": "/_3gpp-common-subnetwork:SubNetwork=HQ/NRCellDU=cell-22", + "value" : { + "attributes" : { + "some-attribute-name-a" : "some-attribute-value-b" + } + }, + "conflictingChanges": [ + { + "planDescriptorId": "plan-emergency-fix", + "change": { + "changeId": "fix-power-issue-X", + "operation": "merge", + "target": "/_3gpp-common-subnetwork:SubNetwork=HQ/NRCellDU=cell-22", + "value" : { + "attributes" : { + "some-attribute-name-x" : "some-attribute-value-y" + } + }, + }, + "conflictType": "VALUE_OVERWRITE", + "conflictMessage": "This change attempts to set 'transmitPower' to 45, but 'fix-power-issue-X' from 'plan-emergency-fix' sets it to 40. Only one value can persist.", + "severity": "HIGH" + } + ] + } + + ConflictingChange: + type: object + properties: + planDescriptorId: + type: string + change: + $ref: '#/components/schemas/Change' + conflictType: + type: string + conflictMessage: + type: string + severity: + type: string + enum: + - LOW + - MEDIUM + - HIGH + - UNKNOWN + default: UNKNOWN + required: + - change + - conflictType + - severity + + ErrorDetail: + type: object + properties: + title: + type: string + description: A short, human-readable summary of the problem type + example: "Data already exists; cannot be created" + status: + type: integer + format: int32 + enum: + - 400 + - 403 + - 404 + - 405 + - 406 + - 408 + - 410 + - 411 + - 413 + - 414 + - 415 + - 422 + - 426 + - 429 + - 451 + type: + type: string + description: The type of the error + enum: + - VALIDATION_ERROR + - REQUEST_OBJECT_TREE_MISMATCH + - IE_NOT_FOUND + - MODIFICATION_NOT_ALLOWED + - RETRIEVAL_NOT_ALLOWED + - SERVER_LIMITATION + - SERVICE_DISABLED + - APPLICATION_LAYER_ERROR + reason: + type: string + enum: + - RESPONSE_TOO_LARGE + - NO_DATA_ACCESS + - QUERY_MALFORMED + - QUERY_PARAM_NAMES_INVALID + - QUERY_PARAM_VALUES_INVALID + - QUERY_PARAMS_MISSING + - QUERY_PARAMS_INCONSISTENT + - ATTRIBUTES_NOT_READABLE + - QUERY_PARAMS_TOO_COMPLEX + - NEW_ATTRIBUTE_VALUE_INVALID + - NEW_ATTRIBUTE_NAME_INVALID + - ATTRIBUTE_NOT_WRITABLE + - ATTRIBUTE_INVARIANT + - ATTRIBUTE_NOT_FOUND + - OBJECT_CREATION_NOT_ALLOWED + - OBJECT_DELETION_NOT_ALLOWED + - NEW_OBJECT_CLASS_NAME_INVALID + - NEW_OBJECT_REPRESENTATION_INVALID + - NEW_OBJECT_CONTAINMENT_INVALID + - NEW_OBJECTS_ID_EXISTS + - NEW_OBJECTS_PARENT_NOT_FOUND + - NEW_OBJECT_ATTRIBUTE_VALUE_MISSING + - OBJECTS_CARDINALITY_INVALID + - OBJECT_NOT_A_LEAF + - OBJECT_NOT_FOUND + - OP_UNKNOWN + - RESOURCE_LOCKED + - SERVICE_LOCKED + - UNKNOWN + example: "UNKNOWN" + detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem. + example: "NRCellDU=1234 already exists in the network" + path: + type: string + example: "/_3gpp-common-subnetwork:SubNetwork=Irl/_3gpp-common-mecontext:MeContext=Dublin-1" + errorInfo : + type: object + description: additional error info (e.g. stackdump) + additionalProperties: true + required: + - type + - title + - status + + # Use oneOf and discriminator to define the mapping + oneOf: + # Define a specific schema for each 'type' enum value + - $ref: '#/components/schemas/ValidationErrorDetails' + - $ref: '#/components/schemas/RequestObjectTreeMismatchDetails' + - $ref: '#/components/schemas/IENotFoundDetails' + - $ref: '#/components/schemas/ModificationNotAllowedDetails' + - $ref: '#/components/schemas/RetrievalNotAllowedDetails' + - $ref: '#/components/schemas/ServerLimitationDetails' + - $ref: '#/components/schemas/ServiceDisabledDetails' + - $ref: '#/components/schemas/ApplicationLayerErrorDetails' + # Add other specific error types here + + discriminator: + propertyName: type # This is the property that determines which oneOf schema applies + mapping: + VALIDATION_ERROR: '#/components/schemas/ValidationErrorDetails' + REQUEST_OBJECT_TREE_MISMATCH: '#/components/schemas/RequestObjectTreeMismatchDetails' + IE_NOT_FOUND: '#/components/schemas/IENotFoundDetails' + MODIFICATION_NOT_ALLOWED: '#/components/schemas/ModificationNotAllowedDetails' + RETRIEVAL_NOT_ALLOWED: '#/components/schemas/RetrievalNotAllowedDetails' + SERVER_LIMITATION: '#/components/schemas/ServerLimitationDetails' + SERVICE_DISABLED: '#/components/schemas/ServiceDisabledDetails' + APPLICATION_LAYER_ERROR: '#/components/schemas/ApplicationLayerErrorDetails' + + # Individual schemas for each specific error type + ValidationErrorDetails: + type: object + properties: + type: + type: string + enum: [VALIDATION_ERROR] + title: + type: string + enum: ["Validation Error"] + status: + type: integer + enum: [400] + + RequestObjectTreeMismatchDetails: + type: object + properties: + type: + type: string + enum: [REQUEST_OBJECT_TREE_MISMATCH] + title: + type: string + enum: ["Request Object Tree Mismatch"] + status: + type: integer + enum: [422] + + IENotFoundDetails: + type: object + properties: + type: + type: string + enum: [IE_NOT_FOUND] + title: + type: string + enum: ["Information Element Not Found"] + status: + type: integer + enum: [400] + + ModificationNotAllowedDetails: + type: object + properties: + type: + type: string + enum: [MODIFICATION_NOT_ALLOWED] + title: + type: string + enum: ["Modification Not Allowed"] + status: + type: integer + enum: [403] + + RetrievalNotAllowedDetails: + type: object + properties: + type: + type: string + enum: [RETRIEVAL_NOT_ALLOWED] + title: + type: string + enum: ["Retrieval Not Allowed"] + status: + type: integer + enum: [403] + + ServerLimitationDetails: + type: object + properties: + type: + type: string + enum: [SERVER_LIMITATION] + title: + type: string + enum: ["Server Limitation"] + status: + type: integer + enum: [500] + + ServiceDisabledDetails: + type: object + properties: + type: + type: string + enum: [SERVICE_DISABLED] + title: + type: string + enum: ["Service Disabled"] + status: + type: integer + enum: [503] + + ApplicationLayerErrorDetails: + type: object + properties: + type: + type: string + enum: [APPLICATION_LAYER_ERROR] + title: + type: string + enum: ["Application Layer Error"] + status: + type: integer + enum: [500] + + LinkObject: + type: object + description: Defines the structure of a single hypermedia link. + properties: + href: + type: string + format: uri-reference # Use uri-reference for relative paths (allows for absolute or relative uri) + description: The target URI of the link. + templated: + type: boolean + description: Indicates if the href is a URI Template (RFC 6570). + default: true + type: + type: string + description: The content type expected when following this link (MIME type). + title: + type: string + description: A human-readable title that describes the link's purpose. + method: + type: string + enum: [GET, POST, PUT, DELETE, PATCH] + description: The HTTP method to use for this action link. + required: + - href + + SelfLink: + type: object + description: Hypermedia links for this resource, including fixed and dynamic relations. + properties: + self: + allOf: + - $ref: '#/components/schemas/LinkObject' + description: A link to the resource itself. + # additionalProperties to allow any other dynamic links + additionalProperties: + $ref: '#/components/schemas/LinkObject' # Any other link will conform to LinkObject schema + required: + - self + example: # demonstrates a typical _links object in an actual response + self: + href: "{root-url}/ProvMnS/v1/plan-descriptors/pd-001" + templated: true + type: "application/json" + title: "The newly created PlanConfigurationDescriptor" + help: + href: "{root-url}/help-service/v1/topics/plan-descriptors" + templated: true + type: "application/json" + title: "online help for the plan descriptor" + + examples: + # Reusable Configuration Change Examples + AddNrCellChange: + summary: Add a new NR Cell (create operation) + value: + operation: create + changeId: add-nr-cell-001 + description: Add new NR cell for initial deployment in Dublin-1 area. + target: /_3gpp-common-subnetwork:SubNetwork=Irl/_3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=1/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp_nrm_nrcelldu:NRCellDU=4 + value: + ... + UpdateNrCellChange: + summary: Update an existing NR Cell (merge operation) + value: + operation: update + changeId: update-nr-cell-002 + description: Update administrativeState for existing NRCellDU=1. + target: /_3gpp-common-subnetwork:SubNetwork=North/_3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=ENB-A/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp_nrm_nrcelldu:NRCellDU=1 + value: + ... + RemoveNrCellChange: + summary: Remove an NR Cell (remove operation) + value: + operation: delete + changeId: remove-nr-cell-003 + description: Decommission NRCellDU=3. + target: /_3gpp-common-subnetwork:SubNetwork=Irl/_3gpp-common-mecontext:MeContext=Dublin-1/_3gpp_nrm_managedelement:ManagedElement=1/_3gpp-nr-nrm-gnbdufunction:GNBDUFunction=1/_3gpp_nrm_nrcelldu:NRCellDU=3 \ No newline at end of file diff --git a/OpenAPI/TS28623_ComDefs.yaml b/OpenAPI/TS28623_ComDefs.yaml index f5985b380d3b5e0fe042a76a134ec72c1e6251dc..71d88b74d0956d83d5ecb38b1ed1e1497e54a6b8 100755 --- a/OpenAPI/TS28623_ComDefs.yaml +++ b/OpenAPI/TS28623_ComDefs.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Common Type Definitions - version: 18.7.0 + version: 19.5.0 description: >- OAS 3.0.1 specification of common type definitions in the Generic 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.623; Generic NRM; Common type definitions @@ -14,11 +14,23 @@ components: schemas: Float: + description: This datatype is used for writable attribute type: number format: float + FloatRo: + description: This datatype is used for readOnly attribute + type: number + format: float + readOnly: true DateTime: + description: This datatype is used for writable attribute type: string format: date-time + DateTimeRo: + description: This datatype is used for readOnly attribute + type: string + format: date-time + readOnly: true FullTime: type: string description: format (e.g., full-time) is from RFC 3339 @@ -48,28 +60,67 @@ components: maximum: 180 Dn: + description: This datatype is used for writable attribute + type: string + DnRo: + description: This datatype is used for readOnly attribute type: string + readOnly: true DnList: + description: This datatype is used for writable attribute type: array + uniqueItems: true items: $ref: '#/components/schemas/Dn' + DnListRo: + description: This datatype is used for readOnly attribute + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/DnRo' Mcc: + description: This datatype is used for writable attribut + type: string + pattern: '^[0-9]{3}$' + MccRo: + description: This datatype is used for readOnly attribute type: string pattern: '^[0-9]{3}$' + readOnly: true Mnc: + description: This datatype is used for writable attribut type: string pattern: '^[0-9]{2,3}$' + MncRo: + description: This datatype is used for readOnly attribute + type: string + pattern: '^[0-9]{2,3}$' + readOnly: true 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 properties: mcc: $ref: '#/components/schemas/Mcc' mnc: $ref: '#/components/schemas/Mnc' + PlmnIdRo: + description: This datatype is used for readOnly attribute + type: object + properties: + mcc: + $ref: '#/components/schemas/MccRo' + mnc: + $ref: '#/components/schemas/MncRo' Tac: type: string pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' @@ -80,23 +131,23 @@ components: pattern: '^[A-Fa-f0-9]{7}$' NrCellId: type: string - pattern: '^[A-Fa-f0-9]{9}$' + pattern: '^[A-Fa-f0-9]{9}$' TimeWindow: - oneOf: - - type: object - properties: - startTime: - $ref: '#/components/schemas/DateTime' - endTime: - $ref: '#/components/schemas/DateTime' - - type: object - properties: - startTime: - $ref: '#/components/schemas/DateTime' - - type: object - properties: - endTime: - $ref: '#/components/schemas/DateTime' + description: This datatype is used for writable attribute + type: object + properties: + startTime: + $ref: '#/components/schemas/DateTime' + endTime: + $ref: '#/components/schemas/DateTime' + TimeWindowRo: + description: This datatype is used for readOnly attribute + type: object + properties: + startTime: + $ref: '#/components/schemas/DateTimeRo' + endTime: + $ref: '#/components/schemas/DateTimeRo' GeoCoordinate: type: object properties: @@ -106,16 +157,15 @@ components: $ref: '#/components/schemas/Longitude' altitude: $ref: '#/components/schemas/Float' - ConvexGeoPolygon: - type: array - items: - $ref: '#/components/schemas/GeoCoordinate' - minItems: 3 GeoArea: - type: object - properties: - convexGeoPolygon: - $ref: '#/components/schemas/ConvexGeoPolygon' + oneOf: + - type: object + properties: + geoPolygon: + type: array + items: + $ref: '#/components/schemas/GeoCoordinate' + minItems: 1 GeoAreaToCellMapping: type: object properties: @@ -131,39 +181,90 @@ components: - type: array items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai' + minItems: 1 + maxItems: 8 - type: array items: $ref: '#/components/schemas/NrCellId' + minItems: 1 + maxItems: 32 - type: array items: $ref: '#/components/schemas/EutraCellId' + minItems: 1 + maxItems: 32 - type: array items: $ref: '#/components/schemas/UtraCellId' - + minItems: 1 + maxItems: 32 Fqdn: type: string + description: This datatype is used for writable attribute + pattern: '^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\.)+[A-Za-z]{2,63}\.?$' + minLength: 4 + maxLength: 253 + FqdnRo: + type: string + description: This datatype is used for readOnly attribute + pattern: '^([0-9A-Za-z]([-0-9A-Za-z]{0,61}[0-9A-Za-z])?\.)+[A-Za-z]{2,63}\.?$' + minLength: 4 + maxLength: 253 + readOnly: true + Ipv4Addr: + description: This datatype is used for writable attribute 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' + Ipv4AddrRo: + description: This datatype is used for readOnly attribute + 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' + readOnly: true Ipv6Addr: + description: This datatype is used for writable attribute 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' + Ipv6AddrRo: + description: This datatype is used for readOnly attribute + 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' + readOnly: true Ipv6Prefix: + description: This datatype is used for writable attribute + 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' + Ipv6PrefixRo: + description: This datatype is used for readOnly attribute 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' + readOnly: true IpAddr: + description: This datatype is used for writable attribute oneOf: - $ref: '#/components/schemas/Ipv4Addr' - $ref: '#/components/schemas/Ipv6Addr' - $ref: '#/components/schemas/Ipv6Prefix' + IpAddrRo: + description: This datatype is used for readOnly attribute + oneOf: + - $ref: '#/components/schemas/Ipv4AddrRo' + - $ref: '#/components/schemas/Ipv6AddrRo' + - $ref: '#/components/schemas/Ipv6PrefixRo' HostAddr: # This definition will be deprecated, when all occurances of HostAddr # are replaced by Host. @@ -175,8 +276,17 @@ components: oneOf: - $ref: '#/components/schemas/IpAddr' - $ref: '#/components/schemas/Fqdn' + HostRo: + oneOf: + - $ref: '#/components/schemas/IpAddrRo' + - $ref: '#/components/schemas/FqdnRo' Uri: + description: This datatype is used for writable attribute type: string + UriRo: + type: string + description: This datatype is used for readOnly attribute + readOnly: true TimeInterval: type: object @@ -192,14 +302,21 @@ components: - LOCKED - UNLOCKED default: LOCKED + BasicAdministrativeState: + type: string + enum: + - LOCKED + - UNLOCKED OperationalState: type: string enum: - ENABLED - DISABLED - default: DISABLED + default: DISABLED + readOnly: true UsageState: type: string + readOnly: true enum: - IDLE - ACTIVE @@ -216,6 +333,7 @@ components: - DEGRADED - NOT_INSTALLED - LOG_FULL + readOnly: true AttributeNameValuePairSet: description: >- @@ -238,11 +356,26 @@ components: description: >- The filter format shall be compliant to Jex (TS 32.161). type: string + JexConditions: + type: string + description: >- + The value of the string shall be a Jex expression that is compliant to the + Jex conditions profile specified in clause 7.6 of TS 32.161. + JexNodeSelectionBasic: + type: string + description: >- + The value of the string shall be a Jex expression that is compliant to the + Jex basic profile specified in clause 7.4 of TS 32.161. + JexNodeSelectionAdvanced: + type: string + description: >- + The value of the string shall be a Jex expression that is compliant to the + Jex advanced profile specified in clause 7.5 of TS 32.161. SystemDN: type: string - NotificationId: type: integer + readOnly: true NotificationType: oneOf: - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/AlarmNotificationTypes' @@ -263,6 +396,10 @@ components: $ref: '#/components/schemas/DateTime' systemDN: $ref: '#/components/schemas/SystemDN' + sequenceNo: + type: integer + subscriptionId: + type: string required: - href - notificationId @@ -289,7 +426,7 @@ components: timeTick: type: integer filter: - $ref: '#/components/schemas/Filter' + $ref: '#/components/schemas/JexConditions' ErrorResponseGet: description: >- diff --git a/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8dedab4eff73a9cd9a794b4dd17650453132381f --- /dev/null +++ b/OpenAPI/TS28623_ExternalDataMgmtNrm.yaml @@ -0,0 +1,81 @@ +openapi: 3.0.1 +info: + title: External data management NRM + version: 19.5.0 + description: >- + OAS 3.0.1 definition of the External data type NRM fragment + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623; Generic NRM, External data type NRM fragment + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-ExternalDataMgmtNrm: + type: object + properties: + ExternalDataType: + $ref: '#/components/schemas/ExternalDataType-Multiple' + + +#-------- Definition of types----------------------------------------------------- + + ExternalDataScope: + type: object + properties: + geoAreas: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/GeoArea' + objectInstancesIncluded: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + objectInstancesExcluded: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + +#-------- Definition of concrete IOCs -------------------------------------------- + + ExternalDataType-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + attributes: + type: object + properties: + externalDataType: + type: string + mediaLocation: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + externalDataTypeSchema: + type: string + externalDataScope: + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/ExternalDataScope' + +#-------- Definition of YAML arrays for name-contained IOCs ---------------------- + + ExternalDataType-Multiple: + type: array + items: + $ref: '#/components/schemas/ExternalDataType-Single' + +#-------- Definitions in TS 28.623 for TS 28.532 --------------------------------- + resources-externalDataMgmtNrm: + oneOf: + - $ref: '#/components/schemas/ExternalDataType-Single' + + diff --git a/OpenAPI/TS28623_FeatureNrm.yaml b/OpenAPI/TS28623_FeatureNrm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..503f3d7af798612be7cb1877a9a32085e71d00f6 --- /dev/null +++ b/OpenAPI/TS28623_FeatureNrm.yaml @@ -0,0 +1,42 @@ +openapi: 3.0.1 +info: + title: NRM Feautres + version: 19.5.0 + description: >- + OAS 3.0.1 definition of the Features of NRM + © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. +externalDocs: + description: 3GPP TS 28.623; Generic NRM, NRM Features + url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/ +paths: {} +components: + schemas: +#----- Definitions in TS 28.623 for TS 28.532 --------------------------# + resources-feature: + anyOf: + - $ref: 'TS28104_MdaNrm.yaml#/components/schemas/resources-mdaNrm' + - $ref: 'TS28105_AiMlNrm.yaml#/components/schemas/resources-AiMlNrm' + - $ref: 'TS28111_FaultNrm.yaml#/components/schemas/resources-faultNrm' + - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/resources-intentNrm' + - $ref: 'TS28317_RanScNrm.yaml#/components/schemas/resources-RanScNrm' + - $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: 'TS28538_EdgeNrm.yaml#/components/schemas/resources-edgeNrm' + - $ref: 'TS28541_NrNrm.yaml#/components/schemas/resources-nrNrm' + - $ref: 'TS28541_5GcNrm.yaml#/components/schemas/resources-5gcNrm' + - $ref: 'TS28541_SliceNrm.yaml#/components/schemas/resources-sliceNrm' + - $ref: 'TS28561_NdtNrm.yaml#/components/schemas/resources-ndtNrm' + - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/resources-fileMgmtNrm' + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/resources-genericNrm' + - $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/resources-mgmtDataCollectionNrm' + - $ref: 'TS28623_MnSRegistryNrm.yaml#/components/schemas/resources-mnSRegistryNrm' + - $ref: 'TS28623_PmControlNrm.yaml#/components/schemas/resources-pmControlNrm' + - $ref: 'TS28623_QoEMeasurementCollectionNrm.yaml#/components/schemas/resources-qoEMeasuremetCollectionNrm' + - $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/resources-subscriptionControlNrm' + - $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 a0b20fe331eb04fc84b438f734814a577bbc437c..60d44b7f0ad4c9d3c23563fd331565758cbcc096 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: 18.7.0 + version: 19.2.0 description: >- OAS 3.0.1 definition of the File Management NRM fragment © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -12,6 +12,25 @@ externalDocs: paths: {} components: schemas: + + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-FileManagementNrm: + type: object + properties: + FileDownloadJob: + $ref: '#/components/schemas/FileDownloadJob-Multiple' + Files: + $ref: '#/components/schemas/Files-Multiple' + ManagedElement-ncO-FileManagementNrm: + type: object + properties: + FileDownloadJob: + $ref: '#/components/schemas/FileDownloadJob-Multiple' + Files: + $ref: '#/components/schemas/Files-Multiple' + #-------Definition of generic IOCs ----------# + + #-------- Definition of types----------------------------------------------------- FileDownloadJobProcessMonitor: description: >- @@ -19,10 +38,12 @@ components: for usage in the "FileDownloadJob". type: object properties: - jobId: + id: type: string + readOnly: true status: type: string + readOnly: true enum: - NOT_STARTED - RUNNING @@ -32,13 +53,16 @@ components: - CANCELLED progressPercentage: type: integer + readOnly: true minimum: 0 maximum: 100 progressStateInfo: + readOnly: true type: string resultStateInfo: oneOf: - type: string + readOnly: true enum: - NULL - UNKNOWN @@ -50,10 +74,11 @@ components: - TIMER_EXPIRED - OTHER - type: string + readOnly: true startTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' endTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' timer: type: integer @@ -90,10 +115,12 @@ components: properties: numberOfFiles: type: integer + readOnly: true jobRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' jobId: type: string + readOnly: true File: $ref: '#/components/schemas/File-Multiple' File-Single: @@ -105,13 +132,16 @@ components: type: object properties: fileLocation: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' fileCompression: type: string + readOnly: true fileSize: type: integer + readOnly: true fileDataType: type: string + readOnly: true enum: - PERFORMANCE - TRACE @@ -119,16 +149,19 @@ components: - PROPRIETARY fileFormat: type: string + readOnly: true fileReadyTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' fileExpirationTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' fileContent: type: string + readOnly: true jobRef: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' jobId: type: string + readOnly: true diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index 695a96fa442dded3b0438515c7de8c8ad024ef97..82befbe22599d5c8c7018210095886e032bedbe5 100755 --- a/OpenAPI/TS28623_GenericNrm.yaml +++ b/OpenAPI/TS28623_GenericNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Generic NRM - version: 18.7.0 + version: 19.5.0 description: >- OAS 3.0.1 definition of the Generic 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.623; Generic NRM @@ -15,12 +15,10 @@ components: #-------- Definition of types----------------------------------------------------- - RegistrationState: - type: string - enum: - - REGISTERED - - DEREGISTERED - VnfParameter: + + VnfParameters: + description: -> + This <> represents the parameter set of the VNF instance(s) corresponding to an NE. type: object properties: vnfInstanceId: @@ -31,13 +29,14 @@ components: type: string autoScalable: type: boolean - PeeParameter: + default: FALSE + PeeParameters: + description: -> + This <> represents the parameter list for the control and monitoring of power, energy and environmental parameters. type: object properties: siteIdentification: type: string - siteDescription: - type: string siteLatitude: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Latitude' siteLongitude: @@ -45,109 +44,14 @@ components: siteAltitude: type: number format: float + siteDescription: + type: string equipmentType: type: string environmentType: type: string powerInterface: type: string - Operation: - type: object - properties: - name: - type: string - allowedNFTypes: - $ref: '#/components/schemas/NFType' - operationSemantics: - $ref: '#/components/schemas/OperationSemantics' - NFType: - type: string - description: ' NF name defined in TS 23.501 or TS 29.510' - enum: - - NRF - - UDM - - AMF - - SMF - - AUSF - - NEF - - PCF - - SMSF - - NSSF - - UDR - - LMF - - GMLC - - 5G_EIR - - SEPP - - UPF - - N3IWF - - AF - - UDSF - - DN - - BSF - - CHF - - NWDAF - - PCSCF - - CBCF - - HSS - - UCMF - - SOR_AF - - SPAF - - MME - - SCSAS - - SCEF - - SCP - - NSSAAF - - ICSCF - - SCSCF - - DRA - - IMS_AS - - AANF - - 5G_DDNMF - - NSACF - - MFAF - - EASDF - - DCCF - - MB_SMF - - TSCTSF - - ADRF - - GBA_BSF - - CEF - - MB_UPF - - NSWOF - - PKMF - - MNPF - - SMS_GMSC - - SMS_IWMSC - - MBSF - - MBSTF - - PANF - - TNGF - - W_AGF - - TWIF - - TSN_AF - - OperationSemantics: - type: string - enum: - - REQUEST_RESPONSE - - SUBSCRIBE_NOTIFY - SAP: - type: object - properties: - host: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' - port: - type: integer - NFServiceType: - type: string - enum: - - Namf_Communication - - Namf_EventExposure - - Namf_MT - - Namf_Location - - Nsmf_PDUSession - - Nsmf_EventExposure - - Others TransportProtocol: anyOf: - type: string @@ -159,26 +63,35 @@ components: properties: performanceMetrics: type: array + uniqueItems: true items: type: string + readOnly: true + minItems: 1 granularityPeriods: type: array + uniqueItems: true items: type: integer minimum: 1 + readOnly: true reportingMethods: type: array + uniqueItems: true items: type: string enum: - FILE_BASED_LOC_SET_BY_PRODUCER - FILE_BASED_LOC_SET_BY_CONSUMER - - STREAM_BASED + - STREAM_BASED + readOnly: true reportingPeriods: type: array + uniqueItems: true items: type: integer minimum: 1 + readOnly: true ReportingCtrl: oneOf: - type: object @@ -201,30 +114,14 @@ components: properties: streamTarget: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' - Scope: - oneOf: - - type: object - properties: - scopeType: - type: string - enum: - - BASE_ONLY - - BASE_ALL - - BASE_NTH_LEVEL - - BASE_SUBTREE - scopeLevel: - type: integer - - type: object - properties: - dataNodeSelector: - type: string ProcessMonitor: description: >- This data type is the "ProcessMonitor" data type without specialisations. type: object properties: - jobId: + id: type: string + readOnly: true status: type: string enum: @@ -235,38 +132,77 @@ components: - PARTIALLY_FAILED - CANCELLING - CANCELLED + readOnly: true progressPercentage: type: integer minimum: 0 maximum: 100 + readOnly: true progressStateInfo: type: string + readOnly: true resultStateInfo: type: string + readOnly: true startTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' endTime: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo' timer: type: integer AreaScope: - oneOf: - - type: array - items: - $ref: '#/components/schemas/EutraCellId' - - type: array - items: - $ref: '#/components/schemas/NrCellId' - - type: array - items: - $ref: '#/components/schemas/Tac' - - type: array - items: - $ref: '#/components/schemas/Tai' + allOf: - type: array items: - $ref: '#/components/schemas/NpnId-Type' - + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' + maxItems: 16384 + - oneOf: + - type: array + items: + $ref: '#/components/schemas/EutraCellId' + minItems: 1 + maxItems: 32 + - type: object + properties: + nrCellId: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + maxItems: 32 + nPNIdentityList: + type: array + items: + $ref: '#/components/schemas/NpnId-Type' + - type: object + properties: + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + maxItems: 8 + cAGIdList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/CagId' + maxItems: 256 + - type: object + properties: + taList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + maxItems: 8 + nPNIdentityList: + type: array + items: + $ref: '#/components/schemas/NpnId-Type' + - type: array + items: + $ref: '#/components/schemas/NpnId-Type' + minItems: 1 Tai: type: object properties: @@ -277,8 +213,8 @@ components: tac: $ref: '#/components/schemas/Tac' Tac: - type: string - pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + type: string + pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' EutraCellId: type: string pattern: '^[A-Fa-f0-9]{7}$' @@ -297,16 +233,19 @@ components: properties: timeIntervals: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeInterval' - type: object properties: timeIntervals: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeInterval' daysOfWeek: type: array + uniqueItems: true items: type: string enum: @@ -317,14 +256,18 @@ components: - FRIDAY - SATURDAY - SUNDAY + minItems: 1 + maxItems: 7 - type: object properties: timeIntervals: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeInterval' daysOfMonth: type: array + uniqueItems: true items: type: integer minimum: 0 @@ -336,15 +279,15 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' cAGIdList: type: array + uniqueItems: true items: - type: string - minItems: 1 + $ref: 'TS28623_ComDefs.yaml#/components/schemas/CagId' maxItems: 256 nIDList: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Nid' - minItems: 1 maxItems: 16 oneOf: - required: [plmnId, cAGIdList] @@ -396,16 +339,22 @@ components: type: string setOfMcc: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + readOnly: true + minItems: 1 priorityLabel: type: integer + readOnly: true supportedPerfMetricGroups: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupportedPerfMetricGroup' supportedTraceMetrics: type: array + uniqueItems: true items: type: string ManagedElement-Attr: @@ -415,6 +364,7 @@ components: type: string managedElementTypeList: type: array + uniqueItems: true items: type: string userLabel: @@ -425,20 +375,25 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' vendorName: type: string + readOnly: true userDefinedState: type: string swVersion: type: string + readOnly: true priorityLabel: type: integer supportedPerfMetricGroups: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupportedPerfMetricGroup' supportedTraceMetrics: type: array + uniqueItems: true items: type: string + readOnly: true SubNetwork-ncO: type: object @@ -453,60 +408,30 @@ components: $ref: '#/components/schemas/MnsAgent-Multiple' MeContext: $ref: '#/components/schemas/MeContext-Multiple' - PerfMetricJob: - $ref: 'TS28623_PmControlNrm.yaml#/components/schemas/PerfMetricJob-Multiple' - ThresholdMonitor: - $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ThresholdMonitor-Multiple' - TraceJob: - $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/TraceJob-Multiple' - ManagementDataCollection: - $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/ManagementDataCollection-Multiple' - NtfSubscriptionControl: - $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/NtfSubscriptionControl-Multiple' AlarmList: $ref: 'TS28111_FaultNrm.yaml#/components/schemas/AlarmList-Single' - FileDownloadJob: - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/FileDownloadJob-Multiple' - Files: - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/Files-Multiple' - MnsRegistry: - $ref: 'TS28623_MnSRegistryNrm.yaml#/components/schemas/MnsRegistry-Single' Scheduler: $ref: '#/components/schemas/Scheduler-Multiple' ConditionMonitor: $ref: '#/components/schemas/ConditionMonitor-Multiple' SupportedNotifications: $ref: '#/components/schemas/SupportedNotifications-Single' - QMCJobs: - $ref: 'TS28623_QoEMeasurementCollectionNrm.yaml#/components/schemas/QMCJob-Multiple' + ManagedElement-ncO: type: object properties: MnsAgent: $ref: '#/components/schemas/MnsAgent-Multiple' - PerfMetricJob: - $ref: 'TS28623_PmControlNrm.yaml#/components/schemas/PerfMetricJob-Multiple' - ThresholdMonitor: - $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ThresholdMonitor-Multiple' - TraceJob: - $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/TraceJob-Multiple' - NtfSubscriptionControl: - $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/NtfSubscriptionControl-Multiple' AlarmList: $ref: 'TS28111_FaultNrm.yaml#/components/schemas/AlarmList-Single' - FileDownloadJob: - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/FileDownloadJob-Multiple' - Files: - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/Files-Multiple' Scheduler: $ref: '#/components/schemas/Scheduler-Multiple' ConditionMonitor: $ref: '#/components/schemas/ConditionMonitor-Multiple' SupportedNotifications: $ref: '#/components/schemas/SupportedNotifications-Single' - QMCJobs: - $ref: 'TS28623_QoEMeasurementCollectionNrm.yaml#/components/schemas/QMCJob-Multiple' + #-------- Definition of abstract IOCs -------------------------------------------- @@ -517,20 +442,24 @@ components: type: string vnfParametersList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/VnfParameter' + $ref: '#/components/schemas/VnfParameters' peeParametersList: type: array + uniqueItems: true items: - $ref: '#/components/schemas/PeeParameter' + $ref: '#/components/schemas/PeeParameters' priorityLabel: type: integer supportedPerfMetricGroups: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupportedPerfMetricGroup' supportedTraceMetrics: type: array + uniqueItems: true items: type: string EP_RP-Attr: @@ -540,8 +469,10 @@ components: type: string farEndEntity: type: string + readOnly: true supportedPerfMetricGroups: type: array + uniqueItems: true items: $ref: '#/components/schemas/SupportedPerfMetricGroup' @@ -552,8 +483,6 @@ components: $ref: 'TS28623_PmControlNrm.yaml#/components/schemas/PerfMetricJob-Multiple' ThresholdMonitor: $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ThresholdMonitor-Multiple' - ManagedNFService: - $ref: '#/components/schemas/ManagedNFService-Multiple' TraceJob: $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/TraceJob-Multiple' @@ -569,38 +498,15 @@ components: properties: vsDataType: type: string + readOnly: true vsDataFormatVersion: type: string + readOnly: true vsData: nullable: true VsDataContainer: $ref: '#/components/schemas/VsDataContainer-Multiple' - ManagedNFService-Single: - allOf: - - $ref: '#/components/schemas/Top' - - type: object - properties: - attributes: - type: object - properties: - userLabel: - type: string - nFServiceType: - $ref: '#/components/schemas/NFServiceType' - sAP: - $ref: '#/components/schemas/SAP' - operations: - type: array - items: - $ref: '#/components/schemas/Operation' - administrativeState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' - operationalState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' - usageState: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/UsageState' - registrationState: - $ref: '#/components/schemas/RegistrationState' + ManagementNode-Single: allOf: - $ref: '#/components/schemas/Top' @@ -615,12 +521,15 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' vendorName: type: string + readOnly: true userDefinedState: type: string locationName: type: string + readOnly: true swVersion: type: string + readOnly: true MnsAgent: $ref: '#/components/schemas/MnsAgent-Multiple' MnsAgent-Single: @@ -632,7 +541,7 @@ components: type: object properties: systemDN: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo' MeContext-Single: allOf: - $ref: '#/components/schemas/Top' @@ -643,6 +552,7 @@ components: properties: dnPrefix: type: string + readOnly: true Scheduler-Single: allOf: - $ref: '#/components/schemas/Top' @@ -653,11 +563,13 @@ components: properties: schedulingTimes: type: array + uniqueItems: true items: $ref: '#/components/schemas/SchedulingTime' minItems: 1 schedulerStatus: type: boolean + readOnly: true ConditionMonitor-Single: allOf: - $ref: '#/components/schemas/Top' @@ -670,6 +582,7 @@ components: type: string conditionStatus: type: boolean + readOnly: true SupportedNotifications-Single: allOf: @@ -681,16 +594,19 @@ components: properties: notificationTypes: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationType' notificationProtocols: type: array + uniqueItems: true items: type: string enum: - HTTP - HTTP_VES_ENCAPS minItems: 1 + readOnly: true SubNetwork-Single: @@ -698,6 +614,16 @@ components: - $ref: '#/components/schemas/Top' - $ref: '#/components/schemas/SubNetwork-Attr' - $ref: '#/components/schemas/SubNetwork-ncO' + - $ref: '#/components/schemas/SubNetwork-Multiple' + - $ref: '#/components/schemas/ManagedElement-Multiple' + - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/SubNetwork-ncO-FileManagementNrm' + - $ref: 'TS28623_PmControlNrm.yaml#/components/schemas/SubNetwork-ncO-PmControlNrm' + - $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/SubNetwork-ncO-SubscriptionControlNrm' + - $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/SubNetwork-ncO-ThresholdMonitorNrm' + - $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/SubNetwork-ncO-TraceControlNrm' + - $ref: 'TS28623_QoEMeasurementCollectionNrm.yaml#/components/schemas/SubNetwork-ncO-QoEMeasurementCollectionNrm' + - $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/SubNetwork-ncO-ManagementDataCollectionNrm' + - $ref: 'TS28623_MnSRegistryNrm.yaml#/components/schemas/SubNetwork-ncO-MnSRegistryNrm' - $ref: 'TS28104_MdaNrm.yaml#/components/schemas/SubNetwork-ncO-MdaNrm' - $ref: 'TS28105_AiMlNrm.yaml#/components/schemas/SubNetwork-ncO-AiMlNrm' - $ref: 'TS28312_IntentNrm.yaml#/components/schemas/SubNetwork-ncO-IntentNrm' @@ -708,12 +634,19 @@ components: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/SubNetwork-ncO-NrNrm' - $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' ManagedElement-Single: allOf: - $ref: '#/components/schemas/Top' - $ref: '#/components/schemas/ManagedElement-Attr' - $ref: '#/components/schemas/ManagedElement-ncO' + - $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/ManagedElement-ncO-FileManagementNrm' + - $ref: 'TS28623_PmControlNrm.yaml#/components/schemas/ManagedElement-PmControlNrm' + - $ref: 'TS28623_SubscriptionControlNrm.yaml#/components/schemas/ManagedElement-ncO-SubscriptionControlNrm' + - $ref: 'TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ManagedElement-ncO-ThresholdMonitorNrm' + - $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/SubNetwork-ncO-TraceControlNrm' + - $ref: 'TS28623_QoEMeasurementCollectionNrm.yaml#/components/schemas/ManagedElement-ncO-QoEMeasurementCollectionNrm' - $ref: 'TS28104_MdaNrm.yaml#/components/schemas/ManagedElement-ncO-MdaNrm' - $ref: 'TS28105_AiMlNrm.yaml#/components/schemas/ManagedElement-ncO-AiMlNrm' - $ref: 'TS28536_CoslaNrm.yaml#/components/schemas/ManagedElement-ncO-CoslaNrm' @@ -737,10 +670,6 @@ components: type: array items: $ref: '#/components/schemas/VsDataContainer-Single' - ManagedNFService-Multiple: - type: array - items: - $ref: '#/components/schemas/ManagedNFService-Single' ManagementNode-Multiple: type: array items: @@ -780,7 +709,6 @@ components: - $ref: '#/components/schemas/ManagementNode-Single' - $ref: '#/components/schemas/MnsAgent-Single' - $ref: '#/components/schemas/MeContext-Single' - - $ref: '#/components/schemas/ManagedNFService-Single' - $ref: '#/components/schemas/Scheduler-Single' - $ref: '#/components/schemas/ConditionMonitor-Single' - $ref: '#/components/schemas/SupportedNotifications-Single' diff --git a/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml b/OpenAPI/TS28623_ManagementDataCollectionNrm.yaml index 185272364845362b9300407f310bcb572f64d26c..d5ab9f7e66234586717cc0aafc6f29a49ef9ad49 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: 18.6.0 + version: 19.5.0 description: >- OAS 3.0.1 definition of the Management Data Collection NRM fragment - © 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.623; Generic NRM, Management Data Collection NRM @@ -12,6 +12,15 @@ externalDocs: paths: {} components: schemas: + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-ManagementDataCollectionNrm: + type: object + properties: + ManagementDataCollection: + $ref: '#/components/schemas/ManagementDataCollection-Multiple' + + #-------Definition of generic IOCs ----------# + #-------- Definition of types----------------------------------------------------- ManagementData: @@ -45,6 +54,13 @@ components: - UP sst: type: integer + objectInstances: + type: array + uniqueItems: true + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + + #-------- Definition of concrete IOCs -------------------------------------------- ManagementDataCollection-Single: @@ -69,13 +85,21 @@ components: - SNSSAI - 5QI - PLMN + condition: + type: string + processMonitor: + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor' + consolidateOutput: + type: boolean + jobId: + type: string #-------- Definition of YAML arrays for name-contained IOCs ---------------------- ManagementDataCollection-Multiple: type: array items: $ref: '#/components/schemas/ManagementDataCollection-Single' - + #-------- Definitions in TS 28.623 for TS 28.532 --------------------------------- resources-mgmtDataCollectionNrm: oneOf: diff --git a/OpenAPI/TS28623_MnSRegistryNrm.yaml b/OpenAPI/TS28623_MnSRegistryNrm.yaml index a5a022a43f8b576e39191a012fce3acccae370d9..bc038623d8664fef490e387d1d8e9218c943b54c 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: 18.6.0 + version: 19.5.0 description: >- OAS 3.0.1 definition of the MnS Registry NRM fragment - © 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.623; Generic NRM, MnS Registry NRM @@ -12,8 +12,50 @@ externalDocs: paths: {} components: schemas: -#-------- Definition of types----------------------------------------------------- + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-MnSRegistryNrm: + type: object + properties: + MnsRegistry: + $ref: '#/components/schemas/MnsRegistry-Single' + + #-------Definition of generic IOCs ----------# +#-------- Definition of types----------------------------------------------------- + MnsCapability: + type: string + enum: + - NR_PROVISIONING + - 5GC_PROVISIONING + - NETWORK_SLICING_PROVISIONING + - EDGE_COMPUTING_PROVISIONING + - PERFORMANCE_METRIC_COLLECTION_CONTROL + - PERFORMANCE_METRIC_DATA_REPORT + - PERFORMANCE_METRIC_THRESHOLD_MONITOR_CONTROL + - PERFORMANCE_METRIC_THRESHOLD_NOTIFICATION + - FAULT_CONTROL + - FAULT_NOTIFICATION + - TRACE_MDT_DATA_COLLECTION_CONTROL + - TRACE_MDT_DATA_REPORT + - QOE_DATA_COLLECTION_CONTROL + - QOE_DATA_REPORT + - FILE_RETRIEVAL + - FILE_DOWNLOAD + - SUBSCRIPTION_CONTROL + - HEARTBEAT_CONTROL + - HEARTBEAT_NOTIFICATION + - ML_MODEL_MANAGEMENT + - MANAGEMENT_DATA_ANALYTIC + - RANSC_MANAGEMENT + - SON_POLICY + - COMMUNICATION_SERVICE_ASSURANCE_CONTROL + - INTENT_DRIVEN_MANAGEMENT + - ML_MODEL_MANAGEMENT + - MNS_REGISTRY_AND_DISCOVERY + - MGMTDATA_REGISTRY_AND_DISCOVERY + - MNS_ACCESS_CONTROL_MANAGEMENT + - DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING + - EXTERNALDATA_DISCOVERY_AND_REQUEST #-------- Definition of concrete IOCs -------------------------------------------- MnsRegistry-Single: allOf: @@ -22,6 +64,8 @@ components: properties: MnsInfo: $ref: '#/components/schemas/MnsInfo-Multiple' + MgmtDataInfo: + $ref: '#/components/schemas/MgmtDataInfo-Multiple' MnsInfo-Single: allOf: @@ -33,24 +77,122 @@ components: mnsType: type: string enum: - - ProvMnS - - FaultSupervisionMnS - - StreamingDataReportingMnS - - FileDataReportingMnS + - PROV_MNS + - FAULT_SUPERVISION_MNS + - STREAMING_DATA_REPORTING_MNS + - FILE_DATA_REPORTING_MNS mnsVersion: type: string mnsAddress: description: Resource URI as defined in the relevant Technical Specification - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo' + mnsCapability: + description: >- + It describes the types of management capabilities of the MnS instance provided by the MnS producer. + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/MnsCapability' mnsScope: description: >- - List of the managed object instances that can be accessed using the MnS. - If a complete SubNetwork can be accessed using the MnS, this attribute may - contain the DN of the SubNetwork instead of the DNs of the individual managed - entities within the SubNetwork. + It is used to provide information about the management scope of the Management Service. The management scope is + used to represent the set of managed object instances that can be accessed using the Management Service. + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/MnsScope' + minItems: 1 + mgmtDataInfoRef: + description: >- + List of DN of MgmtDataInfo instance(s) which are associated the MnSInfo which represent a + management service instance type: array items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' + uniqueItems: true + minItems: 1 + + MnsScope: + 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' + + MgmtDataInfo-Single: + allOf: + - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' + - type: object + properties: + supportedManagementData: + description: >- + It defines the list of management data that can be supported. + type: array + uniqueItems: true + items: + $ref: 'TS28623_ManagementDataCollectionNrm.yaml#/components/schemas/ManagementData' + supportedGranularityPeriods: + description: >- + Granularity periods supported for the production of associated management data. + The period is defined in seconds. + type: array + items: + type: integer + uniqueItems: true + supportedReportingPeriods: + description: >- + Reporting periods supported for the associated management data. + The period is defined in seconds. + type: array + items: + type: integer + uniqueItems: true + historicalDataPeriod: + description: >- + This attribute describes the maximum period of the requested + historical data. + The period is defined in seconds. + When the value of this attribute is NULL, which means the + capability of querying historical data is not supported. + type: integer + supportedReportingMethod: + description: >- + List of supported reporting methods for the associated + management data. + type: array + uniqueItems: true + items: + type: string + enum: + - FILE + - STREAM + minItems: 1 + supportedDataScope: + description: >- + List of supported sub counter capabilities for the associated management data. + type: array + uniqueItems: true + items: + type: string + enum: + - SNSSAI + - 5QI + - PLMN + minItems: 1 + supportedDataRequestMnSRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' + supportedDataReportingMnSRef: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList' #-------- Definition of YAML arrays for name-contained IOCs ---------------------- @@ -59,9 +201,14 @@ components: items: $ref: '#/components/schemas/MnsInfo-Single' + MgmtDataInfo-Multiple: + type: array + items: + $ref: '#/components/schemas/MgmtDataInfo-Single' #-------- Definitions in TS 28.623 for TS 28.532 --------------------------------- resources-mnSRegistryNrm: oneOf: - $ref: '#/components/schemas/MnsInfo-Single' - $ref: '#/components/schemas/MnsRegistry-Single' + - $ref: '#/components/schemas/MgmtDataInfo-Single' \ No newline at end of file diff --git a/OpenAPI/TS28623_PmControlNrm.yaml b/OpenAPI/TS28623_PmControlNrm.yaml index 23581d77711c1ee2a42c43c17f6ff70ea80a265c..2a3a50d1514ad671b2d9691b87a97480e811be37 100644 --- a/OpenAPI/TS28623_PmControlNrm.yaml +++ b/OpenAPI/TS28623_PmControlNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: PM control NRM - version: 18.6.0 + version: 19.2.0 description: >- OAS 3.0.1 definition of the PM control NRM fragment © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -12,6 +12,19 @@ externalDocs: paths: {} components: schemas: + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-PmControlNrm: + type: object + properties: + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + ManagedElement-PmControlNrm: + type: object + properties: + PerfMetricJob: + $ref: '#/components/schemas/PerfMetricJob-Multiple' + #-------Definition of generic IOCs ----------# + #-------- Definition of types----------------------------------------------------- @@ -34,8 +47,10 @@ components: type: string performanceMetrics: type: array + uniqueItems: true items: type: string + minItems: 1 granularityPeriod: type: integer minimum: 1 @@ -49,6 +64,8 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn' reportingCtrl: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ReportingCtrl' + _linkToFiles: + type: string Files: $ref: 'TS28623_FileManagementNrm.yaml#/components/schemas/Files-Multiple' diff --git a/OpenAPI/TS28623_QoEMeasurementCollectionNrm.yaml b/OpenAPI/TS28623_QoEMeasurementCollectionNrm.yaml index 0ec934f5540d55813b22b2d71b2987662cf55e39..90151f4bf197a49f8aa23014ea5b6d7cfc0b4245 100644 --- a/OpenAPI/TS28623_QoEMeasurementCollectionNrm.yaml +++ b/OpenAPI/TS28623_QoEMeasurementCollectionNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: QoE Measurement Collection NRM - version: 18.7.0 + version: 19.3.0 description: >- OAS 3.0.1 definition of the QoE Measurement Collection 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.623; Generic NRM,QoE Measurement Collection NRM fragment @@ -12,6 +12,20 @@ externalDocs: paths: {} components: schemas: + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-QoEMeasurementCollectionNrm: + type: object + properties: + QMCJobs: + $ref: '#/components/schemas/QMCJob-Multiple' + ManagedElement-ncO-QoEMeasurementCollectionNrm: + type: object + properties: + QMCJobs: + $ref: '#/components/schemas/QMCJob-Multiple' + #-------Definition of generic IOCs ----------# + + #-------- Definition of types----------------------------------------------------- #-------- Definition of concrete IOCs -------------------------------------------- @@ -31,6 +45,7 @@ components: - VR areaScope: type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/AreaScope' qoECollectionEntityAddress: @@ -45,6 +60,7 @@ components: type: string sliceScope: type: array + uniqueItems: true items: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' qMCConfigFile: @@ -53,15 +69,17 @@ components: $ref: 'TS28623_TraceControlNrm.yaml#/components/schemas/traceReference-Type' availableRANqoEMetrics: type: array + uniqueItems: true items: type: string enum: - - APPLAYERBUFFERLEVELLIST - - PLAYOUTDELAYFORMEDIA_STARTUP + - APP_LAYER_BUFFER_LEVEL_LIST + - PLAYOUT_DELAY_FOR_MEDIA_STARTUP minItems: 0 maxItems: 2 mBSCommunicationServiceType: type: string + readOnly: true enum: - BROADCAST - MULTICAST diff --git a/OpenAPI/TS28623_SubscriptionControlNrm.yaml b/OpenAPI/TS28623_SubscriptionControlNrm.yaml index 5d493262645fbb6458f8ab4ea7730cecd0226216..3e82a68ed3ba17326872524fef05c871df25afe4 100644 --- a/OpenAPI/TS28623_SubscriptionControlNrm.yaml +++ b/OpenAPI/TS28623_SubscriptionControlNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Subscription Control NRM - version: 18.7.0 + version: 19.4.0 description: >- OAS 3.0.1 definition of the Subscription Control NRM fragment - © 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.623; Generic NRM, Subscription Control NRM @@ -12,19 +12,39 @@ externalDocs: paths: {} components: schemas: -#-------- Definition of types----------------------------------------------------- - Scope: + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-SubscriptionControlNrm: + type: object + properties: + NtfSubscriptionControl: + $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' + ManagedElement-ncO-SubscriptionControlNrm: type: object properties: - scopeType: - type: string - enum: - - BASE_ONLY - - BASE_ALL - - BASE_NTH_LEVEL - - BASE_SUBTREE - scopeLevel: - type: integer + NtfSubscriptionControl: + $ref: '#/components/schemas/NtfSubscriptionControl-Multiple' + #-------Definition of generic IOCs ----------# + +#-------- Definition of types----------------------------------------------------- + Scope: + oneOf: + - type: object + properties: + scopeType: + type: string + enum: + - BASE_ONLY + - BASE_ALL + - BASE_NTH_LEVEL + - BASE_SUBTREE + scopeLevel: + type: integer + - type: object + properties: + dataNodeSelector: + oneOf: + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/JexNodeSelectionBasic' + - $ref: 'TS28623_ComDefs.yaml#/components/schemas/JexNodeSelectionAdvanced' #-------- Definition of concrete IOCs -------------------------------------------- NtfSubscriptionControl-Single: @@ -39,12 +59,13 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' notificationTypes: type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/NotificationType' scope: $ref: '#/components/schemas/Scope' notificationFilter: - $ref: 'TS28623_ComDefs.yaml#/components/schemas/Filter' + $ref: 'TS28623_ComDefs.yaml#/components/schemas/JexConditions' HeartbeatControl: $ref: '#/components/schemas/HeartbeatControl-Single' HeartbeatControl-Single: @@ -62,7 +83,7 @@ components: triggerHeartbeatNtf: type: boolean default: FALSE - + writeOnly: true #-------- Definition of YAML arrays for name-contained IOCs ---------------------- NtfSubscriptionControl-Multiple: type: array diff --git a/OpenAPI/TS28623_ThresholdMonitorNrm.yaml b/OpenAPI/TS28623_ThresholdMonitorNrm.yaml index d4fd1aac13b8626765a66fec90517223ecfea802..6479b1f5c9dd4676152fe1fe1061f919e1ebb0fa 100644 --- a/OpenAPI/TS28623_ThresholdMonitorNrm.yaml +++ b/OpenAPI/TS28623_ThresholdMonitorNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Threshold Monitor NRM - version: 18.2.0 + version: 19.2.0 description: >- OAS 3.0.1 definition of the Threshold Monitor NRM fragment © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -12,14 +12,29 @@ externalDocs: paths: {} components: schemas: + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-ThresholdMonitorNrm: + type: object + properties: + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + ManagedElement-ncO-ThresholdMonitorNrm: + type: object + properties: + ThresholdMonitor: + $ref: '#/components/schemas/ThresholdMonitor-Multiple' + #-------Definition of generic IOCs ----------# + #-------- Definition of types----------------------------------------------------- ThresholdInfo: type: object properties: performanceMetrics: type: array + uniqueItems: true items: type: string + minItems: 1 thresholdDirection: type: string enum: @@ -53,8 +68,10 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState' thresholdInfoList: type: array + uniqueItems: true items: $ref: '#/components/schemas/ThresholdInfo' + minItems: 1 monitorGranularityPeriod: type: integer minimum: 1 diff --git a/OpenAPI/TS28623_TraceControlNrm.yaml b/OpenAPI/TS28623_TraceControlNrm.yaml index 0d09284e0e6357c9c2f8d90966a5e65af059ba66..a1f304f2e2ec4727f9a5468a128953aa17ee461a 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: 18.7.0 + version: 19.4.0 description: >- OAS 3.0.1 definition of the Trace Control NRM fragment - © 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.623; Generic NRM,Trace Control NRM @@ -12,8 +12,45 @@ externalDocs: paths: {} components: schemas: + #-------- Definition of types for name-containments ------ + SubNetwork-ncO-TraceControlNrm: + type: object + properties: + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + ManagedElement-ncO-TraceControlNrm: + type: object + properties: + TraceJob: + $ref: '#/components/schemas/TraceJob-Multiple' + #-------Definition of generic IOCs ----------# + #-------- 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. @@ -40,8 +77,8 @@ components: type: string enum: - A - - Iu-CS - - Mc + - IU-CS + - MC - MAP-G - MAP-B - MAP-E @@ -54,33 +91,33 @@ components: items: type: string enum: - - Mc - - Nb-UP - - Iu-UP + - MC + - NB-UP + - IU-UP RNCInterfaces: type: array items: type: string enum: - - Iu-CS - - Iu-PS - - Iur - - Iub - - Uu + - IU-CS + - IU-PS + - IUR + - IUB + - UU SGSNInterfaces: type: array items: type: string enum: - - Gb - - Iu-PS - - Gn - - MAP-Gr - - MAP-Gd - - MAP-Gf - - Ge - - Gs - - S6d + - GB + - IU-PS + - GN + - MAP-GR + - MAP-GD + - MAP-GF + - GE + - GS + - S6D - S4 - S3 - S13 @@ -89,34 +126,34 @@ components: items: type: string enum: - - Gn - - Gi - - Gmb + - GN + - GI + - GMB S-CSCFInterfaces: type: array items: type: string enum: - - Mw - - Mg - - Mr - - Mi + - MW + - MG + - MR + - MI P-CSCFInterfaces: type: array items: type: string enum: - - Gm - - Mw + - GM + - MW I-CSCFInterfaces: type: array items: type: string enum: - - Cx - - Dx - - Mg - - Mw + - CX + - DX + - MG + - MW MRFCInterfaces: type: array items: @@ -129,42 +166,42 @@ components: items: type: string enum: - - Mg - - Mj - - Mn + - MG + - MJ + - MN IBCFInterfaces: type: array items: type: string enum: - - Ix - - Mx + - IX + - MX E-CSCFInterfaces: type: array items: type: string enum: - - Mw - - Ml - - Mm - - Mi/Mg + - MW + - ML + - MM + - MI/MG BGCFInterfaces: type: array items: type: string enum: - - Mi - - Mj - - Mk + - MI + - MJ + - MK ASInterfaces: type: array items: type: string enum: - - Dh - - Sh + - DH + - SH - ISC - - Ut + - UT HSSInterfaces: type: array items: @@ -172,12 +209,12 @@ components: enum: - MAP-C - MAP-D - - Gc - - Gr - - Cx - - S6d - - S6a - - Sh + - GC + - GR + - CX + - S6D + - S6A + - SH - N70 - N71 - NU1 @@ -188,13 +225,13 @@ components: enum: - MAP-F - S13 - - MAP-Gf + - MAP-GF BM-SCInterfaces: type: array items: type: string enum: - - Gmb + - GMB MMEInterfaces: type: array items: @@ -202,7 +239,7 @@ components: enum: - S1-MME - S3 - - S6a + - S6A - S10 - S11 - S13 @@ -215,20 +252,20 @@ components: - S5 - S8 - S11 - - Gxc + - GXC PDN_GWInterfaces: type: array items: type: string enum: - - S2a - - S2b - - S2c + - S2A + - S2B + - S2C - S5 - - S6b - - Gx + - S6B + - GX - S8 - - SGi + - SGI eNBInterfaces: type: array items: @@ -243,7 +280,7 @@ components: enum: - S1-MME - X2 - - Uu + - UU - F1-C - E1 AMFInterfaces: @@ -261,6 +298,8 @@ components: - N20 - N22 - N26 + - N41 + - N42 AUSFInterfaces: type: array items: @@ -297,6 +336,7 @@ components: - N5 - N7 - N15 + - N28 SMFInterfaces: type: array items: @@ -307,6 +347,10 @@ components: - N10 - N11 - S5-C + - N16 + - N16a + - N38 + - N40 SMSFInterfaces: type: array items: @@ -336,16 +380,16 @@ components: type: string enum: - NG-C - - Xn-C - - Uu + - XN-C + - UU gNB-CU-CPInterfaces: type: array items: type: string enum: - NG-C - - Xn-C - - Uu + - XN-C + - UU - F1-C - E1 - X2-C @@ -365,6 +409,7 @@ components: listOfNeTypes-Type: description: The Network Element types where Trace Session activation is needed. See 3GPP TS 32.422 clause 5.4 for additional details. type: array + uniqueItems: true items: type: string enum: @@ -399,16 +444,13 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' mnc: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' - required: - - mcc - - mnc listOfTraceMetrics: description: The trace metrics to be reported. See 3GPP TS 32.422 clause 10 for additional details. type: array + uniqueItems: true items: type: string - traceDepth-Type: description: Specifies how detailed information should be recorded in the Network Element. The Trace Depth is a paremeter for Trace Session level, i.e., the Trace Depth is the same for all of the NEs to be traced in the same Trace Session. See 3GPP TS 32.422 clause 5.3 for additional details. @@ -432,46 +474,18 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' traceId: type: string - required: - - mcc - - mnc - - traceId traceReportingFormat-Type: type: string description: Specifies whether file-based or streaming reporting shall be used for this Trace Session. See 3GPP TS 32.422 clause 5.11 for additional details. enum: - - FILE-BASED + - 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 - required: - - TargetIdType - - TargetIdValue + default: FILE_BASED triggeringEvents-Type: type: object - description: Specifies when to start a Trace Recording Session and which message shall be recorded first, when to stop a Trace Recording Session and which message shall be recorded last respectively. See 3GPP TS 32.422 clause 5.1 for additional detials. + description: Specifies when to start a Trace Recording Session and which message shall be recorded first, when to stop a Trace Recording Session and which message shall be recorded last respectively. See 3GPP TS 32.422 clause 5.1 for additional details. properties: MSC_SERVER: type: array @@ -480,7 +494,7 @@ components: enum: - MO_MT_CALLS - MO_MT_SMS - - LU_IMSIattach_IMSIdetach + - LU_IMSIATTACH_IMSIDETACH - HANDOVER - SS SGSN: @@ -488,10 +502,10 @@ components: items: type: string enum: - - PDPcontext + - PDPCONTEXT - MO_MT_SMS - - RAU_GPRSattach_GPRSdetach - - MBMScontext + - RAU_GPRSATTACH_GPRSDETACH + - MBMSCONTEXT MGW: type: array items: @@ -503,129 +517,134 @@ components: items: type: string enum: - - PDPcontext - - MBMScontext + - PDPCONTEXT + - MBMSCONTEXT IMS: type: array items: type: string enum: - - SIPsession_StandaloneTransaction + - SIPSESSION_STANDALONETRANSACTION BM_SC: type: array items: type: string enum: - - MBMSactivation + - MBMSACTIVATION MME: type: array items: type: string enum: - - UEinitiatedPDNconnectivityRequest - - ServiceRequest - - InitialAttach_TAU_Detach - - UEinitiatedPDNdisconnection - - BearerActivationModificationDeletion - - Handover + - UE_INITIATEDPDN_CONNECTIVITY_REQUEST + - SERVICE_REQUEST + - INITIALATTACH_TAU_DETACH + - UE_INITIATEDPDN_DISCONNECTION + - BEAR_ACTIVIATION_MODIFICATION_DELETION + - HANDOVER SGW: type: array items: type: string enum: - - PDNconnectionCreation - - PDNconnectionTermination - - BearerActivationModificationDeletion + - PDN_CONNECTION_CREATION + - PDN_CONNECTION_TERMINATION + - BEAR_ACTIVATION_MODIFICATION_DELETION PGW: type: array items: type: string enum: - - PDNconnectionCreation - - PDNconnectionTermination - - BearerActivationModificationDeletion + - PDN_CONNECTION_CREATION + - PDN_CONNECTION_TERMINATION + - BEAR_ACTIVATION_MODIFICATION_DELETION AMF: type: array items: type: string enum: - - Registration - - ServiceRequest - - Handover - - UEderegistration - - NetworkDeregistration - - UEMobilityFromEPC - - UEMobilityToEPC + - REGISTRATION + - SERVICE_REQUEST + - HANDOVER + - UE_DEREGISTRATION + - NETWORK_DEREGISTRATION + - UE_MOBILITY_FROM_EPC + - UE_MOBILITY_TO_EPC + - CONVERGED_CHARGING_SERVICE SMF: type: array items: type: string enum: - - PDUsessionEstablishment - - PDUsessionModification - - PDUsessionRelease - - PDUsessionUPactivationDeactivation - - MobilityBtw3gppAndN3gppTo5GC - - MobilityFromEpc + - PDU_SESSION_ESTABLISHMENT + - PDU_SESSION_MODIFICATION + - PDU_SESSIOON_RELEASE + - PDU_SESSION_UP_ACTIVATION_DEACTIVATION + - MOBILITY_BTW_3GPP_AND_N3GPP_TO_5GC + - MOBILITY_FROM_EPC + - MOBILITY_BTW_ISMF_OR_VSMF + - CONVERGED_CHARGING_SERVICE + - OFFLINE_ONLY_CHARGING PCF: type: array items: type: string enum: - - AMpolicy - - SMpolicy - - Authorization - - BDTpolicy + - AM_POLICY + - SM_POLICY + - AUTHORIZATION + - BDT_POLICY + - SPENDING_LIMIT_CONTROL UPF: type: array items: type: string enum: - - N4Session + - N4SESSION AUSF: type: array items: type: string enum: - - UEauthentication + - UE_AUTHENTICATION NEF: type: array items: type: string enum: - - EventExposure - - PFDmanagement - - ParameterProvision - - Trigger + - EVENT_EXPOSURE + - PFD_MANAGEMENT + - PARAMETER_PROVISION + - TRIGGER NRF: type: array items: type: string enum: - - NFmanagement - - NFdiscovery + - NF_MANAGEMEENT + - NF_DISCOVERY NSSF: type: array items: type: string enum: - - NSSelection + - NS_SELECTION - NSSAI SMSF: type: array items: type: string enum: - - SMservice + - SMSERVICE UDM: type: array items: type: string enum: - - UEcontext - - SubscriberData - - UEauthentication - - EventExposure + - UE_CONTEXT + - SUBSCRIBER_DATA + - UE_AUTHENTICATION + - EVENT_EXPOSURE anonymizationOfMdtData-Type: description: Specifies level of MDT anonymization. For additional details see 3GPP TS 32.422 clause 5.10.12. @@ -639,7 +658,7 @@ components: description: Determines whether beam level measurements shall be included in case of immediate MDT M1 measurement in NR. For additional details see 3GPP TS 32.422 clause 5.10.40. type: boolean - collectionPeriodRrmLte-Type: + collectionPeriodRRMLTE-Type: description: See details in 3GPP TS 32.422 clause 5.10.20. type: string enum: @@ -654,7 +673,7 @@ components: - 10240ms - 60000ms - collectionPeriodM6Lte-Type: + collectionPeriodM6LTE-Type: description: See details in 3GPP TS 32.422 clause 5.10.32. type: string enum: @@ -663,13 +682,13 @@ components: - 5120ms - 10240ms - collectionPeriodM7Lte-Type: + collectionPeriodM7LTE-Type: description: See details in 3GPP TS 32.422 clause 5.10.33. type: integer minimum: 1 maximum: 60 - collectionPeriodRrmUmts-Type: + collectionPeriodRRMUMTS-Type: description: See details in 3GPP TS 32.422 clause 5.10.21. type: string enum: @@ -682,7 +701,7 @@ components: - 4000ms - 6000ms - collectionPeriodRrmNr-Type: + collectionPeriodRRMNR-Type: description: See details in 3GPP TS 32.422 clause 5.10.30. type: string enum: @@ -692,7 +711,7 @@ components: - 10240ms - 60000ms - collectionPeriodM6Nr-Type: + collectionPeriodM6NR-Type: description: See details in 3GPP TS 32.422 clause 5.10.34. type: string enum: @@ -711,7 +730,7 @@ components: - 12min - 30min - collectionPeriodM7Nr-Type: + collectionPeriodM7NR-Type: description: See details in 3GPP TS 32.422 clause 5.10.35. type: integer minimum: 1 @@ -725,7 +744,7 @@ components: - A2_EVENT eventThreshold-Type: - description: See details in 3GPP TS 32.422 clause 5.10.7, 5.10.7a, 5.10.13 and 5.10.14. + description: See details in 3GPP TS 32.422 clause 5.10.7 (LTE/NR Event A2 RSRP, RSRQ, SINR), 5.10.13 (UMTS Event 1f) and 5.10.14 (UMTS Event 1i). type: object properties: EventThresholdRSRP: @@ -744,6 +763,10 @@ components: - type: integer minimum: 0 maximum: 127 + EventThresholdSINR: + type: integer + minimum: 0 + maximum: 127 EventThreshold1F: type: object properties: @@ -802,13 +825,16 @@ components: items: type: string enum: - - M1 - - M2 - - M3 - - M4 - - M5 - - M6 - - M7 + - M1_DL + - M2_DL + - M4_DL + - M4_UL + - M5_DL + - M5_UL + - M6_DL + - M6_UL + - M7_DL + - M7_UL - M1_EVENT_TRIGGERED - M8 - M9 @@ -872,7 +898,7 @@ components: - INFINITY eventThresholdL1-Type: - description: See details in 3GPP TS 32.422 clause 5.10.X. + description: See details in 3GPP TS 32.422 clause 5.10.36. type: object properties: RSRP: @@ -885,13 +911,13 @@ components: maximum: 127 hysteresisL1-Type: - description: See details in 3GPP TS 32.422 clause 5.10.Y. + description: See details in 3GPP TS 32.422 clause 5.10.37. type: integer minimum: 0 maximum: 30 timeToTriggerL1-Type: - description: See details in 3GPP TS 32.422 clause 5.10.Z. + description: See details in 3GPP TS 32.422 clause 5.10.38. type: string enum: - 0ms @@ -911,7 +937,7 @@ components: - 2560ms - 5120ms - measurementPeriodLte-Type: + measurementPeriodLTE-Type: description: See details in 3GPP TS 32.422 clause 5.10.23. type: string enum: @@ -921,7 +947,7 @@ components: - 10240ms - 1min - measurementPeriodUmts-Type: + measurementPeriodUMTS-Type: description: See details in 3GPP TS 32.422 clause 5.10.22. type: string enum: @@ -943,12 +969,11 @@ components: description: See details in 3GPP TS 32.422 clause 5.10.15. type: string enum: - - CPICH_EcNo + - CPICH_ECNO - CPICH_RSCP - - PathLoss - - eventThresholdUphUmts-Type: - description: See details in 3GPP TS 32.422 clause 5.10.A. + - PATHLOSS + eventThresholdUphUMTS-Type: + description: See details in 3GPP TS 32.422 clause 5.10.39. type: integer minimum: 0 maximum: 31 @@ -956,6 +981,7 @@ components: plmnList-Type: description: See details in 3GPP TS 32.422 clause 5.10.24. type: array + uniqueItems: true items: type: object properties: @@ -963,9 +989,6 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' mnc: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' - required: - - mcc - - mnc maxItems: 16 positioningMethod-Type: @@ -1204,6 +1227,7 @@ components: sensorInformation-Type: description: See details in 3GPP TS 32.422 clause 5.10.29. type: array + uniqueItems: true items: type: string enum: @@ -1247,6 +1271,7 @@ components: excessPacketDelayThresholds-Type: description: Array of type excessPacketDelayThreshold-Type. type: array + uniqueItems: true items: $ref: '#/components/schemas/excessPacketDelayThreshold-Type' minItems: 0 @@ -1299,26 +1324,26 @@ components: $ref: '#/components/schemas/reportInterval-Type' eventThreshold: $ref: '#/components/schemas/eventThreshold-Type' - collectionPeriodRrmLte: - $ref: '#/components/schemas/collectionPeriodRrmLte-Type' - collectionPeriodM6Lte: - $ref: '#/components/schemas/collectionPeriodM6Lte-Type' - collectionPeriodM7Lte: - $ref: '#/components/schemas/collectionPeriodM7Lte-Type' - collectionPeriodRrmUmts: - $ref: '#/components/schemas/collectionPeriodRrmUmts-Type' - collectionPeriodRrmNr: - $ref: '#/components/schemas/collectionPeriodRrmNr-Type' - collectionPeriodM6Nr: - $ref: '#/components/schemas/collectionPeriodM6Nr-Type' - collectionPeriodM7Nr: - $ref: '#/components/schemas/collectionPeriodM7Nr-Type' - eventThresholdUphUmts: - $ref: '#/components/schemas/eventThresholdUphUmts-Type' - measurementPeriodUmts: - $ref: '#/components/schemas/measurementPeriodUmts-Type' - measurementPeriodLte: - $ref: '#/components/schemas/measurementPeriodLte-Type' + collectionPeriodRRMLTE: + $ref: '#/components/schemas/collectionPeriodRRMLTE-Type' + collectionPeriodM6LTE: + $ref: '#/components/schemas/collectionPeriodM6LTE-Type' + collectionPeriodM7LTE: + $ref: '#/components/schemas/collectionPeriodM7LTE-Type' + collectionPeriodRRMUMTS: + $ref: '#/components/schemas/collectionPeriodRRMUMTS-Type' + collectionPeriodRRMNR: + $ref: '#/components/schemas/collectionPeriodRRMNR-Type' + collectionPeriodM6NR: + $ref: '#/components/schemas/collectionPeriodM6NR-Type' + collectionPeriodM7NR: + $ref: '#/components/schemas/collectionPeriodM7NR-Type' + eventThresholdUphUMTS: + $ref: '#/components/schemas/eventThresholdUphUMTS-Type' + measurementPeriodUMTS: + $ref: '#/components/schemas/measurementPeriodUMTS-Type' + measurementPeriodLTE: + $ref: '#/components/schemas/measurementPeriodLTE-Type' measurementQuantity: $ref: '#/components/schemas/measurementQuantity-Type' beamLevelMeasurement: @@ -1346,18 +1371,23 @@ components: $ref: '#/components/schemas/timeToTriggerL1-Type' mbsfnAreaList: type: array + uniqueItems: true items: $ref: '#/components/schemas/MbsfnArea' + maxItems: 8 reportType: $ref: '#/components/schemas/reportType-Type' - plmnList: - $ref: '#/components/schemas/plmnList-Type' eventListForEventTriggeredMeasurement: $ref: '#/components/schemas/eventListForEventTriggeredMeasurement-Type' areaConfigurationForNeighCell: - $ref: '#/components/schemas/AreaConfig' + type: array + uniqueItems: true + items: + $ref: '#/components/schemas/AreaConfig' + maxItems: 32 nPNIdentityList: type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NpnId-Type' @@ -1369,21 +1399,27 @@ components: $ref: '#/components/schemas/anonymizationOfMdtData-Type' areaScope: type: array + uniqueItems: true items: - $ref: '#/components/schemas/AreaScope' + $ref: 'TS28623_GenericNrm.yaml#/components/schemas/AreaScope' sensorInformation: $ref: '#/components/schemas/sensorInformation-Type' immediateMDTConfig: $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. type: object properties: ueCoreMeasurements: - type: string + type: array + items: + type: string + minItems: 1 ueCoreMeasGranularityPeriod: type: integer nfTypeToMeasure: @@ -1396,20 +1432,29 @@ components: AreaScope: oneOf: - type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/EutraCellId' - type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/NrCellId' - type: array + uniqueItems: true items: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Tac' - type: array + uniqueItems: true items: $ref: '#/components/schemas/Tai' - type: array + uniqueItems: true items: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NpnId-Type' + - type: array + items: + $ref: '#/components/schemas/PLMNInfo' + Tai: type: object properties: @@ -1419,7 +1464,15 @@ components: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' tac: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Tac' - + PLMNInfo: + type: object + properties: + plmnId: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + sNSSAI: + type: array + items: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' AreaConfig: type: object properties: @@ -1427,8 +1480,13 @@ components: $ref: '#/components/schemas/FreqInfo' pciList: type: array + uniqueItems: true items: type: integer + minimum: 0 + maximum: 1007 + minItems: 1 + maxItems: 32 FreqInfo: description: specifies the carrier frequency and bands used in a cell. type: object @@ -1437,8 +1495,10 @@ components: type: integer freqBands: type: array + uniqueItems: true items: type: integer + minItems: 1 MbsfnArea: type: object properties: @@ -1460,6 +1520,9 @@ components: $ref: 'TS28623_GenericNrm.yaml#/components/schemas/NpnId-Type' listOfTraceMetrics: type: array + uniqueItems: true + items: + type: string traceReportingConsumerUri: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Uri' traceCollectionEntityIpAddress: @@ -1471,7 +1534,7 @@ components: traceReportingFormat: $ref: '#/components/schemas/traceReportingFormat-Type' traceTarget: - $ref: '#/components/schemas/traceTarget-Type' + $ref: '#/components/schemas/TraceTarget' traceConfig: $ref: '#/components/schemas/traceConfig-Type' mdtConfig: diff --git a/README.md b/README.md index 7ded0d216c1cc376503d336bf96c6b157f41a712..f4bd9cbd1b211ed39ced35ae1bb7aee66e6bd990 100644 --- a/README.md +++ b/README.md @@ -4,18 +4,20 @@ The Rel-16 branch represents the latest Rel-16 content approved and published af The Rel-17 branch represents the latest Rel-17 content approved and published after each TSG SA plenary. -Rel-18 branch represents the current working in progress release status. +The Rel-18 branch represents the latest Rel-18 content approved and published after each TSG SA plenary. -(c) 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). +The Rel-19 branch represents the current working in progress release status. + +(c) 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. -Branch {+Rel-18+} validation status: +Branch {+Rel-19+} validation status: [![pipeline status](https://forge.3gpp.org/rep/SA5/MnS/badges/Rel-18/pipeline.svg)](https://forge.3gpp.org/rep/SA5/MnS/commits/Rel-18) -## Data models validation +## Data models/Schema validation -The YANG data models in the present projects are validated by an automated CI agent. Learn more at: +The YANG data models and YAML Schema in the present projects are validated by an automated CI agent. Learn more at: * [Management And Orchestration APIs Wiki](https://forge.3gpp.org/rep/sa5/MnS/-/wikis/home) -* [Validation scripts repository](https://forge.3gpp.org/rep/tools/3gpp-scripts/sa5) +* [Validation scripts repository](https://forge.3gpp.org/rep/tools/3gpp-scripts/-/tree/master/sa5) diff --git a/yang-models/_3gpp-5g-common-yang-types.yang b/yang-models/_3gpp-5g-common-yang-types.yang index 08b8fc7211dd4b505c121951bbdd93d1e606a462..59ddcb2c3d8f01c7259d7c1def06aa58ec5da1ee 100755 --- a/yang-models/_3gpp-5g-common-yang-types.yang +++ b/yang-models/_3gpp-5g-common-yang-types.yang @@ -2,45 +2,214 @@ module _3gpp-5g-common-yang-types { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-5g-common-yang-types"; prefix "types5g3gpp"; - - + import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The model defines common types for 5G networks and + description "The model defines common types for 5G networks and network slicing. - Copyright 2024, 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.541"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-03-25 { reference CR-1489 ; } + revision 2024-11-01 { reference CR-1405; } + revision 2024-10-06 { reference CR-1389; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-05-10 { reference CR-0916; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } - + + grouping IpInterfaceGrp { + leaf-list ipv4EndpointAddresses { + description "Available endpoint IPv4 address(es) of + the User Plane interface."; + type inet:ipv4-address; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + + leaf-list ipv6EndpointAddresses { + description "Available endpoint IPv6 address(es) of + the User Plane interface."; + type inet:ipv6-address; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + + leaf fqdn { + description "This parameter defines FQDN of the Network Function + (See TS 23.003)."; + type inet:domain-name; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + } + + grouping SdRangeGrp { + leaf start { + type string { + pattern "[A-Fa-f0-9]{6}"; + } + mandatory true; + 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 of TS 29.571."; + } + + leaf end { + type string { + pattern "[A-Fa-f0-9]{6}"; + } + mandatory true; + 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 in TS 29.571"; + } + } + + grouping SnssaiExtensionGrp { + list sdRanges { + min-elements 1; + key "start end"; + description "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 (see clause 5.4.4.2 in TS 29.571)."; + uses SdRangeGrp; + } + + leaf wildcardSd { + type boolean; + default false; + description "It indicates that all SD values are supported for the + Slice/Service Type value indicated in the sst attribute of the Snssai + data type (see clause 5.4.4.2 in TS 29.571)."; + } + } + + grouping ExtSnssaiGrp { + list snssai { + description "It represents the S-NSSAI the NetworkSlice managed object + is supporting. The S-NSSAI is defined in TS 23.003 "; + min-elements 1; + max-elements 1; + key "sd sst"; + uses SNssai; + } + + list snssaiExtension { + description "It represents extensions to the Snssai."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses SnssaiExtensionGrp; + } + } + grouping sNssaiSmfInfoItem { + list sNssai { + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + list dnnSmfInfoList { + description "List of parameters supported by the SMF per DNN. + The absence indicates the DNN can be selected for any DNAI."; + min-elements 1; + key dnn; + uses DnnSmfInfoItem; + } + } + + grouping MappedCellIdInfoGrp { + description "This data type represents the mapping relationship between + Mapped Cell IDs and geographical areas (see clause 16.14.5 of TS 38.300"; + + list ntnGeoArea { + description "This attribute indicates a specific geographical location + mapped to Mapped Cell ID(s)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + list mappedCellId { + description "This attribute is in format of NCGI to indicate a fixed + geographical area (See subclause 16.14.5 in TS 38.300)"; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses NcgiGrp; + } + } + + grouping NcgiGrp { + description "Represents the Ncgi datatype"; + + list plmnId { + description "This attribute represents a PLMN Identity."; + min-elements 1; + max-elements 1; + key "idx"; + leaf idx { type uint32 ; } + uses types3gpp:PLMNId ; + } + + leaf nrCellId { + type string; + mandatory true; + description "This attribute represents NR Cell Identity. + It's a 36-bit string identifying an NR Cell Id as specified in + clause 9.3.1.7 of 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. + + Pattern: '^[A-Fa-f0-9]{9}$' + + Example: + An NR Cell Id 0x225BD6007 shall be encoded as '225BD6007'."; + } + + leaf nId { + type string; + mandatory true; + 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."; + } + } + typedef NRTAC { type string; - description "This holds the identity of the common Tracking Area Code - for the PLMNs. + description "This holds the identity of the common Tracking Area Code + for the PLMNs. allowedValues: - a) It is the TAC or Extended-TAC. - b) A cell can only broadcast one TAC or Extended-TAC. See TS 36.300, + a) It is the TAC or Extended-TAC. + b) A cell can only broadcast one TAC or Extended-TAC. See TS 36.300, subclause 10.1.7 (PLMNID and TAC relation). c) TAC is defined in subclause 19.4.2.3 of 3GPP TS 23.003 and Extended-TAC is defined in subclause 9.3.1.29 of 3GPP TS 38.473. d) For a 5G SA (Stand Alone), it has a non-null value."; } - + grouping SNssai { - description + description "Single Network Slice Selection Assistance Information(S-NSSAI)"; reference "3GPP TS 23.003"; - + leaf sd { description "Slice Differentiator If not needed, the value can be set to ff:ff:ff."; @@ -49,35 +218,35 @@ module _3gpp-5g-common-yang-types { } reference "3GPP TS 23.003"; } - + leaf sst { type uint8; description "Slice/Service Type. - Values 0 to 127 belong to standardized SST range and are defined in + Values 0 to 127 belong to standardized SST range and are defined in 3GPP TS 23.501. Values 128 to 255 belong to operator-specific range."; } } - + grouping PlmnIdNid { - description "Represents the SCP domain specific information as defined + description "Represents the SCP domain specific information as defined in TS 29.510 "; uses types3gpp:PLMNId; - + leaf nid { type string; - description "This attribute represents network Identity; - Shall be present if PlmnIdNid identifies an SNPN. + description "This attribute represents 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 TS 23.501"; } } grouping PLMNInfo { - description "The PLMNInfo data type define a S-NSSAI member in a specific - PLMNId, and it have two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). - The PLMNId represents a data type that is comprised of mcc - (mobile country code) and mnc (mobile network code), (See TS 23.003 - subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is - comprised of an SST (Slice/Service type) and an optional + description "The PLMNInfo data type define a S-NSSAI member in a specific + PLMNId, and it have two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). + The PLMNId represents a data type that is comprised of mcc + (mobile country code) and mnc (mobile network code), (See TS 23.003 + subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is + comprised of an SST (Slice/Service type) and an optional SD (Slice Differentiator) field"; uses types3gpp:PLMNId; uses SNssai; @@ -93,47 +262,106 @@ module _3gpp-5g-common-yang-types { enum DIRECT_COMMUNICATION_WITH_NRF { value 1; - description "Directly communicate to other NF service discovered + description "Directly communicate to other NF service discovered by NRF."; } enum INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY { value 2; - description "Communicate to pre-configured other NF service through + description "Communicate to pre-configured other NF service through SCP as a proxy."; } enum INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY { value 3; - description "Communication to NF service discovered by NRF through SCP + description "Communication to NF service discovered by NRF through SCP as a proxy."; } } } - + grouping CommModel { leaf groupId { - type uint16; + type uint16; } leaf commModelType { type CommModelType; - } - leaf-list targetNFServiceList { - type types3gpp:DistinguishedName; + } + leaf-list targetNFServiceList { + type types3gpp:DistinguishedName; } leaf commModelConfiguration { type string; - } + } } - + grouping TaiRangeGrp { + list plmnId { + description "PLMN ID related to the TacRange."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list tacRangeList { + description "The range of the TACs."; + min-elements 1; + key "start end"; + uses TacRange; + } + } + + grouping TacRange { + leaf start { + description "First value identifying the start of a TAC range, + to be used when the range of TAC's can be represented + as a hexadecimal range (e.g., TAC ranges)."; + type string { + pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; + } + } + + leaf end { + description "Last value identifying the end of a TAC range, + to be used when the range of TAC's can be represented as + a hexadecimal range (e.g. TAC ranges)."; + type string { + pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; + } + } + + leaf nRTACpattern { + description "Pattern (regular expression according to the ECMA-262) + representing the set of TAC's belonging to this range. + A TAC value is considered part of the range if and only if the + TAC string fully matches the regular expression."; + type string; + } + } + grouping DnnSmfInfoItem { + leaf dnn { + description "Supported DNN."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported by + the SMF for this DNN. The absence of this attribute indicates that + the SMF can be selected for this DNN for any DNAI."; + min-elements 1; + type string; + } + } + grouping SupportedFunc { leaf function { - type string; + type string; } leaf policy { type string; - } + } } typedef EnergySavingLoadThresholdT { @@ -151,14 +379,14 @@ module _3gpp-5g-common-yang-types { } typedef PhysCellID { - type uint32 { - range "0..1007"; + type uint32 { + range "0..1007"; } reference "clause 7.4.2 of TS 38.211"; } typedef UTC24TimeOfDayT { - description "Time of day in HH:MM or H:MM 24-hour format per UTC + description "Time of day in HH:MM or H:MM 24-hour format per UTC time zone."; type string { pattern "(([01]?[0-9])|(2[0-3])):([0-5][0-9])"; diff --git a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang index 10e0ee41490bb789ef644b8e3c5aff76b0864cc6..abfa6bc8c8a986abb80cc274693c8c4b98fe6a98 100755 --- a/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang +++ b/yang-models/_3gpp-5gc-nrm-FiveQiDscpMappingSet.yang @@ -1,21 +1,24 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-FiveQiDscpMappingSet; - prefix FiveQiDscpMapping3gpp; - + prefix FiveQiDscpM3gpp; + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description " This IOC represents the set of mapping between 5QIs and DSCP. - 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.541"; - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-01-25 { reference CR-1442 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2020-05-27 { reference "CR-0287"; } @@ -27,7 +30,7 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { min-elements 1; description " Identifies the 5QI values that are mapped to a same DSCP"; } - + leaf dscp { type uint32 { range 0..255 ; @@ -38,11 +41,12 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { grouping FiveQiDscpMappingSetGrp { description "Represents the FiveQiDscpMappingSet IOC."; - list FiveQiDscpMappingList { + list fiveQiDscpMappingList { + description "It provides the list of mapping between 5QIs and DSCP."; key "dscp"; uses FiveQiDscpMapping; } - } + } grouping FiveQiDscpMappingSetSubtree { list FiveQiDscpMappingSet { @@ -52,10 +56,10 @@ module _3gpp-5gc-nrm-FiveQiDscpMappingSet { container attributes { uses FiveQiDscpMappingSetGrp; } - } + } } - + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { uses FiveQiDscpMappingSetSubtree; - } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-amffunction.yang b/yang-models/_3gpp-5gc-nrm-amffunction.yang index 310e71835b97e066a22d95ba86e9e3f2b67a90be..89ecbe3f33dc4a209e3971c11d6cf8ab1ea5216e 100755 --- a/yang-models/_3gpp-5gc-nrm-amffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-amffunction.yang @@ -8,36 +8,43 @@ module _3gpp-5gc-nrm-amffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import ietf-inet-types { prefix inet; } + import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-nr-nrm-ntnfunction { prefix ntn3gpp; } + 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 "AMFFunction derived from basic ManagedFunction. - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; - + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-03-25 { reference "CR-1489 CR-1512" ; } + revision 2024-11-01 { reference CR-1405; } + revision 2024-10-06 { reference CR-1389; } revision 2024-04-04 { reference CR-1139; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } - revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } - grouping GlobalRanNodeIDGrp{ - + grouping NTNGlobalRanNodeIDGrp{ + list pLMNId { description "The PLMN Identifier is composed of - a Mobile Country Code (MCC) and + a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; max-elements 1; key "mcc mnc"; uses types3gpp:PLMNId; } - + choice GlobalRanNodeID{ description "Unique identifier of an NG-RAN node."; reference "3GPP TS 38.413"; @@ -59,7 +66,7 @@ module _3gpp-5gc-nrm-amffunction { -[A-Fa-f0-9]{5})$'; } description "This represents the identifier of - the ng-eNB ID as specified in + the ng-eNB ID as specified in clause 9.3.1.8 of 3GPP TS 38.413."; mandatory true; } @@ -70,12 +77,12 @@ module _3gpp-5gc-nrm-amffunction { type string{ pattern '^[A-Fa-f0-9]+$'; } - description "This IE shall contain the N3IWF + description "This IE shall contain the N3IWF identifier received over NGAP and - shall be encoded as a string of + shall be encoded as a string of hexadecimal characters."; mandatory true; - } + } } case TNGF{ @@ -90,7 +97,7 @@ module _3gpp-5gc-nrm-amffunction { mandatory true; } } - + case TWIF{ leaf TWIFID{ type string; @@ -108,7 +115,7 @@ module _3gpp-5gc-nrm-amffunction { } description "This represents the identifier of the W-AGF ID as specified in - clause 9.3.1.162 of 3GPP TS 38.413 + clause 9.3.1.162 of 3GPP TS 38.413 in hexadecimal representation."; mandatory true; } @@ -116,14 +123,13 @@ module _3gpp-5gc-nrm-amffunction { } } - grouping satelliteBackhaulInfo{ + grouping SatelliteBackhaulInfoGrp{ description "Defines information related to satellite backhaul category and corresponding information of gNB."; reference "3GPP TS 23.501"; - list GlobalRanNodeID{ + list nTNGlobalRanNodeID{ description "Unique identifier of an NG-RAN node."; - uses GlobalRanNodeIDGrp; min-elements 1; max-elements 1; leaf GlobalRanNodeIDValue{ @@ -131,6 +137,7 @@ module _3gpp-5gc-nrm-amffunction { description "this relies on the choice of GlobalRanNodeID"; } key "GlobalRanNodeIDValue"; + uses NTNGlobalRanNodeIDGrp; } leaf satelliteBackhaulCategory{ @@ -160,59 +167,386 @@ module _3gpp-5gc-nrm-amffunction { } } + grouping GUAMInfoGrp { + description "Represents the GUAMInfo datatype."; + + list pLMNId { + description "This attribute represents a PLMN Identity."; + min-elements 1; + max-elements 1; + key "idx"; + leaf idx { type uint32 ; } + uses types3gpp:PLMNId ; + } + + leaf aMFIdentifier { + type int64; + description "The AMFI is constructed from an AMF Region ID, an + AMF Set ID and an AMF Pointer. The AMF Region ID identifies the region, + the AMF Set ID uniquely identifies the AMF Set within the AMF Region, + and the AMF Pointer uniquely identifies the AMF within the AMF Set. + (Ref. 3GPP TS 23.003)"; + } + } + + grouping N2InterfaceAmfInfoGrp { + description "Represents the N2InterfaceAmfInfo datatype."; + + leaf-list ipv4EndpointAddress { + type inet:ipv4-address; + min-elements 1; + description "This attribute represents available AMF endpoint + IPv4 address(es) for N2."; + } + + leaf-list ipv6EndpointAddress { + type inet:ipv6-address; + min-elements 1; + description "This attribute represents available AMF endpoint + IPv6 address(es) for N2."; + } + + leaf amfName { + type inet:host-name; + description "This attribute represents AMF Name FQDN as defined in + clause 28.3.2.5 of TS 23.003."; + } + } + + grouping BlockedLocationInfoGrp { + description "Repreasents the datatype BlockedLocationInfo"; + + list blockedLocation { + description "This provides the geographical location at which the PLMN + are not allowed in case of NTN."; + min-elements 1; + max-elements 1; + key "mnc mcc"; + uses types3gpp:PLMNId ; + } + + list blockedDurWindow { + description "This provides the time durations for which the PLMN are + not allowed at a given location in case of NTN"; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:TimeWindowGrp; + } + + list blockedSlice { + description "This provides the slice for which the access is + not allowed at a given location in case of NTN. "; + max-elements 1; + key idx; + unique "sst sd"; + leaf idx { type uint32; } + uses types5g3gpp:SNssai; + } + } + + grouping NTNPLMNRestrictionsInfoGrp { + description "Represents the datatype NTNPLMNRestrictionsInfo"; + + list pLMNId { + description "This attribute represents a PLMN Identity."; + min-elements 1; + max-elements 1; + key "mnc mcc"; + uses types3gpp:PLMNId ; + } + + list blockedLocationInfoList { + description "This defines the information related with the location + for which the access restrictions are to be applied in case of NTN."; + key "idx"; + leaf idx { type uint32 ; } + uses BlockedLocationInfoGrp; + } + } + + grouping NtnLocationInfoGrp { + description "Represents the NtnLocationInfo datatype."; + + list location { + description "This defines the Location (geographical area) under + consideration to which the satellite coverage info belongs"; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:GeoAreaGrp; + } + + list availabilityWindows { + description "This attribute defines the list of time windows at which + the satellite coverage will be available for this location. + Either availabilityWindows or nonAvailabilityWindows shall be present."; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:TimeWindowGrp; + } + + list nonAvailabilityWindows { + description "This attribute defines the list of time windows at which + the satellite coverage will not be available for this location. + Either availabilityWindows or nonAvailabilityWindows shall be present."; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:TimeWindowGrp; + } + } + + grouping SatelliteCoverageInfoGrp { + description "Represents the datatype SatelliteCoverageInfo"; + + leaf nRSatelliteRATtype { + type enumeration { + enum NRLEO; + enum NRMEO; + enum NRGEO; + enum NROTHERSAT; + } + description "This attribute defines the RAT Type for NR satellite + access."; + } + + list locationInfo { + description "This attribute defines the information about location and + corresponding time windows for which the satellite coverage will be + available or unavailable."; + key idx; + leaf idx { type uint32 ; } + uses NtnLocationInfoGrp; + } + } + + grouping SliceExpiryInfoGrp { + description "Represents the datatype SliceExpiryInfo"; + + list pLMNInfo { + min-elements 1; // ??? + config false; + description "It defines the PLMN(s) of a Network Function. "; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:PLMNInfo; + } + + leaf expiryTime { + type yang:date-and-time; + config false; + description "This attribute provides information about the time at + which the slice is scheduled to be expired as it is not required + anymore. + This attribute will be set based on the sliceAvailability coming as + part of ServiceProfile."; + } + } + + grouping MappedCellIdInfoGrp { + description "Represents the datatype MappedCellIdInfo"; + + list ntnGeoArea { + description "This attribute indicates a specific geographical location + mapped to Mapped Cell ID(s)."; + min-elements 1; + max-elements 1; + key "idx"; + leaf idx { type uint32 ; } + uses types3gpp:GeoAreaGrp; + } + + list mappedCellId { + description "This attribute is in format of NCGI to indicate a fixed + geographical area (See subclause 16.14.5 in TS 38.300"; + min-elements 1; + max-elements 1; + key "idx"; + leaf idx { type uint32 ; } + uses types5g3gpp:NcgiGrp; + } + } + + grouping AmfInfoGrp { + description "Represents the data type AmfInfo."; + + leaf amfRegionId { + type int64; + mandatory true; + description "It represents the AMF Region ID, which identifies the + region. AllowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003 "; + } + + leaf amfSetId { + type int64; + mandatory true; + description "It represents the AMF Set ID, which is uniquely identifies + the AMF Set within the AMF Region. + allowedValues: defined in subclause 2.10.1 of 3GPP TS 23.003"; + } + + list taiList { + min-elements 1; + description "The list of TAIs."; + key "idx"; + leaf idx { type uint32 ; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + min-elements 1; + description "The range of TAIs."; + key "idx"; + leaf idx { type uint32 ; } + uses types5g3gpp:TaiRangeGrp; + } + + list gUAMIdList { + description "List of supported Globally Unique AMF Ids (GUAMIs)."; + config false; + min-elements 1; + key "idx"; + leaf idx { type uint32 ; } + uses GUAMInfoGrp; + } + + list backupInfoAmfFailure { + description "List of GUAMIs for which the AMF acts as a backup for AMF + failure."; + min-elements 1; + key "idx"; + leaf idx { type uint32 ; } + uses GUAMInfoGrp; + } + + list backupInfoAmfRemoval { + description "List of GUAMIs for which the AMF acts as a backup for + planned AMF removal."; + min-elements 1; + key "idx"; + leaf idx { type uint32 ; } + uses GUAMInfoGrp; + } + + list n2InterfaceAmfInfo { + description "This attribute represents the N2 interface information of + the AMF. "; + max-elements 1; + key "idx"; + leaf idx { type uint32 ; } + uses N2InterfaceAmfInfoGrp; + } + + leaf amfOnboardingCapability { + type boolean; + default false; + description "This attribute indicates the AMF supports SNPN Onboarding + capability. This is used for the case of Onboarding of UEs for SNPNs + (see TS 23.501, clause 5.30.2.10). + - FALSE: AMF does not support SNPN Onboarding; + - TRUE: AMF supports SNPN Onboarding."; + } + + leaf highLatencyCom { + type boolean; + description "This attribute indicates whether the AMF supports High + Latency communication (e.g. for NR RedCap UE). This is used for CP NF + to discover AMF supporting High Latency communication (see TS 23.501, + clause 6.3.5). + - FALSE: AMF does not support High Latency communication e.g. for + NR RedCap UE; + - TRUE: AMF supports High Latency communication e.g. for NR RedCap UE;"; + } + } + grouping AMFFunctionGrp { - description "Represents the AMFFunction IOC"; + description "Represents the AMFFunction IOC. + This IOC contains instances of NTNTimeBasedConfig to support + time-based configuration of the following NTN related entities: + AMFFunction and EP_N2."; uses mf3gpp:ManagedFunctionGrp; - list pLMNIdList { + list pLMNInfoList { min-elements 1; - description "A list of PLMN identifiers (Mobile Country Code and Mobile - Network Code)."; - key "mcc mnc"; - uses types3gpp:PLMNId; + description "It defines the PLMN(s) of a Network Function. "; + key idx; + leaf idx { type uint32 ; } + uses types5g3gpp:PLMNInfo; } - container aMFIdentifier { - //presence true; + list aMFIdentifier { description "An AMF identifier, comprising an AMF Region ID, an - AMF Set ID and an AMF Pointer."; + AMF Set ID and an AMF Pointer."; + key idx; + leaf idx { type uint32; } uses types3gpp:AmfIdentifier; } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - list sNSSAIList { - min-elements 1; - 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."; - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; + leaf-list cNSIIdList { + type string; + description "It is a set of NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network Slice instance when + multiple Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and + subclause 6.1.6.2.7 of TS 29.531"; } - + list managedNFProfile { key idx; + leaf idx{ type uint32;} min-elements 1; max-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; description ""; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } + list amfInfo { + max-elements 1; + description "This attribute represents information of an AMF + NF Instance."; + key "idx"; + leaf idx { type uint32 ; } + uses AmfInfoGrp; + } + + list nTNPLMNRestrictionsList { + description "This attribute defines the location restrictions per PLMN + that relates to non-terrestrial network access."; + key "idx"; + leaf idx { type uint32 ; } + uses NTNPLMNRestrictionsInfoGrp; + } + + list satelliteCoverageInfoList { + description "This attribute defines the information related to NR + Satellite RAT type and corresponding information of satellite coverage"; + key "idx"; + leaf idx { type uint32 ; } + uses SatelliteCoverageInfoGrp; + } + + list sliceExpiryInfo { + description "This provides information related to a network slice + validity."; + key "idx"; + leaf idx { type uint32 ; } + uses SliceExpiryInfoGrp; + } + list satelliteBackhaulInfoList{ description "Specifies a list of satellite backhaul information. It can be used by NF and NF services."; @@ -222,7 +556,7 @@ module _3gpp-5gc-nrm-amffunction { } key "GlobalRanNodeIDValue"; min-elements 1; - uses satelliteBackhaulInfo; + uses SatelliteBackhaulInfoGrp; } leaf-list mdtUserConsentReqList { @@ -240,15 +574,42 @@ module _3gpp-5gc-nrm-amffunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } + + list mappedCellIdInfoList { + description "It provides the list of mapping between GEO area and + Mapped Cell ID."; + key "idx"; + leaf idx { type uint32 ; } + uses MappedCellIdInfoGrp; + } + + leaf aMFSetRef { + type types3gpp:DistinguishedName; + description "This is the DN of AMFSet"; + } + + list NTNTimeBasedConfig { + description "This is the NTN time-based configuration."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ntn3gpp:NTNTimeBasedConfigGrp; + } + } } - + augment "/me3gpp:ManagedElement" { list AMFFunction { - description "5G Core AMF Function"; - reference "3GPP TS 28.541"; + description "This IOC represents the AMF functionality in 5GC. + For more information about the AMF, see 3GPP TS 23.501. + + The attribute sliceExpiryInfo is used when the validity information of + a network slice need to be configured. The attribute + sliceExpiryInfo.pLMNInfo indicates the network slice to which the + validity information applies."; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-5gc-nrm-anlffunction.yang b/yang-models/_3gpp-5gc-nrm-anlffunction.yang index 85673a4c7815f90dfe0f892352e1ee94b186ea80..3bb52fcdd868897c487d58d3aecf3560db79b557 100644 --- a/yang-models/_3gpp-5gc-nrm-anlffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-anlffunction.yang @@ -7,15 +7,17 @@ module _3gpp-5gc-nrm-anlffunction { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the AnLF function in 5GC. For more information about the AnLF, see 3GPP TS 23.288. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2024-08-07 { reference CR-1331; } revision 2023-11-03 { reference "initial revision"; } grouping AnLFFunctionGrp { @@ -29,6 +31,18 @@ module _3gpp-5gc-nrm-anlffunction { config false; description "It indicates the activation status of the AnLF"; } + leaf-list mLModelRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of MLModel ¨ + (See TS 28.105)."; + config false; + } + leaf-list aIMLInferenceFunctionRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of AIMLInferenceFunction + (See TS 28.105) ."; + config false; + } } augment "/me3gpp:ManagedElement/nwdaf3gpp:NWDAFFunction" { diff --git a/yang-models/_3gpp-5gc-nrm-ausffunction.yang b/yang-models/_3gpp-5gc-nrm-ausffunction.yang index e2648cdd32b6756ac33f9c663aa25980485acfba..3f02fd5ae2aa6421ebb22dce2ee09354264d01f4 100755 --- a/yang-models/_3gpp-5gc-nrm-ausffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ausffunction.yang @@ -1,105 +1,103 @@ module _3gpp-5gc-nrm-ausffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ausffunction; prefix ausf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } - + 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 "This IOC represents the AUSF function in 5GC. For more + description "This IOC represents the AUSF function in 5GC. For more information about the AUSF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-22 {reference "initial revision"; } - + grouping AusfInfoGrp { - description "Represents the information of an AUSF NF Instance + description "Represents the information of an AUSF NF Instance (see TS 29.510)."; grouping SuciInfoGrp { - description "This data type represents SUCI information containing + description "This data type represents SUCI information containing Routing Indicator and Home Network Public Key ID. (See TS 29.510)"; - + leaf-list routingInds { type string; min-elements 1; - description "It indicates served Routing Indicator (see TS 23.003, - clause 2.2B). If not provided, the AUSF/UDM + description "It indicates served Routing Indicator (see TS 23.003, + clause 2.2B). If not provided, the AUSF/UDM can serve any Routing Indicator."; } - + leaf-list hNwPubKeyIds { type int64; min-elements 1; - description "It indicating served Home Network Public Key - (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM + description "It indicating served Home Network Public Key + (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM can serve any public key."; } } - + leaf nFSrvGroupId { type string; - mandatory false; config false; yext3gpp:inVariant; yext3gpp:notNotifyable; - description "This parameter defines identity of the group that is + description "This parameter defines identity of the group that is served by the NF instance (See TS 29.510)."; } - - list supiRanges { - description "It represents list of ranges of SUPIs that can be served + + list supiRanges { + description "It represents list of ranges of SUPIs that can be served by the PCF instance."; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:SupiRange; + uses mnfp3gpp:SupiRangeGrp; } - + leaf-list routingIndicators { - description "This attribute represents a list of Routing Indicator - information that allows to route network signalling with SUCI + description "This attribute represents a list of Routing Indicator + information that allows to route network signalling with SUCI (see TS 23.003 [13]) to the AUSF instance. If not provided, the AUSF can serve any Routing Indicator."; type string { pattern "[0-9]{1,4}"; } } - + list suciInfos { - description "This attribute represents a list of SuciInfo. A SUCI - that matches this information can be served by the AUSF. - A SUCI that matches all attributes of at least one entry in this + description "This attribute represents a list of SuciInfo. A SUCI + that matches this information can be served by the AUSF. + A SUCI that matches all attributes of at least one entry in this array shall be considered as a match of this information."; key idx; leaf idx { type uint32 ; } uses SuciInfoGrp; - } + } } - + grouping AUSFFuntionGrp { description "Represents the AUSFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNInfoList { - description "List of at most six entries of PLMN Identifiers, but at + 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 + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -107,31 +105,34 @@ module _3gpp-5gc-nrm-ausffunction { leaf idx { type uint32 ; } uses types5g3gpp:PLMNInfo; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list managedNFProfile { + description "This data type represents a Profile definition + of a Managed NF"; key idx; + leaf idx { type uint32 ; } min-elements 1; max-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } - + list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } - + list ausfInfo { - description "It represents the information of an AUSF NF Instance + description "It represents the information of an AUSF NF Instance (see TS 29.510)"; key idx; min-elements 1; @@ -140,7 +141,7 @@ module _3gpp-5gc-nrm-ausffunction { uses AusfInfoGrp; } } - + augment "/me3gpp:ManagedElement" { list AUSFFunction { description "5G Core AUSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-dnfunction.yang b/yang-models/_3gpp-5gc-nrm-dnfunction.yang index fb3a27d251056c02e10f89bf739ed473fb97c6a4..67180d2bf227397ee91c7d6e4ba51bbdda019649 100755 --- a/yang-models/_3gpp-5gc-nrm-dnfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-dnfunction.yang @@ -1,32 +1,32 @@ module _3gpp-5gc-nrm-dnfunction { yang-version 1.1; - - namespace urn:3gpp:sa5_3gpp-5gc-nrm-dnfunction; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-dnfunction; prefix dn3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } - + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC is defined only to describe the IOCs representing Data Network (DN) interaction interface with 5GC (i.e. EP_N6). It has no attributes defined. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1552 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-05-15 { - description "initial revision"; - } - + revision 2019-05-15 { reference "initial revision"; } + grouping DNFunctionGrp { uses mf3gpp:ManagedFunctionGrp; } - + augment "/me3gpp:ManagedElement" { list DNFunction { description "5G Core DN Function"; diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index 12ef3c65c0b5df765fc99f83a62d6c1ab9f2cc3f..9e3a4a1c03f2a4c3ab2c2d111ec151f35d40d6ce 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -6,16 +6,20 @@ module _3gpp-5gc-nrm-dynamic5qiset { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } import _3gpp-5gc-nrm-configurable5qiset { prefix Conf5QIs3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the dynamic 5QIs including their QoS characteristics. - 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.541"; + revision 2025-03-25 { reference CR-1489 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-01-07 { reference CR-0643; } @@ -52,11 +56,43 @@ module _3gpp-5gc-nrm-dynamic5qiset { } } - augment "/subnet3gpp:SubNetwork" { + feature Dynamic5QISetUnderSubNetwork { + description "Dynamic5QISet shall be contained under SubNetwork."; + } + augment "/subnet3gpp:SubNetwork" { + if-feature Dynamic5QISetUnderSubNetwork; uses Dynamic5QISetSubtree; } + feature Dynamic5QISetUnderManagedElement { + description "Dynamic5QISet shall be contained under ManagedElement."; + } augment "/me3gpp:ManagedElement" { + if-feature Dynamic5QISetUnderManagedElement; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBDUFunction { + description "Dynamic5QISet shall be contained under GNBDUFunction."; + } + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + if-feature Dynamic5QISetUnderGNBDUFunction; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUCPFunction { + description "Dynamic5QISet shall be contained under GNBCUCPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature Dynamic5QISetUnderGNBCUCPFunction; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUUPFunction { + description "Dynamic5QISet shall be contained under GNBCUUPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + if-feature Dynamic5QISetUnderGNBCUUPFunction; uses Dynamic5QISetSubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ep.yang b/yang-models/_3gpp-5gc-nrm-ep.yang index 803d3b134c2bb8bdd9171f312d23caf0106bb9c5..52cd3f5b6f7d36b1624cb901c729c98415f17e3d 100755 --- a/yang-models/_3gpp-5gc-nrm-ep.yang +++ b/yang-models/_3gpp-5gc-nrm-ep.yang @@ -1,8 +1,8 @@ module _3gpp-5gc-nrm-ep { yang-version 1.1; - namespace "urn:3gpp:tsg:sa5:nrm:_3gpp-5gc-nrm-ep"; - prefix "cep3gpp"; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ep; + prefix cep3gpp; + import _3gpp-common-ep-rp { prefix eprp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-5gc-nrm-affunction { prefix af3gpp; } @@ -23,166 +23,167 @@ module _3gpp-5gc-nrm-ep { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-top { prefix top3gpp; } import ietf-inet-types { prefix inet; } - + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the 5GC related endpoint - Information Object Classes (IOCs) that are part of the 5G Core + Information Object Classes (IOCs) that are part of the 5G Core Network Resource Model. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } - revision 2019-11-18 { - description "Ericsson refactoring."; - } - - revision 2018-07-31 { - description "Initial revision"; - } - + + revision 2025-07-25 { reference CR-1558 ; } + revision 2024-08-19 { reference CR-1314 ; } + revision 2023-09-18 { reference CR-1043 ; } + revision 2019-11-18 { reference "Ericsson refactoring."; } + revision 2018-07-31 { reference "Initial revision"; } + grouping EP_N2Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N3Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N4Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N5Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N6Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N7Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N8Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N9Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N10Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N11Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N12Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N13Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N14Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N15Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N16Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N17Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N20Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N21Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N22Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N26Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N27Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N31Grp { uses eprp3gpp:EP_Common; } - + grouping EP_N32Grp { uses eprp3gpp:EP_Common; - container remotePlmnId { + list remotePlmnId { + key idx; + leaf idx { type uint32;} description "PLMN Identifiers of the remote sepp. - The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; + The PLMN Identifier is composed of a Mobile Country Code + (MCC) and a Mobile Network Code (MNC)."; uses types3gpp:PLMNId; } - - leaf remoteSeppAddress { + + leaf remoteSeppAddress { description "The host address of the SEPP."; type inet:host; } - leaf remoteSeppId { + leaf remoteSeppId { type uint16; - } + } leaf n32cParas { type string; - } + } leaf n32fPolicy { type string; - } + } leaf withIPX { type boolean; - } + } } - + grouping EP_S5CGrp { uses eprp3gpp:EP_Common; } - + grouping EP_S5UGrp { uses eprp3gpp:EP_Common; } - + grouping EP_RxGrp { uses eprp3gpp:EP_Common; } - + grouping EP_MAP_SMSCGrp { uses eprp3gpp:EP_Common; } - + grouping EP_NLSGrp { uses eprp3gpp:EP_Common; } - - grouping EP_NLGGrp { + + grouping EP_NL2Grp { uses eprp3gpp:EP_Common; } - + grouping EP_SBI_IPXGrp { uses eprp3gpp:EP_Common; leaf-list sBIService { @@ -191,7 +192,7 @@ module _3gpp-5gc-nrm-ep { type string; } } - + augment "/me3gpp:ManagedElement/af3gpp:AFFunction" { list EP_N6 { description "Represents the EP_N6 IOC."; @@ -201,7 +202,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N6Grp; } } - + list EP_Rx { description "Represents the EP_Rx IOC."; key id; @@ -211,7 +212,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/amf3gpp:AMFFunction" { list EP_N2 { description "Represents the EP_N2 IOC."; @@ -221,7 +222,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N2Grp; } } - + list EP_N8 { description "Represents the EP_N8 IOC."; key id; @@ -230,7 +231,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N8Grp; } } - + list EP_N11 { description "Represents the EP_N11 IOC."; key id; @@ -239,7 +240,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N11Grp; } } - + list EP_N12 { description "Represents the EP_N12 IOC."; key id; @@ -248,7 +249,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N12Grp; } } - + list EP_N14 { description "Represents the EP_N14 IOC."; key id; @@ -257,7 +258,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N14Grp; } } - + list EP_N15 { description "Represents the EP_N15 IOC."; key id; @@ -266,7 +267,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N15Grp; } } - + list EP_N17 { description "Represents the EP_N17 IOC."; key id; @@ -275,7 +276,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N17Grp; } } - + list EP_N20 { description "Represents the EP_N20 IOC."; key id; @@ -284,7 +285,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N20Grp; } } - + list EP_N22 { description "Represents the EP_N22 IOC."; key id; @@ -293,7 +294,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N22Grp; } } - + list EP_N26 { description "Represents the EP_N26 IOC."; key id; @@ -302,7 +303,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N26Grp; } } - + list EP_NLS { description "Represents the EP_NLS IOC."; key id; @@ -311,17 +312,17 @@ module _3gpp-5gc-nrm-ep { uses EP_NLSGrp; } } - - list EP_NLG { - description "Represents the EP_NLG IOC."; + + list EP_NL2 { + description "Represents the EP_NL2 IOC."; key id; uses top3gpp:Top_Grp; container attributes { - uses EP_NLGGrp; + uses EP_NL2Grp; } } } - + augment "/me3gpp:ManagedElement/ausf3gpp:AUSFFunction" { list EP_N12 { description "Represents the EP_N12 IOC."; @@ -331,7 +332,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N12Grp; } } - + list EP_N13 { description "Represents the EP_N13 IOC."; key id; @@ -339,9 +340,9 @@ module _3gpp-5gc-nrm-ep { container attributes { uses EP_N13Grp; } - } + } } - + augment "/me3gpp:ManagedElement/dn3gpp:DNFunction" { list EP_N6 { description "Represents the EP_N6 IOC."; @@ -352,7 +353,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/lmf3gpp:LMFFunction" { list EP_NLS { description "Represents the EP_NLS IOC."; @@ -363,7 +364,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/n3iwf3gpp:N3IWFFunction" { list EP_N2 { description "Represents the EP_N2 IOC."; @@ -373,7 +374,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N2Grp; } } - + list EP_N3 { description "Represents the EP_N3 IOC."; key id; @@ -383,7 +384,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/ngeir3gpp:NGEIRFunction" { list EP_N17 { description "Represents the EP_N17 IOC."; @@ -394,7 +395,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/nrf3gpp:NRFFunction" { list EP_N27 { description "Represents the EP_N27 IOC."; @@ -403,10 +404,10 @@ module _3gpp-5gc-nrm-ep { container attributes { uses EP_N26Grp; } - } + } } - + augment "/me3gpp:ManagedElement/nssf3gpp:NSSFFunction" { list EP_N22 { description "Represents the EP_N22 IOC."; @@ -416,7 +417,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N22Grp; } } - + list EP_N31 { description "Represents the EP_N31 IOC."; key id; @@ -426,7 +427,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/pcf3gpp:PCFFunction" { list EP_N5 { description "Represents the EP_N5 IOC."; @@ -436,7 +437,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N5Grp; } } - + list EP_N7 { description "Represents the EP_N7 IOC."; key id; @@ -445,7 +446,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N7Grp; } } - + list EP_N15 { description "Represents the EP_N15 IOC."; key id; @@ -454,7 +455,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N15Grp; } } - + list EP_N16 { description "Represents the EP_N16 IOC."; key id; @@ -463,7 +464,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N16Grp; } } - + list EP_Rx { description "Represents the EP_Rx IOC."; key id; @@ -473,7 +474,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/sepp3gpp:SEPPFunction" { list EP_N32 { description "Represents the EP_N32 IOC."; @@ -484,7 +485,7 @@ module _3gpp-5gc-nrm-ep { } } - } + } augment "/me3gpp:ManagedElement/smsf3gpp:SMSFFunction" { list EP_N20 { description "Represents the EP_20 IOC."; @@ -494,7 +495,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N20Grp; } } - + list EP_N21 { description "Represents the EP_N21 IOC."; key id; @@ -503,7 +504,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N21Grp; } } - + list EP_MAP_SMSC { description "Represents the EP_MAP_SMSC IOC."; key id; @@ -513,7 +514,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { list EP_N4 { description "Represents the EP_N4 IOC."; @@ -523,7 +524,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N4Grp; } } - + list EP_N7 { description "Represents the EP_N7 IOC."; key id; @@ -532,7 +533,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N7Grp; } } - + list EP_N10 { description "Represents the EP_N10 IOC."; key id; @@ -541,7 +542,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N10Grp; } } - + list EP_N11 { description "Represents the EP_N11 IOC."; key id; @@ -550,7 +551,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N11Grp; } } - + list EP_N16 { description "Represents the EP_N16 IOC."; key id; @@ -559,7 +560,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N16Grp; } } - + list EP_S5C { description "Represents the EP_S5C IOC."; key id; @@ -569,7 +570,7 @@ module _3gpp-5gc-nrm-ep { } } } - + augment "/me3gpp:ManagedElement/udm3gpp:UDMFunction" { list EP_N8 { description "Represents the EP_N8 IOC."; @@ -579,7 +580,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N8Grp; } } - + list EP_N10 { description "Represents the EP_N10 IOC."; key id; @@ -588,7 +589,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N10Grp; } } - + list EP_N13 { description "Represents the EP_N13 IOC."; key id; @@ -599,7 +600,7 @@ module _3gpp-5gc-nrm-ep { } } - + augment "/me3gpp:ManagedElement/upf3gpp:UPFFunction" { list EP_N4 { description "Represents the EP_N4 IOC."; @@ -609,7 +610,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N4Grp; } } - + list EP_N3 { description "Represents the EP_N3 IOC."; key id; @@ -618,7 +619,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N3Grp; } } - + list EP_N9 { description "Represents the EP_N9 IOC."; key id; @@ -627,7 +628,7 @@ module _3gpp-5gc-nrm-ep { uses EP_N9Grp; } } - + list EP_S5U { description "Represents the EP_S5U IOC."; key id; @@ -636,7 +637,7 @@ module _3gpp-5gc-nrm-ep { uses EP_S5UGrp; } } - + list EP_EP_N6 { description "Represents the EP_N6 IOC."; key id; diff --git a/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..b44dd2119874ace88e19e1e485c92999f43625ed --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-gmlcfunction.yang @@ -0,0 +1,130 @@ +module _3gpp-5gc-nrm-gmlcfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-5gc-nrm-gmlcfunction"; + prefix gmlc3gpp; + + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + import _3gpp-common-top { prefix top3gpp; } + 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 "This module defines the GMLC Function IOC per 3GPP TS 28.541. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-03-25 { reference CR-1489 ; } + revision 2025-03-25 { + description "Initial revision."; + reference "3GPP TS 28.541"; + } + + grouping GmlcInfoGrp { + description "Information of a GMLC NF Instance (see TS 29.510, + clause 6.1.6.2.41)."; + + leaf servingClientTypes { + description "Identity of the GMLC group that is served by + the GMLC instance."; + type enumeration { + enum EMERGENCY_SERVICES { + description "External client for emergency services"; + } + enum VALUE_ADDED_SERVICES { + description "External client for value added services"; + } + enum PLMN_OPERATOR_SERVICES { + description "External client for PLMN operator services"; + } + enum LAWFUL_INTERCEPT_SERVICES { + description "External client for Lawful Intercept services"; + } + enum EXTERNAL_CLIENT_FOR_LAWFUL_INTERCEPT_SERVICES { + description "External client for PLMN Operator Broadcast + services"; + } + enum PLMN_OPERATOR_OM { + description "External client for PLMN Operator O&M"; + } + enum PLMN_OPERATOR_ANONYMOUS_STATISTICS { + description "External client for PLMN Operator anonymous + statistics"; + } + enum PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT { + description "External client for PLMN Operator target MS + service support"; + } + } + + } + leaf gmlcNumbers{ + type string{ + pattern "^[0-9]{5,15}$"; + } + description "This attribute represents each item of the array + shall carry an OctetString indicating the ISDN number of the GMLC in + international number format as described in ITU-T Rec. E.164 [94] and + shall be encoded as a TBCD-string."; + + } + } + + grouping GMLCFunctionGrp { + description "GMLC Function IOC grouping."; + uses mf3gpp:ManagedFunctionGrp; + + list pLMNInfoList { + description "It defines the PLMN(s) of a Network Function. "; + key "idx"; + leaf idx { type uint32; } + min-elements 1; + uses types3gpp:PLMNId; + } + leaf sBIFqdn { + type string; + description "FQDN of the registered NF instance in the + service-based interface."; + } + list managedNFProfile { + description "This parameter defines profile for managed NF. + See TS 23.501"; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + } + list commModelList { + description "The attribute specifies a list of commModel which is + defined as a datatype (see clause 5.3.69). It can be used by NF + and NF services to interact with each other in 5G Core network "; + reference "see TS 23.501."; + key "groupId"; + min-elements 1; + uses types5g3gpp:CommModel; + } + list gmlcInfo { + description "This attribute represents information of an GMLC NF + Instance."; + key "idx"; + leaf idx { type uint32; } + max-elements 1; + uses GmlcInfoGrp; + } + } + augment "/me3gpp:ManagedElement" { + list GMLCFunction { + description "5G Core LMF Function defined in TS 23.501"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses GMLCFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-lmffunction.yang b/yang-models/_3gpp-5gc-nrm-lmffunction.yang index 6069ae5133d295ea5ef9e24c50bcb2acf088d83c..60456af69541c7000376638e599611269734d81e 100755 --- a/yang-models/_3gpp-5gc-nrm-lmffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-lmffunction.yang @@ -1,60 +1,304 @@ module _3gpp-5gc-nrm-lmffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-lmffunction; prefix lmf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + import _3gpp-nr-nrm-ntnfunction { prefix ntn3gpp; } + 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 "This IOC represents the LMF function defined in 3GPP TS 23.501. - 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.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference "CR-1558 CR-1585" ; } + revision 2025-03-25 { reference CR-1489 ; } + revision 2024-11-01 { reference CR-1405 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-25 { reference "S5-194457 S5193518"; } + revision 2019-05-15 { reference "initial revision"; } + + grouping LmfInfoGrp { + description "Represents the LmfInfo datatype."; + + leaf-list servingClientTypes { + type enumeration { + enum EMERGENCY_SERVICES { + description "External client for emergency services"; + } + enum VALUE_ADDED_SERVICES { + description "External client for value added services"; + } + enum PLMN_OPERATOR_SERVICES { + description "External client for PLMN operator services"; + } + enum LAWFUL_INTERCEPT_SERVICES { + description "External client for Lawful Intercept services"; + } + enum PLMN_OPERATOR_BROADCAST_SERVICES { + description "External client for PLMN Operator Broadcast services"; + } + enum PLMN_OPERATOR_OM { + description "External client for PLMN Operator O&M"; + } + enum PLMN_OPERATOR_ANONYMOUS_STATISTICS { + description "External client for PLMN Operator anonymous statistics"; + } + enum PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT { + description "External client for PLMN Operator target MS service + support"; + } + } + description "This attribute represents a list of external client type(s), + e.g. emergency client. The NRF should only include this LMF instance + to NF discovery with 'client-type' query parameter indicating one of + the external client types in the list. + + Absence of this attribute means the LMF is not dedicated to serve + specific client types."; + } + + leaf lmfId { + type string; + description "This attribute represents the LMF identification. + See clause 6.1.6.3.6 TS 29.572"; + } + + leaf-list servingAccessTypes { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + min-elements 1; + description "This attribute contains 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."; + } + + leaf-list servingAnNodeTypes { + type enumeration { + enum GNB; + enum NG; + enum ENB; + } + min-elements 1; + description "This attribute contains the AN node type (i.e. gNB or NG-eNB) + supported by the LMF. + If not included, it shall be assumed that all AN node types are + supported."; + } + + leaf-list servingRatTypes { + type string; + min-elements 1; + description "This attribute contains the RAT type (e.g. 5G NR, eLTE or + any of the RAT Types specified for NR satellite access) supported by + the LMF. + If not included, it shall be assumed that all RAT types are supported + allowedValues: see clause 5.4.3.2 of TS 29.571"; + } + + list taiList { + description "This attribute contains TAI list that the LMF can serve. + It may contain one or more non-3GPP access TAIs. + The absence of both this attribute and the taiRangeList attribute + indicates that the LMF can be selected for any TAI in the serving + network."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "This attribute contains TAI range list that the LMF can + serve. It may contain one or more non-3GPP access TAI ranges. + The absence of both this attribute and the taiList attribute indicates + that the LMF can be selected for any TAI in the serving network."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } - revision 2019-05-15 { - description "initial revision"; - reference "Based on - 3GPP TS 28.541 V15.X.XX"; + leaf-list supportedGADShapes { + type enumeration { + enum POINT { + description "indicates Ellipsoid Point"; + } + enum POINT_UNCERTAINTY_CIRCLE { + description "indicates Ellipsoid point with uncertainty circle"; + } + enum POINT_UNCERTAINTY_ELLIPSE { + description "indicates Ellipsoid point with uncertainty ellipse"; + } + enum POLYGON { + description "indicates Polygon"; + } + enum POINT_ALTITUDE { + description "indicates Ellipsoid point with altitude"; + } + enum POINT_ALTITUDE_UNCERTAINTY { + description "indicates Ellipsoid point with altitude and + uncertainty ellipsoid"; + } + enum ELLIPSOID_ARC { + description "indicates Ellipsoid Arc"; + } + enum LOCAL_2D_POINT_UNCERTAINTY_ELLIPSE { + description "indicates Local 2D point with uncertainty ellipse"; + } + enum LOCAL_3D_POINT_UNCERTAINTY_ELLIPSOID { + description "indicates Local 3D point with uncertainty ellipsoid"; + } + } + min-elements 1; + description "This attribute contains the GAD shapes supported by the LMF. + If not included, it doesn't indicate that the LMF doesn't support any + GAD shapes. + The allowedValues are: see clause 6.1.6.3.4 of TS 29.572 "; + } } - + + grouping TrpMappingInfoGrp { + description "This data type represents the mapping relationship between + satellite and TRPs."; + + leaf satelliteId { + type string { + pattern '[0-9]{5}'; + } + mandatory true; + description "This attribute indicates satellite Id. It shall be formatted + as a fixed 5-digit string, padding with leading digits '0' to complete + a 5-digit length."; + } + + leaf-list trpIds { + type uint8 { + range 1..max; + } + description "This attribute indicates TRPs uniquely within an NG-RAN + node (see TS 38.455 clause 9.2.24). A gNB may serve several TRPs. + For NTN, a TRP may be located on board the satellite."; + } + } + + grouping TrpInfoGrp { + description "This data type represents the mapping relationship between + gNB and TRPs."; + + leaf gNBId { + type uint32; + mandatory true; + description "It identifies a gNB within a PLMN. The gNB ID is part of + the NR Cell Identifier (NCI) of the gNB cells. + See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. See + 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; + } + + list trpMappingInfoList { + description "This is the list of TRP mapping between satellite and TRPs."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses TrpMappingInfoGrp; + } + } + grouping LMFFunctionGrp { 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)."; + 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)."; min-elements 1; max-elements 6; key "mcc mnc"; uses types3gpp:PLMNId; } - + list managedNFProfile { + description "This parameter defines profile for managed NF. See TS 23.501"; key idx; + leaf idx { type uint32;} min-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { + description "The attribute specifies a list of commModel. It can be used + by NF and NF services to interact with each other in 5G Core network + (see TS 23.501)"; min-elements 1; key "groupId"; uses types5g3gpp:CommModel; } + + list lmfInfo { + description "This attribute represents information of an LMF NF Instance"; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses LmfInfoGrp; + } + + list mappedCellIdInfoList { + description "It provides the list of mapping between GEO area and + Mapped Cell ID."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:MappedCellIdInfoGrp; + } + + list ephemerisInfos { + description "This is the list of Ephemeris related information"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses ntn3gpp:EphemerisGrp; + } + + list trpInfoList { + description "This is the list of TRP (Transmission-Reception Point) + related information on LMF (see TS 38.305 clause 5.4.4)."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses TrpInfoGrp; + } + + leaf-list mLModelRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of MLModel."; + reference "3GPP TS 28.105"; + config false; + } + + leaf-list aIMLInferenceFunctionRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of + aIMLInferenceFunction"; + reference "3GPP TS 28.105"; + config false; + } } - + augment "/me3gpp:ManagedElement" { list LMFFunction { - description "5G Core LMF Function"; - reference "3GPP TS 28.541"; + description "5G Core LMF Function defined in TS 23.501"; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang new file mode 100755 index 0000000000000000000000000000000000000000..e7e5dc38431feb199442bb98f0bffba530d845f5 --- /dev/null +++ b/yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang @@ -0,0 +1,670 @@ +module _3gpp-5gc-nrm-managed-nfprofile { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-managed-nfprofile; + prefix mnfp3gpp; + + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-inet-types { prefix inet; } + import ietf-yang-types { prefix yang; } + import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } + +organization "3gpp SA5"; +contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; +description "NF profile class. +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 2025-07-25 { reference "initial revision"; } + + grouping SPNInfoIdGrp { + description "This data type represents the SNPN identification + consisting of MCC, MNC, and optionally NID."; + leaf mcc { + type string; + description "Mobile Country Code (MCC) of the SNPN."; + } + + leaf mnc { + type string; + description "Mobile Network Code (MNC) of the SNPN."; + } + + leaf nId { + type string; + description "Network Identifier (NID) of the SNPN."; + } + } + grouping CollocatedNfInstanceGrp { + description "This data type represents the SNPN identification + consisting of MCC, MNC, and optionally NID."; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + } + grouping SupiRangeGrp { + leaf start { + description "First value identifying the start ofa SUPI range.To be + used when the range of SUPI's can be represented as a numeric range + (e.g., IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf end { + description "Last value identifying the end of a SUPI range.To be + used when the range of SUPI's can be represented as a numeric range + (e.g. IMSI ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + + leaf pattern { + description "Pattern representing the set of SUPI's belonging to + this range.A SUPI value is considered part of the range if and + only if the SUPI string fully matches the regular expression."; + type string; + } + } + + grouping ConditionItemGrp { + description "This data type represents a single condition item that + shall be evaluated to determine whether a discovered NF (Service) + Instance shall be selected."; + + leaf consumerNfTypes { + description "It represents the NF types of the consumers for + which the conditions included in this ConditionItem apply. + If this attribute is absent, the conditions are applicable + to all NF consumer types."; + type types3gpp:NfType; + } + leaf serviceFeature { + description "It represents a feature number of that NF Service + Instance,under CANARY_RELEASE status. This attribute only + applies when the selectionConditions, where this + ConditionItem is included, is included in a NF Service Instance + This condition is evaluated to when the service requests + froma consumer of this NF Service Instance require the support + of the indicated feature on the NF Service Instance."; + type uint32; // positive integer, 0 excluded by context + } + leaf vsServiceFeature { + description "It represents a Vendor-Specific feature + number of thatNF Service Instance, under CANARY_RELEASE + status. This attribute only applies when the + selectionConditions, where this ConditionItem is included, + is included in a NF Service Instance.This condition is + evaluated to true when the service requests from a + consumer of this NF Service Instance require the support + of the indicated Vendor-Specific feature on the NF + Service Instance."; + type uint32; + } + list supiRangeList { + description "It represents a set of SUPIs for which + the NF (Service) instance under CANARY_RELEASE status shall + be selected."; + key idx; + leaf idx { type uint32; } + uses SupiRangeGrp; + } + list gpsiRangeList { + description "It represents a set of GPSIs for which the NF + (Service) + instance under CANARY_RELEASE status shall be selected"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses IdentityRange; + } + list impuRangeList { + description "It represents a set of IMS Public Identities + for which the NF (Service) instance under CANARY_RELEASE + status shall be selected"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses IdentityRange; + } + list impiRangeList { + description "It represents a set of IMS Private Identities + for which theNF (Service) instance under + CANARY_RELEASE status shall be selected."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses IdentityRange; + } + leaf peiList { + description "It represents a set of PEIs of the UEs for + which the NF(Service) instance under CANARY_RELEASE status + shall be selected"; + type string; + } + list taiRangeList { + description "It represents a set of TAIs where the + NF(Service) instance under CANARY_RELEASE status shall + be selected for a certain UE"; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + leaf dnnList { + description " It represents a set of TAIs where the NF + (Service) instance under CANARY_RELEASE status shall be + selected for a certain UE"; + type string; + } + } + grouping PlmnSnssai { + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + list sNssaiList { + description "The specific list of S-NSSAIs supported + by the given PLMN."; + min-elements 1; + max-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + leaf nid { + description "Network Identity; Shall be present if PlmnIdNid + identifies an SNPN "; + reference "see clauses 5.30.2.3, 5.30.2.9, 6.3.4, + and 6.3.8 in 3GPP TS 23.501 "; + type string; + } + } + + grouping ConditionGroupGrp { + description "This <> represents a group of conditions that + shall be evaluated to determine whether a discovered NF (Service) + Instanceshall be selected. (See clause 6.1.6.2.125 TS 29.510 [23])."; + + choice LogicalOperator{ + case and { + list and { + description "It represents a list of conditions where the + overall evaluation is true only if all the conditions + in the list are evaluated as true."; + key idx; + leaf idx { type uint32; } + uses SelectionConditionsGrp; + } + + } + case or{ + list or { + description "It represents a list of conditions where the + overall evaluation is true if at least one of the conditions + in the list evaluated as true"; + key idx; + leaf idx { type uint32; } + uses SelectionConditionsGrp; + } + } + } + + } + + grouping SelectionConditionsGrp { + description "This data type represents the list of conditions that + shall be selected by an NF Service Consumer."; + reference "(See clause 6.1.6.2.123 TS 29.510 [23])"; + + list conditionItem{ + key "id"; + description "It represent a single condition item that shall be + evaluated Instance shall be selected."; + leaf id{ + type string; + } + uses ConditionItemGrp; + } + + // circular dependency for grouping "ConditionGroupGrp" introduced in + //stage 2 + // container conditionGroup{ + // description "It represents a group of conditions + // that shall be evaluated"; + // uses ConditionGroupGrp; + // } + + } + + grouping IdentityRange { + leaf start { + description "First value identifying the start of an identity range. + To be used when the range of identities can be represented + as a numeric range (e.g., MSISDN ranges)."; + type string { + pattern '^[0-9]+$'; + } + } + leaf end {type string; } // dummy + leaf pattern {type string; } // dummy + } + +grouping ManagedNFProfileGrp { + + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + mandatory true; + type string; + } + + leaf nfType { + description "Type of Network Function."; + mandatory true; + type types3gpp:NfType; + } + + leaf nfStatus { + description "Status of the NF Instance."; + mandatory true; + type NFStatus; + } + list collocatedNfInstances { + description "It represents information related to collocated NF + type(s) and corresponding NF Instances when the NF is collocated + with NFs supporting other NF types."; + key "nfInstanceId"; + uses CollocatedNfInstanceGrp; + } + leaf nfInstanceName { + description "It represents human readable name of the NF Instance"; + type string; + } + + leaf heartBeatTimer { + description "Time in seconds expected between 2 consecutive + heart-beat messages from an NF Instance to the NRF. + It may be included in the registration request. + When present in the request it shall contain the + heartbeat time proposed by the NF service consumer."; + type uint16; + } + + list plmnList { + description "PLMN(s) of the Network Function. + This IE shall be present if this information + is available for the NF. If not provided, PLMN ID(s) + of the PLMN of the NRF are assumed for the NF."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNssais { + description "S-NSSAIs of the Network Function. If not + provided, the NF can serve any S-NSSAI. When present + this IE represents the list of S-NSSAIs supported in + all the PLMNs listed in the plmnList IE."; + min-elements 1; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + leaf fqdn { + description "FQDN of the Network Function. For AMF, the + FQDN registered with the NRF shall be that of the AMF Name."; + type inet:domain-name; + } + + leaf hostAddr { + mandatory true; + type inet:host ; + description "Host address of a NF"; + } + + leaf authzInfo { + description "This parameter defines NF Specific Service authorization + information. It shall include the NF type (s) and NF realms/origins + allowed to consume NF Service(s) of NF Service Producer "; + reference "TS 23.501"; + type string; + } + + list allowedPlmns { + description "PLMNs allowed to access the NF instance. + If not provided, any PLMN is allowed to access the NF."; + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + list sNPNList { + key "mcc mnc nId"; + description "SNPN(s) of the Network Function. This attributeIE shall be + present if the NF pertains to one or more SNPNs."; + reference "TS 29.510"; + uses SPNInfoIdGrp; + } + + list perPlmnSnssaiList { + description "It includes the S-NSSAIs supported by the Network Function + for each PLMN supported by the Network Function. When present, it shall + override sNssais IE.If the perPlmnSnssaiList attribute is provided in + at least one NF Service, the S-NSSAIs supported per PLMN in the + NF Profile shall be the set or a superset of the perPlmnSnssaiList + of the NFService(s)."; + key idx; + leaf idx { type uint32; } + uses PlmnSnssai; + } + + list allowedSNPNs { + description "SNPNs allowed to access the NF instance. + The absence of this attribute in the NF profile indicates that no SNPN, + other than the SNPN(s) registered in the snpnList attribute of the + NF Profile, is allowed to access the service instance"; + key "mCC mNC"; + uses nfs3gpp:SNPNIdGrp; + } + + leaf-list allowedNfTypes { + description "Type of the NFs allowed to access the NF instance. + If not provided, any NF type is allowed to access the NF."; + min-elements 1; + type types3gpp:NfType; + } + + leaf-list allowedNfDomains { + description "Pattern (regular expression according to the ECMA-262 + dialect [75]) representing the NF domain names within the PLMN of + the NRF allowed to access the NF instance If not provided, + any NF domain is allowed to access the NF."; + type string; + } + + list allowedNSSAIs { + description "S-NSSAI of the allowed slices to access the NF instance. + If not provided, any slice is allowed to access the NF."; + key "sst sd"; + uses types5g3gpp:SNssai; + } + + // list allowedRuleSet { + // description "S-NSSAI of the allowed slices to access the NF instance. + // If not provided, any slice is allowed to access the NF."; + // key "sst sd"; + // uses RuleSet;? +// } + leaf locality { + description "Operator defined information about the location + of the NF instance (e.g. geographic location, data center)."; + type string; + } + leaf extLocality { + description "It indicates the operator defined information about the + location of the NF instance. The key of the map shall be a (unique) + valid JSON string per clause 7 of IETF RFC 8259 [92], with a maximum + of 32 characters, representing a type of locality as defined in + clause 6.1.6.3.18."; + type string; + } + + leaf capacity { + description "Static capacity information in the range of 0-65535, + expressed as a weight relative to other NF instances of + the same type; if capacity is also present in the nfServiceList + parameters, those will have precedence over this value."; + type uint16; + } + + leaf load { + description "Dynamic load information, ranged from 0 to 100, + indicates the current load percentage of the NF."; + type types3gpp:Load; + } + leaf loadTimeStamp { + description "It indicates the point in time in which the latest load + information (sent by the NF in the load attribute of the NF Profile) + was generated at the NF Instance.If the NF did not provide a timestamp, + the NRF should set it to the instant when the NRF received the message + where the NF provided the latest load information."; + type yang:date-and-time ; + } + + leaf-list recoveryTime { + description "Timestamp when the NF was (re)started. The NRF shall notify + NFs subscribed to receiving notifications of changes of the NF profile, + if the NF recoveryTime is changed"; + type yang:date-and-time; + } + leaf nfServicePersistence { + description "This parameter indicates whether the different service + instances of a same NF Service in the NF instance, supporting a same + API version, are capable to persist their resource state in shared + storage and therefore these resources are available after a new NF + service instance supporting the same API version is selected by a NF + Service Consumer "; + reference "TS 29.510"; + type boolean; + } + leaf-list nfSetIdList { + type string ; + min-elements 1; + description "A NF Set Identifier is a globally unique identifier of + a set of equivalent and interchangeable CP NFs from a given network + that provide distribution, redundancy and scalability + (see clause 5.21.3 of 3GPP TS 23.501 [2]).An NF Set Identifier shall + be constructed from the MCC, MNC, NID (for SNPN), NF type and a Set ID. + A NF Set Identifier shall be formatted as the following string: + set.set.5gc.mnc.mcc for a NF Set in a PLMN, or + set.set.5gc.nid.mnc.mcc for a NF Set + in a SNPN.At most one NF Set ID shall be indicated per PLMN-ID or SNPN + of the NF."; + } + leaf-list nfProfileChangesSupportInd { + description "This parameter indicates if the NF Service Consumer supports + or does not support receiving NF Profile Changes. It may be present in + the NFRegister or NFUpdate (NF Profile Complete Replacement) request and + shall be absent in the response (see Annex B 3GPP TS 29.510 [23]). "; + max-elements 1; + type boolean; + } + leaf-list nfProfilePartialUpdateChangesSupportInd { + description "It represents NF Profile Partial Update Changes Support + Indicator. TRUE: the NF Service Consumer supports receiving NF Profile + Changes in the response to an NF Profile Partial Update operation. + FALSE (default): the NF Service Consumer does not support receiving + NF Profile Changes in the response to an NF Profile Partial Update + operation"; + max-elements 1; + type boolean; + } + leaf-list nfProfileChangesInd { + description "NF Profile Changes Indicator. This IE shall be absent + in the request to the NRF and may be included by the NRF + in NFRegister or NFUpdate (NF Profile Complete Replacement) response. + true: the NF Profile contains NF Profile changes. + false (default): complete NF Profile."; + + type boolean; + max-elements 1; + } + list defaultNotificationSubscriptions { + description "Notification endpoints for different notification types. + This attribute may contain multiple default subscriptions for a same + notification type; in that case, those default subscriptions are used + as alternative notification endpoints."; + key notificationType; + min-elements 1; + uses types3gpp:DefaultNotificationSubscription; + } + leaf servingScope { + description "This parameter indicates the served geographical areas + of a NF instance."; + type string; + } + leaf-list lcHSupportInd { + description "This parameter indicates whether the NF supports or does + not support Load Control based on LCI Header."; + reference "clause 6.3 of 3gpp TS 29.500"; + max-elements 1; + type boolean; + } + leaf-list olcHSupportInd { + description "This parameter indicates whether the NF supports or does + not support Overload Control based on OCI Header ."; + reference "clause 6.4 of 3gpp TS 29.500"; + max-elements 1; + type boolean; + } + leaf-list nfSetRecoveryTimeList { + description "This parameter contains the recovery time of NF Set(s) + indicated by the NfSetId, where the NF instance belongs."; + type yang:date-and-time ; + max-elements 1; + } + leaf-list serviceSetRecoveryTimeList { + description "This parameter contains the recovery time of NF Service + Set(s) configured in the NF instance, which are indicated by the + NfServiceSetId"; + type yang:date-and-time ; + max-elements 1; + } + leaf scpDomains { + description "This parameter shall carry the list of SCP domains the + SCP belongs to, or the SCP domain the NF (other than SCP) or the SEPP + belongs to.."; + type string; + } + leaf vendorId { + description "Vendor ID of the NF instance, according to the + IANA-assigned SMI Network Management Private Enterprise Codes [77]. + allowedValues: 6 decimal digits; if the SMI code has less than + 6 digits, it shall be padded with leading digits 0 to complete + a 6-digit string value."; + type string; + } + leaf hniList { + description "Identifications of Credentials Holder or Default Credentials + Server. It is an array of FQDN."; + type string; + } + leaf-list interPlmnFqdn { + description "If the NF needs to be discoverable by other + NFs in a different PLMN, then an FQDN that is used + for inter-PLMN routing is specified."; + type inet:domain-name; + } + list nfServices { + description "List of NF Service Instances. It shall include + the services produced by the NF that can be + discovered by other NFs."; + key serviceInstanceID; + 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 selectionConditions { + description "Identifications of Credentials Holder or Default Credentials + Server. It is an array of FQDN."; + leaf idx { type uint32; } + key "idx"; + uses SelectionConditionsGrp; + } + leaf-list canaryRelease { + description "This attribute indicates whether an NF instance whose + nfStatus is set to REGISTERED is in Canary Release condition, + i.e. it should only be selected by NF Service Consumers under the + conditions indicated by the selectionConditions attribute. + True: the NF is under Canary Release condition, even if the + nfStatus is set to REGISTERED + False: the NF instance indicates its Canary Release condition + via the nfStatus attribute"; + max-elements 1; + type boolean; + } + leaf-list exclusiveCanaryReleaseSelection { + description "This attribute indicates whether an NF Service + Consumer should only select an NF Service Producer in Canary + Release condition. + True: the consumer shall only select producers in Canary Release + condition + False: the consumer may select producers not in Canary Release + condition"; + max-elements 1; + type boolean; + } + leaf sharedProfileDataId { + description "This attribute indicates a string uniquely identifying + Shared Profile Data. The format of the sharedProfileDataId shall be + a Universally Unique Identifier (UUID) version 4, as described in + IETF RFC 4122 [44]. The hexadecimal letters should be formatted as + lower-case characters by the sender, and they shall be handled as + case-insensitive by the receiver. + Example: 4ace9d34-2c69-4f99-92d5-a73a3fe8e23b"; + type string; + } + leaf-list shutdownTime { + description "It indicates the timestamp when the NF Instance is + planned to be shut down. This attribute may be present if the + nfStatus is set to UNDISCOVERABLE due to scheduled shutdown"; + type yang:date-and-time ; + max-elements 1; + } + leaf supportedRcfs { + description "It represents a list of Resource Content Filter IDs"; + type string; + } + leaf canaryPrecedenceOverPreferred { + description "ManagedNFProfile.canaryPrecedenceOverPreferred This + attribute indicates whether the NRF shall prioritize the NF Service + Producer in Canary Release condition over the preferences + (preferred-xxx, ext-preferred-xxx) present in NF discovery requests. + allowedValues: + True NRF shall prioritize NF Service Producers in Canary Release + condition at NF discovery requests, i.e. NF Service Producers + determined according to preferred-xxx and/or ext-preferred-xxx + shall be prioritized after the NF Service Producers in Canary + Release condition. The associated NF (service) priorities for Service + Producers in Canary Release condition shall not be modified by NRF. + False NRF shall prioritize the NF Service Producers according to + preferred-xxx and/or ext-preferred-xxx (i.e. Canary Release condition + in NF Service Producers shall not be prioritized over NF Service + Consumer preferences at NF discovery requests)"; + type boolean; + } + typedef NFStatus { + type enumeration { + enum REGISTERED; + enum SUSPENDED; + } + } + +} +} + diff --git a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang index 25dc7882754e566a63069349b6b468d7476eb5a9..e6f6e0e98bbb41006ad1002376e877564b2124c2 100755 --- a/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-n3iwffunction.yang @@ -1,34 +1,35 @@ module _3gpp-5gc-nrm-n3iwffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-n3iwffunction; prefix n3iwf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + organization "3gpp SA5"; - description "This IOC represents the N3IWF function which is used to enable non-3GPP - access networks connected to the 5GC. For more information about the N3IWF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the N3IWF function which is used to enable + non-3GPP access networks connected to the 5GC. For more information about the + N3IWF, see 3GPP TS 23.501. Copyright 2023, 3GPP Organizational Partners + (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-05-22 { - description "initial revision"; - } - + revision 2019-05-22 { reference "initial revision"; } + grouping N3IWFFunctionGrp { 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)."; + 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)."; min-elements 1; max-elements 6; @@ -37,12 +38,16 @@ module _3gpp-5gc-nrm-n3iwffunction { } list commModelList { + description "The attribute specifies a list of commModel which is + defined as a datatype (see clause 5.3.69). It can be used by NF + and NF services to interact with each other in 5G Core network "; + reference "see TS 23.501."; min-elements 1; key "groupId"; uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list N3IWFFunction { description "5G Core N3IWF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-neffunction.yang b/yang-models/_3gpp-5gc-nrm-neffunction.yang index fec93a992b19aa759b837ad63150e5ea8292deeb..f2646d93e68a8b2cda55b07b413cfb2eb2cc4bfb 100755 --- a/yang-models/_3gpp-5gc-nrm-neffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-neffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-neffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-neffunction; prefix nef3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -11,55 +11,63 @@ module _3gpp-5gc-nrm-neffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } - + 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 "This IOC represents the NEF function in 5GC. For more + description "This IOC represents the NEF function in 5GC. For more information about the NEF, see 3GPP TS 23.501. - Copyright 2024, 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.541"; - - revision 2024-05-18 { reference CR-1273 ; } - revision 2024-04-12 { reference CR-1218 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-03-25 { reference CR-1489 ; } + revision 2025-01-25 { reference CR-1442 ; } + revision 2024-05-18 { reference CR-1273 ; } + revision 2024-04-12 { reference CR-1218 ; } revision 2023-09-18 { reference CR-1103 ; } - revision 2023-09-18 { reference CR-1043 ; } - revision 2023-04-26 { reference CR-0916; } + revision 2023-09-18 { reference CR-1043 ; } + revision 2023-04-26 { reference CR-0916 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } revision 2019-10-20 { reference "initial revision"; } - + grouping DnnInfoItemGrp { - description "This data type represents set of parameters supported by NF + description "This data type represents set of parameters supported by NF for a given S-NSSAI. (See clause 6.1.6.2.97 of TS 29.510)"; - + leaf dnn { type string; mandatory true; - description "It represents supported DNN or Wildcard DNN if the NF - supports all DNNs for the related S-NSSAI. The DNN shall contain the - Network Identifier and it may additionally contain an Operator - Identifier. If the Operator Identifier is not included, the DNN is - supported for all the PLMNs in the plmnList of the NF Profile."; + 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'). + + Whether the dnn data type contains just the DNN Network Identifier, or + the Network Identifier plus the Operator Identifier, shall be + documented in each API where this data type is used."; } } - + grouping SnssaiInfoItemGrp { - description "This data type represents set of parameters supported by NF + description "This data type represents set of parameters supported by NF for a given S-NSSAI. (See clause 6.1.6.2.97 of TS 29.510)"; - + list sNssai { - description "It represents the S-NSSAI the NetworkSlice managed object - is supporting. The S-NSSAI is defined in TS 23.003."; + description "It represents the S-NSSAI the NetworkSlice managed object + is supporting. The S-NSSAI is defined in TS 23.003."; min-elements 1; key idx; leaf idx { type uint32 ; } uses types5g3gpp:SNssai; } - + list dnnInfoList{ - description "It represents list of parameters supported by the + description "It represents list of parameters supported by the NF per DNN."; min-elements 1; key idx; @@ -67,61 +75,61 @@ module _3gpp-5gc-nrm-neffunction { uses DnnInfoItemGrp; } } - + grouping AfEventExposureDataGrp { - description "This data type represents the AF Event Exposure data managed + description "This data type represents the AF Event Exposure data managed by a given NEF Instance. (See clause 6.1.6.2.50 TS 29.510"; - + leaf-list afEvents { // stage 2 double defined type string; min-elements 1; - description "It represents AF Event(s) exposed by the NEF after + description "It represents AF Event(s) exposed by the NEF after registration of the AF(s) at the NEF."; } - + leaf-list afIds { type string; min-elements 1; - description "It represents list of application function identifiers of + description "It represents list of application function identifiers of the managed PFDs."; } - + leaf-list appIds { // stage 2 shaky type string; min-elements 1; description "It represents list of internal application identifiers."; } } - + grouping PfdDataGrp { - description "This data type represents the list of Application IDs - and/or AF IDs managed by a given NEF Instance. + description "This data type represents the list of Application IDs + and/or AF IDs managed by a given NEF Instance. (See clause 6.1.6.2.49 TS 29.510)"; - + leaf-list appIds { // stage 2 shaky type string; min-elements 1; description "It represents list of internal application identifiers."; } - + leaf-list afIds { type string; min-elements 1; - description "It represents list of application function identifiers of + description "It represents list of application function identifiers of the managed PFDs."; } } - + grouping UnTrustAfInfoGrp { - description "This data type represents information of an untrusted AF + description "This data type represents information of an untrusted AF Instance. (See clause 6.1.6.2.95 TS 29.510)"; - + leaf afId { type string; mandatory true; description "It represents associated AF id."; } - + list sNssaiInfoList { description "It represents S-NSSAIs and DNNs supported by the AF."; min-elements 1; @@ -129,21 +137,21 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses SnssaiInfoItemGrp; } - + leaf mappingInd { type boolean; yext3gpp:initial-value false; - description "When present, this attribute indicates whether the - AF supports mapping between UE IP address (IPv4 address or IPv6 prefix) + description "When present, this attribute indicates whether the + AF supports mapping between UE IP address (IPv4 address or IPv6 prefix) and UE ID (i.e. GPSI). True: the AF supports mapping between UE IP address and UE ID; - False: the AF does not support mapping between UE IP address + False: the AF does not support mapping between UE IP address and UE ID."; } } - + grouping NefInfoGrp { - description "This data type represents information of an NEF Instance. + description "This data type represents information of an NEF Instance. (See clause 6.1.6.2.48 TS 29.510)."; list taiList { @@ -156,82 +164,82 @@ module _3gpp-5gc-nrm-neffunction { uses types3gpp:TaiGrp; } - list taiRangelist { + list taiRangeList { config false; description "Range of TAIs"; yext3gpp:inVariant; yext3gpp:notNotifyable; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } - + leaf nefId { type string; mandatory true; - description "It represents the NEF ID. + description "It represents the NEF ID. (see clause 6.1.6.3.2 of TS 29.510)"; } - + list pfdData { config false; - description "It represents PFD data, containing the list of internal - application identifiers and/or the list of application function + description "It represents PFD data, containing the list of internal + application identifiers and/or the list of application function identifiers for which the PFDs can be provided. - Absence of this attribute indicates that the PFDs for any internal - application identifier and for any application function identifier + Absence of this attribute indicates that the PFDs for any internal + application identifier and for any application function identifier can be provided."; min-elements 1; key idx; leaf idx { type uint32 ; } uses PfdDataGrp; } - + list afEeData { config false; - description "It represents the AF provided event exposure data. The NEF + description "It represents the AF provided event exposure data. The NEF registers such information in the NRF on behalf of the AF."; min-elements 1; key idx; leaf idx { type uint32 ; } uses AfEventExposureDataGrp; } - + list gpsiRanges { - description "It represents list of ranges of GPSIs whose profile data + description "It represents list of ranges of GPSIs whose profile data is available."; min-elements 1; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:IdentityRange; + uses mnfp3gpp:IdentityRange; } - - list externalGroupIdentifiersRanges { - description "It represents list of ranges of external groups whose + + list externalGroupIdentifiersRanges { + description "It represents list of ranges of external groups whose profile data is available."; // stage 2 definition is shaky min-elements 1; key idx; leaf idx { type uint32 ; } - uses nfp3gpp:IdentityRange; + uses mnfp3gpp:IdentityRange; } - + leaf-list servedFqdnList { type string; min-elements 1; - description "It represents pattern (regular expression according to - the ECMA-262 dialect [75]) representing the Domain names served by + description "It represents pattern (regular expression according to + the ECMA-262 dialect [75]) representing the Domain names served by the NEF."; } - + leaf-list dnaiList { type string; min-elements 1; - description "It represents list of Data network access identifiers - supported by the NEF. The absence of this attribute indicates that + description "It represents list of Data network access identifiers + supported by the NEF. The absence of this attribute indicates that the NEF can be selected for any DNAI."; } - + list unTrustAfInfoList { description "It represents list of information corresponding to the AFs."; min-elements 1; @@ -239,7 +247,7 @@ module _3gpp-5gc-nrm-neffunction { leaf idx { type uint32 ; } uses UnTrustAfInfoGrp; } - + leaf uasNfFunctionalityInd { type boolean; yext3gpp:initial-value false; @@ -248,42 +256,42 @@ module _3gpp-5gc-nrm-neffunction { - True: UAS NF functionality is supported by the NEF. - False (default): UAS NF functionality is not supported by the NEF"; } - + leaf multiMemAfSessQosInd { type boolean; default false; - description "This attribute indicates whether the NEF supports + description "This attribute indicates whether the NEF supports Multi-member AF session with required QoS functionality: - - TRUE: Multi-member AF session with required QoS functionality is + - TRUE: Multi-member AF session with required QoS functionality is supported by the NEF - - FALSE (default): Multi-member AF session with required QoS + - FALSE (default): Multi-member AF session with required QoS functionality is not supported by the NEF."; } - + leaf memberUESelAssistInd { type boolean; default false; - description "This attribute indicates whether the NEF supports member + description "This attribute indicates whether the NEF supports member UE selection assistance functionality: - - TRUE: member UE selection assistance functionality is supported by + - TRUE: member UE selection assistance functionality is supported by the NEF - - FALSE (default): member UE selection assistance functionality is + - FALSE (default): member UE selection assistance functionality is not supported by the NEF."; } } - + grouping NEFFunctionGrp { description "Represents the NEFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -298,20 +306,21 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; max-elements 1; key idx; - uses types3gpp:ManagedNFProfile; + leaf idx { type uint32;} + uses mnfp3gpp:ManagedNFProfileGrp; } - + leaf-list capabilityList { description "List of supported capabilities of the NEF."; reference "3GPP TS 23.003"; type string; } - + leaf isCAPIFSup { type boolean; yext3gpp:inVariant; } - + list nefInfo { description "This attribute represents information of an NEF NF Instance."; key idx; @@ -319,7 +328,7 @@ module _3gpp-5gc-nrm-neffunction { uses NefInfoGrp; } } - + augment "/me3gpp:ManagedElement" { list NEFFunction { description "5G Core NEF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nfprofile.yang b/yang-models/_3gpp-5gc-nrm-nfprofile.yang deleted file mode 100755 index 15dc5e0a1b9c10f942fe333f4f00e11d5da889a5..0000000000000000000000000000000000000000 --- a/yang-models/_3gpp-5gc-nrm-nfprofile.yang +++ /dev/null @@ -1,1160 +0,0 @@ -module _3gpp-5gc-nrm-nfprofile { - yang-version 1.1; - - namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nfprofile; - prefix nfp3gpp; - - import _3gpp-common-yang-types { prefix types3gpp; } - import ietf-inet-types { prefix inet; } - import ietf-yang-types { prefix yang; } - import _3gpp-5gc-nrm-nfservice { prefix nfs3gpp; } - - organization "3gpp SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "NF profile class. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, - TTA, TTC). All rights reserved."; - reference "3GPP TS 29.510"; - - revision 2024-04-12 { reference CR-1218 ; } - revision 2023-11-18 { reference CR-1103 ; } - revision 2023-09-18 { reference CR-1043 ; } - revision 2023-02-14 { reference CR-0891; } - revision 2019-06-17 { reference "initial revision"; } - - grouping NFProfileGrp { - leaf nfInstanceID { - description "String uniquely identifying a NF instance."; - mandatory true; - type string; - } - - leaf nfType { - description "Type of Network Function."; - mandatory true; - type types3gpp:NfType; - } - - leaf nfStatus { - description "Status of the NF Instance."; - mandatory true; - type NFStatus; - } - - leaf heartBeatTimer { - description "Time in seconds expected between 2 consecutive - heart-beat messages from an NF Instance to the NRF. - It may be included in the registration request. - When present in the request it shall contain the - heartbeat time proposed by the NF service consumer."; - type uint16; - } - - list plmnList { - description "PLMN(s) of the Network Function. - This IE shall be present if this information - is available for the NF. If not provided, PLMN ID(s) - of the PLMN of the NRF are assumed for the NF."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssais { - description "S-NSSAIs of the Network Function. If not - provided, the NF can serve any S-NSSAI. When present - this IE represents the list of S-NSSAIs supported in - all the PLMNs listed in the plmnList IE."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - - list perPlmnSnssaiList { - description "This IE may be included when the list of - S-NSSAIs supported by the NF for each PLMN it is supporting - is different. When present, this IE shall include the S-NSSAIs - supported by the Network Function for each PLMN supported by - the Network Function. When present, this IE shall - override sNssais IE."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses PlmnSnssai; - } - - leaf-list nsiList { - description "NSI identities of the Network Function. - If not provided, the NF can serve any NSI."; - min-elements 1; - type string; - } - - leaf fqdn { - description "FQDN of the Network Function. For AMF, the - FQDN registered with the NRF shall be that of the AMF Name."; - type inet:domain-name; - } - - leaf interPlmnFqdn { - description "If the NF needs to be discoverable by other - NFs in a different PLMN, then an FQDN that is used - for inter-PLMN routing is specified."; - type inet:domain-name; - } - - leaf-list ipv4Addresses { - description "IPv4 address(es) of the Network Function."; - min-elements 1; - type inet:ipv4-address; - } - - leaf-list ipv6Addresses { - description "IPv6 address(es) of the Network Function."; - min-elements 1; - type inet:ipv6-address; - } - - list allowedPlmns { - description "PLMNs allowed to access the NF instance. - If not provided, any PLMN is allowed to access the NF."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the NF instance. - If not provided, any NF type is allowed to access the NF."; - min-elements 1; - type types3gpp:NfType; - } - - leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed - to access the NF instance. If not provided, - any NF domain is allowed to access the NF."; - min-elements 1; - type string; - } - - list allowedNssais { - description "S-NSSAI of the allowed slices to access the NF instance. - If not provided, any slice is allowed to access the NF."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - - leaf priority { - description "Priority (relative to other NFs of the same type) - in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. - If priority is also present in the nfServiceList - parameters, - those will have precedence over this value. - The NRF may overwrite the received priority value - when exposing - an NFProfile with the Nnrf_NFDiscovery service."; - type uint16; - } - - leaf capacity { - description "Static capacity information in the range of 0-65535, - expressed as a weight relative to other NF instances of - the same type; if capacity is also present in the nfServiceList - parameters, those will have precedence over this value."; - type uint16; - } - - leaf load { - description "Dynamic load information, ranged from 0 to 100, - indicates the current load percentage of the NF."; - type types3gpp:Load; - } - - leaf locality { - description "Operator defined information about the location - of the NF instance (e.g. geographic location, data center)."; - type string; - } - - grouping udrInfo { - - leaf groupId { - description "Identity of the UDR group that is served - by the UDR instance. - If not provided, the UDR instance does not pertain - to any UDR group."; - type string; - } - - list supiRanges { - description "List of ranges of SUPI's whose profile data - is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - list gpsiRanges { - description "List of ranges of GPSIs whose profile data is - available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile - data is available in the UDR instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - leaf-list supportedDataSets { - description "List of supported data sets in the UDR instance. - If not provided, the UDR supports all data sets."; - min-elements 1; - type DataSetId; - } - } - - grouping udmInfo { - - leaf groupId { - description "Identity of the UDM group that is served by the - UDM instance. If not provided, the UDM instance does - not pertain to any UDM group."; - type string; - } - - list supiRanges { - description "List of ranges of SUPI's whose profile data is - available in the UDM instance."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - list gpsiRanges { - description "List of ranges of GPSIs whose profile data is - available in the UDM instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - list externalGroupIdentifiersRanges { - description "List of ranges of external groups whose profile - data is available in the UDM instance."; - key "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - leaf-list routingIndicators { - description "List of Routing Indicator information that allows - to route network signalling with SUCI - to the UDM instance. If not provided, - the UDM can serve any Routing Indicator. - Pattern: '^[0-9]{1,4}$'."; - min-elements 1; - type string; - } - } - - grouping ausfInfo { - - leaf groupId { - description "Identity of the AUSF group. If not provided, - the AUSF instance does not pertain to any AUSF group."; - type string; - } - - list supiRanges { - description "List of ranges of SUPIs that can be served by - the AUSF instance. If not provided, the AUSF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - leaf-list routingIndicators { - description "List of Routing Indicator information that allows - to route network signalling with SUCI - to the AUSF instance. If not provided, - the AUSF can serve any Routing Indicator. - Pattern: '^[0-9]{1,4}$'."; - min-elements 1; - type string; - } - } - - grouping amfInfo { - - leaf amfRegionId { - description "AMF region identifier"; - type string; - } - - leaf amfSetId { - description "AMF set identifier"; - type string; - } - - list guamiList { - description "List of supported GUAMIs."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses Guami; - } - - list taiList { - description "The list of TAIs the AMF can serve. - It may contain the non-3GPP access TAI. - The absence of this attribute and - the taiRangeList attribute indicate that - the AMF can be selected for any TAI in the - serving network."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses types3gpp:TaiGrp; - } - - list taiRangeList { - description "The range of TAIs the AMF can serve. - The absence of this attribute and the taiList - attribute indicate that the AMF can be selected - for any TAI in the serving network."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses TaiRangeGrp; - } - - list backupInfoAmfFailure { - description "List of GUAMIs for which the AMF acts - as a backup for AMF failure."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses Guami; - } - - list backupInfoAmfRemoval { - description "List of GUAMIs for which the AMF acts - as a backup for planned AMF removal."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses Guami; - } - - list n2InterfaceAmfInfo { - description "N2 interface information of the AMF. - This information needs not be sent in NF Discovery responses. - It may be used by the NRF to update the DNS for - AMF discovery by the 5G Access Network."; - - max-elements 1; - key idx; - leaf idx { type uint32; } - uses N2InterfaceAmfInfo; - } - } - - grouping smfInfo { - - list sNssaiSmfInfoList { - description "List of parameters supported by the SMF per S-NSSAI."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses sNssaiSmfInfoItem; - } - - list taiList { - description "The list of TAIs the SMF can serve. - It may contain the non-3GPP access TAI. - The absence of this attribute and the taiRangeList - attribute indicate that - the SMF can be selected for any TAI - in the serving network."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses types3gpp:TaiGrp; - } - - list taiRangeList { - description "The range of TAIs the SMF can serve. - The absence of this attribute and the taiList - attribute indicate that the SMF can be selected - for any TAI in the serving network."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses TaiRangeGrp; - } - - leaf pgwFqdn { - description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; - type inet:domain-name; - } - - leaf-list accessType { - description "If included, this IE 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."; - - min-elements 1; - max-elements 2; - type AccessType; - } - } - - grouping upfInfo { - - list sNssaiUpfInfoList { - description "List of parameters supported by the UPF per S-NSSAI."; - min-elements 1; - key idx; - leaf idx { type uint32; } - uses SnssaiUpfInfoItem; - } - - leaf-list smfServingArea { - description "The SMF service area(s) the UPF can serve. - If not provided, the UPF can serve any - SMF service area."; - - min-elements 1; - type string; - } - - list interfaceUpfInfo { - description "List of User Plane interfaces configured on the UPF. - When this IE is provided in the NF Discovery response, - the NF Service Consumer (e.g. SMF) may use - this information for UPF selection."; - - key idx; - leaf idx { type uint32; } - - min-elements 1; - uses InterfaceUpfInfoItem; - } - - leaf iwkEpsInd { - description "Indicates whether interworking with EPS is - supported by the UPF. - true: Supported - false (default): Not Supported"; - - type boolean; - } - - leaf-list pduSessionTypes { - description "List of PDU session type(s) supported by the UPF. - The absence of this attribute indicates that the UPF can be selected - for any PDU session type."; - - min-elements 1; - type PduSessionType; - } - } - - grouping pcfInfo { - - leaf-list dnnList { - description "DNNs supported by the PCF. - If not provided, the PCF can serve any DNN."; - - min-elements 1; - type string; - } - - list supiRanges { - description "List of ranges of SUPIs that can be served by - the PCF instance. If not provided, the PCF can serve any SUPI."; - key "start end pattern"; - min-elements 1; - uses SupiRange; - } - - leaf rxDiamHost { - description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter host - of the Rx interface for the PCF. - Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - - type string; - } - - leaf rxDiamRealm { - description "This IE shall be present if the PCF supports Rx interface. - When present, this IE shall indicate the Diameter realm - of the Rx interface for the PCF. - Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; - - type string; - } - } - - 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 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; - } - } - - 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 SupiRange; - } - - 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 "start end pattern"; - min-elements 1; - uses IdentityRange; - } - - 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."; - - min-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - } - - 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; - } - - min-elements 1; - uses udrInfo; - } - - list servedUdmInfo { - description "This attribute contains all the udmInfo - 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; - } - - min-elements 1; - uses udmInfo; - } - - list servedAusfInfo { - description "This attribute contains all the - ausfInfo 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; - } - - min-elements 1; - uses ausfInfo; - } - - list servedAmfInfo { - description "This attribute contains all the amfInfo - 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; - } - - min-elements 1; - uses amfInfo; - } - - list servedSmfInfo { - description "This attribute contains all the smfInfo - 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; - } - - min-elements 1; - uses smfInfo; - } - - list servedUpfInfo { - description "This attribute contains all the upfInfo - 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; - } - - min-elements 1; - uses upfInfo; - } - - list servedPcfInfo { - description "This attribute contains all the pcfInfo - 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; - } - - min-elements 1; - uses pcfInfo; - } - - list servedBsfInfo { - description "This attribute contains all the bsfInfo - 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; - } - - min-elements 1; - uses bsfInfo; - } - - list servedChfInfo { - description "This attribute contains all the bsfInfo - 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; - } - - min-elements 1; - uses chfInfo; - } - } - - list nrfInfo { - description "nrfinfo"; - key idx; - leaf idx { type uint32; } - max-elements 1; - uses nrfInfoGrp; - } - - leaf customInfo { - description "Specific data for custom Network Functions."; - type string; - } - - leaf recoveryTime { - description "Timestamp when the NF was (re)started."; - type yang:date-and-time; - } - - leaf nfServicePersistence { - description "If present, and set to true, it indicates that - the different - service instances of a same NF Service - in this NF instance, - - supporting a same API version, are capable to persist - their resource state in shared storage and - therefore these resources - are available after a new NF service - instance supporting - the same API version is selected by a NF - Service Consumer (see 3GPP TS 23.527). - Otherwise, it indicates that the NF Service - Instances of - a same NF Service are not capable to share - resource state inside the NF Instance."; - - type boolean; - } - - list nfServices { - description "List of NF Service Instances. It shall include - the services produced by the NF that can be - discovered by other NFs."; - key serviceInstanceID; - min-elements 1; - uses nfs3gpp:NFServiceGrp; - } - - leaf nfProfileChangesSupportInd { - description "NF Profile Changes Support Indicator. - This IE may be present - in the NFRegister or NFUpdate (NF Profile Complete - Replacement) request - and shall be absent in the response. - true: the NF Service Consumer supports receiving NF Profile - Changes in the response. - false (default): the NF Service Consumer does not support - receiving NF Profile Changes in the response."; - - type boolean; - } - - leaf nfProfileChangesInd { - description "NF Profile Changes Indicator. This IE shall be absent - in the request to the NRF and may be included by the NRF - in NFRegister or NFUpdate (NF Profile Complete Replacement) response. - true: the NF Profile contains NF Profile changes. - false (default): complete NF Profile."; - - type boolean; - } - - list defaultNotificationSubscriptions { - description "Notification endpoints for different notification types."; - key notificationType; - min-elements 1; - uses types3gpp:DefaultNotificationSubscription; - } - } - - typedef NFStatus { - type enumeration { - enum REGISTERED; - enum SUSPENDED; - } - } - - typedef DataSetId { - type enumeration { - enum SUBSCRIPTION; - enum POLICY; - enum EXPOSURE; - enum APPLICATION; - } - } - - grouping SupiRange { - leaf start { - description "First value identifying the start of - a SUPI range. - To be used when the range of SUPI's can be - represented - as a numeric range (e.g., IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of - a SUPI range. - To be used when the range of SUPI's can be - represented - as a numeric range (e.g. IMSI ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of SUPI's belonging - to this range. - A SUPI value is considered part - of the range - if and only if the SUPI string - fully matches the regular expression."; - type string; - } - } - - grouping IdentityRange { - leaf start { - description "First value identifying the start of an identity range. - To be used when the range of identities can be represented - as a numeric range (e.g., MSISDN ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf end { - description "Last value identifying the end of an identity range. - To be used when the range of identities can be represented - as a numeric range (e.g. MSISDN ranges)."; - type string { - pattern '^[0-9]+$'; - } - } - - leaf pattern { - description "Pattern representing the set of identities - belonging to this range. - An identity value is considered part of the range - if and only if the identity string fully - matches the regular expression."; - type string; - } - } - - grouping TacRange { - leaf start { - description "First value identifying the start of a TAC range, - to be used when the range of TAC's can be represented - as a hexadecimal range (e.g., TAC ranges)."; - type string { - pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}$)'; - } - } - - leaf end { - description "Last value identifying the end of a TAC range, - to be used when the range of TAC's can be represented as - a hexadecimal range (e.g. TAC ranges)."; - type string { - pattern '^([A-Fa-f0-9]{4}|[A-Fa-f0-9]{6})$'; - } - } - - leaf nRTACpattern { - description "Pattern (regular expression according to the ECMA-262) - representing the set of TAC's belonging to this range. - A TAC value is considered part of the range if and only if the - TAC string fully matches the regular expression."; - type string; - } - } - - grouping SnssaiUpfInfoItem { - list sNssai { - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - - list dnnUpfInfoList { - description "List of parameters supported by the UPF per DNN."; - min-elements 1; - key dnn; - uses DnnUpfInfoItem; - } - } - - grouping DnnUpfInfoItem { - leaf dnn { - description "String representing a Data Network."; - mandatory true; - type string; - } - - leaf-list dnaiList { - description "List of Data network access identifiers supported - by the UPF for this DNN. - The absence of this attribute indicates that the UPF - can be selected for this DNN for any DNAI."; - min-elements 1; - type string; //dnai is the type but its only a string with - //desc: DNAI (Data network access identifier), - //is this needed as its own typedef or string is ok - } - - leaf-list pduSessionTypes { - description "List of PDU session type(s) supported by - the UPF for a specific DNN."; - min-elements 1; - type PduSessionType; - } - } - - grouping Snssai { - leaf sst { - 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."; - mandatory true; - type uint32; - } - - leaf sd { - description "3-octet string, representing the Slice Differentiator, - in hexadecimal representation."; - type string { - pattern '^[A-Fa-f0-9]{6}$'; - } - } - - reference "3GPP TS 29.571"; - } - - typedef PduSessionType { - type enumeration { - enum IPV4; - enum IPV6; - enum IPV4V6; - enum UNSTRUCTURED; - enum ETHERNET; - } - } - - grouping Guami { - list plmnId { - description "PLMN Identity."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list amfId { - description "AMF Identity."; - min-elements 1; - max-elements 1; - key "amfRegionId amfSetId amfPointer"; - uses types3gpp:AmfIdentifier; - } - } - - grouping InterfaceUpfInfoItem { - leaf interfaceType { - description "User Plane interface type."; - mandatory true; - type UPInterfaceType; - } - - choice address { - case ipv4EndpointAddresses { - leaf-list ipv4EndpointAddresses { - description "Available endpoint IPv4 address(es) of - the User Plane interface."; - min-elements 1; - type inet:ipv4-address; - } - } - - case ipv6EndpointAddresses { - leaf-list ipv6EndpointAddresses { - description "Available endpoint IPv6 address(es) of - the User Plane interface."; - min-elements 1; - type inet:ipv6-address; - } - } - - case endpointFqdn { - leaf endpointFqdn { - description "FQDN of available endpoint of the - User Plane interface."; - type inet:domain-name; - } - } - } - - leaf networkInstance { - description "Network Instance associated to the - User Plane interface."; - type string; - } - } - - typedef UPInterfaceType { - type enumeration { - enum N3; - enum N6; - enum N9; - } - } - - grouping TaiRangeGrp { - list plmnId { - description "PLMN ID related to the TacRange."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list tacRangeList { - description "The range of the TACs."; - min-elements 1; - key "start end"; - uses TacRange; - } - } - - typedef AccessType { - type enumeration { - enum 3GPP_ACCESS; - enum NON_3GPP_ACCESS; - } - } - - grouping N2InterfaceAmfInfo { - choice address { - case ipv4EndpointAddress { - leaf-list ipv4EndpointAddress { - description "Available AMF endpoint IPv4 address(es) for N2."; - min-elements 1; - type inet:ipv4-address; - } - } - - case ipv6EndpointAddress { - leaf-list ipv6EndpointAddress { - description "Available AMF endpoint IPv6 address(es) for N2."; - min-elements 1; - type inet:ipv6-address; - } - } - } - - leaf amfName { - description "AMF name."; - type string; - } - } - - grouping sNssaiSmfInfoItem { - list sNssai { - description "Supported S-NSSAI."; - min-elements 1; - max-elements 1; - key "sst sd"; - uses Snssai; - } - - list dnnSmfInfoList { - description "List of parameters supported by the SMF per DNN. - The absence indicates the DNN can be selected for any DNAI."; - min-elements 1; - key dnn; - uses DnnSmfInfoItem; - } - } - - grouping DnnSmfInfoItem { - leaf dnn { - description "Supported DNN."; - mandatory true; - type string; - } - - leaf-list dnaiList { - description "List of Data network access identifiers supported by - the SMF for this DNN. The absence of this attribute indicates that - the SMF can be selected for this DNN for any DNAI."; - min-elements 1; - type string; - } - } - - grouping PlmnSnssai { - list plmnId { - description "PLMN ID for which list of supported S-NSSAI(s) - is provided."; - min-elements 1; - max-elements 1; - key "mcc mnc"; - uses types3gpp:PLMNId; - } - - list sNssaiList { - description "The specific list of S-NSSAIs supported - by the given PLMN."; - min-elements 1; - key "sst sd"; - uses Snssai; - } - } -} diff --git a/yang-models/_3gpp-5gc-nrm-nfservice.yang b/yang-models/_3gpp-5gc-nrm-nfservice.yang index 82cf61e877afc9c176cef6aa8af3b5df98617b2b..2577809c6b6445b18e1cace013f5b428265ed10d 100755 --- a/yang-models/_3gpp-5gc-nrm-nfservice.yang +++ b/yang-models/_3gpp-5gc-nrm-nfservice.yang @@ -12,10 +12,11 @@ module _3gpp-5gc-nrm-nfservice { organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "NF service class. - 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 29.510"; + revision 2025-01-25 { reference CR-1442; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-01-25 { reference CR-0454 ; } revision 2020-11-05 { reference CR-0412 ; } @@ -98,7 +99,7 @@ module _3gpp-5gc-nrm-nfservice { uses types3gpp:DefaultNotificationSubscription; } - list allowedPlmns { + list allowedPLMNs { description "PLMNs allowed to access the service instance. The absence of this attribute indicates that any PLMN is allowed to access the service instance."; @@ -108,40 +109,89 @@ module _3gpp-5gc-nrm-nfservice { key "mcc mnc"; uses types3gpp:PLMNId; } - - leaf-list allowedNfTypes { - description "Type of the NFs allowed to access the service instance. - The absence of this attribute indicates that any NF type is allowed - to access the service instance."; + list allowedSnpns { + description "PLMNs allowed to access the service instance. + The absence of this attribute indicates that any PLMN is allowed to + access the service instance."; min-elements 1; //optional support - type types3gpp:NfType; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + leaf-list allowedNfTypes { + description "SNPNs allowed to access the NF instance"; + min-elements 1; + //optional support + type types3gpp:NfType; } leaf-list allowedNfDomains { - description "Pattern representing the NF domain names allowed to access the service instance."; + description "Pattern representing the NF domain names allowed to + access the service instance."; //optional support min-elements 1; type string; } - list allowedNssais { - description "S-NSSAI of the allowed slices to access the service instance. - The absence of this attribute indicates that any slice is allowed to - access the service instance."; + list allowedNSSAI { + description "S-NSSAI of the allowed slices to access the service + instance. The absence of this attribute indicates that any slice + is allowed to access the service instance."; min-elements 1; //optional support key "sd sst"; uses types5g3gpp:SNssai; } - + leaf-list allowedOperationsPerNfType { + description "It indicates the allowed operations on resources for + each type of NF; the key of the map is the NF Type, and the value + is an array of scopes"; + //optional support + type string; + min-elements 1; + } + leaf-list allowedOperationsPerNfInstance { + description "It indicates the allowed operations on resources for + a given NF Instance; the key of the map is the NF Instance Id, and + the value is an array of scopes"; + //optional support + type string; + min-elements 1; + } + leaf allowedOperationsPerNfInstanceOverrides { + type boolean; + default false; + description "When it is present and set to true, indicates that + the scopes defined in attribute allowedOperationsPerNfInstance + for a given NF Instance ID take precedence over the scopes defined + in attribute allowedOperationsPerNfType for the corresponding + NF type of the NF Instance associated to such NF Instance ID.."; + } + + leaf-list oauth2Required { + type boolean; + max-elements 1; + description "It indicates whether the NF Service Instance requires + Oauth2-based authorization"; + } + + leaf-list sharedServiceDataId { + type string; + max-elements 1; + description "String uniquely identifying SharedServiceData. The format + of the sharedServiceDataId shall be a Universally Unique Identifier + (UUID) version 4, as described in IETF RFC 4122 [44]. The hexadecimal + letters should be formatted as lower-case characters by the sender, + and they shall be handled as case-insensitive by the receiver."; + } + leaf priority { description "Priority (relative to other services of the same type) in the range of 0-65535, to be used for NF Service selection; lower values indicate a higher priority."; //optional support - type uint16; + type uint16 { range "0..65535"; } } leaf capacity { @@ -151,31 +201,17 @@ module _3gpp-5gc-nrm-nfservice { type uint16; } - leaf load { - description "Dynamic load information, ranged from 0 to 100, indicates - the current load percentage of the NF Service."; - //optional support - type types3gpp:Load; - } - + leaf recoveryTime { description "Timestamp when the NF was (re)started."; //optional support type yang:date-and-time; } - - list chfServiceInfo { //is the key unique - description "Specific data for a CHF service instance."; - //optional support - max-elements 1; - key "primaryChfServiceInstance secondaryChfServiceInstance"; - uses ChfServiceInfo; - } - - leaf supportedFeatures { - description "Supported Features of the NF Service instance."; + + leaf vendorId { + description "Vendor ID of the NF instance"; //optional support - type SupportedFeatures; + type string; } } @@ -302,4 +338,23 @@ module _3gpp-5gc-nrm-nfservice { type string; } } + grouping SNPNIdGrp { + description "This <> represents the information of a SNPN + identification"; + leaf mCC { + description "This is the Mobile Country Code (MCC) of the PLMN + identifier. See TS 23.003 [13] subclause 2.2 and 12.1"; + type string; + } + leaf mNC { + description "This is the Mobile Network Code (MNC) of the PLMN + identifier. See TS 23.003 [13] subclause 2.2 and 12.1."; + type string; + } + leaf nId { + description "Network Identity; Shall be present if PlmnIdNid + identifies an SNPN"; + type string; + } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang index 2c8c1a4fb08a95567e2143ae740828119f1a1e8c..4997c500fa92f88727dd6016c57bb847a9d71b7e 100755 --- a/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-ngeirfunction.yang @@ -1,38 +1,40 @@ module _3gpp-5gc-nrm-ngeirfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-ngeirfunction; prefix ngeir3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + 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 "This IOC represents the 5G-EIR function in 5GC. For more + description "This IOC represents the 5G-EIR function in 5GC. For more information about the 5G-EIR, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0643; } revision 2020-11-06 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-15 {reference "initial revision"; } - + grouping NGEIRFunctionGrp { description "Represents the NGEIRFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + 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 + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -40,7 +42,7 @@ module _3gpp-5gc-nrm-ngeirfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -51,24 +53,27 @@ module _3gpp-5gc-nrm-ngeirfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { + description "This parameter defines profile for managed NF. + See TS 23.501"; key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list NGEIRFunction { description "5G Core NGEIR Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nrffunction.yang b/yang-models/_3gpp-5gc-nrm-nrffunction.yang index 25507c96a06d34749cc73e19bfcd27090210c93f..fed4e61593bd619257b1a0d44c8f35891f9228df 100755 --- a/yang-models/_3gpp-5gc-nrm-nrffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nrffunction.yang @@ -1,40 +1,638 @@ module _3gpp-5gc-nrm-nrffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nrffunction; prefix nrf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } - + import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + import _3gpp-5gc-nrm-udrfunction { prefix udr3gpp; } + import _3gpp-5gc-nrm-udmfunction { prefix udm3gpp; } + import _3gpp-5gc-nrm-ausffunction { prefix ausf3gpp; } + import _3gpp-5gc-nrm-amffunction { prefix amf3gpp;} + import _3gpp-5gc-nrm-smffunction { prefix smf3gpp;} + import _3gpp-5gc-nrm-upffunction { prefix upf3gpp;} + import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp;} + import _3gpp-5gc-nrm-nwdaffunction { prefix nwdaf3gpp;} + import _3gpp-5gc-nrm-gmlcfunction { prefix gmlc3gpp;} + import _3gpp-5gc-nrm-lmffunction { prefix lmf3gpp;} + + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the NRF function in 5GC. For more information about the NRF, see 3GPP TS 23.501 [2]. - 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.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-01-25 { reference CR-1442 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-03 { reference "CR-0321"; } 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; + } + + 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 + 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; + } + } + 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 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."; + + 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; + + } + 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-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 { + 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, + 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 + 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 + 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 + interface."; + type string; + //optional + } + 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 + IDs of the CHF instance) that can be served by the CHF instance. + If not provided, the CHF can serve any PLMN."; + + min-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + //optional + } + } + 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."; + type string; + } + list imsiRanges { + description "This attribute defines the list of ranges of IMSIs 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; + } + 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."; + min-elements 1; + key "id"; + leaf id { + 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. "; + min-elements 1; + key "id"; + leaf id { + 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 "; + min-elements 1; + key "id"; + leaf id { + 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. "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses mnfp3gpp:IdentityRange; + } + list hssDiameterAddress{ + description "This attribute defines the Diameter Address of the HSS "; + max-elements 1; + key "id"; + leaf id { + 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 "; + min-elements 1; + key "id"; + leaf id { + description "Unique identifier for the IMSI range."; + type string; + } + uses NetworkNodeDiameterAddress; + } + } + 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; + } + + min-elements 1; + uses udr3gpp:UdrInfoGrp; + } + + list servedUdmInfo { + description "This attribute contains all the udmInfo + 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; + } + + min-elements 1; + uses udm3gpp:UdmInfoGrp; + } + + list servedAusfInfo { + description "This attribute contains all the + ausfInfo 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; + } + + min-elements 1; + uses ausf3gpp:AusfInfoGrp; + } + + list servedAmfInfo { + description "This attribute contains all the amfInfo + 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; + } + + min-elements 1; + uses amf3gpp:AmfInfoGrp; + } + + list servedSmfInfo { + description "This attribute contains all the smfInfo + 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; + } + + min-elements 1; + uses smf3gpp:SmfInfoGrp; + } + + list servedUpfInfo { + description "This attribute contains all the upfInfo + 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; + } + + min-elements 1; + uses upf3gpp:UpfInfoGrp; + } + + list servedPcfInfo { + description "This attribute contains all the pcfInfo + 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; + } + + min-elements 1; + uses pcf3gpp:pcfInfoGrp; + } + + list servedBsfInfo { + description "This attribute contains all the bsfInfo + 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; + } + + min-elements 1; + uses bsfInfo; + } + + list servedChfInfo { + description "This attribute contains all the bsfInfo + 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; + } + + min-elements 1; + uses chfInfo; + } + + 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."; + + key nfInstanceId; + leaf nfInstanceId { + description "String uniquely identifying a NF instance."; + type string; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + + 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; + } + 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 + the start of a IMSI range. "; + type string{ + pattern "^[0-9]+$"; + } + } + leaf end{ + description "This attribute indicates the last value identifying + the end of a IMSI range."; + type string{ + pattern "^[0-9]+$"; + } + } + leaf pattern{ + description "This attribute indicates pattern (regular expression + according to the ECMA-262 dialect [75]) representing the set of + IMSIs belonging to this range. An IMSI value is considered part + of the range if and only if the IMSI string fully matches the + regular expression.Either the start and end attributes, or the + pattern attribute, shall be present."; + type string; + } + } + grouping NetworkNodeDiameterAddress { + leaf-list name{ + description "This attribute indicates the Diameter + name of the network node diameter address."; + reference " See TS 29.571 [61]. String contains a Diameter Identity + (FQDN)."; + type string; + min-elements 1; + max-elements 1; + } + leaf-list realm{ + description "This attribute indicates the Diameter realm of the + network node diameter addres. See TS 29.571 [61]. String contains + a Diameter Identity (FQDN)."; + type string; + min-elements 1; + max-elements 1; + } + } + typedef PduSessionType { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + } + grouping DnnUpfInfoItem { + leaf dnn { + description "String representing a Data Network."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported + by the UPF for this DNN. + The absence of this attribute indicates that the UPF + can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //dnai is the type but its only a string with + //desc: DNAI (Data network access identifier), + //is this needed as its own typedef or string is ok + } + + leaf-list pduSessionTypes { + description "List of PDU session type(s) supported by + the UPF for a specific DNN."; + min-elements 1; + type PduSessionType; + } + } + grouping nfInfoGrp { + description "This data type represents the information of a + generic NF Instance. (See clause 6.1.6.2.56 TS 29.510 [23])."; + leaf nfType { + description "This parameter defines type of Network Function"; + type uint16; + } + } + grouping FiveGDdnmfInfo { + description "This data type represents the specific data for the 5G DDMF NF. + See clause 6.1.6.2.74 of TS 29.510."; + list plmnId { + description "PLMN ID for which list of supported S-NSSAI(s) + is provided."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + } grouping NRFFunctionGrp { description "Represents the NRFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + 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 + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -42,22 +640,23 @@ module _3gpp-5gc-nrm-nrffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } leaf-list cNSIIdList { - description "NSI ID. NSI ID is an identifier for identifying the Core - Network part of a Network Slice instance when multiple Network Slice - instances of the same Network Slice are deployed, and there is a need - to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 + description "NSI ID. NSI ID is an identifier for identifying the Core + Network part of a Network Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, and there is a need + to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of 3GPP TS 29.531"; type string; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -68,15 +667,33 @@ module _3gpp-5gc-nrm-nrffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + + list nrfInfo { + description ""; + key idx; + leaf idx {type uint32;} + uses NrfInfoGrp; + } list nFProfileList { - description "Set of NFProfile(s) to be registered in the NRF instance."; - //optional support - key nfInstanceID; - uses nfp3gpp:NFProfileGrp; + 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; } + min-elements 1; + max-elements 1; + uses mnfp3gpp:ManagedNFProfileGrp; + description "This parameter defines profile for managed NF"; + reference "3gpp TS 23.501"; } } - + augment "/me3gpp:ManagedElement" { list NRFFunction { description "5G Core NRF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nssffunction.yang b/yang-models/_3gpp-5gc-nrm-nssffunction.yang index 315ae9ebcb5fe386566487b0defd21c051c147e8..c07518091d027e48d718d1dc966ff1e284afca67 100755 --- a/yang-models/_3gpp-5gc-nrm-nssffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nssffunction.yang @@ -1,39 +1,41 @@ module _3gpp-5gc-nrm-nssffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nssffunction; prefix nssf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } 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-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the NSSF function in 5GC. For more + description "This IOC represents the NSSF function in 5GC. For more information about the NSSF, see 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-03 { reference "CR-0321"; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-15 { reference "initial revision"; } - + grouping NSSFFunctionGrp { description "Represents the NSSFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at least + 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 + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,42 +43,43 @@ module _3gpp-5gc-nrm-nssffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + 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."; - + reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; } - + leaf-list cNSIIdList { - description "NSI ID. NSI ID is an identifier for identifying the Core - Network part of a Network Slice instance when multiple Network Slice - instances of the same Network Slice are deployed, and there is a need - to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 + description "NSI ID. NSI ID is an identifier for identifying the Core + Network part of a Network Slice instance when multiple Network Slice + instances of the same Network Slice are deployed, and there is a need + to differentiate between them in the 5GC, see clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of 3GPP TS 29.531"; type string; } - + list managedNFProfile { key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } } - + augment "/me3gpp:ManagedElement" { list NSSFFunction { description "5G Core NSSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang index 5fe7eb7ae142767122d471d1be5edf12e3fed2bf..c9500400d331502f18368068d32334994e9c0f13 100755 --- a/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-nwdaffunction.yang @@ -1,9 +1,9 @@ module _3gpp-5gc-nrm-nwdaffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-nwdaffunction; prefix nwdaf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } @@ -11,26 +11,29 @@ module _3gpp-5gc-nrm-nwdaffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } - + 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 "This IOC represents the NWDAF function in 5GC. For more + description "This IOC represents the NWDAF function in 5GC. For more information about the NWDAF, see 3GPP TS 23.501. - Copyright 2024, 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.541"; - - revision 2024-04-12 { reference CR-1218; } - revision 2023-09-18 { reference CR-1043; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-03-25 { reference CR-1489 ; } + revision 2024-08-07 { reference CR-1329; } + revision 2024-04-12 { reference CR-1218; } + revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-05-15 {reference "initial revision"; } - + typedef NwdafEvent { - description "The detailed ENUM value for NwdafEvent see the + description "The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 in TS 29.520"; type union { type enumeration { @@ -48,86 +51,94 @@ module _3gpp-5gc-nrm-nwdaffunction { enum DISPERSION; enum RED_TRANS_EXP; enum WLAN_PERFORMANCE; - enum SM_CONGESTION; + enum SM_CONGESTION; } type string; } } - + grouping NwdafCapabilityGrp { - description "This data type represents the capability supported by the + description "This data type represents the capability supported by the NWDAF."; reference "TS 29.510"; - + leaf analyticsAggregation { type boolean ; default false; - description "It indicates whether the NWDAF supports analytics + description "It indicates whether the NWDAF supports analytics aggregation"; } - + leaf analyticsMetadataProvisioning { type boolean ; default false; - description "It indicate whether the NWDAF supports analytics metadata + description "It indicate whether the NWDAF supports analytics metadata provisioning:"; - } + } + + leaf roamingExchange { + type boolean ; + default false; + description "It indicates whether the NWDAF + supports roaming exchange capability"; + } + } grouping MlAnalyticsInfoGrp { - description "This data type represents ML Analytics Filter information + description "This data type represents ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service."; reference "TS 29.510"; - + leaf-list mlAnalyticsIds { type NwdafEvent; ordered-by user; - description "This attribute represents the Analytic functionalities - (identified by nwdafEvent defined in TS 29.520 [85]) of the NWDAF - instance. MnS consumer can configure this attribute to specify - which Analytic functionalities (identified by nwdafEvent) can be - performed the NWDAF instance. If the value of this attribute is not + description "This attribute represents the Analytic functionalities + (identified by nwdafEvent defined in TS 29.520 [85]) of the NWDAF + instance. MnS consumer can configure this attribute to specify + which Analytic functionalities (identified by nwdafEvent) can be + performed the NWDAF instance. If the value of this attribute is not present, the NWDAF instance can perform any NWDAFEvents - Analytics Id(s) supported by the Nnwdaf_MLModelProvision service, + Analytics Id(s) supported by the Nnwdaf_MLModelProvision service, if none are provided the NWDAF can serve any mlAnalyticsId."; } - + list sNSSAIList { min-elements 1; - description "List of S-NSSAIs the managed object is capable of + description "List of S-NSSAIs the managed object is capable of supporting."; reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; } - + list trackingAreaList { - description "This attribute represents area of Interest of the ML model, - if none are provided the ML model for the analytics can apply to any + description "This attribute represents area of Interest of the ML model, + if none are provided the ML model for the analytics can apply to any TAIs. - If present, it represents the list of TAIs, it may contain one or + If present, it represents the list of TAIs, it may contain one or more non-3GPP access TAIs."; key idx ; leaf idx { type uint32; } uses types3gpp:TaiGrp; } - + leaf-list mlModelInterInfo { type string { pattern "[0-9]{6}"; } - description "This attribute defines the list of NWDAF vendors that are - allowed to retrieve ML models from the NWDAF containing MTLF. The - absence of this attribute indicates that none of the NWDAF vendors - can retrieve the ML models. + description "This attribute defines the list of NWDAF vendors that are + allowed to retrieve ML models from the NWDAF containing MTLF. The + absence of this attribute indicates that none of the NWDAF vendors + can retrieve the ML models. - allowedValues: 6 decimal digits; if the SMI code has less than - 6 digits, it shall be padded with leading digits '0' to complete a + allowedValues: 6 decimal digits; if the SMI code has less than + 6 digits, it shall be padded with leading digits '0' to complete a 6-digit string value."; } - + leaf flCapabilityType { type enumeration { enum FL_SERVER { @@ -137,25 +148,25 @@ module _3gpp-5gc-nrm-nwdaffunction { description "NWDAF containing MTLF as Federated Learning Client"; } enum FL_SERVER_AND_CLIENT { - description "NWDAF containing MTLF as Federated Learning Server and + description "NWDAF containing MTLF as Federated Learning Server and Client."; } } - description "This attribute defines the federated learning capability + description "This attribute defines the federated learning capability type supported by NWDAF containing MTLF."; } - + list flTimeInterval { key idx ; leaf idx { type uint32; } - description "This attribute defines the time window at which the - indicated flCapabilityType supported by NWDAF MTLF is available. - This attribute shall be present only if flCapabilityType attribute + description "This attribute defines the time window at which the + indicated flCapabilityType supported by NWDAF MTLF is available. + This attribute shall be present only if flCapabilityType attribute is present."; uses types3gpp:TimeWindowGrp; } } - + grouping NwdafInfoGrp { description "This data type represents specific data for the NWDAF."; reference "TS 29.510"; @@ -163,24 +174,24 @@ module _3gpp-5gc-nrm-nwdaffunction { leaf-list nwdafEvents { type NwdafEvent; ordered-by user; - description "This attribute represents the Analytic functionalities - (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. - MnS consumer can configure this attribute to specify which Analytic - functionalities (identified by nwdafEvent) can be performed the NWDAF - instance. If the value of this attribute is not present, the NWDAF + description "This attribute represents the Analytic functionalities + (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. + MnS consumer can configure this attribute to specify which Analytic + functionalities (identified by nwdafEvent) can be performed the NWDAF + instance. If the value of this attribute is not present, the NWDAF instance can perform any NWDAFEvents. - The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 + The detailed ENUM value for NwdafEvent see the Table 5.1.6.3.4-1 in TS 29.520"; } - + leaf-list eventIds { type string ; min-elements 1; - description "It represents the EventId(s) supported by the - Nnwdaf_AnalyticsInfo service, if none are provided the NWDAF can serve + description "It represents the EventId(s) supported by the + Nnwdaf_AnalyticsInfo service, if none are provided the NWDAF can serve any eventId. (see clause TS 29.520)"; } - + list taiList { description "The list of TAIs. "; min-elements 1; @@ -188,15 +199,15 @@ module _3gpp-5gc-nrm-nwdaffunction { leaf idx { type uint32; } uses types3gpp:TaiGrp; } - + list taiRangeList { min-elements 1; key idx ; leaf idx { type uint32; } description "The range of TAIs."; - uses nfp3gpp:TaiRangeGrp; + uses types5g3gpp:TaiRangeGrp; } - + list nwdafCapability { max-elements 1; key idx ; @@ -205,126 +216,129 @@ module _3gpp-5gc-nrm-nwdaffunction { If not present, the NWDAF shall be regarded with no capability."; uses NwdafCapabilityGrp; } - + leaf analyticsDelay { type int32 ; units seconds; - description "It represents the supported Analytics Delay related to the - eventIds and nwdafEvents. - It is an unsigned integer identifying a period of time in units of + description "It represents the supported Analytics Delay related to the + eventIds and nwdafEvents. + It is an unsigned integer identifying a period of time in units of seconds.(see clause 5.2.2 TS 29.571)."; } - + leaf-list servingNfTypeList { type types3gpp:NfType; min-elements 1; - description "It contains the list of NF type(s) from which the NWDAF NF - can collect data. The absence of this attribute indicates that the + description "It contains the list of NF type(s) from which the NWDAF NF + can collect data. The absence of this attribute indicates that the NWDAF can collect data from any NF type."; } - + leaf-list servingNfSetIdList { type string ; min-elements 1; - description "It contains the list of NF type(s) from which the NWDAF NF - can collect data. The absence of this attribute indicates that the - NWDAF can collect data from any NF type. (see clause 5.4.2 NfSetId + description "It contains the list of NF type(s) from which the NWDAF NF + can collect data. The absence of this attribute indicates that the + NWDAF can collect data from any NF type. (see clause 5.4.2 NfSetId in TS 29.571)"; } - + list mlAnalyticsList { min-elements 1; key idx ; leaf idx { type uint32; } - description "It represents ML Analytics Filter information supported by + description "It represents ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service."; uses MlAnalyticsInfoGrp; } } - + grouping NetworkSliceInfoGrp { - description "Represents information of network slice when the NWDAF is + description "Represents information of network slice when the NWDAF is authorized to collect the management data of the network slice. "; - + list sNSSAI { - description "It represents the S-NSSAI the NetworkSlice managed object + description "It represents the S-NSSAI the NetworkSlice managed object is supporting. The S-NSSAI is defined in TS 23.003 "; key idx; min-elements 1; max-elements 1; - + leaf idx { type string; } uses types5g3gpp:SNssai; } - + leaf-list cNSIId { type string; - description "It represents NSI ID which is an identifier for identifying - the Core Network part of a Network Slice instance when multiple - Network Slice instances of the same Network Slice are deployed, - and there is a need to differentiate between them in the 5GC. - See NSI ID definition in clause 3.1 of TS 23.501 and + description "It represents NSI ID which is an identifier for identifying + the Core Network part of a Network Slice instance when multiple + Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and subclause 6.1.6.2.7 of TS 29.531."; } - + leaf networkSliceRef { type types3gpp:DistinguishedName; mandatory true; - description "This holds a DN of the NetworkSlice managed object relating - to the NetworkSlice instance differentiated by sNSSAI and optional + description "This holds a DN of the NetworkSlice managed object relating + to the NetworkSlice instance differentiated by sNSSAI and optional cNSIId."; } } - + grouping NWDAFFunctionGrp { - description "Represents the NWDAFFunction IOC"; + description "The NWDAFFunction IOC includes attributes inherited from + ManagedFunction IOC(defined in TS 28.622)and the following attributes:"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNInfoList { description "It defines the PLMN(s) of a Network Function."; - min-elements 1; + min-elements 1; key "idx"; leaf idx { type uint32; } uses types3gpp:PLMNId; uses types5g3gpp:SNssai; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list managedNFProfile { key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } - + list networkSliceInfoList { key idx; min-elements 1; - description "The attribute specifies a list of NetworkSliceInfo which - is defined as a datatype (see clause 5.3.95). It can be used by the - NWDAF to facilitate the data collection from OAM."; - leaf idx { + description "The attribute specifies a list of NetworkSliceInfo which + is defined as a datatype (see clause 5.3.95). It is used by an + authorized consumer, e.g. NWDAF, to facilitate the data collection + from OAM."; + leaf idx { type string; } - uses NetworkSliceInfoGrp; + uses NetworkSliceInfoGrp; yext3gpp:inVariant; } @@ -336,53 +350,67 @@ module _3gpp-5gc-nrm-nwdaffunction { description "It represents specific data for the NWDAF."; uses NwdafInfoGrp; } - + leaf administrativeState { type types3gpp:BasicAdministrativeState ; mandatory true; - description "This attribute determines whether the NWDAF is enabled or - disabled. MnS consumer can configure this attribute to activate or - de-activate the analytic functionalities (identified by nwdafEvent + description "This attribute determines whether the NWDAF is enabled or + disabled. MnS consumer can configure this attribute to activate or + de-activate the analytic functionalities (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance."; } - + leaf nwdafLogicalFuncSupported { type enumeration { enum NWDAF_WITH_ANLF { - description "Indicates the NWDAF containing Analytics logical + description "Indicates the NWDAF containing Analytics logical function (AnLF)"; } enum NWDAF_WITH_MTLF { - description "Indicates the NWDAF containing Model Training logical + description "Indicates the NWDAF containing Model Training logical function (MTLF)."; } enum NWDAF_WITH_ANLF_MTLF { - description "Indicates the NWDAF containing both Analytics logical + description "Indicates the NWDAF containing both Analytics logical function (AnLF) and Model Training logical function (MTLF)."; } } config false; - description "It represents the logical functions supported by the NWDAF. - If not present, the NWDAF shall be regarded with no logical - decomposition, in that case the NWDAF only supports the analytics + description "It represents the logical functions supported by the NWDAF. + If not present, the NWDAF shall be regarded with no logical + decomposition, in that case the NWDAF only supports the analytics services."; } + + leaf roamingAnalytics { + type boolean ; + config false; + description "It indicates whether the NWDAF supports + Nnwdaf_RoamingAnalytics service"; + } + + leaf roamingData { + type boolean ; + config false; + description "It indicates whether the NWDAF supports + Nnwdaf_RoamingData service"; + } } - + augment "/me3gpp:ManagedElement" { list NWDAFFunction { description "5G Core NWDAF Function. - For more information about the NWDAF, see TS 23.501. Several - attributes (including 'nwdafInfo', 'administrativeState' and - 'ManagedNFProfile.servingScope') are used to control the functionalities + For more information about the NWDAF, see TS 23.501. Several + attributes (including 'nwdafInfo', 'administrativeState' and + 'ManagedNFProfile.servingScope') are used to control the functionalities (identified by nwdafEvent defined in TS 29.520) of the NWDAF instance. - The attribute 'ManagedNFProfile.servingScope' is used to represent - specified certain geographical area(s) can be served by the NWDAF - instance. - - The attribute 'NwdafInfo.taiList' and 'NwdafInfo.taiRangeList' is used - to represent specified certain tracking area(s) can be served by the + The attribute 'ManagedNFProfile.servingScope' is used to represent + specified certain geographical area(s) can be served by the NWDAF + instance. + + The attribute 'NwdafInfo.taiList' and 'NwdafInfo.taiRangeList' is used + to represent specified certain tracking area(s) can be served by the NWDAF instance."; reference "3GPP TS 28.541 3GPP TS 23.501"; key id; @@ -393,4 +421,4 @@ module _3gpp-5gc-nrm-nwdaffunction { uses mf3gpp:ManagedFunctionContainedClasses; } } -} \ No newline at end of file +} diff --git a/yang-models/_3gpp-5gc-nrm-pcffunction.yang b/yang-models/_3gpp-5gc-nrm-pcffunction.yang index 673c13acc2eb11880d4c3a42dcaace31ff520599..a9ab6b43533518c90033bb0824679bfdffb8d317 100755 --- a/yang-models/_3gpp-5gc-nrm-pcffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-pcffunction.yang @@ -1,41 +1,155 @@ module _3gpp-5gc-nrm-pcffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-pcffunction; prefix pcf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + 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 "This IOC represents the PCF function in 5GC. For more + description "This IOC represents the PCF function in 5GC. For more information about the PCF, see 3GPP TS 23.501. - Copyright 2024, 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.541"; - - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-06 { reference "CR-0333"; } revision 2020-08-06 { reference "CR-0331"; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-22 { reference "initial revision"; } - + + grouping ProSeCapabilityGrp { + leaf proseDirectDiscovery { + type boolean; + description "Indicates support for ProSe Direct Discovery."; + } + leaf proseDirectCommunication { + type boolean; + description "Indicates support for ProSe Direct Communication."; + } + leaf proseL2UetoNetworkRelay { + type boolean; + description "Indicates support for ProSe Layer-2 + UE-to-Network Relay.."; + } + leaf proseL3UetoNetworkRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + UE-to-Network Relay."; + } + leaf proseL2RemoteUe { + type boolean; + description "Indicates support for ProSe Layer-2 + Remote UE."; + } + leaf proseL3RemoteUe { + type boolean; + description "Indicates support for ProSe Layer-3 + Remote UE."; + } + leaf proseL2UetoUeRelay { + type boolean; + description "Indicates support for ProSe Layer-2 + UE-to-UE Relay."; + } + leaf proseL3UetoUeRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + UE-to-UE Relay."; + } + leaf proseL2EndUe { + type boolean; + description "Indicates support for ProSe Layer-2 End UE."; + } + leaf proseL3EndUe { + type boolean; + description "Indicates support for ProSe Layer-3 End UE."; + } + leaf proseL3IntermRelay { + type boolean; + description "Indicates support for ProSe Layer-3 + Intermediate Relay."; + } + leaf proseL3MultihopRemote { + type boolean; + description "Indicates support for ProSe Layer-3 Multihop Remote."; + } + leaf proseL3NetMultihopRelay { + type boolean; + description "Indicates support for ProSe Layer-3 Network Multihop + Relay."; + } + leaf proseL3UeMultihopRelay { + type boolean; + description "Indicates support for ProSe Layer-3 UE Multihop Relay."; + } + leaf proseL3EndUeMultihop { + type boolean; + description "Indicates support for ProSe Layer-3 End UE Multihop."; + } + } + grouping pcfInfoGrp { + + leaf-list dnnList { + description "DNNs supported by the PCF. + If not provided, the PCF can serve any DNN."; + + min-elements 1; + type string; + } + + list supiRanges { + description "List of ranges of SUPIs that can be served by + the PCF instance. If not provided, the PCF can serve any SUPI."; + key idx; + leaf idx { type uint32; } + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } + + leaf rxDiamHost { + description "This IE shall be present if the PCF supports Rx interface. + When present, this IE shall indicate the Diameter host + of the Rx interface for the PCF. + Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; + + type string; + } + + leaf rxDiamRealm { + description "This IE shall be present if the PCF supports Rx interface. + When present, this IE shall indicate the Diameter realm + of the Rx interface for the PCF. + Pattern: '^([A-Za-z0-9]+(-[A-Za-z0-9]+).)+[a-z]{2,}$'."; + + type string; + } + list proseCapability { + description "It indicates the supported ProSe Capability by the PCF."; + uses ProSeCapabilityGrp; + config false; + } + } grouping PCFFunctionGrp { description "Represents the PCFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + 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 + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -43,13 +157,13 @@ module _3gpp-5gc-nrm-pcffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -60,34 +174,48 @@ module _3gpp-5gc-nrm-pcffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } + leaf supportedBMOList { + description "It is used to indicate the list of supported BMOs + (Bridge Managed Objects) required for integration with TSN system."; + type string; + } + list pcfInfo { + description "This attribute represents information of a PCF NF Instance. + Multiple pcfInfo may be allowed to define different DNN list for each + supiranges."; + key idx; + leaf idx { type uint32; } + uses pcfInfoGrp; + } leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the PCFFunction supports + description "DN of the Dynamic5QISet that the PCFFunction supports (is associated to)."; } leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the PCFFunction supports + description "DN of the Configurable5QISet that the PCFFunction supports (is associated to)."; } } - + augment "/me3gpp:ManagedElement" { list PCFFunction { description "5G Core PCF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang index ca2dc8cbc4b2fdf1a140cf7a55f82d257ef3a115..c54cbddb7a9f31b3702a899aff885f60fd885b5d 100755 --- a/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang +++ b/yang-models/_3gpp-5gc-nrm-predefinedpccruleset.yang @@ -1,41 +1,44 @@ module _3gpp-5gc-nrm-predefinedpccruleset { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-predefinedpccruleset; prefix PredPccRules3gpp; - + import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5gc-nrm-smffunction { prefix smf3gpp; } import _3gpp-5gc-nrm-pcffunction { prefix pcf3gpp; } import ietf-yang-types { prefix yang; } - + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the predefined PCC rules, which are + description "This IOC represents the predefined PCC rules, which are configured to SMF and referenced by PCF. - 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.541"; - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-05-01 { reference CR-xxxx ; } + revision 2025-04-25 { reference CR-1520 ; } + revision 2025-03-25 { reference CR-1489 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-10-04 { reference "CR-0393"; } revision 2020-08-21 { reference "CR-0330"; } grouping TscaiInputContainer { - description "It specifies the transports TSCAI input parameters for TSC + description "It specifies the transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE for a PCC rule."; reference " 3GPP TS 29.512"; leaf periodicity { type uint32; - description "It identifies the time period between the start of two bursts + description "It identifies the time period between the start of two bursts in reference to the TSN GM."; reference "3GPP TS 29.571."; } leaf burstArrivalTime { type yang:date-and-time; - description "It Indicates the arrival time (in date-time format) of the + description "It Indicates the arrival time (in date-time format) of the data burst in reference to the TSN GM."; reference "3GPP,TS 29.571."; } @@ -50,13 +53,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf activationTime { type yang:date-and-time; - description " It indicates the time (in date-time format) when the decision + description " It indicates the time (in date-time format) when the decision data shall be activated."; reference "3GPP29.512 and TS 29.571."; } leaf deactivationTime { type yang:date-and-time; - description "It indicates the time (in date-time format) when the decision + description "It indicates the time (in date-time format) when the decision data shall be deactivated."; reference "3GPPTS 29.512 and TS 29.571."; } @@ -65,7 +68,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum 3GPP_ACCESS; enum NON_3GPP_ACCESS; } - description "It provides the condition of access type of the UE when the + description "It provides the condition of access type of the UE when the session AMBR shall be enforced."; reference "3GPPTS 29.512."; } @@ -87,7 +90,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum UTRA; enum GERA; } - description "It provides the condition of RAT type of the UE when the + description "It provides the condition of RAT type of the UE when the session AMBR shall be enforced."; reference "3GPPTS 29.512 and TS 29.571."; } @@ -123,7 +126,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type uint8 { range 0..100; } - description "It indicates the traffic load to steer to the 3GPP Access + description "It indicates the traffic load to steer to the 3GPP Access expressed in one percent."; } leaf prioAcc { @@ -137,19 +140,19 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping UpPathChgEvent { - description "It specifies the information about the AF subscriptions of the + description "It specifies the information about the AF subscriptions of the UP path change."; reference "3GPPTS 29.512"; leaf notificationUri { type string; mandatory true; - description "It provides notification address (Uri) of AF receiving the + description "It provides notification address (Uri) of AF receiving the event notification."; } leaf notifCorreId { type string; mandatory true; - description "It is used to set the value of Notification Correlation ID in + description "It is used to set the value of Notification Correlation ID in the notification sent by the SMF, see TS 29.512"; } leaf dnaiChgType { @@ -164,7 +167,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf afAckInd { type boolean; default false; - description "It identifies whether the AF acknowledgement of UP path + description "It identifies whether the AF acknowledgement of UP path event notification is expected."; } } @@ -173,24 +176,24 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "It specifies the traffic routing information."; leaf ipv4Addr { type string; - description "It defines the Ipv4 address of the tunnel end point in the + description "It defines the Ipv4 address of the tunnel end point in the data network, formatted in the dotted decimal notation."; } leaf ipv6Addr { type string; - description "It defines the Ipv6 address of the tunnel end point in the + description "It defines the Ipv6 address of the tunnel end point in the data network."; } leaf portNumber { type uint32; mandatory true; - description " It defines the UDP port number of the tunnel end point in + description " It defines the UDP port number of the tunnel end point in the data network, see TS 29.571"; } } grouping RouteToLocation { - description "It specifies a list of location which the traffic shall be + description "It specifies a list of location which the traffic shall be routed to for the AF request."; leaf dnai { type string; @@ -209,7 +212,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping RedirectInformaton { - description "It specifies the redirect information for traffic control in + description "It specifies the redirect information for traffic control in the PCC rule."; leaf redirectEnabled { type boolean; @@ -235,12 +238,12 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } grouping TrafficControlDataInformation { - description "It specifies the traffic control data for a service + description "It specifies the traffic control data for a service flow of a PCC rule."; leaf tcId { type string; mandatory true; - description "It univocally identifies the traffic control policy data + description "It univocally identifies the traffic control policy data within a PDU session."; } leaf flowStatus { @@ -252,22 +255,22 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum REMOVED; } mandatory true; - description "It represents whether the service data flow(s) are enabled + description "It represents whether the service data flow(s) are enabled or disabled."; } container redirectInfo { - description "It contains the redirect information indicating whether the + description "It contains the redirect information indicating whether the detected application traffic should be redirected to another controlled address."; uses RedirectInformaton; } container addRedirectInfo { - description "It contains the additional redirect information indicating - whether the detected application traffic should be redirected to another + description "It contains the additional redirect information indicating + whether the detected application traffic should be redirected to another controlled address."; list redirectInfo { - description "The list of redirect information indicating whether the - detected application traffic should be redirected to another + description "The list of redirect information indicating whether the + detected application traffic should be redirected to another controlled address."; key "redirectServerAddress"; uses RedirectInformaton; @@ -276,7 +279,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf muteNotif { type boolean; default false; - description "It indicates whether applicat'on's start or stop notification + description "It indicates whether applicat'on's start or stop notification is to be muted."; } leaf trafficSteeringPolIdDl { @@ -285,14 +288,14 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } leaf trafficSteeringPolIdUl { type string; - description "It references to a pre-configured traffic steering policy for + description "It references to a pre-configured traffic steering policy for uplink traffic at the SMF, see TS 29.512"; } container routeToLocs { - description "It provides a list of location which the traffic shall be + description "It provides a list of location which the traffic shall be routed to for the AF request."; list routeToLoc { - description "The list of location which the traffic shall be routed to + description "The list of location which the traffic shall be routed to for the AF request."; key "dnai"; uses RouteToLocation; @@ -308,7 +311,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { reference "3GPPTS 29.512"; } container steerModeDl { - description "It provides the traffic distribution rule across 3GPP and + description "It provides the traffic distribution rule across 3GPP and Non-3GPP accesses to apply for downlink traffic."; uses SteeringMode; } @@ -426,7 +429,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf destMacAddr { type string; mandatory true; - description "It specifies the destination MAC address formatted in the + description "It specifies the destination MAC address formatted in the hexadecimal ."; reference "clause 1.1 and clause 2.1 of IETF RFC"; } @@ -451,16 +454,16 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf sourceMacAddr { type string; mandatory true; - description "It specifies the source MAC address formatted in the + description "It specifies the source MAC address formatted in the hexadecimal notation."; reference "clause 1.1 and clause 2.1 of IETF RFC 7042"; } leaf-list vlanTags { type string; - description "It specifies the Customer-VLAN and/or Service-VLAN tags - containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and - IETF RFC 7042. The first/lower instance in the array stands for the - Customer-VLAN tag and the second/higher instance in the array stands + description "It specifies the Customer-VLAN and/or Service-VLAN tags + containing the VID, PCP/DEI fields as defined in IEEE 802.1Q and + IETF RFC 7042. The first/lower instance in the array stands for the + Customer-VLAN tag and the second/higher instance in the array stands for the Service-VLAN tag."; } leaf srcMacAddrEnd { @@ -536,7 +539,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { leaf applicationId { type string; default false; - description "A reference to the application detection filter configured + description "A reference to the application detection filter configured at the UPF."; } leaf appDescriptor { @@ -551,7 +554,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { type uint8 { range 0..255; } - description "It indicates the order in which this PCC rule is applied + description "It indicates the order in which this PCC rule is applied relative to other PCC rules within the same PDU session."; } leaf afSigProtocol { @@ -559,13 +562,13 @@ module _3gpp-5gc-nrm-predefinedpccruleset { enum NO_INFORMATION; enum SIP; } - description "Indicates the protocol used for signalling between the UE + description "Indicates the protocol used for signalling between the UE and the AF, the default value is NO_INFORMATION."; } leaf isAppRelocatable { type boolean; default false; - description "It indicates the application relocation possibility, the + description "It indicates the application relocation possibility, the default value is NO_INFORMATION."; } leaf isUeAddrPreserved { @@ -582,7 +585,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { } } container altQosParams { - description "It contains the QoS control policy data for the Alternative + description "It contains the QoS control policy data for the Alternative QoS parameter sets of the service data flow."; list qosDataInfo { description "The list of QoS control policy data."; @@ -598,15 +601,42 @@ module _3gpp-5gc-nrm-predefinedpccruleset { uses TrafficControlDataInformation; } } - uses ConditionData; + uses ConditionData; container tscaiInputUl { description "It contains transports TSCAI input parameters for TSC traffic at the ingress interface of the DS-TT/UE (uplink flow direction)."; - uses TscaiInputContainer; + uses TscaiInputContainer; } container tscaiInputDl { description "It contains transports TSCAI input parameters for TSC traffic at the ingress of the NW-TT (downlink flow direction)."; - uses TscaiInputContainer; + uses TscaiInputContainer; + } + leaf easRedisIndRequired { + type boolean; + default false; + description "Indicates whether the EAS rediscovery is required for the application."; + } + leaf tscaiTimeDom { + type uint32; + description "Indicates the (g)PTP domain that the (TSN)AF is located in."; + } + leaf capBatNotificationCapable { + type boolean; + default false; + description "Indicates the capability for AF to adjust the burst sending time."; + } + leaf ueNotifEnabled { + type boolean; + default false; + description "Indicates whether QoS flow parameter signalling to the UE is enabled (TRUE), when the SMF is notified by the NG-RAN of changes in the fulfilled QoS situation,"; + } + leaf packFiltAllPrec { + type uint32; + description "Determines the order of TFT packet filter allocation for PCC rules."; + } + leaf nscSupportedFeats { + type uint32; + description "Indicates the Network Function Service Consumer features supported per service."; } } @@ -617,7 +647,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { key "pccRuleId"; uses PccRule; } - } + } grouping PredefinedPccRuleSetSubtree { description "It specifies the PredefinedPccRuleSet IOC with inherited attributes."; @@ -629,7 +659,7 @@ module _3gpp-5gc-nrm-predefinedpccruleset { description "It contains the attributes defined specifically in the PredefinedPccRuleSet IOC."; uses PredefinedPccRuleSetGrp; } - } + } } augment "/me3gpp:ManagedElement/smf3gpp:SMFFunction" { diff --git a/yang-models/_3gpp-5gc-nrm-smffunction.yang b/yang-models/_3gpp-5gc-nrm-smffunction.yang index ca37a43d4c235d3cd8fa4b866f4f5c4e03a38fe8..d62b1cfacb2b7cbe9c5e95da773ab144628af55f 100755 --- a/yang-models/_3gpp-5gc-nrm-smffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smffunction.yang @@ -9,16 +9,17 @@ module _3gpp-5gc-nrm-smffunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-top { prefix top3gpp; } + 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 "SMFFunction derived from basic ManagedFunction. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2020-08-06 { reference "CR-0333"; } @@ -27,55 +28,156 @@ module _3gpp-5gc-nrm-smffunction { revision 2019-05-31 {reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision";} + + grouping SmfInfoGrp { + + list sNssaiSmfInfoList { + description "List of parameters supported by the SMF per S-NSSAI."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:sNssaiSmfInfoItem; + } + + list taiList { + description "The list of TAIs the SMF can serve. + It may contain the non-3GPP access TAI. + The absence of this attribute and the taiRangeList + attribute indicate that + the SMF can be selected for any TAI + in the serving network."; + + key idx; + leaf idx { type uint32; } + + min-elements 1; + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "The range of TAIs the SMF can serve. + The absence of this attribute and the taiList + attribute indicate that the SMF can be selected + for any TAI in the serving network."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + + leaf pgwFqdn { + description "The FQDN of the PGW if the SMF is a combined SMF/PGW-C."; + type inet:domain-name; + } + leaf-list accessType { + description "If included, this IE 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."; + + min-elements 1; + max-elements 2; + type AccessType; + } + leaf priority { + description "This parameter defines Priority (relative to other + NFs of the same type) in the range of 0-65535, to be used for + NF selection; lower values indicate a higher priority. If + priority is also present in the nfServiceList parameters, + those will have precedence over this value "; + type uint16; + } + leaf-list vsmfSupportInd { + description "Used by an SMF to explicitly indicate the support of + V-SMF capability and its preference to be selected as V-SMF. + When present it indicate whether the V-SMF capability is supported + by the SMF: + - true: V-SMF capability supported by the SMF + - false: V-SMF capability not supported by the SMF. + When absent the V-SMF capability support of the SMF is not specified."; + type boolean; + + } + leaf pgwFqdnList { + description "When present, this attribute provides additional FQDNs + to the FQDN indicated in the pgwFqdn attribute. + The pgwFqdnList attribute may be present if the pgwFqdn attribute + is present."; + type string; + } + leaf-list ismfSupportInd { + description "This attribute may be used by an SMF to explicitly + indicate the support of I-SMF capability and its preference to be + selected as I-SMF. When present, this attribute shall indicate + whether the I-SMF capability are supported by the SMF: + - TRUE: I-SMF capability supported by the SMF + - FALSE: I-SMF capability not supported by the SMF. Absence of this + attribute indicates the I-SMF capability support of the SMF is not + specified."; + max-elements 1; + type boolean; + } + leaf-list smfOnboardingCapability { + description "This attribute indicates the SMF supports SNPN + Onboarding capability and User Plane Remote Provisioning. This + is used for the case of Onboarding of UEs for SNPNs + (see TS 23.501 [2], clauses 5.30.2.10 and 6.2.6.2). + - FALSE: SMF does not support SNPN Onboarding; + - TRUE: SMF supports SNPN Onboarding."; + type boolean; + max-elements 1; + } + leaf-list smfUPRPCapability { + description "This attribute IE indicates the SMF supports User + Plane Remote Provisioning (UPRP) capability. This is used for + the case of Onboarding of UEs for SNPNs , + clauses 5.30.2.10 and 6.2.6.2). + - FALSE: SMF does not support UPRP; + - TRUE: SMF supports UPRP."; + reference "see TS 23.501 [2]"; + type boolean; + } + } + grouping SMFFunctionGrp { description "Represents the SMFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { min-elements 1; - description "A list of PLMN identifiers (Mobile Country Code and Mobile + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; key "mcc mnc"; uses types3gpp:PLMNId; } - leaf-list nRTACList { + leaf nRTACList { description "List of Tracking Area Codes (legacy TAC or extended TAC) where the represented management function is serving."; reference "TS 38.413 clause 9.3.3.10"; - min-elements 1; config false; type types5g3gpp:NRTAC; } leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - 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."; - reference "3GPP TS 23.003"; - key "sd sst"; - uses types5g3gpp:SNssai; - } - list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; @@ -83,13 +185,13 @@ module _3gpp-5gc-nrm-smffunction { leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the SMFFunction supports + description "DN of the Configurable5QISet that the SMFFunction supports (is associated to)."; } - + leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the SMFFunction supports + description "DN of the Dynamic5QISet that the SMFFunction supports (is associated to)."; } @@ -106,15 +208,21 @@ module _3gpp-5gc-nrm-smffunction { leaf-list dnaiList { description "List of Data network access identifiers."; min-elements 1; - type string; + type string; } - + leaf satelliteid { description "Unique identifier of a GEO satellite."; type string; } } + typedef AccessType { + type enumeration { + enum 3GPP_ACCESS; + enum NON_3GPP_ACCESS; + } + } augment "/me3gpp:ManagedElement" { list SMFFunction { description "5G Core SMF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-smsffunction.yang b/yang-models/_3gpp-5gc-nrm-smsffunction.yang index 61c7d12424779ba3eaeba23bd72ec177208b7a15..e6c9834e4d3ccd004ce0c7b1fd5233fe623d4b7a 100755 --- a/yang-models/_3gpp-5gc-nrm-smsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-smsffunction.yang @@ -1,55 +1,62 @@ module _3gpp-5gc-nrm-smsffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-smsffunction; prefix smsf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + 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 "This IOC represents the SMSF function defined in 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - - revision 2019-05-15 { - description "initial revision"; - - } - + revision 2019-05-15 { reference "initial revision";} + grouping SMSFFunctionGrp { 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)."; - + 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)."; + min-elements 1; max-elements 6; key "mcc mnc"; uses types3gpp:PLMNId; - } - + } + list managedNFProfile { + description "This parameter defines profile for managed NF. + See TS 23.501"; key idx; + leaf idx { type uint32;} min-elements 1; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { + description "The attribute specifies a list of commModel which is + defined as a datatype (see clause 5.3.69). It can be used by NF + and NF services to interact with each other in 5G Core network "; + reference "see TS 23.501."; min-elements 1; key "groupId"; uses types5g3gpp:CommModel; } } - + augment "/me3gpp:ManagedElement" { list SMSFFunction { description "5G Core SMSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udmfunction.yang b/yang-models/_3gpp-5gc-nrm-udmfunction.yang index 319015d161e6b5a43788d8085889afe7453c88d9..6fc1e8793f52dacddb2e6ae1831a9818775a60ae 100755 --- a/yang-models/_3gpp-5gc-nrm-udmfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udmfunction.yang @@ -1,39 +1,148 @@ module _3gpp-5gc-nrm-udmfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udmfunction; prefix udm3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } - + 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 "This IOC represents the UDM function in 5GC. For more + description "This IOC represents the UDM function in 5GC. For more information about the UDM, see 3GPP TS 23.501. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - + + revision 2025-07-25 { reference CR-1558 ; } revision 2024-04-04 { reference CR-1139; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } revision 2019-05-22 { reference "initial revision";} - + + grouping InternalGroupIdRangeGrp { + + leaf start { + description "It indicates first value identifying the start of an + identity range, to be used when the range of identities can be + represented as a consecutive numeric range."; + type string; + } + + leaf end{ + description "It indicates last value identifying the end of an + identity range, to be used when the range of identities can be + represented as a consecutive numeric range."; + type string; + } + leaf pattern { + description "It indicates pattern (regular expression according + to the ECMA-262 dialect [75]) representing the set of identities + belonging to this range. An identity value is considered part of + the range if and only if the identity string fully matches the + regular expression."; + type string; + } + } + grouping SuciInfoGrp { + description "This data type represents SUCI information containing + Routing Indicator and Home Network Public Key ID. (See TS 29.510)"; + + leaf-list routingInds { + type string; + min-elements 1; + description "It indicates served Routing Indicator (see TS 23.003, + clause 2.2B). If not provided, the AUSF/UDM + can serve any Routing Indicator."; + } + + leaf-list hNwPubKeyIds { + type int64; + min-elements 1; + description "It indicating served Home Network Public Key + (see TS 23.003, clause 2.2B). If not provided, the AUSF/UDM + can serve any public key."; + } + } + grouping UdmInfoGrp { + + leaf groupId { + description "Identity of the UDM group that is served by the + UDM instance. If not provided, the UDM instance does + not pertain to any UDM group."; + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data is + available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is + available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile + data is available in the UDM instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + leaf-list routingIndicators { + description "List of Routing Indicator information that allows + to route network signalling with SUCI + to the UDM instance. If not provided, + the UDM can serve any Routing Indicator. + Pattern: '^[0-9]{1,4}$'."; + min-elements 1; + type string; + } + + list internalGroupIdentifiersRanges{ + description "It represents list of ranges of Internal Group + Identifiers whose profile data is available in the UDM instance. + If not provided, it does not imply that the UDM supports all + internal groups."; + key idx; + leaf idx { type uint32; } + uses InternalGroupIdRangeGrp; + } + list suciInfos { + description "It represents list of SuciInfo. A SUCI that matches + this information can be served by the UDM .A SUCI that matches + all attributes of at least one entry in this array shall be + considered as a match of this information"; + key idx; + leaf idx { type uint32; } + uses SuciInfoGrp; + } + } + grouping UDMFuntionGrp { description "Represents the UDMFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + 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 + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,13 +150,13 @@ module _3gpp-5gc-nrm-udmfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -58,24 +167,34 @@ module _3gpp-5gc-nrm-udmfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } list commModelList { min-elements 1; key "groupId"; - description "Specifies a list of commModel. It can be used by NF and + description "Specifies a list of commModel. It can be used by NF and NF services to interact with each other in 5G Core network "; reference "3GPP TS 23.501"; uses types5g3gpp:CommModel; } + list udmInfo { + description "This attribute represents the information of an UDM NF + Instance "; + key idx; + leaf idx { type uint32; } + reference "TS 29.510 "; + uses UdmInfoGrp; + } + leaf-list mdtUserConsentReqList { type enumeration { enum M1; @@ -91,11 +210,11 @@ module _3gpp-5gc-nrm-udmfunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } } - + augment "/me3gpp:ManagedElement" { list UDMFunction { description "5G Core UDM Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udrfunction.yang b/yang-models/_3gpp-5gc-nrm-udrfunction.yang index 1118fd1431dbcd7d2f73380054494f9fe96194fa..5f9ff10286ac9b87ac124febb175001c8a8c712d 100755 --- a/yang-models/_3gpp-5gc-nrm-udrfunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udrfunction.yang @@ -1,39 +1,82 @@ module _3gpp-5gc-nrm-udrfunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udrfunction; prefix udr3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } 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-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDR function in 5GC. For more information + description "This IOC represents the UDR function in 5GC. For more information about the UDR, see 3GPP TS 23.501. - 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.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-05-22 {reference "initial revision"; } - + + grouping UdrInfoGrp { + + leaf groupId { + description "Identity of the UDR group that is served + by the UDR instance. + If not provided, the UDR instance does not pertain + to any UDR group."; + type string; + } + + list supiRanges { + description "List of ranges of SUPI's whose profile data + is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:SupiRangeGrp; + } + + list gpsiRanges { + description "List of ranges of GPSIs whose profile data is + available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + list externalGroupIdentifiersRanges { + description "List of ranges of external groups whose profile + data is available in the UDR instance."; + key "start end pattern"; + min-elements 1; + uses mnfp3gpp:IdentityRange; + } + + leaf-list supportedDataSets { + description "List of supported data sets in the UDR instance. + If not provided, the UDR supports all data sets."; + min-elements 1; + type DataSetId; + } + } grouping UDRFuntionGrp { description "Representse the UDRFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + 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 + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,13 +84,13 @@ module _3gpp-5gc-nrm-udrfunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the service-based + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -58,16 +101,26 @@ module _3gpp-5gc-nrm-udrfunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; + leaf idx { type uint32; } min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; + } + } + + typedef DataSetId { + type enumeration { + enum SUBSCRIPTION; + enum POLICY; + enum EXPOSURE; + enum APPLICATION; } } - + augment "/me3gpp:ManagedElement" { list UDRFunction { description "5G Core UDR Function"; diff --git a/yang-models/_3gpp-5gc-nrm-udsffunction.yang b/yang-models/_3gpp-5gc-nrm-udsffunction.yang index 553ca7d5aa35cc2a288da7e5de96d66b71323d9f..fad0d9e2528840138f3e3bd3c8ec9e20a769c805 100755 --- a/yang-models/_3gpp-5gc-nrm-udsffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-udsffunction.yang @@ -1,39 +1,41 @@ module _3gpp-5gc-nrm-udsffunction { yang-version 1.1; - + namespace urn:3gpp:sa5:_3gpp-5gc-nrm-udsffunction; prefix udsf3gpp; - + import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } 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-5gc-nrm-managed-nfprofile { prefix mnfp3gpp;} + organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "This IOC represents the UDSF function which can be interacted + description "This IOC represents the UDSF function which can be interacted with any other 5GC NF defined in 3GPP TS 23.501. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; - - revision 2023-09-18 { reference CR-1043 ; } + + revision 2025-07-25 { reference CR-1558 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } - revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } - + revision 2019-10-25 { reference "S5-194457 S5-195427 S5-193518"; } + revision 2019-05-22 { reference "initial revision"; } - + grouping UDSFFuntionGrp { description "Represents the UDSFFuntion IOC"; uses mf3gpp:ManagedFunctionGrp; - + list pLMNIdList { - description "List of at most six entries of PLMN Identifiers, but at + 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 + The PLMN Identifier is composed of a Mobile Country Code (MCC) and a Mobile Network Code (MNC)."; min-elements 1; @@ -41,13 +43,13 @@ module _3gpp-5gc-nrm-udsffunction { key "mcc mnc"; uses types3gpp:PLMNId; } - + leaf sBIFQDN { - description "The FQDN of the registered NF instance in the + description "The FQDN of the registered NF instance in the service-based interface."; type inet:domain-name; } - + list sNSSAIList { description "List of S-NSSAIs the managed object is capable of supporting. (Single Network Slice Selection Assistance Information) @@ -58,17 +60,18 @@ module _3gpp-5gc-nrm-udsffunction { key "sd sst"; uses types5g3gpp:SNssai; } - + list managedNFProfile { key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; description "Managed Network Function profile"; reference "3GPP TS 23.501"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } } - + augment "/me3gpp:ManagedElement" { list UDSFFunction { description "5G Core UDSF Function"; diff --git a/yang-models/_3gpp-5gc-nrm-upffunction.yang b/yang-models/_3gpp-5gc-nrm-upffunction.yang index 0c4a89df44c48865d6feb192e050397147fd531a..ce54974048ec977d9628a8083b630653ed925a60 100755 --- a/yang-models/_3gpp-5gc-nrm-upffunction.yang +++ b/yang-models/_3gpp-5gc-nrm-upffunction.yang @@ -8,28 +8,465 @@ module _3gpp-5gc-nrm-upffunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } + import ietf-inet-types { prefix inet; } + 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 "UPFFunction derived from basic ManagedFunction. - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-07-25 { reference CR-1558 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2020-11-08 { reference CR-0412 ; } revision 2019-10-25 { reference "S5-194457 S5-193518"; } revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } + typedef PduSessionType { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + } + + grouping DnnUpfInfoItemGrp { + leaf dnn { + description "String representing a Data Network."; + mandatory true; + type string; + } + + leaf-list dnaiList { + description "List of Data network access identifiers supported + by the UPF for this DNN. + The absence of this attribute indicates that the UPF + can be selected for this DNN for any DNAI."; + min-elements 1; + type string; //dnai is the type but its only a string with + //desc: DNAI (Data network access identifier), + //is this needed as its own typedef or string is ok + } + + leaf-list pduSessionTypes { + description "List of PDU session type(s) supported by + the UPF for a specific DNN."; + min-elements 1; + type PduSessionType; + } + + list ipv4AddressRanges { + description "This attribute represents a list of ranges of IPv4 addresses + handled by UPF. "; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv4AddressRange; + } + + list ipv6PrefixRanges { + description "This attribute represents a list of ranges of IPv6 prefixes + handled by the UPF. "; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv6PrefixRange; } + + list natedIpv4AddressRanges { + description "This attribute represents a list of ranges of NATed IPv4 + addresses."; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv4AddressRange; + } + + list natedIpv6PrefixRanges { + description "This attribute represents a list of ranges of NATed IPv6 + prefixes."; + key idx; + leaf idx { type uint32; } + uses types3gpp:Ipv6PrefixRange; + } + + leaf-list ipv4IndexList { + type union { + type int32; + type string; + } + description "This attribute represents a list of Ipv4 Index supported by + the UPF. + This <> represents the IP Index to be sent from UDM to the SMF. + (See clause 6.1.6.2.77 TS 29.503) + It is a list of non-exclusive alternatives (Integer or String)."; + } + + leaf-list ipv6IndexList { + type union { + type int32; + type string; + } + description "This attribute represents a list of Ipv6 Index supported + by the UPF. + This <> represents the IP Index to be sent from UDM to the SMF. + (See clause 6.1.6.2.77 TS 29.503) + It is a list of non-exclusive alternatives (Integer or String)."; + } + + leaf networkInstance { + type string; + description "This attribute represents the N6 Network Instance + (See TS 29.244) associated with the S-NSSAI and DNN."; + } + + leaf-list dnaiNwInstanceList { + type string; + description "This attribute represents a map of a network instance per + DNAI for the DNN, where the key of the map is the DNAI (Data network + access identifier), see TS 23.501. + + When present, the value of each entry of the map shall contain a N6 + network instance that is configured for the DNAI indicated by the key."; + } + } + + grouping SnssaiUpfInfoItemGrp { + list sNssai { + description "Supported S-NSSAI."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:ExtSnssaiGrp; + } + + list dnnUpfInfoList { + description "It represents list of parameters supported by the UPF + per DNN."; + min-elements 1; + key dnn; + uses DnnUpfInfoItemGrp; + } + + leaf redundantTransport { + type boolean; + default false; + description "This attribute indicates whether the UPF supports redundant + transport path on the transport layer in the corresponding network + slice. + true: supported + false: not supported"; + } + } + + typedef UPInterfaceType { + type enumeration { + enum N3; + enum N6; + enum N9; + enum DATA_FORWARDING; + enum N6MB; + enum N19MB; + enum N3MB; + enum NMB9; + enum S1U; + enum S5U; + enum S8U; + enum S11U; + enum S12; + enum S2AU; + enum S2BU; + enum N3TRUSTEDN3GPP; + enum N3UNTRUSTEDN3GPP; + enum N9ROAMING; + enum SGI; + enum N19; + enum SXAU; + enum SXBU; + enum N4U; + } + } + + grouping InterfaceUpfInfoItemGrp { + leaf interfaceType { + description "User Plane interface type. + See TS 29.510[23] clause 6.1.6.3.9"; + mandatory true; + type UPInterfaceType; + must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; + } + + leaf-list ipv4EndpointAddresses { + description "Available endpoint IPv4 address(es) of + the User Plane interface."; + type inet:ipv4-address; + } + + leaf-list ipv6EndpointAddresses { + description "Available endpoint IPv6 address(es) of + the User Plane interface."; + type inet:ipv6-address; + } + + leaf fqdn { + description "This parameter defines FQDN of the Network Function + (See TS 23.003)."; + type inet:domain-name; + } + + leaf networkInstance { + description "Network Instance (See TS 29.244) associated to the User + Plane interface"; + type string; + mandatory true; + } + } + + grouping AtsssCapabilityGrp { + leaf atsssLL { + description "Indicates the ATSSS-LL capability to support procedures + related to Access Traffic Steering, Switching, Splitting + (see clauses 4.2.10, 5.32 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + + leaf mptcp { + description "Indicates the MPTCP capability to support procedures related + to Access Traffic Steering, Switching, Splitting + (see clauses 4.2.10, 5.32 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + + leaf rttWithoutPmf { + description "Indicates whether the UPF supports RTT measurement without + PMF (see clauses 5.32.2, 6.3.3.3 of TS 23.501). + true: Supported + false: Not Supported"; + type boolean; + default false; + } + } + + grouping UpfInfoGrp { + description "Represents datatype UpfInfo. This data type represents + information of an UPF Instance"; + + list sNssaiUpfInfoList { + description "This attribute represents a list of parameters supported by + the UPF per S-NSSAI."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses SnssaiUpfInfoItemGrp; + } + + leaf-list smfServingArea { + type string; + min-elements 1; + description "The SMF service area(s) the UPF can serve. See TS 29.510. + If not provided, the UPF can serve any SMF service area."; + } + + list interfaceUpfInfoList { + description "List of User Plane interfaces configured on the UPF. When + this parameter is provided in the NF Discovery response, the NF Service + Consumer (e.g., SMF) may use this information for UPF selection."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses InterfaceUpfInfoItemGrp; + } + + leaf iwkEpsInd { + type boolean; + mandatory true; + config false; + description "Indicates whether interworking with EPS is supported by + the UPF. + True: Supported + False: Not Supported"; + } + + leaf-list pduSessionTypes { + type enumeration { + enum IPV4; + enum IPV6; + enum IPV4V6; + enum UNSTRUCTURED; + enum ETHERNET; + } + config false; + min-elements 1; + description "Indicates the type(s) of a PDU session."; + } + + list atsssCapability { + config false; + description "Indicate the ATSSS capability of the UPF"; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses AtsssCapabilityGrp; + } + + leaf ueIpAddrInd { + type boolean; + config false; + default false; + description "Indicates whether the UPF supports allocating UE IP + addresses/prefixes. + true: supported + false: not supported"; + } + + list taiList { + description "The list of TAIs."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + + list taiRangeList { + description "The range of TAIs."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:TaiRangeGrp; + } + + list wAgfInfo { + description "Indicate that the UPF is collocated with W-AGF. If not + present, the UPF is not collocated with Wireline Access Gateway + Function (W-AGF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; + } + + list tngfInfo { + description "Indicate that the UPF is collocated with TNGF. If not + present, the UPF is not collocated with Trusted Non-3GPP Gateway + Function (TNGF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; + } + + list twifInfo { + description "Indicate that the UPF is collocated with TWIF. If not + present, the UPF is not collocated with Trusted WLAN Interworking + Function (TWIF)."; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:IpInterfaceGrp; + } + + leaf priority { + type uint16; + mandatory true; + description "This parameter defines Priority (relative to other NFs of + the same type) in the range of 0-65535, to be used for NF selection; + lower values indicate a higher priority. If priority is also present + in the nfServiceList parameters, those will have precedence over + this value (See TS 29.510)."; + } + + leaf redundantGtpu { + type boolean; + default false; + config false; + description "Indicates whether the UPF supports redundant GTP-U path. + true: supported + false: not supported"; + } + + leaf ipups { + type boolean; + default false; + description "Indicates whether the UPF is configured for Inter-PLMN User + Plane Security (IPUPS). Any UPF can support the IPUPS functionality. + In network deployments where specific UPFs are used to provide IPUPS, + UPFs configured for providing IPUPS services shall be selected. + true: The UPF is configured for IPUPS. + false: The UPF is not configured for IPUPS"; + } + + leaf dataForwarding { + type boolean; + default false; + description "Indicates whether the UPF is configured for data forwarding. + Based on operator policies, if dedicated UPFs are preferred to be used + for indirect data forwarding during handover scenarios, when setting + up the indirect data forwarding tunnel, the SMF should preferably + select a UPF configured for data forwarding and use the network + instance indicated in the Network Instance ID associated to the + DATA_FORWARDING interface type in the interfaceUpfInfoList attribute. + true: the UPF is configured for data forwarding + false: the UPF is not configured for data forwarding + + If the UPF is configured for data forwarding, it shall support UP + network interface with type 'DATA_FORWARDING'."; + } + + leaf supportedPfcpFeatures { + type string; + config false; + description "Supported Packet Forwarding Control Protocol (PFCP) Features. + A string used to indicate the PFCP features supported by the UPF, + which encodes the 'UP Function Features' as specified in + Table 8.2.25-1 of TS 29.244 (starting from Octet 5), in hexadecimal + representation. + + Each character in the string shall take a value of '0' to '9', 'a' + to 'f' or 'A' to 'F' and each two characters shall represent one octet + of 'UP Function Features' (starting from Octet 5, to higher octets). + For each two characters representing one octet, the first character + representing the 4 most significant bits of the octet and the second + character the 4 least significant bits of the octet. + + The supported PFCP features shall be provisioned in addition and be + consistent with the existing UPF features (atsssCapability, ueIpAddrInd, + redundantGtpu and ipups), e.g., if the ueIpAddrInd is set to 'true', + then the UEIP flag shall also be set to '1' in the supported PFCP + features."; + } + + leaf sxaInd { + type boolean; + config false; + description "This attribute indicates whether the UPF is configured to + support Sxa interface. + true: Supported + false: Not Supported"; + } + } + grouping UPFFunctionGrp { description "Represents the UPFFunction IOC"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { - description "A list of PLMN identifiers (Mobile Country Code and Mobile + description "A list of PLMN identifiers (Mobile Country Code and Mobile Network Code)."; min-elements 1; key "mcc mnc"; @@ -37,7 +474,7 @@ module _3gpp-5gc-nrm-upffunction { } leaf-list nRTACList { - description "List of Tracking Area Codes (legacy TAC or extended TAC) + description "List of Tracking Area Codes (legacy TAC or extended TAC) where the represented management function is serving."; reference "TS 38.413 clause 9.3.3.10"; min-elements 1; @@ -45,29 +482,105 @@ module _3gpp-5gc-nrm-upffunction { type types5g3gpp:NRTAC; } - list sNSSAIList { + leaf-list cNSIIdList { + type string; + description "It is a set of NSI ID. NSI ID is an identifier for + identifying the Core Network part of a Network Slice instance when + multiple Network Slice instances of the same Network Slice are deployed, + and there is a need to differentiate between them in the 5GC. + See NSI ID definition in clause 3.1 of TS 23.501 and + subclause 6.1.6.2.7 of TS 29.531. "; + } + leaf energySavingControl { + type enumeration { + enum TO_BE_ENERGYSAVING; + enum TO_BE_NOT_ENERGYSAVING; + } + mandatory true; + description "This attribute allows management system to initiate energy + saving activation or deactivation for the edge UPF."; + } + + leaf energySavingState { + type enumeration { + enum IS_NOT_ENERGYSAVING; + enum IS_ENERGYSAVING; + } + mandatory true; + config false; + description "This attribute specifies the status regarding the energy + saving in the edge UPF. + + If the value of energySavingControl is TO_BE_ENERGYSAVING, then it + shall be tried to achieve the value IS_ENERGYSAVING for the + energySavingState. + + If the value of energySavingControl is TO_BE_NOT_ENERGYSAVING, then + it shall be tried to achieve the value IS_NOT_ENERGYSAVING for the + energySavingState. "; + } + + /*list sNSSAIList { ??? not visible in stage 2 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 + An S-NSSAI has an SST (Slice/Service type) and an optional SD (Slice Differentiator) field."; reference "3GPP TS 23.003"; key "sd sst"; uses types5g3gpp:SNssai; - } - + }*/ + list managedNFProfile { key idx; + leaf idx { type uint32;} min-elements 1; max-elements 1; description "Profile definition of a Managed NF (See TS 23.501)"; - uses types3gpp:ManagedNFProfile; + uses mnfp3gpp:ManagedNFProfileGrp; } - + leaf-list supportedBMOList { type string; - description "List of supported BMOs (Bridge Managed Objects) required + description "List of supported BMOs (Bridge Managed Objects) required for integration with TSN system."; } + + list upfInfo { + description "This attribute represents information of an UPF NF Instance. + Multiple upfInfo may be allowed to define different TAI list for each + supported S-NSSAI"; + key idx; + leaf idx { type uint32; } + uses UpfInfoGrp; + } + + leaf isOnboardSatellite { + type boolean; + default false; + config false; + yext3gpp:inVariant; + description "This attribute indicates whether the function is + on board the satellite."; + } + + leaf onboardSatelliteId { + type string { + pattern "[0-9]{5}" ; + } + config false; + yext3gpp:inVariant; + description "This attribute indicates the onboard satellite Id. + It shall be formatted as a fixed 5-digit string, padding with + leading digits '0' to complete a 5-digit length."; + } + + leaf uPFCapabilities { + type string; + yext3gpp:inVariant; + description "It indicates the operator configurable capability supported + by the UPF. (see clause 5.8.2.21 in TS 23.501, clause 5.4.2 + in TS 29.571)"; + } } augment /me3gpp:ManagedElement { diff --git a/yang-models/_3gpp-common-ep-rp.yang b/yang-models/_3gpp-common-ep-rp.yang index 0005480f30df98d9a91643e19afbe3c7178a8c9b..3b4d22dd97c390af97e3d8078daedb03d17e1126 100755 --- a/yang-models/_3gpp-common-ep-rp.yang +++ b/yang-models/_3gpp-common-ep-rp.yang @@ -1,5 +1,5 @@ module _3gpp-common-ep-rp { - yang-version 1.1; + yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-ep-rp"; prefix "eprp3gpp"; @@ -8,43 +8,43 @@ module _3gpp-common-ep-rp { import _3gpp-common-measurements { prefix meas3gpp; } organization "3GPP SA5"; - contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Common/basic class/grouping to be inherited/reused. - This IOC represents an end point of a link used across a reference + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + 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 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; - reference - "3GPP TS 28.622 + reference + "3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2023-09-18 { reference CR-0271 ; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2023-09-18 { reference CR-0271 ; } + revision 2020-06-08 { reference "CR-0092"; } revision 2019-06-17 { description "Initial revision"; } - + grouping EP_RPGrp { - description "Abstract class, represents an end point of a link used - across a reference point between two network entities. - - For naming the subclasses of EP_RP, the following rules shall apply: - - The name of the subclassed IOC shall have the form 'EP_', - where is a string that represents the name of the reference point. - Thus, two valid examples of EP_RP subclassed IOC names would be: + description "Abstract class, represents an end point of a link used + across a reference point between two network entities. + + For naming the subclasses of EP_RP, the following rules shall apply: + - The name of the subclassed IOC shall have the form 'EP_', + where is a string that represents the name of the reference point. + Thus, two valid examples of EP_RP subclassed IOC names would be: EP_S1 and EP_X2."; - + leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; } - + leaf farEndEntity { config false; type types3gpp:DistinguishedName; diff --git a/yang-models/_3gpp-common-externaldata.yang b/yang-models/_3gpp-common-externaldata.yang new file mode 100644 index 0000000000000000000000000000000000000000..0854e9f887f1e28659f9b9e51b973a5696f24425 --- /dev/null +++ b/yang-models/_3gpp-common-externaldata.yang @@ -0,0 +1,135 @@ +module _3gpp-common-externaldata { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-externaldata"; + prefix "exdata3gpp"; + + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-inet-types { prefix inet; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the external data. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + + revision 2025-07-19 { reference CR-0551; } + + grouping ExternalDataScopeGrp { + list geoAreas { + description "It describes the concrete geographical area(s)"; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + leaf-list objectInstancesIncluded { + type types3gpp:DistinguishedName; + description "List of managed object instances to which the described + data are related. Each object instance is identified by its DN."; + } + + leaf-list objectInstancesExcluded { + type types3gpp:DistinguishedName; + description "List of managed object instances which are not considered + in relation to the described data. Each object instance is identified + by its DN."; + } + } + + grouping ExternalDataTypeGrp { + description "Represents the IOC ExternalDataType"; + + leaf externalDataType { + type string; + mandatory true; + description "Type of external management data as defined by the + implementation. + + Examples: 'Electronic Map', 'Camara Data', 'UE path', 'Camera Photo', + 'Event Schedule”"; + } + + leaf-list mediaLocation { + type inet:uri; + description "URI of the media which includes the transfer protocol. + + Examples: + sftp://companyA.com/datastore/fileName.xml + https://companyA.com/ManagedElement=1/Files=1/File=1"; + } + + leaf externalDataTypeSchema { + type inet:uri; + mandatory true; + description "URI of the schema to parse a type of external management data. + The detailed schema definition for the different types of external + management data is out of scope of this specification."; + } + + list externalDataScope { + description "It describes the concrete scope which the external management + data is applicable."; + key idx; + leaf idx { type uint32; } + uses ExternalDataScopeGrp; + } + } + + augment /subnet3gpp:SubNetwork { + list ExternalDataType { + description "This IOC specifies a type of external management data and + the associated meta data. + + External management data is data which enrich 3GPP specified management + data and management data specified based on 3GPP defined management data + definition templates and frameworks. External management data can be + produced by data sources of different nature (e.g. sensors) with different + formats. Details see clause 6.4.1 in TS 28.537. + + MnS producer may use this IOC to describe external management data. + + For example, MnS producer publishes all external management data which + are available. + + MnS consumer may use this IOC to configure, discover or request external + management data. For example, MnS consumer discovers and requests certain + types of external management data. + + The ExternalDataType IOC can be name-contained by SubNetwork. + + Attribute externalDataType defines the type of external management data. + + Attribute mediaLocation indicates the address from which the described + external management data can be retrieved. + + The value of mediaLocation, if present, can provide one or several + directories or the address where the described external management data + can be retrieved. The different directories can be used to group the + external management data, e.g., one directory per geographical area or + per time period. For example, the value of the mediaLocation attribute + can be given by + + sftp://companyA.com/datastore/weatherforecasts/ + + In this case a potential file with name 'weatherforecastMunicht0.xml' + needs to be retrieved using 'sftp' from + + sftp://companyA.com/datastore/weatherforecasts/weatherforecastMunicht0.xml. + + Attribute externalDataTypeSchema indicates the URI where the MnS consumer + can get the schema to parse the external management data. + + Attribute externalDataScope is used to describe the concrete scope (e.g., + geographical areas) which the external management data is applicable."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses ExternalDataTypeGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-filemanagement.yang b/yang-models/_3gpp-common-filemanagement.yang index 1e03291afae984f4b8f63e2155f954999b59d817..4ead4f89a6e0625b0e1ccf761db14d008e32c9d3 100644 --- a/yang-models/_3gpp-common-filemanagement.yang +++ b/yang-models/_3gpp-common-filemanagement.yang @@ -8,6 +8,7 @@ module _3gpp-common-filemanagement { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } + import ietf-inet-types { prefix inet; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -17,6 +18,7 @@ module _3gpp-common-filemanagement { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2024-11-07 { reference CR-0474 ; } revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference CR-0234; } revision 2022-10-24 { reference CR-0196; } @@ -52,12 +54,22 @@ module _3gpp-common-filemanagement { uses top3gpp:Top_Grp; leaf fileLocation { - description "Provides the location of a file. - allowedValues: File URI (See RFC 8089)"; - mandatory true; - type string; + type inet:uri; yext3gpp:notNotifyable; yext3gpp:inVariant; + description "Location of the file incl. the file transfer protocol, + and the file name for the case the file content cannot be retrieved + by reading the 'fileContent' attribute. + + The allowed file transfer protocols are: + - sftp + - ftpes + - https + + Examples: + 'sftp://companyA.com/datastore/fileName.xml', + 'https://companyA.com/ManagedElement=1/Files=1/File=1' + "; } leaf notificationRecipientAddress { diff --git a/yang-models/_3gpp-common-files.yang b/yang-models/_3gpp-common-files.yang index 9317e769fee47aff7c2d02622f000e10b3b99ecd..a9c934a71b0270bbc36c2bb86e2a7630b01ee20b 100644 --- a/yang-models/_3gpp-common-files.yang +++ b/yang-models/_3gpp-common-files.yang @@ -13,7 +13,7 @@ module _3gpp-common-files { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of File retrieval NRM fragment including the IOCs File and Files. - Copyright 2024, 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.623 Generic Network Resource Model (NRM) @@ -24,41 +24,54 @@ module _3gpp-common-files { Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)"; - - revision 2024-05-11 { reference CR-0362 ; } - revision 2023-09-18 { reference CR-0271 ; } + + // the file is common for r17,18,19 + revision 2025-07-01 { reference "CR-0557 CR-0558 CR-0559"; } + revision 2024-05-25 { reference "CR-0361 CR-0362"; } + revision 2023-09-18 { reference "CR-0270 CR-0271"; } revision 2022-09-28 { reference CR-0191; } grouping FileGrp { description "Represents the File IOC."; - leaf fileLocation { - type inet:uri ; + choice fileRetrievalMethod { mandatory true; - yext3gpp:notNotifyable ; - yext3gpp:inVariant ; - description "Location of the file incl. the file transfer protocol, - and the file name for the case the file content cannot be retrieved - by reading the 'fileContent' attribute. - - The allowed file transfer protocols are: - - sftp - - ftpes - - https - - Examples: - 'sftp://companyA.com/datastore/fileName.xml', - 'https://companyA.com/ManagedElement=1/Files=1/File=1' - "; + leaf fileLocation { + type inet:uri ; + config false; + yext3gpp:notNotifyable ; + yext3gpp:inVariant ; + description "Location of the file incl. the file transfer protocol, + and the file name. + + The allowed file transfer protocols are: + - sftp + - ftpes + - https + + Examples: + 'sftp://companyA.com/datastore/fileName.xml', + 'https://companyA.com/ManagedElement=1/Files=1/File=1' + "; + } + + leaf fileContent { + type binary ; + config false; + yext3gpp:notNotifyable ; + yext3gpp:inVariant ; + description "File content as a Base64 encoded string according to + RFC 4648 section 4."; + } } leaf fileCompression { type string ; - mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Name of the algorithm used for compressing the file. - An empty or absent 'fileCompression' parameter indicates the file is + An absent 'fileCompression' parameter indicates the file is not compressed. The MnS producer selects the compression algorithm. It is encouraged to use popular algorithms such as GZIP."; } @@ -67,6 +80,7 @@ module _3gpp-common-files { type uint64 ; mandatory true; units bytes; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Size of the file"; @@ -82,6 +96,7 @@ module _3gpp-common-files { enum PROPRIETARY; } mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Type of the management data stored in the file."; @@ -89,16 +104,18 @@ module _3gpp-common-files { leaf fileFormat { type string ; - mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; - description "Identifier of the XML or ASN.1 schema (incl. its version) - used to produce the file content."; + description "Identifier of the schema (incl. its version) + used to produce the file content. If there is no schema for the file + or it is not available, the fileFormat parameter is absent."; } leaf fileReadyTime { type yang:date-and-time ; mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Date and time, when the file was closed (the last time) @@ -108,22 +125,15 @@ module _3gpp-common-files { leaf fileExpirationTime { type yang:date-and-time ; - mandatory true; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Date and time after which the file may be deleted."; } - - leaf fileContent { - type string ; // String is very restrictive - mandatory true; - yext3gpp:notNotifyable ; - yext3gpp:inVariant ; - description "File content"; - } leaf-list jobRef { type types3gpp:DistinguishedName ; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Object instance of the 'PerfMetricJob' or 'TraceJob' @@ -132,6 +142,7 @@ module _3gpp-common-files { leaf jobId { type string ; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Identifier of a PerfMetricJob job or a TraceJob."; @@ -142,12 +153,14 @@ module _3gpp-common-files { description "Represents the Files IOC."; leaf numberOfFiles { type uint64 ; + config false; yext3gpp:notNotifyable ; description "Number of files in a file collection."; } leaf-list jobRef { type types3gpp:DistinguishedName ; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Object instance of the 'PerfMetricJob' or 'TraceJob' @@ -156,6 +169,7 @@ module _3gpp-common-files { leaf jobId { type string ; + config false; yext3gpp:notNotifyable ; yext3gpp:inVariant ; description "Identifier of a PerfMetricJob job or a TraceJob."; @@ -210,7 +224,7 @@ module _3gpp-common-files { The attribute '_linkToFiles' allows a MnS consumer to create simple and targeted subscriptions for 'notifyFileReady'and 'notifyFilePreparationError', or - 'notifyMOICreation', 'notifyMOIChanges' and 'notifyFilePreparationError' + 'notifyMOICreation', 'notifyMOIChanges' and 'notifyFilePreparationError' related to 'File' instances created or deleted under the 'Files' instance of a specific job. The subscription needs to scope simply objects one level below the 'Files' object. @@ -244,36 +258,20 @@ module _3gpp-common-files { The attributes 'fileSize', 'fileCompression', 'fileDataType' and 'fileFormat' describe the file properties. - - The 'fileLocation' attribute indicates the address where the file can - be retrieved. The address includes the file transfer protocol (schema). - Allowed file transfer protocols are 'sftp', 'ftpes' and 'https'. - - The value of 'fileLocation' can be identical to or different from the - address of the 'File' instance. The attribute 'fileContent' is - provided for retrieving the actual file content. When identifying in - the Read request a 'File' instance and specifying only the - 'fileContent' attribute be returned, then only the file content shall - be returned in the response. Note, as usual, multiple attributes can - be specified to be returned, so that the file content together with - some or all file meta data attributes can be returned in response to - a single request. - - In case the 'fileLocation' specifies a location different than the - 'File' object location, then the attribute 'fileContent' cannot be - used for retrieving the file content. For example, the 'File' object - location may be given by - 'https://companyA.com/ManagedElement=1/Files=1/File=1' - and the value of the 'fileLocation' attribute by - 'sftp://companyA.com/datastore/fileName.xml' - - In this case the file needs to be retrieved using 'sftp' from - 'sftp://companyA.com/datastore/fileName.xml'. Attempts to read the - 'fileContent' attribute shall return an error. + + The MnS producer makes the file available by one of the following means: + - For retrieval via a file transfer protocol. The fileLocation attribute + indicates the address from where the file can be retrieved. The + address includes the file transfer protocol (schema). Allowed file + transfer protocols are 'sftp', 'ftpes' and 'https'. + - For retrieval of the file contents via a CM read operation. The + attribute fileContent is provided for retrieving the actual file + content. In this case, the name of the file is equal to the identity + of the File instance. When the file retrieval NRM fragment is used together with a data - collection job ('PerfMetricJob' or 'TraceJob') the following - provisions shall apply: + collection job (PerfMetricJob or TraceJob) the following provisions + shall apply: - The attributes 'jobRef' and 'jobId' shall be supported and present. They shall identify the job that the file is related to. diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index 223ea0033e5a50a5a854fbcdefe6038eaa11141a..e9d3b2defb0c4675535b8b5d7e3a2ff10b6dcbd2 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -12,10 +12,13 @@ module _3gpp-common-fm { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines a Fault Management model - Copyright 2024, 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.111"; + revision 2025-08-13 { reference "CR-0050 CR-0051 CR-0053 CR-0054"; } + revision 2025-05-01 { reference "CR-0042 CR-0043"; } // common for R18, R19 + revision 2025-03-25 { reference "CR-0025 CR-0026"; } revision 2024-05-12 { description "The definition of the module was from TS 28.623 to TS 28.111"; reference CR-0008 ; @@ -41,6 +44,10 @@ module _3gpp-common-fm { typedef eventType { type enumeration { + enum OTHER { + value 1; + } + enum COMMUNICATIONS_ALARM { value 2; } @@ -98,17 +105,231 @@ module _3gpp-common-fm { description "The possible alarm severities"; } + typedef probable-causes { + type enumeration { + enum INDETERMINATE { value 0; } + enum ALARM_INDICATION_SIGNAL { value 1; } + enum CALL_SETUP_FAILURE { value 2; } + enum DEGRADED_SIGNAL { value 3; } + enum FAR_END_RECEIVER_FAILURE { value 4; } + enum FRAMING_ERROR { value 5; } + enum LOSS_OF_FRAME { value 6; } + enum LOSS_OF_POINTER { value 7; } + enum LOSS_OF_SIGNAL { value 8; } + enum PAYLOAD_TYPE_MISMATCH { value 9; } + enum REMOTE_ALARM_INTERFACE { value 11; } + enum EXCESSIVE_BIT_ERROR_RATE { value 12; } + enum PATH_TRACE_MISMATCH { value 13; } + enum UNAVAILABLE { value 14; } + enum SIGNAL_LABEL_MISMATCH { value 15; } + enum LOSS_OF_MULTI_FRAME { value 16; } + enum COMMUNICATIONS_RECEIVE_FAILURE { value 17; } + enum COMMUNICATIONS_TRANSMIT_FAILURE { value 18; } + enum MODULATION_FAILURE { value 19; } + enum DEMODULATION_FAILURE { value 20; } + enum BACK_PLANE_FAILURE { value 51; } + enum DATA_SET_PROBLEM { value 52; } + enum EQUIPMENT_IDENTIFIER_DUPLICATION { value 53; } + enum EXTERNAL_IF_DEVICE_PROBLEM { value 54; } + enum LINE_CARD_PROBLEM { value 55; } + enum MULTIPLEXER_PROBLEM { value 56; } + enum NE_IDENTIFIER_DUPLICATION { value 57; } + enum POWER_PROBLEM { value 58; } + enum PROCESSOR_PROBLEM { value 59; } + enum PROTECTION_PATH_FAILURE { value 60; } + enum RECEIVER_FAILURE { value 61; } + enum REPLACEABLE_UNIT_MISSING { value 62; } + enum REPLACEABLE_UNIT_TYPE_MISMATCH { value 63; } + enum SYNCHRONIZATION_SOURCE_MISMATCH { value 64; } + enum TERMINAL_PROBLEM { value 65; } + enum TIMING_PROBLEM { value 66; } + enum TRANSMITTER_FAILURE { value 67; } + enum TRUNK_CARD_PROBLEM { value 68; } + enum REPLACEABLE_UNIT_PROBLEM { value 69; } + enum REAL_TIME_CLOCK_FAILURE { value 70; } + enum PROTECTION_MECHANISM_FAILURE { value 81; } + enum PROTECTING_RESOURCE_FAILURE { value 82; } + enum AIR_COMPRESSOR_FAILURE { value 101; } + enum AIR_CONDITIONING_FAILURE { value 102; } + enum AIR_DRYER_FAILURE { value 103; } + enum BATTERY_DISCHARGING { value 104; } + enum BATTERY_FAILURE { value 105; } + enum COMMERCIAL_POWER_FAILURE { value 106; } + enum COOLING_FAN_FAILURE { value 107; } + enum ENGINE_FAILURE { value 108; } + enum FIRE_DETECTOR_FAILURE { value 109; } + enum FUSE_FAILURE { value 110; } + enum GENERATOR_FAILURE { value 111; } + enum LOW_BATTERY_THRESHOLD { value 112; } + enum PUMP_FAILURE { value 113; } + enum RECTIFIER_FAILURE { value 114; } + enum RECTIFIER_HIGH_VOLTAGE { value 115; } + enum RECTIFIER_LOW_F_VOLTAGE { value 116; } + enum VENTILATION_SYSTEM_FAILURE { value 117; } + enum ENCLOSURE_DOOR_OPEN { value 118; } + enum EXPLOSIVE_GAS { value 119; } + enum FIRE { value 120; } + enum FLOOD { value 121; } + enum HIGH_HUMIDITY { value 122; } + enum HIGH_TEMPERATURE { value 123; } + enum HIGH_WIND { value 124; } + enum ICE_BUILD_UP { value 125; } + enum INTRUSION_DETECTION { value 126; } + enum LOW_FUEL { value 127; } + enum LOW_HUMIDITY { value 128; } + enum LOW_CABLE_PRESSURE { value 129; } + enum LOW_TEMPERATURE { value 130; } + enum LOW_WATER { value 131; } + enum SMOKE { value 132; } + enum TOXIC_GAS { value 133; } + enum EXTERNAL_POINT_FAILURE { value 136; } + enum STORAGE_CAPACITY_PROBLEM { value 151; } + enum MEMORY_MISMATCH { value 152; } + enum CORRUPT_DATA { value 153; } + enum OUT_OF_CPU_CYCLES { value 154; } + enum SOFTWARE_ENVIRONMENT_PROBLEM { value 155; } + enum SOFTWARE_DOWNLOAD_FAILURE { value 156; } + enum LOSS_OF_REAL_TIME { value 157; } + enum REINITIALIZED { value 158; } + enum EXCESSIVE_ERROR_RATE { value 203; } + enum ADAPTER_ERROR { value 301; } + enum APPLICATION_SUBSYSTEM_FAILURE { value 302; } + enum BANDWIDTH_REDUCED { value 303; } + enum COMMUNICATIONS_PROTOCOL_ERROR { value 305; } + enum COMMUNICATIONS_SUBSYSTEM_FAILURE { value 306; } + enum CONFIGURATION_OR_CUSTOMIZATION_ERROR { value 307; } + enum CONGESTION { value 308; } + enum CPU_CYCLES_LIMIT_EXCEEDED { value 310; } + enum DATA_SET_OR_MODEM_ERROR { value 311; } + enum DTE_DCE_INTERFACE_ERROR { value 313; } + enum EQUIPMENT_MALFUNCTION { value 315; } + enum EXCESSIVE_VIBRATION { value 316; } + enum FILE_ERROR { value 317; } + enum HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM { value 321; } + enum HUMIDITY_UNACCEPTABLE { value 322; } + enum INPUT_OUTPUT_DEVICE_ERROR { value 323; } + enum INPUT_DEVICE_ERROR { value 324; } + enum LAN_ERROR { value 325; } + enum LEAK_DETECTED { value 326; } + enum LOCAL_NODE_TRANSMISSION_ERROR { value 327; } + enum MATERIAL_SUPPLY_EXHAUSTED { value 330; } + enum OUT_OF_MEMORY { value 332; } + enum OUTPUT_DEVICE_ERROR { value 333; } + enum PERFORMANCE_DEGRADED { value 334; } + enum PRESSURE_UNACCEPTABLE { value 336; } + enum QUEUE_SIZE_EXCEEDED { value 339; } + enum RECEIVE_FAILURE { value 340; } + enum REMOTE_NODE_TRANSMISSION_ERROR { value 342; } + enum RESOURCE_AT_OR_NEARING_CAPACITY { value 343; } + enum RESPONSE_TIME_EXCESSIVE { value 344; } + enum RETRANSMISSION_RATE_EXCESSIVE { value 345; } + enum SOFTWARE_ERROR { value 346; } + enum SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED { value 347; } + enum SOFTWARE_PROGRAM_ERROR { value 348; } + enum TEMPERATURE_UNACCEPTABLE { value 350; } + enum THRESHOLD_CROSSED { value 351; } + enum TOXIC_LEAK_DETECTED { value 353; } + enum TRANSMIT_FAILURE { value 354; } + enum UNDERLYING_RESOURCE_UNAVAILABLE { value 356; } + enum VERSION_MISMATCH { value 357; } + enum A_BIS_TO_BTS_INTERFACE_FAILURE { value 501; } + enum A_BIS_TO_TRX_INTERFACE_FAILURE { value 502; } + enum ANTENNA_PROBLEM { value 503; } + enum BATTERY_BREAKDOWN { value 504; } + enum BATTERY_CHARGING_FAULT { value 505; } + enum CLOCK_SYNCHRONIZATION_PROBLEM { value 506; } + enum COMBINER_PROBLEM { value 507; } + enum DISK_PROBLEM { value 508; } + enum EXCESSIVE_RECEIVER_TEMPERATURE { value 510; } + enum EXCESSIVE_TRANSMITTER_OUTPUT_POWER { value 511; } + enum EXCESSIVE_TRANSMITTER_TEMPERATURE { value 512; } + enum FREQUENCY_HOPPING_DEGRADED { value 513; } + enum FREQUENCY_HOPPING_FAILURE { value 514; } + enum FREQUENCY_REDEFINITION_FAILED { value 515; } + enum LINE_INTERFACE_FAILURE { value 516; } + enum LINK_FAILURE { value 517; } + enum LOSS_OF_SYNCHRONIZATION { value 518; } + enum LOST_REDUNDANCY { value 519; } + enum MAINS_BREAKDOWN_WITH_BATTERY_BACKUP { value 520; } + enum MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP { value 521; } + enum POWER_SUPPLY_FAILURE { value 522; } + enum RECEIVER_ANTENNA_FAULT { value 523; } + enum RECEIVER_MULTICOUPLER_FAILURE { value 525; } + enum REDUCED_TRANSMITTER_OUTPUT_POWER { value 526; } + enum SIGNAL_QUALITY_EVALUATION_FAULT { value 527; } + enum TIMESLOT_HARDWARE_FAILURE { value 528; } + enum TRANSCEIVER_PROBLEM { value 529; } + enum TRANSCODER_PROBLEM { value 530; } + enum TRANSCODER_OR_RATE_ADAPTER_PROBLEM { value 531; } + enum TRANSMITTER_ANTENNA_FAILURE { value 532; } + enum TRANSMITTER_ANTENNA_NOT_ADJUSTED { value 533; } + enum TRANSMITTER_LOW_VOLTAGE_OR_CURRENT { value 535; } + enum TRANSMITTER_OFF_FREQUENCY { value 536; } + enum DATABASE_INCONSISTENCY { value 537; } + enum FILE_SYSTEM_CALL_UNSUCCESSFUL { value 538; } + enum INPUT_PARAMETER_OUT_OF_RANGE { value 539; } + enum INVALID_PARAMETER { value 540; } + enum INVALID_POINTER { value 541; } + enum MESSAGE_NOT_EXPECTED { value 542; } + enum MESSAGE_NOT_INITIALIZED { value 543; } + enum MESSAGE_OUT_OF_SEQUENCE { value 544; } + enum SYSTEM_CALL_UNSUCCESSFUL { value 545; } + enum TIMEOUT_EXPIRED { value 546; } + enum VARIABLE_OUT_OF_RANGE { value 547; } + enum WATCH_DOG_TIMER_EXPIRED { value 548; } + enum COOLING_SYSTEM_FAILURE { value 549; } + enum EXTERNAL_EQUIPMENT_FAILURE { value 550; } + enum EXTERNAL_POWER_SUPPLY_FAILURE { value 551; } + 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 SYSTEM_RESOURCES_OVERLOAD { value 564; } + enum BROADCAST_CHANNEL_FAILURE { value 565; } + enum CONNECTION_ESTABLISHMENT_ERROR { value 566; } + enum INVALID_MESSAGE_RECEIVED { value 567; } + enum INVALID_MSU_RECEIVED { value 568; } + enum LAPD_LINK_PROTOCOL_FAILURE { value 569; } + enum LOCAL_ALARM_INDICATION { value 570; } + enum REMOTE_ALARM_INDICATION { value 571; } + enum ROUTING_FAILURE { value 572; } + enum SS7_PROTOCOL_FAILURE { value 573; } + enum TRANSMISSION_ERROR { value 574; } + enum AUTHENTICATION_FAILURE { value 701; } + enum BREACH_OF_CONFIDENTIALITY { value 702; } + enum CABLE_TAMPER { value 703; } + enum DELAYED_INFORMATION { value 704; } + enum DENIAL_OF_SERVICE { value 705; } + enum DUPLICATE_INFORMATION { value 706; } + enum INFORMATION_MISSING { value 707; } + enum INFORMATION_MODIFICATION_DETECTED { value 708; } + enum INFORMATION_OUT_OF_SEQUENCE { value 709; } + enum INTRUSION_DETECTED { value 710; } + enum KEY_EXPIRED { value 711; } + enum NON_REPUDIATION_FAILURE { value 712; } + enum OUT_OF_HOURS_ACTIVITY { value 713; } + enum OUT_OF_SERVICE { value 714; } + enum PROCEDURAL_ERROR { value 715; } + enum UNAUTHORISED_ACCESS_ATTEMPT { value 716; } + enum UNEXPECTED_INFORMATION { value 717; } + enum UNSPECIFIED_REASON { value 718; } + } + description "Values are from the (informative) Annex B of 3GPP TS 28.111."; + } + grouping AlarmCommentGrp { leaf commentTime { type yang:date-and-time; config false; mandatory true; + yext3gpp:inVariant; description "Date and Time the comment was created."; } leaf commentUserId { type string; mandatory true; + yext3gpp:inVariant; description "It carries the identification of the user who made the comment."; } @@ -116,6 +337,7 @@ module _3gpp-common-fm { leaf commentSystemId { type string; mandatory true; + yext3gpp:inVariant; description "It carries the identification of the system ( Management System) from which the comment is made. That system supports the user that made the comment."; @@ -124,10 +346,146 @@ module _3gpp-common-fm { leaf commentText { type string; mandatory true; + yext3gpp:inVariant; description "It carries the textual comment."; } } + grouping ThresholdHysteresisGrp { + description "The ThresholdHysteresis defines the threshold boundaries to + control the hysteresis mechanism. + + The high attribute of ThresholdHysteresis identifies the higher value of + a threshold with hysteris, the integer type is used for counter + thresholds and the float type for gauge thresholds. The low attribute + of ThresholdHysteresis identifies the lower value of a threshold with + hysteresis, applicable only to gauge thresholds."; + + leaf high { + type union { + type int64; + type decimal64 { + fraction-digits 7; + } + } + mandatory true; + description "Higher value of a threshold with hysteresis, the integer + type is used for counter thresholds and the float type for gauge + thresholds."; + } + + leaf low { + type decimal64 { + fraction-digits 7; + } + description "Lower value of a threshold with hysteresis, applicable + only to gauge thresholds."; + } + } + + grouping ThresholdLevelIndGrp { + description "The up attribute indicates for counter and gauge thresholds + that the threshold crossing occurred when going up. The down attribute + only indicates for gauge thresholds that the threshold crossing occurred + when going down, applicable only to gauge thresholds."; + + list up { + description "Indicates for counter and gauge thresholds that the + threshold crossing occurred when going up."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdHysteresisGrp; + } + + list down { + description "Indicates for gauge thresholds that the threshold crossing + occurred when going down, applicable only to gauge thresholds."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdHysteresisGrp; + } + } + + grouping ThresholdCrossingGrp { + description "The datatype indicates the crossed threshold + information regardless of the gauge threshold, which represents an + instantaneous value that changes over time, or the counter threshold, + which represents monotonically increasing cumulative quantity. + + The observedMeasurement attribute of TheresholdInfo specifies the name + of the monitored measurement that crossed the threshold and that + caused the notification (Rec. ITU-T X. 733[8]). The observedValue + attribute indicates the value of the gauge or counter which crossed + the threshold. This may be different from the threshold value if, for + example, the gauge may only take on discrete values. Integer values + are used for counters and float values for gauges (Rec. ITU-T X. 733). + Note that a 'number' type property can contain both integers and + floating point numbers. + + For the thresholdLevel attribute, in the case of a gauge, it specifies + a pair of threshold values, the first being the value of the crossed + threshold and the second, its corresponding hysteresis; in the case of + a counter, it specifies only the threshold value (Rec. ITU-T X. 733). + + For the armTime attribute, for a gauge threshold, it specifies the + time at which the threshold was last re-armed, namely the time after + the previous threshold crossing at which the hysteresis value of the + threshold was exceeded thus again permitting generation of + notifications when the threshold is crossed; for a counter threshold, + the later of the time at which the threshold offset was last applied, + or the time at which the counter was last initialized (for resettable + counters) (Rec. ITU-T X. 733)."; + + leaf observedMeasurement { + type string; + mandatory true; + description "The name of the monitored measurement that crossed the + threshold and that caused the notification (Rec. ITU-T X. 733 "; + } + + leaf observedValue { + type union { + type int64; + type decimal64 { + fraction-digits 7; + } + } + mandatory true; + description "The value of the gauge or counter which crossed the + threshold. This may be different from the threshold value if, for + example, the gauge may only take on discrete values. + Integer values are used for counters and float values for gauges + (Rec. ITU-T X. 733). Note that a 'number' type property can contain + both integers and floating point numbers."; + } + + list thresholdLevel { + description "In the case of a gauge the threshold level specifies + a pair of threshold values, the first being the value of the crossed + threshold and the second, its corresponding hysteresis; in the case + of a counter the threshold level specifies only the threshold value + (Rec. ITU-T X. 733)."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdLevelIndGrp; + } + + leaf armTime { + type yang:date-and-time; + description "For a gauge threshold, the time at which the threshold + was last re-armed, namely the time after the previous threshold + crossing at which the hysteresis value of the threshold was + exceeded thus again permitting generation of notifications when the + threshold is crossed. For a counter threshold, the later of the time + at which the threshold offset was last applied, or the time at + which the counter was last initialized (for resettable counters) + (Rec. ITU-T X. 733)"; + } + } + grouping AlarmRecordGrp { description "Contains alarm information of an alarmed object instance. A new record is created in the alarm list when an alarmed object @@ -198,6 +556,7 @@ module _3gpp-common-fm { leaf probableCause { type union { + type probable-causes; type int32; type string; } @@ -255,52 +614,13 @@ module _3gpp-common-fm { yext3gpp:notNotifyable; } - grouping ThresholdInfoGrp { - leaf measurementType { - type string; - mandatory true; - } - - leaf direction { - type enumeration { - enum INCREASING; - enum DECREASING; - } - mandatory true; - description " - If it is 'Increasing', the threshold crossing notification is - triggered when the measurement value equals or exceeds a - thresholdValue. - - If it is 'Decreasing', the threshold crossing notification is - triggered when the measurement value equals or below a - thresholdValue."; - } - - leaf thresholdLevel { - type string; - } - - leaf thresholdValue { - type string; - } - - leaf hysteresis { - type string; - description "The hysteresis has a threshold high and a threshold - low value that are different from the threshold value. - A hysteresis, therefore, defines the threshold-high and - threshold-low levels within which the measurementType value is - allowed to oscillate without triggering the threshold crossing - notification."; - } - } - list thresholdInfo { config false ; yext3gpp:notNotifyable; description "Indicates the crossed threshold"; - uses ThresholdInfoGrp; + key idx; + leaf idx { type int32; } + uses ThresholdCrossingGrp; } list stateChangeDefinition { @@ -382,7 +702,6 @@ module _3gpp-common-fm { } list comments { - yext3gpp:inVariant; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; @@ -481,6 +800,18 @@ module _3gpp-common-fm { min-elements 1; } } + + leaf clearingType { + type enumeration { + enum AUTOMATIC; + enum MANUAL; + } + config false; + default AUTOMATIC; + description "Indicates whether the alarm needs + to be cleared manually by the MnS consumer (ADMC) + or the producer will clear it automatically (ADAC)."; + } } grouping AlarmListGrp { @@ -560,11 +891,15 @@ module _3gpp-common-fm { name-containing the AlarmList, and the base object itself. AlarmList instances are created by the system or are pre-installed. - They cannot be created nor deleted by MnS consumers. + They can neighter be created nor deleted by MnS consumers. When the alarm list is locked or disabled, the existing alarm records - are not updated, and new alarm records are not added to the alarm list"; - + are not updated, and new alarm records are not added to the alarm list. + + As the size of the alarm list is finite, if it becomes full, the + producer may remove the oldest list entries in alarmRecords. If there + are cleared but unacknowledged alarms these shall be removed before any + not-cleared alarms are removed."; uses top3gpp:Top_Grp ; container attributes { @@ -573,4 +908,4 @@ module _3gpp-common-fm { } } -} +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 233aa6f4a2ab338201ffe86eab7eb0c679110085..713c1a2dec746bdd384b86499e23e0191f979143 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -4,6 +4,7 @@ module _3gpp-common-managed-element { prefix "me3gpp"; import _3gpp-common-yang-types { prefix types3gpp ; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-subscription-control { prefix subscr3gpp; } @@ -12,13 +13,16 @@ module _3gpp-common-managed-element { import _3gpp-common-files { prefix files3gpp; } import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; } import _3gpp-5gc-nrm-ecmconnectioninfo { prefix econn3gpp ; } + import _3gpp-nr-nrm-ecmappingrule { prefix ecmap3gpp ; } + import _3gpp-stm-nrm-stmfunction { prefix stm3gpp; } + import _3gpp-nr-nrm-mwab { prefix mwab3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines ManagedElement which will be augmented by other IOCs - Copyright 2024, 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.623 Generic Network Resource Model (NRM) @@ -33,6 +37,10 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-08-13 { reference CR-0561; } + revision 2025-04-25 { reference "CR-0532 CR0541" ; } + revision 2025-03-25 { reference "CR-0516"; } + revision 2024-10-01 { reference "CR-0437,CR-0438" ; } revision 2024-01-30 { reference CR-0328 ; } revision 2023-11-14 { reference CR-0305 ; } revision 2023-09-18 { reference CR-0271 ; } @@ -49,6 +57,10 @@ module _3gpp-common-managed-element { revision 2019-06-17 { reference " S5-203316"; } revision 2019-05-08 { reference "Initial revision"; } + feature ECMappingRuleUnderManagedElement { + description "ECMappingRule shall be contained under ManagedElement."; + } + feature EcmConnectionInfoUnderManagedElement { description "The EcmConnectionInfo shall be contained under ManagedElement"; @@ -77,6 +89,10 @@ module _3gpp-common-managed-element { ManagedElement"; } + feature NotificationListUnderManagedElement { + description "The NotificationList shall be contained under ManagedElement"; + } + feature FmUnderManagedElement { description "The FmSubtree shall be contained under ManagedElement"; } @@ -120,6 +136,14 @@ module _3gpp-common-managed-element { ManagedElement."; } + feature StmCtrlUnderManagedElement { + description "The StmCtrlSubtree shall be contained under ManagedElement"; + } + + feature MWABUnderManagedElement { + description "The MWAB shall be contained under ManagedElement"; + } + grouping ManagedElement_Grp { description "Abstract class representing telecommunications resources. An ME communicates with a manager (directly or indirectly) for the @@ -135,6 +159,7 @@ module _3gpp-common-managed-element { A Distingushed Name(DN) is defined by 3GPP TS 32.300, which splits the DN into a DN Prefix and Local DN"; type types3gpp:DistinguishedName; + yext3gpp:inVariant; } leaf userLabel { @@ -285,6 +310,10 @@ module _3gpp-common-managed-element { if-feature SupportedNotificationsUnderManagedElement; } + uses subscr3gpp:NotificationListSubtree { + if-feature NotificationListUnderManagedElement; + } + uses fm3gpp:FmSubtree { if-feature FmUnderManagedElement; } @@ -304,5 +333,17 @@ module _3gpp-common-managed-element { uses econn3gpp:EcmConnectionInfoSubtree { if-feature EcmConnectionInfoUnderManagedElement; } + + uses ecmap3gpp:NRECMappingRuleSubtree { + if-feature ECMappingRuleUnderManagedElement; + } + + uses stm3gpp:StmCtrlSubTree { + if-feature StmCtrlUnderManagedElement ; + } + + uses mwab3gpp:MWABSubTree { + if-feature MWABUnderManagedElement ; + } } } diff --git a/yang-models/_3gpp-common-managed-function.yang b/yang-models/_3gpp-common-managed-function.yang index ea4390cc348f5167fb4501fdb3fcbd70c2a9d8a3..14468c8f3a3d989f3301194e5a6a38e028179ffd 100755 --- a/yang-models/_3gpp-common-managed-function.yang +++ b/yang-models/_3gpp-common-managed-function.yang @@ -8,35 +8,39 @@ module _3gpp-common-managed-function { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-trace { prefix trace3gpp; } - + import _3gpp-stm-nrm-stmfunction { prefix stm3gpp; } + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The module defines a base class/grouping for major 3GPP + description "The module defines a base class/grouping for major 3GPP functions. - Copyright 2024, 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 + reference + "3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS) - - 3GPP TS 28.620 + + 3GPP TS 28.620 Umbrella Information Model (UIM)"; - revision 2024-02-24 { reference CR-0346; } - revision 2023-09-18 { reference CR-0271; } + revision 2025-08-13 { reference CR-0551; } + revision 2025-04-19 { reference "CR-0541"; } + revision 2024-11-19 { reference "Add STM"; } + revision 2024-02-24 { reference CR-0346; } + revision 2023-09-18 { reference CR-0271; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-11-02 { reference "CR-0753"; } revision 2022-10-24 { reference CR-0196; } revision 2022-01-07 { reference "CR-0146"; } - revision 2021-01-25 { reference "CR-0122"; } - revision 2020-09-30 { reference "CR-bbbb"; } - revision 2020-08-06 { reference "CR-0102"; } - revision 2020-08-03 { reference "CR-0095"; } + revision 2021-01-25 { reference "CR-0122"; } + revision 2020-09-30 { reference "CR-bbbb"; } + revision 2020-08-06 { reference "CR-0102"; } + revision 2020-08-03 { reference "CR-0095"; } revision 2020-06-23 { reference "CR-085"; } - revision 2020-06-08 { reference "CR-0092"; } + revision 2020-06-08 { reference "CR-0092"; } revision 2019-11-21 { reference "S5-197275, S5-197735"; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-18 { reference "Initial revision"; } @@ -48,20 +52,24 @@ module _3gpp-common-managed-function { feature TraceUnderManagedFunction { description "The TraceSubtree shall be contained under ManagedFunction"; } - + + feature StmCtrlUnderManagedFunction { + description "The StmCtrlSubtree shall be contained under ManagedFunction"; + } + grouping OperationGrp { description "This data type represents an operation."; reference "3gpp TS 28.622"; - + leaf name { type string; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; } - + leaf-list allowedNFTypes { - type string; + type string; min-elements 1; description "The type of the managed NF service instance The specifc values allowed are described in TS 23.501"; @@ -80,45 +88,45 @@ module _3gpp-common-managed-function { reference "3GPP TS 23.502"; } } - - grouping ManagedNFServiceGrp { + + grouping ManagedNFServiceGrp { description "A ManagedNFService represents a Network Function (NF) service."; reference "Clause 7 of 3GPP TS 23.501."; leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; - } - + } + leaf nFServiceType { config false; mandatory true; - type string; + type string; description "The type of the managed NF service instance The specifc values allowed are described in clause 7.2 of TS 23.501"; yext3gpp:notNotifyable; yext3gpp:inVariant; } - + list sAP { - key "host port"; + key "host port"; min-elements 1; max-elements 1; description "The service access point of the managed NF service instance"; - uses types3gpp:SAPGrp; + uses types3gpp:SAPGrp; } - + list operations { key name; min-elements 1; uses OperationGrp ; - description "Set of operations supported by the managed NF + description "Set of operations supported by the managed NF service instance"; } leaf administrativeState { type types3gpp:BasicAdministrativeState; - mandatory true; + default LOCKED; description "Permission to use or prohibition against using the instance"; } @@ -128,16 +136,16 @@ module _3gpp-common-managed-function { mandatory true; description "Describes whether the resource is installed and working"; } - + leaf usageState { type types3gpp:usageState ; config false; mandatory true; - description "Describes whether the resource is actively in use at a - specific instant, and if so, whether or not it has spare + description "Describes whether the resource is actively in use at a + specific instant, and if so, whether or not it has spare capacity for additional users."; } - + leaf registrationState { type enumeration { enum REGISTERED; @@ -146,193 +154,194 @@ module _3gpp-common-managed-function { config false; } } - - grouping Function_Grp { + + grouping Function_Grp { description "A base grouping for 3GPP functions."; leaf userLabel { type string; description "A user-friendly (and user assignable) name of this object."; - } + } } - - grouping ManagedFunctionGrp { - description "Abstract root class to be inherited/reused by classes - representing 3GPP functions. - - Anywhere this grouping is used by classes inheriting from ManagedFunction - the list representing the inheriting class needs to include all - contained classes of ManagedFunction too. Contained classes are - either - - augmented into the Function class or - - shall be included in the list representing the inheriting class - using the grouping ManagedFunctionContainedClasses: - 1) EP_RP solved using augment - 2) uses mf3gpp:ManagedFunctionContainedClasses; - "; + grouping VnfParametersGrp { + description "This <> represents the parameter set of the VNF + instance(s) corresponding to an NE."; - uses Function_Grp; - - list vnfParametersList { - key vnfInstanceId; - description "Contains the parameter set of the VNF - instance(s) corresponding to an NE. - The presence of this list indicates that the ManagedFunction - represented is realized by one or more VNF instance(s). Otherwise it - shall be absent. - The presence of a vnfParametersList entry, whose vnfInstanceId with a - string length of zero, in createMO operation can trigger the - instantiation of the related VNF/VNFC instances."; - - leaf vnfInstanceId { - type string ; - description "VNF instance identifier"; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV); Management and Orchestration; - Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.2 - - ETSI GS NFV-IFA 015 v2.1.2: Network Functions Virtualisation (NFV); - Management and Orchestration; Report on NFV Information Model - section B2.4.2.1.2.3"; - } - - leaf vnfdId { - type string ; - description "Identifier of the VNFD on which the VNF instance is based. - The absence of the leaf or a string length of zero for vnfInstanceId - means the VNF instance(s) does not exist (e.g. has not been - instantiated yet, has already been terminated)."; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV); Management and Orchestration; - Ve-Vnfm reference point - Interface and Information Model Specification - section 9.4.2"; - } - - leaf flavourId { - type string ; - description "Identifier of the VNF Deployment Flavour applied to this - VNF instance."; - reference "ETSI GS NFV-IFA 008 v2.1.1: - Network Functions Virtualisation (NFV) Management and Orchestration"; - } + leaf vnfInstanceId { + type string ; + description "VNF instance identifier"; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV); Management and Orchestration; + Ve-Vnfm reference point - Interface and Information Model Specification + section 9.4.2 - leaf autoScalable { - type boolean ; - mandatory true; - description "Indicator of whether the auto-scaling of this - VNF instance is enabled or disabled."; - } + ETSI GS NFV-IFA 015 v2.1.2: Network Functions Virtualisation (NFV); + Management and Orchestration; Report on NFV Information Model + section B2.4.2.1.2.3"; } - - list peeParametersList { - key idx; - description "Contains the parameter set for the control - and monitoring of power, energy and environmental parameters of - ManagedFunction instance(s)."; - leaf idx { type uint32; } + leaf vnfdId { + type string ; + description "Identifier of the VNFD on which the VNF instance is based. + The absence of the leaf or a string length of zero for vnfInstanceId + means the VNF instance(s) does not exist (e.g. has not been + instantiated yet, has already been terminated)."; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV); Management and Orchestration; + Ve-Vnfm reference point - Interface and Information Model Specification + section 9.4.2"; + } - leaf siteIdentification { - type string; - mandatory true; - description "The identification of the site where the - ManagedFunction resides."; - } - - leaf siteLatitude { - type decimal64 { - fraction-digits 4; - range "-90.0000..+90.0000"; - } - description "The latitude of the site where the ManagedFunction - instance resides, based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to - the northern hemisphere. This attribute is optional - for BTSFunction, RNCFunction, GNBDUFunction and - NRSectorCarrier instance(s)."; - } - - leaf siteLongitude { - type decimal64 { - fraction-digits 4; - range "-180.0000..+180.0000"; - } - description "The longitude of the site where the ManagedFunction - instance resides, based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to - degrees east of 0 degrees longitude. This attribute is optional - for BTSFunction, RNCFunction, GNBDUFunction and - NRSectorCarrier - instance(s)."; - } + leaf flavourId { + type string ; + description "Identifier of the VNF Deployment Flavour applied to this + VNF instance."; + reference "ETSI GS NFV-IFA 008 v2.1.1: + Network Functions Virtualisation (NFV) Management and Orchestration"; + } - leaf siteAltitude { - type decimal64 { - fraction-digits 4; - } - description "The altitude of the site where the ManagedFunction - instance resides, in the unit of meter. This attribute is - optional for BTSFunction, RNCFunction, GNBDUFunction and - NRSectorCarrier instance(s)."; - } + leaf autoScalable { + type boolean ; + description "Indicator of whether the auto-scaling of this + VNF instance is enabled or disabled."; + } + } - - leaf siteDescription { - type string; - mandatory true; - description "An operator defined description of the site where - the ManagedFunction instance resides."; + grouping PeeParametersGrp { + description "This <> represents the parameter list for the + control and monitoring of power, energy and environmental parameters + of ManagedFunction instance(s)."; + leaf idx { type uint32; } + leaf siteIdentification { + type string; + mandatory true; + description "The identification of the site where the + ManagedFunction resides."; + } + + leaf siteLatitude { + type decimal64 { + fraction-digits 4; + range "-90.0000..+90.0000"; } - - leaf equipmentType { - type string; - mandatory true; - description "The type of equipment where the managedFunction - instance resides."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; + description "The latitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + the northern hemisphere. This attribute is optional + for BTSFunction, RNCFunction, GNBDUFunction and + NRSectorCarrier instance(s)."; + } + + leaf siteLongitude { + type decimal64 { + fraction-digits 4; + range "-180.0000..+180.0000"; } - - leaf environmentType { - type string; - mandatory true; - description "The type of environment where the managedFunction - instance resides."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; + description "The longitude of the site where the ManagedFunction + instance resides, based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to + degrees east of 0 degrees longitude. This attribute is optional + for BTSFunction, RNCFunction, GNBDUFunction and + NRSectorCarrier + instance(s)."; + } + + leaf siteAltitude { + type decimal64 { + fraction-digits 4; } - - leaf powerInterface { - type string; - mandatory true; - description "The type of power."; - reference "clause 4.4.1 of ETSI ES 202 336-12"; - } + description "The altitude of the site where the ManagedFunction + instance resides, in the unit of meter. This attribute is + optional for BTSFunction, RNCFunction, GNBDUFunction and + NRSectorCarrier instance(s)."; } - - leaf priorityLabel { + + leaf siteDescription { + type string; mandatory true; + description "An operator defined description of the site where + the ManagedFunction instance resides."; + } + + leaf equipmentType { + type string; + mandatory true; + description "The type of equipment where the managedFunction + instance resides."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + + leaf environmentType { + type string; + mandatory true; + description "The type of environment where the managedFunction + instance resides."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + + leaf powerInterface { + type string; + mandatory true; + description "The type of power."; + reference "clause 4.4.1 of ETSI ES 202 336-12"; + } + } + + grouping ManagedFunctionGrp { + description "Abstract root class to be inherited/reused by classes + representing 3GPP functions. + + Anywhere this grouping is used by classes inheriting from ManagedFunction + the list representing the inheriting class needs to include all + contained classes of ManagedFunction too. Contained classes are + either + - augmented into the Function class or + - shall be included in the list representing the inheriting class + using the grouping ManagedFunctionContainedClasses: + 1) EP_RP solved using augment + 2) uses mf3gpp:ManagedFunctionContainedClasses; + "; + + uses Function_Grp; + list vnfParametersList { + key "vnfInstanceId"; + uses VnfParametersGrp; + description "This attribute contains the parameter set of the VNF + instance(s) corresponding to an NE. The presence of this attribute + indicates that the ManagedFunction represented by the MOI is a + virtualized function "; + } + list peeParameterslist{ + key "idx"; + uses PeeParametersGrp; + description "This attribute contains the parameter list for the control + and monitoring of power, energy and environmental parameters of + ManagedFunction instance(s). "; + } + + leaf priorityLabel { type uint32; } uses meas3gpp:SupportedPerfMetricGroupGrp; - + leaf-list supportedTraceMetrics { type string; config false; - description "List of trace metrics. When this attribute is contained in - a managed object it defines the trace metrics supported for this + description "List of trace metrics. When this attribute is contained in + a managed object it defines the trace metrics supported for this object and all descendant objects. - Trace metrics include trace messages, MDT measurements - (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, - see TS 32.422. Trace metrics are identified with their metric - identifier. The metric identifier is constructed as defined + Trace metrics include trace messages, MDT measurements + (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF reports, + see TS 32.422. Trace metrics are identified with their metric + identifier. The metric identifier is constructed as defined in clause 10 of TS 32.422."; - } + } } grouping ManagedFunctionContainedClasses { - description "A grouping used to containe classes (lists) contained by + description "A grouping used to containe classes (lists) contained by the abstract IOC ManagedFunction"; list ManagedNFService { description "Represents a Network Function (NF)"; @@ -343,13 +352,17 @@ module _3gpp-common-managed-function { uses ManagedNFServiceGrp; } } - + uses meas3gpp:MeasurementSubtree { if-feature MeasurementsUnderManagedFunction ; - } - + } + uses trace3gpp:TraceSubtree { if-feature TraceUnderManagedFunction ; } + + uses stm3gpp:StmCtrlSubTree { + if-feature StmCtrlUnderManagedFunction ; + } } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-managementdatacollection.yang b/yang-models/_3gpp-common-managementdatacollection.yang index 2a6ffea33c3fdca5069f640602c60f8443bc7bb7..5aa4a80ede65c55fb2f931a19b8a614189c75be2 100644 --- a/yang-models/_3gpp-common-managementdatacollection.yang +++ b/yang-models/_3gpp-common-managementdatacollection.yang @@ -10,9 +10,9 @@ module _3gpp-common-managementdatacollection { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - + description "Handling management data collection - Copyright 2024, 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.623 Generic Network Resource Model (NRM) @@ -24,21 +24,99 @@ module _3gpp-common-managementdatacollection { Integration Reference Point (IRP); Information Service (IS)"; - revision 2024-04-12 { reference CR-0346; } + revision 2025-07-19 { reference CR-0551; } + revision 2025-02-07 { reference "CR-0461 CR-0505"; } + revision 2024-04-12 { reference CR-0346; } revision 2023-11-18 { reference CR-0299 ; } revision 2023-11-06 { reference "CR-0305"; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-11-04 { reference "CR-0194"; } - + + grouping ManagementDataGrp { + description "This <> defines the management data which is + requested. It is a choice between + - a list of data categories (attribute mgtDataCategory) This may include + 'COVERAGE', 'CAPACITY', 'MOBILITY', 'ENERGY_EFFICIENCY', 'ACCESSIBILITY' + etc. The mapping of exact measurement with the requested category will be + done at the producer and is implementation specific. + - a list of management data identified with their name (attribute + 'mgtDataName'). The management data name presents a specific single + measurement (e.g. by selecting 'RRU.PrbTotDl', see TS 28.552 or + 'immediateMdt.nr.m1', see TS 32.422) or a set of measurements (e.g. + measurement families such as RRU (radio resource utilization) or + MM (mobility management) in case of PM, see TS 28.552 [20], or group of + measurements such as 'immediateMdt.nr' in case of MDT, see TS 32.422)."; + choice managementData { + case mgtDataCategory { + leaf-list category { + type mgtDataCategoryType; + min-elements 1; + max-elements 5; // The ENUM contains 5 possible values + description "This attributes defines the type of management data that + are requested. + + Allowed values for data category are COVERAGE, CAPACITY, + ENERGY_EFFICIENCY, MOBILITY, ACCESSIBILITY. The data categories + will map to certain measurement families defined in TS 28.552, see + below. In addition to the below mappings, MnS producer may map the + provided categories to any additional proprietary management data, + as appropriate. + + - The COVERAGE category will map to measurement families of MR + (measurements related to Measurement Report) and L1M (measurements + related to Layer 1 Measurement). + + - The CAPACITY category will map to measurement family RRU + (measurements related to Radio Resource Utilization). + + - The ENERGY_EFFICIENCY category will map to measurement family PEE + (measurements related to Power, Energy and Environment). + + - The MOBILITY category will map to measurement family MM + (measurements related to Mobility Management). + + - The ACCESSIBILITY category will map to measurement family CE + (measurements related to Connection Establishment)."; + } + } + case mgtDataName { + leaf-list name { + type string; + min-elements 1; + description "List of management data identified by name. + + The list may include metrics or set of metrics defined + in TS 28.552, TS 28.554 and TS 32.422. + + The metrics are identified with their names/identifiers. + For performance measurements defined in TS 28.552 the name is + constructed as the bullet e) of the measurement definition. + + For KPIs defined in TS 28.554 the name is defined according to the + KPI definitions template as the component designated with a). + + For trace metrics (including trace messages, MDT measurements + (Immediate MDT, Logged MDT, Logged MBSFN MDT), RRC, RLF and RCEF + reports) defined in TS 32.422, the name (metric identifier) is + defined in clause 10 of TS 32.422. + + For non-3GPP specified managment data the name is defined + elsewhere."; + } + } + mandatory true; + } + } + grouping GeoAreaToCellMappingGrp { - description "Represents the GeoAreaToCellMapping data type. - - The mapping of the geographical area to cells is performed at + description "Represents the GeoAreaToCellMapping data type. + + The mapping of the geographical area to cells is performed at instantiation of the IOC."; - + list geoArea { - description "It specifies the geographical area using the cordinates of + description "It specifies the geographical area using the cordinates of the corners of a convex polygon."; key idx; max-elements 1; @@ -47,48 +125,48 @@ module _3gpp-common-managementdatacollection { } uses types3gpp:GeoAreaGrp; } - + leaf associationThreshold { type uint8 { range 1..100; } yext3gpp:inVariant; - description "It specifies the threshold of coverage area in + description "It specifies the threshold of coverage area in percentage whether a cell belongs to the geographical area or not. - If this attribute is absent, the location of the base station - antenna determines whether a cell belongs to the geographical + If this attribute is absent, the location of the base station + antenna determines whether a cell belongs to the geographical area or not."; } } grouping AreaOfInterestGrp { - description "It specifies a location(s) from where the management data - shall be collected."; - + description "It specifies a location(s) from where the management data + shall be collected."; + list geoAreaToCellMapping { - description "Contains a geographical area and an association threshold. - The geo-area is defined as a convex polygon using the attribute + description "Contains a geographical area and an association threshold. + The geo-area is defined as a convex polygon using the attribute 'geoArea'. - The MnS producer shall map the geographical area to cells. There are - two evaluation criteria whether a cell belongs to a geographical area - or not. If attribute 'associationThreshold' is absent, the location - of the base station antenna determines the belonging. If attribute - 'associationThreshold' is configured, the coverage area is considered. - The attribute 'associationThreshold' determines the lower boundary of - the coverage ratio. For example, if the 'associationThreshold' is - configured to 60%, a cell shall be considered as included in the - geographical area if at least 60% of the coverage area of that - cell overlaps with the specified geographical area. - - The mapping of the geographical area to cells is performed at + The MnS producer shall map the geographical area to cells. There are + two evaluation criteria whether a cell belongs to a geographical area + or not. If attribute 'associationThreshold' is absent, the location + of the base station antenna determines the belonging. If attribute + 'associationThreshold' is configured, the coverage area is considered. + The attribute 'associationThreshold' determines the lower boundary of + the coverage ratio. For example, if the 'associationThreshold' is + configured to 60%, a cell shall be considered as included in the + geographical area if at least 60% of the coverage area of that + cell overlaps with the specified geographical area. + + The mapping of the geographical area to cells is performed at instantiation of the IOC."; key idx; leaf idx { type string; } uses GeoAreaToCellMappingGrp; } - + list taiList { description "Tracking Area Identity list"; key idx; @@ -97,17 +175,17 @@ module _3gpp-common-managementdatacollection { leaf idx { type string; } uses types3gpp:TaiGrp; } - + leaf-list nrCellIdList { type string; description "List of NR cells identified by NG-RAN CGI"; } - + leaf-list eutraCellIdList { type string; description "List of E-UTRAN cells identified by E-UTRAN-CGI"; } - + leaf-list utraCellIdList { type string; description "List of UTRAN cells identified by UTRAN CGI"; @@ -121,7 +199,7 @@ module _3gpp-common-managementdatacollection { leaf idx { type string; } - uses AreaOfInterestGrp; + uses AreaOfInterestGrp; description "It specifies a location(s) from where the management data shall be collected. It is defined in terms of TAI(s)."; } @@ -154,6 +232,13 @@ module _3gpp-common-managementdatacollection { subnet should be targeted. Please refer to 3GPP TS 23.501: 'System Architecture for the 5G System'"; } + + leaf-list objectInstances { + type types3gpp:DistinguishedName; + yext3gpp:inVariant; + description "List of managed object instances. Each object instance is + identified by its DN."; + } } typedef mgtDataCategoryType { @@ -169,70 +254,9 @@ module _3gpp-common-managementdatacollection { grouping ManagementDataCollectionGrp { - choice managementData { - case mgtDataCategory { - leaf-list category { - type mgtDataCategoryType; - min-elements 1; - max-elements 5; // The ENUM contains 5 possible values - description "This attributes defines the type of management data that - are requested. - - Allowed values for data category are COVERAGE, CAPACITY, - ENERGY_EFFICIENCY, MOBILITY, ACCESSIBILITY. The data categories - will map to certain measurement families defined in TS 28.552, see - below. In addition to the below mappings, MnS producer may map the - provided categories to any additional proprietary management data, - as appropriate. - - - The COVERAGE category will map to measurement families of MR - (measurements related to Measurement Report) and L1M (measurements - related to Layer 1 Measurement). - - - The CAPACITY category will map to measurement family RRU - (measurements related to Radio Resource Utilization). - - - The ENERGY_EFFICIENCY category will map to measurement family PEE - (measurements related to Power, Energy and Environment). - - - The MOBILITY category will map to measurement family MM - (measurements related to Mobility Management). - - - The ACCESSIBILITY category will map to measurement family CE - (measurements related to Connection Establishment)."; - } - } - case mgtDataName { - leaf-list name { - type string; - min-elements 1; - description "List of management data identified by name. - - The list may include metrics or set of metrics defined - in TS 28.552, TS 28.554 and TS 32.422. - - The metrics are identified with their names/identifiers. - For performance measurements defined in TS 28.552 the name is - constructed as follows: - - 'family.measurementName.subcounter' for measurement types with - subcounters - - 'family.measurementName' for measurement types without - subcounters - - 'family' for measurement families - - For KPIs defined in TS 28.554 the name is defined according to the - KPI definitions template as the component designated with a). - - For trace metrics (including trace messages, MDT measurements - (Immediate MDT, Logged MDT, Logged MBSFN MDT), RLF and RCEF - reports) defined in TS 32.422, the name (metric identifier) is - defined in clause 10 of TS 32.422. - - For non-3GPP specified managment data the name is defined - elsewhere."; - } - } - mandatory true; + uses ManagementDataGrp { + description "This attribute defines the list of management data that are + requested."; } list targetNodeFilter { @@ -275,6 +299,48 @@ module _3gpp-common-managementdatacollection { description "It specifies whether the required data is reported per S-NSSAI or per 5QI."; } + + leaf condition { + type string; + mandatory true; + yext3gpp:inVariant; + description "Logical expression of one or several condition(s). + + The actual syntax and capabilities of condition is SS specific. However, + each SS should support condition consisting of one or several assertions + that may be grouped using the logical operators AND, OR and NOT. Only if + the whole expression of condition evaluates TRUE, the attribute + conditionStatus will be TRUE. + + Each assertion is a pointer to a Boolean parameter or a logical + expression of attribute existence or attribute value comparison + ('equal to X, less than Y' etc.). + + An empty string is not allowed."; + } + + list processMonitor { + config false; + min-elements 1; + max-elements 1; + key idx; + leaf idx { type string; } + description "Indicates the process of the ManagementDataCollection MOI."; + } + + leaf consolidateOutput { + type boolean; + mandatory true; + yext3gpp:inVariant; + description "Indicates whether the management data collection output will + be consolidated into a single file per reporting period."; + } + + leaf jobId { + type string; + yext3gpp:inVariant; + description "Identifier of a PerfMetricJob, a TraceJob or a QMCJob."; + } } augment /subnet3gpp:SubNetwork { @@ -286,15 +352,18 @@ module _3gpp-common-managementdatacollection { uses ManagementDataCollectionGrp; } description "This IOC represents a management data collection request - job. The requested data could be of kind Trace, MDT (Minimization + job. The requested data is of kind Trace, MDT (Minimization of Drive Test), RLF (Radio Link Failure) report, RCEF (RRC Connection - Establishment Failure) report, PM (performance measurements), KPI + Establishment Failure) report, RRC report, + PM (performance measurements), KPI (end-to-end key performance indicators) or a combination of these. - The attribute 'managementData' defines the management data which shall + The attribute managementData defines the management data which shall be reported. This may either include a list of data categories or a list of management data identified with their name. For further details - see TS 28.622 clause 4.3.50. The 'targetNodeFilter' attribute can be + see TS 28.622 clause 4.3.50. + + The targetNodeFilter attribute can be used to target object instance(s) producing the required management data. It is assumed that the consumer may not have detailed knowledge of the network and hence may not identify the exact object instance @@ -305,27 +374,82 @@ module _3gpp-common-managementdatacollection { function. To activate the production of the requested data, a MnS consumer has to - create a 'ManagementDataCollection' object instance on the MnS producer. - - The MnS producer will derive multiple jobs ('PerfMetricJob', - 'TraceJob') from a single 'ManagementDataCollection' job for collecting - the required management data. Once it receives the measurement from - multiple sources, it consolidates the data into a set of management data - for reporting. - - The attribute 'collectionTimeWindow' specifies the time window for which - the management data should be reported. - - The attribute 'reportingCtrl' specifies the method and associated - control parameters for reporting the produced management data to MnS - consumers. Three methods are available: file-based reporting with - selection of the file location by the MnS producer, file-based - reporting with selection of the file location by the MnS consumer and - stream-based reporting. - - The attribute 'dataScope' configures, whether the management data - should be reported per S-NSSAI or per 5QI, if applicable."; + create a ManagementDataCollection object instance on the MnS producer. + + The attribute jobId is used to identify a management data collection + request. + + The production and reporting of the management data can be constrained + by conditions such that only when the conditions are satisfied shall + management data collection be enabled. For example, a MnS consumer can + request to create two ManagementDataCollection instances. One can be + configured with high data producing and reporting period on a set of + conditions (e.g, to reduce transmission cost when network performance + metric is in normal range). Another can be configured with low data + producing and reporting period on another set of conditions (e.g. to + enable network optimization when network performance metric is in + abnormal range). + + The MnS producer may derive multiple jobs (PerfMetricJob, TraceJob) + from a single ManagementDataCollection job for collecting the required + management data. The jobId of the request is used to identify the + output. The value is also used to correlate the derived jobs which + will have the same jobId value as the ManagementDataCollection. + + If the MnS producer receives the collected data from multiple sources, + it will consolidate the data into a set of management data for + reporting based on the value of the attribute consolidateOutput. + + For consolidation of file-based management data the attribute + consolidateOutput controls: + - True: the MnS Producer will combine the file output from jobs used + to collect the required management data into a single output file as + follows: + - File is in compressed format, i.e. zip. + - File shall contain individual output files from each configured job + - Each file retains its original filename + - Each file retains it original content + - Consolidated filename uses naming convention defined in, + TS 28.532 clause 11.3.2.1.4 with the following: + - is a combination of the management data types included in + the consolidated output + - is omitted + - False: the MnS Producer will not combine the output from jobs used to collect the required management data. The MnS Consumer will receive separate output from the derived jobs. + + Subject to the reporting method, the MnS Consumer may receive file + related notifications. When consolidated output is selected the + MnS Producer will create file notifications for the consolidated files. + When consolidated output is not selected, the MnS Producer will create + the notification subscriptions on behalf of the MnS Consumer and the + MnS Consumer will receive notifications directly from the derived jobs. + + The attribute collectionTimeWindow specifies the time window for which + the management data should be reported. The attributes startTime and + the endTime can be in the past, present or in the future. + + The attribute reportingCtrl specifies the method and associated control + parameters for reporting the produced management data to MnS consumers. + Three methods are available: file-based reporting with selection of the + file location by the MnS producer, file-based reporting with selection + of the file location by the MnS consumer and stream-based reporting. + + The attribute dataScope configures, whether the management data should + be reported per S-NSSAI or per 5QI or per PLMN, if applicable. + + The attribute processMonitor allows the MnS consumer to monitor the + status of the management data collection represented by the object + ManagementDataCollection. + + The MnS producer indicates in the attribute progressStateInfo the + state of the management data collection: + - NOT_STARTED + - RUNNING + - CANCELING + and indicates in the attribute resultStateInfo: + - FINISHED + - FAILED + - PARTIALLY_FAILED + - CANCELLED"; } } - } diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index e2cf97b8a3e946cdd07ac0bab2727e1d71104a5c..400c300144cacfdab53b33e1331c1e809f0b8ab9 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -7,7 +7,7 @@ module _3gpp-common-measurements { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-files { prefix files3gpp; } - + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; @@ -43,8 +43,8 @@ module _3gpp-common-measurements { Measurements can be contained under ManagedElement, SubNetwork, or any list representing a class inheriting from Subnetwork or - ManagedFunction. Note: KPIs will only be supported under SubNetwork - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + ManagedFunction. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -56,10 +56,15 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-08-01 { reference CR-0551; } + revision 2025-05-19 { reference CR-0532; } + revision 2025-02-07 { reference CR-0461; } + revision 2025-01-29 { reference CR-0512; } + revision 2024-11-01 { reference CR-0488; } revision 2024-05-06 { reference CR-0359; } - revision 2024-02-24 { reference CR-0346; } + revision 2024-02-24 { reference CR-0346; } revision 2023-11-18 { reference "CR-0299 CR-0305"; } - revision 2023-09-18 { reference CR-0271; } + revision 2023-09-18 { reference CR-0271; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-18 { reference "CR-0240"; } revision 2023-02-14 { reference "CR-0234"; } @@ -87,30 +92,18 @@ module _3gpp-common-measurements { type string; min-elements 1; description "List of performance metrics. - Performance metrics include measurements defined in TS 28.552 and KPIs - defined in TS 28.554 [28]. Performance metrics can also be specified - by other SDOs, or be vendor specific. Performance metrics are + Performance metrics include measurements defined in TS 28.552 and KPIs + defined in TS 28.554 [28]. Performance metrics can also be specified + by other SDOs, or be vendor specific. Performance metrics are identified with their names. - For measurements defined in TS 28.552 the name is constructed as follows: - - 'family.measurementName.subcounter' for measurement types with - subcounters - - 'family.measurementName' for measurement types without subcounters - `- 'family' for measurement families - For KPIs defined in TS 28.554 [28] the name is defined in the KPI - definitions template as the component designated with e). + For measurements defined in TS 28.552 the name is constructed as the + bullet e) of the measurement definition. - A name can also identify a vendor specific performance metric or a + A name can also identify a vendor specific performance metric or a group of vendor specific performance metrics."; } - leaf thresholdLevel { - type uint64; - mandatory true; - description "Number (key) for a single threshold in the threshold list - applicable to the monitored performance metric."; - } - leaf thresholdDirection { type enumeration { enum UP; @@ -164,7 +157,7 @@ module _3gpp-common-measurements { range "0..max"; } } - must '. >= 0'; + must '. >= 0'; description "Hysteresis of a threshold. If this attribute is present the monitored performance metric is not compared against the threshold value as specified by the thresholdValue attribute but @@ -187,6 +180,7 @@ module _3gpp-common-measurements { grouping SupportedPerfMetricGroupGrp { list SupportedPerfMetricGroups { config false; + key idx; description "Captures a group of supported performance metrics and associated parameters related to their production and reporting. A SupportedPerfMetricGroup attribute which is part of an MOI may @@ -195,6 +189,8 @@ module _3gpp-common-measurements { can specify supported metrics for contained ManagedFunctions like a GNBDUFunction."; + leaf idx { type uint32; } + leaf-list performanceMetrics { type string; min-elements 1; @@ -204,11 +200,7 @@ module _3gpp-common-measurements { Measurements are identified by name. For measurements defined in TS 28.552 the name is constructed as - follows: - - 'family.measurementName.subcounter' for measurement types with - subcounters - - 'family.measurementName' for measurement types without subcounters - - 'family' for measurement families + the bullet e) of the measurement definition. For KPIs defined in TS 28.554 the name is defined in the KPI definitions template as the component designated with e). @@ -222,7 +214,7 @@ module _3gpp-common-measurements { range 1..max ; } units seconds; - description "Granularity periods supported for the associated + description "Granularity periods supported for the associated measurement types. The period is defined in seconds."; } @@ -240,14 +232,14 @@ module _3gpp-common-measurements { range 1..max ; } units seconds; - description "Reporting periods supported for the associated + description "Reporting periods supported for the associated measurement types. The period is defined in seconds."; } } } grouping PerfMetricJobGrp { - description "Represents the attributtes of the IOC PerfMetricJob"; + description "Represents the attributes of the IOC PerfMetricJob"; leaf administrativeState { default UNLOCKED; @@ -278,11 +270,7 @@ module _3gpp-common-measurements { identify a vendor specific group of performance metrics. For measurements defined in TS 28.552 the name is constructed as - follows: - - 'family.measurementName.subcounter' for measurement types with - subcounters - - 'family.measurementName' for measurement types without subcounters - - 'family' for measurement families + the bullet e) of the measurement definition. For KPIs defined in TS 28.554 the name is defined in the KPI definitions template as the component designated with e)."; @@ -316,12 +304,12 @@ module _3gpp-common-measurements { } } } - + leaf _linkToFiles { type string ; config false; mandatory true; - yext3gpp:notNotifyable ; + yext3gpp:notNotifyable ; description "Link to a 'Files' object."; yext3gpp:inVariant; } @@ -502,7 +490,7 @@ module _3gpp-common-measurements { A threshold monitor checks for threshold crossings of performance metric values and generates a notification when that happens. - The ThresholdMonitor shall be used only when NRM based threshold + The ThresholdMonitor shall be used only when NRM based threshold monitoring is supported. To activate threshold monitoring, a MnS consumer needs to create a @@ -536,7 +524,7 @@ module _3gpp-common-measurements { Multiple thresholds can be defined for multiple performance metric sets in a single monitor using thresholdInfoList. The attribute monitorGranularityPeriod defines the granularity period to be applied. - The value is a supported GP for the measurements being monitored. + The value is a supported GP for the measurements being monitored. Threshold crossing behaviour is as defined in [54], Annex F. Each threshold is identified with a number (key) called thresholdLevel. diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang new file mode 100644 index 0000000000000000000000000000000000000000..9f5dceae0e9f9ab55c5e25be1db003ab5ce1d1ef --- /dev/null +++ b/yang-models/_3gpp-common-mecontext.yang @@ -0,0 +1,86 @@ +module _3gpp-common-mecontext { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-mecontext"; + prefix "mectx3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import ietf-yang-schema-mount { prefix yangmnt; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Defines basic MeContext which will be augmented by other IOCs + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.623 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Solution Set (SS) definitions + + 3GPP TS 28.622 + Generic Network Resource Model (NRM) + Integration Reference Point (IRP); + Information Service (IS)"; + + revision 2025-03-25 { reference "CR-00525"; } + revision 2025-03-24 { reference "CR-0517 CR-0516"; } + revision 2024-07-17 { reference "CR-0381 CR-0382 CR-0383"; } + + grouping MeContextGrp { + description "Represents the MeContext IOC."; + + leaf dnPrefix { + type types3gpp:DistinguishedName; + yext3gpp:inVariant; + description "It carries the DN Prefix information or no information. + The instance of MeContext is the local root instance of the MIB. + Otherwise the attribute shall be absent or carry no information."; + reference "Annex C of 32.300 "; + } + } + + augment "/subnet3gpp:SubNetwork" { + list MeContext { + description "This IOC is introduced for naming purposes. It may support + creation of unique DNs in scenarios when some MEs have the same RDNs due + to the fact that they have been manufacturer pre-configured. + + If some MEs have the same RDNs (for the above mentioned reason) and they + are contained in the same SubNetwork instance, some measure shall be + taken in order to assure the global uniqueness of DNs for all IOC + instances under those MEs. One way could be to set different dnPrefix + for those NEs, but that would require either that: + + a) all LDNs or DNs are locally modified using the new dnPrefix for the + upper portion of the DNs, or + b) a mapping (translation) of the old LDNs or DNs to the new DNs every + time they are used externally, e.g. in alarm notifications. + + As both the two alternatives above may involve unacceptable drawbacks + (as the old RDNs for the MEs then would have to be changed or mapped to + new values), using MeContext offers a new alternative to resolve the DN + creation. Using MeContext as part of the naming tree (and thus the DN) + means that the dnPrefix, including a unique MeContext for each ME, may + be directly concatenated with the LDNs, without any need to change or + map the existing ME RDNs to new values. + + MeContext have 0..N instances. It may exist even if no SubNetwork exists. + Every instance of MeContext contains exactly one ManagedElement during + steady-state operations."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MeContextGrp; + } + + yangmnt:mount-point children-of-MeContext { + description "Mountpoint for ManagedElement"; + reference "RFC8528 YANG Schema Mount"; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-common-mnsregistry.yang b/yang-models/_3gpp-common-mnsregistry.yang index 4e9ae225e18d06b4e98e01c529e8ac90175deab5..29bd57ebbc6ea8094b15708c45b16c054a4e999a 100755 --- a/yang-models/_3gpp-common-mnsregistry.yang +++ b/yang-models/_3gpp-common-mnsregistry.yang @@ -6,23 +6,155 @@ module _3gpp-common-mnsregistry { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp; } + import _3gpp-common-managementdatacollection { prefix mgtdatcol3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the MNSRegistry Information Object - Class (IOC) that is part of the Generic Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + description "Defines the YANG mapping of the MNSRegistry IOC and its + contained classes that ares part of the Generic Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; + revision 2025-07-19 { reference CR-0551; } revision 2023-09-30 { reference CR-0278; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-05-10 { reference CR-0243; } revision 2023-02-14 { reference CR-0234; } revision 2021-11-23 { reference "S5-216090"; } revision 2021-10-18 { reference "S5-215263"; } revision 2021-08-29 { reference "Initial revision, S5-214388"; } - + + grouping MgmtDataInfoGrp { + description "Represents the MgmtDataInfo IOC."; + + uses mgtdatcol3gpp:ManagementDataGrp { + description "Defines the list of management data that can be supported. + + The management data is a choice between: + - a list of data categories (attribute mgtDataCategory) + - a list of management data identified with their name + (attribute 'mgtDataName')."; + } + + leaf-list supportedGranularityPeriods { + type int32; + units seconds; + description "Granularity periods supported for the production of + associated management data. The period is defined in seconds."; + } + + leaf-list supportedReportingPeriods { + type uint32; + units seconds; + description "Reporting periods supported for the associated management + data. The period is defined in seconds."; + } + + leaf historicalDataPeriod { + type uint64; + units seconds; + description "This attribute describes the maximum period of the requested + historical data. The period is defined in seconds. + When the value of this attribute is NULL, which means the capability of + querying historical data is not supported."; + } + + leaf-list supportedReportingMethod { + type enumeration { + enum FILE; + enum STREAM; + } + min-elements 1; + description "List of supported reporting methods for the associated + management data."; + } + + leaf-list supportedDataScope { + type enumeration { + enum SNSSAI; + enum 5QI; + enum PLMN; + } + min-elements 1; + description "List of supported sub counter capabilities for the associated + management data"; + } + + leaf-list supportedDataRequestMnSRef { + type types3gpp:DistinguishedName; + min-elements 1; + description "List of DN of MnSInfo for the MnS instance(s) which can be + used to request the associated management data"; + } + + leaf-list supportedDataReportingMnSRef { + type types3gpp:DistinguishedName; + min-elements 1; + description "List of DN of MnSInfo for the MnS instance(s) which can be + used to report the associated management data"; + } + } + + grouping MnsScopeGrp { + description "This <> specifies the list of managed object instances + that can be accessed using the Management Service. These managed object + instances can be represented with one of the following options: + + - A list of DNs, i.e. representing managed object instances identified + by the DN. + + - A list of GeoAreas, i.e. representing managed object instances covered + by the specified geographical areas. In the present document, the + geoAreasList is only used for MnS consumer to retrieve MnS + scope of the specified MnS instance. + + - A list of TAIs, i.e. representing managed object instances covered + by the specified TAIs."; + + choice MnsScope { + mandatory true; + leaf-list objectInstanceList { + type types3gpp:DistinguishedName; + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes list of DNs for the managed + object instances that can be accessed using the Management Service. + If a complete SubNetwork can be accessed using the Management Service, + this attribute may contain the DN of the SubNetwork instead of the + DNs of the individual managed entities within the SubNetwork. + + If a complete ManagedElement can be accessed using the Management + Service, this attribute may contain the DN of the ManagedElement + instead of the DNs of the individual managed entities within the + ManagedElement."; + } + + list geoAreasList { + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes geographical areas for the + managed object instances that can be accessed using the Management + Service."; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + list taiList { + yext3gpp:inVariant; + yext3gpp:notNotifyable; + description "This attribute describes the list of Tracking Area + Identities (TAI) for the managed object instances that can be accessed + using the Management Service."; + key idx; + leaf idx { type uint32; } + uses types3gpp:TaiGrp; + } + } + } + grouping MnsInfoGrp { description "Represents the MnsInfo IOC."; leaf mnsLabel { @@ -30,7 +162,7 @@ module _3gpp-common-mnsregistry { mandatory true; type string; } - + leaf mnsType { description "Type of management service."; type enumeration { @@ -40,39 +172,88 @@ module _3gpp-common-mnsregistry { enum FileDataReportingMnS; } } - + leaf mnsVersion { description "Version of management service."; type string; - } - + } + leaf mnsAddress { description "Addressing information for Management Service operations."; mandatory true; type string; - } - - leaf-list mnsScope { - description "List of the managed object instances that can be accessed - using the MnS. If a complete SubNetwork can be accessed using the MnS, - this attribute may contain the DN of the SubNetwork instead of the - DNs of the individual managed entities within the SubNetwork. If a - complete ManagedElement can be accessed using the MnS, - this attribute may contain the DN of the ManagedElement instead of the - DNs of the individual managed entities within the ManagedElement."; + } + + leaf-list mnsCapability { + type union { + type enumeration { + enum NR_PROVISIONING; + enum 5GC_PROVISIONING; + enum NETWORK_SLICING_PROVISIONING; + enum EDGE_COMPUTING_PROVISIONING; + enum PERFORMANCE_METRIC_COLLECTION_CONTROL; + enum PERFORMANCE_METRIC_DATA_REPORT; + enum PERFORMANCE_METRIC_THRESHOLD_MONITOR_CONTROL; + enum PERFORMANCE_METRIC_THRESHOLD_NOTIFICATION; + enum FAULT_CONTROL; + enum FAULT_NOTIFICATION; + enum TRACE_MDT_DATA_COLLECTION_CONTROL; + enum TRACE_MDT_DATA_REPORT; + enum QOE_DATA_COLLECTION_CONTROL; + enum QOE_DATA_REPORT; + enum FILE_RETRIEVAL; + enum FILE_DOWNLOAD; + 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 INTENT_DRIVEN_MANAGEMENT; + enum MNS_REGISTRY_AND_DISCOVERY; + enum MNS_ACCESS_CONTROL_MANAGEMENT; + enum DSO_RAPID_RECOVERY_AND_THRESHOLD_MONITORING; + } + type string; + } + description "It describes the types of management capabilities of the + MnS instance provided by the MnS producer. The detailed description for + above enum values see Annex F in TS 28.533. + Note: vendor extension values are allowed for the attribute + 'mnsCapability'"; + } + + list mnsScope { + description "This attribute defines the information about the + management scope of the Management Service. The management scope is + used to represent the set of managed object instances that can be + accessed using the Management Service."; min-elements 1; + key idx; + leaf idx { type uint32; } + uses MnsScopeGrp; + } + + leaf-list mgmtDataInfoRef { type types3gpp:DistinguishedName; + yext3gpp:notNotifyable; + min-elements 1; + description "List of DN of MgmtDataInfo instance(s) which are associated + the MnSInfo which represent a management service instance"; + } } - + grouping MnsRegistryGrp { description "Currently no own attributes defined."; - } - + } + augment "/subnet3gpp:SubNetwork" { list MnsRegistry { - description "This IOC is a container for MnsInfo IOC-s. It can be - contained only by SubNetwork IOC. A SubNetwork IOC can contain + description "This IOC is a container for MnsInfo IOC-s. It can be + contained only by SubNetwork IOC. A SubNetwork IOC can contain only one instance of MnsRegistry. The IOC is instantiated by the system."; key id; @@ -81,15 +262,12 @@ module _3gpp-common-mnsregistry { container attributes { uses MnsRegistryGrp; } - + list MnsInfo { description "This IOC represents an available Management Service (MnS) and provides the data required to support its discovery. It is name-contained by MnsRegistry. - This specification does not specify how 'MnsInfo' objects are - created and maintained. - This information is used by the consumer to discover the producers of specific Management Services and to derive the addresses of the Management Service. @@ -101,9 +279,9 @@ module _3gpp-common-mnsregistry { the Management Service operations. Attribute mnsScope is used to provide information about the - management scope of the Management Service. The management scope is - defined as the set of managed object instances that can be accessed - using the Management Service."; + management scope of the Management Service. The management scope + is used to represent the set of managed object instances that can + be accessed using the Management Service."; key id; uses top3gpp:Top_Grp; @@ -111,6 +289,22 @@ module _3gpp-common-mnsregistry { uses MnsInfoGrp; } } + + list MgmtDataInfo { + description "Describes the management capabilities for a set of + management data, which can be used for management data discovery. + MgmtDataInfo is contained by MnSRegistry and associated to MnSInfo. + + Multiple MgmtDataInfo instances maybe created for different sets of + management data, it is MnS producer’s decision."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MgmtDataInfoGrp; + } + } + } } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-qmcjob.yang b/yang-models/_3gpp-common-qmcjob.yang index bd46a03606da1467dab086579490ab72717290d9..9d58855f52eec7ff62c51f9a7a9dcb3beaac8d00 100644 --- a/yang-models/_3gpp-common-qmcjob.yang +++ b/yang-models/_3gpp-common-qmcjob.yang @@ -15,7 +15,7 @@ module _3gpp-common-qmcjob { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Quality of Experience Measurement Collection Job handling - 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.623 Generic Network Resource Model (NRM) @@ -27,6 +27,9 @@ module _3gpp-common-qmcjob { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-02-06 { reference CR-0508; } + revision 2024-11-05 { reference CR-0480; } + revision 2024-04-04 { reference CR-0334; } revision 2023-09-18 { reference CR-0271 ; } revision 2023-02-14 { reference "CR-0234"; } revision 2022-11-04 { reference "CR-0215"; } @@ -49,12 +52,8 @@ module _3gpp-common-qmcjob { list areaScope { key "idx"; leaf idx { type uint32 ; } - description "It specifies the area where data shall be collected. - List of eNB/list of gNB/eNB/gNB for RLF or RCEF. - List of cells or Tracking Area for QMC. - Cell, TA, LA, RA are mutually exclusive."; - reference "Clause 5.10.2 of 3GPP TS 32.422"; - + description "It defines the area scope of QoE, which is specified + in clause 5.4 of TS 28.405."; uses trace3gpp:AreaScopeGrp; } @@ -140,15 +139,22 @@ module _3gpp-common-qmcjob { leaf-list availableRANqoEMetrics { type enumeration { - enum appLayerBufferLevelList; - enum playoutDelayForMedia; - enum Startup; + enum APP_LAYER_BUFFER_LEVEL_LIST; + enum PLAYOUT_DELAY_FOR_MEDIA_STARTUP; } max-elements 2; description "This parameter indicates available RAN visible QoE metrics to the gNB. This parameter is optional and is valid for NR only."; } + leaf mBSCommunicationServiceType { + type enumeration { + enum BROADCAST; + enum MULTICAST; + } + description "This attribute indicates which type of MBS communication + service the QoE measurement configuration pertains to."; + } } grouping QMCJobSubTree { @@ -173,12 +179,15 @@ module _3gpp-common-qmcjob { producer. For details of Management Based Activation of QoE Measurement Collection see clause 4.5 and for details of Signalling Based Activation of QoE Measurement Collection see clause 4.6 of TS 28.405. - The attributes areaScope and pLMNTarget are only relevant when + The attribute pLMNTarget is only relevant when Management Based Activation is used and the attribute qoETarget is only relevant when Signalling Based Activation is used. All other attributes are common for both Management Based Activation and Signalling Based Activation. + The areaScope attribute defines the area scope of QoE, which is + specified in clause 5.4 of TS 28.405. + When a MnS consumer wishes to deactivate a QMC Job, the MnS consumer shall delete the corresponding QMCJob instance. NOTE: If the reporting is ongoing, when a request to delete a QMCJob @@ -189,43 +198,7 @@ module _3gpp-common-qmcjob { jobId can be used to associate multiple QMCJob instances. For example, it is possible to configure the same jobId value for multiple QMCJob instances required to produce the data (e.g. Streaming services and - MTSI reports) for a specific network analysis. - The QoE Measurement Collection provides capability for collecting QoE - information from: - - UEs which are in the specified area in case of Management Based - Activation or - - an individual UE in case of Signalling Based Activation. - The QoE Measurement Collection enables collection of application layer - from the UE for specified end user service type. The supported service - types are: - - Streaming services, see TS 26.247. - - MTSI services, see TS 26.114. - - VR services, see TS 26.118. - A QMCJob instance represents the job for collecting QoE measurements - according to the job parameters. For details of the QoE measurement - collection configuration parameters see clause 5 of TS 28.405. A QMCJob - instance can be name-contained by SubNetwork or ManagedElement. - A QMC Job is activated by creating a QMCJob object instance in the - MnS producer. For details of Management Based Activation of QoE - Measurement Collection see clause 4.5 and for details of Signalling - Based Activation of QoE Measurement Collection see - clause 4.6 of TS 28.405. The attributes areaScope and pLMNTarget are - only relevant when Management Based Activation is used and the - attribute qoETarget is only relevant when Signalling Based Activation - is used. All other attributes are common for both Management Based - Activation and Signalling Based Activation. - - When a MnS consumer wishes to deactivate a QMC Job, the MnS consumer - shall delete the corresponding QMCJob instance. - NOTE: If the reporting is ongoing, when a request to delete a QMCJob - instance is received, the reporting does not end. The QMCJob instance - is deleted, when the last reporting for the QMC Job expires. - - The jobId attribute presents the job identifier of a QMCJob instance. - The jobId can be used to associate multiple QMCJob instances. - example, it is possible to configure the same jobId value for multiple - QMCJob instances required to produce the data (e.g. Streaming services - and MTSI reports) for a specific network analysis."; + MTSI reports) for a specific network analysis."; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index d6d5f7010369bea58396611428ff5c1ba8e16cca..61af0f512375afd1e8d6530aecda7f733e478258 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -4,6 +4,7 @@ module _3gpp-common-subnetwork { prefix "subnet3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-subscription-control { prefix subscr3gpp; } @@ -13,12 +14,15 @@ module _3gpp-common-subnetwork { import _3gpp-common-files { prefix files3gpp; } import _3gpp-5gc-nrm-configurable5qiset { prefix fiveqi3gpp; } import _3gpp-5gc-nrm-ecmconnectioninfo { prefix econn3gpp ; } + import _3gpp-nr-nrm-ecmappingrule { prefix ecmap3gpp ; } + import _3gpp-stm-nrm-stmfunction { prefix stm3gpp; } + import _3gpp-nr-nrm-mwab { prefix mwab3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines basic SubNetwork which will be augmented by other IOCs - Copyright 2024, 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.623 Generic Network Resource Model (NRM) @@ -33,6 +37,11 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-08-13 { reference CR-0561; } + revision 2025-04-25 { reference "CR-0532 CR0541" ; } + revision 2025-03-25 { reference "CR-0516 CR-0527"; } + revision 2024-11-19 { reference "Add STM"; } + revision 2024-01-30 { reference CR-1337 ; } revision 2024-01-30 { reference CR-0328 ; } revision 2023-11-14 { reference CR-0305 ; } revision 2023-09-18 { reference CR-0271 ; } @@ -43,22 +52,13 @@ module _3gpp-common-subnetwork { revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-06 { reference "CR-0102"; } revision 2020-06-08 { reference "CR-0092"; } - revision 2020-05-08 { - reference "S5-203316"; - } - - - revision 2020-03-11 { - description "Added KPIs and corrections"; - reference "S5-201365, S5-201581, SP-200229"; - } - - revision 2020-02-24 { - reference "S5-201365"; - } + revision 2020-05-08 { reference "S5-203316"; } + revision 2020-03-11 { reference "S5-201365, S5-201581, SP-200229"; } + revision 2020-02-24 { reference "S5-201365"; } + revision 2019-06-17 { reference "Initial revision"; } - revision 2019-06-17 { - reference "Initial revision"; + feature ECMappingRuleUnderSubNetwork { + description "ECMappingRule shall be contained under SubNetwork."; } feature EcmConnectionInfoUnderSubNetwork { @@ -95,6 +95,10 @@ module _3gpp-common-subnetwork { SubNetwork"; } + feature NotificationListUnderSubNetwork { + description "The NotificationList shall be contained under SubNetwork"; + } + feature FmUnderSubNetwork { description "The FmSubtree shall be contained under SubNetwork"; } @@ -136,6 +140,14 @@ module _3gpp-common-subnetwork { feature. The CESManagementFunction shall be contained under SubNetwork."; } + feature StmCtrlUnderManagedSubNetwork { + description "The StmCtrlSubtree shall be contained under SubNetwork"; + } + + feature MWABUnderSubNetwork { + description "The MWAB shall be contained under SubNetwork"; + } + grouping Domain_Grp { description "A domain is a partition of instances of managed entities such that : @@ -146,6 +158,7 @@ module _3gpp-common-subnetwork { leaf dnPrefix { type types3gpp:DistinguishedName; + yext3gpp:inVariant; reference "Annex C of 32.300 "; } @@ -202,34 +215,13 @@ module _3gpp-common-subnetwork { list SubNetwork { key id; - description "Represents a set of managed entities"; + description "Represents a set of managed entities + Contained ManagedElements and SubNetworks shall be connected via + YANG Schema-mount."; uses top3gpp:Top_Grp; container attributes { uses SubNetworkGrp; - leaf-list parents { - description "Reference to all containg SubNetwork instances - in strict order from the root subnetwork down to the immediate - parent subnetwork. - If subnetworks form a containment hierarchy this is - modeled using references between the child SubNetwork and the parent - SubNetworks. - This reference MUST NOT be present for the top level SubNetwork and - MUST be present for other SubNetworks."; - type leafref { - path "../../../SubNetwork/id"; - } - } - - leaf-list containedChildren{ - description "Reference to all directly contained SubNetwork instances. - If subnetworks form a containment hierarchy this is - modeled using references between the child SubNetwork and the parent - SubNetwork."; - type leafref { - path "../../../SubNetwork/id"; - } - } } uses meas3gpp:MeasurementSubtree { @@ -244,6 +236,10 @@ module _3gpp-common-subnetwork { if-feature SupportedNotificationsUnderSubNetwork; } + uses subscr3gpp:NotificationListSubtree { + if-feature NotificationListUnderSubNetwork; + } + uses fm3gpp:FmSubtree { if-feature FmUnderSubNetwork; } @@ -264,11 +260,23 @@ module _3gpp-common-subnetwork { if-feature EcmConnectionInfoUnderSubNetwork; } + uses ecmap3gpp:NRECMappingRuleSubtree { + if-feature EcmConnectionInfoUnderSubNetwork; + } + + uses stm3gpp:StmCtrlSubTree { + if-feature StmCtrlUnderManagedSubNetwork ; + } + + + uses mwab3gpp:MWABSubTree { + if-feature MWABUnderSubNetwork ; + } + yangmnt:mount-point children-of-SubNetwork { - description "Mountpoint for ManagedElement"; + description "Mountpoint for contained ManagedElements and SubNetworks"; reference "RFC8528 YANG Schema Mount"; } - // augment external parts here } -} \ No newline at end of file +} diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index b637e1ff53c5de712befab920a09e955a26b5ed7..5cc3cdd461c46c62b62f313264927272b65a5c49 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -2,53 +2,204 @@ module _3gpp-common-subscription-control { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-subscription-control"; prefix "subscr3gpp"; - + import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import ietf-yang-types { prefix yang; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - - description "Defines IOCs for subscription and heartbeat control. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + + description "Defines IOCs for subscription, notification list and heartbeat + control. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions 3GPP TS 28.623"; - - revision 2024-05-18 { reference CR-0359 ; } - revision 2024-01-18 { reference "CR-0309 CR-0329" ; } - revision 2023-09-18 { reference CR-0271 ; } + + revision 2025-08-13 { reference "CR-0551 CR-0561"; } + revision 2025-05-13 { reference "CR-0548"; } + revision 2025-03-24 { reference "CR-0516 0518"; } + revision 2024-05-18 { reference CR-0359; } + revision 2024-01-18 { reference "CR-0309 CR-0329"; } + revision 2023-09-18 { reference CR-0271; } revision 2023-08-10 { reference "CR0257 CR0260"; } revision 2022-10-20 { reference CR-0196; } - revision 2021-01-16 { reference "CR-0120"; } + revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-26 { reference "CR-0106"; } revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } + feature NotificationListUnderNtfSubscriptionControl { + description "The NotificationList shall be contained under + NtfSubscriptionControl"; + } + + grouping NotificationEntryGrp { + description "NotificationEntry datatype"; + + leaf notificationEntryId { + type string; + yext3gpp:inVariant; + description "Identifier of an individual notificationEntry; unique within + a NotificationList MOI. + + allowedValues: + - If the NotificationList is contained under an NtfSubscriptionControl + the value is the same as the notification's sequenceNo. + - If the NotificationList is contained under SubNetwork or + ManagedElement the value is the DN of the NtfSubscriptionControl that + created the notification followed by a single '*' asterisk character + and the sequenceNo. + e.g. 'ManagedElement=me1,NtfSubscriptionControl=Fault1*12345'"; + } + + leaf eventTime { + type yang:date-and-time; + yext3gpp:inVariant; + description "eventTime from the header of the notification"; + } + + leaf notificationContent { + type string; + yext3gpp:inVariant; + description "The string representation of a notification as encoded in + the HTTP body (excluding the HTTP headers and the optional VES header)."; + } + } + + grouping NotificationListGrp { + description "Attributes of NotificationList IOC."; + + leaf firstEventTime { + type yang:date-and-time; + config false; + yext3gpp:notNotifyable; + description "eventTime of first notification available. + The attribute may be missing if and only if there are no notifications + in the NotificationList."; + } + + leaf lastEventTime { + type yang:date-and-time; + config false; + yext3gpp:notNotifyable; + description "eventTime of latest notification available. + The attribute may be missing if and only if there are no notifications + in the NotificationList."; + } + + list notificationEntries { + yext3gpp:notNotifyable; + description "Representation of the individual notifications. + The entries shall be ordered based on eventTime of the notification, + newest first."; + config false; + key notificationEntryId; + uses NotificationEntryGrp; + } + + leaf-list notificationTypes { + type NotificationTypes; + description "List of notification types."; + } + + leaf notificationFilter { + type string; + description "Filter to be applied to candidate notifications identified + by the notificationTypes attribute. Only notifications that pass the + filter criteria are included. All other notifications are discarded. + The filter can be applied to any field of a notification. + + The format of the string shall confrm to a + JSON expressions (Jex) 'JexConditionsExpr'"; + reference "3GPP TS 32.161"; + } + } + + grouping NotificationListSubtree { + description "Contains the NotificationList IOC"; + + list NotificationList { + description "The NotificationList IOC provides an interface for the + consumer that allows retrieval of notifications that have not been + successfully delivered to the consumer. + + A NotificationList MOI may be contained under the root ManagedElement + or SubNetwork or under an NtfSubscriptionControl MOI. + + If the NotificationList MOI is contained under a ManagedElement or + SubNetwork the MOI make available all notifications for all + objectInstances under that ManagedElement or SubNetwork. + The producer may limit the notification set to notifications for which + at least one subscription is present. + + If the MOI is contained under an NtfSubscriptionControl MOI it makes + available notifications for that subscription. The producer may limit + the number of NotificationList MOIs under an NtfSubscriptionControl + MOI to one. + + A NotificationList may provide a subset of all applicable notifications. + If the NotificationList MOI is contained under the ManagedElement + or SubNetwork the attributes notificationTypes and notificationFilter + may be used to select the notifications to be included. If the MOI is + contained under an NtfSubscriptionControl MOI the attributes + notificationTypes and notificationFilter in the NotificationList + are not be available for read or write, as the similar attributes + in the NtfSubscriptionControl MOI already select the notifications to + be included. + + The notificationTypes value identifies the notification types that + are candidates to be provided. If the attribute is absent, notifications + of all types are candidates to be provided. + + The notificationFilter attribute defines a filter that is applied to + the set of candidate notifications. The filter is applicable to all + parameters of a notification. Only candidate notifications that pass + the filter criteria are made available. If the attribute is absent, + all candidate notifications shall be made available. + + Only notifications that were prepared are included. If the producer + failed to prepare a subscribed notification it will not be available + in this MOI either. + + The number of notifications avaialble has a limit, so old + notifications may be removed from NotificationList by the producer, + while also updating the.firstEventTime atttribute."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NotificationListGrp; + } + } + } + grouping ScopeGrp { - description "This <> allows to select data nodes in an object - tree whose root is identified by the so called base managed object - instance. The identification of the base object instance is not part of - this <> and needs to be specified by other means. The base - managed object instance is typically a managed object instance in an + description "This <> allows to select data nodes in an object + tree whose root is identified by the so called base managed object + instance. The identification of the base object instance is not part of + this <> and needs to be specified by other means. The base + managed object instance is typically a managed object instance in an object tree. - - The 'scopeType' and the 'scopeLevel' attributes allow to select managed - object instances. Attributes, attribute fields and attribute elements + + The 'scopeType' and the 'scopeLevel' attributes allow to select managed + object instances. Attributes, attribute fields and attribute elements cannot be selected. - The 'dataNodeSelector' attribute allows to select managed object - instances, attributes, attribute fields, attribute elements, or - attribute field elements. Its value contains a solution set specific + The 'dataNodeSelector' attribute allows to select managed object + instances, attributes, attribute fields, attribute elements, or + attribute field elements. Its value contains a solution set specific expression for specifying the data nodes to be selected."; choice scope { - description "Describes which object instances are selected with + description "Describes which object instances are selected with respect to a base object instance."; - + case type-level { - leaf scopeType { + leaf scopeType { type enumeration { enum BASE_ONLY; enum BASE_ALL; @@ -56,187 +207,304 @@ module _3gpp-common-subscription-control { enum BASE_SUBTREE; } mandatory true; - description "If the optional scopeLevel parameter is not supported + description "If the optional scopeLevel parameter is not supported or absent, allowed values of scopeType are BASE_ONLY and BASE_ALL. The value BASE_ONLY indicates only the base object is selected. - The value BASE_ALL indicates the base object and all of its + The value BASE_ALL indicates the base object and all of its subordinate objects (incl. the leaf objects) are selected. - If the scopeLevel parameter is supported and present, allowed - values of scopeType are BASE_ALL, BASE_ONLY, BASE_NTH_LEVEL + If the scopeLevel parameter is supported and present, allowed + values of scopeType are BASE_ALL, BASE_ONLY, BASE_NTH_LEVEL and BASE_SUBTREE. - The value BASE_NTH_LEVEL indicates all objects on the level, - which is specified by the scopeLevel parameter, below the base + The value BASE_NTH_LEVEL indicates all objects on the level, + which is specified by the scopeLevel parameter, below the base object are selected. The base object is at scopeLevel zero. - The value BASE_SUBTREE indicates the base object and all of its - subordinate objects down to and including the objects on the level, - which is specified by the scopeLevel parameter, are selected. + The value BASE_SUBTREE indicates the base object and all of its + subordinate objects down to and including the objects on the level, + which is specified by the scopeLevel parameter, are selected. The base object is at scopeLevel zero."; } - + leaf scopeLevel { when '../scopeType = "BASE_NTH_LEVEL" or ../scopeType = "BASE_SUBTREE"'; - type uint16; + type uint16; mandatory true; description "See description of scopeType."; } } case dataNodeSelector { - leaf dataNodeSelector { - type string; - description "The value shall follow the rules of RFC 8641 + container dataNodeSelector { + description "The value shall follow the rules of RFC 8641 filter-spec"; - reference "RFC 8641 section 5."; + reference "RFC 8641 section 5. and ietf-yang-push.yang"; + choice dataNodeSelector { + anydata datastore-subtree-filter { + description "Subtree filter"; + reference + "RFC 6241: Network Configuration Protocol (NETCONF), Section 6"; + } + leaf datastore-xpath-filter { + type yang:xpath1.0; + description "XPath-filter"; + reference + "XML Path Language (XPath) Version 1.0 + (https://www.w3.org/TR/1999/REC-xpath-19991116) + RFC 7950: The YANG 1.1 Data Modeling Language, + Section 10"; + } + } } } - } + } + } + + typedef NotificationTypes { + description "An extensible enumeration of notification types"; + type union { + type enumeration { + enum notifyMOICreation; + enum notifyMOIDeletion; + enum notifyMOIAttributeValueChanges; + enum notifyMOIChanges; + enum notifyEvent; + enum notifyNewAlarm; + enum notifyAckStateChanged; + enum notifyComments; + enum notifyCorrelatedNotificationChanged; + enum notifyChangedAlarmGeneral; + enum notifyClearedAlarm; + enum notifyAlarmListRebuilt; + enum notifyPotentialFaultyAlarmList; + enum notifyFileReady; + enum notifyFilePreparationError; + enum notifyThresholdCrossing ; + enum notifyPotentialFaultyDataNodeTree; + enum notifyDataNodeTreeSyncRecommended; + } + type string; + } } - + grouping NtfSubscriptionControlGrp { description "Attributes of a specific notification subscription"; - + leaf notificationRecipientAddress { type string; mandatory true; } - + leaf-list notificationTypes { - type string; - description "Defines the types of notifications that are candidates + type NotificationTypes; + description "Defines the types of notifications that are candidates for being forwarded to the notification recipient. - If the notificationTypes attribute is not supported or not present - all candidate notifications types are forwarded to the notification; + If the notificationTypes attribute is not supported or not present + all candidate notifications types are forwarded to the notification; discriminated by notificationFilter attribute."; } list scope { description "Scopes (selects) data nodes in an object tree."; key idx; - max-elements 8; + max-elements 1; leaf idx { type string; } uses ScopeGrp; } leaf notificationFilter { type string; - description "Defines a filter to be applied to candidate notifications - identified by the notificationTypes attribute. - If notificationFilter is present, only notifications that pass the - filter criteria are forwarded to the notification recipient; all other + description "Defines a filter to be applied to candidate notifications + identified by the notificationTypes attribute. + If notificationFilter is present, only notifications that pass the + filter criteria are forwarded to the notification recipient; all other notifications are discarded. The filter can be applied to any field of a notification. - - The format of the string shall confrm to a + + The format of the string shall confrm to a JSON expressions (Jex) 'JexConditionsExpr'"; reference "3GPP TS 32.161"; } + + leaf lastSequenceNo { + type uint64; + config false; + mandatory true; + description "The sequence number of the last notification that was sent + by a 'NtfSubscriptionControl' instance."; + } + + leaf operationalState { + type types3gpp:OperationalState; + config false; + mandatory true; + description "Operational state of manged 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-list availabilityStatus { + type types3gpp:AvailabilityStatus; + config false; + description "The availability status provides additional information + about the operational state"; + } } - + grouping HeartbeatControlGrp { description "Attributes of HeartbeatControl."; - + leaf heartbeatNtfPeriod { type uint32; mandatory true; units seconds; - description "Specifies the periodicity of heartbeat notification emission. - The value of zero has the special meaning of stopping the heartbeat + description "Specifies the periodicity of heartbeat notification emission. + The value of zero has the special meaning of stopping the heartbeat notification emission."; } - + leaf triggerHeartbeatNtf { type boolean; default false; - description "Setting this attribute to 'true' triggers an immediate - additional heartbeat notification emission. Setting the value to + description "Setting this attribute to 'true' triggers an immediate + additional heartbeat notification emission. Setting the value to 'false' has no observable result. The periodicity of notifyHeartbeat emission is not changed. - - After triggering the heartbeat the system SHALL set the value + + After triggering the heartbeat the system SHALL set the value back to false."; yext3gpp:notNotifyable; } } - + grouping SubscriptionControlSubtree { - description "Contains notification subscription related classes. - Should be used in all classes (or classes inheriting from) + description "Contains notification subscription related classes. + Should be used in all classes (or classes inheriting from) - SubNetwork - ManagedElement - - If some YAM wants to augment these classes/list/groupings they must + + If some YAM wants to augment these classes/list/groupings they must augment all user classes!"; list NtfSubscriptionControl { - description "NtfSubscriptionControl represents a notification - subscription of a notification recipient. - - The scope attribute is used to select managed object instances included - in the subscription. The base object instance of the scope is the - object instance name-containing the NtfSubscriptionControl instance. - When the scope attribute is absent, all objects below and including - the base object are scoped. The notifications related to the selected - managed object instances are candidates to be sent to the address + description "NtfSubscriptionControl represents a notification + subscription of a notification recipient. + + The scope attribute is used to select managed object instances included + in the subscription. The base object instance of the scope is the + object instance name-containing the NtfSubscriptionControl instance. + When the scope attribute is absent, all objects below and including + the base object are scoped. The notifications related to the selected + managed object instances are candidates to be sent to the address specified by the notificationRecipientAddress attribute. - - The notificationTypes attribute and notificationFilter attribute - allow MnS consumers to control which candidate notifications are + + The notificationTypes attribute and notificationFilter attribute + allow MnS consumers to control which candidate notifications are sent to the notificationRecipientAddress. - - If the notificationTypes attribute is present, its value identifies - the notification types that are candidates to be sent to the - notificationRecipientAddress. If the notificationTypes attribute is - absent, notifications of all types are candidates to be sent to - notificationRecipientAddress. Notification types supported in the - NtfSubscriptionControl.notificationTypes attribute are the ones + + If the notificationTypes attribute is present, its value identifies + the notification types that are candidates to be sent to the + notificationRecipientAddress. If the notificationTypes attribute is + absent, notifications of all types are candidates to be sent to + notificationRecipientAddress. Notification types supported in the + NtfSubscriptionControl.notificationTypes attribute are the ones listed in the attribute SupportedNotifications.notificationTypes. - - If supported, the notificationFilter attribute defines a filter that - is applied to the set of candidate notifications. The filter is - applicable to all parameters of a notification. Only candidate - notifications that pass the filter criteria are sent to the - notificationRecipientAddress. If the notificationFilter attribute is - absent, all candidate notificatios are sent to the + + If supported, the notificationFilter attribute defines a filter that + is applied to the set of candidate notifications. The filter is + applicable to all parameters of a notification. Only candidate + notifications that pass the filter criteria are sent to the + notificationRecipientAddress. If the notificationFilter attribute is + absent, all candidate notificatios are sent to the notificationRecipientAddress. - - To receive notifications, a MnS consumer has to create a - NtfSubscriptionControl instance on the MnS producer. A MnS consumer - can create a subscription for another MnS consumer since it is not + + To receive notifications, a MnS consumer has to create a + NtfSubscriptionControl instance on the MnS producer. A MnS consumer + can create a subscription for another MnS consumer since it is not required the notificationRecipientAddress be his own address. - - When a MnS consumer does not wish to receive notifications any more - the MnS consumer shall delete the corresponding NtfSubscriptionControl + + When a MnS consumer does not wish to receive notifications any more + the MnS consumer shall delete the corresponding NtfSubscriptionControl instance. - - When a subscription is created and the notification scope inludes - the created subscription object and the subscribed notification types - include notifications reporting object creation (notifyMOICreation - or notifyMOIChanges), the first notification sent related to the - new subscription shall report the creation of the - NtfSubscriptionControl instance. Likewise, when a subscription is - deleted and the notification scope inludes the deleted subscription - object and the subscribed notification types include notifications - reporting object deletion (notifyMOIDeletion or notifyMOIChanges), - the last notification sent related to the subscription shall report + + When a subscription is created and the notification scope inludes + the created subscription object and the subscribed notification types + include notifications reporting object creation (notifyMOICreation + or notifyMOIChanges), the first notification sent related to the + new subscription shall report the creation of the + NtfSubscriptionControl instance. Likewise, when a subscription is + deleted and the notification scope includes the deleted subscription + object and the subscribed notification types include notifications + reporting object deletion (notifyMOIDeletion or notifyMOIChanges), + the last notification sent related to the subscription shall report the deletion of the NtfSubscriptionControl instance. - - Creation and deletion of NtfSubscriptionControl instances by MnS - consumers is optional; when not supported, the NtfSubscriptionControl - instances may be created and deleted by the system or be + + If multiple NtfSubscriptionControl instances are configured to send + the same notification to the same notificationRecipientAddress, then + a separate notification message shall be sent for each such + NtfSubscriptionControl instance. + + A 'NtfSubscriptionControl' class optionally supports adding a sequence + number parameter to the notification header. For each notification + sent from a 'NtfSubscriptionControl' instance to the configured + notification recipient, the sequence number is increased by one. + This allows the notification recipient to detect notifications lost or + reordered in transit. The sequence number sent last is reflected in + the 'lastSequenceNo' attribute. This allows the MnS consumer to check + if he missed notifications in situations where he did not receive + any notification for some time. + + The 'operationalState' attribute represents the operability of the + subscription. The 'availabilityStatus' further qualifies the + opertational state. Both attributes are set by the MnS producer. + + If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' + has no value the subscription process is fully operational and + notifications are forwarded to the subscribed consumer. + + If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' + is set to 'DEGRADED' the subscription process is degraded. There is + no guarantee that all notifications, that should be forwarded to the + notification recipient, are forwarded. + + If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' + is set to 'FAILED' the subscription process is not operational, and + no notifications are sent to the notification recipient. + + If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' + is set to 'DEPENDENCY' the subscription process itself has no problems + but some other process on which it depends such as downstream + processes in the event channel that feeds events into the subscription + process. As a result, events are not delivered to the subscription + process and no notifications are sent to the notification recipient. + + When the subscription process is disabled or degraded and becomes + fully operational again, the MnS producer sends- the related data node + tree change notifications to subscribed MnS consumers. The MnS consumer + may use the reception of these notifications as a trigger to synchronize + his data node tree with the data node tree on the MnS producer. + However, the state change notifications contain no information about + which part of the data node tree should be synchronized. For this + purpose the 'notifyDataNodeTreeSyncRecommended' (TS 28.532 [27]) and + 'alarmListRebuilt' (TS 28.111 [58]) notifications are provided. + + Creation and deletion of NtfSubscriptionControl instances by MnS + consumers is optional; when not supported, the NtfSubscriptionControl + instances may be created and deleted by the system or be pre-installed."; - + key id; uses top3gpp:Top_Grp; container attributes { uses NtfSubscriptionControlGrp; } - + list HeartbeatControl { description "MnS consumers (i.e. notification recipients) use heartbeat - notifications to monitor the communication channels between themselves + notifications to monitor the communication channels between themselves and MnS producers configured to emit notifications. A HeartbeatControl instance allows controlling the emission of @@ -277,23 +545,27 @@ module _3gpp-common-subscription-control { max-elements 1; key id; uses top3gpp:Top_Grp; - + container attributes { uses HeartbeatControlGrp; } } + + uses NotificationListSubtree { + if-feature NotificationListUnderNtfSubscriptionControl; + } } - } - + } + grouping SupportedNotificationsGrp { description "Attributes of SupportedNotifications."; - + leaf-list notificationTypes { - type string; + type NotificationTypes; config false; description "List of notification types supported by the MnS producer"; } - + leaf-list notificationProtocols { type enumeration { enum HTTP; @@ -305,26 +577,26 @@ module _3gpp-common-subscription-control { reference "3GPP TS 28.532"; } } - + grouping SupportedNotificationsSubtree { description "Contains SupportedNotifications."; list SupportedNotifications { - description "SupportedNotifications represents the notification related - capabilities of a MnS producer. + description "SupportedNotifications represents the notification related + capabilities of a MnS producer. - The notificationTypes attribute lists notificationTypes supported - by the MnSProducer. Specific IOCs can be the source of a specific - but not necessary every supported notificationType. + The notificationTypes attribute lists notificationTypes supported + by the MnSProducer. Specific IOCs can be the source of a specific + but not necessary every supported notificationType. - The notificationProtocols attribute identifies the notification + The notificationProtocols attribute identifies the notification transport protocols supported by a MnS producer."; - + key id; uses top3gpp:Top_Grp; container attributes { uses SupportedNotificationsGrp; } } - } + } } diff --git a/yang-models/_3gpp-common-trace.yang b/yang-models/_3gpp-common-trace.yang index af5327945e8450ecca88f1883152f8593ac64667..cbcf5b179aad55ff78b7c65b6e3e42e098e4e275 100755 --- a/yang-models/_3gpp-common-trace.yang +++ b/yang-models/_3gpp-common-trace.yang @@ -4,34 +4,43 @@ module _3gpp-common-trace { prefix "trace3gpp"; import _3gpp-common-top { prefix top3gpp; } - import _3gpp-common-yang-types {prefix types3gpp; } import _3gpp-common-yang-extensions {prefix yext3gpp; } import ietf-inet-types { prefix inet; } import _3gpp-common-files { prefix files3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types {prefix types5g3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Trace handling - Copyright 2024, 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.623 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Solution Set (SS) definitions - 3GPP TS 28.622 Generic Network Resource Model (NRM) Integration Reference Point (IRP); Information Service (IS)" ; + 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" ; } + revision 2025-02-05 { reference "CR-0461" ; } + revision 2024-11-25 { reference "CR-0492" ; } + revision 2024-11-07 { reference "CR-0480"; } + revision 2024-10-01 { reference "CR-0457"; } + revision 2024-08-13 { reference "CR-0387 CR-0377"; } + revision 2024-08-07 { reference "CR-0405 CR-0421 CR-0379"; } revision 2024-05-12 { reference "CR-0401"; } revision 2024-05-06 { reference CR-0359; } revision 2024-04-06 { reference "CR-0342"; } revision 2024-01-29 { reference "CR-0316"; } revision 2023-11-06 { reference "CR-0290 CR-0294"; } - revision 2023-11-03 { reference CR-0302 ; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-11-03 { reference CR-0302 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-08-10 { reference CR-0261; } revision 2023-04-26 { reference CR-0250; } revision 2023-02-18 { reference "CR-0234"; } @@ -49,159 +58,143 @@ module _3gpp-common-trace { } grouping FreqInfoGrp { - description "Represents the FreqInfo dataType. - This <> defines the RF reference frequency and the frequency - operating bands used in a cell for a given direction (UL or DL) in FDD + description "Represents the FreqInfo dataType. + This <> defines the RF reference frequency and the frequency + operating bands used in a cell for a given direction (UL or DL) in FDD or for both UL and DL directions in TDD"; - + leaf arfcn { type uint32 { range 0..3279165; } mandatory true; - description "RF Reference Frequency as defined in TS 38.104, - clause 5.4.2.1. The frequency provided identifies the absolute - frequency position of the reference resource block (Common RB 0) + description "RF Reference Frequency as defined in TS 38.104, + clause 5.4.2.1. The frequency provided identifies the absolute + frequency position of the reference resource block (Common RB 0) of the carrier. Its lowest subcarrier is also known as Point A."; } - + leaf-list freqBands { type uint32 { range 1..1024; - } + } min-elements 1; - description "List of NR frequency operating bands. Primary NR + description "List of NR frequency operating bands. Primary NR Operating Band as defined in TS 38.104, clause 5.4.2.3. - The value 1 corresponds to n1, value 2 corresponds to NR operating + The value 1 corresponds to n1, value 2 corresponds to NR operating band n2, etc."; } } - + grouping AreaConfigGrp { description "Represents the AreaConfig dataType. - This <> defines the area for which measurement logging should - be performed. It is described by a list of cells and a list of + This <> defines the area for which measurement logging should + be performed. It is described by a list of cells and a list of frequencies."; - + list freqInfo { key arfcn; min-elements 1; max-elements 32; - description "It specifies the carrier frequency and bands used in + description "It specifies the carrier frequency and bands used in a cell."; uses FreqInfoGrp ; } - + leaf-list pciList { type uint32 { range 0..1007; - } + } min-elements 1; max-elements 32; description "List of neighbour cells subject for MDT scope."; } } - + grouping AreaScopeGrp { - description "Represents the AreaScope dataType. - This <> defines the area scope of MDT. - The Area Scope parameter in LTE and NR is either: - - list of Cells, identified by E-UTRAN-CGI or NG-RAN CGI. - Maximum 32 CGI can be defined. - - list of Tracking Area, identified by TAC. - Maximum of 8 TAC can be defined. - - list of Tracking Area Identity, identified by TAC with - associated plmn-Identity perTAC-List containing the - PLMN identity for each TAC. Maximum of 8 TAI can be defined. - The Area Scope parameter in NR can also contain: - - list of NPN-IDs in NR. It is either a list of PNI-NPNs - identified by CAG ID with associated plmn-Identity or a - list of SNPNs identified by Network ID with associated - plmn-Identity ."; + description "This <> defines an area scope."; choice AreaScopeChoice { + + case eutran-only { leaf-list eutraCellIdList { - type string; + type types3gpp:EutraCellId; min-elements 1; max-elements 32; description "List of E-UTRAN cells identified by E-UTRAN-CGI"; } - - leaf-list utraCellIdList { - type string; - min-elements 1; - max-elements 32; - description "List of UTRAN cells identified by UTRAN CGI"; } - - leaf-list tacList { - type types3gpp:Tac; + 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; - max-elements 8; - description "Tracking Area Code list"; + 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; - min-elements 1; max-elements 8; leaf idx { type string; } uses types3gpp:TaiGrp; } } - - 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 NpnIdGrp; - leaf idx { type string; } - } - } - - grouping NpnIdGrp { - description "Represents the NpnId dataType."; - - list plmnId { - key "mcc mnc"; - description "It specifies the PLMN Id of the NPN network."; - uses types3gpp:PLMNId; - max-elements 1; } - list cAGIdList { + list sliceIdList { + description "Network Slice Id list"; key idx; - max-elements 256; - description "It specifies the PNI-NPN identified by CAG ID "; - leaf idx { type string; } - } - - list nIDList { - key idx; - max-elements 16; - description "It specifies the SNPN identified by Network ID"; + 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 - to enable the calculation of the PDCP Excess Packet Delay in the - uplink in case of M6 uplink measurements are requested. The excess - packet delay threshold information is specified with the 5QI value + This <> defines a excess packet delay threshold information + to enable the calculation of the PDCP Excess Packet Delay in the + uplink in case of M6 uplink measurements are requested. The excess + packet delay threshold information is specified with the 5QI value and excess packet delay threshold value."; - + leaf fiveQIValue { type uint8; mandatory true; description "It indicates 5QI value."; } - + leaf excessPacketDelayThresholdValue { type decimal64 { fraction-digits 2; @@ -209,33 +202,36 @@ module _3gpp-common-trace { } mandatory true; units milliseconds; - description "Value of excess packet delay threshold + description "Value of excess packet delay threshold for M6 UL measurement in milliseconds."; } } - + grouping TraceReferenceGrp { description "Represents the TraceReference dataType. - This <> defines a globally unique identifier, which uniquely - identifies the Trace Session that is created by the TraceJob. It is - composed of the MCC, MNC (resulting in PLMN identifier) and the + This <> defines a globally unique identifier, which uniquely + identifies the Trace Session that is created by the TraceJob. It is + composed of the MCC, MNC (resulting in PLMN identifier) and the trace identifier."; - + uses types3gpp:PLMNId; // mcc+mnc - + leaf traceId { - type string; + type string { + pattern "[0-9a-fA-F]{6}"; + } mandatory true; - description "An identifier, which identifies the Trace - (together with MCC and MNC). This is a 3 byte Octet String."; + description "An identifier, which identifies the Trace + (together with MCC and MNC). This is a 3 byte Octet String, + expressed in hexadecimal form e.g., '1a7b3d')."; } } - + grouping MbsfnAreaGrp { - description "Represents the MbsfnArea dataType. - This <> defines a MBSFN area. It is composed of the MBSFN Area + description "Represents the MbsfnArea dataType. + This <> defines a MBSFN area. It is composed of the MBSFN Area identifier and the carrier frequency (EARFCN)."; - + leaf mbsfnAreaId { type uint32 { range 1..max; @@ -243,7 +239,7 @@ module _3gpp-common-trace { mandatory true; description "MBSFN Area Identifier"; } - + leaf earfcn{ type uint32 { range 1..max; @@ -252,18 +248,18 @@ module _3gpp-common-trace { description "Carrier Frequency"; } } - + grouping TraceConfigGrp { - description "Defines the configuration parameters of TraceJob + description "Defines the configuration parameters of TraceJob which are specific for Trace or combined Trace and Immediate MDT. - The attribute listOfNeTypes specifies the network elements to be + The attribute listOfNeTypes specifies the network elements to be traced. The optional attribute listOfInterfaces allows to specify the individual interfaces of the network elements to be recorded. - The attribute traceDepth allows to configure the level of detail + The attribute traceDepth allows to configure the level of detail of the information which shall be recorded. For trace the reporting - is event based, where the triggering event is configured with - attribute triggeringEvent. For each triggering event the first and + is event based, where the triggering event is configured with + attribute triggeringEvents. For each triggering event the first and last message (start/stop triggering event) to record are specified."; list listOfInterfaces { @@ -569,7 +565,7 @@ module _3gpp-common-trace { } } - leaf-list listOfNETypes { + leaf-list listOfNeTypes { type enumeration { enum MSC_SERVER; enum SGSN; @@ -586,12 +582,10 @@ module _3gpp-common-trace { enum GNB_CU_UP; enum GNB_DU; } - description "Specifies in which type of ManagedFunction the trace should + description "Specifies the network element types where the trace should be activated. The attribute is applicable only for Trace with - Signalling Based Trace activation. In case this attribute is not used, - it carries a null semantic"; - reference "Clause 5.4 of 3GPP TS 32.422 for additional details on the - allowed values"; + Signalling Based Trace activation."; + reference "Clause 5.4 of 3GPP TS 32.422. "; } leaf traceDepth { @@ -606,154 +600,284 @@ module _3gpp-common-trace { enum VENDORMAXIMUM; } default MAXIMUM; - description "Specifies how detailed information should be recorded in the - Network Element. The Trace Depth is a paremeter for Trace Session level, - i.e., the Trace Depth is the same for all of the NEs to be traced in - the same Trace Session. - The attribute is applicable only for Trace, otherwise it carries a null - semantic."; - reference "Clause 5.3 of 3GPP TS 32.422"; - } - - leaf triggeringEvents { - type enumeration { - enum MO_MT_CALLS; - enum MO_MT_SMS; - enum LU_IMSIattach_IMSIdetach; - enum HANDOVER; - enum SS; - enum PDPcontext; - enum RAU_GPRSattach_GPRSdetach; - enum MBMScontext; - enum CONTEXT; - enum SIPsession_StandaloneTransaction; - enum MBMSactivation; - enum UEinitiatedPDNconnectivityRequest; - enum ServiceRequest; - enum InitialAttach_TAU_Detach; - enum UEinitiatedPDNdisconnection; - enum BearerActivationModificationDeletion; - enum Handover; - enum PDNconnectionCreation; - enum PDNconnectionTermination; - enum Registration; - enum UEderegistration; - enum NetworkDeregistration; - enum UEMobilityFromEPC; - enum UEMobilityToEPC; - enum PDUsessionEstablishment; - enum PDUsessionModification; - enum PDUsessionRelease; - enum PDUsessionUPactivationDeactivation; - enum MobilityBtw3gppAndN3gppTo5GC; - enum MobilityFromEpc; - enum AMpolicy; - enum SMpolicy; - enum Authorization; - enum BDTpolicy; - enum N4Session; - enum UEauthentication; - enum EventExposure; - enum PFDmanagement; - enum ParameterProvision; - enum Trigger; - enum NFmanagement; - enum NFdiscovery; - enum NSSelection; - enum NSSAI; - enum SMservice; - enum UEcontext; - enum SubscriberData; - } - description "It specifies the triggering event parameter of the trace - session. The attribute is applicable only for Trace. In case this - attribute is not used, it carries a null semantic. - - See the clause 5.1 of 3GPP TS 32.422 for additional details on the - allowed values."; + description "It specifies the trace depth. The attribute is applicable + only for Trace."; + reference "Clause 5.3 of 3GPP TS 32.422."; + } + + list triggeringEvents { + key idx; + description "It specifies the triggering event parameter of the trace + session. The attribute is applicable only for Trace."; + reference "Clause 5.1 of 3GPP TS 32.422"; + leaf idx { type uint32; } + max-elements 1; + + leaf-list MSC_SERVER { + type enumeration { + enum MO_MT_CALLS; + enum MO_MT_SMS; + enum LU_IMSIattach_IMSIdetach; + enum SS; + } + } + + leaf-list SGSN { + type enumeration { + enum PDPcontext; + enum MO_MT_SMS; + enum RAU_GPRSattach_GPRSdetach; + enum MBMScontext; + } + } + + + leaf-list MGW { + type enumeration { + enum CONTEXT; + } + } + + leaf-list GGSN { + type enumeration { + enum PDPcontext; + enum MBMScontext; + } + } + + leaf-list IMS { + type enumeration { + enum SIPsession_StandaloenTransaction; + } + } + + leaf-list BM_SC { + type enumeration { + enum MBMSactivation; + } + } + + leaf-list MME { + type enumeration { + enum UEinitiatedPDNconnectivityRequest; + enum ServiceRequest; + enum InitialAttach_TAU_Detach; + enum UEInitiatedPDNdisconnection; + enum BearerActivationModificationDeletion; + enum Handover; + } + } + + + leaf-list SGW { + type enumeration { + enum PDNconnectionCreation; + enum PDNconnectionTermination; + enum BearerActivationModificationDeletion; + } + } + + leaf-list PGW { + type enumeration { + enum PDNconnectionCreation; + enum PDNconnectionTermination; + enum BearerActivationModificationDeletion; + } + } + + leaf-list AMF { + type enumeration { + enum Registration; + enum ServiceRequest; + enum Handover; + enum UEderegistration; + enum NetworkDeregistration; + enum UEMobilityFromEPC; + enum UEMobilityToEPC; + enum CovergedChargingService; + } + } + + leaf-list SMF { + type enumeration { + enum PDUsessionEstablishment; + enum PDUsessionModification; + enum PDUsessionRelease; + enum PDUsessionUPactivationDeactivation; + enum MobilityBtw3gppAndN3gppTo5GC; + enum MobilityFromEpc; + enum MobilityBtwISMForVSMF; + enum CovergedChargingService; + enum OfflineOnlyCharging; + } + } + + leaf-list PCF { + type enumeration { + enum AMpolicy; + enum SMpolicy; + enum Authorization; + enum BDTpolicy; + enum SpendingLimitControl; + } + } + + leaf-list UPF { + type enumeration { + enum N4Session; + } + } + + leaf-list AUSF { + type enumeration { + enum UEauthentication; + } + } + + leaf-list NEF { + type enumeration { + enum EventExposure; + enum PFDmanagement; + enum ParameterProvisiong; + enum Trigger; + } + } + + leaf-list NRF { + type enumeration { + enum NFmanagement; + enum NFdiscovery; + } + } + + leaf-list NSSF { + type enumeration { + enum NSSelection; + enum NSSAI; + } + } + + leaf-list SMSF { + type enumeration { + enum SMService; + } + } + + leaf-list UDM { + type enumeration { + enum UEcontext; + enum SubscriberData; + enum UEauthentication; + enum EventExposure; + } + } } } grouping ImmediateMdtConfigGrp { - description "Represents the ImmediateMdtConfig dataType. - This <> defines the configuration parameters of - IOC TraceJob which are specific for Immediate MDT or combine - Trace and Immediate MDT. - - The optional attribute positioningMethod allows to specify + description "Represents the ImmediateMdtConfig dataType. + This <> defines the configuration parameters of + IOC TraceJob which are specific for Immediate MDT or combine + Trace and Immediate MDT. + + The optional attribute positioningMethod allows to specify the positioning methods to use. The following attributes are conditional available based on the measurements configured in listOfMeasurements: - -reportInterval: conditional for M1 in LTE or NR and M1/M2 in UMTS, - -reportAmount: conditional for M1 in LTE or NR and M1/M2 in UMTS, - -reportingTrigger: conditional for M1 in LTE or NR and M1/M2 in UMTS, - -eventThreshold: conditional for A2 event reporting or A2 event - triggered periodic reporting, - -collectionPeriodRrmNR: conditional for M4 and M5 in NR, - -collectionPeriodM6NR: conditional for M6 in NR, - -collectionPeriodM7NR: conditional for M7 in NR, - -collectionPeriodRrmLte (conditional for M3 in LTE), + -reportInterval (conditional for M1 in LTE or NR and M1/M2 in UMTS), + -reportAmount (conditional for M1/M2 in UMTS), + -reportAmountM1LTE (conditional for M1 in LTE), + -reportAmountM4LTE (conditional for M4 in LTE), + -reportAmountM5LTE (conditional for M5 in LTE), + -reportAmountM6LTE (conditional for M6 in LTE), + -reportAmountM7LTE (conditional for M7 in LTE), + -reportAmountM1NR (conditional for M1 in NR), + -reportAmountM4NR (conditional for M4 in NR), + -reportAmountM5NR (conditional for M5 in NR), + -reportAmountM6NR (conditional for M6 in NR), + -reportAmountM7NR (conditional for M7 in NR), + -reportingTrigger (conditional for M1 in LTE or NR and M1/M2 in UMTS), + -eventThreshold (conditional for A2 event reporting or A2 event + triggered periodic reporting), + -collectionPeriodRRMNR (conditional for M4 and M5 in NR), + -collectionPeriodM6NR (conditional for M6 in NR), + -collectionPeriodM7NR (conditional for M7 in NR), + -collectionPeriodRRMLTE (conditional for M3 in LTE), -measurementPeriodLTE (conditional for M4 and M5 in LTE), - -collectionPeriodM6Lte (conditional for M6 in LTE), - -collectionPeriodM7Lte (conditional for M7 in LTE), - -collectionPeriodRrmUmts (conditional for M4 and M5 in UMTS), - -measurementPeriodUmts (conditional for M6 and M7 in UMTS), + -collectionPeriodM6LTE (conditional for M6 in LTE), + -collectionPeriodM7LTE (conditional for M7 in LTE), + -collectionPeriodRRMUMTS (conditional for M4 and M5 in UMTS), + -measurementPeriodUMTS (conditional for M6 and M7 in UMTS), -measurementQuantity (conditional for 1F event reporting), -beamLevelMeasurement (conditional for M1 in NR), -excessPacketDelayThresholds (conditional for M6 UL measurement in NR). - For immediate MDT, the measurement reporting is dependent on the + For immediate MDT, the measurement reporting is dependent on the configured measurements: - - - For measurement M1 in LTE or NR, it is possible to select between - periodical, event triggered, event triggered periodic reporting or - reporting according to all configured RRM event triggers. For M1 and M2 - measurement in UMTS, it is possible to select between periodical, event - triggered reporting or reporting according to all configured RRM event - triggers. Parameter reportingTrigger determines which of the reporting - methods is selected and in case of event triggered or event-triggered - periodic, which is the decisive event type. For periodical reporting, + + - For measurement M1 in LTE or NR, it is possible to select between + periodical, event triggered, event triggered periodic reporting or + reporting according to all configured RRM event triggers. For M1 and M2 + measurement in UMTS, it is possible to select between periodical, event + triggered reporting or reporting according to all configured RRM event + triggers. Parameter reportingTrigger determines which of the reporting + methods is selected and in case of event triggered or event-triggered + periodic, which is the decisive event type. For periodical reporting, parameters reportInterval and reportAmount determine the interval between - two successive reports and the number of reports. This means the + two successive reports and the number of reports. This means the periodical reporting terminates after reportAmount reports have been - sent as long as reportAmount is configured with a value different from - infinity. For event-triggered periodic reporting, these two parameters - apply in addition to parameter eventThreshold which determines the - threshold of the event. In this case up to reportAmount reports are - sent with a periodicity of reportInterval after the entering condition - is fulfilled. The reporting is stopped, if the leaving condition is - fulfulled and is restarted if the configured event reoccurs. For event - based reporting, there is only one report sent after the event occurs. - The parameters to configure are reportingTrigger and eventThreshold. - In case of UMTS and 1f event reporting, additionally parameter - measurementQuantity is necessary in order to determine for which - measurement(s) the event threshold is applicable. Parameter + sent as long as reportAmount is configured with a value different from + infinity. For event-triggered periodic reporting, these two parameters + apply in addition to parameter eventThreshold which determines the + threshold of the event. In this case up to reportAmount reports are + sent with a periodicity of reportInterval after the entering condition + is fulfilled. The reporting is stopped, if the leaving condition is + fulfulled and is restarted if the configured event reoccurs. For event + based reporting, there is only one report sent after the event occurs. + The parameters to configure are reportingTrigger and eventThreshold. + In case of UMTS and 1f event reporting, additionally parameter + measurementQuantity is necessary in order to determine for which + measurement(s) the event threshold is applicable. Parameter beamLevelMeasurement determines whether beam level measurements shall be included in case of NR. - + - For measurement M2 in LTE or NR, reporting is according to RRM - configuration, see TS 38.321, TS 36.321 and TS 38.331, TS 36.331. - For measurement M4 in UMTS, reporting is either according to RRM + configuration, see TS 38.321, TS 36.321 and TS 38.331, TS 36.331. + + - For measurement M4 in UMTS, reporting is either according to RRM configuration, see TS 25.321 and TS 25.331 or periodic or event - triggered periodic using parameter collectionPeriodRrmUmts and - eventThresholdUphUmts. - + triggered periodic using parameter collectionPeriodRRMUMTS and + eventThresholdUphUMTS. + - For measurement M3 in UMTS, the reporting is done upon availability, see TS 37.320. - - - For measurements M4, M5, M6 and M7 in NR, for measurements - M3, M4, M5, M6 and M7 in LTE and for measurements M5, M6 and M7 + + - For measurements M4, M5, M6 and M7 in NR, for measurements + M3, M4, M5, M6 and M7 in LTE and for measurements M5, M6 and M7 in UMTS periodical reporting is applied. The configurable parameter - is the interval between two measurements (collectionPeriodRrmNr, - collectionPeriodM6NR, collectionPeriodM7Nr, collectionPeriodRrmLte, - measurementPeriodLte, collectionPeriodM6Lte, collectionPeriodM7Lte, - collectionPeriodRrmUmts, measurementPeriodUmts). If no collection - period is configured for M5 in UMTS, all available measurements are - logged according to RRM configuration."; - - leaf listOfMeasurements { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; + is the interval between two measurements (collectionPeriodRRMNR, + collectionPeriodM6NR, collectionPeriodM7NR, collectionPeriodRRMLTE, + measurementPeriodLte, collectionPeriodM6LTE, collectionPeriodM7LTE, + collectionPeriodRRMUMTS, measurementPeriodUMTS) and the number of + reports (reportAmountM4NR, reportAmountM5NR, reportAmountM6NR, + reportAmountM7NR, reportAmountM4LTE, reportAmountM5LTE, + reportAmountM6LTE,reportAmountM7LTE). If no collection period + is configured for M5 in UMTS, all available measurements are + logged according to RRM configuration. + + - Measurements M8 and M9 in NR or LTE are reported according to + configured M1 and/or M6 related UE measurement reporting. + + "; + + leaf listOfMeasurements { + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum M1; enum M2; @@ -770,14 +894,19 @@ module _3gpp-common-trace { enum M8; enum M9; } - description "It specifies the UE measurements that shall be collected in - an Immediate MDT job. The attribute is applicable only for Immediate MDT. - In case this attribute is not used, it carries a null semantic."; - reference "3GPP TS 32.422 clause 5.10.3"; + description "It specifies the UE measurements that shall be + collected in an Immediate MDT job. The attribute is + applicable only for Immediate MDT."; + reference "Clause 5.10.3 of 3GPP TS 32.422."; } leaf reportingTrigger { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum PERIODICAL; enum A2_FOR_LTE; @@ -791,13 +920,17 @@ module _3gpp-common-trace { should be collected. The attribute is applicable only for Immediate MDT and when the listOfMeasurements is configured for M1 (for both UMTS and LTE) - or M2 (only for UMTS). In case this attribute is not used, it carries - a null semantic."; - reference "Clause 5.10.4 of 3GPP TS 32.422"; + or M2 (only for UMTS)."; + reference "Clause 5.10.4 of 3GPP TS 32.422."; } leaf reportInterval { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"' + ' and ../reportingTrigger = "PERIODICAL"'; type uint32 { range "120|240|250|480|500|640|1000|1024|2000|2048|3000|4000|" @@ -809,13 +942,17 @@ module _3gpp-common-trace { description "It specifies the interval between the periodical measurements that shall be taken when the UE is in connected mode. The attribute is applicable only for Immediate MDT and when - reportingTrigger is configured for periodical measurements. In case - this attribute is not used, it carries a null semantic."; - reference "5.10.5 of 3GPP TS 32.422"; + reportingTrigger is configured for periodical measurements."; + reference "5.10.5 of 3GPP TS 32.422."; } - + leaf reportAmount { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"' + ' and ../reportingTrigger = "PERIODICAL"'; type union { type uint32 { @@ -828,39 +965,49 @@ module _3gpp-common-trace { description "It specifies the number of measurement reports that shall be taken for periodic reporting while the UE is in connected. The attribute is applicable only for Immediate MDT and when - reportingTrigger is configured for periodical measurements. In - case this attribute is not used, it carries a null semantic."; + reportingTrigger is configured for periodical measurements."; reference "Clause 5.10.6 of 3GPP TS 32.422"; } - + leaf eventThreshold { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type int64; description "Specifies the threshold which should trigger the reporting in case A2 event reporting in LTE or 1F/1l event in UMTS. The attribute is applicable only for Immediate MDT and when reportingTrigger is - configured for A2 event in LTE or 1F event or 1l event in UMTS. In - case this attribute is not used, it carries a null semantic."; + configured for A2 event in LTE or 1F event or 1l event in UMTS."; reference "Clauses 5.10.7 and 5.10.7a of 3GPP TS 32.422"; } - - leaf collectionPeriodRrmNr { + + leaf collectionPeriodRRMNR { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "1024|2048|5120|10240|60000"; } units milliseconds; - description "Specifies the collection period for collecting RRM - configured measurement samples for M4, M5 in NR. The attribute is - applicable only for Immediate MDT. In case this attribute is not - used, it carries a null semantic."; + description "Specifies the collection period for collecting RRM + configured measurement samples for M4, M5 in NR. The attribute is + applicable only for Immediate MDT."; reference "Clause 5.10.30 of 3GPP TS 32.422"; } - leaf collectionPeriodM6Nr { + leaf collectionPeriodM6NR { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum 120ms; enum 240ms; @@ -877,121 +1024,155 @@ module _3gpp-common-trace { enum 12min; enum 30min; } - description "It specifies the collection period for the Packet Delay - measurement (M6) for NR MDT taken by the gNB. The attribute is - applicable only for Immediate MDT. In case this attribute is not used, - it carries a null semantic."; + description "It specifies the collection period for the Packet Delay + measurement (M6) for NR MDT taken by the gNB. The attribute is + applicable only for Immediate MDT. "; reference "clause 5.10.34 of TS 32.422"; } - - leaf collectionPeriodM7Nr { + + leaf collectionPeriodM7NR { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "1..60"; } - description "It specifies the collection period for the Packet Loss Rate - measurement (M7) for NR MDT taken by the gNB. The attribute is - applicable only for Immediate MDT. In case this attribute is not used, - it carries a null semantic."; + description "It specifies the collection period for the Packet Loss Rate + measurement (M7) for NR MDT taken by the gNB. The attribute is + applicable only for Immediate MDT."; reference "clause 5.10.35 of TS 32.422"; } - leaf collectionPeriodRrmLte { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" - +"24000|28000|32000|64000"; + leaf collectionPeriodRRMLTE { + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; + type enumeration { + enum 100ms; + enum 1000ms; + enum 1024ms; + enum 1280ms; + enum 2048ms; + enum 2560ms; + enum 5120ms; + enum 10000ms; + enum 10240ms; + enum 1min; } - units milliseconds; description "Specifies the collection period for collecting RRM configured - measurement samples for M2, M3 in LTE. The attribute is applicable only - for Immediate MDT. In case this attribute is not used, it carries a - null semantic."; - reference "Clause 5.10.20 of 3GPP TS 32.422"; + measurement samples for M3 in LTE. The attribute is applicable only + for Immediate MDT."; + reference "Clause 5.10.20 of 3GPP TS 32.422."; } leaf measurementPeriodLTE { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; - type uint32 { - range "1024|1280|2048|2560|5120|" - +"10240|60000"; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; + type enumeration { + enum 1024ms; + enum 2048ms; + enum 5120ms; + enum 10240ms; + enum 1min; } - units milliseconds; mandatory true; - description "It specifies the measurement period for the Data Volume and - Scheduled IP throughput measurements for MDT taken by the eNB. - The attribute is applicable only for Immediate MDT. In case this - attribute is not used, it carries a null semantic."; - reference "Clause 5.10.23 of 3GPP TS 32.422"; + description "It specifies the measurement period for the + Data Volume (M4) and Scheduled IP throughput + measurements (M5) for LTE MDT taken by the eNB. + The attribute is applicable only for Immediate MDT."; + reference "Clause 5.10.23 of 3GPP TS 32.422."; } - - leaf collectionPeriodM6Lte { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + leaf collectionPeriodM6LTE { + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "1024|2048|5120|10240"; } units milliseconds; - description "Specifies the collection period for the Packet Delay - measurement (M6) for MDT taken by the eNB. The attribute is applicable - only for Immediate MDT. In case this attribute is not used, + description "Specifies the collection period for the Packet Delay + measurement (M6) for MDT taken by the eNB. The attribute is applicable + only for Immediate MDT. In case this attribute is not used, it carries a null semantic."; - reference "Clause 5.10.32 of TS 32.422 "; + reference "Clause 5.10.32 of TS 32.422. "; } - - leaf collectionPeriodM7Lte { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + leaf collectionPeriodM7LTE { + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint16 { range 1..60 ; } - description "It specifies the collection period for the Packet Loss Rate - measurement (M7) for LTE MDT taken by the eNB. The attribute is - applicable only for Immediate MDT. In case this attribute - is not used, it carries a null semantic."; - reference "Clause 5.10.33 of TS 32.422 ."; + description "It specifies the collection period for the Packet Loss Rate + measurement (M7) for LTE MDT taken by the eNB. The attribute is + applicable only for Immediate MDT."; + reference "Clause 5.10.33 of TS 32.422."; } - leaf eventThresholdUphUmts { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + leaf eventThresholdUphUMTS { + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint16 { range 0..31 ; - } - description "It specifies the threshold which should trigger - the reporting in case of event-triggered periodic reporting for M4 - (UE power headroom measurement) in UMTS. In case this attribute is - not used, it carries a null semantic."; - reference "5.10.39 of TS 32.422"; + } + description "It specifies the threshold which should trigger + the reporting in case of event-triggered periodic reporting for M4 + (UE power headroom measurement) in UMTS."; + reference "Clause 5.10.39 of TS 32.422."; } - leaf collectionPeriodRrmUmts { + leaf collectionPeriodRRMUMTS { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { - range "1024|1280|2048|2560|5120|" - +"10240|60000"; + range "100|250|500|1000|2000|" + +"3000|4000|6000"; } units milliseconds; description "Specifies the collection period for collecting RRM configured measurement samples for M3, M4, M5 in UMTS. The attribute is applicable - only for Immediate MDT. In case this attribute is not used, it carries - a null semantic"; - reference "Clause 5.10.21 of 3GPP TS 32.422"; + only for Immediate MDT. "; + reference "Clause 5.10.21 of 3GPP TS 32.422."; } - leaf measurementPeriodUmts { + leaf measurementPeriodUMTS { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + 'or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { - range "250|500|1000|2000|3000|4000|6000|8000|12000|16000|20000|" + range "1000|2000|3000|4000|6000|8000|12000|16000|20000|" +"24000|28000|32000|64000"; } units milliseconds; - mandatory true; description "It specifies the measurement period for the Data Volume and Throughput measurements for MDT taken by RNC. The attribute is applicable only for Immediate MDT. In case this @@ -1001,7 +1182,11 @@ module _3gpp-common-trace { leaf measurementQuantity { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum CPICH_ECNO; enum CPICH_RSCP; @@ -1009,31 +1194,39 @@ module _3gpp-common-trace { } description "It specifies the measurements that are collected in an MDT job for a UMTS MDT configured for event triggered reporting."; - reference "Clause 5.10.15 of 3GPP TS 32.422"; + reference "Clause 5.10.15 of 3GPP TS 32.422."; } - + leaf beamLevelMeasurement { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type boolean; default false; - description "Indicates whether the NR M1 beam level measurements shall + description "Indicates whether the NR M1 beam level measurements shall be included or not."; - reference "Clause 5.10.40 of TS 32.422"; + reference "Clause 5.10.40 of 3GPP TS 32.422."; } leaf positioningMethod { when '../../../jobType = "IMMEDIATE_MDT_ONLY"' - + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"'; + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum GNSS; enum E_CELL_ID; } description "It specifies what positioning method should be used in the MDT job."; - reference "Clause 5.10.19 of 3GPP TS 32.422"; + reference "Clause 5.10.19 of 3GPP TS 32.422."; } - + list excessPacketDelayThresholds { description "Excess packet delay thresholds info for M6 UL measurement."; min-elements 1; @@ -1041,7 +1234,7 @@ module _3gpp-common-trace { leaf idx { type string; } uses ExcessPacketDelayThresholdsGrp; } - + leaf reportAmountM1LTE { type enumeration { enum 1; @@ -1053,16 +1246,14 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for LTE. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for LTE."; + reference "Clause 5.10.19 of 3GPP TS 32.422."; } - + leaf reportAmountM4LTE { type enumeration { enum 1; @@ -1074,14 +1265,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for LTE. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for LTE."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM5LTE { @@ -1095,14 +1284,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for LTE. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for LTE."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM6LTE { @@ -1116,14 +1303,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for LTE. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for LTE."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM7LTE { @@ -1137,14 +1322,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for LTE. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for LTE."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM1NR { @@ -1158,14 +1341,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for NR. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for NR."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM4NR { @@ -1179,14 +1360,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for NR. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for NR."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM5NR { @@ -1200,14 +1379,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for NR. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for NR."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM6NR { @@ -1221,14 +1398,12 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for NR. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for NR."; + reference "Clause 5.10.6 of TS 32.422."; } leaf reportAmountM7NR { @@ -1242,92 +1417,115 @@ module _3gpp-common-trace { enum 64; enum INFINITY; } - description "It specifies the number of measurement reports that shall be - taken for periodic reporting while the UE is in connected mode. - The attribute is applicable only for Immediate MDT and combined Trace - and Immediate MDT and when reportingTrigger is configured for periodical - measurements and applicable only for NR. In case this attribute is not - used, it carries a null semantic. - See the clause 5.10.6 of TS 32.422 for additional details on the - allowed values."; + description "It specifies the number of measurement reports that shall be + taken for periodic reporting while the UE is in connected mode. + The attribute is applicable only for Immediate MDT and combined Trace + and Immediate MDT and when reportingTrigger is configured for periodical + measurements and applicable only for NR."; + reference "Clause 5.10.6 of TS 32.422."; } } grouping LoggedMdtConfigGrp { - description "This <> defines the configuration parameters of - IOC TraceJob which are specific for Logged MDT or Logged MBSFN MDT. - The optional attribute plmnList allows to specify the PLMNs where - measurement collection, status indication and log reporting is allowed, - the optional attribute areaConfigurationForNeighCell allows to specify - the area for which UE is requested to perform measurements logging for - neighbour cells which have list of frequencies. For logged MDT in UMTS - and LTE, the reporting is periodical. Parameter loggingInterval determines - the interval between the reports and parameter loggingDuration determines - how long the configuration is valid meaning after this duration has passed - no further reports are sent. In NR, the reporting can be periodical or event - based, determined by parameter reportType. For periodical reporting the - same parameters as in LTE and UMTS apply. For event based reporting, - parameter eventListForEventTriggeredMeasurement configures the event type, - namely 'out of coverage' or 'L1 event'. In case 'L1 event' is selected as - event type, the logging is performed according to parameter loggingInterval - at regular intervals only when the conditions indicated by eventThresholdL1, - hysteresisL1, timeToTriggerL1 (defining the thresholds, hysteresis and time - to trigger) are met and if UE is 'camped normally' state (TS 38.331, - TS 38.304). In case 'out of coverage' is selected as event type, the - logging is performed according to parameter loggingInterval at regular - intervals only when the UE is in 'any cell selection' state. - Furthermore, logging is performed immediately upon transition from the - 'any cell selection' state to the 'camped normally' state (TS 38.331, - TS 38.304)."; - + description "This <> defines the configuration parameters of + IOC TraceJob which are specific for Logged MDT or Logged MBSFN MDT. + + Based on the value configured for attribute jobType in IOC TraceJob, + different attributes are available. In case of LOGGED_MDT_ONLY, the + attributes reportType, eventListForEventTriggeredMeasurement, + eventThresholdL1, hysteresisL1, timeToTriggerL1, + areaConfigurationForNeighCells and npnIdentityList are applicable. + In case of LOGGED_MBSFN_MDT, + the attribute mbsfnAreaList is applicable. The optional attribute + plmnList allows to specify the PLMNs where + measurement collection, status indication and log reporting is + allowed, the optional attribute areaConfigurationForNeighCell + allows to specify the area for which UE is requested to perform + measurements logging for neighbour cells which have list of + frequencies. + + For logged MDT in UMTS and LTE, the reporting is periodical. Parameter + loggingInterval determines the interval between the reports and parameter + loggingDuration determines how long the configuration is valid meaning + after this duration has passed no further reports are sent. In NR, the + reporting can be periodical or event based, determined by parameter + reportType. For periodical reporting the same parameters as in LTE and + UMTS apply. For event based reporting, + parameter eventListForEventTriggeredMeasurement configures the event type, + namely 'out of coverage' or 'L1 event'. In case 'L1 event' is selected as + event type, the logging is performed according to parameter loggingInterval + at regular intervals only when the conditions indicated by + eventThresholdL1, hysteresisL1, timeToTriggerL1 (defining the thresholds, + hysteresis and time to trigger) are met and if UE is 'camped normally' + state (TS 38.331, + TS 38.304). In case 'out of coverage' is selected as event type, the + logging is performed according to parameter loggingInterval at regular + intervals only when the UE is in 'any cell selection' state. + Furthermore, logging is performed immediately upon transition from the + 'any cell selection' state to the 'camped normally' state (TS 38.331, + TS 38.304)."; + leaf traceCollectionEntityId { type int64; - description "It specifies the TCE Id which is sent to the UE in - Logged MDT. See the clause 5.10.11 of 3GPP TS 32.422 for additional - details on the allowed values."; + description "It specifies the TCE Id which is sent to the UE in + Logged MDT."; + reference "Clause 5.10.11 of 3GPP TS 32.422."; } - + leaf loggingDuration { - when '../../../jobType = "LOGGED_MDT_ONLY" or' - + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "600|1200|2400|3600|5400|7200"; } units seconds; description "Specifies how long the MDT configuration is valid at the UE in case of Logged MDT. The attribute is applicable only for - Logged MDT and Logged MBSFN MDT. In case this attribute is not used, it - carries a null semantic."; - reference "5.10.9 of 3GPP TS 32.422"; + Logged MDT and Logged MBSFN MDT."; + reference "Clause 5.10.9 of 3GPP TS 32.422"; } leaf loggingInterval { - when '../../../jobType = "LOGGED_MDT_ONLY" or' - + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; - type uint32 { - range "0|320|640|1280|2560|5120|10240|20480|" - +"30720|40960|61440"; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; + type enumeration { + enum 320ms; + enum 640ms; + enum 1280ms; + enum 2560ms; + enum 5120ms; + enum 10240ms; + enum 20480ms; + enum 30720ms; + enum 40960ms; + enum 61440ms; + enum INFINITY; } - units milliseconds; description "Specifies the periodicty for Logged MDT. The attribute is - applicable only for Logged MDT and Logged MBSFN MDT. In case this - attribute is not used, it carries a null semantic. - The value 0 indicates Infinity for NR."; - reference "5.10.8 of 3GPP TS 32.422"; + applicable only for Logged MDT and Logged MBSFN MDT."; + reference "Clause 5.10.8 of 3GPP TS 32.422"; } - + leaf reportType { - when '../../../jobType = "IMMEDIATE_MDT_ONLY"'; + when '../../../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_TRACE"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum PERIODICAL; enum EVENT_TRIGGERED; } description "It specifies report type for logged NR MDT"; - reference "Clause 5.10.27 of 3GPP TS 32.422"; + reference "Clause 5.10.27 of 3GPP TS 32.422."; } - + leaf eventListForEventTriggeredMeasurement { - when '../../../jobType = "LOGGED_MDT_ONLY"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type enumeration { enum OUT_OF_COVERAGE ; enum A2_EVENT ; @@ -1338,67 +1536,58 @@ module _3gpp-common-trace { condition being fulfilled: - Out of coverage. - A2 event."; - reference "Clause 5.10.28 of 3GPP TS 32.422"; + reference "Clause 5.10.28 of 3GPP TS 32.422."; } leaf eventThresholdL1 { - when '../../../jobType = "LOGGED_MDT_ONLY" or' - + ' ../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "0..127"; } - description "It specifies the threshold which should trigger - the reporting in case of event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT and when reportType - is configured for event triggered reporting and when - eventListForEventTriggeredMeasurement is configured for L1 event. - In case this attribute is not used, it carries a null semantic."; + description "It specifies the threshold which should trigger + the reporting in case of event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT and when reportType + is configured for event triggered reporting and when + eventListForEventTriggeredMeasurement is configured for L1 event."; reference "clause 5.10.36 of TS 32.422"; } - + leaf hysteresisL1 { - when '../../../jobType = "LOGGED_MDT_ONLY" or ' - + '../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type uint32 { range "0..30"; } - description "It specifies the hysteresis used within the entry and leave - condition of the L1 event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT, when reportType - is configured for event triggered reporting and when - eventListForEventTriggeredMeasurement is configured for L1 event. - In case this attribute is not used, it carries a null semantic."; + description "It specifies the hysteresis used within the entry and leave + condition of the L1 event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT, when reportType + is configured for event triggered reporting and when + eventListForEventTriggeredMeasurement is configured for L1 event."; reference "clause 5.10.37 of TS 32.422"; } leaf timeToTriggerL1 { - when '../../../jobType = "LOGGED_MDT_ONLY" or ' - + '../../../jobType = "LOGGED_MBSFN_MDT"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "LOGGED_MBSFN_MDT" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; type int32 { range 0|40|64|80|100|128|160|256|320|480|512|640|1024|1280|2560|5120; } units milliseconds; - description "It specifies the threshold which should trigger - the reporting in case of event based reporting of logged NR MDT. - The attribute is applicable only for Logged MDT, when reportType - is configured for event triggered reporting and when - eventListForEventTriggeredMeasurement is configured for L1 event. - In case this attribute is not used, it carries a null semantic."; - reference "clauses 5.10.38 of TS 32.422"; - } - - list pLMNList { - when '../../../jobType = "LOGGED_MDT_ONLY"'; - key "mcc mnc"; - uses types3gpp:PLMNId; - max-elements 16; - description "It indicates the PLMNs where measurement collection, status - indication and log reporting is allowed."; - reference "Clause 5.10.24 of 3GPP TS 32.422"; + description "It specifies the threshold which should trigger + the reporting in case of event based reporting of logged NR MDT. + The attribute is applicable only for Logged MDT, when reportType + is configured for event triggered reporting and when + eventListForEventTriggeredMeasurement is configured for L1 event."; + reference "clause 5.10.38 of TS 32.422"; } - + list areaConfigurationForNeighCells { - when '../../../jobType = "LOGGED_MDT_ONLY"'; + when '../../../jobType = "LOGGED_MDT_ONLY" or' + + ' ../../../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; key "idx"; leaf idx { type uint32 ; } description "It specifies the area for which UE is requested to perform @@ -1407,7 +1596,7 @@ module _3gpp-common-trace { all the neighbour cells. Applicable only to NR Logged MDT."; - reference "3GPP TS 32.422 clause 5.10.26."; + reference "Clause 5.10.26 of 3GPP TS 32.422."; uses AreaConfigGrp; } @@ -1419,70 +1608,70 @@ module _3gpp-common-trace { description "The MBSFN Area consists of a MBSFN Area ID and Carrier Frequency (EARFCN). The target MBSFN area List can have up to 8 entries. This parameter is applicable only if the job type is Logged MBSFN MDT."; - reference "5.10.25 of 3GPP TS 32.422"; - + reference "Clause 5.10.25 of 3GPP TS 32.422."; + uses MbsfnAreaGrp; } - + list nPNIdentityList { - description "It defines which NPNs that can be served by the NR cell, - and which CAG IDs or NIDs can be supported by the NR cell for - corresponding PNI-NPN or SNPN."; + description "It defines which NPNs that can be served by the NR cell, + and which CAG IDs or NIDs can be supported by the NR cell for + corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell. + (NPN-Identity referring to TS 38.331)"; key idx; - max-elements 1; - uses NpnIdGrp; + max-elements 1; + uses types3gpp:NpnIdGrp; leaf idx { type string;} } } grouping MdtConfigGrp { - description "Defines the configuration parameters of IOC - TraceJob which are specific for MDT. The attribute - anonymizationOfMdtData specifies the level of anonymization - of MDT data. The optional attribute areaScope allows to - specify the area in terms of cells or Tracking Area/Routing - Area/Location area where the MDT data collection shall take - place. In case of RLF_REPORT_ONLY and RCEF_REPORT_ONLY the - optional attribute areaScope allows to specify the eNB or list - of eNBs or gNB or list of gNBs where the reports should be - collected. The optional attribute sensorInformation allows to - specify the sensor information to include. Based on the value - configured for attribute jobType in IOC TraceJob, the attributes - immediateMdtConfig or loggedMdtConfig are available: In case of - IMMEDIATE_MDT_ONLY or IMMEDIATE_MDT_AND_TRACE the attribute - immediateMdtConfig is applicable. In case of LOGGED_MDT_ONLY or - LOGGED_MBSFN_MDT the attribute loggedMdtConfig is applicable."; - - leaf anonymizationOfMDTData { + description "Defines the configuration parameters of IOC TraceJob which are + specific for MDT or any combination of MDT. + + The attribute anonymizationOfMdtData specifies the level of anonymization + of MDT data. + + The attribute areaScope defines the area scope + of MDT, which is specified in clause 5.10.2 of TS 32.422. + + The optional attribute sensorInformation allows to specify + the sensor information to include. + + The attribute trsrPrefixCfg contains the TRSR prefix + configuration parameters which shall be used by the NR-RAN nodes + during TRSR assignment for a C-MDT job. + + Based on the value configured for attribute jobType in IOC + TraceJob, the attributes immediateMdtConfig or loggedMdtConfig + or both are available: If the attribute jobType indictes immediate MDT, + the attribute immediateMdtConfig is applicable. If the attribute jobType + indictes logged MDT or logged MBSFN MDT, the attribute loggedMdtConfig is + applicable. If the attribute jobType indictes both immediate MDT and + logged MDT, both the attribute immediateMdtConfig and + the attribute loggedMdtConfig are applicable. + + The optional attribute plmnList allows to specify the PLMNs where + measurements collection, status indication and log reporting is allowed."; + + leaf anonymizationOfMdtData { when ../areaScope ; type enumeration { enum NO_IDENTITY; enum TAC_OF_IMEI; } default NO_IDENTITY; - description "Specifies level of MDT anonymization."; - reference "3GPP TS 32.422 clause 5.10.12."; + description "Specifies level of anonymization of MDT data. + This attribute is only applicable for management based activation."; + reference "Clause 5.10.12 of 3GPP TS 32.422"; } list areaScope { key "idx"; leaf idx { type uint32 ; } - description "It specifies the area where data shall be collected. - List of eNB/list of gNB/eNB/gNB for RLF or RCEF. - - List of cells/TA/LA/RA for signaling based MDT or management - based Logged MDT. - - List of cells for management based Immediate MDT. - - List of NPN IDs for management based MDT. - - Cell, TA, LA, RA are mutually exclusive. - - This attribute shall be present if MDT is supported."; - reference "Clause 5.10.2 of 3GPP TS 32.422"; - - uses AreaScopeGrp; + description "It specifies the area where data shall be collected. "; + max-elements 1; + uses AreaScopeGrp; } leaf-list sensorInformation { @@ -1492,70 +1681,123 @@ module _3gpp-common-trace { enum UE_ORIENTATION; } description "It specifies which sensor information shall be included in - logged NR MDT and immediate NR MDT measurement if they are available. - The following sensor measurement can be included or excluded for - the UE."; - reference "Clause 5.10.29 of 3GPP TS 32.422"; + logged NR MDT and immediate NR MDT measurement if they are available."; + reference "Clause 5.10.29 of 3GPP TS 32.422."; } list immediateMdtConfig { - description "The set of parameters specific for Immediate MDT - configuration. - This attribute shall be present only if MDT is supported and the jobType - attribute is set to Immediate MDT or combined Trace and Immediate MDT"; + description "The set of parameters specific for Immediate MDT + configuration."; key idx; max-elements 1; leaf idx { type string; } uses ImmediateMdtConfigGrp; } - + list loggedMdtConfig { - description "The set of parameters specific for Logged MDT and Logged - MBSFN MDT configuration. - This attribute shall be present only if MDT is supported and the - jobType attribute is set to Logged MDT or Logged MBSFN MDT."; + description "The set of parameters specific for Logged MDT and Logged + MBSFN MDT configuration."; key idx; max-elements 1; leaf idx { type string; } uses LoggedMdtConfigGrp; - } + } + + leaf mNOnly { + type boolean; + default false; + description "Specifies whether the MDT configuration is for MN + only or not. The value FALSE means the MDT configuration is for + both MN and SN. The value TRUE means the MDT configuration is + for MN only."; + } + + list plmnList { + key "mcc mnc"; + uses types3gpp:PLMNId; + max-elements 16; + description "It indicates the PLMNs where measurement collection, status + indication and log reporting is allowed."; + reference "Clause 5.10.24 of 3GPP TS 32.422."; + } + + list trsrPrefixCfg { + key "idx"; + max-elements 1; + description "The TRSR prefix configuration parameters which are used by + NR-RAN at TRSR assignment for a given C-MDT job. It defines both the + base TRSR prefix and the size of the TRSR prefix. The attribute + trstPrefix specifies the base TRSR prefix. The attribute + trsrPrefixLength defines the size of base TRSR prefix."; + reference "Clause 5.10 of 3GPP TS 32.422."; + leaf idx { type uint32 ; } + uses trace3gpp:trsrPrefixCfgGrp ; + } } - grouping UEMeasConfigGrp { - description "Represents the UEMeasConfig dataType. + grouping UECoreMeasConfigGrp { + description "Represents the UECoreMeasConfig dataType. This <> defines the aconfiguration parameters of IOC TraceJob which are specific for UE level measurements collection."; - - leaf-list ueMeasurements { + + leaf-list ueCoreMeasurements { type string; - description "It specifies the List of UE level measurements."; + min-elements 1; + description "List of 5GC UE level measurements identified by name. + + The list may include 5GC UE level measurements defined in TS 28.558, + or vendor specific measurements. + + For non-3GPP specified 5GC UE level measurements the name is defined + elsewhere."; } - leaf ueMeasGranularityPeriod { + leaf ueCoreMeasGranularityPeriod { type uint32; - description "It specifies the Granularity period used to produce UE level - measurements. The period is defined in milliseconds (ms)."; + mandatory true; + units milliseconds; + description "Granularity period used to produce 5GC UE + level measurements. The period is defined in milliseconds (ms)."; } leaf nfTypeToMeasure { type string; mandatory true; - description "It indicates the type of NE to produce the 5GC UE level + description "It indicates the type of NE to produce the 5GC UE level measurements. - - allowedValues: The NF types represented by the measured object - classes as defined by f) of the 5GC UE level measurements specified + + allowedValues: The NF types represented by the measured object + classes as defined by f) of the 5GC UE level measurements specified in TS 28.558."; - } - + } + leaf-list objectInstances { type string; - description "List of object instances."; + description "List of object instances. + Each object instance is identified by its DN."; } leaf-list rootObjectInstances { type string; - description "List of root object instances."; + description "List of root object instances. + Each object instance is identified by its DN and designates + the root of a substree that contains the root object and all + descendant objects."; + } + } + + grouping trsrPrefixCfgGrp { + leaf trstPrefix { + type string; + mandatory true; + description "A 2 byte Octet String. This is the base TRSR prefix"; + } + leaf trsrPrefixLength { + type int32; + mandatory true; + description "An integer to indicate how many bits are used for the + TRSR prefix"; + } } @@ -1573,26 +1815,36 @@ module _3gpp-common-trace { enum 5GC_UE_LEVEL_MEASUREMENTS_ONLY; enum TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS; enum IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; - enum TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; + enum TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS; + enum RRC_REPORT; + enum IMMEDIATE_MDT_AND_LOGGED_MDT; } default TRACE_ONLY; - description "Specifies the MDT mode and it specifies also whether the - TraceJob represents only MDT, Logged MBSFN MDT, Trace, or 5GC UE - level measurement collection, or any combination - of Trace, immediate MDT and 5GC UE level measurement collection. - The attribute is applicable for Trace, MDT, RCEF and - RLF reporting, and 5GC UE level measurement collection."; - reference "Clause 5.9a of 3GPP TS 32.422 for additional details on the - allowed values."; + description "It specifies whether the + TraceJob represents only MDT, Trace, RLF, RCEF, RRC or 5GC UE + level measurements job, or a combined job. It also defines the + MDT mode."; + reference "Clause 5.9a of 3GPP TS 32.422."; } - + leaf-list rrcReportType { + type enumeration { + enum RLF_REPORT; + enum RCEF_REPORT; + enum SHR; + enum SPR; + enum MHI; + enum RA_REPORT; + } + description "Specifies the RRC reports requested. "; + reference "3GPP TS 38.331"; + } + list pLMNTarget { key "mcc mnc"; - description "Specifies which PLMN that the subscriber of the session to - be recorded uses as selected PLMN. PLMN Target might differ from the - PLMN specified in the Trace Reference"; + description "It specifies which PLMN that the subscriber of the session to + be recorded uses as selected PLMN."; reference "Clause 5.9b of 3GPP TS 32.422"; - + uses types3gpp:PLMNId; } @@ -1600,28 +1852,35 @@ module _3gpp-common-trace { when '../jobType = "TRACE_ONLY"' + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"'; type string; - description "Specifies the metrics to be reported."; + description "List of trace metrics identified by name. + Includes trace messages, MDT measurements (Immediate MDT, + Logged MDT, Logged MBSFN MDT), RLF, RCEF and RRC reports, + see TS 32.422 Trace messages are identified with their message + identifier. Trace metric identifier is constructed as defined + in clause 10 of TS 32.422. + For non-3GPP specified trace metrics the name is defined elsewhere. +"; reference "Clause 10 of 3GPP TS 32.422"; } leaf traceCollectionEntityIPAddress { type inet:ip-address; - description "It specifies the address of the Trace Collection Entity - when the attribute traceReportingFormat is configured for the - file-based reporting. The attribute is applicable for both Trace and - MDT. - See the clause 5.9 of TS 32.422 for additional details on the allowed - values."; - } - + description "It specifies the address of the Trace Collection Entity + when the attribute traceReportingFormat is configured for the + file-based reporting. The attribute is applicable for both Trace and + MDT."; + reference "Clause 5.9 of 3GPP TS 32.422."; + } + + leaf traceReportingConsumerUri { when '../traceReportingFormat = "STREAMING"'; type inet:uri; description "URI of the Streaming Trace data reporting MnS consumer (a.k.a. streaming target)."; - reference "Clause 5.9 of 3GPP TS 32.422"; + reference "Clause 5.9 of 3GPP TS 32.422."; } - + list traceReference { key "idx"; min-elements 1; @@ -1631,17 +1890,16 @@ module _3gpp-common-trace { In case of shared network, it is the MCC and MNC of the Participating Operator that request the trace session that shall be provided. The attribute is applicable for both Trace and MDT."; - reference "Clause 5.6 of 3GPP TS 32.422"; + reference "Clause 5.6 of 3GPP TS 32.422."; leaf idx { type uint32 ; } - uses trace3gpp:TraceReferenceGrp ; + uses trace3gpp:TraceReferenceGrp ; } leaf jobId { type string; yext3gpp:inVariant; description "Identifier of a TraceJob"; - yext3gpp:inVariant; } leaf traceReportingFormat { @@ -1654,12 +1912,18 @@ module _3gpp-common-trace { reporting or file-based trace reporting"; reference "3GPP TS 32.422 clause 5.11"; } - + list traceTarget { - key "targetIdType targetIdValue"; + key "traceTargetType"; max-elements 1; - - leaf targetIdType { + description "It specifies the target object of the Trace, MDT and + 5GC UE level measurements collection. The attribute is applicable for + Trace, MDT, and 5GC UE level measurements collection. + In case of management based Immediate MDT, RLF reporting, RCEF + reporting or RRC reposring, the traceTarget attribute shall be null + value."; + + leaf traceTargetType { type enumeration { enum IMSI; enum IMEI; @@ -1672,54 +1936,75 @@ module _3gpp-common-trace { enum RNC; enum GNB; enum SUPI; + enum N4_SESSION_ID; } - } - - leaf targetIdValue { + description "It specifies the target object of the Trace, MDT and + 5GC UE level measurements collection. The attribute is applicable for + Trace, MDT, and 5GC UE level measurements collection. + + The targetIdType shall be PUBLIC_ID in case of a Management Based + Activation is done to an SCSCFFunction (Serving Call Session Control + Function) or PCSCFFunction (Proxy Call Session Control Function) + + The targetIdType shall be UTRAN_CELL only in case of + UTRAN cell traffic trace function. + + The targetIdType shall be E-UTRAN_CELL only in case of E-UTRAN cell + traffic trace function. + + The targetIdType shall be NG-RAN_CELL only in case of NR cell + traffic trace function. + + The targetIdType shall be either IMSI, IMEI or + IMEISV if the Trace Session is activated to any of the following + ManagedEntity(ies): + - HssFunction + - MscServerFunction + - SgsnFunction + - GgsnFunction + - BmscFunction + - RncFunction + - MmeFunction + - ServingGWFunction + - PGWFunction + + The targetIdType shall be either SUPI or IMEISV if the Trace Session + is activated to any of the following ManagedEntity(ies): + - AFFunction + - AMFFunction + - AUSFunction + - NEFFunction + - NRFFunction + - NSSFFunction + - PCFFunction + - SMFFunction + - UPFFunction + - UDMFunction + + In case of signalling based MDT, the targetIdType shall be + able to carry PUBLIC_ID, IMSI, IMEI, IMEISV or SUPI. + + In case of management based Logged MDT, the targetIdType + shall carry an eNB or a gNB or an RNC. + The Logged MDT should be initiated on the specified eNB/gNB/RNC in + targetIdValueList. + + In case of signalling based 5GC UE level measurements collection, + the targetIdTypee shall be able to carry IMEISV or SUPI. + + In case of management based 5GC UE level measurements collection, + the targetIdType shall be able to carry the corresponding + Measured UE Identifier as defined by the bullet g) of the 5GC UE + level measurements (see TS 28.558) when the TraceJob is created at + the subject ManagedEntity."; + } + + leaf-list traceTargetValueList { type string; + description "It specifies the ID value(s) of the target object defined + by traceTargetType"; } - description "Specifies the target object of the Trace and MDT. The - attribute is applicable for both Trace and MDT. This attribute - includes the ID type of the target as an enumeration and the ID value. - - The traceTarget shall be public ID in case of a Management Based - Activation is done to an ScscfFunction. The traceTarget shall be - cell only in case of the UTRAN cell traffic trace function. - - The traceTarget shall be E-UtranCell only in case of E-UTRAN cell - traffic trace function.The traceTarget shall be either IMSI or - IMEI(SV) if the Trace Session is activated to any of the following - ManagedEntity(ies): - - HssFunction - - MscServerFunction - - SgsnFunction - - GgsnFunction - - BmscFunction - - RncFunction - - MmeFunction - - The traceTarget shall be IMSI if the Trace Session is activated to a - ManagedEntity playing a role of ServinGWFunction. - - In case of signaling based Trace/MDT, the traceTarget attribute shall - be able to carry (IMSI or IMEI(SV)or SUPI), the mDTAreaScope attribute - shall be able to carry a list of (cell or E-UtranCell or NRCellDU or - TA/LA/RA). - - In case of management based Immediate MDT, the traceTarget attribute - shall be null value, the mDTAreaScope attribute shall carry a list of - (Utrancell or E-UtranCell or NRCellDU). - - In case of management based Logged MDT, the traceTarget attribute - shall carry an eBs or a RNC or gNBs. The Logged MDT should be initiated - on the specified eNB or RNC or gNB in traceTarget. The mDTAreaScope - attribute shall carry a list of (Utrancell or E-UtranCell or NRCellDU or - TA/LA/RA). - - In case of RLF reporting, or RCEF reporting, the traceTarget - attribute shall be null value, the mDTAreaScope attribute shall carry - one or list of eNBs/gNBs"; reference "3GPP TS 32.422"; } @@ -1727,51 +2012,72 @@ module _3gpp-common-trace { when '../jobType = "TRACE_ONLY"' + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' + ' or ../jobType = "TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = - "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; + + ' or ../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; key idx; description "Trace config"; max-elements 1; - uses TraceConfigGrp; + uses TraceConfigGrp; leaf idx { type string; } } - - list mdtConfig { + + list mdtConfig { when '../jobType = "IMMEDIATE_MDT_ONLY"' + + ' or ../jobType = "LOGGED_MDT_ONLY"' + ' or ../jobType = "IMMEDIATE_MDT_AND_TRACE"' - + ' or ../jobType = "RLF_REPORT_ONLY"' - + ' or ../jobType = "RCEF_REPORT_ONLY"' + ' or ../jobType = "LOGGED_MBSFN_MDT"' + ' or ../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = - "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; + + ' or ../jobType = + "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' + + ' or ../jobType = "IMMEDIATE_MDT_AND_LOGGED_MDT"'; key idx; - description "MDT config"; - max-elements 1; + description "This <> defines the configuration parameters of + IOC TraceJob which are specific for MDT or any combination of MDT. + The attribute anonymizationOfMdtData specifies the level of + anonymization of MDT data. + The optional attribute areaScopedefines the area scope of MDT, which + is specified in clause 5.10.2 of TS 32.422. + The attribute sensorInformation allows to specify the sensor + information to include. + The attribute trsrPrefixCfg contains the TRSR prefix + configuration parameters which shall be used by the NR-RAN nodes + during TRSR assignment for a C-MDT job. + Based on the value configured for attribute jobType in IOC TraceJob, + the attributes immediateMdtConfig or loggedMdtConfig or both are + available: If the attribute jobType indictes immediate MDT, the + attribute immediateMdtConfig is applicable. If the attribute jobType + indictes logged MDT or logged MBSFN MDT, the attribute loggedMdtConfig + is applicable. If the attribute jobType indictes both immediate MDT + and logged MDT, both the attribute immediateMdtConfig and the + attribute loggedMdtConfig are applicable. + The optional attribute plmnList allows to specify the PLMNs where + measurements collection, status indication and log reporting is + allowed."; + max-elements 1; uses MdtConfigGrp; - leaf idx { type string; } + leaf idx { type string; } } - list ueMeasConfig { + list ueCoreMeasConfig { when '../jobType = "5GC_UE_LEVEL_MEASUREMENTS_ONLY"' + ' or ../jobType = "TRACE_AND_5GC_UE_LEVEL_MEASUREMENTS"' + ' or ../jobType = "IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"' - + ' or ../jobType = + + ' or ../jobType = "TRACE_AND_IMMEDIATE_MDT_AND_5GC_UE_LEVEL_MEASUREMENTS"'; key idx; description "5GC UE level measurements config"; - max-elements 1; - uses UEMeasConfigGrp; - leaf idx { type string; } + max-elements 1; + uses UECoreMeasConfigGrp; + leaf idx { type string; } } - + list nPNTarget { - description "applicable only for NR and shall be present in case of NPN - either a PNI-NPN or a SNPN) and for management-based activation when + description "applicable only for NR and shall be present in case of NPN + either a PNI-NPN or a SNPN) and for management-based activation when several NPNs are supported in the RAN."; key idx; - max-elements 1; - uses NpnIdGrp; + max-elements 1; + uses types3gpp:NpnIdGrp; leaf idx { type string;} } } @@ -1779,7 +2085,7 @@ module _3gpp-common-trace { grouping TraceSubtree { description "Contains classes that manage Tracing. Should be used in all classes (or classes inheriting from) - - SubNnetwork + - SubNetwork - ManagedElement - ManagedFunction @@ -1787,65 +2093,70 @@ module _3gpp-common-trace { augment all user classes!"; list TraceJob { - description "A TraceJob instance represents the Trace Control and - Configuration parameters of a particular Trace Job (see TS 32.421 and - TS 32.422 for details). It can be name-contained by SubNetwork, + description "A TraceJob instance represents the Trace Control and + Configuration parameters of a particular Trace Job (see TS 32.421 and + TS 32.422 for details). It can be name-contained by SubNetwork, ManagedElement, ManagedFunction. - To activate Trace Jobs, a MnS consumer has to create TraceJob object - instances on the MnS producer. A MnS consumer can activate a Trace Job - for another MnS consumer since it is not required the value of - traceCollectionEntityIPAddress or traceReportingConsumerUri to be + To activate Trace Jobs, a MnS consumer has to create TraceJob object + instances on the MnS producer. A MnS consumer can activate a Trace Job + for another MnS consumer since it is not required the value of + traceCollectionEntityIPAddress or traceReportingConsumerUri to be his own. - For the details of Trace Job activation see clauses 4.1.1.1.2 and + For the details of Trace Job activation see clauses 4.1.1.1.2 and 4.1.2.1.2 of TS 32.422. - When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer - shall delete the corresponding TraceJob instance. - + When a MnS consumer wishes to deactivate a Trace Job, the MnS consumer + shall delete the corresponding TraceJob instance. + For details of management Trace Job activation/deactivation see clause 4.1.1.1.2 of TS 32.422. - The attribute traceReference specifies a globally unique ID and - identifies a Trace session. One Trace Session may be activated to + The attribute traceReference specifies a globally unique ID and + identifies a Trace session. One Trace Session may be activated to multiple Network Elements. The traceReference is populated by the consumer that makes the request for a Trace Session. - The jobId attribute presents the job identifier of a TraceJob instance. - The jobId can be used to associate multiple TraceJob instances. - For example, it is possible to configure the same jobId value for - multiple TraceJob instances required to produce the data (e.g. RSRP + The jobId attribute presents the job identifier of a TraceJob instance. + The jobId can be used to associate multiple TraceJob instances. + For example, it is possible to configure the same jobId value for + multiple TraceJob instances required to produce the data (e.g. RSRP values of M1 and RLF reports) for a specific network analysis. - The attribute traceReportingFormat defines the method for reporting - the produced measurements. The selectable options are file-based or - stream-based reporting. In case of file-based reporting the attribute - traceCollectionEntityIPAddress is used to specify the IP address to - which the trace records shall be transferred, while in case of - stream-based reporting the attribute traceReportingConsumerUri + The attribute traceReportingFormat defines the method for reporting + the produced measurements. The selectable options are file-based or + stream-based reporting. In case of file-based reporting the attribute + traceCollectionEntityIPAddress is used to specify the IP address to + which the trace records shall be transferred, while in case of + stream-based reporting the attribute traceReportingConsumerUri specifies the streaming target. - The mandatory attribute traceTarget determines the target object of - the TraceJob. Dependent on the network element to which the Trace - Session is activated different types of the target object are possible. - The attribute pLMNTarget defines the PLMN for which sessions shall be - selected in the Trace Session in case of management based activation - when several PLMNs are supported in the RAN. - - The attribute jobType specifies the kind of data to collect. In case of - Trace only, the configuration parameters of attribute traceConfig shall - be applied. In case of Immediate MDT only, Logged MDT only, RLF reports - only, RCEF reports only and Logged MBSFN MDT, the configuration - parameters of attribute mdtConfig or a subset of these shall be - applied. In case of UE measurements only, the configuration parameters - of attribute ueMeasConfig shall be applied. In case of any combination - of Trace, Immediate MDT, Trace and UE measurements, the configuration - parameters of the corresponding attributes traceConfig, mdtConfig and - ueMeasConfig are applicable. - - Creation and deletion of TraceJob instances by MnS consumers is - optional; when not supported, the TraceJob instances may be created + The mandatory attribute traceTarget determines the target object of + the TraceJob. Dependent on the network element to which the Trace + Session is activated different types of the target object are possible. + The attribute pLMNTarget defines the PLMN for which sessions shall be + selected in the Trace Session in case of management based activation + when several PLMNs are supported in the RAN.The MDT configuration may + include area scope defined by network slice, in which case + the attribute pLMNTarget is not applicable. + + The attribute listOfTraceMetrics allows configuraton of which metrics + shall be recorded. + + The attribute jobType specifies the kind of data to collect. In case + of TRACE_ONLY, the configuration parameters of attribute traceConfig + shall be applied. If the attribute jobType contains IMMEDIATE_MDT, + LOGGED_MDT and LOGGED_MBSFN_MDT the configuration parameters of + attribute mdtConfig or a subset of these shall be applied. If the + attribute jobType contains 5GC_UE_LEVEL_MEASUREMENTS, the configuration + parameters of attribute ueCoreMeasConfig shall be applied. + + If jobType has the value RRC_REPORT, the attribute rrcReportType shall + be present. The rrcReportType allows the tracing of RRC reports. + + 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."; key id; diff --git a/yang-models/_3gpp-common-util.yang b/yang-models/_3gpp-common-util.yang index 6e58aa14fcdb98d95f9dc78d1c20c12fcf447b0c..040b1f5010b4f58a92f84213d95b09651f0fd7b4 100644 --- a/yang-models/_3gpp-common-util.yang +++ b/yang-models/_3gpp-common-util.yang @@ -3,6 +3,7 @@ module _3gpp-common-util { namespace urn:3gpp:sa5:_3gpp-common-util; prefix "util3gpp"; + import ietf-yang-types { prefix yang ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp ; } import _3gpp-common-managed-element { prefix me3gpp ; } @@ -16,6 +17,8 @@ module _3gpp-common-util { TTA, TTC). All rights reserved."; reference "3GPP TS 28.623"; + revision 2024-08-13 { reference CR-0387; } + revision 2024-07-30 { reference "CR-0392 CR-0393"; } revision 2024-05-06 { reference CR-0359; } feature SchedulerUnderManagedElement { @@ -88,7 +91,7 @@ module _3gpp-common-util { must 'not(../daysOfWeek)'; description "Shall be present in case of Monthly periodicity, otherwise not"; - type types3gpp:DaysOfMonth; + type types3gpp:DateMonthDay; } } } @@ -157,14 +160,22 @@ module _3gpp-common-util { description "Represents the Scheduler IOC."; leaf condition { - type string { + type yang:xpath1.0 { length 1..max; } mandatory true; - description "Logical expression of one or several condition(s). - - A restricted XPath may be used. The definition of the exact syntax - is not ready yet. + description "A logical condition containing an XPath expression. + The leaf contains an XPath 1.0 string with the following restrictions + - The accessible tree is the full Network Resource Model + - The root node is the list representing the top level MOI + (E.g. ManagedElement) + - In the accessible tree, all leafs and leaf-lists with default values + in use exist + - The data tree has no concept of document order except when 'ordered-by + user' is declared. + - The set of variable bindings is empty. + - The function library is the core function library defined in XPATH + - Namespaces should be ignored when evaluating the expression An empty string is not allowed."; } @@ -173,7 +184,8 @@ module _3gpp-common-util { type boolean; mandatory true; config false; - description "Switches between TRUE and FALSE depending upon whether the + description "The boolean result of the condition. + Switches between TRUE and FALSE depending upon whether the configured constraints are fulfilled or not."; } } diff --git a/yang-models/_3gpp-common-yang-extensions.yang b/yang-models/_3gpp-common-yang-extensions.yang index dc9c8e5b5d4d34de17984cc7b005c6894d959b6e..0b1c1ee27322437cc9734a487074ef5da53f45a3 100755 --- a/yang-models/_3gpp-common-yang-extensions.yang +++ b/yang-models/_3gpp-common-yang-extensions.yang @@ -38,7 +38,7 @@ module _3gpp-common-yang-extensions { If support for an extension is missing the extension statement needs individual handling or it SHOULD be removed from the module using the extension e.g. with a deviation. - Copyright 2024, 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.623 Generic Network Resource Model (NRM) @@ -46,6 +46,7 @@ module _3gpp-common-yang-extensions { Solution Set (SS) definitions 3GPP TS 28.623"; + 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"; } @@ -65,7 +66,9 @@ module _3gpp-common-yang-extensions { Zero or one only-system-created statement per parent statement is allowed. No sub-statements are allowed. - Adding this statement is an NBC change, removing it is BC."; + Adding this statement is an NBC change, + removing it is BC, however if the system behavior is also changed in + parallel (the system stops creating the MOIs), this behavior is NBC."; } extension notNotifyable { @@ -73,14 +76,16 @@ module _3gpp-common-yang-extensions { "Indicates that data change notifications shall not be sent for this attribute. If the extension is not present and other conditions are fulfilled data change notification should be sent. + If a list or container already has the notNotifyable extension, that is also valid for all contained data nodes. The statement MUST only be a substatement of a leaf, leaf-list, list, container statement that is contained within the 'attributes' container of an IOC and that represents an attribute or sub-parts of - an attribute . - + an attribute. If the attribute is represented by a container or list, + the statement shall be put on these, not on data nodes inside the + list/container. Zero or one notNotifyable statement is allowed per parent statement. NO substatements are allowed. @@ -103,8 +108,12 @@ module _3gpp-common-yang-extensions { It is unnecessary to use and MUST NOT be used for key leafs. - The statement MUST only be a substatement of a leaf, leaf-list, list - statement that is config=true. + The statement MUST only be a substatement of a leaf, leaf-list, list, + container statement that is contained within the 'attributes' + container of an IOC and that represents an attribute or sub-parts of + an attribute and is config=true. If the attribute is represented by a + container or list, the statement shall be put on these, not on data + nodes inside the list/container. Zero or one inVariant statement is allowed per parent statement. NO substatements are allowed. diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 3c8b9c7a4299b5a44b8c95d7387ee78f145d5767..bba864e2836d03deb76227e5011b19e97053e9a6 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -2,24 +2,32 @@ module _3gpp-common-yang-types { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-common-yang-types"; prefix "types3gpp"; - + import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "The model defines a YANG mapping of the top level - information classes used for management of 5G networks and + description "The model defines a YANG mapping of the top level + information classes used for management of 5G networks and network slicing. - Copyright 2024, 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.623"; - revision 2024-05-18 { reference CR-0359; } - revision 2024-04-12 { reference CR-0346; } + + 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; } + revision 2024-11-25 { reference CR-1442; } + revision 2024-11-25 { reference CR-1412; } + revision 2024-11-01 { reference CR-0463; } + revision 2024-08-13 { reference CR-0387; } + revision 2024-05-18 { reference CR-0359; } + revision 2024-04-12 { reference CR-0346; } revision 2023-11-06 { reference CR-0305; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2023-09-18 { reference CR-0271 ; } revision 2023-08-09 { reference CR-0266; } revision 2023-05-10 { reference CR-0250; } revision 2023-02-14 { reference CR-0234; } @@ -28,7 +36,7 @@ module _3gpp-common-yang-types { revision 2022-07-26 { reference "CR-0180" ; } revision 2022-02-09 { reference "CR-0144"; } revision 2021-11-01 { reference "CR-0141"; } - + revision 2021-09-30 { description "Added Longitude, Latitude, TenthOfDegrees, OnOff."; reference "CR-0138"; @@ -43,7 +51,7 @@ module _3gpp-common-yang-types { description "Removed faulty when statements."; reference "SP-200229"; } - + revision 2019-10-25 { description "Added ManagedNFProfile."; reference "S5-194457"; @@ -64,46 +72,56 @@ module _3gpp-common-yang-types { enum ENABLED ; } } - + grouping nameValuePair { leaf name { type string; } leaf value { type string; } } - typedef DayOfWeekT { - type enumeration { - enum Monday; - enum Tuesday; - enum Wednesday; - enum Thursday; - enum Friday; - enum Saturday; - enum Sunday; - } - } - typedef DayOfWeek { type enumeration { enum MONDAY; enum TUESDAY; enum WEDNESDAY; - enum THURSADY; + enum THURSDAY; enum FRIDAY; enum SATURDAY; enum SUNDAY; } } - - typedef DaysOfMonth { + + typedef DateMonth { + type uint8 { + range 0..12; + } + } + + typedef DateMonthDay { type uint8 { range 0..31; } } - + typedef FullTime { type yang:time-with-zone-offset; } + grouping DayInYearGrp { + description "This <> represents a day in a year."; + + leaf month { + description "It indicates the month in a year."; + type DateMonth; + mandatory true; + } + + leaf monthDay { + description "It indicates the day in a month."; + type DateMonthDay; + mandatory true; + } + } + grouping TimeWindowGrp { leaf startTime { type yang:date-and-time; @@ -113,85 +131,85 @@ module _3gpp-common-yang-types { type yang:date-and-time; yext3gpp:inVariant; } - } - + } + grouping ProcessMonitorGrp { - description "Provides attributes to monitor the progress of processes - with specific purpose and limited lifetime running on MnS producers. - It may be used as data type for dedicated progress monitor attributes - when specifying the management representation of these processes. - The attributes in this clause are defined in a generic way. - For some attributes specialisations may be provided when specifying a + description "Provides attributes to monitor the progress of processes + with specific purpose and limited lifetime running on MnS producers. + It may be used as data type for dedicated progress monitor attributes + when specifying the management representation of these processes. + The attributes in this clause are defined in a generic way. + For some attributes specialisations may be provided when specifying a concrete process representation. - If a management operation on some IOCs triggers an associated - asynchronous process (whose progress shall be monitored), this should - also result in creating an attribute named 'processMonitor' (of type - 'ProcessMonitor') in these IOC(s). The processMonitor attribute may be + If a management operation on some IOCs triggers an associated + asynchronous process (whose progress shall be monitored), this should + also result in creating an attribute named 'processMonitor' (of type + 'ProcessMonitor') in these IOC(s). The processMonitor attribute may be accompanied by use-case specific additional data items. - The progress of the process is described by the 'status' and - 'progressPercentage' attributes. Additional textual qualifications for - the 'status' attribute may be provided by the 'progressStateInfo' and + The progress of the process is described by the 'status' and + 'progressPercentage' attributes. Additional textual qualifications for + the 'status' attribute may be provided by the 'progressStateInfo' and 'resultStateInfo' attributes. - When the process is instantiated, the 'status' is set to 'NOT_RUNNING' - and the 'progressPercentage' to '0'. The MnS producer decides when to - start executing the process and to transition into the 'RUNNING' state. - This time is captured in the 'startTime' attribute. Alternatively, the - process may start to execute directly upon its instantiation. One + When the process is instantiated, the 'status' is set to 'NOT_STARTED' + and the 'progressPercentage' to '0'. The MnS producer decides when to + start executing the process and to transition into the 'RUNNING' state. + This time is captured in the 'startTime' attribute. Alternatively, the + process may start to execute directly upon its instantiation. One alternative must be selected when using this data type. - During the 'RUNNING' state the 'progressPercentage' attribute may be - repeatedly updated. The exact semantic of this attribute is subject to - further specialisation. The 'progressInfo' attribute may be used to - provide additional textual information in the 'NOT_RUNNING', 'CANCELLING' - and 'RUNNING' states. Further specialisation of - 'progressStateInfo' may be provided where this data type is + During the 'RUNNING' state the 'progressPercentage' attribute may be + repeatedly updated. The exact semantic of this attribute is subject to + further specialisation. The 'progressInfo' attribute may be used to + provide additional textual information in the 'NOT_STARTED', 'CANCELLING' + and 'RUNNING' states. Further specialisation of + 'progressStateInfo' may be provided where this data type is used. - Upon successful completion of the process, the 'status' attribute is set - to 'FINISHED', the 'progressPercentage' to 100%. The time is captured in - the 'endTime' attribute. Additional textual information may be provided - in the 'resultStateInfo' attribute. The type of - 'resultStateInfo' in this data type definition is 'String'. - Further specialisation of 'resultStateInfo' may be provided + Upon successful completion of the process, the 'status' attribute is set + to 'FINISHED', the 'progressPercentage' to 100%. The time is captured in + the 'endTime' attribute. Additional textual information may be provided + in the 'resultStateInfo' attribute. The type of + 'resultStateInfo' in this data type definition is 'String'. + Further specialisation of 'resultStateInfo' may be provided where this data type is used. - In case the process fails to complete successfully, the 'status' - attribute is set to 'FAILED' or 'PARTIALLY_FAILED', the current value of - 'progressPercentage' is frozen, and the time captured in 'endTime'. The - 'resultStateInfo' specifies the reason for the failure. - Specific failure reasons may be specified where the data type defined in - this clause is used. The exact semantic of failure may be subject for + In case the process fails to complete successfully, the 'status' + attribute is set to 'FAILED' or 'PARTIALLY_FAILED', the current value of + 'progressPercentage' is frozen, and the time captured in 'endTime'. The + 'resultStateInfo' specifies the reason for the failure. + Specific failure reasons may be specified where the data type defined in + this clause is used. The exact semantic of failure may be subject for further specialisation as well. - In case the process is cancelled, the 'status' attribute is first set to - 'CANCELLING' and when the process is really cancelled then to 'CANCELLED'. - The transition to 'CANCELLED' is captured in the 'endTime' attribute. - The value of 'progressPercentage' is frozen. Additional textual + In case the process is cancelled, the 'status' attribute is first set to + 'CANCELLING' and when the process is really cancelled then to 'CANCELLED'. + The transition to 'CANCELLED' is captured in the 'endTime' attribute. + The value of 'progressPercentage' is frozen. Additional textual information may be provided in the 'resultStateInfo' attribute. - The 'resultStateInfo' attribute is provided only for additional textual - qualification of the states 'FINISHED', 'FAILED', 'PARTIALLY_FAILED' or - 'CANCELLED'. It shall not be used for making the outcome, that the + The 'resultStateInfo' attribute is provided only for additional textual + qualification of the states 'FINISHED', 'FAILED', 'PARTIALLY_FAILED' or + 'CANCELLED'. It shall not be used for making the outcome, that the process may produce in case of success, available. - The process may have to be completed within a certain time after its - creation, for example because required data may not be available any - more after a certain time, or the process outcome is needed until a - certain time and when not provided by this time is not needed any more. - The time until the MnS producer automatically cancels the process is + The process may have to be completed within a certain time after its + creation, for example because required data may not be available any + more after a certain time, or the process outcome is needed until a + certain time and when not provided by this time is not needed any more. + The time until the MnS producer automatically cancels the process is indicated by the 'timer' attribute."; - + leaf id { type string; mandatory true; - description "Id of the process. It is unique within a single + description "Id of the process. It is unique within a single multivalue attribute of type ProcessMonitor."; } - - leaf status { + + leaf status { type enumeration { enum NOT_STARTED ; enum RUNNING ; @@ -203,9 +221,9 @@ module _3gpp-common-yang-types { } config false; default RUNNING; - description "Represents the status of the associated process, - whether it fails, succeeds etc. - It does not represent the returned values of a successfully finished + description "Represents the status of the associated process, + whether it fails, succeeds etc. + It does not represent the returned values of a successfully finished process. "; } @@ -220,44 +238,44 @@ module _3gpp-common-yang-types { leaf-list progressStateInfo { type string; config false; - description "Additional textual qualification of the states + description "Additional textual qualification of the states 'NOT_STARTED', 'CANCELLING' and 'RUNNING'. - For specific processes, specific well-defined strings (e.g. string + For specific processes, specific well-defined strings (e.g. string patterns or enums) may be defined as a specialisation."; } leaf resultStateInfo { type string; config false; - description "Additional textual qualification of the states - 'FINISHED', 'FAILED', 'PARTIALLY_FAILED and 'CANCELLED'. - For example, in the 'FAILED' or 'PARTIALLY_FAILED' state this + description "Additional textual qualification of the states + 'FINISHED', 'FAILED', 'PARTIALLY_FAILED and 'CANCELLED'. + For example, in the 'FAILED' or 'PARTIALLY_FAILED' state this attribute may be used to provide error reasons. - This attribute shall not be used to make the outcome of the process - available for retrieval, if any. For this purpose, dedicated - attributes shall be specified when specifying the representation of + This attribute shall not be used to make the outcome of the process + available for retrieval, if any. For this purpose, dedicated + attributes shall be specified when specifying the representation of a specific process. - For specific processes, specific well-defined strings (e.g. string + For specific processes, specific well-defined strings (e.g. string patterns or enums) may be defined as a specialisation."; } leaf startTime { type yang:date-and-time; config false; - description "Start time of the associated process, i.e. the time when the + description "Start time of the associated process, i.e. the time when the status changed from 'NOT_STARTED' to 'RUNNING'."; } leaf endTime { type yang:date-and-time; config false; - description "Date and time when status changed to 'SUCCESS', 'CANCELLED', - 'FAILED' or 'PARTIALLY_FAILED'. + description "Date and time when status changed to 'SUCCESS', 'CANCELLED', + 'FAILED' or 'PARTIALLY_FAILED'. - If the time is in the future, it is the estimated time + If the time is in the future, it is the estimated time the process will end."; } @@ -265,30 +283,96 @@ module _3gpp-common-yang-types { type uint32; units minutes; description "Time until the associated process is automatically cancelled. - If set, the system decreases the timer with time. When it reaches zero - the cancellation of the associated process is initiated by the - MnS_Producer. + If set, the system decreases the timer with time. When it reaches zero + the cancellation of the associated process is initiated by the + MnS_Producer. If not set, there is no time limit for the process. - - Once the timer is set, the consumer can not change it anymore. + + Once the timer is set, the consumer can not change it anymore. If the consumer has not set the timer the MnS Producer may set it."; yext3gpp:notNotifyable; } } + - typedef TenthOfDegrees { - type uint16 { - range 0..3600; + typedef 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."; + } + + typedef 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."; + } + + grouping NpnIdGrp { + description "Represents the NPN supported by the <> using this + <> as one of its attributes in case of the cell is a + NPN-only cell."; + + list plmnId { + key "mcc mnc"; + min-elements 1; + description "It specifies the PLMN Id of the NPN network."; + uses types3gpp:PLMNId; + } + + choice npnidChoice { + leaf-list cAGIdList { + type CagId; + max-elements 256; + description "It identifies a CAG list containing up to 12 + CAG-identifiers per Ue or up to 12 CAG-identifiers per cell, + see TS 38.331. + CAG ID is used to combine with PLMN ID to identify a PNI-NPN.CAG ID is + a hexadecimal range with size 32 bit"; + } + + leaf-list nIDList { + type Nid; + max-elements 16; + description "It identifies a list of NIDs containing up to 16 NIDs, see + TS 38.331. NID is used to combine with PLMN ID to identify an SNPN. + NID is a hexadecimal range with size 44 bit."; + } + } + } + + typedef TenthOfDegrees { + type uint16 { + range 0..3600; } units "0.1 degrees"; - description "A single integral value corresponding to an angle in degrees + description "A single integral value corresponding to an angle in degrees between 0 and 360 with a resolution of 0.1 degrees."; } typedef Latitude { type decimal64 { fraction-digits 4; - range "-90.0000..+90.0000"; + range "-90.0000..+90.0000"; } description "Latitude values"; } @@ -296,7 +380,7 @@ module _3gpp-common-yang-types { typedef Longitude { type decimal64 { fraction-digits 4; - range "-180.0000..+180.0000"; + range "-180.0000..+180.0000"; } description "Longitude values"; } @@ -307,27 +391,22 @@ module _3gpp-common-yang-types { } units "meters"; description - "Height from a reference 0 value."; + "Height from a reference 0 value."; } grouping GeographicalCoordinates { description "This datatype represents the geographical coordinates"; - reference "#GPP TS 28.558 clause 6.3.8"; - + reference "3GPP TS 28.538 clause 6.3.8"; + leaf latitude { type Latitude; - mandatory true; + mandatory true; } - + leaf longitude { type Longitude; - mandatory true; - } - - leaf altitude { - type Altitude; + mandatory true; } - } typedef OnOff { @@ -336,116 +415,20 @@ module _3gpp-common-yang-types { enum OFF; } } - - // grouping ManagedNFProfile will be removed as it is - // being moved to _3gpp-5gc-nrm-nfprofile - grouping ManagedNFProfile { - description "Defines profile for managed NF"; - reference "3GPP TS 23.501"; - - leaf idx { type uint32 ; } - - leaf nfInstanceID { - config false; - mandatory true; - type yang:uuid ; - description "This parameter defines profile for managed NF. - The format of the NF Instance ID shall be a - Universally Unique Identifier (UUID) version 4, - as described in IETF RFC 4122 " ; - yext3gpp:inVariant; - } - - leaf-list nfType { - config false; - min-elements 1; - type NfType; - description "Type of the Network Function" ; - } - - leaf hostAddr { - mandatory true; - type inet:host ; - description "Host address of a NF"; - } - - leaf authzInfo { - type string ; - description "This parameter defines NF Specific Service authorization - information. It shall include the NF type (s) and NF realms/origins - allowed to consume NF Service(s) of NF Service Producer."; - reference "See TS 23.501" ; - } - - leaf location { - type string ; - description "Information about the location of the NF instance - (e.g. geographic location, data center) defined by operator"; - reference "TS 29.510" ; - } - - leaf capacity { - mandatory true; - type uint16 ; - description "This parameter defines static capacity information - in the range of 0-65535, expressed as a weight relative to other - NF instances of the same type; if capacity is also present in the - nfServiceList parameters, those will have precedence over this value."; - reference "TS 29.510" ; - } - - leaf nFSrvGroupId { - type string ; - description "This parameter defines identity of the group that is - served by the NF instance. - May be config false or true depending on the ManagedFunction. - Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo. - Shall be present if ../nfType = UDM or AUSF or UDR. "; - reference "TS 29.510" ; - } - - leaf-list supportedDataSetIds { - type enumeration { - enum SUBSCRIPTION; - enum POLICY; - enum EXPOSURE; - enum APPLICATION; - } - description "List of supported data sets in the UDR instance. - May be present if ../nfType = UDR"; - reference "TS 29.510" ; - } - - leaf-list smfServingAreas { - type string ; - description "Defines the SMF service area(s) the UPF can serve. - Shall be present if ../nfType = UPF"; - reference "TS 29.510" ; - } - - leaf priority { - type uint16; - description "This parameter defines Priority (relative to other NFs - of the same type) in the range of 0-65535, to be used for NF selection; - lower values indicate a higher priority. If priority is also present - in the nfServiceList parameters, those will have precedence over - this value. Shall be present if ../nfType = AMF "; - reference "TS 29.510" ; - } - } - + + typedef usageState { type enumeration { enum IDLE; enum ACTIVE; enum BUSY; } - description "It describes whether or not the resource is actively in - use at a specific instant, and if so, whether or not it has spare + description "It describes whether or not the resource is actively in + use at a specific instant, and if so, whether or not it has spare capacity for additional users at that instant. The value is READ-ONLY."; reference "ITU T Recommendation X.731"; } - + grouping SAPGrp { leaf host { type inet:host; @@ -458,10 +441,10 @@ module _3gpp-common-yang-types { description "Service access point."; reference "TS 28.622"; } - + typedef Mcc { - description "The mobile country code consists of three decimal digits, - The first digit of the mobile country code identifies the geographic + description "The mobile country code consists of three decimal digits, + The first digit of the mobile country code identifies the geographic region (the digits 1 and 8 are not used):"; type string { pattern '[02-79][0-9][0-9]'; @@ -470,7 +453,7 @@ module _3gpp-common-yang-types { } typedef Mnc { - description "The mobile network code consists of two or three + description "The mobile network code consists of two or three decimal digits (for example: MNC of 001 is not the same as MNC of 01)"; type string { pattern '[0-9][0-9][0-9]|[0-9][0-9]'; @@ -489,10 +472,10 @@ module _3gpp-common-yang-types { } reference "TS 38.413 clause 9.3.3.5"; } - + typedef Nci { - description "NR Cell Identity. The NCI shall be of fixed length of 36 bits - and shall be coded using full hexadecimal representation. + description "NR Cell Identity. The NCI shall be of fixed length of 36 bits + and shall be coded using full hexadecimal representation. The exact coding of the NCI is the responsibility of each PLMN operator"; reference "TS 23.003"; type union { @@ -506,7 +489,7 @@ module _3gpp-common-yang-types { } } } - + typedef OperationalState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -522,7 +505,7 @@ module _3gpp-common-yang-types { } } - + typedef BasicAdministrativeState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -540,7 +523,7 @@ module _3gpp-common-yang-types { } } } - + typedef AdministrativeState { reference "3GPP TS 28.625 and ITU-T X.731"; type enumeration { @@ -561,32 +544,32 @@ module _3gpp-common-yang-types { value 2; description "Use of the resource is administratively permitted to existing instances of use only. While the system remains in - the shutting down state the manager or the managed element - may at any time cause the resource to transition to the + the shutting down state the manager or the managed element + may at any time cause the resource to transition to the locked state."; } } } - + typedef AvailabilityStatus { type enumeration { enum IN_TEST; - enum FAILED; - enum POWER_OFF; - enum OFF_LINE; - enum OFF_DUTY; - enum DEPENDENCY; - enum DEGRADED; - enum NOT_INSTALLED; - enum LOG_FULL; + enum FAILED; + enum POWER_OFF; + enum OFF_LINE; + enum OFF_DUTY; + enum DEPENDENCY; + enum DEGRADED; + enum NOT_INSTALLED; + enum LOG_FULL; } } - + typedef CellState { type enumeration { enum IDLE; - enum INACTIVE; - enum ACTIVE; + enum INACTIVE; + enum ACTIVE; } } @@ -597,19 +580,33 @@ module _3gpp-common-yang-types { } typedef Tac { - type int32 { - range 0..16777215 ; + type string { + pattern "([A-Fa-f0-9]{4})|([A-Fa-f0-9]{6})" ; } - description "Tracking Area Code"; + description "Tracking Area Code + 2 or 3-octet string identifying a tracking area code as specified in + clause 9.3.3.10 of 3GPP TS 38.413 [34], 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. + + pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)' + + Examples: + A legacy TAC 0x4305 shall be encoded as '4305'. + An extended TAC 0x63F84B shall be encoded as '63F84B'"; reference "TS 23.003 clause 19.4.2.3"; } grouping TaiGrp { - description "This <> defines a Tracking Area Identity (TAI) - as specified in clause 28.6 of TS 23.003, clause 8.2 of TS 38.300 - and clause 9.3.3.11 of TS 38.413. It is composed of the PLMN - identifier (PLMN-Id, which is composed of the MCC and MNC) and - the Tracking Area Code (TAC). "; + description "This <> defines a Tracking Area Identity (TAI) + as specified in clause 28.6 of TS 23.003, clause 8.2 of TS 38.300 + and clause 9.3.3.11 of TS 38.413. It is composed of the PLMN + identifier (PLMN-Id, which is composed of the MCC and MNC) and + the Tracking Area Code (TAC)."; list plmnId { description "PLMN Identity."; min-elements 1; @@ -617,53 +614,61 @@ module _3gpp-common-yang-types { key "mcc mnc"; uses types3gpp:PLMNId; } - - leaf tac { type Tac; } + + leaf tac { + type Tac; + mandatory true; + description "Tracking Area Code"; + } } - + grouping GeoCoordinateGrp { - description "Geographical location on earth"; + description "Geographical location on earth"; leaf latitude { type decimal64 { fraction-digits 4; range -90..90 ; } mandatory true; - description "Latitude based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to the + description "Latitude based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to the northern hemisphere."; } - + leaf longitude { type decimal64 { fraction-digits 4; range -180..180 ; } mandatory true; - description "Longitude based on World Geodetic System (1984 version) - global reference frame (WGS 84). Positive values correspond to + description "Longitude based on World Geodetic System (1984 version) + global reference frame (WGS 84). Positive values correspond to degrees east of 0 degrees longitude."; } + + leaf altitude { + type Altitude; + } } - + grouping GeoAreaGrp { - description "This data type defines a geographical area. - The geo-area is defined using a convex polygon in the attribute - 'convexGeoPolygon'."; - - list convexGeoPolygon { - description "Specifies the geographical area with a convex polygon. + description "This data type defines a geographical area. + The geo-area is defined using a convex polygon in the attribute + 'geoPolygon'."; + + list geoPolygon { + description "Specifies the geographical area with a convex polygon. The convex polygon is specified by its corners."; key "latitude longitude"; min-elements 3; ordered-by user; - + uses GeoCoordinateGrp; } } - + typedef AmfRegionId { - type union { + type union { type uint8 ; type string { length 8; @@ -674,7 +679,7 @@ module _3gpp-common-yang-types { } typedef AmfSetId { - type union { + type union { type uint16 { range '0..1023'; } @@ -687,7 +692,7 @@ module _3gpp-common-yang-types { } typedef AmfPointer { - type union { + type union { type uint8 { range '0..63'; } @@ -698,8 +703,8 @@ module _3gpp-common-yang-types { } reference "clause 2.10.1 of 3GPP TS 23.003"; } - - grouping AmfIdentifier { + + grouping AmfIdentifier { leaf amfRegionId { type AmfRegionId; } @@ -708,13 +713,13 @@ module _3gpp-common-yang-types { } leaf amfPointer { type AmfPointer; - } - description "The AMFI is constructed from an AMF Region ID, - an AMF Set ID and an AMF Pointer. - The AMF Region ID identifies the region, - the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and - the AMF Pointer uniquely identifies the AMF within the AMF Set. "; - } + } + description "The AMFI is constructed from an AMF Region ID, + an AMF Set ID and an AMF Pointer. + The AMF Region ID identifies the region, + the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and + the AMF Pointer uniquely identifies the AMF within the AMF Set. "; + } // type definitions especially for core NFs @@ -740,17 +745,17 @@ module _3gpp-common-yang-types { enum UDSF; enum BSF; enum CHF; - } + } } - + typedef NotificationType { type enumeration { enum N1_MESSAGES; enum N2_INFORMATION; enum LOCATION_NOTIFICATION; - } + } } - + typedef Load { description "Latest known load information of the NF, percentage "; type uint8 { @@ -763,10 +768,10 @@ module _3gpp-common-yang-types { enum 5GMM; enum SM; enum LPP; - enum SMS; - } + enum SMS; + } } - + typedef N2InformationClass { type enumeration { enum SM; @@ -774,50 +779,111 @@ module _3gpp-common-yang-types { enum PWS; enum PWS_BCAL; enum PWS_RF; - } + } } - + grouping DefaultNotificationSubscription { - + leaf notificationType { type NotificationType; } - + leaf callbackUri { type inet:uri; } - + + leaf interPlmnCallbackUri { + description "It indicates the callback URI to be used by NF Service + Producers located in PLMNs that are different from the PLMN of + the NF consumer."; + type inet:uri; + } leaf n1MessageClass { type N1MessageClass; } - + leaf n2InformationClass { type N2InformationClass; - } - } - + } + + leaf versions { + description "This attribute identifies the API versions + (e.g. v1) supported for the default notification type"; + //optional + type N2InformationClass; + } + leaf binding { + description "This attribute shall contain the value of the Binding + Indication for the default subscription notification "; + reference " i.e. the value part of 3gpp-Sbi-Binding header, as + specified in + clause 6.12.4 of 3GPP TS 29.500 76. "; + //optional + type string; + config false; + } + leaf acceptedEncoding { + description "It indicates the content encodings that are accepted by a + NF Service Consumer when receiving a notification related to a default + notification subscription"; + reference "IETF RFC 9110 clause 12.5.3 "; + //optional + type string; + config false; + } + leaf supportedFeatures { + description "It is a string, which indicates the features of the service + corresponding to the subscribed default notification, which are supported + by the NF (Service) instance acting as NF service consumer. 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 "; + reference "shall represent the support of 4 features as described in + table 5.2.2-3 of TS 29.571 [61]."; + //optional + type string; + config false; + } + leaf serviceInfoList { + description "It indicates a list of service specific information. It may + be present when the notification request of the notification type may be + generated by multiple services, i.e. notifications from different + services may be received by the subscription."; + //optional + type string; + config false; + } + leaf callbackUriPrefix { + description "It indicates the optional path segment(s) used to construct + the prefix of the Callback URIs during the reselection of an NF service + consumer, as described in 3GPP TS 29.501"; + //optional + type inet:uri; + } + } + grouping Ipv4AddressRange { leaf start { type inet:ipv4-address; } leaf end { type inet:ipv4-address; - } + } } - + grouping Ipv6PrefixRange { leaf start { type inet:ipv6-prefix; } leaf end { type inet:ipv6-prefix; - } + } } - + typedef NsiId { type string; } - + typedef UeMobilityLevel { type enumeration { enum STATIONARY; @@ -826,14 +892,14 @@ module _3gpp-common-yang-types { enum FULLY_MOBILITY; } } - + typedef ResourceSharingLevel { type enumeration { enum SHARED; enum NOT_SHARED; } } - + typedef TxDirection { type enumeration { enum DL; @@ -841,105 +907,125 @@ module _3gpp-common-yang-types { enum DL_AND_UL; } } - + grouping AddressWithVlan { leaf ipAddress { - type inet:ip-address; + type inet:ip-address; } leaf vlanId { type uint16; - } + } + } + + typedef Nid { + description "This represents the Network Identifier, which + together with a PLMN ID is used to identify a SNPN."; + type string { + pattern '^[A-Fa-f0-9]{11}$'; + } + reference "3GPP TS 23.003 and 3GPP TS 23.501 clause 5.3.2.1."; } - /* DistinguishedName pattern is built up based on the + typedef CagId { + description "This represents the identifier of a Closed Access + Group (CAG), which together with a PLMN ID is used to + identify a PNI-NPN."; + type string { + pattern '^[A-Fa-f0-9]{8}$'; + } + reference "3GPP TS 23.003 and 3GPP TS 23.501."; + } + + + /* DistinguishedName pattern is built up based on the EBNF in 32.300 clause 7.3 EBNF of DN String Representation - + leaf DN { type string { // Same pattern as LocalDN - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } } - + leaf fullLocalDN { type string { // LocalRDN , { RDNSeparator , LocalRDN } RDNSeparator is a single , no space or \R allowed Me.mykey=1 allowed // (fullLocalRDN)(,(fullLocalRDN))* - pattern '(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?))(,(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)))*'; + pattern '(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?))(,(([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)))*'; } } - + leaf LocalDN { type string { // LocalRDN , { RDNSeparator , LocalRDN } RDNSeparator is a single , no space or \R allowed // LocalRDN(,LocalRDN)* - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } } - + leaf fullLocalRDN { type string { // same as fullLocalDNAttributeTypeAndValue - pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; + pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; } } - + leaf LocalRDN { type string { // same as LocalDNAttributeTypeAndValue - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; } } - - leaf fullLocalDNAttributeTypeAndValue { type string { // LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue + + leaf fullLocalDNAttributeTypeAndValue { type string { // LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue // pattern LocalDNAttributeType=RegularAttributeValue - pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; + pattern '([A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*))=(([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)'; } } - + // limitation: NamesOfClassAndNamingAttributenot supported Me.mykey=1 - leaf LocalDNAttributeTypeAndValue { type string { + leaf LocalDNAttributeTypeAndValue { type string { // ebnf1 LocalDNAttributeType , AttributeTypeAndValueSeparator , RegularAttributeValue // ebnf2-limited NameOfClassWithIdAttribute , AttributeTypeAndValueSeparator , RegularAttributeValue // pattern NameOfClassWithIdAttribute=RegularAttributeValue - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?'; } } leaf LocalDNAttributeType { type string { // NameOfClassWithIdAttribute | NamesOfClassAndNamingAttribute RDNSeparator is a single , no space or \R allowed // NameOfClassWithIdAttribute|NamesOfClassAndNamingAttribute - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*)'; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*|([A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*)'; } } leaf RegularAttributeValue { type string { // ( AttributeValueChar - SpaceChar ) , [ { AttributeValueChar } , ( AttributeValueChar - SpaceChar ) ] - pattern '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' ; + pattern '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' ; } } - + leaf NamesOfClassAndNamingAttribute { type string { // ClassName , ClassNamingAttributeSeparator , NamingAttributeName // pattern: ClassName\.NamingAttributeName - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*' ; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*\.[a-z][^,=+<>#;\\"\r\n*.]*' ; } } - - leaf restrictiveClassName { type string { // - pattern '[a-zA-Z][a-zA-Z0-9-_]*' ; + + leaf restrictiveClassName { type string { // + pattern '[a-zA-Z][a-zA-Z0-9-_]*' ; } } - + leaf ClassName { type string { // CapitalLetterChar , { LocalDNAttributeTypeChar } - pattern '[A-Z][^,=+<>#;\\"\r\n*.]*' ; + pattern '[A-Z][^,=+<>#;\\"\r\n*.]*' ; } } - + leaf NamingAttributeName { type string { // SmallLetterChar , { LocalDNAttributeTypeChar } - pattern '[a-z][^,=+<>#;\\"\r\n*.]*' ; - } } - + pattern '[a-z][^,=+<>#;\\"\r\n*.]*' ; + } } + */ - typedef DistinguishedName { + typedef DistinguishedName { type string { pattern '[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|' + '(\\[a-fA-F0-9]{2}))(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*' + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?' + '(,[A-Z][^,=+<>#;\\"\r\n*.]*=([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2}))' + '(([^,=+<>#;\\"\r\n*]|(\\[a-fA-F0-9]{2}))*' - + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; + + '([^,=+<>#;\\"\r\n* ]|(\\[a-fA-F0-9]{2})))?)*'; } - description "Represents the 3GPP standard for DistinguishedName. - - Limitations: + description "Represents the 3GPP standard for DistinguishedName. + + Limitations: - RDNSeparator: don't allow SpaceChar or CarriageReturnChar - NullDN: Disallow nullDN that is the same as not providing a DN - - NamesOfClassAndNamingAttribute format not allowed + - NamesOfClassAndNamingAttribute format not allowed (eg. ManagedElement.mykey=345436)"; reference "3GPP TS 32.300"; - } - + } + typedef QOffsetRange { - type int8 { + type int8 { range "-24 | -22 | -20 | -18 | -16 | -14 | -12 | -10 | -8 | -6 | " + " -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | " + - " 12 | 14 | 16 | 18 | 20 | 22 | 24"; + " 12 | 14 | 16 | 18 | 20 | 22 | 24"; } units dB; } @@ -968,9 +1054,9 @@ module _3gpp-common-yang-types { In addition, the MnS producer shall create on behalf of the MnS consumer a subscription, using 'NtfSubscriptionControl', for the notification types 'notifyMOICreation' and 'notifyMOIDeletion' related - to the 'File' instances that will be produced later. In case an existing - subscription does already include the 'File' instances to be produced, - no new subscription shall be created. The + to the 'File' instances that will be produced later. In case an + existing subscription does already include the 'File' instances to be + produced, no new subscription shall be created. The 'notificationRecipientAddress' attribute in the created 'NtfSubscriptionControl' instance shall be set to the value of the 'notificationRecipientAddress' in the related 'PerfMetricJob'. This @@ -979,11 +1065,15 @@ module _3gpp-common-yang-types { notification subscription). When the related 'PerfMetricJob' is deleted, the 'NtfSubscriptionControl' instance created due to the request for implicit subscription shall be deleted as well. - - - When only the fileReportingPeriod and fileLocation attributes are - present, the MnS producer shall store the files on a MnS consumer, that - can be any entity such as a file server, at the location specified by - fileLocation. No notification is emitted by the MnS producer. + - When only the 'fileReportingPeriod' and 'fileLocation' attributes + are present (CHOICE_3), the MnS producer shall store the files at the + 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'. - When only the streamTarget attribute is present, the MnS producer shall stream the data to the location specified by streamTarget. @@ -1012,8 +1102,8 @@ module _3gpp-common-yang-types { leaf fileLocation { type string ; description "Applicable and must be present when the file-based - reporting method is supported, and the files are stored on the MnS - consumer."; + reporting method is supported, and the files are stored on the + MnS consumer."; } } case notification-target { diff --git a/yang-models/_3gpp-engy-nrm-energyinformation.yang b/yang-models/_3gpp-engy-nrm-energyinformation.yang new file mode 100644 index 0000000000000000000000000000000000000000..38b72c25ebaf881f79c564d469d3be76dad25219 --- /dev/null +++ b/yang-models/_3gpp-engy-nrm-energyinformation.yang @@ -0,0 +1,196 @@ +module _3gpp-engy-nrm-energyinformation { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-engy-nrm-energyinformation; + prefix engyinfo3gpp; + + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the Energy Information NRM. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, + TSDSI, TTA, TTC). All rights reserved."; + reference "3GPP TS 28.310"; + + revision 2025-05-07 { reference CR-0082 ; } + + + feature energyinformationUnderSubNetwork { + description "The energyinformation shall be contained under SubNetwork"; + } + + feature energyinformationUnderManagedElement { + description "The energyrelatedinformation shall be contained under + ManagedElement"; + } + + grouping EnergySourceInfoGrp { + description "This data type defines the information related to a type + of energy source. This information is configured by the operator with + the information obtained from sources external to 3GPP. The attribute + energySourceType is used to indicate the type of energy source used by + an energy supply mode to produce the energy. The attribute energySourceCef + is used to indicate the carbon emission factor of the energy source. + The attribute renewableEnergy is used to indicate if the energy source + is renewable or non-renewable. The attribute energyCompositionPercentage + is used to indicate the percentage of energy source used to produce the + energy."; + + leaf energySourceType { + type string; + mandatory true; + description "The attribute is used to indicate the type of energy source + used by an energy supply mode to produce the energy."; + } + + leaf energySourceCef { + type decimal64 { + fraction-digits 2; + } + mandatory true; + units "kg CO2eq/kWh"; + description "The attribute is used to indicate the Carbon Emission Factor + of a type of energy source. Its unit is kg CO2eq / kWh."; + } + + leaf renewableEnergy { + description "This attribute represents if the energy source is renewable + or non-renewable. This information is configured by the operator with the + information obtained from external sources."; + type boolean; + mandatory true; + } + + leaf energyCompositionPercentage { + type uint8 { + range 0..100; + } + default 100; + description "The attribute is used to indicate the percentage of energy + source type used by the energy supply mode."; + } + + } + + grouping EnergyInfoGroupGrp { + + leaf energySupplyModeRefList { + description "The list of energy supply modes for the Network Elements + of the group. This information is configured by the operator with the + information obtained from external sources."; + type types3gpp:DistinguishedName; + } + + leaf memberDNList { + description "This attribute contains the DNs of managed entities + that are members of the energy info group."; + type types3gpp:DistinguishedName; + } + + } + + grouping EnergySupplyInfoGrp { + + leaf energySupplyMode { + description "The mode by which energy is supplied to a Network Element. + This information is configured by the operator with the information + obtained from external sources.The mode can be one of the following: + GRID_ELECTRICITY: Energy from local grid electricity + (See Grid electricity in clause 6 of ITU-T Recommendation L.1333 [D]) + BACKUP_ENERGY: Energy from backup diesel or other types (from battery + banks/UPS), or from generators such as solar panels. (See Backup energy + in clause 6 of ITU-T Recommendation L.1333[D]) LOCALLY_GENERATED_ENERGY: + Energy provided by local generators not used for backup functionality, + e.g., solar panels, wind generator etc. (See Locally generated energy + in clause 6 of ITU-T Recommendation L.1333[D])"; + mandatory true; + type enumeration { + enum GRID_ELECTRICITY; + enum BACKUP_ENERGY; + enum LOCALLY_GENERATED_ENERGY; + } + } + + list energySourceList { + description "This attribute represents the list of sources used to + produce the energy by the supplier. This includes energy related + information i.e., carbon emission and renewable energy related + information, and the percentage of the energy produced using the + source."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses EnergySourceInfoGrp; + } + } + + augment "/subnet3gpp:SubNetwork" { + if-feature energyinformationUnderSubNetwork; + list EnergyInfoGroup { + description "This IOC represents a group of Network Elements, represented + by ManagedElement IOC and information related to the energy supply modes + that are used to power them. This information is configured by the + operator. Attribute memberDNList can be configured with the DNs of + ManagedElement or DNs of SubNetwork. This attribute provides the list + of Network Elements in the group, represented using ManagedElement MOIs + or represented using SubNetwork MOIs. In the case, memberDNList is + configured by DN of SubNetwork, then all the ManagedElement MOIs that + are name-contained by the SubNetwork MOI are part of the group. Attribute + energySupplyModeRefList is used to indicate the mode of energy supply + for powering the Network Elements of the group."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EnergyInfoGroupGrp; + } + } + list EnergySupplyInfo { + description "This IOC defines the information related to energy supply + and the sources used to produce the energy. This information is configured + by the operator with the information obtained from sources external to + 3GPP e.g an energy supplier. "; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EnergyInfoGroupGrp; + } + } + } + + augment "/me3gpp:ManagedElement" { + if-feature energyinformationUnderManagedElement; + list EnergyInfoGroup { + description "This IOC represents a group of Network Elements, represented + by ManagedElement IOC and information related to the energy supply modes + that are used to power them. This information is configured by the + operator. Attribute memberDNList can be configured with the DNs of + ManagedElement or DNs of SubNetwork. This attribute provides the list + of Network Elements in the group, represented using ManagedElement MOIs + or represented using SubNetwork MOIs. In the case, memberDNList is + configured by DN of SubNetwork, then all the ManagedElement MOIs that + are name-contained by the SubNetwork MOI are part of the group. Attribute + energySupplyModeRefList is used to indicate the mode of energy supply + for powering the Network Elements of the group."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EnergyInfoGroupGrp; + } + } + list EnergySupplyInfo { + description "This IOC defines the information related to energy supply + and the sources used to produce the energy. This information is configured + by the operator with the information obtained from sources external to + 3GPP e.g an energy supplier. "; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EnergyInfoGroupGrp; + } + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-eqp-antennafunction.yang b/yang-models/_3gpp-eqp-antennafunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..9a7e4bfbd53a990ea56021f11ca3703ff12e6c69 --- /dev/null +++ b/yang-models/_3gpp-eqp-antennafunction.yang @@ -0,0 +1,197 @@ +module _3gpp-eqp-antennafunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-eqp-antennafunction"; + prefix "ant3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the Antenna Function Information + Object Class (IOC) that is part of the Generic Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-08-13 { reference "CR1581"; } + revision 2025-05-01 { reference "Initial revision"; + + } + grouping AntennaFunctionGrp { + description "Represents the AntennaFunction."; + uses mf3gpp:ManagedFunctionGrp; + + leaf beamTilt { + description "The beam tilt of the wanted antenna beam + in the vertical plane. A positive value on the + beamtilt indicates an antenna beam direction below the + vertical plane."; + units degree; + type types3gpp:TenthOfDegrees; + } + + leaf bearing { + description "The bearing in degrees that the antenna is pointing in. + AllowedValues: See \"Antenna bearing\" in 3GPP TS 25.463."; + reference "3GPP TS 25.463, UTRAN Iuant interface: + Remote Electrical Tilting (RET) + antennas Application Part (RETAP) signalling"; + type types3gpp:TenthOfDegrees; + } + + leaf elevation { + description "The elevation the antenna function should have, + based on World Geodetic System (1984 version) global + reference frame (WGS 84). Positive values correspond to + meters above sea level, negative values correspond to meters + below sea level. If empty, value is not defined."; + type types3gpp:Altitude; + } + + leaf horizBeamWidth { + description "The 3 dB power beamwidth of the antenna pattern + in the horizontal plane. + A value of 360 indicates an omnidirectional antenna. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to 3GPP TS37.466. + A single integral value corresponding to an angle in degrees + between 0 and 360."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + type types3gpp:TenthOfDegrees; + } + + leaf latitude { + description "Latitude of transmitter antenna position. + Positive value means north, negative value means south. + + Specification: WGS 84 + Allowed Values: { -90.000000..90.000000 }"; + units degree; + type types3gpp:Latitude; + } + + leaf longititude { + description "Longitude of transmitter antenna position. + Positive value means east, negative value means west. + Specification: WGS 84 + Allowed Values: { -180.000000..180.000000 }"; + units degree; + type types3gpp:Longitude; + } + + leaf maxAzimuthValue { + description "The maximum amount of change of azimuth the RET + system can support. This is the change in degrees clockwise + from bearing. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to Ref. 3GPP TS 37.466. + A single decimal value corresponding to an angle in degrees + between 0 and 360 with a resolution of 0.1 degrees."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type decimal64 { + range "0..360"; + fraction-digits 1; + } + } + leaf minAzimuthValue { + description "The minimum amount of change of azimuth the RET + system can support. This is the change in degrees clockwise + from bearing. + Note: The value of this attribute has no operational impact + on the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + Note as well that this attribute is not supported over the + Iuant interface according to Ref. 3GPP TS 37.466. + A single decimal value corresponding to an angle in degrees + between 0 and 360 with a resolution of 0.1 degrees."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type decimal64 { + range "0..360"; + fraction-digits 1; + } + } + + leaf-list referencedBy { + description "This attribute contains the DNs of one or more objects + that refer to this object. + + In the case of AntennaFunction, these referring objects may + include DNs of SectorEquipmentFunction instances if associations + between them and the AntennaFunction exist. + + Note: referencedBy is a DN datatype and so can reference an MOI + under a different ME"; + config false; + type types3gpp:DistinguishedName; + } + + + leaf retGroupName { + description "The group name is a textual, alpha-numeric string to + define a logical grouping of antennas which may be in different cells. + + This attribute permits the definition of a logical grouping + of the antennas. This may be defined either at + installation time, or by management activity"; + type string; + } + + leaf retTiltValue { + description "The electrical tilt setting of the antenna, \"Tilt value\" in + 3GPP TS 37.466."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + type types3gpp:TenthOfDegrees; + } + + leaf vertBeamWidth { + description "The 3 dB power beamwidth of the antenna pattern in + the vertical plane. + The value of this attribute has no operational impact on + the network, e.g. the NE behaviour is not affected by the + value setting of this attribute. + This attribute is not supported over the Iuant interface + according to Ref. 3GPP TS 37.466."; + reference "3GPP TS 37.466, Iuant interface: Application part"; + units degree; + type uint32 { + 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" { + + list AntennaFunction { + key id; + uses top3gpp:Top_Grp; + description "This MOI represents an array of radiating elements that + may be tilted to adjust the RF coverage of a cell(s)."; + container attributes { + uses AntennaFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} diff --git a/yang-models/_3gpp-eqp-sectorequipmentfunction.yang b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..a21d4173fc5b10ed50ad054fc8e7fb995febfbab --- /dev/null +++ b/yang-models/_3gpp-eqp-sectorequipmentfunction.yang @@ -0,0 +1,84 @@ +module _3gpp-eqp-sectorequipmentfunction { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-eqp-sectorequipmentfunction"; + prefix "scteqp3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the Sector Equipment Function + Information Object Class (IOC) that is part of the Generic Network Resource + Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-08-13 { reference "CR1581"; } + revision 2025-05-01 { reference "Initial revision"; } + + grouping SectorEquipmentFunctionGrp { + description "Represents the SectorEquipmentFunction."; + uses mf3gpp:ManagedFunctionGrp; + + leaf confOutputPower { + description "It defines the allowed total power to use for all + cells together in this sector. + It may be set by the operator and/or limited by HW limitation + or licensed power, e.g.: 20, 40, 60, 80,120 watts"; + type uint32; + } + + leaf-list fqBandList { + description "The list of frequency bands/ranges supported by the + hardware associated with the SectorEquipmentFunction. The + earfcnDl and earfcnUl or earfcn of cells associated with the + SectorEquipmentFunction must be assigned one of the specified + frequency range values within the supported range. + + Valid frequency bands/ranges may be found in 3GPP TS 25.104 (UTRA), + 36.104 (E-UTRA) and 38.104 (NR). + + AllowedValues: + Operating band id or supported frequency tuple + expressed as a string. + + Examples for NR: + Bands: {'n1', 'n12'} + Frequencies: {'1920–1980, 2110–2170, FDD', '699–716, 729–746, FDD'}"; + config false; + type string; + } + + leaf-list referencedBy { + 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 + 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; + } + } + + augment "/me3gpp:ManagedElement" { + list SectorEquipmentFunction { + key id; + uses top3gpp:Top_Grp; + description "This IOC represents a set of cells within a geographical + area that has common functions relating to AntennaFunction, TMAFunction + and supporting equipment, such as power amplifier."; + container attributes { + uses SectorEquipmentFunctionGrp; + } + uses mf3gpp:ManagedFunctionContainedClasses; + } + } +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-bwpset.yang b/yang-models/_3gpp-nr-nrm-bwpset.yang index 8b92fa0830d6b4781ca08bb88898ff86dcdf3816..42f70035212a2ab845bd2b59cb4743ac73b9007a 100644 --- a/yang-models/_3gpp-nr-nrm-bwpset.yang +++ b/yang-models/_3gpp-nr-nrm-bwpset.yang @@ -12,10 +12,12 @@ module _3gpp-nr-nrm-bwpset { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the BWPSet Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2024-11-01 { reference CR-1405 ; } + revision 2024-08-19 { reference CR-1314 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-06-29 { reference CR-0756 ; } @@ -26,7 +28,7 @@ module _3gpp-nr-nrm-bwpset { } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - list BWPList { + list BWPSet { description "Represents a bandwidth part (BWP) set."; key id; uses top3gpp:Top_Grp; diff --git a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang index d0afa896a0b344c48d377034a81cd083c922a14e..5dbbc4e4f1648f4f86f471b174fcb25e15501338 100755 --- a/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-danrmanagementfunction.yang @@ -3,45 +3,49 @@ module _3gpp-nr-nrm-danrmanagementfunction { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-danrmanagementfunction"; prefix "danrmanagementfunction3gpp"; - import _3gpp-common-top { prefix top3gpp; } import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } - - organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the DANRManagementFunction Information Object Class - (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + description "Defines the YANG mapping of the DANRManagementFunction IOC + that is part of the NR Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 + revision 2024-08-19 { reference CR-1314 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2020-05-08 { reference S5-203316; } - grouping DANRManagementFunctionGrp { description "Represents the DANRManagementFunction IOC."; - reference "3GPP TS 28.541"; - uses top3gpp:Top_Grp; leaf intrasystemANRManagementSwitch { - description "This attribute determines whether the intra-system ANR function is activated or deactivated."; - type boolean; + description "This attribute determines whether the intra-system ANR + function is activated or deactivated."; + type boolean; } leaf intersystemANRManagementSwitch { - description "This attribute determines whether the inter-system ANR function is activated or deactivated."; - type boolean; + description "This attribute determines whether the inter-system ANR + function is activated or deactivated."; + type boolean; } - - } augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - if-feature gnbcucp3gpp:DANRManagementFunction; - uses DANRManagementFunctionGrp; + list DANRManagementFunction { + description "This IOC contains attributes to support the D-SON function + of ANR Management (See clause 6.4.1.3 in TS 28.313 ."; + key id; + max-elements 1; + uses top3gpp:Top_Grp; + container attributes { + uses DANRManagementFunctionGrp; + } + } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang index c1201b7fb86b6614652e30739d8e91c3946fd25f..f3cd369a699ff709ca336ee3fe73f1f3cba20f00 100755 --- a/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang +++ b/yang-models/_3gpp-nr-nrm-desmanagementfunction.yang @@ -9,16 +9,18 @@ module _3gpp-nr-nrm-desmanagementfunction { import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-5g-common-yang-types { prefix type5g3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the DESManagementFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2024-08-07 { reference CR-1331; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2020-05-08 { reference S5-203316; } @@ -27,7 +29,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "Represents the the traffic load threshold and the time duration."; - leaf loadThreshold { + leaf threshold { description "This attribute is used by distributed ES algorithms to allow a cell to enter the energySaving state."; type type5g3gpp:EnergySavingLoadThresholdT; @@ -55,7 +57,7 @@ module _3gpp-nr-nrm-desmanagementfunction { cell. This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms to allow a cell to enter the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -65,7 +67,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed ES algorithms level to allow an 'original' cell to enter the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -76,7 +78,7 @@ module _3gpp-nr-nrm-desmanagementfunction { cell.This attribute indicates the traffic load threshold and the time duration which is used by distributed ES algorithms to allow a cell to leave the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -97,7 +99,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -107,7 +109,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "This attribute indicates the traffic load threshold and the time duration, which are used by distributed inter-RAT ES algorithms to allow an original cell to enter the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -117,7 +119,7 @@ module _3gpp-nr-nrm-desmanagementfunction { description "This attribute indicates the traffic load threshold and the time duration which is used by distributed inter-RAT ES algorithms to allow an original cell to leave the energySaving state."; - key loadThreshold; + key threshold; min-elements 1; max-elements 1; uses loadTimeThresholdGrp; @@ -139,7 +141,19 @@ module _3gpp-nr-nrm-desmanagementfunction { enum yes; enum no; } - } + } + leaf-list mLModelRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of MLModel ¨ + (See TS 28.105])."; + config false; + } + leaf-list aIMLInferenceFunctionRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of AIMLInferenceFunction + (See TS 28.105) ."; + config false; + } } grouping EsNotAllowedTimePeriodGrp { @@ -200,4 +214,4 @@ module _3gpp-nr-nrm-desmanagementfunction { if-feature subnet3gpp:DESManagementFunction; uses DESManagementFunctionSubtree; } -} \ No newline at end of file +} diff --git a/yang-models/_3gpp-nr-nrm-dlbofunction.yang b/yang-models/_3gpp-nr-nrm-dlbofunction.yang index 6ae29fa509cee4528a3574f313fd42fbc271729a..9a3781a4560d67a36d6166e52f75fda55627799f 100644 --- a/yang-models/_3gpp-nr-nrm-dlbofunction.yang +++ b/yang-models/_3gpp-nr-nrm-dlbofunction.yang @@ -8,16 +8,18 @@ module _3gpp-nr-nrm-dlbofunction { import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the DLBOFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2024-08-07 { reference CR-1331; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-03-25 { reference "CR-0683"; } revision 2021-10-22 { reference "CR-0577"; } @@ -68,7 +70,18 @@ module _3gpp-nr-nrm-dlbofunction { type int32 { range "0..604800"; } units "1"; } - + leaf-list mLModelRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of MLModel ¨ + (See TS 28.105)."; + config false; + } + leaf-list aIMLInferenceFunctionRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of AIMLInferenceFunction + (See TS 28.105) ."; + config false; + } } grouping DLBOFunctionSubtree { @@ -84,7 +97,7 @@ module _3gpp-nr-nrm-dlbofunction { uses top3gpp:Top_Grp; container attributes { uses DLBOFunctionGrp; - } + } } } @@ -101,4 +114,4 @@ module _3gpp-nr-nrm-dlbofunction { if-feature DLBOUnderSubNetwork; uses DLBOFunctionSubtree; } -} \ No newline at end of file +} diff --git a/yang-models/_3gpp-nr-nrm-dmrofunction.yang b/yang-models/_3gpp-nr-nrm-dmrofunction.yang index ea6ef52b7f65c2f8ea11bfa55949b6a0400ff19e..9c1937e1d7522027358a2a7d39a830140a498d95 100755 --- a/yang-models/_3gpp-nr-nrm-dmrofunction.yang +++ b/yang-models/_3gpp-nr-nrm-dmrofunction.yang @@ -8,16 +8,18 @@ module _3gpp-nr-nrm-dmrofunction { import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the DMROFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2024-08-07 { reference CR-1331; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-01-07 { reference CR-0633; } revision 2021-08-05 { reference S5-214053/CR-0518; } @@ -64,6 +66,18 @@ module _3gpp-nr-nrm-dmrofunction { description "This attribute determines whether the MRO function is enabled or disabled."; type boolean; + } + leaf-list mLModelRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of MLModel ¨ + (See TS 28.105)."; + config false; + } + leaf-list aIMLInferenceFunctionRefList { + type types3gpp:DistinguishedName; + description "This attribute holds a DN list of AIMLInferenceFunction + (See TS 28.105) ."; + config false; } } @@ -101,4 +115,4 @@ module _3gpp-nr-nrm-dmrofunction { if-feature subnet3gpp:DMROFunction; uses DMROFunctionSubtree; } -} \ No newline at end of file +} diff --git a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang index 399bd2bfda1d3fcd59e3649ebb0c2482fc93f17b..6b4ac81bb07066fb83526f9db7d06d44d278cdbf 100755 --- a/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang +++ b/yang-models/_3gpp-nr-nrm-drachoptimizationfunction.yang @@ -14,10 +14,11 @@ module _3gpp-nr-nrm-drachoptimizationfunction { description "Defines the YANG mapping of the DRACHOptimizationFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; + revision 2025-03-25 { reference CR-1504 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-08-05 { reference S5-214053/CR-0518; } revision 2021-01-25 { reference CR-0454 ; } @@ -52,7 +53,13 @@ module _3gpp-nr-nrm-drachoptimizationfunction { type TargetProbabilityT; } leaf numberofpreamblessent { - description "This attribute determines the number of preambles sent."; + description "This attribute indicates the number of preambles sent + used to configure a wanted distribution of RACH preambles in a + vendor implemented DRACH optimisation function. + Note: The DRACH optimization function may configure preambleTransMax + as defined in TS 38.331 [54]. The allowed values for preambleTransMax + are 3, 4, 5, 6, 7, 8, 10, 20, 50, 100, 200 (see 38.331 [54], + subclause 6.3.2)."; mandatory true; type NumberofpreamblessentT; } diff --git a/yang-models/_3gpp-nr-nrm-ecmappingrule.yang b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang new file mode 100644 index 0000000000000000000000000000000000000000..629b5dee59e84cc154718358e36c1b37cb41a486 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-ecmappingrule.yang @@ -0,0 +1,62 @@ +module _3gpp-nr-nrm-ecmappingrule { + yang-version 1.1; + namespace urn:3gpp:sa5:_3gpp-nr-nrm-ecmappingrule; + prefix ecmap3gpp; + + import _3gpp-common-top { prefix top3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the unified mapping rule input to support + Energy Cost Index Mapping when Energy Cost Reporting. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541"; + + revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 + revision 2024-08-12 { reference "CR-1336 CR-1337"; } + + grouping NRECMappingRuleGrp { + description "Represents the unified mapping rule to support Energy Cost Mapping + when Energy Cost Reporting is supported. Can be name-contained by SubNetwork + or ManagedElement. It applies to all ManagedEntity contained by the parent."; + leaf eCMRInputMinValue { + type uint8; + description "The minimum value of to be applied + for mapping from this attribute to the energy cost."; + } + + leaf eCMRInputMaxValue { + type uint8; + description "The maximum value of to be applied + for mapping from this attribute to the energy cost."; + } + + leaf eCTimeInterval { + type uint8; + description "Time interval (in seconds) that + should be applied for collecting values of mapping + rule attribute to be used for computing the energy cost."; + units seconds; + } + } + + grouping NRECMappingRuleSubtree { + description "Helps augmenting NRECMappingRule into multiple places."; + list NRECMappingRule { + description "Represents the unified mapping rule, applicable for the + group of gNBs (within a certain area), for the calculation of the + energy cost (see TS 34.423). + + NRECMappingRule can be name-contained by SubNetwork or ManagedElement. + It applies to all ManagedEntity contained by the parent."; + key id; + uses top3gpp:Top_Grp; + min-elements 1; + max-elements 1; + container attributes { + uses NRECMappingRuleGrp; + } + } + } +} diff --git a/yang-models/_3gpp-nr-nrm-ep.yang b/yang-models/_3gpp-nr-nrm-ep.yang index 927bc49b110c13525092999f115c3ca6a56236f0..60bc8091fcc1b17b7b30dca317f29792c6872d3e 100755 --- a/yang-models/_3gpp-nr-nrm-ep.yang +++ b/yang-models/_3gpp-nr-nrm-ep.yang @@ -15,10 +15,11 @@ module _3gpp-nr-nrm-ep { description "Defines the YANG mapping of the NR related endpoint Information Object Classes (IOCs) that are part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; + 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; } revision 2021-05-01 { reference CR-0490; } @@ -46,16 +47,30 @@ module _3gpp-nr-nrm-ep { uses eprp3gpp:EP_Common; } - grouping EP_F1CGrp { - description "Represents the EP_F1C IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; + grouping EP_F1CSubtree { + list EP_F1C { + description "Represents the local end point of the control plane + interface (F1-C) between the gNB-DU and gNB-CU or gNB-CU-CP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses eprp3gpp:EP_Common; + } + } } - grouping EP_F1UGrp { - description "Represents the EP_F1U IOC."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - uses eprp3gpp:EP_Common; + grouping EP_F1USubtree { + list EP_F1U { + description "Represents the local end point of the user plane + interface (F1-U) between the gNB-DU and gNB-CU or gNB-CU-UP."; + reference "3GPP TS 28.541, 3GPP TS 38.470"; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses eprp3gpp:EP_Common; + } + } } grouping EP_XnCGrp { @@ -114,16 +129,7 @@ module _3gpp-nr-nrm-ep { } } - list EP_F1C { - description "Represents the local end point of the control plane - interface (F1-C) between the gNB-DU and gNB-CU or gNB-CU-CP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1CGrp; - } - } + uses EP_F1CSubtree; list EP_NgC { description "Represents the local end point of the control plane @@ -176,16 +182,7 @@ module _3gpp-nr-nrm-ep { } } - list EP_F1U { - description "Represents the local end point of the user plane - interface (F1-U) between the gNB-DU and gNB-CU or gNB-CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1UGrp; - } - } + uses EP_F1USubtree; list EP_NgU { description "Represents the local end point of the NG user plane @@ -236,26 +233,12 @@ module _3gpp-nr-nrm-ep { augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { if-feature EPClassesUnderGNBDUFunction; - list EP_F1C { - description "Represents the local end point of the control plane - interface (F1-C) between the DU and CU or CU-CP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1CGrp; - } - } - - list EP_F1U { - description "Represents the local end point of the user plane - interface (F1-U) between the DU and CU or CU-UP."; - reference "3GPP TS 28.541, 3GPP TS 38.470"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EP_F1UGrp; + uses EP_F1CSubtree { + refine EP_F1C { + max-elements 1; } } + + uses EP_F1USubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranetwork.yang b/yang-models/_3gpp-nr-nrm-eutranetwork.yang index 3958b9c1a2350463faadd44093c3d56be03bf371..ab7dc74f8ae60af4f54c555d0294999b6b1d4136 100755 --- a/yang-models/_3gpp-nr-nrm-eutranetwork.yang +++ b/yang-models/_3gpp-nr-nrm-eutranetwork.yang @@ -3,62 +3,35 @@ module _3gpp-nr-nrm-eutranetwork { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranetwork"; prefix "eutranet3gpp"; - import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the EUtraNetwork Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - feature ExternalsUnderEUtraNetwork { - description "Classes representing external entities like EUtranFrequency, - ExternalENBFunction are contained under a EUtraNetwork list/class."; - } + revision 2019-06-17 {reference "Initial revision"; } grouping EUtraNetworkGrp { - description "Represents the EUtraNetwork IOC."; - reference "3GPP TS 28.541"; - uses subnet3gpp:SubNetworkGrp; + description "Represents the EUtraNetwork IOC. + Contains no additiona attributes."; } - list EUtraNetwork { - description "A subnetwork containing gNB external E-UTRAN entities."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses EUtraNetworkGrp; - leaf-list parents { - description "Reference to all containg EUtraNetwork instances - in strict order from the root EUtraNetwork down to the immediate - parent EUtraNetwork. - If EUtraNetworks form a containment hierarchy this is - modeled using references between the child EUtraNetwork and the parent - EUtraNetworks. - This reference MUST NOT be present for the top level EUtraNetwork and - MUST be present for other EUtraNetworks."; - type leafref { - path "../../../EUtraNetwork/id"; - } - } - - leaf-list containedChildren{ - description "Reference to all directly contained EUtraNetwork instances. - If EUtraNetworks form a containment hierarchy this is - modeled using references between the child EUtraNetwork and the parent - EUtraNetwork."; - type leafref { - path "../../../EUtraNetwork/id"; - } - } + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { + list EUtraNetwork { + description "A subnetwork containing gNB external E-UTRAN entities."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses EUtraNetworkGrp; + } } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang index 0ebea1981b057e7bf33b367da0a2e381899999ad..32e67873d8a76ead3437fd61430716140e33b344 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfreqrelation.yang @@ -11,16 +11,19 @@ module _3gpp-nr-nrm-eutranfreqrelation { import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the EUtranFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; + revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { + reference "Initial version"; description "Initial revision"; } @@ -41,16 +44,16 @@ module _3gpp-nr-nrm-eutranfreqrelation { leaf-list blockListEntry { description "A list of Physical Cell Identities (PCIs) that are - blocklisted in E-UTRAN measurements."; + blocklisted in E-UTRAN measurements."; reference "3GPP TS 38.331"; - min-elements 0; - type uint16 { range "0..1007"; } + //optional + type uint16 { range "0..503"; } } leaf-list blockListEntryIdleMode { description "A list of Physical Cell Identities (PCIs) that are blocklisted in SIB4 and SIB5."; - min-elements 0; + //optional type uint16 { range "0..1007"; } } @@ -152,7 +155,6 @@ module _3gpp-nr-nrm-eutranfreqrelation { serving frequency. Each frequency of NR and E-UTRAN might have a specific threshold."; reference "ThreshX, LowQ in 3GPP TS 38.304"; - mandatory false; type int32 { range "0..31"; } units dB; } @@ -194,8 +196,9 @@ module _3gpp-nr-nrm-eutranfreqrelation { type types3gpp:DistinguishedName; } } - - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + + augment "/me3gpp:ManagedElement" + + "/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { list EUtranFreqRelation { description "Represents a frequency relation between an NR cell and an diff --git a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang index 0698485b4d510c123828444091ff53f079338b02..70508b134f6e24b19f192b3983a54914a32745fa 100755 --- a/yang-models/_3gpp-nr-nrm-eutranfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-eutranfrequency.yang @@ -3,29 +3,29 @@ module _3gpp-nr-nrm-eutranfrequency { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-eutranfrequency"; prefix "eutraneteutranfreq3gpp"; - import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the EUtranFrequency Information Object Class (IOC), that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM), 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping EUtranFrequencyGrp { description "Represents the EUtranFrequency IOC."; reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; leaf earfcnDL { description "Specifies the channel number for the central DL frequency."; @@ -51,17 +51,25 @@ module _3gpp-nr-nrm-eutranfrequency { container attributes { uses EUtranFrequencyGrp; } - uses mf3gpp:ManagedFunctionContainedClasses; } } + feature EUtranFrequencyUnderSubNetwork { + description "The EUtranFrequency shall be contained under SubNetwork"; + } + augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses EUtranFrequencyWrapper ; + if-feature EUtranFrequencyUnderSubNetwork ; + uses EUtranFrequencyWrapper; } - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses EUtranFrequencyWrapper ; + feature EUtranFrequencyUnderEUtraNetwork { + description "The EUtranFrequency shall be contained under EUtraNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "eutranet3gpp:EUtraNetwork" { + if-feature EUtranFrequencyUnderEUtraNetwork; + uses EUtranFrequencyWrapper; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalamffunction.yang b/yang-models/_3gpp-nr-nrm-externalamffunction.yang index eb0547390186355c4379e44eddf9611bc6261a95..f74c5d3a04d2f8dff5681cf01171c453b171b841 100755 --- a/yang-models/_3gpp-nr-nrm-externalamffunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalamffunction.yang @@ -5,26 +5,24 @@ module _3gpp-nr-nrm-externalamffunction { import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalAMFFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalAMFFunctionGrp { description "Represents the ExternalAMFFunction IOC."; - reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; list pLMNIdList { @@ -61,12 +59,6 @@ module _3gpp-nr-nrm-externalamffunction { } augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalAMFFunctionWrapper; - } - - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; uses ExternalAMFFunctionWrapper; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang index cdb1611c40bfeef76913b9d245199f854106b9e8..ed8cb66832f6c068cba0ba5258f5109c486d0196 100755 --- a/yang-models/_3gpp-nr-nrm-externalenbfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalenbfunction.yang @@ -4,24 +4,27 @@ module _3gpp-nr-nrm-externalenbfunction { prefix "extenb3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + import _3gpp-nr-nrm-externaleutrancell { prefix exteutrancell3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalENBFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM), 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalENBFunctionGrp { description "Represets the ExternalENBFunction IOC."; @@ -48,16 +51,29 @@ module _3gpp-nr-nrm-externalenbfunction { uses ExternalENBFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; + uses exteutrancell3gpp:ExternalEUtranCellFDDSubtree; + uses exteutrancell3gpp:ExternalEUtranCellTDDSubtree; } } + feature ExternalENBFunctionUnderSubNetwork { + description "The ExternalENBFunction shall be contained under + SubNetwork"; + } + augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; + if-feature ExternalENBFunctionUnderSubNetwork ; uses ExternalENBFunctionWrapper; } - augment "/eutranet3gpp:EUtraNetwork" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; + feature ExternalENBFunctionUnderEUtraNetwork { + description "The ExternalENBFunction shall be contained under + EUtraNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "eutranet3gpp:EUtraNetwork" { + if-feature ExternalENBFunctionUnderEUtraNetwork; uses ExternalENBFunctionWrapper; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang index d3306bc8ce628b5ba38d3da3b088a107eb79e759..2a5ff1f39515f21ae4a634cd8d394992f85b5b65 100755 --- a/yang-models/_3gpp-nr-nrm-externaleutrancell.yang +++ b/yang-models/_3gpp-nr-nrm-externaleutrancell.yang @@ -5,25 +5,22 @@ module _3gpp-nr-nrm-externaleutrancell { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } - import _3gpp-nr-nrm-externalenbfunction { prefix extenb3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalEUtranCellFDD and ExternalEUtranCellTDD Information Object Classes (IOCs) that are part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM), 3GPP TS 28.658 (E-UTRAN) Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalEUtranGenericCellGrp { description "Represents the ExternalEUtranGenericCell IOC."; @@ -106,7 +103,7 @@ module _3gpp-nr-nrm-externaleutrancell { } } - grouping ExternalEUtranCellFDDWrapper { + grouping ExternalEUtranCellFDDSubtree { list ExternalEUtranCellFDD { description "Represents the common properties of external E-UTRAN FDD cell provided by eNB or NG-RAN FDD cell provided by ng-eNB."; @@ -120,7 +117,7 @@ module _3gpp-nr-nrm-externaleutrancell { } } - grouping ExternalEUtranCellTDDWrapper { + grouping ExternalEUtranCellTDDSubtree { list ExternalEUtranCellTDD { description "Represents the common properties of external E-UTRAN cell TDD provided by eNB or NG-RAN TDD cell provided by ng-eNB."; @@ -133,24 +130,4 @@ module _3gpp-nr-nrm-externaleutrancell { uses mf3gpp:ManagedFunctionContainedClasses; } } - - augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork; - uses ExternalEUtranCellFDDWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalEUtranCellFDDWrapper; - } - - augment "/subnet3gpp:SubNetwork/extenb3gpp:ExternalENBFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork; - uses ExternalEUtranCellTDDWrapper; - } - - augment "/eutranet3gpp:EUtraNetwork/extenb3gpp:ExternalENBFunction" { - if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; - uses ExternalEUtranCellTDDWrapper; - } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang index cbe2baff36c7f3b994d3bba7fc306ba78fdcffe8..ff466a30bc6da86defbae3472a2ac8e5b30f4227 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbcucpfunction.yang @@ -5,40 +5,44 @@ module _3gpp-nr-nrm-externalgnbcucpfunction { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-externalnrcellcu { prefix extnrcellcu3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalGNBCUCPFunction Information Object Class (IOC), that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalGNBCUCPFunctionGrp { description "Represets the ExternalGNBCUCPFunction IOC."; - reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; + description "Identifies a gNB within a PLMN. + The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells. + + See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. + See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; - type int64 { range "0..4294967295"; } + type uint32 { range "0..4294967295"; } } leaf gNBIdLength { description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + reference "'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; type int32 { range "22..32"; } } @@ -57,23 +61,35 @@ module _3gpp-nr-nrm-externalgnbcucpfunction { list ExternalGNBCUCPFunction { description "Represents the properties, known by the management function, of a GNBCUCPFunction managed by another management function."; - reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { uses ExternalGNBCUCPFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; + + uses extnrcellcu3gpp:ExternalNRCellCUSubtree; } } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; + feature ExternalGNBCUCPFunctionUnderNRNetwork { + description "The ExternalGNBCUCPFunction shall be contained under + NRNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrnet3gpp:NRNetwork" { + if-feature ExternalGNBCUCPFunctionUnderNRNetwork; uses ExternalGNBCUCPFunctionWrapper; } - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; + feature ExternalGNBCUCPFunctionUnderSubNetwork { + description "The ExternalGNBCUCPFunction shall be contained under + SubNetwork"; + } + + augment "/subnet3gpp:SubNetwork" { + if-feature ExternalGNBCUCPFunctionUnderSubNetwork ; uses ExternalGNBCUCPFunctionWrapper; - } + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang index 2445a1e995bf8ac8fe4ae2145ddfe9f36b00d91a..41ac84351c1840fab69ba8c3fe28c08d6982a88f 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbcuupfunction.yang @@ -4,11 +4,14 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { prefix "extgnbcuup3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalGNBCUUPFunction Information Object Class (IOC), that is part of the NR Network Resource Model (NRM). @@ -16,11 +19,10 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalGNBCUUPFunctionGrp { description "Represets the ExternalGNBCUUPFunction IOC."; @@ -28,26 +30,27 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { uses mf3gpp:ManagedFunctionGrp; leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; + description "Identifies a gNB within a PLMN. + The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells. + + See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. + See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; - type int64 { range "0..4294967295"; } + type uint32 { range "0..4294967295"; } } leaf gNBIdLength { description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + reference "'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; type int32 { range "22..32"; } } } - grouping ExternalGNBCUUPFunctionWrapper { + grouping ExternalGNBCUUPFunctionSubtree { list ExternalGNBCUUPFunction { description "Represents the properties, known by the management function, of a GNBCUUPFunction managed by another management function."; - reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { @@ -57,13 +60,24 @@ module _3gpp-nr-nrm-externalgnbcuupfunction { } } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBCUUPFunctionWrapper; + feature ExternalGNBCUUPFunctionUnderNRNetwork { + description "The ExternalGNBCUUPFunction shall be contained under + NRNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrnet3gpp:NRNetwork" { + if-feature ExternalGNBCUUPFunctionUnderNRNetwork; + uses ExternalGNBCUUPFunctionSubtree; } - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBCUUPFunctionWrapper; - } + feature ExternalGNBCUUPFunctionUnderSubNetwork { + description "The ExternalGNBCUUPFunction shall be contained under + SubNetwork"; + } + + augment "/subnet3gpp:SubNetwork" { + if-feature ExternalGNBCUUPFunctionUnderSubNetwork ; + uses ExternalGNBCUUPFunctionSubtree; + } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang index 064b98db336c5bbe6ad0461a2471b7841836c192..115fdf6c812d766be25da77650fc78f3959b20c6 100755 --- a/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalgnbdufunction.yang @@ -3,26 +3,27 @@ module _3gpp-nr-nrm-externalgnbdufunction { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-externalgnbdufunction"; prefix "extgnbdu3gpp"; - import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalGNBDUFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalGNBDUFunctionGrp { description "Represets the ExternalGNBDUFunction IOC."; @@ -30,36 +31,28 @@ module _3gpp-nr-nrm-externalgnbdufunction { uses mf3gpp:ManagedFunctionGrp; leaf gNBId { - description "Identifies a gNB within a PLMN."; - reference "gNB Identifier (gNB ID) in 3GPP TS 38.300, Global gNB ID - in 3GPP TS 38.413"; + description "Identifies a gNB within a PLMN. + The gNB ID is part of the NR Cell Identifier (NCI) of the gNB cells. + + See 'gNB Identifier (gNB ID)' of subclause 8.2 of TS 38.300. + See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; - type int64 { range "0..4294967295"; } + type uint32 { range "0..4294967295"; } yext3gpp:inVariant; } leaf gNBIdLength { description "Indicates the number of bits for encoding the gNB ID."; - reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + reference "'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; mandatory true; type int32 { range "22..32"; } } - - list pLMNId { - description "Specifies the PLMN identifier to be used as part of the - global RAN node identity."; - key "mcc mnc"; - min-elements 1; - max-elements 1; - uses types3gpp:PLMNId; - } } - grouping ExternalGNBDUFunctionWrapper { + grouping ExternalGNBDUFunctionSubtree { list ExternalGNBDUFunction { description "Represents the properties, known by the management function, of a GNBDUFunction managed by another management function."; - reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { @@ -69,13 +62,24 @@ module _3gpp-nr-nrm-externalgnbdufunction { } } - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalGNBDUFunctionWrapper; + feature ExternalGNBDUFunctionUnderNRNetwork { + description "The ExternalGNBDUFunction shall be contained under + NRNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrnet3gpp:NRNetwork" { + if-feature ExternalGNBDUFunctionUnderNRNetwork; + uses ExternalGNBDUFunctionSubtree; } - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalGNBDUFunctionWrapper; + feature ExternalGNBDUFunctionUnderSubNetwork { + description "The ExternalGNBDUFunction shall be contained under + SubNetwork"; + } + + augment "/subnet3gpp:SubNetwork" { + if-feature ExternalGNBDUFunctionUnderSubNetwork ; + uses ExternalGNBDUFunctionSubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang index b982aa12c22630a011a87fca72060d1b8f1b7a14..1586cad430663811e18ea616ecc44aa2691d9b90 100755 --- a/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang +++ b/yang-models/_3gpp-nr-nrm-externalnrcellcu.yang @@ -5,43 +5,57 @@ module _3gpp-nr-nrm-externalnrcellcu { import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-externalgnbcucpfunction { prefix extgnbcucp3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalNRCellCU Information Object Class (IOC), that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial revision"; } grouping ExternalNRCellCUGrp { description "Represents the ExternalNRCellCU IOC."; - reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - leaf cellLocalId { - description "Identifies an NR cell of a gNB. Together with corresponding - gNB ID it forms the NR Cell Identifier (NCI)."; - reference "NCI in 3GPP TS 38.300"; + leaf cellLocalId { + description "It identifies a NR cell of a gNB. + + It, together with the gNB Identifier (using gNBId of the parent + GNBCUCPFunction or GNBDUFunction or OperatorDU (for MOCN network + sharing scenario) or ExternalCUCPFunction), identifies a NR cell within + a PLMN. This is the NR Cell Identity(NCI). See subclause 8.2 of TS38.300. + + The NCI can be constructed by encoding the gNB Identifier using gNBId + (of the parent GNBCUCPFunction or GNBDUFunction or OperatorDU + (for MOCN network sharing scenario) or ExternalCUCPFunction) and + cellLocalId where the gNB Identifier field is of length specified by + gNBIdLength (of the parent GNBCUCPFunction or GNBDUFunction or + ExternalCUCPFunction). See 'Global gNB ID' in subclause 9.3.1.6 of + TS 38.413. + + The NR Cell Global identifier (NCGI) is constructed from the + PLMN identity the cell belongs to and the NR Cell Identifier (NCI) of + the cell. + + See relation between NCI and NCGI subclause 8.2 of TS 38.300 "; mandatory true; - type int32 {range "0..16383"; } + type int32; } leaf nRPCI { - description "The Physical Cell Identity (PCI) of the NR cell."; - reference "3GPP TS 36.211"; + description "This holds the Physical Cell Identity (PCI) of the NR cell. + + allowedValues: + See 3GPP TS 36.211 subclause 6.11 for legal values of pci."; mandatory true; - type int32 { range "0..1007"; } + type int64; } list pLMNIdList { @@ -62,11 +76,11 @@ module _3gpp-nr-nrm-externalnrcellcu { } } - grouping ExternalNRCellCUWrapper { + grouping ExternalNRCellCUSubtree { list ExternalNRCellCU { - description "Represents the properties of an NRCellCU controlled by - another Management Service Provider."; - reference "3GPP TS 28.541"; + description "This IOC contains necessary attributes for inter-system + and intra-system handover. It also contains a subset of the attributes + of related IOCs controlled by Management Service Provider."; key id; uses top3gpp:Top_Grp; container attributes { @@ -75,14 +89,4 @@ module _3gpp-nr-nrm-externalnrcellcu { uses mf3gpp:ManagedFunctionContainedClasses; } } - - augment "/subnet3gpp:SubNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; - uses ExternalNRCellCUWrapper; - } - - augment "/nrnet3gpp:NRNetwork/extgnbcucp3gpp:ExternalGNBCUCPFunction" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; - uses ExternalNRCellCUWrapper; - } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang index 1fd0469466dae9b8d194c519dc61134194860835..dcaba95b49fb25b777e10125119b57e98f4cf51f 100755 --- a/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalservinggwfunction.yang @@ -4,8 +4,7 @@ module _3gpp-nr-nrm-externalservinggwfunction { prefix "extservgw3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-eutranetwork { prefix eutranet3gpp; } + //import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; @@ -16,6 +15,7 @@ module _3gpp-nr-nrm-externalservinggwfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { @@ -43,7 +43,7 @@ module _3gpp-nr-nrm-externalservinggwfunction { } } - augment "/subnet3gpp:SubNetwork" { + /*augment "/subnet3gpp:SubNetwork" { if-feature subnet3gpp:ExternalsUnderSubNetwork ; uses ExternalServingGWFunctionWrapper; } @@ -51,5 +51,5 @@ module _3gpp-nr-nrm-externalservinggwfunction { augment "/eutranet3gpp:EUtraNetwork" { if-feature eutranet3gpp:ExternalsUnderEUtraNetwork; uses ExternalServingGWFunctionWrapper; - } + }*/ } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-externalupffunction.yang b/yang-models/_3gpp-nr-nrm-externalupffunction.yang index 11e924daba44be7b0889f63b3befdccbc203581a..abe82b6c8b8a94ce6ea40a68d490758ec14da36d 100755 --- a/yang-models/_3gpp-nr-nrm-externalupffunction.yang +++ b/yang-models/_3gpp-nr-nrm-externalupffunction.yang @@ -4,17 +4,19 @@ module _3gpp-nr-nrm-externalupffunction { prefix "extupf3gpp"; import _3gpp-common-managed-function { prefix mf3gpp; } - import _3gpp-common-subnetwork { prefix subnet3gpp; } - import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } + /*import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; }*/ import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the ExternalUPFFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common for r18, r19 revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } revision 2019-06-17 { @@ -42,7 +44,7 @@ module _3gpp-nr-nrm-externalupffunction { } } - augment "/subnet3gpp:SubNetwork" { + /*augment "/subnet3gpp:SubNetwork" { if-feature subnet3gpp:ExternalsUnderSubNetwork ; uses ExternalUPFFunctionWrapper; } @@ -50,5 +52,5 @@ module _3gpp-nr-nrm-externalupffunction { augment "/nrnet3gpp:NRNetwork" { if-feature nrnet3gpp:ExternalsUnderNRNetwork; uses ExternalUPFFunctionWrapper; - } + }*/ } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang index 7d8eabeec81675750634464c98f6e60d59175eb2..e2940624d4f11b192580384aeb0aee56b4edde12 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcucpfunction.yang @@ -2,8 +2,9 @@ module _3gpp-nr-nrm-gnbcucpfunction { yang-version 1.1; namespace "urn:3gpp:sa5:_3gpp-nr-nrm-gnbcucpfunction"; prefix "gnbcucp3gpp"; - + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-function { prefix mf3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } @@ -13,17 +14,24 @@ module _3gpp-nr-nrm-gnbcucpfunction { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the GNBCUCPFunction Information + description "Defines the YANG mapping of the GNBCUCPFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; - revision 2024-05-24 { reference CR-1273 ; } + revision 2025-05-25 { reference "CR-1527" ; } + revision 2025-05-07 { reference "CR-1548"; } + revision 2025-03-25 { reference "CR-1509"; } + revision 2025-01-25 { reference "CR-1442"; } + revision 2024-11-07 { reference "CR-1443"; } + revision 2024-08-19 { reference "CR-1405"; } + revision 2024-08-19 { reference "CR-1337 CR-1352"; } + revision 2024-05-24 { reference CR-1273 ; } revision 2024-04-04 { reference CR-1139; } - revision 2024-02-24 { reference CR-1218; } + revision 2024-02-24 { reference CR-1218; } revision 2024-01-12 { reference CR-1138; } - revision 2023-09-18 { reference CR-1043; } + revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2022-07-28 { reference "CR-0770"; } revision 2021-11-06 { reference "CR-0611" ; } @@ -55,7 +63,85 @@ module _3gpp-nr-nrm-gnbcucpfunction { feature DMROFunction { description "Class representing D-SON function of MRO feature"; } - + + grouping BackhaulAddressGrp { + description "This data type represents the properties describing the + backhaul address of gNB. "; + + leaf gNBId { + type uint32 ; + mandatory true; + description "It identifies a gNB within a PLMN. The gNB ID is part of + the NR Cell Identifier (NCI) of the gNB cells."; + reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. + Global gNB ID in subclause 9.3.1.6 of TS 38.413"; + } + + list tAI { + key tac; + min-elements 1; + max-elements 1; + description "Tracking Area Identity"; + reference "subclause 9.3.3.11 in TS 38.413"; + uses types3gpp:TaiGrp; + } + } + + grouping MappingSetIDBackhaulAddressGrp { + description "This data type represents the properties describing the + mapping relationship between set ID and backhaul address of gNB."; + + leaf setId { + type uint32 { + range 0..4194304; // 22 bits + } + mandatory true; + description "This specifies the set ID of a victim Set (RIM-RS1 Set) or + aggressor Set (RIM-RS2 set). (See subclause 7.4.1.6 in TS 38.211). + + allowedValues: + The bit length of the set ID is maximum 22bit."; + } + + list backhaulAddress { + description "The attribute specifies backhaulAddress which is defined as + a datatype."; + min-elements 1; + max-elements 1; + key gNBId; + uses BackhaulAddressGrp; + } + } + + grouping TceIDMappingInfoGrp { + description "This data type represents the properties describing the + mapping relationship between TCE ID, PLMN where TCE resides and + IP address of TCE."; + + leaf tceIPAddress { + type inet:ip-address; + mandatory true; + description "This attribute indicates IP address of TCE. + (See subclause 4.1.1.9.2 in TS 32.422)"; + } + + leaf tceID { + type int64; + mandatory true; + description "This attribute indicates TCE Id. + (See subclause 4.1.1.9.2 in TS 32.422)"; + } + + list pLMNTarget { + description "Indicates the PLMN where TCE resides. + (See subclauses 4.1.1.9.2 and 4.9.2 in TS 32.422)"; + min-elements 1; + max-elements 1; + key mnc; + uses types3gpp:PLMNId; + } + } + grouping GNBCUCPFunctionGrp { description "Represents the GNBCUCPFunction IOC."; reference "3GPP TS 28.541"; @@ -91,54 +177,70 @@ module _3gpp-nr-nrm-gnbcucpfunction { max-elements 1; yext3gpp:inVariant; uses types3gpp:PLMNId; - } + } - leaf-list x2BlockList { - type string; + list x2BlockList { description "List of nodes to which X2 connections are prohibited."; + key idx; + leaf idx {type uint32;} + uses GeNBIdGrp; } - leaf-list x2AllowList { - type string; + list x2AllowList { description "List of nodes to which X2 connections are enforced."; + key idx; + leaf idx {type uint32;} + uses GeNBIdGrp; } - leaf-list xnBlockList { - type string; + list xnBlockList { description "List of nodes to which Xn connections are prohibited."; + key idx; + leaf idx {type uint32;} + uses GgNBIdGrp; } - leaf-list xnAllowList { - type string; + list xnAllowList { description "List of nodes to which X2 connections are enforced."; + key idx; + leaf idx {type uint32;} + uses GgNBIdGrp; } - leaf-list xnHOBlockList { - type string; - description "List of nodes to which handovers over Xn are prohibited."; - } - - leaf configurable5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBCUCPFunction - supports (is associated to)."; + list x2HOBlockList { + description "List of nodes to which handovers over X2 are prohibited."; + key idx; + leaf idx {type uint32;} + uses GeNBIdGrp; } - leaf-list x2HOBlockList { - type string; - description "List of nodes to which handovers over X2 are prohibited."; + list xnHOBlockList { + description "List of nodes to which handovers over Xn are prohibited."; + key idx; + leaf idx {type uint32;} + uses GgNBIdGrp; } - leaf dynamic5QISetRef { - type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the GNBCUCPFunction supports - (is associated to)."; + list mappingSetIDBackhaulAddressList { + description "The attribute specifies a list of mappingSetIDBackhaulAddress + which is defined as a datatype. Which is used to + retrieve the backhaul address of the victim set."; + min-elements 1; + key idx; + leaf idx {type uint32; } + uses MappingSetIDBackhaulAddressGrp; } - leaf dCHOControl { - type boolean; - description "This attribute determines whether the CHO function is - enabled or disabled."; + list tceIDMappingInfoList { + description "This attribute includes a list of TCE ID, PLMN where TCE + resides and the corresponding TCE IP address. It is used in Logged MDT + case to provide the information to the gNodeB or GNBCUCPFunction to + get the corresponding TCE IP address when there is an MDT log + received from the UE."; + min-elements 1; + key idx; + leaf idx { type uint32; } + uses TceIDMappingInfoGrp; } leaf dDAPSHOControl { @@ -147,6 +249,12 @@ module _3gpp-nr-nrm-gnbcucpfunction { is enabled or disabled."; } + leaf dCHOControl { + type boolean; + description "This attribute determines whether the CHO function is + enabled or disabled."; + } + list qceIdMappingInfoList { description "List of the mapping relationship between QoE collection entity identity, PLMN where QoE collection entity resides, and the IP address of @@ -172,14 +280,63 @@ module _3gpp-nr-nrm-gnbcucpfunction { } description "represents a list of MDT measurement names that are subject to user consent at MDT activation. - Any MDT measurement, whose name is not specified in this list, is not + Any MDT measurement, whose name is not specified in this list, is not subject to user consent at MDT activation."; } - + + list mappedCellIdInfoList { + description "This attribute provides the list of mapping between + geographical location and Mapped Cell ID."; + key idx; + leaf idx { type uint32; } + uses types5g3gpp:MappedCellIdInfoGrp; + } + + leaf configurable5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Configurable5QISet that the GNBCUCPFunction + supports (is associated to)."; + } + + leaf isOnboardSatellite { + type boolean; + default false; + description "This attribute indicates whether the function is + on board the satellite."; + } + + leaf onboardSatelliteId { + type string; + config false; + description "This attribute indicates the onboard satellite Id. + It shall be formatted as a fixed 5-digit string, padding with + leading digits '0' to complete a 5-digit length."; + } + + leaf dynamic5QISetRef { + type types3gpp:DistinguishedName; + description "DN of the Dynamic5QISet that the GNBCUCPFunction supports + (is associated to)."; + } + leaf ephemerisInfoSetRef { type types3gpp:DistinguishedName; description "This is the DN of EphemerisInfoSet."; } + + leaf nRECMappingRuleRef { + type types3gpp:DistinguishedName; + description "DN of a NRECMappingRule. An empty value indicates the + NRECMappingRule contained by parent, e.g. ManagedElement or + SubNetwork, applies."; + } + + leaf mWABRef { + type types3gpp:DistinguishedName; + description "This attribute represents the MWAB functionality + (See sub clause 5.49 [11]). This attribute contains the DN of the + referenced MWAB."; + } } grouping QceIdMappingInfoGrp { @@ -191,10 +348,10 @@ module _3gpp-nr-nrm-gnbcucpfunction { leaf qoECollectionEntityIdentity { type string; - description "Specifies the unique identity to which the QMC reports + description "Specifies the unique identity to which the QMC reports shall be transferred."; } - + list pLMNTarget { description "The PLMN identifier where QoE collection entity resides. "; @@ -206,6 +363,40 @@ module _3gpp-nr-nrm-gnbcucpfunction { } } + grouping GgNBIdGrp { + description "Represents the properties of a global gNB ID (GgNBId)."; + + uses types3gpp:PLMNId; + + leaf gnbIdLength { + type int32 {range "22..32";} + mandatory true; + description "This indicates the number of bits for encoding the gNB ID. + See 'Global gNB ID' in subclause 9.3.1.6 of TS 38.413"; + } + + leaf gnbId { + description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID) + is part of the NR Cell Identifier (NCI) of the gNB cells."; + reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413"; + mandatory true; + type int64 { range "0..4294967295"; } + } + } + + grouping GeNBIdGrp { + description "Represents the properties of a global eNB ID (GeNBId)."; + uses types3gpp:PLMNId; + + leaf enbId { + description "It identifies an eNB within a PLMN. The eNB ID is part of + the E-UTRAN Cell Global Identifier (ECGI) of the eNB cells."; + reference "eNB ID in 3GPP TS 36.300. Global eNB ID in 3GPP TS 36.413."; + mandatory true; + type int32 {range "0..4194303";} + } + } + augment "/me3gpp:ManagedElement" { list GNBCUCPFunction { @@ -213,7 +404,7 @@ module _3gpp-nr-nrm-gnbcucpfunction { reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; - container attributes { + container attributes { uses GNBCUCPFunctionGrp; } uses mf3gpp:ManagedFunctionContainedClasses; @@ -223,4 +414,4 @@ module _3gpp-nr-nrm-gnbcucpfunction { } } } -} \ No newline at end of file +} diff --git a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang index fed4880c9bd0f7b85ecab68ff4a7d963f8abaaeb..4238ccf3b8f8e0ec632bdd74797bccfbeb87e224 100755 --- a/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbcuupfunction.yang @@ -19,6 +19,7 @@ module _3gpp-nr-nrm-gnbcuupfunction { TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + revision 2024-11-01 { reference CR-1405 ; } revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } @@ -38,74 +39,6 @@ module _3gpp-nr-nrm-gnbcuupfunction { GNBCUUPFunction"; } - grouping TAIGrp { - description "Tracking Area Identity"; - - list pLMNId { - key "mcc mnc"; - description "PLMN IDs for the Tracking area"; - uses types3gpp:PLMNId; - } - - leaf nRTAC { - type types5g3gpp:NRTAC; - description "Identity of the common Tracking Area Code for the PLMNs - allowedValues: - a) It is the TAC or Extended-TAC. - b) A cell can only broadcast one TAC or Extended-TAC. - See TS 36.300, subclause 10.1.7 (PLMNID and TAC relation). - c) TAC is defined in subclause 19.4.2.3 of 3GPP TS 23.003 and - Extended-TAC is defined in subclause 9.3.1.29 of 3GPP TS 38.473. - d) For a 5G SA (Stand Alone), it has a non-null value."; - } - } - - grouping BackhaulAddressGrp { - description "Indicates the backhauladdress of gNB."; - - leaf gNBId { - type uint32 { - range "0..4294967295"; - } - description "It identifies a gNB within a PLMN. The gNB ID is part of - the NR Cell Identifier (NCI) of the gNB cells."; - reference "gNB Identifier (gNB ID) of subclause 8.2 of TS 38.300. - Global gNB ID in subclause 9.3.1.6 of TS 38.413"; - } - - list tAI { - key nRTAC; - min-elements 1; - max-elements 1; - description "Tracking Area Identity"; - reference "subclause 9.3.3.11 in TS 38.413"; - uses TAIGrp; - } - } - - grouping MappingSetIDBackhaulAddressGrp { - description "Mapping relationship between setID and backhaulAddress of gNB"; - - leaf idx { - type uint32 ; - description "ID value"; - } - - leaf setID { - type uint32; - mandatory true; - description "Indicates the setID of gNB."; - reference "Subclause 7.4.1.6 in TS 38.211"; - } - - list backhaulAddress { - key gNBId; - min-elements 1; - max-elements 1; - description "Indicates the backhauladdress of gNB."; - uses BackhaulAddressGrp; - } - } grouping GNBCUUPFunctionGrp { description "Represents the GNBCUUPFunction IOC."; reference "3GPP TS 28.541"; @@ -147,15 +80,6 @@ module _3gpp-nr-nrm-gnbcuupfunction { uses types5g3gpp:PLMNInfo; } - list mappingSetIDBackhaulAddressList { - key idx; - description "Specifies a list of mappingSetIDBackhaulAddress used to - retrieve the backhaul address of the victim set. - Must be present if Remote Interference Management function is - supported."; - uses MappingSetIDBackhaulAddressGrp; - } - leaf configurable5QISetRef { type types3gpp:DistinguishedName; description "DN of the Configurable5QISet that the GNBCUUPFunction diff --git a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang index ca3c6f76857915005eea6643e72f6704ec5703f9..b26cfadd1a94dfd68397513d722de3f516cbb76e 100755 --- a/yang-models/_3gpp-nr-nrm-gnbdufunction.yang +++ b/yang-models/_3gpp-nr-nrm-gnbdufunction.yang @@ -14,12 +14,15 @@ module _3gpp-nr-nrm-gnbdufunction { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the GNBDUFunction Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; - revision 2024-02-24 { reference CR-1218; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-08-15 { reference "CR-1598 CR-1558"; } + revision 2025-05-07 { reference "CR-1527 CR-1548"; } + revision 2025-02-05 { reference CR-1441; } + revision 2024-02-24 { reference CR-1218; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } revision 2022-11-02 { reference "CR-0753"; } revision 2022-07-28 { reference "CR-0770"; } @@ -184,17 +187,42 @@ module _3gpp-nr-nrm-gnbdufunction { information derived from the detected RIM-RS to OAM."; uses RimRSReportConfGrp; } - + leaf isOnboardSatellite { + type boolean; + default false; + config false; + description "This attribute indicates whether the function is + on board the satellite."; + } + leaf onboardSatelliteId { + type string; + description "This attribute indicates the onboard satellite Id. + It shall be formatted as a fixed 5-digit string, padding with + leading digits '0' to complete a 5-digit length."; + } leaf configurable5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Configurable5QISet that the GNBDUFunction supports (is associated - to)."; + description "DN of the Configurable5QISet that the GNBDUFunction supports + (is associated to)."; } leaf dynamic5QISetRef { type types3gpp:DistinguishedName; - description "DN of the Dynamic5QISet that the GNBDUFunction supports (is associated to)."; + description "DN of the Dynamic5QISet that the GNBDUFunction supports + (is associated to)."; + } + + leaf nRECMappingRuleRef { + type types3gpp:DistinguishedName; + description "DN of a NRECMappingRule. An empty value indicates the + NRECMappingRule contained by parent, e.g. ManagedElement or + SubNetwork, applies."; } + leaf iABRef { + type types3gpp:DistinguishedName; + description "DN of the referenced IAB." ; + } + } augment "/me3gpp:ManagedElement" { diff --git a/yang-models/_3gpp-nr-nrm-iabfunction.yang b/yang-models/_3gpp-nr-nrm-iabfunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..12592ba498c406202cd9e263dde2aa917d8414b5 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-iabfunction.yang @@ -0,0 +1,205 @@ +module _3gpp-nr-nrm-iabfunction { + yang-version 1.1; + 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; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the IAB function defined in 3GPP TS 28.541. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541; 3GPP TS 28.314; 3GPP TS 28.315; 3GPP TS 33.310, + IETF RFC 9811"; + + 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 + 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 ; + } + + 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"; + + key id; + leaf id { type uint32; } + uses LocationInfoGrp; + } + } + grouping IabSubTree { + description "Contains classes that manage IAB function management"; + + list IAB { + description "IAB-node architecture is specified in TS 38.401. + This IOC defines the configuration information for the IAB management"; + + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses IABGrp ; + } + } + } + + feature IABUnderManagedElement { + description "The IAB shall be available under ManagedElement"; + } + + augment /me3gpp:ManagedElement { + if-feature IABUnderManagedElement; + uses IabSubTree; + } + + feature IABUnderSubNetwork { + description "The IAB shall be available under SubNetwork"; + } + + augment /subnet3gpp:SubNetwork { + if-feature IABUnderSubNetwork; + 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 new file mode 100644 index 0000000000000000000000000000000000000000..9f8af2af9575b54b16c11f95b2ac6c136b62f2cc --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-mwab.yang @@ -0,0 +1,77 @@ +module _3gpp-nr-nrm-mwab { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-mwab"; + prefix "mwab3gpp"; + + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the ExternalGNBCUCPFunction + Information Object Class (IOC), that is part of the NR Network Resource + Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-04-25 { reference CR-1527 ; } + + grouping MWABGrp { + description "Represets the ExternalENBFunction IOC."; + + leaf operationalState { + description "It indicates the operational state of the MWAB instance. + It describes whether the resource is installed and partially or fully + operable (Enabled) or the resource is not installed or not + operable (Disabled)."; + mandatory true; + config false; + type types3gpp:OperationalState; + } + + leaf administrativeState { + description "It indicates the administrative state of the MWAB instance. + It describes the permission to use or prohibition against using the + MWAB functionalities, imposed through the OAM services."; + default LOCKED; + type types3gpp:AdministrativeState; + } + + list allowedArea { + description "This specifies the area where the MWAB can act as MWAB-gNB. + If the OAM indicates that the MWAB can act as MWAB-gNB is allowed areas, + it acts as MWAB-gNB only on the allowed area only. + (See sub clause 5.49 TS 28.662)."; + key idx; + leaf idx { type uint32; } + uses types3gpp:GeoAreaGrp; + } + + list allowedTime { + description "This specifies the time window for which the MWAB can act + as MWAB-gNB. If the allowed time window/ validity indicates 20th June, + 10 am to 5 pm of the day, the MWAB acts as an MWAB g-NB only during 20th + June, 10 am to 5 pm of the day, and does not act as MWAB-gNB for any + other time. (See sub clause 5.49 [11])."; + key idx; + leaf idx { type uint32 ; } + uses types3gpp:TimeWindowGrp; + } + } + + grouping MWABSubTree { + list MWAB { + description "MWAB provides an NR access link to UEs in proximity and + connects to the 5GC serving the UE through an IP connectivity provided + by a Backhaul PDU session(s). The MWAB consists of a gNB component + (MWAB-gNB) and a UE component (MWAB-UE). This IOC defines the + configuration information for the MWAB-gNB."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses MWABGrp; + } + } + } +} diff --git a/yang-models/_3gpp-nr-nrm-nrcelldu.yang b/yang-models/_3gpp-nr-nrm-nrcelldu.yang index da3e121956d6a0c7a1551d912c69617eadbc7c7a..40245e23e7bc11ae461ca272de3df0cb9506c44b 100755 --- a/yang-models/_3gpp-nr-nrm-nrcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nrcelldu.yang @@ -15,12 +15,15 @@ module _3gpp-nr-nrm-nrcelldu { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRCellDU Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; - revision 2024-05-24 { reference CR-1273 ; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-07-25 { reference CR-1558 ; } + revision 2025-02-07 { reference CR-1442; } + revision 2024-05-25 { reference CR-1412 ; } + revision 2024-05-24 { reference CR-1273 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-06-29 { reference CR-0756 ; } revision 2021-10-28 { reference CR-0607 ; } @@ -34,62 +37,23 @@ module _3gpp-nr-nrm-nrcelldu { revision 2019-09-03 { reference "Initial revision"; } feature DRACHOptimizationFunction { - description "Class representing D-SON function of RACH optimization + description "Class representing D-SON function of RACH optimization feature"; } - + feature CPCIConfigurationFunction { - description "Class representing Centralized SON function of + description "Class representing Centralized SON function of PCI configuration feature"; } - grouping NPNIdentityGrp { - description "Represents the NPN supported by the <> using this - <> as one of its attributes in case of the cell is a - NPN-only cell."; - - list plmnid { - key "mcc mnc"; - min-elements 1; - description "PLMNId"; - uses types3gpp:PLMNId; - } - - leaf cAGIdList { - type string; - mandatory true; - description "It identifies a CAG list containing up to 12 CAG-identifiers - per PLMN Identity, see TS 38.331. - - CAG is used for the PNI-NPNs to prevent UE(s), which are not allowed - to access the NPN via the associated cell(s), from automatically - selecting and accessing the associated CAG cell(s). - - CAG ID is used to combine with PLMN ID to identify a PNI-NPN. - - Exist if the cell is a NPN-only cell see TS 38.331"; - } - - leaf nIDList { - type string; - mandatory true; - description "It identifies a list of NIDs containing up to 12 NIDs per - PLMN Identity, see TS 38.331. - - NID is used to combine with PLMN ID to identify an SNPN. - - Exist if the cell is a NPN-only cell see TS 38.331"; - } - } - grouping NRCellDUGrp { description "Represents the NRCellDU IOC."; reference "3GPP TS 28.541"; uses mf3gpp:ManagedFunctionGrp; - + leaf cellLocalId { description "Identifies an NR cell of a gNB. Together with the - corresponding gNB identifier in forms the NR Cell Identity (NCI)."; + corresponding gNB identifier in forms the NR Cell Identity (NCI)."; reference "NCI in 3GPP TS 38.300"; mandatory true; type int32 { range "0..16383"; } @@ -122,11 +86,11 @@ module _3gpp-nr-nrm-nrcelldu { } list pLMNInfoList { - description "The PLMNInfoList is a list of PLMNInfo data type. It - defines which PLMNs that can be served by the NR cell, and which - S-NSSAIs that can be supported by the NR cell for corresponding PLMN - in case of network slicing feature is supported. The plMNId of the - first entry of the list is the PLMNId used to construct the nCGI for + description "The PLMNInfoList is a list of PLMNInfo data type. It + defines which PLMNs that can be served by the NR cell, and which + S-NSSAIs that can be supported by the NR cell for corresponding PLMN + in case of network slicing feature is supported. The plMNId of the + first entry of the list is the PLMNId used to construct the nCGI for the NR cell."; key "mcc mnc sd sst"; min-elements 1; @@ -138,14 +102,14 @@ module _3gpp-nr-nrm-nrcelldu { key idx ; min-elements 1; ordered-by user; - description "It defines which NPNs that can be served by the NR cell, - and which CAG IDs or NIDs can be supported by the NR cell for + description "It defines which NPNs that can be served by the NR cell, + and which CAG IDs or NIDs can be supported by the NR cell for corresponding PNI-NPN or SNPN in case of the cell is NPN-only cell."; reference "3GPP TS 38.331"; leaf idx { type uint32 ; } - uses NPNIdentityGrp; + uses types3gpp:NpnIdGrp; } - + leaf nRPCI { description "The Physical Cell Identity (PCI) of the NR cell."; reference "3GPP TS 36.211"; @@ -154,11 +118,20 @@ module _3gpp-nr-nrm-nrcelldu { } leaf nRTAC { - description "The common 5GS Tracking Area Code for the PLMNs."; + description "The common 5GS Tracking Area Code for the PLMNs."; reference "3GPP TS 23.003, 3GPP TS 38.473"; type types5g3gpp:NRTAC; } + leaf-list nTNTAClist { + type string; + min-elements 1; + max-elements 12; + description "It is the list of Tracking Area Codes which is only present + in an NTN cell. If this field is present, network does not configure + trackingAreaCode, see TS 38.331)."; + } + leaf arfcnDL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for downlink."; @@ -166,7 +139,7 @@ module _3gpp-nr-nrm-nrcelldu { mandatory true; type int32; } - + leaf arfcnUL { description "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for uplink."; @@ -191,117 +164,117 @@ module _3gpp-nr-nrm-nrcelldu { leaf rimRSMonitoringStartTime { type yang:date-and-time ; mandatory true; - description "Configures the UTC time when the gNB attempts to start + description "Configures the UTC time when the gNB attempts to start RIM-RS monitoring."; } - + leaf rimRSMonitoringStopTime { type yang:date-and-time ; mandatory true; - description "Configures the UTC time when the gNB stops RIM-RS + description "Configures the UTC time when the gNB stops RIM-RS monitoring."; } - + leaf rimRSMonitoringWindowDuration { type uint32 { range 1..16384 ; } mandatory true; - description "Configures a duration of the monitoring window in which - gNB monitors the RIM-RS, in unit of P_t, where P_t is the RIM-RS + description "Configures a duration of the monitoring window in which + gNB monitors the RIM-RS, in unit of P_t, where P_t is the RIM-RS transmission periodicity in units of uplink-downlink switching period ( see 38.211 subclause 7.4.1.6). - This field is configured together with rimRSMonitoringInterval, - rimRSMonitoringWindowStartingOffset, rimRSMonitoringOccasionInterval + This field is configured together with rimRSMonitoringInterval, + rimRSMonitoringWindowStartingOffset, rimRSMonitoringOccasionInterval and rimRSMonitoringOccasionStartingOffset. - The duration of the monitoring window is expected to be larger than - or equal to M*P_t, where M is the interval between adjacent monitoring - occasions within the monitoring window + The duration of the monitoring window is expected to be larger than + or equal to M*P_t, where M is the interval between adjacent monitoring + occasions within the monitoring window (configured by rimRSMonitoringInterval). - The absolute duration of the monitoring window is not expected to be - larger than the periodicity of the monitoring window (configured by + The absolute duration of the monitoring window is not expected to be + larger than the periodicity of the monitoring window (configured by rimRSMonitoringWindowPeriodicity). - + See 3GPP TS 28.541 attribute descrition rimRSMonitoringWindowDuration for the exact math formulas. - - Only the earliest N_T consecutive detection durations in each RIM-RS - transmission periodicity (P_t) in the monitoring window are taken as - valid time for monitoring potential interference, and they are - consecutively monitored in the monitoring window, while the residual - part of each RIM-RS transmission periodicity is not used for - discovering potential interference, where, a consecutive detection + + Only the earliest N_T consecutive detection durations in each RIM-RS + transmission periodicity (P_t) in the monitoring window are taken as + valid time for monitoring potential interference, and they are + consecutively monitored in the monitoring window, while the residual + part of each RIM-RS transmission periodicity is not used for + discovering potential interference, where, a consecutive detection duration spans P1*R1 (if only P1 is configured) or ((P1+P2))/2*R1 ( if both P1 and P2 are configured), where, - R1 is the number of consecutive uplink-downlinkswitching periods + R1 is the number of consecutive uplink-downlinkswitching periods for RS-1 (configured by nrofConsecutiveRIMRS1), - P1 is the first uplink-downlinkswitching period (configured by - dlULSwitchingPeriod1), - P2 is the second uplink-downlink switching period (configured by + P1 is the first uplink-downlinkswitching period (configured by + dlULSwitchingPeriod1), + P2 is the second uplink-downlink switching period (configured by dlULSwitchingPeriod2), and N_T= - ((N_setID # RIM,1)/(N_f # RI N_s # RIM,1) + ((N_setID # RIM,1)/(N_f # RI N_s # RIM,1) if enableEnoughNotEnoughIndication is 'disable' - + (2N_setID # RIM,1)/(N_f # RIM N_s # RIM,1) if enableEnoughNotEnoughIndication is 'enable' - + N_setID # 'RIM,1' is the total number of set IDs for RIM RS-1 (configured by totalnrofSetIdofRS1), - N_f # RIM is the number of candidate frequency resources in the whole - network (configured by nrofGlobalRIMRSFrequencyCandidates), and - N_s # 'RIM,1' is the number of candidate sequences assigned for + N_f # RIM is the number of candidate frequency resources in the whole + network (configured by nrofGlobalRIMRSFrequencyCandidates), and + N_s # 'RIM,1' is the number of candidate sequences assigned for RIM RS-1 (configured by nrofRIMRSSequenceCandidatesofRS1)."; } - + leaf rimRSMonitoringWindowStartingOffset { type uint8 { range 0..23 ; } mandatory true; units hours; - description "Configures the start offset of the first monitoring window + description "Configures the start offset of the first monitoring window within one day, in unit of hours."; } - + leaf rimRSMonitoringWindowPeriodicity { type uint8 { range 1|2|3|4|6|8|12|24 ; } units hours; mandatory true; - description "Configures the periodicity of the monitoring window, in + description "Configures the periodicity of the monitoring window, in unit of hours"; } - + leaf rimRSMonitoringOccasionInterval { type uint32 { range 1..max ; } mandatory true; - description "Configures the interval between adjacent monitoring - occasions (M) within the monitoring window, in unit of consecutive + description "Configures the interval between adjacent monitoring + occasions (M) within the monitoring window, in unit of consecutive detection duration. - M is expected to be prime to N_T, where N_T is given in above + M is expected to be prime to N_T, where N_T is given in above attribute rimRSMonitoringWindowDuration. allowedValues: 1,2..N_T-1"; } - + leaf rimRSMonitoringOccasionStartingOffset { type uint32 ; mandatory true; - description "Configures the start offset of the first monitoring occasions - within the monitoring window (S_M), in unit of consecutive detection + description "Configures the start offset of the first monitoring occasions + within the monitoring window (S_M), in unit of consecutive detection duration. - gNB starts monitoring potential interference from the S_M-th consecutive - detection duration in the first complete RIM-RS transmission + gNB starts monitoring potential interference from the S_M-th consecutive + detection duration in the first complete RIM-RS transmission periodicity (P_t) within the monitoring window. allowedValues: 0,1,2..M-1 - where M is the the interval between adjacent monitoring occasions - within the monitoring window + where M is the the interval between adjacent monitoring occasions + within the monitoring window (configured by rimRSMonitoringOccasionInterval)"; } @@ -314,7 +287,7 @@ module _3gpp-nr-nrm-nrcelldu { 3GPP TS 38.101-1, and within bSChannelBwDL."; mandatory true; type int32 { range "0..3279165"; } - } + } leaf ssbPeriodicity { description "Indicates cell defined SSB periodicity. The SSB periodicity @@ -386,11 +359,11 @@ module _3gpp-nr-nrm-nrcelldu { description "Reference to corresponding NRFrequency instance."; type types3gpp:DistinguishedName; } - + leaf victimSetRef { type types3gpp:DistinguishedName; mandatory true; - description "DN of a victim Set (RimRSSet) + description "DN of a victim Set (RimRSSet) Implemented if RIM feature is supported"; } @@ -399,41 +372,57 @@ module _3gpp-nr-nrm-nrcelldu { mandatory true; description "DN of an aggressor Set (RimRSSet)"; } + + leaf redCapAccessCriteriaRef { + type types3gpp:DistinguishedName; + mandatory true; + description "This attribute contains the DN of the redCapAccessCriteria + MOI "; + } } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { list NRCellDU { - description "This IOC represents the part of NR cell information that - describes s the specific resources instances. - - An NR cell transmits SS/PBCH block and always requires downlink - transmission at a certain carrier frequency with a certain channel - bandwidth. Transmission may be performed from multiple sector-carriers - using different transmission points, and these may be configured with - different carrier frequencies and channel bandwidths, as long as they - are aligned to the cell's downlink resource grids as defined in - subclause 4.4 in TS 38.211. The values of arfcnDL and bSChannelBwDL - attributes define the resource grids which each sector-carrier needs to - be aligned to. See subclauses 5.3 and 5.4.2 of TS 38.104 for definitions + description "This IOC represents the part of NR cell information that + describes the specific resources instances. + + An NR cell transmits SS/PBCH block and always requires downlink + transmission at a certain carrier frequency with a certain channel + bandwidth. Transmission may be performed from multiple sector-carriers + using different transmission points, and these may be configured with + different carrier frequencies and channel bandwidths, as long as they + are aligned to the cell's downlink resource grids as defined in + subclause 4.4 in TS 38.211. The values of arfcnDL and bSChannelBwDL + attributes define the resource grids which each sector-carrier needs to + be aligned to. See subclauses 5.3 and 5.4.2 of TS 38.104 for definitions of BS channel bandwidth and NR-ARFCN, respectively. - - An NR cell requires an uplink in order to provide initial access. In - case of TDD, the values of arfcnUL and bSChannelBwUL have to always be - set to the same values as for the corresponding DL attributes. For both - FDD and TDD, the arfcnUL and bSChannelBwUL define uplink resource grids + + An NR cell requires an uplink in order to provide initial access. In + case of TDD, the values of arfcnUL and bSChannelBwUL have to always be + set to the same values as for the corresponding DL attributes. For both + FDD and TDD, the arfcnUL and bSChannelBwUL define uplink resource grids to which each sector-carrier needs to align to. - - An NR cell can in addition be configured with a supplementary uplink, - which has its own arfcnSUL and bSChannelBwSUL, which define resource + + An NR cell can in addition be configured with a supplementary uplink, + which has its own arfcnSUL and bSChannelBwSUL, which define resource grids for supplementary uplink sector-carriers. - - Each of downlink, uplink and supplementary uplink (if configured) need - an initial bandwidth part (BWP), which defines resources to be used by - UEs during and immediately after initial access. Additional BWPs can be - either configured or calculated by gNB internally and be applied to UEs - dynamically by gNB based on e.g. UE capability and bandwidth need of - each UE."; + + Each of downlink, uplink and supplementary uplink (if configured) need + an initial bandwidth part (BWP), which defines resources to be used by + UEs during and immediately after initial access. Additional BWPs can be + either configured or calculated by gNB internally and be applied to UEs + dynamically by gNB based on e.g. UE capability and bandwidth need of + each UE. + + BWPs are configured individually (bWPRef) or via sets (bWPSetRef). + + An NTN NR cell can be configured with list of Tracking Areas to support + broadcast multiple Tracking Area Codes per PLMN ID. Given that the + related TAIs broadcast may change with a foot print moving on earth, + which is predictable, time windows per TAList can be derived and + configured for NTN cell. These time windows define the specific periods + during which the satellite coverage will be available for the location."; key id; uses top3gpp:Top_Grp; container attributes { diff --git a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang index 90705d9b9f5e01eb4fdb6787f032c3b438e6a558..f3f80a3d9ffe8a1384771dd290be72f86da94294 100755 --- a/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang +++ b/yang-models/_3gpp-nr-nrm-nrfreqrelation.yang @@ -10,18 +10,21 @@ module _3gpp-nr-nrm-nrfreqrelation { import _3gpp-nr-nrm-nrcellcu { prefix nrcellcu3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFreqRelation Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; + revision 2025-01-25 { reference CR-1442; } revision 2024-02-24 { reference CR-1218; } revision 2023-09-18 { reference CR-1043; } revision 2023-04-26 { reference CR-0916; } revision 2020-04-23 { reference CR-0281; } revision 2019-10-28 { reference S5-193518; } - revision 2019-06-17 { + revision 2019-06-17 { + reference "Initial version"; description "Initial revision"; } @@ -80,14 +83,12 @@ module _3gpp-nr-nrm-nrfreqrelation { description "A list of Physical Cell Identities (PCIs) that are blocklisted in NR measurements."; reference "3GPP TS 38.331"; - min-elements 0; - type uint16 { range "0..1007"; } + type uint16 { range "0..503"; } } leaf-list blockListEntryIdleMode { description "A list of Physical Cell Identities (PCIs) that are blocklisted in SIB4 and SIB5."; - min-elements 0; type uint16 { range "0..1007"; } } @@ -116,7 +117,6 @@ module _3gpp-nr-nrm-nrfreqrelation { description "Used for calculation of the parameter Pcompensation (defined in 3GPP TS 38.304), at cell reselection to a cell."; reference "PEMAX in 3GPP TS 38.101-1"; - mandatory false; type int32 { range "-30..33"; } units dBm; } @@ -124,7 +124,6 @@ module _3gpp-nr-nrm-nrfreqrelation { leaf qOffsetFreq { description "The frequency specific offset applied when evaluating candidates for cell reselection."; - mandatory false; type types3gpp:QOffsetRange; default 0; } @@ -195,15 +194,15 @@ module _3gpp-nr-nrm-nrfreqrelation { units dB; } - leaf tReselectionNR { + leaf tReselectionNR { description "Cell reselection timer for NR."; reference "TreselectionRAT for NR in 3GPP TS 38.331"; mandatory true; type int32 { range "0..7"; } - units s; + units s; } - leaf tReselectionNRSfHigh { + leaf tReselectionNRSfHigh { description "The attribute tReselectionNr (parameter TreselectionNR in 3GPP TS 38.304) is multiplied with this scaling factor if the UE is in high mobility state."; @@ -225,14 +224,15 @@ module _3gpp-nr-nrm-nrfreqrelation { units %; } - leaf nRFrequencyRef { + leaf nRFrequencyRef { description "Reference to a corresponding NRFrequency instance."; mandatory true; type types3gpp:DistinguishedName; } } - augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU { + augment "/me3gpp:ManagedElement" + + "/gnbcucp3gpp:GNBCUCPFunction/nrcellcu3gpp:NRCellCU" { list NRFreqRelation { description "Together with the target NRFrequency, it represents the diff --git a/yang-models/_3gpp-nr-nrm-nrfrequency.yang b/yang-models/_3gpp-nr-nrm-nrfrequency.yang index a1589ef2b62eabd841a264bd4504c0fad8ccefd1..39f3795a7ad1f056651ca1ed06f81859e4488505 100755 --- a/yang-models/_3gpp-nr-nrm-nrfrequency.yang +++ b/yang-models/_3gpp-nr-nrm-nrfrequency.yang @@ -1,30 +1,29 @@ module _3gpp-nr-nrm-nrfrequency { yang-version 1.1; - namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork-nrfrequency"; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrfrequency"; prefix "nrfreq3gpp"; - import _3gpp-common-managed-function { prefix mf3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-nr-nrm-nrnetwork { prefix nrnet3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRFrequency Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; - revision 2023-09-18 { reference CR-1043 ; } + revision 2025-04-25 { reference "CR-1526 CR-1527"; } // common for r18, r19 + revision 2023-09-18 { reference CR-1043 ; } revision 2019-10-28 { reference S5-193518 ; } - revision 2019-06-17 { - description "Initial revision"; - } + revision 2019-06-17 { reference "Initial version"; } grouping NRFrequencyGrp { description "Represents the NRFrequency IOC."; - reference "3GPP TS 28.541"; - uses mf3gpp:ManagedFunctionGrp; leaf absoluteFrequencySSB { description "The absolute frequency applicable for a downlink NR carrier @@ -33,18 +32,20 @@ module _3gpp-nr-nrm-nrfrequency { type uint32 { range "0.. 3279165"; } } - leaf sSBSubCarrierSpacing { - description "Sub-carrier spacing of the SSB."; + leaf ssBSubCarrierSpacing { + description "Sub-carrier spacing of the SSB. + Note that the allowed values of SSB used for representing data, + by e.g. a BWP, are: 15, 30, 60 and 120 in units of kHz."; mandatory true; - type uint8 { range "15 | 30 | 60 | 120"; } + type uint8 { range "15 | 30 | 60 | 120 | 240"; } units "kHz"; } - leaf-list multiFrequencyBandListNR { + leaf multiFrequencyBandListNR { description "List of additional frequency bands the frequency belongs to. The list is automatically set by the gNB."; + mandatory true; config false; - min-elements 0; type uint16 { range "1..256"; } } } @@ -52,23 +53,30 @@ module _3gpp-nr-nrm-nrfrequency { grouping NRFrequencyWrapper { list NRFrequency { description "Represents certain NR frequency properties."; - reference "3GPP TS 28.541"; key id; uses top3gpp:Top_Grp; container attributes { uses NRFrequencyGrp; } - uses mf3gpp:ManagedFunctionContainedClasses; } - } - - augment "/subnet3gpp:SubNetwork" { - if-feature subnet3gpp:ExternalsUnderSubNetwork ; + } + + feature NRFrequencyUnderNRNetwork { + description "NRFrequency shall be contained under NRNetwork"; + } + + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + + "nrnet3gpp:NRNetwork" { + if-feature NRFrequencyUnderNRNetwork; uses NRFrequencyWrapper; } - augment "/nrnet3gpp:NRNetwork" { - if-feature nrnet3gpp:ExternalsUnderNRNetwork; + feature NRFrequencyUnderSubNetwork { + description "NRFrequency shall be contained under SubNetwork"; + } + + augment "/subnet3gpp:SubNetwork" { + if-feature NRFrequencyUnderSubNetwork; uses NRFrequencyWrapper; } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nrnetwork.yang b/yang-models/_3gpp-nr-nrm-nrnetwork.yang index 9e622884df55a0e936c5935124d5140dbb28bb0c..044c2d0db83e2bedc3a58e62ecef87d855e71d50 100755 --- a/yang-models/_3gpp-nr-nrm-nrnetwork.yang +++ b/yang-models/_3gpp-nr-nrm-nrnetwork.yang @@ -3,40 +3,37 @@ module _3gpp-nr-nrm-nrnetwork { namespace "urn:3gpp:sa5:_3gpp-nr-nrm-nrnetwork"; prefix "nrnet3gpp"; - import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } import _3gpp-common-top { prefix top3gpp; } organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the NRNetwork Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - 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.541 5G Network Resource Model (NRM)"; + revision 2025-04-25 { reference "CR-1526 CR-1527" ; } // common r17, r18 revision 2023-09-18 { reference CR-1043 ; } - revision 2019-06-17 { - description "Initial revision"; - } - - feature ExternalsUnderNRNetwork { - description "Classes representing external entities like NRFrequency, - ExternalGNBCUCPFunction, ExternalGNBDUFunction - are contained under a NRNetwork list/class."; - } + revision 2019-06-17 { reference "Initial revision"; } grouping NRNetworkGrp { - description "Represents the NRNetwork IOC."; - reference "3GPP TS 28.541"; - uses subnet3gpp:SubNetworkGrp; + description "Represents the NRNetwork IOC. + Contains no additiona attributes."; } - list NRNetwork { - description "A subnetwork containing gNB external NR entities."; - reference "3GPP TS 28.541"; - key id; - uses top3gpp:Top_Grp; - container attributes { - uses NRNetworkGrp; + augment /me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction { + list NRNetwork { + description "Represents a set of NR frequencies and external NR entities + (e.g. ExternalGNBCUCPFunction). This is used to differentiate these + entities and frequencies from those in EUTRAN."; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NRNetworkGrp; + } } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang b/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang index 42afcf2489a71eb8583c5e31cc9d296579c25d65..b4d490fbbfc32cd8b8b1e0834aeb27d2bac84672 100755 --- a/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang +++ b/yang-models/_3gpp-nr-nrm-nroperatorcelldu.yang @@ -14,10 +14,11 @@ module _3gpp-nr-nrm-nroperatorcelldu { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the OperatorDU Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; + revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2024-05-24 { reference CR-1273 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2021-10-01 { reference "Initial revision"; } @@ -79,7 +80,6 @@ module _3gpp-nr-nrm-nroperatorcelldu { container attributes { uses NROperatorCellDUGrp; } - uses gnbdu3gpp:GNBDUFunctionGrp; } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-ntnfunction.yang b/yang-models/_3gpp-nr-nrm-ntnfunction.yang index 5abe98f624125a66e624c14cf807a0bc6f79877d..43e2a86ebb7dadbeb5c226e897bd1263562278b2 100644 --- a/yang-models/_3gpp-nr-nrm-ntnfunction.yang +++ b/yang-models/_3gpp-nr-nrm-ntnfunction.yang @@ -9,16 +9,20 @@ module _3gpp-nr-nrm-ntnfunction { import ietf-yang-types { prefix yang; } import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-yang-types { prefix types3gpp; } organization "3gpp SA5"; 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 2024, 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.541"; + revision 2025-03-27 { reference CR-1512; } + revision 2025-02-17 { reference CR-1479 ; } revision 2024-05-24 { reference CR-1273 ; } + feature NTNFunctionUnderSubNetwork { description "The NTNFunction shall be contained under SubNetwork"; @@ -241,6 +245,56 @@ module _3gpp-nr-nrm-ntnfunction { } } + grouping NTNEntityConfigGrp { + description "The attribute nTNConfEntity specifies an NTN related MOI. + The attribute nTNConfList optionally specifies configuration + updates to be applied to the nTNConfEntity. If no updates are provided + the value of nTNConfEntity is used without modification."; + + leaf nTNConfEntity { + type types3gpp:DistinguishedName; + description "Specifies the DN of a specific NTN related MOI. + allowedValues: DN of of the following MOIs: + EP_NgC, NRCellCU, NRCellDU, NRSectorCarrier, + SectorEquipmentFunction, NRCellRelation."; + } + + list nTNConfigList { + uses types3gpp:nameValuePair; + key "name"; + description "Specifies the list of configuration parameters and values. + The content of the attribute is a list of attributeName- attributeValue + pairs. AttributeValues may be complex types."; + } + } + + grouping NTNTimeBasedConfigGrp { + description "Define configuration to be applied during a specified time + window. + The attribute timeWindow specifies the time window during which the + specified configuration is applied. + The attribute nTNEntityConfigList specifies configuration updates applied + during the specified timeWindow."; + + list timeWindow { + key idx; + leaf idx { type uint32 ; } + min-elements 1; + max-elements 1; + uses types3gpp:TimeWindowGrp; + description "It defines the time window."; + } + + list nTNEntityConfigList { + 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."; + } + } + grouping NTNFunctionGrp { description "Represents the NTNFunction IOC"; @@ -270,7 +324,12 @@ module _3gpp-nr-nrm-ntnfunction { grouping NTNFunctionSubtreeGrp { list NTNFunction { description "This IOC contains attributes to support the non-terrestrial - NR access."; + NR access. This IOC contains instances of NTNTimeBasedConfig to support + time-based configuration of the following NTN related entities: + 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."; key id; max-elements 1; uses top3gpp:Top_Grp; @@ -288,6 +347,16 @@ module _3gpp-nr-nrm-ntnfunction { uses EphemerisInfoSetGrp; } } + + list NTNTimeBasedConfig { + description "This IOC represents the NTN time-based configuration. + "; + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NTNTimeBasedConfigGrp; + } + } } } diff --git a/yang-models/_3gpp-nr-nrm-operatordu.yang b/yang-models/_3gpp-nr-nrm-operatordu.yang index 98a702b779dc1e9c00928f3dbd927c7d365f2865..f50f7873aebb50b82796e1e65ba17994da3c8beb 100755 --- a/yang-models/_3gpp-nr-nrm-operatordu.yang +++ b/yang-models/_3gpp-nr-nrm-operatordu.yang @@ -7,15 +7,17 @@ module _3gpp-nr-nrm-operatordu { import _3gpp-common-managed-element { prefix me3gpp; } import _3gpp-nr-nrm-gnbdufunction {prefix gnbdu3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-nr-nrm-ep { prefix ep3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines the YANG mapping of the OperatorDU Information Object Class (IOC) that is part of the NR Network Resource Model (NRM). - Copyright 2024, 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.541 5G Network Resource Model (NRM)"; + revision 2025-05-06 { reference "CR-1526 CR-1527" ; } // common for R18, R19 revision 2024-02-24 { reference CR-1218; } revision 2023-11-14 { reference "CR1136"; } revision 2023-09-30 { reference "CR1048"; } @@ -76,7 +78,14 @@ module _3gpp-nr-nrm-operatordu { container attributes { uses OperatorDUGrp; } - uses gnbdu3gpp:GNBDUFunctionGrp; + + uses ep3gpp:EP_F1CSubtree { + refine EP_F1C { + max-elements 1; + } + } + + uses ep3gpp:EP_F1USubtree; } } } \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-redcapaccess.yang b/yang-models/_3gpp-nr-nrm-redcapaccess.yang new file mode 100755 index 0000000000000000000000000000000000000000..51e91f203ccc0532906c7999450df437b299cde0 --- /dev/null +++ b/yang-models/_3gpp-nr-nrm-redcapaccess.yang @@ -0,0 +1,82 @@ +module _3gpp-nr-nrm-redcapaccess { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-nr-nrm-redcapaccess"; + prefix "redcap3gpp"; + import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + import _3gpp-common-top { prefix top3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "Defines the YANG mapping of the NRCellDU Information Object + Class (IOC) that is part of the NR Network Resource Model (NRM). + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + + reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; + + revision 2025-07-07 { reference CR-; } + + feature redcapaccesscriteriasubnertwork { + description "The RedCap acsess criterea shall be contained under + SubNetwork"; + } + + + grouping RedCapAccessCriteriaGrp { + description "Represents the RedCapAccessCriteria <> "; + + leaf nRCellDURef { + type types3gpp:DistinguishedName; + mandatory true; + description "This attribute contains the DN of a NR Cell (NRCellDU) "; + } + + leaf criteriaConditionRef { + type types3gpp:DistinguishedName; + mandatory true; + description "This specifies the DN of the ConditionMonitor MOI.The + attribute condition will contain information on the condition to be + satisfied to restrict Redcap UE access. This means that the value of + attribute uECellBarredAccess of NRCellDU IOC will be set to + REDCAP_1RX and REDCAP_2RX if this condition is met.The condition + 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 + 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. + The threshold level of performance metrics value which when crossed + the RAN node is barred or allowed for RedCap/eRedCap UEs"; + } + + + } + + augment "/subnet3gpp:SubNetwork" { + if-feature redcapaccesscriteriasubnertwork; + list RedCapAccessCriteria { + description "The RedCapAccessCriteria <> contains attributes + to support the controlling of RedCap access in a NR Cell. + It provides information of a condition (for example, KPIs such as + Total DRB accessibility, DRB Retainability , Utilization KPI, + NG-RAN data Energy Efficiency, Downlink/Uplink delay in gNB-DU etc. + and Performance measurements such as DL/UL Total PRB Usage, + Average DL/UL UE throughput in gNB etc.) which can be used to + control decision of barring or allowing access of RedCap/eRedCap + UEs to a NR Cell. This information can be used to decide whether + RedCap/eRedCap UEs are barred or allowed at the time of new UE + access attempt in NR cell during applicable RAN procedures."; + + key id; + max-elements 1; + uses top3gpp:Top_Grp; + container attributes { + uses RedCapAccessCriteriaGrp; + } + } + } + +} \ No newline at end of file diff --git a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang index aad5c5e9ff275265f361a4e1581106792f0ddf34..e8027c465766c1ae839b096e89e880013e8f33ce 100755 --- a/yang-models/_3gpp-nr-nrm-rrmpolicy.yang +++ b/yang-models/_3gpp-nr-nrm-rrmpolicy.yang @@ -14,23 +14,23 @@ module _3gpp-nr-nrm-rrmpolicy { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines the YANG mapping of the RRMPolicy abstract class that + description "Defines the YANG mapping of the RRMPolicy abstract class that is part of the NR Network Resource Model (NRM). - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541 5G Network Resource Model (NRM)"; - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-19 { reference CR-1043 ; } //date updated; it was already used in R18 revision 2022-07-28 { reference "CR-0770"; } revision 2020-11-05 { reference CR-0412 ; } revision 2020-04-28 { reference "CR0285"; } revision 2020-02-14 { reference "Initial revision"; } - grouping rRMPolicyMemberGrp { - description "This data type represents an RRM Policy member that will be - part of a rRMPolicyMemberList. A RRMPolicyMember is defined by its + grouping RRMPolicyMemberGrp { + description "This data type represents an RRM Policy member that will be + part of a rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI). - The members in a rRMPolicyMemberList are assigned a specific amount of + The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources based on settings in RRMPolicy."; uses types5g3gpp:PLMNInfo; @@ -38,21 +38,21 @@ module _3gpp-nr-nrm-rrmpolicy { grouping RRMPolicy_Grp { description "This IOC represents the properties of an abstract RRMPolicy - . The RRMPolicy_ IOC needs to be subclassed to be instantiated. - It defines two attributes apart from those inherited from Top IOC, the + . The RRMPolicy_ IOC needs to be subclassed to be instantiated. + It defines two attributes apart from those inherited from Top IOC, the resourceType attribute defines type of resource (PRB, RRC - connected users, DRB usage etc.) and the rRMPolicyMemberList attribute - defines the RRMPolicyMember(s)that are subject to this policy. + connected users, DRB usage etc.) and the rRMPolicyMemberList attribute + defines the RRMPolicyMember(s)that are subject to this policy. An RRM resource (defined in resourceType - attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, - GNBCUCPFunction or in GNBCUUPFunction. The RRMPolicyRatio IOC is one - realization of a RRMPolicy_ IOC. This RRM framework allows adding new - policies, both standardized (like RRMPolicyRatio) or as vendor specific, + attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, + GNBCUCPFunction or in GNBCUUPFunction. The RRMPolicyRatio IOC is one + realization of a RRMPolicy_ IOC. This RRM framework allows adding new + policies, both standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the abstract RRMPolicy_ IOC."; leaf resourceType { - description "The resourceType attribute defines type of resource (PRB, - RRC connected users, DRB usage etc.) that is subject to policy. + description "The resourceType attribute defines type of resource (PRB, + RRC connected users, DRB usage etc.) that is subject to policy. Valid values are 'PRB', 'PRB_UL', 'PRB_DL', 'RRC' or 'DRB'"; mandatory true; type enumeration { @@ -65,12 +65,12 @@ module _3gpp-nr-nrm-rrmpolicy { } list rRMPolicyMemberList{ - description "It represents the list of RRMPolicyMember (s) that the - managed object is supporting. A RRMPolicyMember <> include + description "It represents the list of RRMPolicyMember (s) that the + managed object is supporting. A RRMPolicyMember <> include the PLMNId <> and S-NSSAI <>." ; min-elements 1; key "mcc mnc sd sst"; - uses rRMPolicyMemberGrp; + uses RRMPolicyMemberGrp; } } // grouping @@ -80,11 +80,11 @@ module _3gpp-nr-nrm-rrmpolicy { uses RRMPolicy_Grp; // Inherits RRMPolicy_ leaf rRMPolicyMaxRatio { - description " This attribute specifies the maximum percentage of radio - resource that can be used by the associated rRMPolicyMemberList. - The maximum percentage of radio resource include at least one of + description " This attribute specifies the maximum percentage of radio + resource that can be used by the associated rRMPolicyMemberList. + The maximum percentage of radio resource include at least one of the shared resources, prioritized resources and dedicated resources. - The sum of the rRMPolicyMaxRatio values assigned to all RRMPolicyRatio(s) + The sum of the rRMPolicyMaxRatio values assigned to all RRMPolicyRatio(s) name-contained by same ManagedEntity can be greater that 100."; default 100; type uint8 { range "0..100"; } @@ -92,10 +92,10 @@ module _3gpp-nr-nrm-rrmpolicy { } leaf rRMPolicyMinRatio { - description " This attribute specifies the minimum percentage of radio - resources that can be used by the associated rRMPolicyMemberList. - The minimum percentage of radio resources including at least one of - prioritized resources and dedicated resources. The sum of the + description " This attribute specifies the minimum percentage of radio + resources that can be used by the associated rRMPolicyMemberList. + The minimum percentage of radio resources including at least one of + prioritized resources and dedicated resources. The sum of the rRMPolicyMinRatio values assigned to all RRM PolicyRatio(s) name-contained by same ManagedEntity shall be less or equal 100."; default 0; @@ -104,7 +104,7 @@ module _3gpp-nr-nrm-rrmpolicy { } leaf rRMPolicyDedicatedRatio { - description " This attribute specifies the percentage of radio resource + description " This attribute specifies the percentage of radio resource that dedicatedly used by the associated rRMPolicyMemberList. The sum of the rRMPolicyDeidctaedRatio values assigned to all RRMPolicyRatio(s) name-contained by same ManagedEntity shall be less or equal 100. "; @@ -114,7 +114,7 @@ module _3gpp-nr-nrm-rrmpolicy { } } - grouping RrmPolicySubtree { + grouping RRMPolicySubtree { description "Contains RrmPolicy related classes. Should be used in all classes (or classes inheriting from) - NRCellCU, NRCellDU, GNBCUUPFunction, GNBCUCPFunction, GNBDUFunction @@ -123,51 +123,51 @@ module _3gpp-nr-nrm-rrmpolicy { augment all user classes!"; list RRMPolicyRatio { - description "This IOC represents the properties of RRMPolicyRatio. - RRMPolicyRatio is one realization of abstract RRMPolicy_ IOC. - RRMPolicyRatio has three attributes, apart from those inherited - (DN, resourceType, rRMPolicyMemberList). - - Structure of RRMPolicyRatio includes in order: Dedicated Resources, + description "This IOC represents the properties of RRMPolicyRatio. + RRMPolicyRatio is one realization of abstract RRMPolicy_ IOC. + RRMPolicyRatio has three attributes, apart from those inherited + (DN, resourceType, rRMPolicyMemberList). + + Structure of RRMPolicyRatio includes in order: Dedicated Resources, Prioritized Resources, Shared Resources, etc. - - - The attribute rRMPolicyMaxRatio defines the maximum resource usage - quota for the associated rRMPolicyMemberList, including at least one of - shared resources, prioritized resources and dedicated resources. The - sum of the 'rRMPolicyMaxRatio' values assigned to all RRMPolicyRatio(s) + + - The attribute rRMPolicyMaxRatio defines the maximum resource usage + quota for the associated rRMPolicyMemberList, including at least one of + shared resources, prioritized resources and dedicated resources. The + sum of the 'rRMPolicyMaxRatio' values assigned to all RRMPolicyRatio(s) name-contained by same MangedEntity can be greater than 100. - - The attribute rRMPolicyMinRatio defines the minimum resource usage - quota for the associated RRMPolicyMemberList, including at least one - of prioritized resources and dedicated resources, which means the - resources quota that need to be guaranteed for use by the associated - rRMPolicyMemberList. The sum of the 'rRMPolicyMinRatio' values assigned - to all RRMPolicyRatio(s) name-contained by same MangedEntity shall be + - The attribute rRMPolicyMinRatio defines the minimum resource usage + quota for the associated RRMPolicyMemberList, including at least one + of prioritized resources and dedicated resources, which means the + resources quota that need to be guaranteed for use by the associated + rRMPolicyMemberList. The sum of the 'rRMPolicyMinRatio' values assigned + to all RRMPolicyRatio(s) name-contained by same MangedEntity shall be less or equal 100. - - The attribute rRMPolicyDedicatedRatio defines the dedicated resource - usage quota for the RRMPolicyMemberList, including dedicated resources. - The sum of the 'rRMPolicyDedicatedRatio' values assigned to all - RRMPolicyRatio(s) name-contained by same MangedEntity shall be less + - The attribute rRMPolicyDedicatedRatio defines the dedicated resource + usage quota for the RRMPolicyMemberList, including dedicated resources. + The sum of the 'rRMPolicyDedicatedRatio' values assigned to all + RRMPolicyRatio(s) name-contained by same MangedEntity shall be less or equal 100. - - The following are the definition for above mentioned three resource + + The following are the definition for above mentioned three resource categories: - - Shared resources: means the resources that are shared with other - rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in - RRMPolicyRatio(s) name-contained by the same ManagedEntity). The shared - resources are not guaranteed for use by the associated - rRMPolicyMemberList. The shared resources quota is represented by + - Shared resources: means the resources that are shared with other + rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in + RRMPolicyRatio(s) name-contained by the same ManagedEntity). The shared + resources are not guaranteed for use by the associated + rRMPolicyMemberList. The shared resources quota is represented by [rRMPolicyMaxRatio-rRMPolicyMinRatio]. - - Priortized resources: means the resources are preferentially used by - the associated RRMPolicyMemberList. These resources are guaranteed for - use by the associated RRMPolicyMemberList when it needs to use them. - When not used, these resources may be used by other - rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in - RRMPolicyRatio(s) name-contained by the same ManagedEntity). - The prioritized resources quota is represented by + - Priortized resources: means the resources are preferentially used by + the associated RRMPolicyMemberList. These resources are guaranteed for + use by the associated RRMPolicyMemberList when it needs to use them. + When not used, these resources may be used by other + rRMPolicyMemberList(s) (i.e. the rRMPolicyMemberList(s) defined in + RRMPolicyRatio(s) name-contained by the same ManagedEntity). + The prioritized resources quota is represented by [rRMPolicyMinRatio-rRMPolicyDedicatedRatio] - - Dedicated resources: means the resources are dedicated for use by - the associated RRMPolicyMemberList. These resources can not be shared - even if the associated RRMPolicyMember does not use them. The Dedicated + - Dedicated resources: means the resources are dedicated for use by + the associated RRMPolicyMemberList. These resources can not be shared + even if the associated RRMPolicyMember does not use them. The Dedicated resources quota is represented by [rRMPolicyDedicatedRatio]."; key id; uses top3gpp:Top_Grp; @@ -176,27 +176,27 @@ module _3gpp-nr-nrm-rrmpolicy { } } } - + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction/" + "nrcellcu3gpp:NRCellCU" { - uses RrmPolicySubtree; - } - + uses RRMPolicySubtree; + } + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction/" + "nrcelldu3gpp:NRCellDU" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { - uses RrmPolicySubtree; + uses RRMPolicySubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang index 3453e5166e3df9c94de1870c74737c4fb545a61b..8b31dd8ed76d9920ef013cf9c91f4d750e260144 100755 --- a/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang +++ b/yang-models/_3gpp-ns-nrm-networkslicesubnet.yang @@ -15,7 +15,7 @@ module _3gpp-ns-nrm-networkslicesubnet { "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the properties of a network slice subnet instance in a 5G network. - 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.541 Management and orchestration; @@ -23,12 +23,13 @@ module _3gpp-ns-nrm-networkslicesubnet { Information model definitions for network slice NRM (chapter 6) "; + revision 2025-01-25 { reference CR-1442 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-26 { reference CR-0770 ; } - revision 2021-05-05 { - description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; + revision 2021-05-05 { reference "CR-0485"; - } + description "replace perfReq with 3 new datatypes xxxSliceSubnetProfile"; + } revision 2020-02-19 { description "Introduction of YANG definitions for network slice NRM"; @@ -45,7 +46,28 @@ module _3gpp-ns-nrm-networkslicesubnet { type string; reference "ETSI GS NFV-IFA 013"; } - + grouping ConnectionPointInfoGrp { + description "TThis datatype contains information required to identify a + connection point outside of scope of 3GPP MIB (e.g. transport domain), "; + reference "FC 8345 [89] and YANG Data Models for 'Attachment + Circuits'-as-a-Service (ACaaS) [90]"; + leaf connectionPointId { + description "This parameter specifies the identifier of a TN object"; + type string; + } + leaf connectionPointIdType { + description "This parameter specifies the type of the connection point + identifier"; + type enumeration { + enum VLAN; + enum MPLS; + enum SEGMENT; + enum IPV4; + enum IPV6; + enum ATTACHMENT_CIRCUIT; + } + } + } grouping EPTransportGrp { leaf ipAddress { description "This parameter specifies the IP address assigned to a @@ -61,13 +83,6 @@ module _3gpp-ns-nrm-networkslicesubnet { mandatory true; type string; } - leaf-list nextHopInfo { - description "This parameter is used to identify ingress transport - node. Each node can be identified by any of combination of IP - address of next-hop router of transport network, system name, - port name, IP management address of transport nodes."; - type string; - } leaf-list qosProfile { description "This parameter specifies reference to QoS Profile for a logical transport interface. A QoS profile includes a set of @@ -81,8 +96,13 @@ module _3gpp-ns-nrm-networkslicesubnet { min-elements 1; type types3gpp:DistinguishedName; } + list externalEndPointRefList { + description "This parameter is used to identify a list of connection + point info(s)"; + uses ConnectionPointInfoGrp; + } uses top3gpp:Top_Grp; - } + } grouping NsInfoGrp { description "The NsInfo of the NS instance corresponding to the network diff --git a/yang-models/_3gpp-ns-nrm-sliceprofile.yang b/yang-models/_3gpp-ns-nrm-sliceprofile.yang index 8745dd815c46bb79dc4cffde7069b1fa53c853c0..9152cd7d22b7ffcfcefa48cb2d4d183c5e04a89d 100755 --- a/yang-models/_3gpp-ns-nrm-sliceprofile.yang +++ b/yang-models/_3gpp-ns-nrm-sliceprofile.yang @@ -6,32 +6,33 @@ submodule _3gpp-ns-nrm-sliceprofile { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } // import _3gpp-ns-nrm-networkslice { prefix ns3gpp; } import _3gpp-ns-nrm-common { prefix ns3cmn3gpp; } - + organization "3GPP SA5"; - contact + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Represents the properties of network slice subnet related - requirement that should be supported by the network slice subnet + description "Represents the properties of network slice subnet related + requirement that should be supported by the network slice subnet instance in a 5G network. - 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.541 - Management and orchestration; + Management and orchestration; 5G Network Resource Model (NRM); Information model definitions for network slice NRM (chapter 6) "; + revision 2025-01-25 { reference CR-1442; } revision 2023-11-04 { reference CR-1129; } - revision 2023-09-18 { reference CR-1043 ; } + revision 2023-09-18 { reference CR-1043 ; } revision 2023-04-26 { reference CR-0916; } - revision 2021-07-20 { reference CR-0566; } + revision 2021-07-20 { reference CR-0566; } revision 2021-05-05 { reference CR-0485; } revision 2020-02-19 { description "Introduction of YANG definitions for network slice NRM"; reference "CR-0458"; } - + revision 2019-05-27 { description "initial revision."; reference "Based on @@ -58,7 +59,7 @@ submodule _3gpp-ns-nrm-sliceprofile { grouping PositioningGrp { description "Represents positioning support."; reference "Clause 3.4.20 of GSMA NG.116 "; - + uses ns3cmn3gpp:ServAttrComGrp ; leaf-list availability { type enumeration { @@ -71,12 +72,12 @@ submodule _3gpp-ns-nrm-sliceprofile { } min-elements 1; config false; - description "Specifies if this attribute is provided by the RAN domain - of the network slice and contains a list of positioning methods - provided by the RAN domain. If the list is empty this attribute is - not available in the RAN domain and the other parameters might be + description "Specifies if this attribute is provided by the RAN domain + of the network slice and contains a list of positioning methods + provided by the RAN domain. If the list is empty this attribute is + not available in the RAN domain and the other parameters might be ignored, see NG.116. Values allowed: are - CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, + CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, Hybrid positioning, NET-RTK."; } leaf predictionfrequency { @@ -86,10 +87,10 @@ submodule _3gpp-ns-nrm-sliceprofile { enum PERHOUR; } mandatory true; - description "Specifies how often location information is provided. - This parameter simply defines how often the customer is allowed to - request location information. This is not related to the time it - takes to determine the location, which is a characteristic of the + description "Specifies how often location information is provided. + This parameter simply defines how often the customer is allowed to + request location information. This is not related to the time it + takes to determine the location, which is a characteristic of the positioning method. If leaf-list availability is empty, the value has no meaning."; reference "NG.116"; @@ -97,11 +98,11 @@ submodule _3gpp-ns-nrm-sliceprofile { leaf accuracy { type decimal64 { fraction-digits 2; - } + } units meter; mandatory true; - description "Specifies the accuracy of the location information. - Accuracy depends on the respective positioning solution applied in the + description "Specifies the accuracy of the location information. + Accuracy depends on the respective positioning solution applied in the RAN domain of the network slice."; reference "NG.116"; } @@ -109,8 +110,8 @@ submodule _3gpp-ns-nrm-sliceprofile { grouping TopSliceSubnetProfileGrp { leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization performance of the end-to-end network slice instance."; reference "3GPP TS 28.554 clause 6.3.1"; //optional support @@ -119,7 +120,7 @@ submodule _3gpp-ns-nrm-sliceprofile { units milliseconds; } leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously + description "Specifies the maximum number of UEs may simultaneously access the network slice instance."; //optional support mandatory true; @@ -179,12 +180,12 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - description "This parameter specifies the maximum packet size + description "This parameter specifies the maximum packet size supported by the network slice"; list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -201,7 +202,7 @@ submodule _3gpp-ns-nrm-sliceprofile { } } list maxNumberofPDUSessions { - description "Represents the maximum number of + description "Represents the maximum number of concurrent PDU sessions supported by the network slice"; config false; key idx; @@ -211,9 +212,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -230,13 +231,13 @@ submodule _3gpp-ns-nrm-sliceprofile { } leaf sliceSimultaneousUse { description "This attribute describes whether a network slice - can be simultaneously used by a device together with other + can be simultaneously used by a device together with other network slices and if so, with which other classes of network slices."; type SliceSimultaneousUse-enum; - } + } list delayTolerance { - description "An attribute specifies the properties of service delivery - flexibility, especially for the vertical services that are not + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not chasing a high system performance."; reference "TS 22.104 clause 4.3"; config false; @@ -247,9 +248,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -260,14 +261,14 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf support { - description "An attribute specifies whether or not the network - slice supports service delivery flexibility, especially for the + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; type ns3cmn3gpp:Support-enum; } } list termDensity { - description "An attribute specifies the overall user density over + description "An attribute specifies the overall user density over the coverage area of the network slice"; config false; key idx; @@ -277,9 +278,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -292,13 +293,13 @@ submodule _3gpp-ns-nrm-sliceprofile { leaf density { type uint32; units users/km2; - } + } } leaf activityFactor { - //Stage2 issue: This is modeled as writable/config true in 28.542, + //Stage2 issue: This is modeled as writable/config true in 28.542, // but that does not appear to match the description - description "An attribute specifies the percentage value of the - amount of simultaneous active UEs to the total number of UEs where + description "An attribute specifies the percentage value of the + amount of simultaneous active UEs to the total number of UEs where active means the UEs are exchanging data with the network"; reference "TS 22.261 Table 7.1-1"; type decimal64 { @@ -314,47 +315,47 @@ submodule _3gpp-ns-nrm-sliceprofile { uses types3gpp:TaiGrp; } leaf uEMobilityLevel { - description "The mobility level of UE accessing the network slice + description "The mobility level of UE accessing the network slice instance."; //optional support type types3gpp:UeMobilityLevel; } - + leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network slice subnet instance(s)."; //optional support type types3gpp:ResourceSharingLevel; } leaf uESpeed { - //Stage2 issue: This is modeled as writable/config true in 28.542, + //Stage2 issue: This is modeled as writable/config true in 28.542, // but that does not appear to match the description - description "An attribute specifies the maximum speed (in km/hour) - supported by the network slice at which a defined QoS can be + description "An attribute specifies the maximum speed (in km/hour) + supported by the network slice at which a defined QoS can be achieved"; type uint32; units km/h; } leaf reliability { - description "An attribute specifies in the context of network layer - packet transmissions, percentage value of the amount of sent - network layer packets successfully delivered to a given system - entity within the time constraint required by the targeted service, + description "An attribute specifies in the context of network layer + packet transmissions, percentage value of the amount of sent + network layer packets successfully delivered to a given system + entity within the time constraint required by the targeted service, divided by the total number of sent network layer packets."; reference "TS 22.261, TS 22.104"; type string; } leaf serviceType { - description "An attribute specifies the standardized network slice type. - allowedValues: eMBB, URLLC, MIoT, V2X."; + description "An attribute specifies the standardized network slice type. + allowedValues: eMBB, URLLC, MIoT, V2X."; type ServiceType-enum; } list deterministicComm { - //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, // but I guess determinComm is meant - description "This list represents the properties of the deterministic - communication for periodic user traffic. Periodic traffic refers to the + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the type of traffic with periodic transmissions."; key idx; max-elements 1; @@ -363,9 +364,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; config false; key idx; @@ -377,20 +378,20 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { - //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { - //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML // says "string". type string; } } leaf survivalTime { - description "An attribute specifies the time that an application - consuming a communication service may continue without an + description "An attribute specifies the time that an application + consuming a communication service may continue without an anticipated message."; reference "TS 22.104 clause 5"; type string; @@ -399,17 +400,17 @@ submodule _3gpp-ns-nrm-sliceprofile { key predictionfrequency; min-elements 1; max-elements 1; - description "Specifies whether the network slice provides + description "Specifies whether the network slice provides geo-localization methods or supporting methods"; reference "Clause 3.4.20 of NG.116"; uses PositioningGrp; } } - + grouping CNSliceSubnetProfileGrp { leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization performance of the end-to-end network slice instance."; reference "3GPP TS 28.554 clause 6.3.1"; //optional support @@ -418,7 +419,7 @@ submodule _3gpp-ns-nrm-sliceprofile { units milliseconds; } leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously + description "Specifies the maximum number of UEs may simultaneously access the network slice instance."; //optional support mandatory true; @@ -478,12 +479,12 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - description "This parameter specifies the maximum packet size + description "This parameter specifies the maximum packet size supported by the network slice"; list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -500,8 +501,9 @@ submodule _3gpp-ns-nrm-sliceprofile { } } list maxNumberofPDUSessions { - description "Represents the maximum number of + description "Represents the maximum number of concurrent PDU sessions supported by the network slice"; + //optional config false; key idx; max-elements 1; @@ -510,9 +512,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -529,13 +531,13 @@ submodule _3gpp-ns-nrm-sliceprofile { } leaf sliceSimultaneousUse { description "This attribute describes whether a network slice - can be simultaneously used by a device together with other + can be simultaneously used by a device together with other network slices and if so, with which other classes of network slices."; type SliceSimultaneousUse-enum; - } + } list delayTolerance { - description "An attribute specifies the properties of service delivery - flexibility, especially for the vertical services that are not + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not chasing a high system performance."; reference "TS 22.104 clause 4.3"; config false; @@ -546,9 +548,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -559,8 +561,8 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf support { - description "An attribute specifies whether or not the network - slice supports service delivery flexibility, especially for the + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; type ns3cmn3gpp:Support-enum; } @@ -574,18 +576,18 @@ submodule _3gpp-ns-nrm-sliceprofile { uses types3gpp:TaiGrp; } leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network slice subnet instance(s)."; //optional support type types3gpp:ResourceSharingLevel; } list deterministicComm { - //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, // but I guess determinComm is meant - description "This list represents the properties of the deterministic - communication for periodic user traffic. Periodic traffic refers to the + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the type of traffic with periodic transmissions."; key idx; max-elements 1; @@ -594,9 +596,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; config false; key idx; @@ -608,72 +610,24 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { - //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { - //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML // says "string". type string; } } } - grouping PositioningRANSubnetGrp { - description "Represents positioning support in RAN domain"; - leaf-list availability { - type enumeration { - enum CIDE_CID ; - enum OTDOA; - enum RF_FINGERPRINTING; - enum AECID; - enum HYBRID_POSITIONING; - enum NET_RTK; - } - config false; - description "Specifies if this attribute is provided by the RAN domain - of the network slice and contains a list of positioning methods - provided by the RAN domain. If the list is empty this attribute is - not available in the RAN domain and the other parameters might be - ignored, see NG.116. Values allowed: are - CIDE-CID (LTE and NR), OTDOA (LTE and NR), RF fingerprinting, AECID, - Hybrid positioning, NET-RTK."; - } - leaf predictionfrequency { - type enumeration { - enum PERSEC; - enum PERMIN; - enum PERHOUR; - } - mandatory true; - description "Specifies how often location information is provided. - This parameter simply defines how often the customer is allowed to - request location information. This is not related to the time it - takes to determine the location, which is a characteristic of the - positioning method. - If leaf-list availability is empty, the value has no meaning."; - reference "NG.116"; - } - leaf accuracy { - type decimal64 { - fraction-digits 2; - } - units meter; - mandatory true; - description "Specifies the accuracy of the location information. - Accuracy depends on the respective positioning solution applied in the - RAN domain of the network slice."; - reference "NG.116"; - } - } - grouping RANSliceSubnetProfileGrp { description "Represents the RANSliceSubnetProfile datatype"; leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization performance of the end-to-end network slice instance."; reference "3GPP TS 28.554 clause 6.3.1"; //optional support @@ -682,7 +636,7 @@ submodule _3gpp-ns-nrm-sliceprofile { units milliseconds; } leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously + description "Specifies the maximum number of UEs may simultaneously access the network slice instance."; //optional support mandatory true; @@ -699,7 +653,7 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } uses ns3cmn3gpp:XLThptGrp; - } + } list dLThptPerUE { description "This attribute defines data rate supported by the network slice per UE, refer NG.116."; @@ -742,12 +696,12 @@ submodule _3gpp-ns-nrm-sliceprofile { description "Synthetic index for the element."; type uint32; } - description "This parameter specifies the maximum packet size + description "This parameter specifies the maximum packet size supported by the network slice"; list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -764,8 +718,8 @@ submodule _3gpp-ns-nrm-sliceprofile { } } list delayTolerance { - description "An attribute specifies the properties of service delivery - flexibility, especially for the vertical services that are not + description "An attribute specifies the properties of service delivery + flexibility, especially for the vertical services that are not chasing a high system performance."; reference "TS 22.104 clause 4.3"; config false; @@ -776,9 +730,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -789,20 +743,20 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf support { - description "An attribute specifies whether or not the network - slice supports service delivery flexibility, especially for the + description "An attribute specifies whether or not the network + slice supports service delivery flexibility, especially for the vertical services that are not chasing a high system performance."; type ns3cmn3gpp:Support-enum; } } leaf sliceSimultaneousUse { description "This attribute describes whether a network slice - can be simultaneously used by a device together with other + can be simultaneously used by a device together with other network slices and if so, with which other classes of network slices."; type SliceSimultaneousUse-enum; - } + } list termDensity { - description "An attribute specifies the overall user density over + description "An attribute specifies the overall user density over the coverage area of the network slice"; config false; key idx; @@ -812,9 +766,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; key idx; max-elements 1; @@ -827,13 +781,13 @@ submodule _3gpp-ns-nrm-sliceprofile { leaf density { type uint32; units users/km2; - } + } } leaf activityFactor { - //Stage2 issue: This is modeled as writable/config true in 28.542, + //Stage2 issue: This is modeled as writable/config true in 28.542, // but that does not appear to match the description - description "An attribute specifies the percentage value of the - amount of simultaneous active UEs to the total number of UEs where + description "An attribute specifies the percentage value of the + amount of simultaneous active UEs to the total number of UEs where active means the UEs are exchanging data with the network"; reference "TS 22.261 Table 7.1-1"; type decimal64 { @@ -849,47 +803,47 @@ submodule _3gpp-ns-nrm-sliceprofile { uses types3gpp:TaiGrp; } leaf uEMobilityLevel { - description "The mobility level of UE accessing the network slice + description "The mobility level of UE accessing the network slice instance."; //optional support type types3gpp:UeMobilityLevel; } - + leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network slice subnet instance(s)."; //optional support type types3gpp:ResourceSharingLevel; } leaf uESpeed { - //Stage2 issue: This is modeled as writable/config true in 28.542, + //Stage2 issue: This is modeled as writable/config true in 28.542, // but that does not appear to match the description - description "An attribute specifies the maximum speed (in km/hour) - supported by the network slice at which a defined QoS can be + description "An attribute specifies the maximum speed (in km/hour) + supported by the network slice at which a defined QoS can be achieved"; type uint32; units km/h; } leaf reliability { - description "An attribute specifies in the context of network layer - packet transmissions, percentage value of the amount of sent - network layer packets successfully delivered to a given system - entity within the time constraint required by the targeted service, + description "An attribute specifies in the context of network layer + packet transmissions, percentage value of the amount of sent + network layer packets successfully delivered to a given system + entity within the time constraint required by the targeted service, divided by the total number of sent network layer packets."; reference "TS 22.261, TS 22.104"; type string; } leaf serviceType { - description "An attribute specifies the standardized network slice type. - allowedValues: eMBB, URLLC, MIoT, V2X."; + description "An attribute specifies the standardized network slice type. + allowedValues: eMBB, URLLC, MIoT, V2X."; type ServiceType-enum; } list deterministicComm { - //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, + //Stage2 issue: deterministicComm is not defined in 28.541 chapter 6, // but I guess determinComm is meant - description "This list represents the properties of the deterministic - communication for periodic user traffic. Periodic traffic refers to the + description "This list represents the properties of the deterministic + communication for periodic user traffic. Periodic traffic refers to the type of traffic with periodic transmissions."; key idx; max-elements 1; @@ -898,9 +852,9 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint32; } list servAttrCom { - description "This list represents the common properties of service + description "This list represents the common properties of service requirement related attributes."; - reference "GSMA NG.116 corresponding to Attribute categories, + reference "GSMA NG.116 corresponding to Attribute categories, tagging and exposure"; config false; key idx; @@ -912,20 +866,20 @@ submodule _3gpp-ns-nrm-sliceprofile { uses ns3cmn3gpp:ServAttrComGrp; } leaf availability { - //Stage2 issue: Defined differently in 28.541 chapter 6, but XML + //Stage2 issue: Defined differently in 28.541 chapter 6, but XML // uses DeterminCommAvailability config false; type ns3cmn3gpp:DeterminCommAvailability; } leaf periodicityList { - //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML + //Stage2 issue: Not defined in 28.541 chapter 6. XML and YAML // says "string". type string; } } leaf survivalTime { - description "An attribute specifies the time that an application - consuming a communication service may continue without an + description "An attribute specifies the time that an application + consuming a communication service may continue without an anticipated message."; reference "TS 22.104 clause 5"; type string; @@ -933,23 +887,23 @@ submodule _3gpp-ns-nrm-sliceprofile { list positioning { min-elements 1; max-elements 1; - description "Specifies whether the RAN domain of the network slice + description "Specifies whether the RAN domain of the network slice provides geo-localization methods or supporting methods."; reference "Clause 3.4.20 of NG.116 [50]."; - uses PositioningRANSubnetGrp; + uses PositioningGrp; } } grouping SliceProfileGrp { leaf sliceProfileId { - description "A unique identifier of the property of network slice - subnet related requirement should be supported by the network + description "A unique identifier of the property of network slice + subnet related requirement should be supported by the network slice subnet instance."; type types3gpp:DistinguishedName; } - + list sNSSAIList { - description "List of S-NSSAIs the managed object is capable of + 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."; @@ -961,10 +915,10 @@ submodule _3gpp-ns-nrm-sliceprofile { } uses types5g3gpp:SNssai; } - + 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 + 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)."; min-elements 1; max-elements 6; @@ -972,15 +926,15 @@ submodule _3gpp-ns-nrm-sliceprofile { ordered-by user; uses types3gpp:PLMNId; } - + leaf maxNumberofUEs { - description "Specifies the maximum number of UEs may simultaneously + description "Specifies the maximum number of UEs may simultaneously access the network slice instance."; //optional support mandatory true; type uint64; } - + list coverageAreaTAList { description "A list of TrackingAreas where the NSI can be selected."; key idx; //no obvious leaf to use as a key @@ -989,10 +943,10 @@ submodule _3gpp-ns-nrm-sliceprofile { min-elements 1; uses types3gpp:TaiGrp; } - + leaf latency { - description "The packet transmission latency (milliseconds) through - the RAN, CN, and TN part of 5G network, used to evaluate + description "The packet transmission latency (milliseconds) through + the RAN, CN, and TN part of 5G network, used to evaluate utilization performance of the end-to-end network slice instance."; reference "3GPP TS 28.554 clause 6.3.1"; //optional support @@ -1000,53 +954,53 @@ submodule _3gpp-ns-nrm-sliceprofile { type uint16; units milliseconds; } - + leaf uEMobilityLevel { - description "The mobility level of UE accessing the network slice + description "The mobility level of UE accessing the network slice instance."; //optional support type types3gpp:UeMobilityLevel; } - + leaf resourceSharingLevel { - description "Specifies whether the resources to be allocated to the - network slice subnet instance may be shared with another network + description "Specifies whether the resources to be allocated to the + network slice subnet instance may be shared with another network slice subnet instance(s)."; //optional support type types3gpp:ResourceSharingLevel; } list CNSliceSubnetProfile { - description " This represents the requirements for the top slice associated with the - network slice. "; + description " This represents the requirements for the top slice associated with the + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } list RANSliceSubnetProfile { - description " This represents the requirements for the top slice associated with the - network slice. "; + description " This represents the requirements for the top slice associated with the + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } list TopSliceSubnetProfile { - description " This represents the requirements for the top slice associated with the - network slice. "; + description " This represents the requirements for the top slice associated with the + network slice. "; key idx; max-elements 1; leaf idx { description "Synthetic index for the element."; type uint32; } - uses TopSliceSubnetProfileGrp; + uses TopSliceSubnetProfileGrp; } } } \ No newline at end of file diff --git a/yang-models/_3gpp-stm-nrm-stmfunction.yang b/yang-models/_3gpp-stm-nrm-stmfunction.yang new file mode 100644 index 0000000000000000000000000000000000000000..5392634ae2cddfa694b67150b3bc73f0363c5970 --- /dev/null +++ b/yang-models/_3gpp-stm-nrm-stmfunction.yang @@ -0,0 +1,192 @@ +module _3gpp-stm-nrm-stmfunction { + yang-version 1.1; + + namespace urn:3gpp:sa5:_3gpp-stm-nrm-stmfunction; + prefix stm3gpp; + + import _3gpp-common-top { prefix top3gpp; } + import ietf-inet-types { prefix inet; } + import _3gpp-common-yang-types { prefix types3gpp; } + + organization "3gpp SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + description "This IOC represents the STM function defined in 3GPP TS 28.560. + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + TTA, TTC). All rights reserved."; + reference "3GPP TS 28.560 + Signalling traffic monitoring management"; + + revision 2025-08-07 { reference "CR-0011"; } + revision 2025-05-07 { reference "CR-0009"; } + revision 2025-04-19 { reference "CR-0010"; } + revision 2024-11-07 { reference "S5-247077"; } + + grouping NetworkInterfaceGrp { + description "Represents the network interfaces for which signalling + traffic messages are to be copied and sent to the external entity. + The attribute networkInterfaceType specifies the network interface type + to be monitored. The optional attribute networkInterfaceInstanceList + specifies the network interface instances to be monitored. It is a list + of applicable network interface instances of the network interface type + specified by networkInterfaceType. The optional attribute + serviceOperationList specifies the service operations to be monitored. + It is a list of applicable service operations exchanged over the network + interface instances specified by networkInterfaceInstanceList, or, if + networkInterfaceInstanceList is not present, it is list of applicable + service operations exchanged over the network interface type specified + by networkInterfaceType."; + + leaf networkInterfaceType { + type enumeration { + enum ALL; + enum N2; + enum N4; + enum N5; + enum N7; + enum N8; + enum N10; + enum N11; + enum N12; + enum N13; + enum N14; + enum N15; + enum N16; + enum N17; + enum N18; + enum N20; + enum N21; + enum N22; + enum N23; + enum N26; + enum N28; + enum N29; + enum N30; + enum N33; + enum N34; + enum N35; + enum N36; + enum N37; + enum N40; + enum N41; + enum N42; + enum N51; + enum N52; + enum N58; + enum N59; + enum N60; + enum N61; + enum N62; + enum N63; + enum N80; + enum N81; + enum N82; + enum N83; + enum N84; + enum N85; + enum N86; + enum N87; + enum N88; + enum N89; + enum N96; + enum NL1; + enum NL2; + enum NL5; + enum NL6; + enum NL8; + enum NL9; + } + description "List of network interface type to be monitored. The + applicable network interface type names are specified based on + subclause 4.2.3 of 3GPP TS 23.501 and clause 4.2.1 of 3GPP + TS 23.273. + The value ALL is specified for the case if all the applicable + interface type of the network function shall be monitored."; + reference "Clause 4.2.3 of 3GPP TS 23.501 and clause 4.2.1 of + 3GPP TS 23.273 for details on the allowed values."; + } + + leaf-list networkInterfaceInstanceList { + type types3gpp:DistinguishedName; + description "The list of applicable network interface instances, for + which the monitoring is to be performed, of the network interface + type specified by networkInterfaceType."; + reference "allowedValues: DN of the following MOIs as specified + in subclause 5.2.1 of 3GPP TS 28.541"; + } + + leaf-list serviceOperationList { + type string; + description "The list of applicable service operations exchanged + over the network interface instances specified by + networkInterfaceInstanceList, that needs to be monitored. Or, + If networkInterfaceInstanceList is not present, the list of + applicable service operations exchanged over the network + interface type specified by networkInterfaceType."; + reference "allowedValues: refer to subclause 5.2 of 3GPP + TS 23.502"; + } + } + + grouping StmCtrlGrp { + description "Represents the StmCtrl IOC."; + + leaf-list reportingNFList { + type types3gpp:DistinguishedName; + description "List of Network Function Distinguished Name, which + specifies the target network interface type to be monitored. If + this parameter is not present or it is empty, then all applicable + interface types from the target NF shall be monitored"; + } + + list targetInterfaceInfoList { + uses NetworkInterfaceGrp; + key "networkInterfaceType"; + description "List of network interface to be monitored. If this + parameter is not present or it is empty, then all Network Functions + within the SubNetwork or ManagedElement shall be monitored. This + parameter shall be omitted if the STM control object is specified + under a ManagedFunction. "; + } + + leaf stmTargetUri { + type inet:uri; + mandatory true; + description "It specifies the Uniform Resource Identifier (URI) of the STM + consumer that shall receive the monitored signalling message copies "; + reference "Clause 4.4 of 3GPP TS 32.158"; + } + + leaf administrativeState { + default LOCKED; + type types3gpp:BasicAdministrativeState ; + description "It is used by the STM consumer to lock or unlock the + StmCtrl instance in order to stop or start the signalling traffic + monitoring"; + } + + leaf operationalState { + config false; + mandatory true; + type types3gpp:OperationalState ; + description "It is used by STM consumer to report its working state"; + } + } + + grouping StmCtrlSubTree { + description "Contains classes that manage Signalling traffic monitoring + management"; + + list StmCtrl { + description "This IOC represents the STM Control and Configuration + parameters of a particular STM controlling. It can be + name-contained by SubNetwork, ManagedElement, or ManagedFunction."; + + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses StmCtrlGrp ; + } + + } + } +} \ No newline at end of file