Loading yang-models/_3gpp-common-managed-element.yang +4 −4 Original line number Diff line number Diff line Loading @@ -89,8 +89,8 @@ module _3gpp-common-managed-element { ManagedElement"; } feature NotificationLogUnderManagedElement { description "The NotificationLog shall be contained under ManagedElement"; feature NotificationListUnderManagedElement { description "The NotificationList shall be contained under ManagedElement"; } feature FmUnderManagedElement { Loading Loading @@ -310,8 +310,8 @@ module _3gpp-common-managed-element { if-feature SupportedNotificationsUnderManagedElement; } uses subscr3gpp:NotificationLogSubtree { if-feature NotificationLogUnderManagedElement; uses subscr3gpp:NotificationListSubtree { if-feature NotificationListUnderManagedElement; } uses fm3gpp:FmSubtree { Loading yang-models/_3gpp-common-subnetwork.yang +4 −4 Original line number Diff line number Diff line Loading @@ -95,8 +95,8 @@ module _3gpp-common-subnetwork { SubNetwork"; } feature NotificationLogUnderSubNetwork { description "The NotificationLog shall be contained under SubNetwork"; feature NotificationListUnderSubNetwork { description "The NotificationList shall be contained under SubNetwork"; } feature FmUnderSubNetwork { Loading Loading @@ -236,8 +236,8 @@ module _3gpp-common-subnetwork { if-feature SupportedNotificationsUnderSubNetwork; } uses subscr3gpp:NotificationLogSubtree { if-feature NotificationLogUnderSubNetwork; uses subscr3gpp:NotificationListSubtree { if-feature NotificationListUnderSubNetwork; } uses fm3gpp:FmSubtree { Loading yang-models/_3gpp-common-subscription-control.yang +84 −101 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -32,31 +33,28 @@ module _3gpp-common-subscription-control { revision 2020-08-26 { reference "CR-0106"; } revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } feature NotificationLogUnderNtfSubscriptionControl { description "The NotificationLog shall be contained under feature NotificationListUnderNtfSubscriptionControl { description "The NotificationList shall be contained under NtfSubscriptionControl"; } grouping LogRecordGrp { description "LogRecord datatype"; grouping NotificationEntryGrp { description "NotificationEntry datatype"; leaf logRecordId { leaf notificationEntryId { type string; yext3gpp:inVariant; description "Identifier of an individual logRecord; unique within a NotificationLog IOC. description "Identifier of an individual notificationEntry; unique within a NotificationList MOI. - If the NotificationLog is contained under an NtfSubscriptionControl the value is the same as the sequenceNo. - If the NotificationLog is contained under SubNetwork or ManagedElement the value is the sequenceNo followed by a single space and the DN of the NtfSubscriptionControl that created the notification."; } leaf sequenceNo { type string; yext3gpp:inVariant; description "Sequence number from the header of the notification."; 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 { Loading @@ -65,7 +63,7 @@ module _3gpp-common-subscription-control { description "eventTime from the header of the notification"; } leaf logContent { leaf notificationContent { type string; yext3gpp:inVariant; description "The string representation of a notification as encoded in Loading @@ -73,49 +71,35 @@ module _3gpp-common-subscription-control { } } grouping NotificationLogGrp { description "Attributes of NotificationLog IOC."; grouping NotificationListGrp { description "Attributes of NotificationList IOC."; leaf firstEventTime { type yang:date-and-time; config false; yext3gpp:notNotifyable; description "eventTime of first notification in the log. description "eventTime of first notification available. The attribute may be missing if and only if there are no notifications in the NotificationLog."; in the NotificationList."; } leaf lastEventTime { type yang:date-and-time; config false; yext3gpp:notNotifyable; description "eventTime of latest notification in the log. description "eventTime of latest notification available. The attribute may be missing if and only if there are no notifications in the NotificationLog."; in the NotificationList."; } leaf logCurrentSize { type uint64; config false; mandatory true; list notificationEntries { yext3gpp:notNotifyable; description "The number of notifications in the NotificationLog."; } leaf logMaxSize { type uint64; description "Representation of the individual notifications. The entries shall be ordered based on eventTime of the notification, newest first."; config false; description "The maximum possible number of notifications in the NotificationLog, if it is known."; } list logRecords { yext3gpp:notNotifyable; description "Records of the individual notifications. The records shall be ordered based on eventTime of the record, newest first."; config false; key logRecordId; uses LogRecordGrp; key notificationEntryId; uses NotificationEntryGrp; } leaf-list notificationTypes { Loading @@ -127,7 +111,7 @@ module _3gpp-common-subscription-control { type string; description "Filter to be applied to candidate notifications identified by the notificationTypes attribute. Only notifications that pass the filter criteria are logged. All other notifications are discarded. 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 Loading @@ -136,61 +120,60 @@ module _3gpp-common-subscription-control { } } grouping NotificationLogSubtree { description "Contains the NotificationLog IOC"; grouping NotificationListSubtree { description "Contains the NotificationList IOC"; list NotificationLog { description "Notification Log. 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 NotificationLog MOI may be contained under the root ManagedElement or SubNetwork or under an NtfSubscriptionControl MOI. A NotificationList MOI may be contained under the root ManagedElement or SubNetwork or under an NtfSubscriptionControl MOI. If the NotificationLog MOI is contained under a ManagedElement or SubNetwork the log contains all notifications for all objectInstances under that ManagedElement or SubNetwork. The producer may limit the log to notifications for which at least one subscription is present. As the NotificationLog contains all data from notifications, potentially all NRM data, access control for the logs needs to be strict, to avoid unintentionally disclosing confidential data. 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 contains notifications for that subscription. The producer may limit the number of contained NotificationLog MOIs under an NtfSubscriptionControl MOI to one. 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 NotificationLog may contain a subset of all applicable notifications. If the NotificationLog is contained under the ManagedElement or SubNetwork the attributes notificationTypes and notificationFilter may be used to select the notifications to be logged. If the MOI is contained under an NtfSubscriptionControl MOI the attributes notificationTypes and notificationFilter in the NotificationLog are not be available for read or write, as the similar attributes in the NtfSubscriptionControl MOI already select the notifications to be logged. 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 logged. If the attribute is absent, notifications of all types are candidates to be logged. 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 logged. If the attribute is absent, all candidates notifications shall be logged. Only notifications that were prepared are part of the log. If the producer failed to prepare a subscribed notification it will not be present in the log either. the filter criteria are made available. If the attribute is absent, all candidate notifications shall be made available. The log has a limited size, so old notifications may be removed from the log by the producer. 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 creation of the NotificationLog MOI enables notification logging. Each NotificationLog MOI will result in a separate log being created."; 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 NotificationLogGrp; uses NotificationListGrp; } } } Loading Loading @@ -569,8 +552,8 @@ module _3gpp-common-subscription-control { } } uses NotificationLogSubtree { if-feature NotificationLogUnderNtfSubscriptionControl; uses NotificationListSubtree { if-feature NotificationListUnderNtfSubscriptionControl; } } } Loading Loading
yang-models/_3gpp-common-managed-element.yang +4 −4 Original line number Diff line number Diff line Loading @@ -89,8 +89,8 @@ module _3gpp-common-managed-element { ManagedElement"; } feature NotificationLogUnderManagedElement { description "The NotificationLog shall be contained under ManagedElement"; feature NotificationListUnderManagedElement { description "The NotificationList shall be contained under ManagedElement"; } feature FmUnderManagedElement { Loading Loading @@ -310,8 +310,8 @@ module _3gpp-common-managed-element { if-feature SupportedNotificationsUnderManagedElement; } uses subscr3gpp:NotificationLogSubtree { if-feature NotificationLogUnderManagedElement; uses subscr3gpp:NotificationListSubtree { if-feature NotificationListUnderManagedElement; } uses fm3gpp:FmSubtree { Loading
yang-models/_3gpp-common-subnetwork.yang +4 −4 Original line number Diff line number Diff line Loading @@ -95,8 +95,8 @@ module _3gpp-common-subnetwork { SubNetwork"; } feature NotificationLogUnderSubNetwork { description "The NotificationLog shall be contained under SubNetwork"; feature NotificationListUnderSubNetwork { description "The NotificationList shall be contained under SubNetwork"; } feature FmUnderSubNetwork { Loading Loading @@ -236,8 +236,8 @@ module _3gpp-common-subnetwork { if-feature SupportedNotificationsUnderSubNetwork; } uses subscr3gpp:NotificationLogSubtree { if-feature NotificationLogUnderSubNetwork; uses subscr3gpp:NotificationListSubtree { if-feature NotificationListUnderSubNetwork; } uses fm3gpp:FmSubtree { Loading
yang-models/_3gpp-common-subscription-control.yang +84 −101 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -32,31 +33,28 @@ module _3gpp-common-subscription-control { revision 2020-08-26 { reference "CR-0106"; } revision 2019-11-29 { reference "S5-197648 S5-197647 S5-197829 S5-197828"; } feature NotificationLogUnderNtfSubscriptionControl { description "The NotificationLog shall be contained under feature NotificationListUnderNtfSubscriptionControl { description "The NotificationList shall be contained under NtfSubscriptionControl"; } grouping LogRecordGrp { description "LogRecord datatype"; grouping NotificationEntryGrp { description "NotificationEntry datatype"; leaf logRecordId { leaf notificationEntryId { type string; yext3gpp:inVariant; description "Identifier of an individual logRecord; unique within a NotificationLog IOC. description "Identifier of an individual notificationEntry; unique within a NotificationList MOI. - If the NotificationLog is contained under an NtfSubscriptionControl the value is the same as the sequenceNo. - If the NotificationLog is contained under SubNetwork or ManagedElement the value is the sequenceNo followed by a single space and the DN of the NtfSubscriptionControl that created the notification."; } leaf sequenceNo { type string; yext3gpp:inVariant; description "Sequence number from the header of the notification."; 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 { Loading @@ -65,7 +63,7 @@ module _3gpp-common-subscription-control { description "eventTime from the header of the notification"; } leaf logContent { leaf notificationContent { type string; yext3gpp:inVariant; description "The string representation of a notification as encoded in Loading @@ -73,49 +71,35 @@ module _3gpp-common-subscription-control { } } grouping NotificationLogGrp { description "Attributes of NotificationLog IOC."; grouping NotificationListGrp { description "Attributes of NotificationList IOC."; leaf firstEventTime { type yang:date-and-time; config false; yext3gpp:notNotifyable; description "eventTime of first notification in the log. description "eventTime of first notification available. The attribute may be missing if and only if there are no notifications in the NotificationLog."; in the NotificationList."; } leaf lastEventTime { type yang:date-and-time; config false; yext3gpp:notNotifyable; description "eventTime of latest notification in the log. description "eventTime of latest notification available. The attribute may be missing if and only if there are no notifications in the NotificationLog."; in the NotificationList."; } leaf logCurrentSize { type uint64; config false; mandatory true; list notificationEntries { yext3gpp:notNotifyable; description "The number of notifications in the NotificationLog."; } leaf logMaxSize { type uint64; description "Representation of the individual notifications. The entries shall be ordered based on eventTime of the notification, newest first."; config false; description "The maximum possible number of notifications in the NotificationLog, if it is known."; } list logRecords { yext3gpp:notNotifyable; description "Records of the individual notifications. The records shall be ordered based on eventTime of the record, newest first."; config false; key logRecordId; uses LogRecordGrp; key notificationEntryId; uses NotificationEntryGrp; } leaf-list notificationTypes { Loading @@ -127,7 +111,7 @@ module _3gpp-common-subscription-control { type string; description "Filter to be applied to candidate notifications identified by the notificationTypes attribute. Only notifications that pass the filter criteria are logged. All other notifications are discarded. 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 Loading @@ -136,61 +120,60 @@ module _3gpp-common-subscription-control { } } grouping NotificationLogSubtree { description "Contains the NotificationLog IOC"; grouping NotificationListSubtree { description "Contains the NotificationList IOC"; list NotificationLog { description "Notification Log. 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 NotificationLog MOI may be contained under the root ManagedElement or SubNetwork or under an NtfSubscriptionControl MOI. A NotificationList MOI may be contained under the root ManagedElement or SubNetwork or under an NtfSubscriptionControl MOI. If the NotificationLog MOI is contained under a ManagedElement or SubNetwork the log contains all notifications for all objectInstances under that ManagedElement or SubNetwork. The producer may limit the log to notifications for which at least one subscription is present. As the NotificationLog contains all data from notifications, potentially all NRM data, access control for the logs needs to be strict, to avoid unintentionally disclosing confidential data. 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 contains notifications for that subscription. The producer may limit the number of contained NotificationLog MOIs under an NtfSubscriptionControl MOI to one. 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 NotificationLog may contain a subset of all applicable notifications. If the NotificationLog is contained under the ManagedElement or SubNetwork the attributes notificationTypes and notificationFilter may be used to select the notifications to be logged. If the MOI is contained under an NtfSubscriptionControl MOI the attributes notificationTypes and notificationFilter in the NotificationLog are not be available for read or write, as the similar attributes in the NtfSubscriptionControl MOI already select the notifications to be logged. 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 logged. If the attribute is absent, notifications of all types are candidates to be logged. 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 logged. If the attribute is absent, all candidates notifications shall be logged. Only notifications that were prepared are part of the log. If the producer failed to prepare a subscribed notification it will not be present in the log either. the filter criteria are made available. If the attribute is absent, all candidate notifications shall be made available. The log has a limited size, so old notifications may be removed from the log by the producer. 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 creation of the NotificationLog MOI enables notification logging. Each NotificationLog MOI will result in a separate log being created."; 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 NotificationLogGrp; uses NotificationListGrp; } } } Loading Loading @@ -569,8 +552,8 @@ module _3gpp-common-subscription-control { } } uses NotificationLogSubtree { if-feature NotificationLogUnderNtfSubscriptionControl; uses NotificationListSubtree { if-feature NotificationListUnderNtfSubscriptionControl; } } } Loading