summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/nr-rrc/PC5-RRC-Definitions.asn
blob: 3a34fb2086d49d0300683a68e82dc13483abf495 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
-- 3GPP TS 38.331 V18.2.0 (2024-06)

PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
    ARFCN-ValueNR,
    CellAccessRelatedInfo,
    SetupRelease,
    RRC-TransactionIdentifier,
    SN-FieldLengthAM,
    SN-FieldLengthUM,
    LogicalChannelIdentity,
    maxNrofSLRB-r16,
    maxNrofSL-RxInfoSet-r17,
    maxNrofSL-QFIs-r16,
    maxNrofSL-QFIsPerDest-r16,
    PagingCycle,
    PagingRecord,
    RSRP-Range,
    SL-MeasConfig-r16,
    SL-MeasId-r16,
    FreqBandList,
    FreqBandIndicatorNR,
    GNSS-ID-r16,
    maxNrofRelayMeas-r17,
    maxSimultaneousBands,
    maxBandComb,
    maxBands,
    maxSIB,
    maxSIB-MessagePlus1-r17,
    maxSL-LCID-r16,
    maxNrofFreqSL-1-r18,
    BandParametersSidelink-r16,
    PagingRecord-v1700,
    RLC-ParametersSidelink-r16,
    SBAS-ID-r16,
    SIB1,
    SL-DRX-ConfigUC-r17,
    SL-DRX-ConfigUC-SemiStatic-r17,
    SL-PagingIdentityRemoteUE-r17,
    SL-RLC-ChannelID-r17,
    SL-SourceIdentity-r17,
    SystemInformation,
    maxNrofSL-Dest-r16,
    SL-DestinationIdentity-r16,
    SL-RelayIndicationMP-r18,
    SL-RSRP-Range-r16,
    SL-QoS-FlowIdentity-r16,
    SL-QoS-Info-r16,
    maxNrofPhysicalResourceBlocks,
    SubcarrierSpacing
FROM NR-RRC-Definitions;

-- TAG-PC5-RRC-DEFINITIONS-STOP
-- TAG-SBCCH-SL-BCH-MESSAGE-START

SBCCH-SL-BCH-Message ::= SEQUENCE {
    message                  SBCCH-SL-BCH-MessageType
}

SBCCH-SL-BCH-MessageType::=     CHOICE {
    c1                              CHOICE {
        masterInformationBlockSidelink              MasterInformationBlockSidelink,
        spare1 NULL
    },
    messageClassExtension   SEQUENCE {}
}

-- TAG-SBCCH-SL-BCH-MESSAGE-STOP
-- TAG-SCCH-MESSAGE-START

SCCH-Message ::=             SEQUENCE {
    message                         SCCH-MessageType
}

SCCH-MessageType ::=         CHOICE {
    c1                              CHOICE {
        measurementReportSidelink                MeasurementReportSidelink,
        rrcReconfigurationSidelink               RRCReconfigurationSidelink,
        rrcReconfigurationCompleteSidelink       RRCReconfigurationCompleteSidelink,
        rrcReconfigurationFailureSidelink        RRCReconfigurationFailureSidelink,
        ueCapabilityEnquirySidelink              UECapabilityEnquirySidelink,
        ueCapabilityInformationSidelink          UECapabilityInformationSidelink,
        uuMessageTransferSidelink-r17            UuMessageTransferSidelink-r17,
        remoteUEInformationSidelink-r17          RemoteUEInformationSidelink-r17
    },
    messageClassExtension           CHOICE {
        c2                              CHOICE {
            notificationMessageSidelink-r17 NotificationMessageSidelink-r17,
            ueAssistanceInformationSidelink-r17 UEAssistanceInformationSidelink-r17,
            ueInformationRequestSidelink-r18    UEInformationRequestSidelink-r18,
            ueInformationResponseSidelink-r18   UEInformationResponseSidelink-r18, spare4 NULL, spare3 NULL, spare2 NULL, spare1 NULL
        },
        messageClassExtensionFuture-r17    SEQUENCE {}
    }
}

-- TAG-SCCH-MESSAGE-STOP
-- TAG-MASTERINFORMATIONBLOCKSIDELINK-START

MasterInformationBlockSidelink ::=           SEQUENCE {
    sl-TDD-Config-r16                            BIT STRING (SIZE (12)),
    inCoverage-r16                               BOOLEAN,
    directFrameNumber-r16                        BIT STRING (SIZE (10)),
    slotIndex-r16                                BIT STRING (SIZE (7)),
    reservedBits-r16                             BIT STRING (SIZE (2))
}

-- TAG-MASTERINFORMATIONBLOCKSIDELINK-STOP
-- TAG-MEASUREMENTREPORTSIDELINK-START

MeasurementReportSidelink ::=                   SEQUENCE {
    criticalExtensions                              CHOICE {
        measurementReportSidelink-r16                   MeasurementReportSidelink-r16-IEs,
        criticalExtensionsFuture                        SEQUENCE {}
    }
}

