Add subscription management to o-ran-sc-du-hello-world
[scp/oam/modeling.git] / data-model / yang / working / o-ran-sc / o-ran-du / o-ran-sc-du-hello-world.yang
index 29365eb..d0526a3 100644 (file)
@@ -3,16 +3,23 @@ module o-ran-sc-du-hello-world {
   namespace "urn:o-ran-sc:yang:o-ran-sc-du-hello-world";
   prefix duhw;
 
+  import nts-common {
+    prefix ntsc;
+  }
+
   organization
     "O-RAN Software Community";
   contact
     "www.o-ran-sc.org";
   description
     "This module contains the O-RAN Software Community Distributed Unit
-     API description. This API data model describes Cell and Radio Resource
-     Management (RRM) parameters defined by 3GPP in the context
-     of the O-RAN Software Community E-Release and its
-     'Slice Resource Quota Provisioning and Assurance' use case.
+     API description. This API data model describes ...
+     
+     * Cell and Radio Resource Management (RRM) parameters defined by 3GPP in7
+       the context of the O-RAN Software Community E-Release and its
+       'Slice Resource Quota Provisioning and Assurance' use case.
+
+     * VES Subscription parameters according to OPNFV and ONAP.
 
      The module is inspired by 3GPP TS 28.541 5G Network Resource Model (NRM).
      The intent is to reduce the implementation efforts. It is not intended
@@ -37,7 +44,22 @@ module o-ran-sc-du-hello-world {
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.";
+  reference 
+    "3GPP TS 28.541 5G Network Resource Model (NRM)
+     OPNFV VES - https://wiki.opnfv.org/display/ves";
 
+  revision 2021-10-20 {
+    description
+      "Subscription management added.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-233";
+  }
+  revision 2021-10-02 {
+    description
+      "Updates based on the RSAC use case descriptions of O-RAN-SC E-Release.";
+    reference
+      "https://jira.o-ran-sc.org/browse/OAM-230";
+  }
   revision 2021-10-01 {
     description
       "Updates based on the RSAC use case descriptions of O-RAN-SC E-Release.";
@@ -58,7 +80,85 @@ module o-ran-sc-du-hello-world {
       "https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=20878423";
   }
 
-  // TypeDefinitions
+  // Features
+
+  feature distributed-unit {
+    description
+      "This feature indicates that the network-function implements
+       an O-RAN distributed function.";
+    reference
+      "O-RAN.WG1.O-RAN-Architecture-Description-v04.00 - 4.3.5 O-DU";
+  }
+
+  feature subscription-management {
+    description
+      "This feature indicates that the network-function implements
+       a subscription-function for sending notifications to a consumer.";
+  }
+
+  // Type definitions
+
+  typedef administrative-state {
+    type enumeration {
+      enum locked {
+        value 0;
+        description
+          "The resource is administratively prohibited from performing
+           services for its users.";
+      }
+      enum unlocked {
+        value 1;
+        description
+          "The resource is administratively permitted to perform
+           services for its users. This is independent of its inherent
+           operability.";
+      }
+      enum shutting-down {
+        value 2;
+        description
+          "Use of the resource is administratively permitted to
+           existing instances of use only. While the system remains in
+           the shutting down state the manager or the managed element
+           may at any time cause the resource to transition to the
+           locked state.";
+      }
+    }
+    description
+      "The administration of managed objects operates independently of the
+       operability and usage of managed objects and is described by the
+       administrative state attribute, which has three values. These are values
+       are called locked, unlocked and shutting down.";
+    reference
+      "3GPP TS 28.625 and ITU-T X.731 / ISO/IEC 10164-2";
+  }
+
+  typedef cell-state {
+    type enumeration {
+      enum idle {
+        description
+          "The cell resources are not in use.";
+      }
+      enum inactive {
+        description
+          "The cell resources shall not serve UEs.";
+        reference
+          "3GPP TS 38.401";
+      }
+      enum active {
+        description
+          "The cell resources shall be able to serve UEs.";
+        reference
+          "3GPP TS 38.401";
+      }
+    }
+    description
+      "The cell state indicates the usage state of the cell instance.
+       It describes whether the cell is not currently in use (idle),
+       or currently in use but not configured to carry traffic (inactive)
+       or is currently in use and is configured to carry traffic (active).";
+    reference
+      "3GPP TS 28.541";
+  }
 
   typedef connection-status {
     type enumeration {
@@ -94,6 +194,46 @@ module o-ran-sc-du-hello-world {
       "A non extensible enumeration representing a connection status.";
   }
 
+  typedef distinguished-name {
+    type string {
+      pattern '([a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])'
+            + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,])*'
+            + '(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?'
+            + '[,\+])*[a-zA-Z][a-zA-Z0-9-]*=(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+,# ])'
+            + '((\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})'
+            + '|[^\\><;"+,])*(\\( |#|\\|>|<|;|"|\+|,|[a-fA-F0-9]{2})|[^\\><;"+, ]))?';
+    }
+    description
+      "The type definition for distinguished names according to RFC 4512.";
+    reference
+      "RFC 4512 Lightweight Directory Access Protocol (LDAP):
+                Directory Information Models
+       https://datatracker.ietf.org/doc/html/rfc4512#section-2.3.2";
+  }
+
+  typedef mobile-country-code-type {
+    type string {
+      pattern '^[02-79][0-9][0-9]$';
+    }
+    description
+      "The mobile country code consists of three decimal digits,
+       The first digit of the mobile country code identifies the geographic
+       region (the digits 1 and 8 are not used):";
+    reference
+      "3GPP TS 23.003 subclause 2.2 and 12.1";
+  }
+
+  typedef mobile-network-code-type {
+    type string {
+      pattern '^[0-9]{2,3}$';
+    }
+    description
+      "The mobile network code consists of two or three
+       decimal digits (for example: MNC of 001 is not the same as MNC of 01)";
+    reference
+      "3GPP TS 23.003 subclause 2.2 and 12.1";
+  }
+
   typedef o-ru-reference {
     type leafref {
       path "/network-function/du-to-ru-connection/name";
@@ -102,9 +242,280 @@ module o-ran-sc-du-hello-world {
       "A reference to a remote network function representing an O-RU.";
   }
 
+  typedef operational-state {
+    type enumeration {
+      enum disabled {
+        value 0;
+        description
+          "The resource is totally inoperable.";
+        reference
+          "CCITT Rec. X.731 (1992 E) - ISO/IEC 10164-2 : 1993 (E)
+           Chapter 7.1.1.2 Disable";
+      }
+      enum enabled {
+        value 1;
+        description
+          "The resource is partially or fully operable.";
+        reference
+          "CCITT Rec. X.731 (1992 E) - ISO/IEC 10164-2 : 1993 (E)
+           Chapter 7.1.1.1 Enable";
+      }
+    }
+    description
+      "The operability of a resource is described by the operational state
+       attribute, which has two possible values: disabled and enabled.";
+    reference
+      "3GPP TS 28.625 and ITU-T X.731 / ISO/IEC 10164-2";
+  }
+
+  typedef resource-type {
+    type enumeration {
+      enum prb {
+        description
+          "Physical Resource Block (PRB)
+           for a cell of a distributed unit.";
+      }
+      enum prb-ul {
+        description
+          "Physical Resource Block (PRB) uplink
+           for a cell of a distributed unit.";
+      }
+      enum prb-dl {
+        description
+          "Physical Resource Block (PRB) downlink
+           for a cell of a distributed unit.";
+      }
+      enum rrc {
+        description
+          "Radio Resource Control (RRC)
+           for a cell of a centralized unit.";
+      }
+      enum drb {
+        description
+          "Data radio bearer (DRB)
+           for a user plane function of a centralized unit.";
+      }
+    }
+    description
+      "A type describing the resource for radio-resource-management.";
+    reference
+      "3GPP TS 28.541 V17.34.0 (2021-0609)";
+  }
+
+  typedef tracking-area-code-type {
+    type uint32 {
+      range "0..16777215";
+    }
+    description
+      "The type definition for a Tracking Area Code.";
+    reference
+      "3GPP TS 23.003 clause 19.4.2.3";
+  }
+
   // Abstract object classes - groupings
 
+  grouping cell-grp {
+    description
+      "Represents the cell object class.";
+    reference
+      "3GPP TS 28.541
+       https://forge.3gpp.org/rep/sa5/MnS/blob/Rel17-draft/yang-models/_3gpp-nr-nrm-cell.yang
+       line 40";
+    leaf local-id {
+      type uint16 {
+        range "0..16383";
+      }
+      mandatory true;
+      description
+        "Identifies a cell within a o-ran-sc-du-function. Together with the
+         corresponding o-ran-sc-du-function identifier in forms the cell
+         identity.";
+      reference
+        "NCI in 3GPP TS 38.300";
+    }
+    leaf traffic-state {
+      type cell-state;
+      config false;
+      description
+        "Indicates whether the corresponding entity
+         - is not currently in use (idle), or
+         - currently in use but not configured to carry traffic (inactive), or
+         - currently in use and is configured to carry traffic (active).";
+    }
+    list public-land-mobile-networks {
+      key "mobile-country-code mobile-network-code slice-differentiator slice-service-type";
+      min-elements 1;
+      ordered-by user;
+      description
+        "The public-land-mobile-networks is a list of
+         public-land-mobile-network data type.
+         It defines which public-land-mobile-networks that can be served by
+         the cell, and which S-NSSAIs that can be supported by the cell for
+         corresponding public-land-mobile-network in case of network slicing
+         feature is supported. The public-land-mobile-network-id of the
+         first entry of the list is the public-land-mobile-network-id used to
+         construct the cell-global-identity.
+         If the public-land-mobile-network is associated with
+         a radio-resource-management-policy-ratio, then the settings of the
+         radio-resource-management-policy-ratio MUST be considered by
+         the distributed function implementation for this cell. ";
+      uses public-land-mobile-network;
+    }
+    leaf physical-cell-id {
+      type uint16 {
+        range "0..1007";
+      }
+      mandatory true;
+      description
+        "The Physical Cell Identity (PCI) of the cell.";
+      reference
+        "3GPP TS 36.211";
+    }
+    leaf tracking-area-code {
+      type tracking-area-code-type;
+      description
+        "The common 5GS Tracking Area Code for the public-land-mobile-networks.";
+      reference
+        "3GPP TS 23.003, 3GPP TS 38.473";
+    }
+    container absolute-radio-frequency-channel-number {
+      description
+        "This container groups parameters related to
+         absolute radio frequency channel number (ARFCN).";
+      leaf downlink {
+        type int32;
+        mandatory true;
+        description
+          "Absolute Radio Frequency Channel Number (ARFCN) for
+           downlink.";
+        reference
+          "3GPP TS 38.104";
+      }
+      leaf uplink {
+        type int32;
+        description
+          "Absolute Radio Frequency Channel Number (ARFCN) for
+           uplink.";
+        reference
+          "3GPP TS 38.104";
+      }
+      leaf supplementary-uplink {
+        type int32;
+        description
+          "Absolute Radio Frequency Channel Number (ARFCN) for
+           supplementary uplink.";
+        reference
+          "3GPP TS 38.104";
+      }
+    }
+    container base-station-channel-bandwidth {
+      description
+        "This container groups parameters related to
+         base station channel bandwidth.";
+      leaf downlink {
+        type uint32;
+        units "MHz";
+        description
+          "Base station channel bandwidth for downlink.";
+        reference
+          "3GPP TS 38.104";
+      }
+      leaf uplink {
+        type uint32;
+        units "MHz";
+        description
+          "Base station channel bandwidth for uplink.";
+        reference
+          "3GPP TS 38.104";
+      }
+      leaf supplementary-uplink {
+        type uint32;
+        units "MHz";
+        description
+          "Base station channel bandwidth for supplementary uplink.";
+        reference
+          "3GPP TS 38.104";
+      }
+    }
+    container synchronization-signal-block {
+      description
+        "This container groups parameters related to Synchronization Signal
+         Block (SSB).";
+      leaf frequency-channel-number {
+        type uint32 {
+          range "0..3279165";
+        }
+        mandatory true;
+        description
+          "Indicates cell defining Synchronization Signal Block (SSB) frequency
+           domain position.
+           Frequency (in terms of NR-ARFCN) of the cell defining SSB
+           transmission.
+           The frequency identifies the position of resource element RE=#0
+           (subcarrier #0) of resource block RB#10 of the SSB. The frequency
+           must be positioned on the global frequency raster, as defined in
+           3GPP TS 38.101-1, and within base station channel bandwidth down
+           link.";
+        reference
+          "3GPP TS 38.101-1";
+      }
+      leaf periodicity {
+        type uint8 {
+          range "5 | 10 | 20 | 40 | 80 | 160";
+        }
+        units "ms";
+        mandatory true;
+        description
+          "Indicates cell defined Synchronization Signal Block (SSB)
+           periodicity. The SSB periodicity is used for the rate matching
+           purpose.";
+      }
+      leaf subcarrier-spacing {
+        type uint8 {
+          range "15 | 30 | 120 | 240";
+        }
+        units "kHz";
+        mandatory true;
+        description
+          "Subcarrier spacing of Synchronization Signal Block (SSB).
+           Only the values 15 kHz or 30 kHz
+           (< 6 GHz), 120 kHz or 240 kHz (> 6 GHz) are applicable.";
+        reference
+          "3GPP TS 38.211";
+      }
+      leaf offset {
+        type uint8 {
+          range "0..159";
+        }
+        units "ms";
+        mandatory true;
+        description
+          "Indicates cell defining Synchronization Signal Block (SSB) time
+           domain position. Defined as the offset of the measurement window,
+           in which to receive Synchronization Signal/Physical Broadcast Channel
+           (SS/PBCH) blocks, where allowed values depend on the
+           Synchronization Signal Block periodicity.
+           Rule:
+             synchronization-signal-block-offset is lower than
+             synchronization-signal-block-periodicity).";
+      }
+      leaf duration {
+        type uint8 {
+          range "1..5";
+        }
+        units "ms";
+        mandatory true;
+        description
+          "Duration of the measurement window in which to receive
+           Synchronization Signal/Physical Broadcast Channel (SS/PBCH) blocks.";
+        reference
+          "3GPP TS 38.213";
+      }
+    }
+  }
+
   grouping connection-grp {
+    status deprecated;
     description
       "An abstract object class representing a connection or link to an
        external component.";
@@ -193,7 +604,63 @@ module o-ran-sc-du-hello-world {
     }
   }
 
+  grouping distributed-unit-function {
+    description
+      "A simplified and reduced object class for a DU function.";
+    uses top-grp;
+    // uses mf3gpp:ManagedFunctionContainedClasses;
+    list cell {
+      key "id";
+      description
+        "Represents the cell and its configuration management.";
+      reference
+        "3GPP TS 28.541
+         https://forge.3gpp.org/rep/sa5/MnS/blob/Rel17-draft/yang-models/_3gpp-nr-nrm-cell.yang
+         line 215";
+      uses top-grp;
+      uses cell-grp;
+    }
+    list radio-resource-management-policy-ratio {
+      key "id";
+      description
+        "The radio-resource-management-policy-ratio object class is one
+         realization of a radio-resource-management-policy object class.
+         This Radio Resource Management framework allows
+         adding new policies by inheriting from the
+         abstract radio-resource-management-policy object class.";
+      uses top-grp;
+      uses radio-resource-management-policy-ratio-grp;
+    }
+  }
+
+  grouping network-function {
+    description
+      "Represents telecommunications equipment or
+       TMN entities within the telecommunications network providing support
+       and/or service to the subscriber.";
+    leaf distinguished-name-prefix {
+      type distinguished-name;
+      description
+        "Provides naming context that allows the Managed
+         Elements to be partitioned into logical domains.
+         A Distinguished Name(DN) is defined by 3GPP TS 32.300,
+         which splits the DN into a DN Prefix and Local DN";
+    }
+    leaf location-name {
+      type string {
+        length "0..1023";
+      }
+      config false;
+      description
+        "The physical location (e.g. an address) of an entity
+         represented by a (derivative of) ManagedElement_. It may contain no
+         information to support the case where the derivative of
+         ManagedElement needs to represent a distributed multi-location NE.";
+    }
+  }
+
   grouping network-function-grp {
+    status deprecated;
     description
       "An abstract object class grouping the O-RAN-SC-DU parameters with
        focus on RSAC D-release Closed-Loop use case.";
@@ -201,7 +668,140 @@ module o-ran-sc-du-hello-world {
       key "name";
       description
         "A list of connection objects to O-RAN-SC radio units.";
-      uses connection-grp;
+      uses connection-grp {
+        status deprecated;
+      }
+    }
+  }
+
+  grouping public-land-mobile-network-id {
+    description
+      "The identity of a public land mobile network as complex type
+       constructed of two codes:
+       - mobile country code (MCC) and
+       - the mobile network code (MNC).";
+    reference
+      "3GPP TS 23.658
+       3GPP TS 32.101
+       3GPP TR 21.905";
+    leaf mobile-country-code {
+      type mobile-country-code-type;
+      mandatory true;
+      description
+        "The fist part of the public-land-mobile-network-id";
+    }
+    leaf mobile-network-code {
+      type mobile-network-code-type;
+      mandatory true;
+      description
+        "The second part of the public-land-mobile-network-id";
+    }
+  }
+
+  grouping public-land-mobile-network {
+    description
+      "The public-land-mobile-network data type define a S-NSSAI member
+       in a specific public-land-mobile-network-id, and it have two attributes
+       public-land-mobile-network-id and S-NSSAI (public-land-mobile-network-id,
+       S-NSSAI).
+       The public-land-mobile-network-id represents a data type that is
+       comprised of mcc mobile country code) and mnc (mobile network code),
+       (See TS 23.003 subclause 2.2 and 12.1) and S-NSSAI represents an
+       data type, that is comprised of an slice-service-type
+       (Slice/Service type) and an optional slice-differentiator field.";
+    uses public-land-mobile-network-id;
+    uses single-network-slice-selection-assistance-info;
+  }
+
+  grouping radio-resource-management-policy-grp {
+    description
+      "This object class represents the properties of an abstract
+       radio-resource-management-policy. The radio-resource-management-policy
+       object class needs to be subclassed to be instantiated.
+       It defines two attributes apart from those inherited from
+       Top object class:
+       - the resource-type attribute defines type of resource (PRB, RRC
+       connected users, DRB usage etc.) and
+       - the radio-resource-management-policy-members attribute
+       defines the radio-resource-management-policy-members that are subject
+       to this policy.
+       An Radio Resource Management resource (defined in resource-type
+       attribute) is located in cell or distributed-unit-function.
+       The radio-resource-management-policy-ratio object class is one
+       realization of a radio-resource-management-policy object class.
+       This Radio Resource Management framework allows adding new
+       policies by inheriting from the abstract radio-resource-management-policy
+       object class.";
+    leaf resource-type {
+      type resource-type;
+      mandatory true;
+      description
+        "The resource-type attribute defines type of resource that is
+         subject to policy.";
+    }
+    list radio-resource-management-policy-members {
+      key "mobile-country-code mobile-network-code slice-differentiator slice-service-type";
+      min-elements 1;
+      description
+        "It represents the list of radio-resource-management-policy-members
+         that the managed object is supporting.
+         A radio-resource-management-policy-member <<dataType>> include
+         the public-land-mobile-network-identifier <<dataType>> and
+         S-NSSAI <<dataType>>.";
+      uses public-land-mobile-network;
+    }
+  }
+
+  grouping radio-resource-management-policy-ratio-grp {
+    description
+      "Represents the radio-resource-management-policy-ratio concrete
+       object class.";
+    uses radio-resource-management-policy-grp;
+    leaf radio-resource-management-policy-max-ratio {
+      type uint8 {
+        range "0..100";
+      }
+      units "%";
+      default "100";
+      description
+        "This attribute specifies the maximum percentage of radio resources that
+         can be used by the associated
+         radio-resource-management-policy-members.
+         The maximum percentage of radio resource include at least one of
+         the shared resources, prioritized resources and dedicated resources.
+         The sum of the radio-resource-management-policy-max-ratio values
+         assigned to all radio-resource-management-policy-ratio(s)
+         name-contained by same ManagedEntity can be greater that 100.";
+    }
+    leaf radio-resource-management-policy-min-ratio {
+      type uint8 {
+        range "0..100";
+      }
+      units "percent";
+      default "0";
+      description
+        "This attribute specifies the minimum percentage of radio resources that
+         can be used by the associated
+         radio-resource-management-policy-members.
+         The minimum percentage of radio resources including at least one of
+         prioritized resources and dedicated resources. The sum of the
+         radio-resource-management-policy-min-ratio values assigned to all
+         radio-resource-management-policy-ratios
+         name-contained by same ManagedEntity shall be less or equal 100.";
+    }
+    leaf radio-resource-management-policy-dedicated-ratio {
+      type uint8 {
+        range "0..100";
+      }
+      units "percent";
+      default "0";
+      description
+        "This attribute specifies the percentage of radio resources that
+         dedicated used by the associated
+         radio-resource-management-policy-members.
+         The sum of the radio-resource-management-policy-dedicated-ratio values
+         assigned to all radio-resource-management-policy-ratios
+         name-contained by same ManagedEntity shall be less or equal 100.";
     }
   }
 
@@ -243,19 +843,111 @@ module o-ran-sc-du-hello-world {
     }
   }
 
+  grouping single-network-slice-selection-assistance-info {
+    description
+      "Single Network Slice Selection Assistance Information (S-NSSAI)";
+    reference
+      "3GPP TS 23.003";
+    leaf slice-differentiator {
+      type uint32 {
+        range "0..16777215";
+      }
+      description
+        "Slice Differentiator can be used to identify and tag a slice.
+         If not needed, the value can be set to the value 16777215.";
+      reference
+        "3GPP TS 23.003";
+    }
+    leaf slice-service-type {
+      type uint8;
+      description
+        "Slice/Service Type as defined in 3GPP TS 23.501.";
+      reference
+        "3GPP TS 23.501";
+    }
+  }
+
+  grouping top-grp {
+    description
+      "Ane abstract class supplying a naming attribute.";
+    reference
+      "3GPP TS 28.620";
+    leaf id {
+      type string;
+      mandatory true;
+      description
+        "Key leaf (namingAttribute) for a class/list.
+         Should be used as a key leaf for lists representing
+         stage 2 classes.";
+      reference
+        "3GPP TS 32.300 Name convention for managed objects";
+    }
+    leaf administrative-state {
+      type administrative-state;
+      default "locked";
+      description
+        "Administrative state of an object. Indicates the
+         permission to use or prohibition against the object, imposed
+         through the OAM services.";
+    }
+    leaf operational-state {
+      type operational-state;
+      config false;
+      mandatory true;
+      description
+        "Operational state of the object. Indicates
+         whether the associated resource is installed and partially or fully
+         operable (enabled) or the associated resource is not installed or
+         not operable (disabled).";
+    }
+    leaf user-label {
+      type string {
+        length "0..255";
+      }
+      description
+        "A user defined label of the object. There is no function associated to
+         the user label.
+         However, the network function stores the value persistently.";
+    }
+  }
   // Data nodes
 
   container network-function {
+    presence "network-function";
     description
       "The root container for the configuration and operational data.
-       The object implements the 'network-function-grp'";
-    uses network-function-grp;
+       The object class would be called by 3GPP 'ManagedElement' and by
+       ONF 'ControlConstruct'.";
+    uses top-grp;
+    uses network-function;
+    list distributed-unit-functions {
+      if-feature "distributed-unit";
+      key "id";
+      description
+        "Represents the logical function distributed unit.";
+      reference
+        "3GPP TS 28.541";
+      uses distributed-unit-function;
+    }
+    list subscription-streams {
+      if-feature "subscription-management";
+      key "id";
+      description
+        "The list represents all streams to a consumer. To subscribe for 
+         events an entry in this list should be created. To unsubscribe the
+         corresponding entry must be deleted.";
+      uses top-grp;
+      uses ntsc:ves-endpoint-g;
+    }
+    uses network-function-grp {
+      status deprecated;
+    }
   }
 
   // Remote procedure calls - actions on root level
 
   rpc connect {
-    status deprecated;
+    status obsolete;
     description
       "An action to establish the connection to a remote network function.";
     input {
@@ -273,7 +965,7 @@ module o-ran-sc-du-hello-world {
   }
 
   rpc disconnect {
-    status deprecated;
+    status obsolete;
     description
       "An action to destroy the connection to a remote network function.";
     input {