diff --git a/yang-models/_3gpp-common-managed-element.yang b/yang-models/_3gpp-common-managed-element.yang index 70e53be99913b44d6e3d62fad4d555beaec427dd..713c1a2dec746bdd384b86499e23e0191f979143 100755 --- a/yang-models/_3gpp-common-managed-element.yang +++ b/yang-models/_3gpp-common-managed-element.yang @@ -37,6 +37,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-08-13 { reference CR-0561; } revision 2025-04-25 { reference "CR-0532 CR0541" ; } revision 2025-03-25 { reference "CR-0516"; } revision 2024-10-01 { reference "CR-0437,CR-0438" ; } @@ -88,6 +89,10 @@ module _3gpp-common-managed-element { ManagedElement"; } + feature NotificationListUnderManagedElement { + description "The NotificationList shall be contained under ManagedElement"; + } + feature FmUnderManagedElement { description "The FmSubtree shall be contained under ManagedElement"; } @@ -305,6 +310,10 @@ module _3gpp-common-managed-element { if-feature SupportedNotificationsUnderManagedElement; } + uses subscr3gpp:NotificationListSubtree { + if-feature NotificationListUnderManagedElement; + } + uses fm3gpp:FmSubtree { if-feature FmUnderManagedElement; } diff --git a/yang-models/_3gpp-common-subnetwork.yang b/yang-models/_3gpp-common-subnetwork.yang index c94f406385ffdb03dbf419e9b434fd547a90a232..61af0f512375afd1e8d6530aecda7f733e478258 100755 --- a/yang-models/_3gpp-common-subnetwork.yang +++ b/yang-models/_3gpp-common-subnetwork.yang @@ -37,6 +37,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; + revision 2025-08-13 { reference CR-0561; } revision 2025-04-25 { reference "CR-0532 CR0541" ; } revision 2025-03-25 { reference "CR-0516 CR-0527"; } revision 2024-11-19 { reference "Add STM"; } @@ -51,23 +52,10 @@ module _3gpp-common-subnetwork { revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-06 { reference "CR-0102"; } revision 2020-06-08 { reference "CR-0092"; } - revision 2020-05-08 { - reference "S5-203316"; - } - - - revision 2020-03-11 { - description "Added KPIs and corrections"; - reference "S5-201365, S5-201581, SP-200229"; - } - - revision 2020-02-24 { - reference "S5-201365"; - } - - revision 2019-06-17 { - reference "Initial revision"; - } + revision 2020-05-08 { reference "S5-203316"; } + revision 2020-03-11 { reference "S5-201365, S5-201581, SP-200229"; } + revision 2020-02-24 { reference "S5-201365"; } + revision 2019-06-17 { reference "Initial revision"; } feature ECMappingRuleUnderSubNetwork { description "ECMappingRule shall be contained under SubNetwork."; @@ -107,6 +95,10 @@ module _3gpp-common-subnetwork { SubNetwork"; } + feature NotificationListUnderSubNetwork { + description "The NotificationList shall be contained under SubNetwork"; + } + feature FmUnderSubNetwork { description "The FmSubtree shall be contained under SubNetwork"; } @@ -244,6 +236,10 @@ module _3gpp-common-subnetwork { if-feature SupportedNotificationsUnderSubNetwork; } + uses subscr3gpp:NotificationListSubtree { + if-feature NotificationListUnderSubNetwork; + } + uses fm3gpp:FmSubtree { if-feature FmUnderSubNetwork; } diff --git a/yang-models/_3gpp-common-subscription-control.yang b/yang-models/_3gpp-common-subscription-control.yang index fcc5451e6b34062ea4277b64a7c4524612c495ba..9b323a94843ec0c5e5d1d3d5fa4ce55ff5bbb5f0 100755 --- a/yang-models/_3gpp-common-subscription-control.yang +++ b/yang-models/_3gpp-common-subscription-control.yang @@ -11,7 +11,8 @@ module _3gpp-common-subscription-control { organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; - description "Defines IOCs for subscription and heartbeat control. + description "Defines IOCs for subscription, notification list and heartbeat + control. Copyright 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved."; reference "3GPP TS 28.623 @@ -20,17 +21,163 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; - revision 2025-05-13 { reference "CR-0548" ; } + revision 2025-08-13 { reference CR-0561; } + revision 2025-05-13 { reference "CR-0548"; } revision 2025-03-24 { reference "CR-0516 0518" ; } - revision 2024-05-18 { reference CR-0359 ; } - revision 2024-01-18 { reference "CR-0309 CR-0329" ; } - revision 2023-09-18 { reference CR-0271 ; } + revision 2024-05-18 { reference CR-0359; } + revision 2024-01-18 { reference "CR-0309 CR-0329"; } + revision 2023-09-18 { reference CR-0271; } revision 2023-08-10 { reference "CR0257 CR0260"; } revision 2022-10-20 { reference CR-0196; } revision 2021-01-16 { reference "CR-0120"; } revision 2020-08-26 { reference "CR-0106"; } revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } + feature NotificationListUnderNtfSubscriptionControl { + description "The NotificationList shall be contained under + NtfSubscriptionControl"; + } + + grouping NotificationEntryGrp { + description "NotificationEntry datatype"; + + leaf notificationEntryId { + type string; + yext3gpp:inVariant; + description "Identifier of an individual notificationEntry; unique within + a NotificationList MOI. + + allowedValues: + - If the NotificationList is contained under an NtfSubscriptionControl + the value is the same as the notification's sequenceNo. + - If the NotificationList is contained under SubNetwork or + ManagedElement the value is the DN of the NtfSubscriptionControl that + created the notification followed by a single '*' asterisk character + and the sequenceNo. + e.g. 'ManagedElement=me1,NtfSubscriptionControl=Fault1*12345'"; + } + + leaf eventTime { + type yang:date-and-time; + yext3gpp:inVariant; + description "eventTime from the header of the notification"; + } + + leaf notificationContent { + type string; + yext3gpp:inVariant; + description "The string representation of a notification as encoded in + the HTTP body (excluding the HTTP headers and the optional VES header)."; + } + } + + grouping NotificationListGrp { + description "Attributes of NotificationList IOC."; + + leaf firstEventTime { + type yang:date-and-time; + config false; + yext3gpp:notNotifyable; + description "eventTime of first notification available. + The attribute may be missing if and only if there are no notifications + in the NotificationList."; + } + + leaf lastEventTime { + type yang:date-and-time; + config false; + yext3gpp:notNotifyable; + description "eventTime of latest notification available. + The attribute may be missing if and only if there are no notifications + in the NotificationList."; + } + + list notificationEntries { + yext3gpp:notNotifyable; + description "Representation of the individual notifications. + The entries shall be ordered based on eventTime of the notification, + newest first."; + config false; + key notificationEntryId; + uses NotificationEntryGrp; + } + + leaf-list notificationTypes { + type NotificationTypes; + description "List of notification types."; + } + + leaf notificationFilter { + type string; + description "Filter to be applied to candidate notifications identified + by the notificationTypes attribute. Only notifications that pass the + filter criteria are included. All other notifications are discarded. + The filter can be applied to any field of a notification. + + The format of the string shall confrm to a + JSON expressions (Jex) 'JexConditionsExpr'"; + reference "3GPP TS 32.161"; + } + } + + grouping NotificationListSubtree { + description "Contains the NotificationList IOC"; + + list NotificationList { + description "The NotificationList IOC provides an interface for the + consumer that allows retrieval of notifications that have not been + successfully delivered to the consumer. + + A NotificationList MOI may be contained under the root ManagedElement + or SubNetwork or under an NtfSubscriptionControl MOI. + + If the NotificationList MOI is contained under a ManagedElement or + SubNetwork the MOI make available all notifications for all + objectInstances under that ManagedElement or SubNetwork. + The producer may limit the notification set to notifications for which + at least one subscription is present. + + If the MOI is contained under an NtfSubscriptionControl MOI it makes + available notifications for that subscription. The producer may limit + the number of NotificationList MOIs under an NtfSubscriptionControl + MOI to one. + + A NotificationList may provide a subset of all applicable notifications. + If the NotificationList MOI is contained under the ManagedElement + or SubNetwork the attributes notificationTypes and notificationFilter + may be used to select the notifications to be included. If the MOI is + contained under an NtfSubscriptionControl MOI the attributes + notificationTypes and notificationFilter in the NotificationList + are not be available for read or write, as the similar attributes + in the NtfSubscriptionControl MOI already select the notifications to + be included. + + The notificationTypes value identifies the notification types that + are candidates to be provided. If the attribute is absent, notifications + of all types are candidates to be provided. + + The notificationFilter attribute defines a filter that is applied to + the set of candidate notifications. The filter is applicable to all + parameters of a notification. Only candidate notifications that pass + the filter criteria are made available. If the attribute is absent, + all candidate notifications shall be made available. + + Only notifications that were prepared are included. If the producer + failed to prepare a subscribed notification it will not be available + in this MOI either. + + The number of notifications avaialble has a limit, so old + notifications may be removed from NotificationList by the producer, + while also updating the.firstEventTime atttribute."; + + key id; + uses top3gpp:Top_Grp; + container attributes { + uses NotificationListGrp; + } + } + } + grouping ScopeGrp { description "This <> allows to select data nodes in an object tree whose root is identified by the so called base managed object @@ -404,6 +551,10 @@ module _3gpp-common-subscription-control { uses HeartbeatControlGrp; } } + + uses NotificationListSubtree { + if-feature NotificationListUnderNtfSubscriptionControl; + } } }