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