Loading yang-models/_3gpp-common-managed-element.yang +9 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; revision 2025-07-01 { reference "CR-xxxnotiflog" ; } revision 2025-04-25 { reference "CR-0532 CR0541" ; } revision 2025-03-25 { reference "CR-0516"; } revision 2024-10-01 { reference "CR-0437,CR-0438" ; } Loading @@ -56,6 +57,10 @@ module _3gpp-common-managed-element { revision 2019-06-17 { reference " S5-203316"; } revision 2019-05-08 { reference "Initial revision"; } feature NotificationLogUnderManagedElement { description "NotificationLog is contained under ManagedElement"; } feature ECMappingRuleUnderManagedElement { description "ECMappingRule shall be contained under ManagedElement."; } Loading Loading @@ -336,5 +341,9 @@ module _3gpp-common-managed-element { uses mwab3gpp:MWABSubTree { if-feature MWABUnderManagedElement ; } uses subscr3gpp:NotificationLogSubtree { if-feature NotificationLogUnderManagedElement ; } } } yang-models/_3gpp-common-subnetwork.yang +10 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; revision 2025-07-01 { reference "CR-xxxnotiflog" ; } revision 2025-04-25 { reference "CR-0532 CR0541" ; } revision 2025-03-25 { reference "CR-0516 CR-0527"; } revision 2024-11-19 { reference "Add STM"; } Loading Loading @@ -69,6 +70,10 @@ module _3gpp-common-subnetwork { reference "Initial revision"; } feature NotificationLogUnderSubNetwork { description "NotificationLog is contained under SubNetwork"; } feature ECMappingRuleUnderSubNetwork { description "ECMappingRule shall be contained under SubNetwork."; } Loading Loading @@ -277,6 +282,10 @@ module _3gpp-common-subnetwork { if-feature MWABUnderSubNetwork ; } uses subscr3gpp:NotificationLogSubtree { if-feature NotificationLogUnderSubNetwork ; } yangmnt:mount-point children-of-SubNetwork { description "Mountpoint for contained ManagedElements and SubNetworks"; reference "RFC8528 YANG Schema Mount"; Loading yang-models/_3gpp-common-subscription-control.yang +190 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; revision 2025-07-01 { reference CR-xxxx ; } revision 2025-05-13 { reference "CR-0548" ; } revision 2025-03-24 { reference "CR-0516 0518" ; } revision 2024-05-18 { reference CR-0359 ; } Loading @@ -31,6 +32,190 @@ 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 "NotificationLog is contained under NtfSubscriptionControl"; } grouping LogRecordGrp { description "This <<dataType>> contains a log for a single notification."; leaf logRecordId { type string; config false; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; description "Identifier of an individual logRecord; unique within a NotificationLog IOC. - If the NotificationLog is contained under an NtfSubscriptionControl the value is the same as the notificationId. - If the NotificationLog is contained under SubNetwork or ManagedElement the value is the notificationId followed by a single space and the DN of the NtfSubscriptionControl that created the notification."; } leaf sequenceNo { type uint64; config false; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; description "Sequence number from the header of the notification."; } leaf eventTime { type yang:date-and-time ; config false; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; description "eventTime from the header of the notification."; } leaf logContent { type string; config false; mandatory true; yext3gpp:notNotifyable; 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 NotificationLogGrp { description "Represents the NotificationLog IOC."; leaf firstEventTime { type yang:date-and-time ; config false; yext3gpp:notNotifyable; description "eventTime of first notification in the log. The attribute may be missing if and only if there are no notifications in the NotificationLog."; } leaf lastEventTime { type yang:date-and-time ; config false; yext3gpp:notNotifyable; description "eventTime of latest notification in the log. The attribute may be missing if and only if there are no notifications in the NotificationLog."; } leaf logCurrentSize { type uint32; config false; mandatory true; yext3gpp:notNotifyable; description "The number of notifications in the NotificationLog."; } leaf logMaxSize { type uint32; config false; yext3gpp:notNotifyable; description "The maximum number of notifications in the NotificationLog, if it is known."; } list logRecords { key logRecordId; config false; yext3gpp:notNotifyable; description "Records of the individual notifications. The records shall be ordered based on eventTime of the record newest first."; uses LogRecordGrp; } leaf-list notificationTypes { type NotificationTypes; description "Defines the types of notifications that are candidates for logging. If the notificationTypes attribute is not supported or not present all candidate notifications types are logged; discriminated by notificationFilter attribute. The attribute is not available if the NotificationLog is contained under NtfSubscriptionControl"; } leaf notificationFilter { type string; description "Defines a filter to be applied to candidate notifications identified by the notificationTypes attribute. If notificationFilter is present, only notifications that pass the filter criteria are logged; all other notifications are discarded. The filter can be applied to any field of a notification. The format of the string shall conform to a JSON expressions (Jex) 'JexConditionsExpr'; The attribute is not available if the NotificationLog is contained under NtfSubscriptionControl"; reference "3GPP TS 32.161"; } } grouping NotificationLogSubtree { description "Contains the notification log."; list NotificationLog { description "The NotificationLog IOC is the representation of a Notification Log. A NotificationLog 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 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. 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. 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 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 log has a limited size, so old notifications may be removed from the log by the producer. The creation of the NotificationLog MOI enables notification logging. Each NotificationLog MOI will result in a separate log being created."; key id; uses top3gpp:Top_Grp; container attributes { uses NotificationLogGrp; } } } grouping ScopeGrp { description "This <<dataType>> allows to select data nodes in an object tree whose root is identified by the so called base managed object Loading Loading @@ -175,7 +360,7 @@ module _3gpp-common-subscription-control { notifications are discarded. The filter can be applied to any field of a notification. The format of the string shall confrm to a The format of the string shall o to a JSON expressions (Jex) 'JexConditionsExpr'"; reference "3GPP TS 32.161"; } Loading Loading @@ -356,6 +541,10 @@ module _3gpp-common-subscription-control { uses NtfSubscriptionControlGrp; } uses NotificationLogSubtree { if-feature NotificationLogUnderNtfSubscriptionControl; } list HeartbeatControl { description "MnS consumers (i.e. notification recipients) use heartbeat notifications to monitor the communication channels between themselves Loading Loading
yang-models/_3gpp-common-managed-element.yang +9 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ module _3gpp-common-managed-element { 3GPP TS 28.620 Umbrella Information Model (UIM)"; revision 2025-07-01 { reference "CR-xxxnotiflog" ; } revision 2025-04-25 { reference "CR-0532 CR0541" ; } revision 2025-03-25 { reference "CR-0516"; } revision 2024-10-01 { reference "CR-0437,CR-0438" ; } Loading @@ -56,6 +57,10 @@ module _3gpp-common-managed-element { revision 2019-06-17 { reference " S5-203316"; } revision 2019-05-08 { reference "Initial revision"; } feature NotificationLogUnderManagedElement { description "NotificationLog is contained under ManagedElement"; } feature ECMappingRuleUnderManagedElement { description "ECMappingRule shall be contained under ManagedElement."; } Loading Loading @@ -336,5 +341,9 @@ module _3gpp-common-managed-element { uses mwab3gpp:MWABSubTree { if-feature MWABUnderManagedElement ; } uses subscr3gpp:NotificationLogSubtree { if-feature NotificationLogUnderManagedElement ; } } }
yang-models/_3gpp-common-subnetwork.yang +10 −1 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ module _3gpp-common-subnetwork { 3GPP TS 28.620 Umbrella Information Model (UIM)"; revision 2025-07-01 { reference "CR-xxxnotiflog" ; } revision 2025-04-25 { reference "CR-0532 CR0541" ; } revision 2025-03-25 { reference "CR-0516 CR-0527"; } revision 2024-11-19 { reference "Add STM"; } Loading Loading @@ -69,6 +70,10 @@ module _3gpp-common-subnetwork { reference "Initial revision"; } feature NotificationLogUnderSubNetwork { description "NotificationLog is contained under SubNetwork"; } feature ECMappingRuleUnderSubNetwork { description "ECMappingRule shall be contained under SubNetwork."; } Loading Loading @@ -277,6 +282,10 @@ module _3gpp-common-subnetwork { if-feature MWABUnderSubNetwork ; } uses subscr3gpp:NotificationLogSubtree { if-feature NotificationLogUnderSubNetwork ; } yangmnt:mount-point children-of-SubNetwork { description "Mountpoint for contained ManagedElements and SubNetworks"; reference "RFC8528 YANG Schema Mount"; Loading
yang-models/_3gpp-common-subscription-control.yang +190 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ module _3gpp-common-subscription-control { Solution Set (SS) definitions 3GPP TS 28.623"; revision 2025-07-01 { reference CR-xxxx ; } revision 2025-05-13 { reference "CR-0548" ; } revision 2025-03-24 { reference "CR-0516 0518" ; } revision 2024-05-18 { reference CR-0359 ; } Loading @@ -31,6 +32,190 @@ 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 "NotificationLog is contained under NtfSubscriptionControl"; } grouping LogRecordGrp { description "This <<dataType>> contains a log for a single notification."; leaf logRecordId { type string; config false; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; description "Identifier of an individual logRecord; unique within a NotificationLog IOC. - If the NotificationLog is contained under an NtfSubscriptionControl the value is the same as the notificationId. - If the NotificationLog is contained under SubNetwork or ManagedElement the value is the notificationId followed by a single space and the DN of the NtfSubscriptionControl that created the notification."; } leaf sequenceNo { type uint64; config false; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; description "Sequence number from the header of the notification."; } leaf eventTime { type yang:date-and-time ; config false; mandatory true; yext3gpp:notNotifyable; yext3gpp:inVariant; description "eventTime from the header of the notification."; } leaf logContent { type string; config false; mandatory true; yext3gpp:notNotifyable; 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 NotificationLogGrp { description "Represents the NotificationLog IOC."; leaf firstEventTime { type yang:date-and-time ; config false; yext3gpp:notNotifyable; description "eventTime of first notification in the log. The attribute may be missing if and only if there are no notifications in the NotificationLog."; } leaf lastEventTime { type yang:date-and-time ; config false; yext3gpp:notNotifyable; description "eventTime of latest notification in the log. The attribute may be missing if and only if there are no notifications in the NotificationLog."; } leaf logCurrentSize { type uint32; config false; mandatory true; yext3gpp:notNotifyable; description "The number of notifications in the NotificationLog."; } leaf logMaxSize { type uint32; config false; yext3gpp:notNotifyable; description "The maximum number of notifications in the NotificationLog, if it is known."; } list logRecords { key logRecordId; config false; yext3gpp:notNotifyable; description "Records of the individual notifications. The records shall be ordered based on eventTime of the record newest first."; uses LogRecordGrp; } leaf-list notificationTypes { type NotificationTypes; description "Defines the types of notifications that are candidates for logging. If the notificationTypes attribute is not supported or not present all candidate notifications types are logged; discriminated by notificationFilter attribute. The attribute is not available if the NotificationLog is contained under NtfSubscriptionControl"; } leaf notificationFilter { type string; description "Defines a filter to be applied to candidate notifications identified by the notificationTypes attribute. If notificationFilter is present, only notifications that pass the filter criteria are logged; all other notifications are discarded. The filter can be applied to any field of a notification. The format of the string shall conform to a JSON expressions (Jex) 'JexConditionsExpr'; The attribute is not available if the NotificationLog is contained under NtfSubscriptionControl"; reference "3GPP TS 32.161"; } } grouping NotificationLogSubtree { description "Contains the notification log."; list NotificationLog { description "The NotificationLog IOC is the representation of a Notification Log. A NotificationLog 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 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. 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. 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 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 log has a limited size, so old notifications may be removed from the log by the producer. The creation of the NotificationLog MOI enables notification logging. Each NotificationLog MOI will result in a separate log being created."; key id; uses top3gpp:Top_Grp; container attributes { uses NotificationLogGrp; } } } grouping ScopeGrp { description "This <<dataType>> allows to select data nodes in an object tree whose root is identified by the so called base managed object Loading Loading @@ -175,7 +360,7 @@ module _3gpp-common-subscription-control { notifications are discarded. The filter can be applied to any field of a notification. The format of the string shall confrm to a The format of the string shall o to a JSON expressions (Jex) 'JexConditionsExpr'"; reference "3GPP TS 32.161"; } Loading Loading @@ -356,6 +541,10 @@ module _3gpp-common-subscription-control { uses NtfSubscriptionControlGrp; } uses NotificationLogSubtree { if-feature NotificationLogUnderNtfSubscriptionControl; } list HeartbeatControl { description "MnS consumers (i.e. notification recipients) use heartbeat notifications to monitor the communication channels between themselves Loading