1 module o-ran-supervision {
3 namespace "urn:o-ran:supervision:1.0";
4 prefix "o-ran-supervision";
6 import ietf-yang-types {
10 import o-ran-wg4-features {
14 import ietf-inet-types {
17 import ietf-netconf-monitoring {
22 import o-ran-usermgmt {
26 organization "O-RAN Alliance";
32 "This module defines the configuration data and supervision RPCs that are
33 used to detect loss M-Plane connectivity.
35 Copyright 2021 the O-RAN Alliance.
37 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
38 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
39 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
40 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
41 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
42 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
43 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
44 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
45 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
47 POSSIBILITY OF SUCH DAMAGE.
49 Redistribution and use in source and binary forms, with or without
50 modification, are permitted provided that the following conditions are met:
52 * Redistributions of source code must retain the above copyright notice,
53 this list of conditions and the above disclaimer.
54 * Redistributions in binary form must reproduce the above copyright notice,
55 this list of conditions and the above disclaimer in the documentation
56 and/or other materials provided with the distribution.
57 * Neither the Members of the O-RAN Alliance nor the names of its
58 contributors may be used to endorse or promote products derived from
59 this software without specific prior written permission.";
61 revision "2022-12-05" {
65 1) NETCONF session supervison with session id";
67 reference "ORAN-WG4.M.0-v11.00";
70 revision "2022-08-15" {
74 1) introduced SHARED-ORU-MULTI-ODU and SHARED-ORU-MULTI-OPERATOR features.";
76 reference "ORAN-WG4.M.0-v10.00";
79 revision "2021-12-01" {
83 1) typographical corrections in descriptions.";
85 reference "ORAN-WG4.M.0-v05.00";
88 revision "2021-03-22" {
92 1) typographical corrections in descriptions.
93 2) removed non-ACSII characters.";
95 reference "ORAN-WG4.M.0-v05.00";
98 revision "2020-12-10" {
102 1) added Event Producer-Collector supervision";
104 reference "ORAN-WG4.M.0-v05.00";
107 revision "2020-04-17" {
111 1) added output string to enable indication if config modification change has failed
112 2) corrected model description
113 3) removed erroneous text in notification description";
115 reference "ORAN-WG4.M.0-v03.00";
118 revision "2019-07-03" {
122 1) added leafs for CU plane monitoring
123 2) backward compatible changes to introduce groupings";
125 reference "ORAN-WG4.M.0-v01.00";
128 revision "2019-02-04" {
132 1) imported model from xRAN
133 2) changed namespace and reference from xran to o-ran";
135 reference "ORAN-WG4.M.0-v01.00";
141 typedef event-collector-id {
143 type inet:ip-address;
146 description "An Event Collector identifier";
149 grouping watchdog-input {
150 description "a watchdog input grouping";
151 leaf supervision-notification-interval {
156 "The interval in seconds at which supervision notifications are sent.
157 If not specified the default value of 60 seconds shall apply.";
159 leaf guard-timer-overhead {
164 "This is overhead added to the supervision timer used to calculate the
165 supervision watchdog timer. i.e.,
167 supervision timer = notification timer + guard-timer-overhead
169 If not specified the default value of 10 seconds shall apply.
171 Failure to send this RPC again within the timeout sets the radio into
172 'loss of supervision' state.
174 NOTE - The supervision timer MUST not be less that the confirmed
175 timeout timer (when the feature is supported).
177 This type of constraint (using an RPC's input) cannot be formally
182 grouping watchdog-output {
183 description "a watchdog output grouping";
184 leaf next-update-at {
185 type yang:date-and-time;
187 "Indicates the time when the next supervision notification is expected.";
194 "An optional error message, e.g., used when the RPC input attempts to
195 modify a locked running configuration.
197 Take note, the supervision-notification-interval and guard-timer-overhead
198 have default values and so their values can be modified even when a leaf is
199 not included in the RPC input.";
203 grouping supervision-notification-data {
204 description "a supervision notification data grouping";
206 if-feature or-feat:SUPERVISION-WITH-SESSION-ID;
208 path "/ncm:netconf-state/ncm:sessions/ncm:session/ncm:session-id";
212 "This value uniquely identifies the NETCONF session in an O-RU. The value is conveyed to NETCONF client in hello message.
213 the session-id for the netconf session is sent as part of each supervision-notification notification.
214 and may be used for create-subscription to filter the relevant
219 grouping supervision-group {
220 description "a supervision grouping";
221 container cu-plane-monitoring {
223 "Indicates O-RU supports timer based cu-plane monitoring interval. If
224 this container is NOT present, the operation of the O-RU is undefined.";
225 description "container describing operation of CU plane monitoring";
227 leaf configured-cu-monitoring-interval {
234 "This value corresponds to the configured value of the timer used by
235 the O-RU to monitor the C/U plane connection.
237 A value of 0 means that the O-RU's shall disable its CU plane
240 A NETCONF client should configure the value according to the
241 configuration of the PHY layer and/or C/U plane section types
242 supported and/or any fault tolerant operation. For example,
244 i) when operating with an O-DU supporting non-LAA LTE, this value can
245 be configured to a value according to the repetition time of
246 transmitted reference symbols across the fronthaul interface
247 ii) when operating with an O-DU supporting C-Plane Section Type 0,
248 this value can configured to a value according to the minimum
249 repetition interval of section type 0.
250 iii) when operating with an O-DU supporting fault tolerant operation,
251 this value can be configured according to the fault tolerant heartbeat
255 container event-collector-monitoring {
256 if-feature "or-feat:NON-PERSISTENT-MPLANE";
257 description "container describing operation of Event Collector monitoring";
259 leaf heartbeat-interval {
263 description "the heartbeat interval";
266 leaf-list heartbeat-recipient-id {
267 type event-collector-id;
269 "A configured Event collector identity, to which the O-RU shall send heartbeat notifications";
272 container per-odu-monitoring {
273 if-feature "or-feat:SHARED-ORU-MULTI-ODU or or-feat:SHARED-ORU-MULTI-OPERATOR";
275 "Indicates at least one of the O-RU Controllers intends to operate per O-DU supervision.";
276 description "container describing per-odu monitoring parameters";
279 if-feature or-feat:SHARED-ORU-MULTI-ODU;
282 "an optional list of o-du identities that an O-RU controller intends to use with per
283 O-DU supervision in a single operator envrionment. The odu-id values are used to match
284 values received in the supervision-watchdog-reset rpc together with values configured in
285 o-ran-uplane-conf based configuration.
286 The O-RU does not further interpret the specific value of odu-id.";
289 description "an o-du identity ";
293 list sro-ids-and-odu-ids {
294 if-feature "or-feat:SHARED-ORU-MULTI-ODU and or-feat:SHARED-ORU-MULTI-OPERATOR";
297 "an optional list of sro and o-du identities that an O-RU controller intends to use with per
298 O-DU supervision in a multi-operator envrionment. The sro-id and odu-id values are used to match
299 values received in the supervision-watchdog-reset rpc together with values configured in
300 o-ran-uplane-conf based configuration.
301 The O-RU does not further interpret the specific value of sro-id or odu-id.";
304 description "an o-du identity ";
308 description "an sro identity ";
314 container supervision {
315 description "top leval supervision container";
316 uses supervision-group;
317 // other WG specific monitoring containers follow here
320 rpc supervision-watchdog-reset {
322 "rpc to reset the watchdog timer";
327 if-feature "or-feat:SHARED-ORU-MULTI-ODU or or-feat:SHARED-ORU-MULTI-OPERATOR";
329 "an optional container that defines the context associated with the
330 watchdog reset. Context can be used in supervision operations with
334 if-feature or-feat:SHARED-ORU-MULTI-ODU;
337 "an optional o-du identity associated with this
338 supervision watchdog operation. If an odu-id received is not configured
339 in the list of tx-array-carriers or list of rx-array carriers, this leaf is ignored.
340 When it does correspond to an odu-id listed in tx-array-carriers and/or
341 rx-array-carriers, the odu-id is used in the operatrion of per O-DU supervision.";
345 if-feature or-feat:SHARED-ORU-MULTI-OPERATOR;
347 path "/or-user:users/or-user:user/or-user:sro-id";
350 "The shared resource identity associated with the current NETCONF session.
351 A supervision-watchdog-reset RPC received from NETCONF client
352 with user-group privileges of 'carrier' MUST be rejected
353 if it is received without a sro-id leaf.
354 In other scenarios, this leaf is optional and ignored by the O-RU.";
360 uses watchdog-output;
364 notification supervision-notification {
366 "Notification to indicate that NETCONF management interface is up.";
367 uses supervision-notification-data;