Commit 9305d4e3 authored by lengyelb's avatar lengyelb
Browse files

Merge branch '28.623_Rel19_Reliable_notification_transfer_YANG' into...

Merge branch '28.623_Rel19_Reliable_notification_transfer_YANG' into 'Integration_Rel19_SA5_161_YANG'

28.623_Rel19_CR_0548_Reliable_notification_transfer_YANG into Integration

See merge request !1767
parents ce51082f 74cc0323
Loading
Loading
Loading
Loading
Loading
+82 −3
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ module _3gpp-common-subscription-control {
    
  import _3gpp-common-top { prefix top3gpp; }
  import _3gpp-common-yang-extensions { prefix yext3gpp; }
  import _3gpp-common-yang-types { prefix types3gpp; }
  import ietf-yang-types { prefix yang; }
  
  organization "3GPP SA5";
@@ -19,6 +20,7 @@ module _3gpp-common-subscription-control {
      Solution Set (SS) definitions
      3GPP TS 28.623";
  
  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" ; } 
@@ -132,6 +134,8 @@ module _3gpp-common-subscription-control {
        enum notifyFileReady;
        enum notifyFilePreparationError;
        enum notifyThresholdCrossing ;
        enum notifyPotentialFaultyDataNodeTree;
        enum notifyDataNodeTreeSyncRecommended;
      }
      type string;
    }
@@ -175,6 +179,32 @@ module _3gpp-common-subscription-control {
        JSON expressions (Jex) 'JexConditionsExpr'";
      reference "3GPP TS 32.161";
    }
    
    leaf lastSequenceNo {
      type uint64;
      config false;
      mandatory true;
      description "The sequence number of the last notification that was sent 
        by a 'NtfSubscriptionControl' instance.";
    }
    
    leaf operationalState {
      type types3gpp:OperationalState;
      config false;
      mandatory true;
      description "Operational state of manged object instance. 
        The operational state describes if an object instance is operable 
        ('ENABLED') or inoperable ('DISABLED').
        This state is set by the object instance or the MnS producer and 
        is hence READ-ONLY.";
    }
    
    leaf-list availabilityStatus {
      type types3gpp:AvailabilityStatus;
      config false;
      description "The availability status provides additional information 
        about the operational state";
    }
  }
  
  grouping HeartbeatControlGrp {
@@ -260,12 +290,61 @@ module _3gpp-common-subscription-control {
        or notifyMOIChanges), the first notification sent related to the 
        new subscription shall report the creation of the 
        NtfSubscriptionControl instance. Likewise, when a subscription is 
        deleted and the notification scope inludes the deleted subscription 
        deleted and the notification scope includes the deleted subscription 
        object and the subscribed notification types include notifications 
        reporting object deletion (notifyMOIDeletion or notifyMOIChanges), 
        the last notification sent related to the subscription shall report 
        the deletion of the NtfSubscriptionControl instance.

        If multiple NtfSubscriptionControl instances are configured to send 
        the same notification to the same notificationRecipientAddress, then 
        a separate notification message shall be sent for each such 
        NtfSubscriptionControl instance.

        A 'NtfSubscriptionControl' class optionally supports adding a sequence 
        number parameter to the notification header. For each  notification 
        sent from a 'NtfSubscriptionControl' instance to the configured 
        notification recipient, the sequence number is increased by one. 
        This allows the notification recipient to detect notifications lost or 
        reordered in transit. The sequence number sent last is reflected in 
        the 'lastSequenceNo' attribute. This allows the MnS consumer to check 
        if he missed notifications in situations where he did not receive 
        any notification for some time.

        The 'operationalState' attribute represents the operability of the 
        subscription. The 'availabilityStatus' further qualifies the 
        opertational state. Both attributes are set by the MnS producer.

        If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' 
        has no value the subscription process is fully operational and 
        notifications are forwarded to the subscribed consumer.

        If the 'operationalState' is set to 'ENABLED' and 'availabilityStatus' 
        is set to 'DEGRADED' the subscription process is degraded. There is 
        no guarantee that all notifications, that should be forwarded to the 
        notification recipient, are forwarded.

        If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' 
        is set to 'FAILED' the subscription process is not operational, and 
        no notifications are sent to the notification recipient.

        If the 'operationalState' is set to 'DISABLED' and 'availabilityStatus' 
        is set to 'DEPENDENCY' the subscription process itself has no problems 
        but some other process on which it depends such as downstream 
        processes in the event channel that feeds events into the subscription 
        process. As a result, events are not delivered to the subscription 
        process and no notifications are sent to the notification recipient.

        When the subscription process is disabled or degraded and becomes 
        fully operational again, the MnS producer sends- the related data node 
        tree change notifications to subscribed MnS consumers. The MnS consumer 
        may use the reception of these notifications as a trigger to synchronize 
        his data node tree with the data node tree on the MnS producer. 
        However, the state change notifications contain no information about 
        which part of the data node tree should be synchronized. For this 
        purpose the 'notifyDataNodeTreeSyncRecommended' (TS 28.532 [27]) and 
        'alarmListRebuilt' (TS 28.111 [58]) notifications are provided.

        Creation and deletion of NtfSubscriptionControl instances by MnS 
        consumers is optional; when not supported, the NtfSubscriptionControl 
        instances may be created and deleted by the system or be