Commit 59120603 authored by lengyelb's avatar lengyelb
Browse files

Locally rebased and merged !1845

parent 539d459e
Loading
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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;
    }
+13 −17
Original line number Diff line number Diff line
@@ -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;
    }
+152 −2
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
@@ -20,7 +21,7 @@ module _3gpp-common-subscription-control {
      Solution Set (SS) definitions
      3GPP TS 28.623";

  revision 2025-07-19 { reference CR-0551; }
  revision 2025-08-13 { reference "CR-0551 CR-0561"; }
  revision 2025-05-13 { reference "CR-0548"; }
  revision 2025-03-24 { reference "CR-0516 0518"; }
  revision 2024-05-18 { reference CR-0359; }
@@ -32,6 +33,151 @@ 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 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 <<dataType>> allows to select data nodes in an object
      tree whose root is identified by the so called base managed object
@@ -404,6 +550,10 @@ module _3gpp-common-subscription-control {
          uses HeartbeatControlGrp;
        }
      }
      
      uses NotificationListSubtree {
        if-feature NotificationListUnderNtfSubscriptionControl;
      } 
    }
  }