SIM-115: update simulator to use latest E2SM KPM version 3
[sim/e2-interface.git] / e2sim / asn1c / asn / v03 / e2sm-kpm-v03.00.asn
1 -- ASN1START
2 -- **************************************************************
3 -- E2SM-KPM Information Element Definitions
4 -- **************************************************************
5
6 E2SM-KPM-IEs {
7 iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) oran(53148) e2(1) version3(3) e2sm(2) e2sm-KPMMON-IEs (2)}
8
9 DEFINITIONS AUTOMATIC TAGS ::= 
10
11 BEGIN
12
13 -- **************************************************************
14 --   IEs
15 -- **************************************************************
16
17 IMPORTS
18         CGI,
19         FiveQI,
20         PLMNIdentity,
21         QCI,
22         QosFlowIdentifier,
23         RANfunction-Name,
24         RIC-Format-Type,
25         RIC-Style-Name,
26         RIC-Style-Type,
27         S-NSSAI,
28         UEID
29 FROM E2SM-COMMON-IEs;
30
31 TimeStamp ::= OCTET STRING (SIZE(8))
32
33 BinIndex ::= INTEGER (1.. 65535, ...)
34
35 BinRangeValue ::= CHOICE {
36         valueInt                                INTEGER,
37         valueReal                       REAL,
38         ...
39 }
40
41 GranularityPeriod ::= INTEGER (1.. 4294967295)
42
43 LogicalOR ::= ENUMERATED {true, ...}
44
45 MeasurementType ::= CHOICE {
46         measName                                MeasurementTypeName,
47         measID                          MeasurementTypeID,
48         ...
49 }
50
51 MeasurementTypeName ::= PrintableString(SIZE(1.. 150, ...))
52
53 MeasurementTypeID ::= INTEGER (1.. 65536, ...)
54
55 MeasurementLabel ::= SEQUENCE {
56         noLabel                                 ENUMERATED {true, ...}                          OPTIONAL,
57         plmnID                                  PLMNIdentity                                                    OPTIONAL,
58         sliceID                                 S-NSSAI                                                                 OPTIONAL,
59         fiveQI                                  FiveQI                                                                  OPTIONAL,
60         qFI                                             QosFlowIdentifier                                               OPTIONAL,
61         qCI                                             QCI                                                                             OPTIONAL,
62         qCImax                                  QCI                                                                             OPTIONAL,
63         qCImin                                  QCI                                                                             OPTIONAL,
64         aRPmax                                  INTEGER (1.. 15, ...)                           OPTIONAL,
65         aRPmin                                  INTEGER (1.. 15, ...)                           OPTIONAL,
66         bitrateRange                    INTEGER (1.. 65535, ...)                        OPTIONAL,
67         layerMU-MIMO                    INTEGER (1.. 65535, ...)                        OPTIONAL,
68         sUM                                             ENUMERATED {true, ...}                          OPTIONAL,
69         distBinX                                        INTEGER (1.. 65535, ...)                        OPTIONAL,
70         distBinY                                        INTEGER (1.. 65535, ...)                        OPTIONAL,
71         distBinZ                                        INTEGER (1.. 65535, ...)                        OPTIONAL,
72         preLabelOverride                ENUMERATED {true, ...}                          OPTIONAL,
73         startEndInd                             ENUMERATED {start, end, ...}            OPTIONAL,
74         min                                             ENUMERATED {true, ...}                          OPTIONAL,
75         max                                             ENUMERATED {true, ...}                          OPTIONAL,
76         avg                                             ENUMERATED {true, ...}                          OPTIONAL,
77         ...,
78         ssbIndex                                        INTEGER (1.. 65535, ...)                        OPTIONAL,
79         nonGoB-BFmode-Index     INTEGER (1.. 65535, ...)                        OPTIONAL,
80         mIMO-mode-Index         INTEGER (1.. 2, ...)                                    OPTIONAL
81 }
82
83 TestCondInfo ::= SEQUENCE{
84         testType                                TestCond-Type,
85         testExpr                                TestCond-Expression                                             OPTIONAL,
86         testValue                       TestCond-Value                                                          OPTIONAL,
87         ...
88 }
89
90 TestCond-Type ::= CHOICE{
91         gBR                                     ENUMERATED {true, ...},
92         aMBR                                    ENUMERATED {true, ...},
93         isStat                          ENUMERATED {true, ...},
94         isCatM                          ENUMERATED {true, ...},
95         rSRP                                    ENUMERATED {true, ...},
96         rSRQ                                    ENUMERATED {true, ...},
97         ...,
98         ul-rSRP                         ENUMERATED {true, ...},
99         cQI                                     ENUMERATED {true, ...},
100         fiveQI                          ENUMERATED {true, ...},
101         qCI                                     ENUMERATED {true, ...},
102         sNSSAI                          ENUMERATED {true, ...}
103 }
104
105 TestCond-Expression ::= ENUMERATED {
106 equal, 
107 greaterthan, 
108 lessthan, 
109 contains, 
110 present, 
111 ...
112 }
113
114 TestCond-Value ::= CHOICE{
115         valueInt                                INTEGER,
116         valueEnum                       INTEGER,
117         valueBool                       BOOLEAN,
118         valueBitS                       BIT STRING,
119         valueOctS                       OCTET STRING, 
120         valuePrtS                       PrintableString,
121         ...,
122         valueReal                       REAL
123 }
124
125 -- **************************************************************
126 --   Lists
127 -- **************************************************************
128
129 maxnoofCells                                    INTEGER ::= 16384
130 maxnoofRICStyles                                INTEGER ::= 63
131 maxnoofMeasurementInfo          INTEGER ::= 65535
132 maxnoofLabelInfo                                INTEGER ::= 2147483647
133 maxnoofMeasurementRecord        INTEGER ::= 65535
134 maxnoofMeasurementValue         INTEGER ::= 2147483647
135 maxnoofConditionInfo                    INTEGER ::= 32768
136 maxnoofUEID                                             INTEGER ::= 65535
137 maxnoofConditionInfoPerSub      INTEGER ::= 32768
138 maxnoofUEIDPerSub                               INTEGER ::= 65535
139 maxnoofUEMeasReport                     INTEGER ::= 65535
140 maxnoofBin                                              INTEGER ::= 65535
141
142 BinRangeDefinition ::= SEQUENCE {
143 binRangeListX           BinRangeList, 
144 binRangeListY           BinRangeList                    OPTIONAL -- This IE shall not be present for a distribution measurement type that doesn't use Distribution Bin Y --,
145 binRangeListZ           BinRangeList                    OPTIONAL -- This IE shall not be present for a distribution measurement type that doesn't use Distribution Bin Z --,
146 ...
147 }
148
149 BinRangeList ::= SEQUENCE (SIZE(1..maxnoofBin)) OF BinRangeItem
150
151 BinRangeItem ::= SEQUENCE {
152         binIndex                                BinIndex,
153         startValue                      BinRangeValue,
154         endValue                                BinRangeValue,
155         ...
156 }
157
158 DistMeasurementBinRangeList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF DistMeasurementBinRangeItem
159
160 DistMeasurementBinRangeItem ::= SEQUENCE {
161         measType                                MeasurementType,
162         binRangeDef                     BinRangeDefinition,
163         ...
164 }
165
166 MeasurementInfoList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementInfoItem
167
168 MeasurementInfoItem ::= SEQUENCE {
169         measType                                MeasurementType,
170         labelInfoList           LabelInfoList,
171         ...
172 }
173
174 LabelInfoList ::= SEQUENCE (SIZE(1..maxnoofLabelInfo)) OF LabelInfoItem
175
176 LabelInfoItem ::= SEQUENCE {
177         measLabel                       MeasurementLabel,
178         ...
179 }
180
181 MeasurementData ::= SEQUENCE (SIZE(1..maxnoofMeasurementRecord)) OF MeasurementDataItem
182
183 MeasurementDataItem ::= SEQUENCE {
184 measRecord                              MeasurementRecord,
185 incompleteFlag                  ENUMERATED {true, ...}                                  OPTIONAL,
186 ...
187 }
188
189 MeasurementRecord ::= SEQUENCE (SIZE(1..maxnoofMeasurementValue)) OF MeasurementRecordItem
190
191 MeasurementRecordItem ::= CHOICE {
192         integer                         INTEGER (0.. 4294967295),
193         real                                    REAL,
194         noValue                         NULL,
195         ...
196 }               
197
198 MeasurementInfo-Action-List ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementInfo-Action-Item
199
200 MeasurementInfo-Action-Item ::= SEQUENCE {
201         measName                                MeasurementTypeName,
202         measID                          MeasurementTypeID                               OPTIONAL,
203         ...,
204         binRangeDef                     BinRangeDefinition                      OPTIONAL
205 }
206
207 MeasurementCondList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementCondItem
208
209 MeasurementCondItem ::= SEQUENCE {
210         measType                                MeasurementType,
211         matchingCond            MatchingCondList,
212         ...,
213         binRangeDef                     BinRangeDefinition                      OPTIONAL
214 }
215
216 MeasurementCondUEidList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementCondUEidItem
217
218 MeasurementCondUEidItem ::= SEQUENCE {
219         measType                                        MeasurementType,
220         matchingCond                    MatchingCondList,
221         matchingUEidList                MatchingUEidList                        OPTIONAL,
222         ...,
223         matchingUEidPerGP               MatchingUEidPerGP                       OPTIONAL
224 }
225
226 MatchingCondList ::= SEQUENCE (SIZE(1..maxnoofConditionInfo)) OF MatchingCondItem
227
228 MatchingCondItem ::= SEQUENCE {
229 matchingCondChoice      MatchingCondItem-Choice,
230 logicalOR                               LogicalOR                                               OPTIONAL,
231 ...
232 }
233
234 MatchingCondItem-Choice ::= CHOICE{
235         measLabel                       MeasurementLabel,
236         testCondInfo            TestCondInfo,
237         ...
238 }
239
240 MatchingUEidList ::= SEQUENCE (SIZE(1..maxnoofUEID)) OF MatchingUEidItem
241
242 MatchingUEidItem ::= SEQUENCE{
243         ueID                                    UEID,
244         ...
245 }
246
247 MatchingUEidPerGP ::= SEQUENCE (SIZE(1..maxnoofMeasurementRecord)) OF MatchingUEidPerGP-Item
248
249 MatchingUEidPerGP-Item ::= SEQUENCE{
250         matchedPerGP                            CHOICE{
251                 noUEmatched                             ENUMERATED {true, ...},
252                 oneOrMoreUEmatched              MatchingUEidList-PerGP,
253                 ...
254         },
255         ...
256 }
257
258 MatchingUEidList-PerGP ::= SEQUENCE (SIZE(1..maxnoofUEID)) OF MatchingUEidItem-PerGP
259
260 MatchingUEidItem-PerGP ::= SEQUENCE{
261         ueID                                    UEID,
262         ...
263 }
264
265
266 MatchingUeCondPerSubList ::= SEQUENCE (SIZE(1..maxnoofConditionInfoPerSub)) OF MatchingUeCondPerSubItem
267
268 MatchingUeCondPerSubItem ::= SEQUENCE{
269         testCondInfo            TestCondInfo,
270         ...,
271         logicalOR                       LogicalOR                               OPTIONAL
272 }
273
274 MatchingUEidPerSubList ::= SEQUENCE (SIZE(2..maxnoofUEIDPerSub)) OF MatchingUEidPerSubItem
275
276 MatchingUEidPerSubItem ::= SEQUENCE{
277         ueID                                    UEID,
278         ...
279 }
280
281 UEMeasurementReportList ::= SEQUENCE (SIZE(1..maxnoofUEMeasReport)) OF UEMeasurementReportItem
282
283 UEMeasurementReportItem ::= SEQUENCE{
284         ueID                            UEID,
285         measReport              E2SM-KPM-IndicationMessage-Format1,
286         ...
287 }
288
289
290
291 -- **************************************************************
292 -- E2SM-KPM Service Model IEs
293 -- **************************************************************
294
295 -- **************************************************************
296 --   Event Trigger Definition OCTET STRING contents
297 -- **************************************************************
298
299 E2SM-KPM-EventTriggerDefinition ::= SEQUENCE{
300         eventDefinition-formats                 CHOICE{
301                 eventDefinition-Format1                 E2SM-KPM-EventTriggerDefinition-Format1,
302                 ...
303         },
304         ...
305 }
306
307 E2SM-KPM-EventTriggerDefinition-Format1 ::= SEQUENCE{
308         reportingPeriod                                 INTEGER (1.. 4294967295),
309         ...
310 }
311
312 -- **************************************************************
313 --   Action Definition OCTET STRING contents
314 -- **************************************************************
315
316 E2SM-KPM-ActionDefinition ::= SEQUENCE{
317         ric-Style-Type                                  RIC-Style-Type,
318         actionDefinition-formats        CHOICE{
319                 actionDefinition-Format1                E2SM-KPM-ActionDefinition-Format1,
320                 actionDefinition-Format2                E2SM-KPM-ActionDefinition-Format2,
321                 actionDefinition-Format3                E2SM-KPM-ActionDefinition-Format3,
322                 ...,
323                 actionDefinition-Format4                E2SM-KPM-ActionDefinition-Format4,
324                 actionDefinition-Format5                E2SM-KPM-ActionDefinition-Format5
325         },
326         ...
327 }
328
329 E2SM-KPM-ActionDefinition-Format1 ::= SEQUENCE {
330         measInfoList                                    MeasurementInfoList,
331         granulPeriod                                    GranularityPeriod,
332         cellGlobalID                                    CGI                                                     OPTIONAL,
333         ...,
334         distMeasBinRangeInfo                    DistMeasurementBinRangeList             OPTIONAL
335 }
336
337 E2SM-KPM-ActionDefinition-Format2 ::= SEQUENCE {
338         ueID                                                            UEID,
339         subscriptInfo                                   E2SM-KPM-ActionDefinition-Format1,
340         ...
341 }
342
343 E2SM-KPM-ActionDefinition-Format3 ::= SEQUENCE {
344         measCondList                                    MeasurementCondList,
345         granulPeriod                                    GranularityPeriod,
346         cellGlobalID                                    CGI                                                     OPTIONAL,
347         ...
348 }
349
350 E2SM-KPM-ActionDefinition-Format4 ::= SEQUENCE {
351         matchingUeCondList                      MatchingUeCondPerSubList,
352         subscriptionInfo                                E2SM-KPM-ActionDefinition-Format1,
353         ...
354 }
355
356 E2SM-KPM-ActionDefinition-Format5 ::= SEQUENCE {
357         matchingUEidList                                MatchingUEidPerSubList,
358         subscriptionInfo                                E2SM-KPM-ActionDefinition-Format1,
359         ...
360 }
361
362
363 -- **************************************************************
364 --   Indication Header OCTET STRING contents
365 -- **************************************************************
366
367 E2SM-KPM-IndicationHeader ::= SEQUENCE{
368         indicationHeader-formats                CHOICE{
369                 indicationHeader-Format1                E2SM-KPM-IndicationHeader-Format1,
370                 ...
371         },
372         ...
373 }
374
375 E2SM-KPM-IndicationHeader-Format1 ::= SEQUENCE{
376         colletStartTime                         TimeStamp,
377         fileFormatversion                               PrintableString (SIZE (0..15), ...)             OPTIONAL,
378         senderName                                              PrintableString (SIZE (0..400), ...)    OPTIONAL,
379         senderType                                              PrintableString (SIZE (0..8), ...)              OPTIONAL,
380         vendorName                                              PrintableString (SIZE (0..32), ...)             OPTIONAL,
381         ...
382 }
383
384 -- **************************************************************
385 --   Indication Message OCTET STRING contents
386 -- **************************************************************
387
388 E2SM-KPM-IndicationMessage ::= SEQUENCE{
389         indicationMessage-formats               CHOICE{
390                 indicationMessage-Format1               E2SM-KPM-IndicationMessage-Format1,
391                 indicationMessage-Format2               E2SM-KPM-IndicationMessage-Format2,
392                 ...,
393                 indicationMessage-Format3               E2SM-KPM-IndicationMessage-Format3
394         },
395         ...
396 }
397
398 E2SM-KPM-IndicationMessage-Format1 ::= SEQUENCE {
399         measData                                                        MeasurementData,
400         measInfoList                                    MeasurementInfoList                                             OPTIONAL,
401         granulPeriod                                    GranularityPeriod                                               OPTIONAL,
402         ...
403 }
404
405 E2SM-KPM-IndicationMessage-Format2 ::= SEQUENCE {
406         measData                                                        MeasurementData,
407         measCondUEidList                                MeasurementCondUEidList,
408         granulPeriod                                    GranularityPeriod                                               OPTIONAL,
409         ...
410 }
411
412 E2SM-KPM-IndicationMessage-Format3 ::= SEQUENCE {
413         ueMeasReportList                                UEMeasurementReportList,
414         ...
415 }
416
417
418 -- ***************************************************************
419 --   RAN Function Definition OCTET STRING contents
420 -- ***************************************************************
421
422 E2SM-KPM-RANfunction-Description ::= SEQUENCE{
423         ranFunction-Name                                        RANfunction-Name,
424         ric-EventTriggerStyle-List              SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RIC-EventTriggerStyle-Item              OPTIONAL,
425         ric-ReportStyle-List                            SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RIC-ReportStyle-Item                            OPTIONAL,
426         ...
427 }
428
429 RIC-EventTriggerStyle-Item ::= SEQUENCE{
430         ric-EventTriggerStyle-Type                      RIC-Style-Type,
431         ric-EventTriggerStyle-Name                      RIC-Style-Name,
432         ric-EventTriggerFormat-Type             RIC-Format-Type,
433         ...
434 }
435
436 RIC-ReportStyle-Item ::= SEQUENCE{
437         ric-ReportStyle-Type                                            RIC-Style-Type,
438         ric-ReportStyle-Name                                            RIC-Style-Name,
439         ric-ActionFormat-Type                                   RIC-Format-Type,
440         measInfo-Action-List                                            MeasurementInfo-Action-List, 
441         ric-IndicationHeaderFormat-Type         RIC-Format-Type,
442         ric-IndicationMessageFormat-Type                RIC-Format-Type,
443         ...
444 }
445
446 END
447
448 -- ASN1STOP