MeasurementReportSidelink-r16-IEs ::=           SEQUENCE {
    sl-MeasResults-r16                              SL-MeasResults-r16,
    lateNonCriticalExtension                        OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                            SEQUENCE{}                                                              OPTIONAL
}

SL-MeasResults-r16 ::=                          SEQUENCE {
    sl-MeasId-r16                                   SL-MeasId-r16,
    sl-MeasResult-r16                               SL-MeasResult-r16,
    ...
}

SL-MeasResult-r16 ::=                           SEQUENCE {
    sl-ResultDMRS-r16                               SL-MeasQuantityResult-r16                                               OPTIONAL,
    ...,
    [[
    sl-Result-SL-PRS-r18                            SL-MeasQuantityResult-r16                                               OPTIONAL
    ]]
}

SL-MeasQuantityResult-r16 ::=                   SEQUENCE {
    sl-RSRP-r16                                     RSRP-Range                                                              OPTIONAL,
    ...,
    [[
    sl-RSRP-DedicatedSL-PRS-RP-r18                  SL-RSRP-Range-r16                                                       OPTIONAL
    ]]
}

SL-MeasResultListRelay-r17 ::=                  SEQUENCE (SIZE (1..maxNrofRelayMeas-r17)) OF SL-MeasResultRelay-r17

SL-MeasResultRelay-r17 ::=                      SEQUENCE {
    cellIdentity-r17                                CellAccessRelatedInfo,
    sl-RelayUE-Identity-r17                         SL-SourceIdentity-r17,
    sl-MeasResult-r17                               SL-MeasResult-r16,
    ...,
    [[
    sl-MeasQuantity-r18                             ENUMERATED { sl-rsrp, sd-rsrp }                                         OPTIONAL,
    sl-RelayIndicationMP-r18                        SL-RelayIndicationMP-r18                                                OPTIONAL
    ]]
}

-- TAG-MEASUREMENTREPORTSIDELINK-STOP
-- TAG-NOTIFICATIONMESSAGESIDELINK-START

NotificationMessageSidelink-r17 ::=       SEQUENCE {
    criticalExtensions                        CHOICE {
        notificationMessageSidelink-r17           NotificationMessageSidelink-r17-IEs,
        criticalExtensionsFuture                  SEQUENCE {}
    }
}

NotificationMessageSidelink-r17-IEs ::=   SEQUENCE {
    indicationType-r17                        ENUMERATED {
                                                  relayUE-Uu-RLF, relayUE-HO, relayUE-CellReselection,
                                                  relayUE-Uu-RRC-Failure
                                              }                                     OPTIONAL,  -- Need N
    lateNonCriticalExtension                  OCTET STRING                          OPTIONAL,
    nonCriticalExtension                      NotificationMessageSidelink-v1800-IEs OPTIONAL
}

NotificationMessageSidelink-v1800-IEs ::= SEQUENCE {
    sl-IndicationType-r18                     ENUMERATED {relayUE-PC5-RLF, spare1}  OPTIONAL,  -- Need N
    sl-DestinationIdentityRemoteUE-r18        SL-DestinationIdentity-r16            OPTIONAL,  -- Need N
    nonCriticalExtension                      SEQUENCE {}                           OPTIONAL
}
-- TAG-NOTIFICATIONMESSAGESIDELINK -STOP
-- TAG-REMOTEUEINFORMATIONSIDELINK-START

RemoteUEInformationSidelink-r17 ::=           SEQUENCE {
    criticalExtensions                            CHOICE {
        remoteUEInformationSidelink-r17               RemoteUEInformationSidelink-r17-IEs,
        criticalExtensionsFuture                      SEQUENCE {}
    }
}

RemoteUEInformationSidelink-r17-IEs ::=       SEQUENCE {
    sl-RequestedSIB-List-r17                     CHOICE {release NULL, setup SL-RequestedSIB-List-r17}          OPTIONAL, -- Need M
    sl-PagingInfo-RemoteUE-r17                    CHOICE {release NULL, setup SL-PagingInfo-RemoteUE-r17}         OPTIONAL, -- Need M
    lateNonCriticalExtension                      OCTET STRING                                       OPTIONAL,
    nonCriticalExtension                          RemoteUEInformationSidelink-v1800-IEs              OPTIONAL
}

RemoteUEInformationSidelink-v1800-IEs ::=    SEQUENCE {
    sl-RequestedPosSIB-List-r18                  CHOICE {release NULL, setup SL-RequestedPosSIB-List-r18 }       OPTIONAL,  -- Need M
    sl-SFN-DFN-OffsetRequested-r18               ENUMERATED { true }                                OPTIONAL,  -- Need R
    connectionForMP-r18                          ENUMERATED {true}                                  OPTIONAL,  -- Need N
    sl-DestinationIdentityRemoteUE-r18           SL-DestinationIdentity-r16                         OPTIONAL,  -- Need N
    nonCriticalExtension                         SEQUENCE {}                                        OPTIONAL
}

