diff --git a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang index 12ef3c65c0b5df765fc99f83a62d6c1ab9f2cc3f..0f2d0222b06b25e884aebc0aa907576bd4f683bf 100755 --- a/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang +++ b/yang-models/_3gpp-5gc-nrm-dynamic5qiset.yang @@ -6,16 +6,20 @@ module _3gpp-5gc-nrm-dynamic5qiset { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import _3gpp-common-managed-element { prefix me3gpp; } + import _3gpp-nr-nrm-gnbdufunction { prefix gnbdu3gpp; } + import _3gpp-nr-nrm-gnbcucpfunction { prefix gnbcucp3gpp; } + import _3gpp-nr-nrm-gnbcuupfunction { prefix gnbcuup3gpp; } import _3gpp-5gc-nrm-configurable5qiset { prefix Conf5QIs3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "This IOC represents the dynamic 5QIs including their QoS characteristics. - Copyright 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.541"; + revision 2025-03-24 { reference CR-1488 ; } revision 2023-09-18 { reference CR-1043 ; } revision 2022-07-28 { reference "CR-0770"; } revision 2022-01-07 { reference CR-0643; } @@ -52,11 +56,43 @@ module _3gpp-5gc-nrm-dynamic5qiset { } } + feature Dynamic5QISetUnderSubNetwork { + description "Dynamic5QISet shall be contained under SubNetwork."; + } augment "/subnet3gpp:SubNetwork" { + if-feature Dynamic5QISetUnderSubNetwork; uses Dynamic5QISetSubtree; } + feature Dynamic5QISetUnderManagedElement { + description "Dynamic5QISet shall be contained under ManagedElement."; + } augment "/me3gpp:ManagedElement" { + if-feature Dynamic5QISetUnderManagedElement; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBDUFunction { + description "Dynamic5QISet shall be contained under GNBDUFunction."; + } + augment "/me3gpp:ManagedElement/gnbdu3gpp:GNBDUFunction" { + if-feature Dynamic5QISetUnderGNBDUFunction; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUCPFunction { + description "Dynamic5QISet shall be contained under GNBCUCPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcucp3gpp:GNBCUCPFunction" { + if-feature Dynamic5QISetUnderGNBCUCPFunction; + uses Dynamic5QISetSubtree; + } + + feature Dynamic5QISetUnderGNBCUUPFunction { + description "Dynamic5QISet shall be contained under GNBCUUPFunction."; + } + augment "/me3gpp:ManagedElement/gnbcuup3gpp:GNBCUUPFunction" { + if-feature Dynamic5QISetUnderGNBCUUPFunction; uses Dynamic5QISetSubtree; } } \ No newline at end of file diff --git a/yang-models/_3gpp-common-fm.yang b/yang-models/_3gpp-common-fm.yang index 223ea0033e5a50a5a854fbcdefe6038eaa11141a..308f0dfd629c2346cb7d46e815fec18401eb4346 100755 --- a/yang-models/_3gpp-common-fm.yang +++ b/yang-models/_3gpp-common-fm.yang @@ -12,10 +12,11 @@ module _3gpp-common-fm { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines a Fault Management model - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.111"; + revision 2025-03-25 { reference "CR-0025 CR-0026"; } revision 2024-05-12 { description "The definition of the module was from TS 28.623 to TS 28.111"; reference CR-0008 ; @@ -103,12 +104,14 @@ module _3gpp-common-fm { type yang:date-and-time; config false; mandatory true; + yext3gpp:inVariant; description "Date and Time the comment was created."; } leaf commentUserId { type string; mandatory true; + yext3gpp:inVariant; description "It carries the identification of the user who made the comment."; } @@ -116,6 +119,7 @@ module _3gpp-common-fm { leaf commentSystemId { type string; mandatory true; + yext3gpp:inVariant; description "It carries the identification of the system ( Management System) from which the comment is made. That system supports the user that made the comment."; @@ -124,10 +128,146 @@ module _3gpp-common-fm { leaf commentText { type string; mandatory true; + yext3gpp:inVariant; description "It carries the textual comment."; } } + grouping ThresholdHysteresisGrp { + description "The ThresholdHysteresis defines the threshold boundaries to + control the hysteresis mechanism. + + The high attribute of ThresholdHysteresis identifies the higher value of + a threshold with hysteris, the integer type is used for counter + thresholds and the float type for gauge thresholds. The low attribute + of ThresholdHysteresis identifies the lower value of a threshold with + hysteresis, applicable only to gauge thresholds."; + + leaf high { + type union { + type int64; + type decimal64 { + fraction-digits 7; + } + } + mandatory true; + description "Higher value of a threshold with hysteris, the integer type + is used for counter thresholds and the float type for gauge + thresholds."; + } + + leaf low { + type decimal64 { + fraction-digits 7; + } + description "Lower value of a threshold with hysteresis, applicable + only to gauge thresholds."; + } + } + + grouping ThresholdLevelIndGrp { + description "The up attribute indicates for counter and gauge thresholds + that the threshold crossing occurred when going up. The down attribute + only indicates for gauge thresholds that the threshold crossing occurred + when going down, applicable only to gauge thresholds."; + + list up { + description "Indicates for counter and gauge thresholds that the + threshold crossing occurred when going up."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdHysteresisGrp; + } + + list down { + description "Indicates for gauge thresholds that the threshold crossing + occurred when going down, applicable only to gauge thresholds."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdHysteresisGrp; + } + } + + grouping ThresholdCrossingGrp { + description "The datatype indicates the crossed threshold + information regardless of the gauge threshold, which represents an + instantaneous value that changes over time, or the counter threshold, + which represents monotonically increasing cumulative quantity. + + The observedMeasurement attribute of TheresholdInfo specifies the name + of the monitored measurement that crossed the threshold and that + caused the notification (Rec. ITU-T X. 733[8]). The observedValue + attribute indicates the value of the gauge or counter which crossed + the threshold. This may be different from the threshold value if, for + example, the gauge may only take on discrete values. Integer values + are used for counters and float values for gauges (Rec. ITU-T X. 733). + Note that a 'number' type property can contain both integers and + floating point numbers. + + For the thresholdLevel attribute, in the case of a gauge, it specifies + a pair of threshold values, the first being the value of the crossed + threshold and the second, its corresponding hysteresis; in the case of + a counter, it specifies only the threshold value (Rec. ITU-T X. 733). + + For the armTime attribute, for a gauge threshold, it specifies the + time at which the threshold was last re-armed, namely the time after + the previous threshold crossing at which the hysteresis value of the + threshold was exceeded thus again permitting generation of + notifications when the threshold is crossed; for a counter threshold, + the later of the time at which the threshold offset was last applied, + or the time at which the counter was last initialized (for resettable + counters) (Rec. ITU-T X. 733)."; + + leaf observedMeasurement { + type string; + mandatory true; + description "The name of the monitored measurement that crossed the + threshold and that caused the notification (Rec. ITU-T X. 733 "; + } + + leaf observedValue { + type union { + type int64; + type decimal64 { + fraction-digits 7; + } + } + mandatory true; + description "The value of the gauge or counter which crossed the + threshold. This may be different from the threshold value if, for + example, the gauge may only take on discrete values. + Integer values are used for counters and float values for gauges + (Rec. ITU-T X. 733). Note that a 'number' type property can contain + both integers and floating point numbers."; + } + + list thresholdLevel { + description "In the case of a gauge the threshold level specifies + a pair of threshold values, the first being the value of the crossed + threshold and the second, its corresponding hysteresis; in the case + of a counter the threshold level specifies only the threshold value + (Rec. ITU-T X. 733)."; + max-elements 1; + key idx; + leaf idx { type int32; } + uses ThresholdLevelIndGrp; + } + + leaf armTime { + type yang:date-and-time; + description "For a gauge threshold, the time at which the threshold + was last re-armed, namely the time after the previous threshold + crossing at which the hysteresis value of the threshold was + exceeded thus again permitting generation of notifications when the + threshold is crossed. For a counter threshold, the later of the time + at which the threshold offset was last applied, or the time at + which the counter was last initialized (for resettable counters) + (Rec. ITU-T X. 733)"; + } + } + grouping AlarmRecordGrp { description "Contains alarm information of an alarmed object instance. A new record is created in the alarm list when an alarmed object @@ -255,52 +395,13 @@ module _3gpp-common-fm { yext3gpp:notNotifyable; } - grouping ThresholdInfoGrp { - leaf measurementType { - type string; - mandatory true; - } - - leaf direction { - type enumeration { - enum INCREASING; - enum DECREASING; - } - mandatory true; - description " - If it is 'Increasing', the threshold crossing notification is - triggered when the measurement value equals or exceeds a - thresholdValue. - - If it is 'Decreasing', the threshold crossing notification is - triggered when the measurement value equals or below a - thresholdValue."; - } - - leaf thresholdLevel { - type string; - } - - leaf thresholdValue { - type string; - } - - leaf hysteresis { - type string; - description "The hysteresis has a threshold high and a threshold - low value that are different from the threshold value. - A hysteresis, therefore, defines the threshold-high and - threshold-low levels within which the measurementType value is - allowed to oscillate without triggering the threshold crossing - notification."; - } - } - list thresholdInfo { config false ; yext3gpp:notNotifyable; description "Indicates the crossed threshold"; - uses ThresholdInfoGrp; + key idx; + leaf idx { type int32; } + uses ThresholdCrossingGrp; } list stateChangeDefinition { @@ -382,7 +483,6 @@ module _3gpp-common-fm { } list comments { - yext3gpp:inVariant; yext3gpp:notNotifyable; description "List of comments and data about the comments."; key idx; diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index eaa8dbdb7299fffaca6582635278c176603e04be..74c55b00edfd935f6023ce17e8e1b9dc64638615 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -4,6 +4,7 @@ module _3gpp-common-managed-element { prefix "me3gpp"; import _3gpp-common-yang-types { prefix types3gpp ; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-subscription-control { prefix subscr3gpp; } @@ -19,7 +20,7 @@ module _3gpp-common-managed-element { description "Defines ManagedElement which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -34,6 +35,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-03-24 { reference "CR-0517"; } revision 2024-10-01 { reference "CR-0437,CR-0438" ; } revision 2024-01-30 { reference CR-0328 ; } revision 2023-11-14 { reference CR-0305 ; } @@ -141,6 +143,7 @@ module _3gpp-common-managed-element { A Distingushed Name(DN) is defined by 3GPP TS 32.300, which splits the DN into a DN Prefix and Local DN"; type types3gpp:DistinguishedName; + yext3gpp:inVariant; } leaf userLabel { diff --git a/yang-models/_3gpp-common-mecontext.yang b/yang-models/_3gpp-common-mecontext.yang index ed183f1a72c8e880e788732bdd3edac15487e6f5..df9b7ef0d9edf9b86410c161f377398b3e67065a 100644 --- a/yang-models/_3gpp-common-mecontext.yang +++ b/yang-models/_3gpp-common-mecontext.yang @@ -4,6 +4,7 @@ module _3gpp-common-mecontext { prefix "mectx3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-subnetwork { prefix subnet3gpp; } import ietf-yang-schema-mount { prefix yangmnt; } @@ -12,7 +13,7 @@ module _3gpp-common-mecontext { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines basic MeContext which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -24,6 +25,8 @@ module _3gpp-common-mecontext { Integration Reference Point (IRP); Information Service (IS)"; + revision 2025-03-24 { reference "CR-0524"; } + revision 2025-03-24 { reference "CR-0517 CR-0516"; } revision 2024-07-17 { reference "CR-0381 CR-0382 CR-0383"; } grouping MeContextGrp { @@ -31,6 +34,7 @@ module _3gpp-common-mecontext { leaf dnPrefix { type types3gpp:DistinguishedName; + yext3gpp:inVariant; description "It carries the DN Prefix information or no information. The instance of MeContext is the local root instance of the MIB. Otherwise the attribute shall be absent or carry no information."; @@ -39,7 +43,7 @@ module _3gpp-common-mecontext { } augment "/subnet3gpp:SubNetwork" { - list Mecontext { + list MeContext { description "This IOC is introduced for naming purposes. It may support creation of unique DNs in scenarios when some MEs have the same RDNs due to the fact that they have been manufacturer pre-configured. diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index 23362b81d9bf722115ff9ed3202b9e1ce2c4d43a..e28091cf6970e5a6cb9be359717854aceacd2168 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -4,6 +4,7 @@ module _3gpp-common-subnetwork { prefix "subnet3gpp"; import _3gpp-common-yang-types { prefix types3gpp; } + import _3gpp-common-yang-extensions { prefix yext3gpp ; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-measurements { prefix meas3gpp; } import _3gpp-common-subscription-control { prefix subscr3gpp; } @@ -19,7 +20,7 @@ module _3gpp-common-subnetwork { contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines basic SubNetwork which will be augmented by other IOCs - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -34,6 +35,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-03-24 { reference "CR-0517"; } revision 2024-08-18 { reference CR-1336 ; } revision 2024-01-30 { reference CR-0328 ; } revision 2023-11-14 { reference CR-0305 ; } @@ -152,6 +154,7 @@ module _3gpp-common-subnetwork { leaf dnPrefix { type types3gpp:DistinguishedName; + yext3gpp:inVariant; reference "Annex C of 32.300 "; } diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index b637e1ff53c5de712befab920a09e955a26b5ed7..29ffa4c8f97a53b3b0ff7b02a26ea34dfdfe1070 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -5,12 +5,13 @@ module _3gpp-common-subscription-control { import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } - + import ietf-yang-types { prefix yang; } + organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; description "Defines IOCs for subscription and heartbeat control. - Copyright 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, + Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 Generic Network Resource Model (NRM) @@ -18,6 +19,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; + revision 2025-03-24 { reference CR-0517 ; } revision 2024-05-18 { reference CR-0359 ; } revision 2024-01-18 { reference "CR-0309 CR-0329" ; } revision 2023-09-18 { reference CR-0271 ; } @@ -84,11 +86,26 @@ module _3gpp-common-subscription-control { } } case dataNodeSelector { - leaf dataNodeSelector { - type string; + container dataNodeSelector { description "The value shall follow the rules of RFC 8641 filter-spec"; - reference "RFC 8641 section 5."; + reference "RFC 8641 section 5. and ietf-yang-push.yang"; + choice dataNodeSelector { + anydata datastore-subtree-filter { + description "Subtree filter"; + reference + "RFC 6241: Network Configuration Protocol (NETCONF), Section 6"; + } + leaf datastore-xpath-filter { + type yang:xpath1.0; + description "XPath-filter"; + reference + "XML Path Language (XPath) Version 1.0 + (https://www.w3.org/TR/1999/REC-xpath-19991116) + RFC 7950: The YANG 1.1 Data Modeling Language, + Section 10"; + } + } } } } @@ -114,7 +131,7 @@ module _3gpp-common-subscription-control { list scope { description "Scopes (selects) data nodes in an object tree."; key idx; - max-elements 8; + max-elements 1; leaf idx { type string; } uses ScopeGrp; }