Loading yang-models/_3gpp-common-managementdatacollection.yang 0 → 100644 +265 −0 Original line number Diff line number Diff line 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-03 { reference "CR-0193"; } 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."; } } } yang-models/_3gpp-common-measurements.yang +3 −52 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; revision 2022-11-03 { reference "CR-0193"; } revision 2022-10-31 { reference CR-0195; } revision 2021-07-22 { reference "CR-0137"; } revision 2020-11-06 { reference "CR-0118"; } Loading Loading @@ -275,62 +276,12 @@ 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; 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."; } } } } Loading yang-models/_3gpp-common-yang-types.yang +99 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ module _3gpp-common-yang-types { network slicing."; reference "3GPP TS 28.623"; revision 2022-11-03 { reference "CR-0193"; } revision 2022-10-31 { reference CR-0195; } revision 2022-07-26 { reference CR-0180 ; } revision 2022-02-09 { reference "CR-0144"; } Loading Loading @@ -740,4 +741,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 Loading
yang-models/_3gpp-common-managementdatacollection.yang 0 → 100644 +265 −0 Original line number Diff line number Diff line 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-03 { reference "CR-0193"; } 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."; } } }
yang-models/_3gpp-common-measurements.yang +3 −52 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ module _3gpp-common-measurements { Integration Reference Point (IRP); Information Service (IS)"; revision 2022-11-03 { reference "CR-0193"; } revision 2022-10-31 { reference CR-0195; } revision 2021-07-22 { reference "CR-0137"; } revision 2020-11-06 { reference "CR-0118"; } Loading Loading @@ -275,62 +276,12 @@ 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; 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."; } } } } Loading
yang-models/_3gpp-common-yang-types.yang +99 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ module _3gpp-common-yang-types { network slicing."; reference "3GPP TS 28.623"; revision 2022-11-03 { reference "CR-0193"; } revision 2022-10-31 { reference CR-0195; } revision 2022-07-26 { reference CR-0180 ; } revision 2022-02-09 { reference "CR-0144"; } Loading Loading @@ -740,4 +741,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