Loading yang-models/_3gpp-common-filemanagement.yang +4 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ module _3gpp-common-filemanagement { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix yang3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; Loading @@ -14,6 +15,7 @@ module _3gpp-common-filemanagement { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; revision 2022-10-31 { reference CR-0195; } revision 2022-02-10 { reference "Initial revision, S5-221757"; } grouping FileDownloadProcessMonitor { Loading Loading @@ -50,11 +52,13 @@ module _3gpp-common-filemanagement { allowedValues: File URI (See RFC 8089)"; mandatory true; type string; yext3gpp:notNotifyable; } leaf notificationRecipientAddress { description "Address of the notification recipient."; type string; yext3gpp:notNotifyable; } leaf cancelJob { Loading yang-models/_3gpp-common-fm.yang +34 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ module _3gpp-common-fm { import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading @@ -22,6 +23,7 @@ module _3gpp-common-fm { Integration Reference Point (IRP); Information Service (IS)"; revision 2022-10-31 { reference CR-0195; } revision 2021-08-08 { reference "CR-0132"; } revision 2021-06-02 { reference "CR-0130"; } revision 2020-06-03 { reference "CR-0091"; } Loading Loading @@ -107,58 +109,68 @@ module _3gpp-common-fm { type string; mandatory true; description "Identifies the alarmRecord"; yext3gpp:notNotifyable; } leaf objectInstance { type string; config false ; mandatory true; yext3gpp:notNotifyable; } leaf notificationId { type int32; config false ; mandatory true; yext3gpp:notNotifyable; } leaf alarmRaisedTime { type yang:date-and-time ; config false ; yext3gpp:notNotifyable; } leaf alarmChangedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm has not changed"; yext3gpp:notNotifyable; } leaf alarmClearedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm was not cleared"; yext3gpp:notNotifyable; } leaf alarmType { type eventType; config false ; description "General category for the alarm."; yext3gpp:notNotifyable; } leaf probableCause { type string; config false ; yext3gpp:notNotifyable; } leaf specificProblem { type string; config false ; reference "ITU-T Recommendation X.733 clause 8.1.2.2."; yext3gpp:notNotifyable; } leaf perceivedSeverity { type severity-level; description "This is Writable only if producer supports consumer to set perceivedSeverity to CLEARED"; yext3gpp:notNotifyable; } leaf backedUpStatus { Loading @@ -166,11 +178,13 @@ module _3gpp-common-fm { config false ; description "Indicates if an object (the MonitoredEntity) has a back up. See definition in ITU-T Recommendation X.733 clause 8.1.2.4."; yext3gpp:notNotifyable; } leaf backUpObject { type string; config false ; yext3gpp:notNotifyable; } leaf trendIndication { Loading @@ -179,6 +193,7 @@ module _3gpp-common-fm { description "Indicates if some observed condition is getting better, worse, or not changing. "; reference "ITU-T Recommendation X.733 clause 8.1.2.6."; yext3gpp:notNotifyable; } grouping ThresholdPackGrp { Loading Loading @@ -227,6 +242,7 @@ module _3gpp-common-fm { list thresholdInfo { config false ; uses ThresholdInfoGrp; yext3gpp:notNotifyable; } leaf stateChangeDefinition { Loading @@ -234,6 +250,7 @@ module _3gpp-common-fm { config false ; description "Indicates MO attribute value changes. See definition in ITU-T Recommendation X.733 clause 8.1.2.11."; yext3gpp:notNotifyable; } leaf monitoredAttributes { Loading @@ -242,6 +259,7 @@ module _3gpp-common-fm { description "Indicates MO attributes whose value changes are being monitored."; reference "ITU-T Recommendation X.733 clause 8.1.2.11."; yext3gpp:notNotifyable; } leaf proposedRepairActions { Loading @@ -249,15 +267,18 @@ module _3gpp-common-fm { config false ; description "Indicates proposed repair actions. See definition in ITU-T Recommendation X.733 clause 8.1.2.12."; yext3gpp:notNotifyable; } leaf additionalText { type string; config false ; yext3gpp:notNotifyable; } anydata additionalInformation { config false ; yext3gpp:notNotifyable; } leaf rootCauseIndicator { Loading @@ -269,6 +290,7 @@ module _3gpp-common-fm { description "It indicates that this AlarmInformation is the root cause of the events captured by the notifications whose identifiers are in the related CorrelatedNotification instances."; yext3gpp:notNotifyable; } leaf ackTime { Loading @@ -277,12 +299,14 @@ module _3gpp-common-fm { description "It identifies the time when the alarm has been acknowledged or unacknowledged the last time, i.e. it registers the time when ackState changes."; yext3gpp:notNotifyable; } leaf ackUserId { type string; description "It identifies the last user who has changed the Acknowledgement State."; yext3gpp:notNotifyable; } leaf ackSystemId { Loading @@ -290,6 +314,7 @@ module _3gpp-common-fm { description "It identifies the system (Management System) that last changed the ackState of an alarm, i.e. acknowledged or unacknowledged the alarm."; yext3gpp:notNotifyable; } leaf ackState { Loading @@ -302,16 +327,19 @@ module _3gpp-common-fm { been acknowledged."; } } yext3gpp:notNotifyable; } leaf clearUserId { type string; description "Carries the identity of the user who invokes the clearAlarms operation."; yext3gpp:notNotifyable; } leaf clearSystemId { type string; yext3gpp:notNotifyable; } leaf serviceUser { Loading @@ -320,6 +348,7 @@ module _3gpp-common-fm { description "It identifies the service-user whose request for service provided by the serviceProvider led to the generation of the security alarm."; yext3gpp:notNotifyable; } leaf serviceProvider { Loading @@ -328,11 +357,13 @@ module _3gpp-common-fm { description "It identifies the service-provider whose service is requested by the serviceUser and the service request provokes the generation of the security alarm."; yext3gpp:notNotifyable; } leaf securityAlarmDetector { type string; config false ; yext3gpp:notNotifyable; } } Loading Loading @@ -361,18 +392,21 @@ module _3gpp-common-fm { config false; mandatory true; description "The number of alarm records in the AlarmList"; yext3gpp:notNotifyable; } leaf lastModification { type yang:date-and-time ; config false; description "The last time when an alarm record was modified"; yext3gpp:notNotifyable; } list alarmRecords { key alarmId; description "List of alarmRecords"; uses AlarmRecordGrp; yext3gpp:notNotifyable; } } Loading yang-models/_3gpp-common-managed-function.yang +4 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ module _3gpp-common-managed-function { prefix mf3gpp; import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-trace { prefix trace3gpp; } Loading @@ -20,6 +21,7 @@ module _3gpp-common-managed-function { 3GPP TS 28.620 Umbrella Information Model (UIM)"; revision 2022-10-31 { reference CR-0195; } revision 2022-01-07 { reference "CR-0146"; } revision 2021-01-25 { reference "CR-0122"; } revision 2020-09-30 { reference "CR-bbbb"; } Loading @@ -46,6 +48,7 @@ module _3gpp-common-managed-function { leaf name { type string; mandatory true; yext3gpp:notNotifyable; } leaf-list allowedNFTypes { Loading Loading @@ -83,6 +86,7 @@ module _3gpp-common-managed-function { type string; description "The type of the managed NF service instance The specifc values allowed are described in clause 7.2 of TS 23.501"; yext3gpp:notNotifyable; } list sAP { 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 +7 −52 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ module _3gpp-common-measurements { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading Loading @@ -53,6 +54,8 @@ 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"; } revision 2020-09-04 { reference "CR-000107"; } Loading Loading @@ -273,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 Loading @@ -371,12 +324,14 @@ module _3gpp-common-measurements { leaf-list objectInstances { type types3gpp:DistinguishedName; yext3gpp:notNotifyable; } leaf-list rootObjectInstances { type types3gpp:DistinguishedName; description "Each object instance designates the root of a subtree that contains the root object and all descendant objects."; yext3gpp:notNotifyable; } } Loading Loading
yang-models/_3gpp-common-filemanagement.yang +4 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ module _3gpp-common-filemanagement { import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix yang3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } organization "3GPP SA5"; Loading @@ -14,6 +15,7 @@ module _3gpp-common-filemanagement { Class (IOC) that is part of the Generic Network Resource Model (NRM)."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM)"; revision 2022-10-31 { reference CR-0195; } revision 2022-02-10 { reference "Initial revision, S5-221757"; } grouping FileDownloadProcessMonitor { Loading Loading @@ -50,11 +52,13 @@ module _3gpp-common-filemanagement { allowedValues: File URI (See RFC 8089)"; mandatory true; type string; yext3gpp:notNotifyable; } leaf notificationRecipientAddress { description "Address of the notification recipient."; type string; yext3gpp:notNotifyable; } leaf cancelJob { Loading
yang-models/_3gpp-common-fm.yang +34 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ module _3gpp-common-fm { import ietf-yang-types { prefix yang; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading @@ -22,6 +23,7 @@ module _3gpp-common-fm { Integration Reference Point (IRP); Information Service (IS)"; revision 2022-10-31 { reference CR-0195; } revision 2021-08-08 { reference "CR-0132"; } revision 2021-06-02 { reference "CR-0130"; } revision 2020-06-03 { reference "CR-0091"; } Loading Loading @@ -107,58 +109,68 @@ module _3gpp-common-fm { type string; mandatory true; description "Identifies the alarmRecord"; yext3gpp:notNotifyable; } leaf objectInstance { type string; config false ; mandatory true; yext3gpp:notNotifyable; } leaf notificationId { type int32; config false ; mandatory true; yext3gpp:notNotifyable; } leaf alarmRaisedTime { type yang:date-and-time ; config false ; yext3gpp:notNotifyable; } leaf alarmChangedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm has not changed"; yext3gpp:notNotifyable; } leaf alarmClearedTime { type yang:date-and-time ; config false ; description "not applicable if related alarm was not cleared"; yext3gpp:notNotifyable; } leaf alarmType { type eventType; config false ; description "General category for the alarm."; yext3gpp:notNotifyable; } leaf probableCause { type string; config false ; yext3gpp:notNotifyable; } leaf specificProblem { type string; config false ; reference "ITU-T Recommendation X.733 clause 8.1.2.2."; yext3gpp:notNotifyable; } leaf perceivedSeverity { type severity-level; description "This is Writable only if producer supports consumer to set perceivedSeverity to CLEARED"; yext3gpp:notNotifyable; } leaf backedUpStatus { Loading @@ -166,11 +178,13 @@ module _3gpp-common-fm { config false ; description "Indicates if an object (the MonitoredEntity) has a back up. See definition in ITU-T Recommendation X.733 clause 8.1.2.4."; yext3gpp:notNotifyable; } leaf backUpObject { type string; config false ; yext3gpp:notNotifyable; } leaf trendIndication { Loading @@ -179,6 +193,7 @@ module _3gpp-common-fm { description "Indicates if some observed condition is getting better, worse, or not changing. "; reference "ITU-T Recommendation X.733 clause 8.1.2.6."; yext3gpp:notNotifyable; } grouping ThresholdPackGrp { Loading Loading @@ -227,6 +242,7 @@ module _3gpp-common-fm { list thresholdInfo { config false ; uses ThresholdInfoGrp; yext3gpp:notNotifyable; } leaf stateChangeDefinition { Loading @@ -234,6 +250,7 @@ module _3gpp-common-fm { config false ; description "Indicates MO attribute value changes. See definition in ITU-T Recommendation X.733 clause 8.1.2.11."; yext3gpp:notNotifyable; } leaf monitoredAttributes { Loading @@ -242,6 +259,7 @@ module _3gpp-common-fm { description "Indicates MO attributes whose value changes are being monitored."; reference "ITU-T Recommendation X.733 clause 8.1.2.11."; yext3gpp:notNotifyable; } leaf proposedRepairActions { Loading @@ -249,15 +267,18 @@ module _3gpp-common-fm { config false ; description "Indicates proposed repair actions. See definition in ITU-T Recommendation X.733 clause 8.1.2.12."; yext3gpp:notNotifyable; } leaf additionalText { type string; config false ; yext3gpp:notNotifyable; } anydata additionalInformation { config false ; yext3gpp:notNotifyable; } leaf rootCauseIndicator { Loading @@ -269,6 +290,7 @@ module _3gpp-common-fm { description "It indicates that this AlarmInformation is the root cause of the events captured by the notifications whose identifiers are in the related CorrelatedNotification instances."; yext3gpp:notNotifyable; } leaf ackTime { Loading @@ -277,12 +299,14 @@ module _3gpp-common-fm { description "It identifies the time when the alarm has been acknowledged or unacknowledged the last time, i.e. it registers the time when ackState changes."; yext3gpp:notNotifyable; } leaf ackUserId { type string; description "It identifies the last user who has changed the Acknowledgement State."; yext3gpp:notNotifyable; } leaf ackSystemId { Loading @@ -290,6 +314,7 @@ module _3gpp-common-fm { description "It identifies the system (Management System) that last changed the ackState of an alarm, i.e. acknowledged or unacknowledged the alarm."; yext3gpp:notNotifyable; } leaf ackState { Loading @@ -302,16 +327,19 @@ module _3gpp-common-fm { been acknowledged."; } } yext3gpp:notNotifyable; } leaf clearUserId { type string; description "Carries the identity of the user who invokes the clearAlarms operation."; yext3gpp:notNotifyable; } leaf clearSystemId { type string; yext3gpp:notNotifyable; } leaf serviceUser { Loading @@ -320,6 +348,7 @@ module _3gpp-common-fm { description "It identifies the service-user whose request for service provided by the serviceProvider led to the generation of the security alarm."; yext3gpp:notNotifyable; } leaf serviceProvider { Loading @@ -328,11 +357,13 @@ module _3gpp-common-fm { description "It identifies the service-provider whose service is requested by the serviceUser and the service request provokes the generation of the security alarm."; yext3gpp:notNotifyable; } leaf securityAlarmDetector { type string; config false ; yext3gpp:notNotifyable; } } Loading Loading @@ -361,18 +392,21 @@ module _3gpp-common-fm { config false; mandatory true; description "The number of alarm records in the AlarmList"; yext3gpp:notNotifyable; } leaf lastModification { type yang:date-and-time ; config false; description "The last time when an alarm record was modified"; yext3gpp:notNotifyable; } list alarmRecords { key alarmId; description "List of alarmRecords"; uses AlarmRecordGrp; yext3gpp:notNotifyable; } } Loading
yang-models/_3gpp-common-managed-function.yang +4 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ module _3gpp-common-managed-function { prefix mf3gpp; import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-trace { prefix trace3gpp; } Loading @@ -20,6 +21,7 @@ module _3gpp-common-managed-function { 3GPP TS 28.620 Umbrella Information Model (UIM)"; revision 2022-10-31 { reference CR-0195; } revision 2022-01-07 { reference "CR-0146"; } revision 2021-01-25 { reference "CR-0122"; } revision 2020-09-30 { reference "CR-bbbb"; } Loading @@ -46,6 +48,7 @@ module _3gpp-common-managed-function { leaf name { type string; mandatory true; yext3gpp:notNotifyable; } leaf-list allowedNFTypes { Loading Loading @@ -83,6 +86,7 @@ module _3gpp-common-managed-function { type string; description "The type of the managed NF service instance The specifc values allowed are described in clause 7.2 of TS 23.501"; yext3gpp:notNotifyable; } list sAP { 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 +7 −52 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ module _3gpp-common-measurements { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-types { prefix types3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading Loading @@ -53,6 +54,8 @@ 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"; } revision 2020-09-04 { reference "CR-000107"; } Loading Loading @@ -273,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 Loading @@ -371,12 +324,14 @@ module _3gpp-common-measurements { leaf-list objectInstances { type types3gpp:DistinguishedName; yext3gpp:notNotifyable; } leaf-list rootObjectInstances { type types3gpp:DistinguishedName; description "Each object instance designates the root of a subtree that contains the root object and all descendant objects."; yext3gpp:notNotifyable; } } Loading