Commit e0d6f27a authored by lengyelb's avatar lengyelb
Browse files

NotificationLog -> NotificationList

parent 7c0a4dc2
Loading
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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 {
@@ -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 {
+4 −4
Original line number Diff line number Diff line
@@ -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 {
@@ -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 {
+84 −101
Original line number Diff line number Diff line
@@ -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
@@ -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 {
@@ -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 
@@ -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 {
@@ -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 
@@ -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;
      }
    }  
  }
@@ -569,8 +552,8 @@ module _3gpp-common-subscription-control {
        }
      }
      
      uses NotificationLogSubtree {
        if-feature NotificationLogUnderNtfSubscriptionControl;
      uses NotificationListSubtree {
        if-feature NotificationListUnderNtfSubscriptionControl;
      } 
    }
  }