1 module yes-o1-notify-pnf-registration {
3 namespace "urn:o-ran-sc:params:xml:ns:yang:yes-o1-notify-pnf-registration";
6 import yang-based-event-stream {
9 "wiki.opnfv.org/display/ves/VES+goes+YES";
14 "wiki.opnfv.org/display/ves/VES+goes+YES";
16 import ietf-inet-types {
19 "RFC 6991: YANG data types for Internet addresses and related
22 import ietf-yang-types {
25 "RFC 6991: Common YANG Data Types.";
29 "O-RAN Software Community";
33 "This module is inspired by VES 7.1.1 but uses YANG concepts and types to
34 describe the exchanged data format.
35 The module yes-o1-notify-pnf-registration is only required, if the
36 network function does not support NETCONF CALL HOME but RESTCONF
37 asynchronous messages.
39 Copyright 2022 highstreet technologies GmbH and others.
41 Licensed under the Apache License, Version 2.0 (the 'License');
42 you may not use this file except in compliance with the License.
43 You may obtain a copy of the License at
45 http://www.apache.org/licenses/LICENSE-2.0
47 Unless required by applicable law or agreed to in writing, software
48 distributed under the License is distributed on an 'AS IS' BASIS,
49 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
50 See the License for the specific language governing permissions and
51 limitations under the License.";
57 "ONAP SDN-R: wiki.onap.org/display/DW/SDN-R
58 VES: wiki.opnfv.org/display/ves/VES+Home
59 docs.onap.org/en/frankfurt/submodules/dcaegen2.git/docs/sections/services/ves-http
60 YES: wiki.opnfv.org/display/ves/VES+goes+YES
61 O-RAN Operations and Maintenance Interface Specification (O-RAN.WG10.O1-Interface.0-v07.00)
62 section 2.7.2.4 Operations and Notifications";
69 identity o1-notify-pnf-registration {
72 "Indicates, that the event body contains o1-notify-nf-registration
73 asynchron message context.";
80 grouping o1-notify-pnf-registration-grp {
81 // TODO align with ietf-hardware, ONAP AAI, ONF manufactured-thing
82 // Parameter Name S Information Type Comment
83 // objectClass M ManagedEntity.objectClass Class of the managed object, registering for service.
90 "The name of the object class describing a PNF in the context of
93 // objectInstance M ManagedEntity.objectInstance
94 // Instance of the managed object, registering for service.
95 leaf object-instance {
99 "Reference to the object representing the PNF.";
101 // notificationId M NotificationId Notification identifier as defined in ITU-T Rec. X. 733
102 leaf notification-identifier {
106 "An notification identifier of this event as defined in ITU-T Rec. X.733.";
108 "ITU-T Rec. X.733 - section 8.1.2.8.";
110 // notificationType M "o1notifyPnfRegistration"
111 leaf notification-type {
115 "Only the domain identity 'o1-notify-pnf-registration' is allowed.";
117 // eventTime M DateTime Time when the NF is sending the registration.
119 type yang:date-and-time;
122 "The earliest time aka epoch time associated with the event from
125 // systemDN M SystemDN DN of the MnS provider of the notification
126 leaf system-distinguished-name {
130 "Distinguished Name of the management service provider of the notification";
132 // o1SpecVersion M number Version of the O1 Specification defining the format of this PNF registration notification
133 leaf o1-specification-version {
139 "The version of the O1 Specification defining the format of this PNF registration notification";
141 // serialNumber M string 3GPP TS 28.632 [43] serialNumber = serial number of the unit
148 "The serial number of the network function.";
150 "3GPP TS 28.632 serialNumber";
152 // vendorName M string 3GPP TS 28.632 [43] vendorName = name of the NF vendor.
154 case vendor-private-enterprise-number {
158 "Network function vendor IANA private enterprise number.";
165 "Network function vendor name according to IANA Private Enterprise Numbers";
169 "The network function vendor can be identified by its name or by its
170 IANA private enterprise number (PEN)";
172 "IANA Private Enterprise Numbers
173 http://www.iana.org/assignments/enterprise-numbers/enterprise-numbers";
174 // leaf vendor-name {
180 // "The company name of manufacturer.";
182 // "3GPP TS 28.632 vendorName";
184 // oamV4IpAddress CM string IPv4 m-plane IP address to be used by the manager to contact the NF.
185 // oamV6IpAddress CM string IPv6 m-plane IP address to be used by the manager to contact the NF.
190 "The m-plane fully qualified domain name (host) or IP address to
191 be used by the manager to contact the PNF.";
193 "O-RAN Operations and Maintenance Interface Specification (O-RAN.WG10.O1-Interface.0-v07.00)
194 section 2.7.2.4 Operations and Notifications - oamV4IpAddress and oamV6IpAddress";
197 type inet:port-number;
200 "The port number the PNF listens for OAM commands..";
202 // macAddress O string MAC address of the OAM of the unit
204 type yang:mac-address;
206 "The MAC address of OAM interface of the network function.";
208 // unitFamily O string 3GPP TS 28.632 [43] vendorUnitFamilyType = general type of HW unit
214 "The general type of hardware.";
216 "3GPP TS 28.632 vendorUnitFamilyType";
218 // unitType O string 3GPP TS 28.632 [43] vendorUnitTypeNumber = vendor name for the unit
224 "Vendor name for the network function";
226 "3GPP TS 28.632 vendorUnitTypeNumber";
228 // modelNumber O string 3GPP TS 28.632 [43] versionNumber = version of the unit from the vendor
234 "Version of the network function from the vendor.";
236 "3GPP TS 28.632 versionNumber";
238 // softwareVersion O string 3GPP TS 28.632 [43] swName = software release name. This is the software provided by the vendor at onboarding to be run on this version of the NF and can contain multiple underlying software images.
239 leaf software-version {
244 "The active software version running on the network function.";
246 "3GPP TS 28.632 swName";
248 // restartReason O string Reason the NF restarted, if known
249 leaf restart-reason {
254 "The reason the network function restarted.";
256 // manufactureDate O string 3GPP TS 28.632 [43] dateOfManufacture = manufacture date of the unit in ISO 8601 format; e.g.,2016-04-23
257 leaf manufacture-date {
258 type yang:date-and-time;
260 "Manufacture date of the network function.";
262 // lastServiceDate O string 3GPP TS 28.632 [43] dateOfLastService = date of last service in ISO 8601 format; e.g., 2017-02-15
263 leaf last-service-date {
264 type yang:date-and-time;
266 "Date when the field operation stuff way on-side.";
268 // additionalFields O hashMap Additional registration fields if needed, provided as key-value pairs.
270 "An object class containing o1-notify-pnf-registration specific parameters.";
274 * Augmentation of YES
277 augment "/yes:event-history/yes:event" {
278 when "derived-from-or-self(/yes:event-history/yes:event/yes:header/yes:domain, 'ypr:o1-notify-pnf-registration')" {
280 "The event header must indicate 'o1-notify-pnf-registration'.";
282 if-feature "yes:event-history";
283 container o1-notify-pnf-registration {
284 uses o1-notify-pnf-registration-grp;
286 "A single object for specific parameters, used for the registration of
287 physical network functions (PNF).";
290 "Adds to YES the specifics of o1-notify-pnf-registration notifications.";
293 augment "/yes:yang-based-event-stream/yes:event" {
294 when "derived-from-or-self(/yes:yang-based-event-stream/yes:event/yes:header/yes:domain, 'ypr:o1-notify-pnf-registration')" {
296 "The event header must indicate 'o1-notify-pnf-registration'.";
298 container o1-notify-pnf-registration {
299 uses o1-notify-pnf-registration-grp;
301 "A single object for specific parameters, used for the registration of
302 physical network functions (PNF).";
305 "Adds to YES the specifics of o1-notify-pnf-registration notifications.";