SL-RequestedSIB-List-r17 ::=                 SEQUENCE (SIZE (maxSIB-MessagePlus1-r17)) OF SL-SIB-ReqInfo-r17

SL-PagingInfo-RemoteUE-r17 ::=                SEQUENCE {
    sl-PagingIdentityRemoteUE-r17                 SL-PagingIdentityRemoteUE-r17,
    sl-PagingCycleRemoteUE-r17                    PagingCycle                                        OPTIONAL  -- Need M
}

SL-SIB-ReqInfo-r17 ::=                   ENUMERATED { sib1, sib2, sib3, sib4, sib5, sib6, sib7, sib8, sib9, sib10, sib11, sib12, sib13,
                                                      sib14, sib15, sib16, sib17, sib18, sib19, sib20, sib21, sibNotReq11, sibNotReq10,
                                                      sibNotReq9, sibNotReq8, sibNotReq7, sibNotReq6, sibNotReq5, sibNotReq4,
                                                      sibNotReq3, sibNotReq2, sibNotReq1, ..., sib17bis-v1820 }

SL-RequestedPosSIB-List-r18 ::=          SEQUENCE (SIZE (1..maxSIB)) OF SL-PosSIB-ReqInfo-r18

SL-PosSIB-ReqInfo-r18 ::=                SEQUENCE {
    gnss-id-r18                              GNSS-ID-r16                                            OPTIONAL,   -- Need R
    sbas-id-r18                              SBAS-ID-r16                                            OPTIONAL,   -- Cond GNSS-ID-SBAS
    posSibType-r18              ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4, posSibType1-5, posSibType1-6,
                                             posSibType1-7, posSibType1-8, posSibType1-9, posSibType1-10, posSibType1-11,
                                             posSibType1-12, posSibType2-1, posSibType2-2, posSibType2-3, posSibType2-4, posSibType2-5,
                                             posSibType2-6, posSibType2-7, posSibType2-8, posSibType2-9, posSibType2-10, posSibType2-11,
                                             posSibType2-12, posSibType2-13, posSibType2-14, posSibType2-15, posSibType2-16,
                                             posSibType2-17, posSibType2-17a, posSibType2-18, posSibType2-18a, posSibType2-19,
                                             posSibType2-20, posSibType2-20a, posSibType2-21, posSibType2-22, posSibType2-23,
                                             posSibType2-24, posSibType2-25, posSibType2-26, posSibType2-27, posSibType3-1,
                                             posSibType4-1, posSibType5-1, posSibType6-1, posSibType6-2, posSibType6-3, posSibType6-4,
                                             posSibType6-5, posSibType6-6, posSibType6-7, posSibType7-1, posSibType7-2, posSibType7-3,
                                             posSibType7-4, spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1,
                                             ... }
}

-- TAG-REMOTEUEINFORMATIONSIDELINK-STOP
-- TAG-RRCRECONFIGURATIONSIDELINK-START

