Fix licensing issues
[ric-plt/nodeb-rnib.git] / entities / enb.proto
1 /*
2  * Copyright 2019 AT&T Intellectual Property
3  * Copyright 2019 Nokia
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 syntax = "proto3";
19 package entities;
20
21 message Enb{
22         EnbType enb_type = 1;
23         repeated ServedCellInfo served_cells = 2;
24         repeated string gu_group_ids = 3;
25 }
26
27 message ServedCellInfo{
28         uint32 pci = 1;
29         string cell_id = 2;
30         string tac      = 3;
31         repeated string broadcast_plmns = 4;
32         ChoiceEUTRAMode choice_eutra_mode = 5;
33         Eutra.Mode eutra_mode = 6;
34         NumberOfAntennaPorts number_of_antenna_ports = 7;
35         PrachConfiguration prach_configuration = 8;
36         repeated MbsfnSubframe mbsfn_subframe_infos = 9;
37         string csg_id = 10;
38         repeated string mbms_service_area_identities = 11;
39         repeated uint32 multiband_infos = 12;
40         FreqBandIndicatorPriority freq_band_indicator_priority = 13;
41         BandwidthReducedSI bandwidth_reduced_si = 14;
42         repeated NeighbourInformation neighbour_infos = 15;
43 }
44
45 message ChoiceEUTRAMode{
46                 FddInfo fdd  = 1;
47                 TddInfo tdd  = 2;
48 }
49
50 message Eutra{
51         enum Mode{
52                 UNKNOWN = 0;
53                 FDD = 1;
54                 TDD = 2;
55         }
56 }
57
58 message NeighbourInformation{
59         string ecgi = 1;
60         uint32 pci = 2;
61         uint32 ear_fcn = 3;
62         string tac = 4;
63 }
64
65 enum FreqBandIndicatorPriority{
66         UNKNOWN_FREQ_BAND_INDICATOR_PRIORITY = 0;
67         NOT_BROADCASTED = 1;
68         BROADCASTED = 2;
69 }
70
71 enum BandwidthReducedSI{
72         UNKNOWN_BANDWIDTH_REDUCED_SI = 0;
73         SCHEDULED = 1;
74 }
75
76 message MbsfnSubframe{
77         RadioframeAllocationPeriod      radioframe_allocation_period = 1;
78         uint32 radioframe_allocation_offset = 2;
79         string subframe_allocation = 3;
80         SubframeAllocationType subframe_allocation_type = 4;
81 }
82
83 enum SubframeAllocationType{
84         UNKNOWN_SUBFRAME_ALLOCATION_TYPE = 0;
85         ONE_FRAME = 1;
86         FOUR_FRAME = 2;
87 }
88
89 enum RadioframeAllocationPeriod{
90         UNKNOWN_RADIOFRAME_ALLOCATION_PERIOD = 0;
91         N1 = 1;
92         N2 = 2;
93         N4 = 3;
94         N8 = 4;
95         N16 = 5;
96         N32 = 6;
97 }
98 message PrachConfiguration{
99         uint32 root_sequence_index = 1;
100         uint32 zero_correlation_zone_configuration      = 2;
101         bool high_speed_flag = 3;
102         uint32 prach_frequency_offset = 4;
103         uint32 prach_configuration_index = 5;
104 }
105
106 enum NumberOfAntennaPorts{
107         UNKNOWN_NUMBER_OF_ANTENNA_PORTS = 0;
108         AN1 = 1;
109         AN2 = 2;
110         AN4 = 3;
111 }
112
113 message TddInfo{
114         uint32 ear_fcn = 1;
115         TransmissionBandwidth transmission_bandwidth = 2;
116         SubframeAssignment subframe_assignment = 3;
117         SpecialSubframeInfo special_subframe_info = 4;
118         AdditionalSpecialSubframeInfo additional_special_subframe_info = 5;
119         AdditionalSpecialSubframeExtensionInfo additional_special_subframe_extension_info = 6;
120 }
121
122 message AdditionalSpecialSubframeExtensionInfo{
123         AdditionalSpecialSubframePatterns.Extension additional_special_subframe_patterns_extension = 1;
124         CyclicPrefix cyclic_prefix_dl = 2;
125         CyclicPrefix cyclic_prefix_ul = 3;
126 }
127
128 message AdditionalSpecialSubframeInfo{
129         AdditionalSpecialSubframe.Patterns additional_special_subframe_patterns = 1;
130         CyclicPrefix cyclic_prefix_dl = 2;
131         CyclicPrefix cyclic_prefix_ul = 3;
132 }
133
134 message FddInfo{
135         uint32 ulear_fcn = 1;
136         uint32 dlear_fcn = 2;
137         TransmissionBandwidth ul_transmission_bandwidth = 3;
138         TransmissionBandwidth dl_transmission_bandwidth = 4;
139 }
140
141 message SpecialSubframeInfo{
142         SpecialSubframe.Patterns special_subframe_patterns = 1;
143         CyclicPrefix cyclic_prefix_dl = 2;
144         CyclicPrefix cyclic_prefix_ul = 3;
145 }
146
147 enum EnbType{
148         UNKNOWN_ENB_TYPE = 0;
149         MACRO_ENB = 1;
150         HOME_ENB = 2;
151         SHORT_MACRO_ENB = 3;
152         LONG_MACRO_ENB = 4;
153 }
154
155 enum SubframeAssignment{
156         UNKNOWN_SUBFRAME_ASSIGNMENT = 0;
157         SA0 = 1;
158         SA1 = 2;
159         SA2 = 3;
160         SA3 = 4;
161         SA4 = 5;
162         SA5 = 6;
163         SA6 = 7;
164 }
165
166 enum CyclicPrefix{
167         UNKNOWN_CYCLIC_PREFIX = 0;
168         NORMAL = 1;
169         EXTENDED = 2;
170 }
171
172 message SpecialSubframe{
173 enum Patterns{
174         UNKNOWN = 0;
175         SSP0 = 1;
176         SSP1 = 2;
177         SSP2 = 3;
178         SSP3 = 4;
179         SSP4 = 5;
180         SSP5 = 6;
181         SSP6 = 7;
182         SSP7 = 8;
183         SSP8 = 9;
184 }
185 }
186
187 message AdditionalSpecialSubframe{ 
188         enum Patterns{
189                 UNKNOWN = 0;
190                 SSP0 = 1;
191                 SSP1 = 2;
192                 SSP2 = 3;
193                 SSP3 = 4;
194                 SSP4 = 5;
195                 SSP5 = 6;
196                 SSP6 = 7;
197                 SSP7 = 8;
198                 SSP8 = 9;
199                 SSP9 = 10;
200         }
201 }
202
203 message AdditionalSpecialSubframePatterns{
204         enum Extension{
205                 UNKNOWN = 0;
206                 SSP10 = 1;
207         }
208 }
209
210 enum TransmissionBandwidth{
211         UNKNOWN_TRANSMISSION_BANDWIDTH = 0;
212         BW6 = 1;
213         BW15 = 2;
214         BW25 = 3;
215         BW50 = 4;
216         BW75 = 5;
217         BW100 = 6;
218         BW1 = 7;
219 }
220