diff --git a/OpenAPI/TS28541_5GcNrm.yaml b/OpenAPI/TS28541_5GcNrm.yaml index eb6b0eba6717d48862045e7cda77be8b1ec76f56..15125e2b0fab8da0a58b19cceb0f78146e8a7b90 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: 17.7.0 + version: 18.2.0 description: >- OAS 3.0.1 specification of the 5GC NRM - © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.541; 5G NRM, 5GC NRM @@ -134,6 +134,22 @@ components: properties: nFSrvGroupId: type: string + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + routingIndicators: + type: array + items: + type: string + pattern: '^[0-9]{1,4}$' + minItems: 1 + suciInfos: + type: array + items: + $ref: '#/components/schemas/SuciInfo' + minItems: 1 SupportedDataSet: type: string description: any of enumrated value @@ -154,9 +170,6 @@ components: - P_BDT - P_PLMNUE - P_NSSCD - NFInfo: - oneOf: - - $ref: '#/components/schemas/AusfInfo' NotificationType: type: string enum: @@ -218,8 +231,6 @@ components: $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai' locality: type: string - nFInfo: - $ref: '#/components/schemas/NFInfo' capacity: type: integer nfSetIdList: @@ -764,6 +775,368 @@ components: fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + Ipv4AddressRange: + description: Range of IPv4 addresses + type: object + properties: + start: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + end: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr' + Ipv6PrefixRange: + description: Range of IPv6 prefixes + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + end: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + Nid: + type: string + pattern: '^[A-Fa-f0-9]{11}$' + PlmnIdNid: + type: object + properties: + mcc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mcc' + mnc: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Mnc' + nid: + $ref: '#/components/schemas/Nid' + ScpCapability: + type: string + enum: + - INDIRECT_COM_WITH_DELEG_DISC + IpReachability: + description: Indicates the type(s) of IP addresses reachable via an SCP + anyOf: + - type: string + enum: + - IPV4 + - IPV6 + - IPV4V6 + - type: string + + ScpDomainInfo: + description: SCP Domain specific information + type: object + properties: + scpFqdn: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + scpIpEndPoints: + type: array + items: + $ref: 'TS28541_5GcNrm.yaml#/components/schemas/IpEndPoint' + minItems: 1 + scpPrefix: + type: string + scpPorts: + description: > + Port numbers for HTTP and HTTPS. The key of the map shall be "http" or "https". + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + + SeppInfo: + description: Information of a SEPP Instance + type: object + properties: + seppPrefix: + type: string + seppPorts: + description: > + Port numbers for HTTP and HTTPS. The key of the map shall be "http" or "https". + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + remotePlmnList: + type: array + items: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId' + minItems: 1 + remoteSnpnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' + minItems: 1 + + UdsfInfo: + description: Information related to UDSF + type: object + properties: + groupId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId' + supiRanges: + type: array + items: + $ref: '#/components/schemas/SupiRange' + minItems: 1 + storageIdRanges: + description: > + A map (list of key-value pairs) where realmId serves as key and each value in the map + is an array of IdentityRanges. Each IdentityRange is a range of storageIds. + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + minProperties: 1 + + NsacfCapability: + description: > + NSACF service capabilities (e.g. to monitor and control the number of registered UEs + or established PDU sessions per network slice) + type: object + properties: + supportUeSAC: + description: | + Indicates the service capability of the NSACF to monitor and control the number of + registered UEs per network slice for the network slice that is subject to NSAC + true: Supported + false (default): Not Supported + type: boolean + default: false + supportPduSAC: + description: | + Indicates the service capability of the NSACF to monitor and control the number of + established PDU sessions per network slice for the network slice that is subject to NSAC + true: Supported + false (default): Not Supported + type: boolean + default: false + + NsacfInfo: + description: Information of a NSACF NF Instance + type: object + required: + - nsacfCapability + properties: + nsacfCapability: + $ref: '#/components/schemas/NsacfCapability' + taiList: + $ref: '#/components/schemas/TaiList' + taiRangeList: + type: array + items: + $ref: '#/components/schemas/TaiRange' + minItems: 1 + + NwdafCapability: + description: Indicates the capability supported by the NWDAF + type: object + properties: + analyticsAggregation: + type: boolean + default: false + analyticsMetadataProvisioning: + type: boolean + default: false + MlAnalyticsInfo: + description: ML Analytics Filter information supported by the Nnwdaf_MLModelProvision service + type: object + properties: + mlAnalyticsIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + snssaiList: + $ref: '#/components/schemas/SnssaiList' + trackingAreaList: + $ref: '#/components/schemas/TaiList' + + NwdafInfo: + description: Information of a NWDAF NF Instance + type: object + properties: + eventIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/EventId' + minItems: 1 + nwdafEvents: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + minItems: 1 + + ScpInfo: + description: Information of an SCP Instance + type: object + properties: + scpDomainInfoList: + description: > + A map (list of key-value pairs) where the key of the map shall be the string + identifying an SCP domain + type: object + additionalProperties: + $ref: '#/components/schemas/ScpDomainInfo' + minProperties: 1 + scpPrefix: + type: string + scpPorts: + description: > + Port numbers for HTTP and HTTPS. The key of the map shall be "http" or "https". + type: object + additionalProperties: + type: integer + minimum: 0 + maximum: 65535 + minProperties: 1 + addressDomains: + type: array + items: + type: string + minItems: 1 + ipv4Addresses: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' + minItems: 1 + ipv6Prefixes: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' + minItems: 1 + ipv4AddrRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + servedNfSetIdList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 + remotePlmnList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' + minItems: 1 + remoteSnpnList: + type: array + items: + $ref: '#/components/schemas/PlmnIdNid' + minItems: 1 + ipReachability: + $ref: '#/components/schemas/IpReachability' + scpCapabilities: + type: array + items: + $ref: '#/components/schemas/ScpCapability' + + PfdData: + description: List of Application IDs and/or AF IDs managed by a given NEF Instance + type: object + properties: + appIds: + type: array + items: + type: string + minItems: 1 + afIds: + type: array + items: + type: string + minItems: 1 + AfEvent: + description: Represents Application Events. + anyOf: + - type: string + enum: + - SVC_EXPERIENCE + - UE_MOBILITY + - UE_COMM + - EXCEPTIONS + - USER_DATA_CONGESTION + - PERF_DATA + - DISPERSION + - COLLECTIVE_BEHAVIOUR + - MS_QOE_METRICS + - MS_CONSUMPTION + - MS_NET_ASSIST_INVOCATION + - MS_DYN_POLICY_INVOCATION + - MS_ACCESS_ACTIVITY + - 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. + AfEventExposureData: + description: AF Event Exposure data managed by a given NEF Instance + type: object + required: + - afEvents + properties: + afEvents: + type: array + items: + $ref: '#/components/schemas/AfEvent' + minItems: 1 + afIds: + type: array + items: + type: string + minItems: 1 + appIds: + type: array + items: + type: string + minItems: 1 + UnTrustAfInfo: + description: Information of a untrusted AF Instance + type: object + required: + - afId + properties: + afId: + type: string + sNssaiInfoList: + type: array + items: + $ref: '#/components/schemas/SnssaiInfoItem' + minItems: 1 + mappingInd: + type: boolean + default: false + SnssaiInfoItem: + description: > + Parameters supported by an NF for a given S-NSSAI Set of parameters supported by NF + for a given S-NSSAI + type: object + required: + - sNssai + - dnnInfoList + properties: + sNssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai' + dnnInfoList: + type: array + items: + $ref: '#/components/schemas/DnnInfoItem' + minItems: 1 + DnnInfoItem: + description: Set of parameters supported by NF for a given DNN + type: object + required: + - dnn + properties: + dnn: + anyOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + - $ref: 'TS29571_CommonData.yaml#/components/schemas/WildcardDnn' + #-------- Definition of concrete IOCs -------------------------------------------- ProvMnS: oneOf: @@ -1224,16 +1597,16 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' - type: object properties: - plmnIdList: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + plmnInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' sBIFqdn: type: string - snssaiList: - $ref: '#/components/schemas/SnssaiList' managedNFProfile: $ref: '#/components/schemas/ManagedNFProfile' commModelList: $ref: '#/components/schemas/CommModelList' + ausfInfo: + $ref: '#/components/schemas/AusfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -1325,14 +1698,15 @@ components: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr' - type: object properties: - plmnIdList: - $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnIdList' + plmnInfoList: + $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfoList' sBIFqdn: type: string - snssaiList: - $ref: '#/components/schemas/SnssaiList' managedNFProfile: $ref: '#/components/schemas/ManagedNFProfile' + udsfInfo: + $ref: '#/components/schemas/UdsfInfo' + NrfFunction-Single: allOf: - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top' @@ -1476,6 +1850,8 @@ components: type: integer fqdn: $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn' + seppInfo: + $ref: '#/components/schemas/SeppInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -1503,10 +1879,10 @@ components: $ref: '#/components/schemas/CommModelList' networkSliceInfoList: $ref: '#/components/schemas/NetworkSliceInfoList' - nwdafEvents: - type: array - items: - $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' + administrativeState: + $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState' + nwdafInfo: + $ref: '#/components/schemas/NwdafInfo' ScpFunction-Single: allOf: @@ -1522,6 +1898,8 @@ components: $ref: '#/components/schemas/SupportedFuncList' address: $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostAddr' + scpInfo: + $ref: '#/components/schemas/ScpInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' NefFunction-Single: allOf: @@ -1551,7 +1929,40 @@ components: $ref: '#/components/schemas/TaiRange' dnai: type: string - + nefId: + type: string + pfdData: + $ref: '#/components/schemas/PfdData' + afEeData: + $ref: '#/components/schemas/AfEventExposureData' + gpsiRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + externalGroupIdentifiersRanges: + type: array + items: + $ref: '#/components/schemas/IdentityRange' + minItems: 1 + servedFqdnList: + type: array + items: + type: string + minItems: 1 + dnaiList: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + unTrustAfInfoList: + type: array + items: + $ref: '#/components/schemas/UnTrustAfInfo' + minItems: 1 + uasNfFunctionalityInd: + type: boolean + default: false - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: @@ -1573,8 +1984,8 @@ components: type: array items: $ref: '#/components/schemas/NsacfInfoSnssai' - taiList: - $ref: '#/components/schemas/TaiList' + nsacfInfo: + $ref: '#/components/schemas/NsacfInfo' - $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO' - type: object properties: diff --git a/OpenAPI/TS28541_NrNrm.yaml b/OpenAPI/TS28541_NrNrm.yaml index d150a1405fb04a857b5b517e547881a432c6d664..54e1117a1fea7dbffb72cfef22cb737e21afe2d4 100755 --- a/OpenAPI/TS28541_NrNrm.yaml +++ b/OpenAPI/TS28541_NrNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: NR NRM - version: 17.7.0 + version: 18.2.0 description: >- OAS 3.0.1 specification of the NR NRM - © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.541; 5G NRM, NR NRM @@ -825,16 +825,18 @@ components: $ref: '#/components/schemas/GnbName' plmnId: $ref: '#/components/schemas/PlmnId' - x2BlackList: + x2BlockList: $ref: '#/components/schemas/GGnbIdList' - xnBlackList: + xnBlockList: $ref: '#/components/schemas/GGnbIdList' - x2WhiteList: + x2AllowList: $ref: '#/components/schemas/GGnbIdList' - xnWhiteList: + xnAllowList: $ref: '#/components/schemas/GGnbIdList' - x2XnHOBlackList: + x2HOBlockList: $ref: '#/components/schemas/GEnbIdList' + xnHOBlackList: + $ref: '#/components/schemas/GGnbIdList' mappingSetIDBackhaulAddress: $ref: '#/components/schemas/MappingSetIDBackhaulAddress' tceMappingInfoList: diff --git a/OpenAPI/TS28541_SliceNrm.yaml b/OpenAPI/TS28541_SliceNrm.yaml index 37d12bbd101a4ba2b990f99d83dc97a629cd7b95..d1d15e7efb3ca6ede9e6100b8cfa6fe16426e14f 100755 --- a/OpenAPI/TS28541_SliceNrm.yaml +++ b/OpenAPI/TS28541_SliceNrm.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Slice NRM - version: 17.7.0 + version: 18.2.0 description: >- OAS 3.0.1 specification of the Slice NRM - @ 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + @ 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.541; 5G NRM, Slice NRM @@ -115,7 +115,9 @@ components: availability: $ref: '#/components/schemas/Support' periodicityList: - type: string + type: array + items: + type: integer XLThpt: type: object properties: @@ -145,7 +147,9 @@ components: servAttrCom: $ref: '#/components/schemas/ServAttrCom' kPIList: - type: string + type: array + items: + type: string NBIoT: type: object properties: @@ -511,7 +515,7 @@ components: $ref: '#/components/schemas/Positioning' userMgmtOpen: $ref: '#/components/schemas/UserMgmtOpen' - v2XModels: + v2XCommModels: $ref: '#/components/schemas/V2XCommModels' coverageArea: type: string diff --git a/OpenAPI/TS28623_ComDefs.yaml b/OpenAPI/TS28623_ComDefs.yaml index b962d1032f47e37769bf31b3709346351b71fd59..70a9630d2fa881d428f6aabc15ff915db85e4230 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: 17.1.0 + version: 18.1.0 description: >- OAS 3.0.1 specification of common type definitions in the Generic NRM - © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 28.623; Generic NRM; Common type definitions @@ -82,11 +82,17 @@ components: type: array items: $ref: '#/components/schemas/GeoCoordinate' - GeoAreaToCellMapping: + minItems: 3 + GeoArea: type: object properties: convexGeoPolygon: $ref: '#/components/schemas/ConvexGeoPolygon' + GeoAreaToCellMapping: + type: object + properties: + geoArea: + $ref: '#/components/schemas/GeoArea' associationThreshold: type: integer AreaOfInterest: diff --git a/OpenAPI/TS28623_GenericNrm.yaml b/OpenAPI/TS28623_GenericNrm.yaml index adfc72fd66f1a45414370888c8a627baa67bc801..98ceba531e0ce7aa9469a8aa15f94922c47ba5c2 100755 --- a/OpenAPI/TS28623_GenericNrm.yaml +++ b/OpenAPI/TS28623_GenericNrm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: Generic NRM - version: 17.1.0 + version: 18.1.0 description: >- OAS 3.0.1 definition of the Generic NRM © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -82,7 +82,7 @@ components: $ref: '#/components/schemas/OperationSemantics' NFType: type: string - description: ' NF name defined in TS 23.501' + description: ' NF name defined in TS 23.501 or TS 29.510' enum: - NRF - UDM @@ -103,6 +103,49 @@ components: - 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: @@ -1414,6 +1457,34 @@ components: description: See details in 3GPP TS 32.422 clause 5.10.11. Only TCE Id value may be sent over the air to the UE being configured for Logged MDT. type: integer + excessPacketDelayThresholds-Type: + description: Excess Packet Delay Threshold for NR MDT. See details in 3GPP TS 32.422 clause 4.1.1 and 4.1.2. + type: array + properties: + fiveQIValue: + type: integer + excessPacketDelayThresholdValue: + type: string + enum: + - 0.25ms + - 0.5ms + - 1ms + - 2ms + - 4ms + - 5ms + - 10ms + - 20ms + - 30ms + - 40ms + - 50ms + - 60ms + - 70ms + - 80ms + - 90ms + - 100ms + - 150ms + - 300ms + - 500ms #-------- end of Definition of types used in Trace control NRM fragment ---------- @@ -1690,6 +1761,8 @@ components: $ref: '#/components/schemas/sensorInformation-Type' traceCollectionEntityId: $ref: '#/components/schemas/traceCollectionEntityId-Type' + excessPacketDelayThresholds: + $ref: '#/components/schemas/excessPacketDelayThresholds-Type' ManagedFunction-ncO: type: object @@ -1909,7 +1982,7 @@ components: collectionTimeWindow: $ref: 'TS28623_ComDefs.yaml#/components/schemas/TimeWindow' reportingCtrl: - type: string + $ref: '#/components/schemas/ReportingCtrl' dataScope: type: string enum: diff --git a/OpenAPI/TS29520_Nnwdaf_AnalyticsInfo.yaml b/OpenAPI/TS29520_Nnwdaf_AnalyticsInfo.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2e6fd20083a12683efd5ba647226d08a52da3fb2 --- /dev/null +++ b/OpenAPI/TS29520_Nnwdaf_AnalyticsInfo.yaml @@ -0,0 +1,717 @@ +##### Special note: CT R18 local copy for SA5 OAM Forge branch validation only, +##### it shall not be used otherwise. S5-226092 on 4.11.2022 +## the following ref are commented out as extra external dependence +### $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' +### $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' +### $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' +### $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' +### $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation' +### $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' +### $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' +### $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSubscription' + +openapi: 3.0.0 + +info: + version: 1.2.1 + title: Nnwdaf_AnalyticsInfo + description: | + Nnwdaf_AnalyticsInfo Service API. + © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +externalDocs: + description: 3GPP TS 29.520 V17.8.0; 5G System; Network Data Analytics Services. + url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' + +security: + - {} + - oAuth2ClientCredentials: + - nnwdaf-analyticsinfo + +servers: + - url: '{apiRoot}/nnwdaf-analyticsinfo/v1' + variables: + apiRoot: + default: https://example.com + description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. + +paths: + /analytics: + get: + summary: Read a NWDAF Analytics + operationId: GetNWDAFAnalytics + tags: + - NWDAF Analytics (Document) + parameters: + - name: event-id + in: query + description: Identify the analytics. + required: true + schema: + $ref: '#/components/schemas/EventId' + - name: ana-req + in: query + description: Identifies the analytics reporting requirement information. + required: false + content: + application/json: + schema: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' + - name: event-filter + in: query + description: Identify the analytics. + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/EventFilter' + - name: supported-features + in: query + description: To filter irrelevant responses related to unsupported features. + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + - name: tgt-ue + in: query + description: Identify the target UE information. + required: false + content: + application/json: + schema: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TargetUeInformation' + responses: + '200': + description: > + Containing the analytics with parameters as relevant for the requesting NF service + consumer. + content: + application/json: + schema: + $ref: '#/components/schemas/AnalyticsData' + '204': + description: No Content. The requested NWDAF Analytics data does not exist. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + description: Indicates that the NWDAF Analytics resource does not exist. + content: + application/problem+json: + schema: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + description: > + The request is rejected by the NWDAF and more details (not only the ProblemDetails) are + returned. + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetailsAnalyticsInfoRequest' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + + /context: + get: + summary: Get context information related to analytics subscriptions. + operationId: GetNwdafContext + tags: + - NWDAF Context (Document) + parameters: + - name: context-ids + in: query + description: Identifies specific context information related to analytics subscriptions. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ContextIdList' + - name: req-context + in: query + description: > + Identfies the type(s) of the analytics context information the consumer wishes to receive. + required: false + content: + application/json: + schema: + $ref: '#/components/schemas/RequestedContext' + responses: + '200': + description: > + Contains context information related to analytics subscriptions corresponding with one or + more context identifiers. + content: + application/json: + schema: + $ref: '#/components/schemas/ContextData' + '204': + description: > + No Content. (\No context information could be retrieved for the requested context + Identifiers. + '400': + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '406': + $ref: 'TS29571_CommonData.yaml#/components/responses/406' + '414': + $ref: 'TS29571_CommonData.yaml#/components/responses/414' + '429': + $ref: 'TS29571_CommonData.yaml#/components/responses/429' + '500': + $ref: 'TS29571_CommonData.yaml#/components/responses/500' + '503': + $ref: 'TS29571_CommonData.yaml#/components/responses/503' + default: + $ref: 'TS29571_CommonData.yaml#/components/responses/default' + +components: + + securitySchemes: + oAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{nrfApiRoot}/oauth2/token' + scopes: + nnwdaf-analyticsinfo: Access to the Nnwdaf_AnalyticsInfo API + + schemas: + + AnalyticsData: + description: > + Represents the description of analytics with parameters as relevant for the requesting NF + service consumer. + type: object + properties: + start: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + expiry: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + timeStampGen: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + anaMetaInfo: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsMetadataInfo' + sliceLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/SliceLoadLevelInformation' + minItems: 1 + description: The slices and their load level information. + nsiLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiLoadLevelInfo' + minItems: 1 + nfLoadLevelInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NfLoadLevelInformation' + minItems: 1 + nwPerfs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfInfo' + minItems: 1 + svcExps: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' + minItems: 1 + qosSustainInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosSustainabilityInfo' + minItems: 1 + ueMobs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeMobility' + minItems: 1 + ueComms: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' + minItems: 1 + userDataCongInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UserDataCongestionInfo' + minItems: 1 + abnorBehavrs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AbnormalBehaviour' + minItems: 1 + smccExps: + type: array + items: + $ref: '#/components/schemas/SmcceInfo' + minItems: 1 + disperInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionInfo' + minItems: 1 + redTransInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RedundantTransmissionExpInfo' + minItems: 1 + wlanInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerformanceInfo' + minItems: 1 + dnPerfInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerfInfo' + minItems: 1 + suppFeat: + $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' + + EventFilter: + description: Represents the event filters used to identify the requested analytics. + type: object + properties: + anySlice: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnySlice' + snssais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 + description: Identification(s) of network slice. + appIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + minItems: 1 + dnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + dnais: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' + minItems: 1 + ladnDnns: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + minItems: 1 + description: Identification(s) of LADN DNN to indicate the LADN service area as the AOI. +# networkArea: +# $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' +# visitedAreas: +# type: array +# items: +# $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' +# minItems: 1 + maxTopAppUlNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + maxTopAppDlNbr: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + nfInstanceIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + nfSetIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + minItems: 1 +# nfTypes: +# type: array +# items: +# $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' +# minItems: 1 + nsiIdInfos: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiIdInfo' + minItems: 1 + qosRequ: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' + nwPerfTypes: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' + minItems: 1 + bwRequs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/BwRequirement' + minItems: 1 + excepIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExceptionId' + minItems: 1 + exptAnaType: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' +# exptUeBehav: +# $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' + ratFreqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RatFreqInformation' + minItems: 1 + disperReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionRequirement' + minItems: 1 + redTransReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RedundantTransmissionExpReq' + minItems: 1 + wlanReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerformanceReq' + minItems: 1 + listOfAnaSubsets: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsSubset' + minItems: 1 +# upfInfo: +# $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation' +# appServerAddrs: +# type: array +# items: +# $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' +# minItems: 1 + dnPerfReqs: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerformanceReq' + minItems: 1 + not: + required: [anySlice, snssais] + + ProblemDetailsAnalyticsInfoRequest: + description: > + Extends ProblemDetails to indicate more details why the analytics request is rejected. + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' + - $ref: '#/components/schemas/AdditionInfoAnalyticsInfoRequest' + + AdditionInfoAnalyticsInfoRequest: + description: Indicates additional information why the analytics request is rejected. + type: object + properties: + rvWaitTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + + ContextData: + description: > + Contains context information related to analytics subscriptions corresponding with one or + more context identifiers. + type: object + properties: + contextElems: + type: array + items: + $ref: '#/components/schemas/ContextElement' + minItems: 1 + description: > + List of items that contain context information corresponding with a context identifier. + required: + - contextElems + + ContextElement: + description: Contains context information corresponding with a specific context identifier. + type: object + properties: + contextId: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsContextIdentifier' + pendAnalytics: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventNotification' + minItems: 1 + description: > + Output analytics for the analytics subscription which have not yet been sent to the + analytics consumer. + histAnalytics: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventNotification' + minItems: 1 + description: Historical output analytics. + lastOutputTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + aggrSubs: + type: array + items: + $ref: '#/components/schemas/SpecificAnalyticsSubscription' + minItems: 1 + description: > + Information about analytics subscriptions that the NWDAF has with other NWDAFs to perform + aggregation. + histData: + type: array + items: + $ref: '#/components/schemas/HistoricalData' + minItems: 1 + description: Historical data related to the analytics subscription. + adrfId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + adrfDataTypes: + type: array + items: + $ref: '#/components/schemas/AdrfDataType' + minItems: 1 + description: Type(s) of data stored in the ADRF by the NWDAF. + aggrNwdafIds: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + minItems: 1 + description: > + NWDAF identifiers of NWDAF instances used by the NWDAF service consumer when aggregating + multiple analytics subscriptions. + modelInfo: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ModelInfo' + minItems: 1 + description: > + Contains information identifying the ML model(s) that the consumer NWDAF is currently + subscribing for the analytics. + required: + - contextId + + ContextIdList: + description: > + Contains a list of context identifiers of context information of analytics subscriptions. + type: object + properties: + contextIds: + type: array + items: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsContextIdentifier' + minItems: 1 + required: + - contextIds + + HistoricalData: + description: Contains historical data related to an analytics subscription. + type: object + properties: + startTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endTime: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + subsWithSources: + type: array + items: + $ref: '#/components/schemas/SpecificDataSubscription' + minItems: 1 + description: Information about subscriptions with the data sources. + data: + type: array + items: + type: string +# type string is not correct, the commented line below is correct. Changing it only for validation +# $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' + minItems: 1 + description: Historical data related to the analytics. + required: + - data + + SpecificAnalyticsSubscription: + description: > + Represents an existing subscription for a specific type of analytics to a specific NWDAF. + type: object + properties: + subscriptionId: + type: string + producerId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + producerSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + nwdafEvSub: + $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' + allOf: + - oneOf: + - required: [producerId] + - required: [producerSetId] + - required: [subscriptionId] + - required: [nwdafEvSub] + + RequestedContext: + description: Contains types of analytics context information. + type: object + properties: + contexts: + type: array + items: + $ref: '#/components/schemas/ContextType' + minItems: 1 + description: List of analytics context types. + required: + - contexts + + SmcceInfo: + description: Represents the Session Management congestion control experience information. + type: object + properties: + dnn: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + snssai: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + smcceUeList: + $ref: '#/components/schemas/SmcceUeList' + required: + - smcceUeList + + SmcceUeList: + description: > + Represents the List of UEs classified based on experience level of Session Management + congestion control. + type: object + properties: + highLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + mediumLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + lowLevel: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' + minItems: 1 + anyOf: + - required: [highLevel] + - required: [mediumLevel] + - required: [lowLevel] + + SpecificDataSubscription: + description: > + Represents an existing subscription for data collection to a specific data source NF. + type: object + properties: + subscriptionId: + type: string + producerId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' + producerSetId: + $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' + dataSub: + type: string +# $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSubscription' + allOf: + - oneOf: + - required: [producerId] + - required: [producerSetId] + - required: [subscriptionId] + - required: [dataSub] + + EventId: + anyOf: + - type: string + enum: + - LOAD_LEVEL_INFORMATION + - NETWORK_PERFORMANCE + - NF_LOAD + - SERVICE_EXPERIENCE + - UE_MOBILITY + - UE_COMMUNICATION + - QOS_SUSTAINABILITY + - ABNORMAL_BEHAVIOUR + - USER_DATA_CONGESTION + - NSI_LOAD_LEVEL + - SM_CONGESTION + - DISPERSION + - RED_TRANS_EXP + - WLAN_PERFORMANCE + - DN_PERFORMANCE + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - LOAD_LEVEL_INFORMATION: Represent the analytics of load level information of corresponding network slice. + - NETWORK_PERFORMANCE: Represent the analytics of network performance information. + - NF_LOAD: Indicates that the event subscribed is NF Load. + - SERVICE_EXPERIENCE: Represent the analytics of service experience information of the specific applications. + - UE_MOBILITY: Represent the analytics of UE mobility. + - UE_COMMUNICATION: Represent the analytics of UE communication. + - QOS_SUSTAINABILITY: Represent the analytics of QoS sustainability information in the certain area. + - ABNORMAL_BEHAVIOUR: Indicates that the event subscribed is abnormal behaviour information. + - USER_DATA_CONGESTION: Represent the analytics of the user data congestion in the certain area. + - NSI_LOAD_LEVEL: Represent the analytics of Network Slice and the optionally associated Network Slice Instance. + - SM_CONGESTION: Represent the analytics of Session Management congestion control experience information for specific DNN and/or S-NSSAI. + - DISPERSION: Represents the analytics of dispersion. + - RED_TRANS_EXP: Represents the analytics of Redundant Transmission Experience. + - WLAN_PERFORMANCE: Represents the analytics of WLAN performance. + - DN_PERFORMANCE: Represents the analytics of DN performance. + + ContextType: + anyOf: + - type: string + enum: + - PENDING_ANALYTICS + - HISTORICAL_ANALYTICS + - AGGR_SUBS + - DATA + - AGGR_INFO + - ML_MODELS + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - PENDING_ANALYTICS: Represents context information that relates to pending output analytics. + - HISTORICAL_ANALYTICS: Represents context information that relates to historical output analytics. + - AGGR_SUBS: Represents context information about the analytics subscriptions that an NWDAF has with other NWDAFs that collectively serve an analytics subscription. + - DATA: Represents context information about historical data that is available. + - AGGR_INFO: Represents context information that is related to aggregation of analytics from multiple NWDAF subscriptions. + - ML_MODELS: Represents context information about used ML models. + + AdrfDataType: + anyOf: + - type: string + enum: + - HISTORICAL_ANALYTICS + - HISTORICAL_DATA + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - HISTORICAL_ANALYTICS: Indicates that historical analytics are stored in the ADRF. + - HISTORICAL_DATA: Indicates that historical data are stored in the ADRF. diff --git a/yang-models/_3gpp-common-managementdatacollection.yang b/yang-models/_3gpp-common-managementdatacollection.yang new file mode 100644 index 0000000000000000000000000000000000000000..cc5647cf059d926f53453644ca93ec5c792c9afc --- /dev/null +++ b/yang-models/_3gpp-common-managementdatacollection.yang @@ -0,0 +1,265 @@ +module _3gpp-common-managementdatacollection { + yang-version 1.1; + namespace "urn:3gpp:sa5:_3gpp-common-managementdatacollection"; + prefix "mgtdatcol3gpp"; + + import _3gpp-common-top { prefix top3gpp; } + import _3gpp-common-yang-types {prefix types3gpp; } + //import ietf-inet-types { prefix inet; } + import ietf-yang-types { prefix yang; } + import _3gpp-common-subnetwork { prefix subnet3gpp; } + + organization "3GPP SA5"; + contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; + + description "Handling management data collection"; + + 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 2022-11-04 { reference "CR-0194"; } + + + grouping Tai { + list plmnId { + description "PLMN Identity."; + min-elements 1; + max-elements 1; + key "mcc mnc"; + uses types3gpp:PLMNId; + } + + leaf tac { type types3gpp:Tac; } + } + + + grouping NodeFilterGrp { + + list areaOfInterest { + key idx; + leaf idx { + type string; + } + uses Tai; // (Maybe type: types3gpp:Tai,if we define Tai there.) + // mandatory false + min-elements 1; + description "It specifies a location(s) from where the management data + shall be collected. It is defined in terms of TAI(s)."; + } + + leaf networkDomain { + type enumeration { + enum CN; + enum RAN; + } + // mandatory false + description "It specifies the network domain of the target node. This + will also result in collecting appropriate management data from the + nodes belonging to the specified domain."; + } + + leaf cpUpType { + type enumeration { + enum CP; + enum UP; + } + // mandatory false + description "It specifies the traffic type of the target node. This will + also result in collecting appropriate management data from the nodes + handling the specified traffic (e.g AMF for CP and UPF for UP)."; + } + + leaf sst { + type uint8; // TS 28.003 clause 28.4. + //mandatory false; + description "It specifies the slice service type (SST) of which the slice + subnet should be targeted. Please refer to 3GPP TS 23.501: 'System + Architecture for the 5G System'"; + } + } + + typedef mgtDataCategoryType { + type enumeration { + enum COVERAGE; + enum CAPACITY; + enum ENERGY_EFFICIENCY; + enum MOBILITY; + enum ACCESSIBILITY; + } + description ""; + } + + grouping TimeWindowGrp { + leaf startTime { + type yang:date-and-time; + } + leaf endTime { + type yang:date-and-time; + } + } + + + 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 "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."; + } + } + mandatory true; + } + + list targetNodeFilter { + key idx; + leaf idx { + type string; + } + min-elements 1; + description "Set of information to target the Object Instance to collect + the measurements from."; + uses NodeFilterGrp; + } + + list collectionTimeWindow { + key "startTime endTime"; + max-elements 1; + description "Collection time window for which the management data + should be reported."; + uses TimeWindowGrp; + } + + list reportingCtrl { + key idx; + leaf idx { + type string; + } + min-elements 1; + max-elements 1; + uses types3gpp:ReportingCtrl; + description "Selecting the reporting method and defining associated + control parameters."; + } + + leaf dataScope { + type enumeration { + enum SNSSAI; + enum 5QI; + } + // mandatory false; [Implicit] + description "It specifies whether the required data is reported per + S-NSSAI or per 5QI."; + } + } + + augment /subnet3gpp:SubNetwork { + + list ManagementDataCollection { + key id; + uses top3gpp:Top_Grp ; + container attributes { + uses ManagementDataCollectionGrp; + } + description "This IOC represents a management data collection request + job. The requested data could be of kind Trace, MDT (Minimization + of Drive Test), RLF (Radio Link Failure) report, RCEF (RRC Connection + Establishment Failure) 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 + 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 + 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 + producing the required management data. In this case consumer can + request management data, specified by 3GPP, produced by certain network + function(s) based on a particular location, the domain (CN or RAN) of + the network function, and the handled traffic (CP or UP) of the network + 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."; + } + } + +} diff --git a/yang-models/_3gpp-common-measurements.yang b/yang-models/_3gpp-common-measurements.yang index 96893e6c393426eef89f311c6b2c8e53c1fa8487..8128267e13bdec070fa4de7fde2a2930be8a5309 100755 --- a/yang-models/_3gpp-common-measurements.yang +++ b/yang-models/_3gpp-common-measurements.yang @@ -53,6 +53,7 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; + revision 2022-11-04 { reference "CR-0194"; } revision 2021-07-22 { reference "CR-0137"; } revision 2020-11-06 { reference "CR-0118"; } revision 2020-09-04 { reference "CR-000107"; } @@ -273,61 +274,11 @@ module _3gpp-common-measurements { contains the root object and all descendant objects."; } - choice reportingCtrl { - mandatory true; - description "This choice defines the method for reporting collected - performance metrics to MnS consumers as well as the parameters for - configuring the reporting function. It is a choice between the control - parameter required for the reporting methods, whose presence selects - the reporting method as follows: - - When only the fileReportingPeriod attribute is present, the MnS - producer shall store files on the MnS producer at a location selected - by the MnS producer and inform the MnS consumer about the availability - of new files and the file location using the notifyFileReady - notification. - - When only the fileReportingPeriod and fileLocation attributes are - present, the MnS producer shall store the files on the MnS consumer at - the location specified by fileLocation. No notification is emitted by - the MnS producer. - - When only the streamTarget attribute is present, the MnS producer - shall stream the data to the location specified by streamTarget. - - For the file-based reporting methods the fileReportingPeriod attribute - specifies the time window during which collected measurements are stored - into the same file before the file is closed and a new file is opened."; - - case file-based-reporting { - leaf fileReportingPeriod { - type uint32 { - range 1..max; - } - units minutes; - must '(number(.)*"60") mod number(../granularityPeriod) = "0"' { + uses types3gpp:ReportingCtrl { + refine "reportingCtrl/file-based-reporting/fileReportingPeriod" { + must '(number(.)*"60") mod number(../granularityPeriod) = "0"' { error-message "The time-period must be a multiple of the granularityPeriod."; - } - mandatory true; - description "For the file-based reporting method this is the time - window during which collected measurements are stored into the same - file before the file is closed and a new file is opened. - The time-period must be a multiple of the granularityPeriod. - - Applicable when the file-based reporting method is supported"; - } - - 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."; - } - } - case stream-based-reporting { - leaf streamTarget { - type string; - mandatory true; - description "Applicable when stream-based reporting method is - supported."; } } } diff --git a/yang-models/_3gpp-common-yang-types.yang b/yang-models/_3gpp-common-yang-types.yang index 0986cdefc8c37198f54cce746dd44ef36197bc6b..7af15073b6251d484ffb9ffd19708827d9353b35 100755 --- a/yang-models/_3gpp-common-yang-types.yang +++ b/yang-models/_3gpp-common-yang-types.yang @@ -13,7 +13,8 @@ module _3gpp-common-yang-types { network slicing."; reference "3GPP TS 28.623"; - revision 2022-07-26 { reference CR-0180 ; } + revision 2022-11-04 { reference "CR-0194"; } + revision 2022-07-26 { reference "CR-0180"; } revision 2022-02-09 { reference "CR-0144"; } revision 2021-11-01 { reference "CR-0141"; } @@ -737,4 +738,102 @@ module _3gpp-common-yang-types { } units dB; } + + grouping ReportingCtrl { + choice reportingCtrl { + mandatory true; + description " + This choice defines the method for reporting collected performance + metrics to MnS consumers as well as the parameters for configuring the + reporting function. It is a choice between the control parameter + required for the reporting methods, whose presence selects the + reporting method as follows: + + - When only the fileReportingPeriod attribute is present, the MnS + producer shall store files on the MnS producer at a location selected + by the MnS producer and, on condition that an appropriate subscription + is in place, inform the MnS consumer about the availability of new + files and the file location using the notifyFileReady notification. + In case the preparation of a file fails, 'notifyFilePreparationError' + shall be sent instead. + + - When the 'fileReportingPeriod' and 'notificationRecipientAddress' + attributes are present, then the MnS producer shall behave like + described for the case that only the 'fileReportingPeriod' is present. + 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 + 'notificationRecipientAddress' attribute in the created + 'NtfSubscriptionControl' instance shall be set to the value of the + 'notificationRecipientAddress' in the related 'PerfMetricJob'. This + feature is called implicit notification subscription, as opposed to the + case where the MnS consumer creates the subscription (explicit + 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 streamTarget attribute is present, the MnS producer + shall stream the data to the location specified by streamTarget. + + For the file-based reporting methods the fileReportingPeriod attribute + specifies the time window during which collected measurements are + stored into the same file before the file is closed and a new file is + opened."; + + case file-based-reporting { + leaf fileReportingPeriod { + type uint32 { + range 1..max; + } + units minutes; + mandatory true; + description "For the file-based reporting method this is the time + window during which collected measurements are stored into the same + file before the file is closed and a new file is opened. + The time-period must be a multiple of the granularityPeriod. + + Applicable when the file-based reporting method is supported."; + } + choice reporting-target { + case file-target { + 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."; + } + } + case notification-target { + leaf notificationRecipientAddress { + type string; + description "Must be present when the notification-based reporting + method is supported, and the the files are available as + notifications for the MnS consumer to subscribe to."; + } + } + description "When netiher fileLocation or notificationRecipientAddress + are present, the files are stored and available to the MnS consumer + if the MnS subscribes to the notifyFileReady notification."; + } + } + + case stream-based-reporting { + leaf streamTarget { + type string; + mandatory true; + description "Applicable when stream-based reporting method is + supported."; + } + } + + } + } } \ No newline at end of file