RRCReconfigurationSidelink ::=          SEQUENCE {
    rrc-TransactionIdentifier-r16           RRC-TransactionIdentifier,
    criticalExtensions                      CHOICE {
        rrcReconfigurationSidelink-r16          RRCReconfigurationSidelink-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

RRCReconfigurationSidelink-r16-IEs ::=  SEQUENCE {
    slrb-ConfigToAddModList-r16             SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-Config-r16             OPTIONAL, -- Need N
    slrb-ConfigToReleaseList-r16            SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SLRB-PC5-ConfigIndex-r16    OPTIONAL, -- Need N
    sl-MeasConfig-r16                       CHOICE {release NULL, setup SL-MeasConfig-r16}                                    OPTIONAL, -- Need M
    sl-CSI-RS-Config-r16                    CHOICE {release NULL, setup SL-CSI-RS-Config-r16}                                 OPTIONAL, -- Need M
    sl-ResetConfig-r16                      ENUMERATED {true}                                                   OPTIONAL, -- Need N
    sl-LatencyBoundCSI-Report-r16           INTEGER (3..160)                                                    OPTIONAL, -- Need M
    lateNonCriticalExtension                OCTET STRING                                                        OPTIONAL,
    nonCriticalExtension                    RRCReconfigurationSidelink-v1700-IEs                                OPTIONAL
}

RRCReconfigurationSidelink-v1700-IEs ::= SEQUENCE {
    sl-DRX-ConfigUC-PC5-r17                 CHOICE {release NULL, setup SL-DRX-ConfigUC-r17 }                                OPTIONAL, -- Need M
    sl-LatencyBoundIUC-Report-r17           CHOICE {release NULL, setup SL-LatencyBoundIUC-Report-r17 }                      OPTIONAL, -- Need M
    sl-RLC-ChannelToReleaseListPC5-r17      SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelID-r17         OPTIONAL, -- Need N
    sl-RLC-ChannelToAddModListPC5-r17       SEQUENCE (SIZE (1..maxSL-LCID-r16)) OF SL-RLC-ChannelConfigPC5-r17  OPTIONAL, -- Need N
    nonCriticalExtension                    RRCReconfigurationSidelink-v1800-IEs                                OPTIONAL
}

RRCReconfigurationSidelink-v1800-IEs ::= SEQUENCE {
    sl-SFN-DFN-Offset-r18                   CHOICE {release NULL, setup SL-SFN-DFN-Offset-r18 }                                OPTIONAL, -- Need M
    sl-CarrierToAddModList-r18              SEQUENCE (SIZE (1..maxNrofFreqSL-1-r18)) OF SL-CarrierConfig-r18      OPTIONAL, -- Need N
    sl-CarrierToReleaseList-r18             SEQUENCE (SIZE (1..maxNrofFreqSL-1-r18)) OF SL-CarrierId-r18          OPTIONAL, -- Need N
    sl-RLC-BearerToAddModList-r18           SEQUENCE (SIZE(1..maxNrofSLRB-r16)) OF SL-RLC-BearerConfig-r18        OPTIONAL, -- Need N
    sl-RLC-BearerToReleaseList-r18          SEQUENCE (SIZE(1..maxNrofSLRB-r16)) OF SL-RLC-BearerConfigIndex-r18   OPTIONAL, -- Need N
    sl-LocalID-PairToAddModList-r18         SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-SRAP-ConfigPC5-r18      OPTIONAL, -- Need N
    nonCriticalExtension                    SEQUENCE {}                                                           OPTIONAL
}

SL-CarrierConfig-r18 ::= SEQUENCE {
    sl-CarrierId-r18                        SL-CarrierId-r18,
    sl-OffsetToCarrier-r18                  INTEGER (0..2199),
    subcarrierSpacing-r18                   SubcarrierSpacing,
    carrierBandwidth-r18                    INTEGER (1..maxNrofPhysicalResourceBlocks),
    sl-AbsoluteFrequencyPointA-r18          ARFCN-ValueNR
}

SL-CarrierId-r18 ::=                    INTEGER (1..maxNrofFreqSL-1-r18)

SL-RLC-BearerConfig-r18 ::=         CHOICE {
    srb                                 SEQUENCE {
        sl-SRB-IdentityWithDuplication      INTEGER (1..3),
        sL-RLC-BearerConfigIndex-r18        SL-RLC-BearerConfigIndex-r18,
        ...
    },
    drb                                 SEQUENCE {
        slrb-PC5-ConfigIndex-r18            SLRB-PC5-ConfigIndex-r16,
        sL-RLC-BearerConfigIndex-r18        SL-RLC-BearerConfigIndex-r18,
        sl-RLC-ConfigPC5-r18                SL-RLC-ConfigPC5-r16                                                OPTIONAL, -- Need M
        sl-MAC-LogicalChannelConfigPC5-r18  SL-LogicalChannelConfigPC5-r16                                      OPTIONAL, -- Need M
        ...
    }
}

SL-RLC-BearerConfigIndex-r18 ::=        INTEGER (1..maxSL-LCID-r16)

SL-LatencyBoundIUC-Report-r17::=            INTEGER (3..160)

SLRB-Config-r16::=                      SEQUENCE {
    slrb-PC5-ConfigIndex-r16                SLRB-PC5-ConfigIndex-r16,
    sl-SDAP-ConfigPC5-r16                   SL-SDAP-ConfigPC5-r16                                               OPTIONAL, -- Need M
    sl-PDCP-ConfigPC5-r16                   SL-PDCP-ConfigPC5-r16                                               OPTIONAL, -- Need M
    sl-RLC-ConfigPC5-r16                    SL-RLC-ConfigPC5-r16                                                OPTIONAL, -- Need M
    sl-MAC-LogicalChannelConfigPC5-r16      SL-LogicalChannelConfigPC5-r16                                      OPTIONAL, -- Need M
    ...
}

SLRB-PC5-ConfigIndex-r16 ::=            INTEGER (1..maxNrofSLRB-r16)

SL-SDAP-ConfigPC5-r16 ::=               SEQUENCE {
    sl-MappedQoS-FlowsToAddList-r16         SEQUENCE (SIZE (1.. maxNrofSL-QFIsPerDest-r16)) OF SL-PQFI-r16      OPTIONAL, -- Need N
    sl-MappedQoS-FlowsToReleaseList-r16     SEQUENCE (SIZE (1.. maxNrofSL-QFIsPerDest-r16)) OF SL-PQFI-r16      OPTIONAL, -- Need N
    sl-SDAP-Header-r16                      ENUMERATED {present, absent},
    ...
}

SL-PDCP-ConfigPC5-r16 ::=               SEQUENCE {
    sl-PDCP-SN-Size-r16                     ENUMERATED {len12bits, len18bits}                                   OPTIONAL, -- Need M
    sl-OutOfOrderDelivery-r16               ENUMERATED { true }                                                 OPTIONAL,  -- Need R
    ...
}

SL-RLC-ConfigPC5-r16 ::=                CHOICE {
    sl-AM-RLC-r16                           SEQUENCE {
        sl-SN-FieldLengthAM-r16                 SN-FieldLengthAM                                                OPTIONAL, -- Need M
        ...
    },
    sl-UM-Bi-Directional-RLC-r16            SEQUENCE {
        sl-SN-FieldLengthUM-r16                 SN-FieldLengthUM                                                OPTIONAL, -- Need M
        ...
    },
    sl-UM-Uni-Directional-RLC-r16           SEQUENCE {
        sl-SN-FieldLengthUM-r16                 SN-FieldLengthUM                                                OPTIONAL, -- Need M
        ...
    }
}

SL-LogicalChannelConfigPC5-r16 ::=      SEQUENCE {
    sl-LogicalChannelIdentity-r16           LogicalChannelIdentity,
    ...,
    [[
    sl-LogicalChannelIdentity-v1800     INTEGER (33..38)                                                        OPTIONAL  -- Need M
    ]]
}

SL-PQFI-r16 ::=                         INTEGER (1..64)

SL-CSI-RS-Config-r16 ::=                SEQUENCE {
    sl-CSI-RS-FreqAllocation-r16            CHOICE {
        sl-OneAntennaPort-r16                   BIT STRING (SIZE (12)),
        sl-TwoAntennaPort-r16                   BIT STRING (SIZE (6))
    }                                                                                                           OPTIONAL, -- Need M
    sl-CSI-RS-FirstSymbol-r16               INTEGER (3..12)                                                     OPTIONAL, -- Need M
    ...
}

SL-RLC-ChannelConfigPC5-r17::=          SEQUENCE {
    sl-RLC-ChannelID-PC5-r17                SL-RLC-ChannelID-r17,
    sl-RLC-ConfigPC5-r17                    SL-RLC-ConfigPC5-r16                                                OPTIONAL, -- Need M
    sl-MAC-LogicalChannelConfigPC5-r17      SL-LogicalChannelConfigPC5-r16                                      OPTIONAL, -- Need M
    ...
}

SL-SFN-DFN-Offset-r18 ::=               SEQUENCE {
    sl-FrameOffset-r18                      INTEGER (0..1023),
    sl-SubframeOffset-r18                   INTEGER (0..9),
    sl-SlotOffset-r18                       INTEGER (0..31)
}

SL-SRAP-ConfigPC5-r18 ::=               SEQUENCE {
    sl-PeerRemoteUE-L2Identity-r18          SL-DestinationIdentity-r16                                          OPTIONAL, -- Need M
    sl-PeerRemoteUE-LocalIdentity-r18       INTEGER (0..255)                                                    OPTIONAL, -- Need M
    sl-RemoteUE-L2Identity-r18              SL-SourceIdentity-r17                                               OPTIONAL, -- Need M
    sl-RemoteUE-LocalIdentity-r18           INTEGER (0..255)                                                    OPTIONAL, -- Need M
    ...
}

-- TAG-RRCRECONFIGURATIONSIDELINK-STOP
-- TAG-RRCRECONFIGURATIONCOMPLETESIDELINK-START

RRCReconfigurationCompleteSidelink ::=         SEQUENCE {
    rrc-TransactionIdentifier-r16                  RRC-TransactionIdentifier,
    criticalExtensions                             CHOICE {
        rrcReconfigurationCompleteSidelink-r16         RRCReconfigurationCompleteSidelink-r16-IEs,
        criticalExtensionsFuture                       SEQUENCE {}
    }
}

RRCReconfigurationCompleteSidelink-r16-IEs ::= SEQUENCE {
    lateNonCriticalExtension                       OCTET STRING                                                       OPTIONAL,
    nonCriticalExtension                           RRCReconfigurationCompleteSidelink-v1710-IEs                       OPTIONAL
}

RRCReconfigurationCompleteSidelink-v1710-IEs ::=   SEQUENCE {
    dummy                                              ENUMERATED {true},
    nonCriticalExtension                               RRCReconfigurationCompleteSidelink-v1720-IEs                   OPTIONAL
}


RRCReconfigurationCompleteSidelink-v1720-IEs ::=   SEQUENCE {
    sl-DRX-ConfigReject-v1720                          ENUMERATED {true}                                              OPTIONAL,
    nonCriticalExtension                               SEQUENCE {}                                                    OPTIONAL
}

-- TAG-RRCRECONFIGURATIONCOMPLETESIDELINK-STOP
-- TAG-RRCRECONFIGURATIONFAILURESIDELINK-START

RRCReconfigurationFailureSidelink ::=         SEQUENCE {
    rrc-TransactionIdentifier-r16                 RRC-TransactionIdentifier,
    criticalExtensions                            CHOICE {
        rrcReconfigurationFailureSidelink-r16         RRCReconfigurationFailureSidelink-r16-IEs,
        criticalExtensionsFuture                      SEQUENCE {}
    }
}

RRCReconfigurationFailureSidelink-r16-IEs ::= SEQUENCE {
    lateNonCriticalExtension                      OCTET STRING                                                         OPTIONAL,
    nonCriticalExtension                          SEQUENCE {}                                                          OPTIONAL
}

-- TAG-RRCRECONFIGURATIONFAILURESIDELINK-STOP
-- TAG-UEASSISTANCEINFORMATIONSIDELINK-START

UEAssistanceInformationSidelink-r17 ::=       SEQUENCE {
    criticalExtensions                            CHOICE {
        ueAssistanceInformationSidelink-r17           UEAssistanceInformationSidelink-r17-IEs,
        criticalExtensionsFuture                      SEQUENCE {}
    }
}

UEAssistanceInformationSidelink-r17-IEs ::=   SEQUENCE {
    sl-PreferredDRX-ConfigList-r17                SEQUENCE (SIZE (1..maxNrofSL-RxInfoSet-r17)) OF SL-DRX-ConfigUC-SemiStatic-r17
                                                                                                        OPTIONAL, -- Need R
    lateNonCriticalExtension                      OCTET STRING                                          OPTIONAL,
    nonCriticalExtension                          SEQUENCE {}                                           OPTIONAL
}

-- TAG-UEASSISTANCEINFORMATIONSIDELINK-STOP
-- TAG-UECAPABILITYENQUIRYSIDELINK-START

UECapabilityEnquirySidelink ::=         SEQUENCE {
    rrc-TransactionIdentifier-r16           RRC-TransactionIdentifier,
    criticalExtensions                      CHOICE {
        ueCapabilityEnquirySidelink-r16         UECapabilityEnquirySidelink-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

UECapabilityEnquirySidelink-r16-IEs ::= SEQUENCE {
    frequencyBandListFilterSidelink-r16     FreqBandList                                                            OPTIONAL, -- Need N
    ue-CapabilityInformationSidelink-r16    OCTET STRING                                                            OPTIONAL, -- Need N
    lateNonCriticalExtension                OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                    SEQUENCE{}                                                              OPTIONAL
}

-- TAG-UECAPABILITYENQUIRYSIDELINK-STOP
-- TAG-UECAPABILITYINFORMATIONSIDELINK-START

UECapabilityInformationSidelink ::=         SEQUENCE {
    rrc-TransactionIdentifier-r16               RRC-TransactionIdentifier,
    criticalExtensions                          CHOICE {
        ueCapabilityInformationSidelink-r16         UECapabilityInformationSidelink-r16-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

UECapabilityInformationSidelink-r16-IEs ::= SEQUENCE {
    accessStratumReleaseSidelink-r16            AccessStratumReleaseSidelink-r16,
    pdcp-ParametersSidelink-r16                 PDCP-ParametersSidelink-r16                                             OPTIONAL,
    rlc-ParametersSidelink-r16                  RLC-ParametersSidelink-r16                                              OPTIONAL,
    supportedBandCombinationListSidelinkNR-r16  BandCombinationListSidelinkNR-r16                                       OPTIONAL,
    supportedBandListSidelink-r16               SEQUENCE (SIZE (1..maxBands)) OF BandSidelinkPC5-r16                    OPTIONAL,
    appliedFreqBandListFilter-r16               FreqBandList                                                            OPTIONAL,
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        UECapabilityInformationSidelink-v1700-IEs                               OPTIONAL
}

UECapabilityInformationSidelink-v1700-IEs ::= SEQUENCE {
    mac-ParametersSidelink-r17                    MAC-ParametersSidelink-r17                                            OPTIONAL,
    supportedBandCombinationListSidelinkNR-v1710  BandCombinationListSidelinkNR-v1710                                   OPTIONAL,
    nonCriticalExtension                          UECapabilityInformationSidelink-v1800-IEs                             OPTIONAL
}

UECapabilityInformationSidelink-v1800-IEs ::= SEQUENCE {
    sfn-DFN-OffsetSupported-r18                   ENUMERATED { supported }                                              OPTIONAL,
    posSIB-ForwardingSupported-r18                ENUMERATED { supported }                                              OPTIONAL,
    nonCriticalExtension                          SEQUENCE {}                                                           OPTIONAL
}

MAC-ParametersSidelink-r17 ::= SEQUENCE {
    drx-OnSidelink-r17                          ENUMERATED {supported}                                                  OPTIONAL,
    ...
}

AccessStratumReleaseSidelink-r16 ::= ENUMERATED { rel16, rel17, rel18, spare5, spare4, spare3, spare2, spare1, ... }

PDCP-ParametersSidelink-r16 ::= SEQUENCE {
    outOfOrderDeliverySidelink-r16              ENUMERATED {supported}      OPTIONAL,
    ...,
    [[
    pdcp-DuplicationSRB-sidelink-r18            ENUMERATED {supported}                                                  OPTIONAL,
    pdcp-DuplicationDRB-sidelink-r18            ENUMERATED {supported}                                                  OPTIONAL
    ]]
}

BandCombinationListSidelinkNR-r16 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkNR-r16

BandCombinationListSidelinkNR-v1710 ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationParametersSidelinkNR-v1710

BandCombinationParametersSidelinkNR-r16 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelink-r16

BandCombinationParametersSidelinkNR-v1710 ::= SEQUENCE (SIZE (1..maxSimultaneousBands)) OF BandParametersSidelink-v1710

BandParametersSidelink-v1710 ::=    SEQUENCE {
    --32-5a-1
    tx-IUC-Scheme1-Mode2Sidelink-r17    ENUMERATED {supported}                      OPTIONAL,
    --32-5b-1
    tx-IUC-Scheme2-Mode2Sidelink-r17    ENUMERATED {n4, n8, n16}                    OPTIONAL
}

BandSidelinkPC5-r16 ::=           SEQUENCE {
    freqBandSidelink-r16              FreqBandIndicatorNR,
    --15-1
    sl-Reception-r16                  SEQUENCE {
        harq-RxProcessSidelink-r16        ENUMERATED {n16, n24, n32, n64},
        pscch-RxSidelink-r16              ENUMERATED {value1, value2},
        scs-CP-PatternRxSidelink-r16      CHOICE {
            fr1-r16                           SEQUENCE {
                scs-15kHz-r16                     BIT STRING (SIZE (16))                            OPTIONAL,
                scs-30kHz-r16                     BIT STRING (SIZE (16))                            OPTIONAL,
                scs-60kHz-r16                     BIT STRING (SIZE (16))                            OPTIONAL
            },
            fr2-r16                           SEQUENCE {
                scs-60kHz-r16                     BIT STRING (SIZE (16))                            OPTIONAL,
                scs-120kHz-r16                    BIT STRING (SIZE (16))                            OPTIONAL
            }
        }                                                                                           OPTIONAL,
        extendedCP-RxSidelink-r16         ENUMERATED {supported}                                    OPTIONAL
    }                                                                                               OPTIONAL,
    --15-10
    sl-Tx-256QAM-r16                  ENUMERATED {supported}                                        OPTIONAL,
    --15-12
    lowSE-64QAM-MCS-TableSidelink-r16 ENUMERATED {supported}                                        OPTIONAL,
    ...,
    [[
    --15-14
    csi-ReportSidelink-r16                SEQUENCE {
        csi-RS-PortsSidelink-r16              ENUMERATED {p1, p2}
    }                                                                                               OPTIONAL,
    --15-19
    rankTwoReception-r16                  ENUMERATED {supported}                                    OPTIONAL,
    --15-23
    sl-openLoopPC-RSRP-ReportSidelink-r16 ENUMERATED {supported}                                    OPTIONAL,
    --13-1
    sl-Rx-256QAM-r16                      ENUMERATED {supported}                                    OPTIONAL
    ]],
    [[
    --32-5a-2
    rx-IUC-Scheme1-PreferredMode2Sidelink-r17      ENUMERATED {supported}                           OPTIONAL,
    --32-5a-3
    rx-IUC-Scheme1-NonPreferredMode2Sidelink-r17   ENUMERATED {supported}                           OPTIONAL,
    --32-5b-2
    rx-IUC-Scheme2-Mode2Sidelink-r17               ENUMERATED {n5, n15, n25, n32, n35, n45, n50, n64} OPTIONAL,
    --32-6-1
    rx-IUC-Scheme1-SCI-r17                         ENUMERATED {supported}                           OPTIONAL,
    --32-6-2
    rx-IUC-Scheme1-SCI-ExplicitReq-r17             ENUMERATED {supported}                           OPTIONAL,
    --32-7
    scheme2-ConflictDeterminationRSRP-r17          ENUMERATED {supported}                           OPTIONAL
    ]],
    [[
    -- R1 41-1-17: Open loop SL pathloss based power control for SL-PRS and associated PSCCH and SL RSRP report for dedicated resource
    -- pool
    sl-PathlossBasedOLPC-SL-RSRP-Report-r18        ENUMERATED {supported}                           OPTIONAL,
    -- R1 47-k4: Transmitting UE to UE COT sharing information
    sl-UE-COT-Sharing-r18                          ENUMERATED {supported}                           OPTIONAL,
    -- R1 47-m11: PSFCH transmissions in multiple contiguous RB sets
    sl-PSFCH-MultiContiguousRB-r18                 ENUMERATED {supported}                           OPTIONAL,
    -- R1 47-m11a: PSFCH transmissions in multiple non-contiguous RB sets
    sl-PSFCH-MultiNonContiguousRB-r18              ENUMERATED {supported}                           OPTIONAL,
    -- R1 47-v1: NR SL communication with SL CA
    sl-CA-Communication-r18                        SEQUENCE {
        numberOfCarriers-r18                           INTEGER (2..8),
        numberOfPSCCH-DecodeValueZ-r18                 INTEGER (1..2),
        totalBandwidth-r18                             ENUMERATED {mhz20,mhz30,mhz40,mhz50,mhz60,mhz70}
    }                                                                                               OPTIONAL,
    -- R4 45-2: SL reception in intra-carrier guard band
    sl-ReceptionIntraCarrierGuardBand-r18         ENUMERATED {supported}                            OPTIONAL,
    -- R4 45-3: Power class for sidelink unlicensed
    sl-PowerClassUnlicensed-r18                    ENUMERATED {pc5, spare7, spare6, spare5, spare4, spare3, spare2, spare1}    OPTIONAL
    ]]
}

-- TAG-UECAPABILITYINFORMATIONSIDELINK-STOP
-- TAG-UEINFORMATIONREQUESTSIDELINK-START

UEInformationRequestSidelink-r18 ::=      SEQUENCE {
    rrc-TransactionIdentifier-r18             RRC-TransactionIdentifier,
    criticalExtensions                        CHOICE {
        ueInformationRequestSidelink-r18          UEInformationRequestSidelink-r18-IEs,
        criticalExtensionsFuture                  SEQUENCE {}
    }
}

UEInformationRequestSidelink-r18-IEs ::= SEQUENCE {
    sl-E2E-QoS-InfoListPC5-r18               SEQUENCE (SIZE (1..maxNrofSLRB-r16)) OF SL-E2E-QoS-InfoPC5-r18 OPTIONAL, -- Need N
    lateNonCriticalExtension                 OCTET STRING                                                             OPTIONAL,
    nonCriticalExtension                     SEQUENCE {}                                                              OPTIONAL
}

SL-E2E-QoS-InfoPC5-r18 ::=               SEQUENCE {
        sl-DestinationIdentityRemoteUE-r18   SL-DestinationIdentity-r16,
        sl-E2E-SLRB-Index-r18                SLRB-PC5-ConfigIndex-r16,
        sl-QoS-InfoList-r18                  SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16
}

-- TAG-UEINFORMATIONREQUESTSIDELINK-STOP
-- TAG-UEINFORMATIONRESPONSESIDELINK-START

UEInformationResponseSidelink-r18 ::=       SEQUENCE {
    rrc-TransactionIdentifier-r18               RRC-TransactionIdentifier,
    criticalExtensions                          CHOICE {
        ueInformationResponseSidelink-r18           UEInformationResponseSidelink-r18-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

UEInformationResponseSidelink-r18-IEs ::=  SEQUENCE {
    sl-SplitQoS-InfoListPC5-r18                SEQUENCE (SIZE (1.. maxNrofSL-QFIs-r16)) OF SL-SplitQoS-InfoPC5-r18 OPTIONAL, -- Need N
    lateNonCriticalExtension                   OCTET STRING                                                OPTIONAL,
    nonCriticalExtension                       SEQUENCE {}                                                 OPTIONAL
}

SL-SplitQoS-InfoPC5-r18 ::=                SEQUENCE {
    sl-QoS-FlowIdentity-r18                 SL-QoS-FlowIdentity-r16,
    sl-SplitPacketDelayBudget-r18           INTEGER (0..1023)
}

-- TAG-UEINFORMATIONRESPONSESIDELINK-STOP
-- TAG-UUMESSAGETRANSFERSIDELINK-START

UuMessageTransferSidelink-r17 ::=           SEQUENCE {
    criticalExtensions                          CHOICE {
        uuMessageTransferSidelink-r17               UuMessageTransferSidelink-r17-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

UuMessageTransferSidelink-r17-IEs ::=       SEQUENCE {
    sl-PagingDelivery-r17                       OCTET STRING (CONTAINING PagingRecord)                   OPTIONAL,   -- Need N
    sl-SIB1-Delivery-r17                        OCTET STRING (CONTAINING SIB1)                           OPTIONAL,   -- Need N
    sl-SystemInformationDelivery-r17            OCTET STRING (CONTAINING SystemInformation)              OPTIONAL,   -- Need N
    lateNonCriticalExtension                    OCTET STRING                                             OPTIONAL,
    nonCriticalExtension                        UuMessageTransferSidelink-v1800-IEs                      OPTIONAL
}

UuMessageTransferSidelink-v1800-IEs ::=     SEQUENCE {
    sl-PagingDelivery-r18                       OCTET STRING (CONTAINING PagingRecord-v1700)             OPTIONAL,   -- Need N
    nonCriticalExtension                        SEQUENCE {}                                              OPTIONAL
}

-- TAG-UUMESSAGETRANSFERSIDELINK-STOP

END