Add nodes, function and protocols for N1, N2 and N3 interfacing
[scp/oam/modeling.git] / data-model / yang / working / o-ran-sc / o-ran-sc-topology / o-ran-sc-topology-common.yang
1 module o-ran-sc-topology-common {
2   yang-version 1.1;
3   namespace "urn:o-ran-sc:yang:o-ran-sc-topology-common:1.0";
4   prefix osctc;
5
6   import ietf-interfaces {
7     prefix if;
8   }
9   import tapi-common {
10     prefix tapi-common;
11   }
12
13   organization
14     "O-RAN Software Community";
15   contact
16     "www.o-ran.org";
17   description
18     "This module contains YANG definitions for the O-RAN Topology augmentation
19      of TAPI Topology used as network model.
20
21      Copyright 2022 the O-RAN Software Community.
22
23      Licensed under the Apache License, Version 2.0 (the 'License');
24      you may not use this file except in compliance with the License.
25      You may obtain a copy of the License at
26
27      http://www.apache.org/licenses/LICENSE-2.0
28
29      Unless required by applicable law or agreed to in writing, software
30      distributed under the License is distributed on an 'AS IS' BASIS,
31      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32      See the License for the specific language governing permissions and
33      limitations under the License.";
34
35   revision 2022-03-06 {
36     description
37       "Initial revision";
38     reference
39       "O-RAN-SC: https://jira.o-ran-sc.org/browse/OAM-255";
40   }
41   revision 2022-02-05 {
42     description
43       "Initial revision";
44     reference
45       "O-RAN-SC: https://jira.o-ran-sc.org/browse/OAM-248
46        O-RAN.WG1.O-RAN-Architecture-Description
47        Chapter: 1.3.1\tDefinitions";
48   }
49
50   // O-RAN functional identity types
51
52   identity function-type {
53     description
54       "Base identity as abstract function type for by O-RAN Alliance and others
55        entities.
56        An unique identification of a (network) function.
57
58        This identity is abstract and MUST NOT be used for alarms.";
59     reference
60       "O-RAN.WG1.O-RAN-Architecture-Description
61        Chapter: 1.3.1\tDefinitions
62        https://jira.o-ran-sc.org/browse/OAM-248";
63   }
64
65   identity smo {
66     base function-type;
67     description
68       "An identity corresponding to an
69        O-RAN Service Management and Orchestration Function (SMO).";
70   }
71
72   identity o-cloud {
73     base function-type;
74     description
75       "An identity corresponding to an O-RAN Cloud component (O-Cloud).";
76   }
77
78   identity non-rt-ric {
79     base function-type;
80     description
81       "An identity corresponding to an
82        O-RAN Service Management and Orchestration SMO component corresponding to
83        a Non-real-time RAN Intelligent Controller Function (Near-RT-RIC).";
84   }
85
86   identity oam-controller {
87     base function-type;
88     description
89       "An identity corresponding to an
90        O-RAN Service Management and Orchestration SMO component corresponding to
91        an Operation and Maintenance Controller Controller Function
92        (OAM Controller).";
93   }
94
95   identity ves-collector {
96     base function-type;
97     description
98       "An identity corresponding to an
99        O-RAN Service Management and Orchestration SMO component corresponding to
100        an (Virtual) Event Streaming Collector Function
101        (VES Collector).";
102   }
103
104   identity message-router {
105     base function-type;
106     description
107       "An identity corresponding to an
108        O-RAN Service Management and Orchestration SMO component corresponding to
109        Message Router Function (MR).";
110   }
111
112   identity transport-node {
113     base function-type;
114     description
115       "An identity corresponding to a Transport Node Function
116        (such as  Transponders, Muxponders, ROADM, Wavelength Selected Switch,
117        Optical Amplifier, Optical Terminal, Optical Repeater, Optical Filter,
118        Optical Multiplexer, Microwave Terminal, Carrier Ethernet Routers, ... .";
119   }
120
121   identity fronthaul-gateway {
122     base function-type;
123     description
124       "An identity corresponding to an O-RAN Fronthaul Gateway Function.";
125   }
126
127   identity fronthaul-multiplexer {
128     base function-type;
129     description
130       "An identity corresponding to an O-RAN Fronthaul Multiplexer Function.";
131   }
132
133   identity access-and-mobility-management-function {
134     base function-type;
135     description
136       "An identity corresponding to a 3GPP 5G-Core Access and mobility Management Function (AMF).";
137   }
138
139   identity user-plane-function {
140     base function-type;
141     description
142       "An identity corresponding to a3GPP 5G-Core User Plane Function (UPF).";
143   }
144
145   identity near-rt-ric {
146     base function-type;
147     description
148       "An identity corresponding to an O-RAN Near real-time RAN intelligent
149        controller Function (Near-RT-RIC).";
150   }
151
152   identity managed-application {
153     base function-type;
154     description
155       "An identity corresponding to an O-RAN Managed Application Function (MA),
156        also called 'xApp'.";
157   }
158
159   identity o-cu {
160     base function-type;
161     description
162       "An identity corresponding to an O-RAN Central Unit Functions.";
163   }
164
165   identity o-cu-up {
166     base function-type;
167     description
168       "An identity corresponding to an O-RAN Central Unit User Plane Function.";
169   }
170
171   identity o-cu-cp {
172     base function-type;
173     description
174       "An identity corresponding to an O-RAN Central Unit Control Plane
175        Function.";
176   }
177
178   identity o-du {
179     base function-type;
180     description
181       "An identity corresponding to an O-RAN Distributed Unit Function.";
182   }
183
184   identity o-ru {
185     base function-type;
186     description
187       "An identity corresponding to an O-RAN Radio Unit Function.";
188   }
189
190   identity o-enb {
191     base function-type;
192     description
193       "An identity corresponding to an O-RAN E-UTRAN Node B Function.
194        E-UTRAN: evolved UMTS Terrestrial Radio Access";
195   }
196
197   identity user-equipment {
198     base function-type;
199     description
200       "An identity corresponding to an User Equipment Function.";
201   }
202
203   identity o-cloud-ims {
204     base function-type;
205     description
206       "An identity corresponding to an Infrastructure Management Service
207        Function (IMS).";
208   }
209
210   identity o-cloud-dms {
211     base function-type;
212     description
213       "An identity corresponding to a
214        Deployment Management Service Function (DMS).";
215   }
216
217   // O-RAN interface types
218
219   identity interface-type {
220     base if:interface-type;
221     description
222       "Base identity for interface types used in RAN, Transport and Core.
223        A unique identification of the management interface.
224        This identity is abstract and MUST NOT be used as a value.";
225   }
226
227   identity a1 {
228     base interface-type;
229     description
230       "An identity for the a1 interface between Non-RT-RIC and Near-RT-RIC.";
231   }
232
233   identity e1 {
234     base interface-type;
235     description
236       "An identity for the e1 interface defined by 3GPP.";
237   }
238
239   identity e2 {
240     base interface-type;
241     description
242       "An identity for the e2 interface as defined by O-RAN Alliance.";
243   }
244
245   identity n1 {
246     base interface-type;
247     description
248       "An identity for the n1 interface as defined by 3GPP.";
249     reference
250       "3GPP TS 23.501 System architecture for the 5G System (5GS)";
251   }
252
253   identity n2 {
254     base interface-type;
255     description
256       "An identity for the n1 interface as defined by 3GPP.";
257     reference
258       "3GPP TS 23.501 System architecture for the 5G System (5GS)";
259   }
260
261   identity n3 {
262     base interface-type;
263     description
264       "An identity for the n1 interface as defined by 3GPP.";
265     reference
266       "3GPP TS 23.501 System architecture for the 5G System (5GS)";
267   }
268
269   identity o1 {
270     base interface-type;
271     description
272       "An identity for the operation and maintenance management interface
273        for network functions as defined by the O-RAN-Alliance as extension
274        to 3GPP NG NRM.";
275   }
276
277   identity o2 {
278     base interface-type;
279     description
280       "An identity for the operation and maintenance management interface
281        for a cloud infrastructure service and a could deployment service
282        (O-Cloud).";
283   }
284
285   identity open-fronthaul-management-plane {
286     base interface-type;
287     description
288       "An identity for the operation and maintenance management interface for
289        O-RU functions.";
290   }
291
292   identity transport-management-interface {
293     base interface-type;
294     description
295       "An identity for a yang based management interface for transport nodes.";
296   }
297
298   // O-RAN-SC LAYER_PROTOCOL_QUALIFIER
299
300   identity LAYER_PROTOCOL_QUALIFIER {
301     base tapi-common:LAYER_PROTOCOL_QUALIFIER;
302     description
303       "Base identity for layer protocol qualifiers used in RAN, Transport and Core.
304        A unique identification of layer protocol qualifiers.
305        Typically the layer protocol qualifier is used to identify the interface
306        protocol, like VES or NETCONF.
307        This identity is abstract and MUST NOT be used as a value.";
308   }
309
310   identity unknown {
311     base LAYER_PROTOCOL_QUALIFIER;
312     description
313       "An identity for an unknown qualifier.";
314   }
315
316   identity file {
317     base LAYER_PROTOCOL_QUALIFIER;
318     description
319       "An identity for a FILE transfer protocol qualifier.";
320   }
321
322   identity grpc {
323     base LAYER_PROTOCOL_QUALIFIER;
324     description
325       "An identity for an generic remote procedure call (gRPC) protocol qualifier.";
326   }
327
328   identity nas {
329     base LAYER_PROTOCOL_QUALIFIER;
330     description
331       "An identity for a Non-access stratum protocol qualifier.";
332     reference
333       "3GPP TS 24.301\tNon-Access-Stratum (NAS) protocol for Evolved Packet System (EPS); Stage 3";
334   }
335
336   identity netconf {
337     base LAYER_PROTOCOL_QUALIFIER;
338     description
339       "An identity for a NETCONF protocol qualifier.";
340   }
341
342   identity radio {
343     base LAYER_PROTOCOL_QUALIFIER;
344     description
345       "An identity for a Radio protocol qualifier.";
346   }
347
348   identity rest {
349     base LAYER_PROTOCOL_QUALIFIER;
350     description
351       "An identity for a REST protocol qualifier.";
352   }
353
354   identity restconf {
355     base LAYER_PROTOCOL_QUALIFIER;
356     description
357       "An identity for a RESTCONF protocol qualifier.";
358   }
359
360   identity ves {
361     base LAYER_PROTOCOL_QUALIFIER;
362     description
363       "An identity for an REST based event stream (VES) protocol qualifier.";
364   }
365
366   identity ofh {
367     base LAYER_PROTOCOL_QUALIFIER;
368     description
369       "An identity for an O-RAN Fronthaul based protocol qualifier.";
370   }
371 }