Skip to content

RRC

Summary
  • RRC (Radio Resource Control) is the control-plane protocol between the UE and the gNB. It sits above PDCP, RLC, and MAC in the NR Access Stratum.
  • It's responsible for:6

    • Broadcast of System Information related to AS and NAS;
    • Paging initiated by CN or RAN;
    • Establishment, maintenance and release of an RRC connection between the UE and NR RAN including:
      • Addition, modification and release of carrier aggregation;
      • Addition, modification and release of Dual Connectivity in NR or between LTE and NR [FFS: or between NR and WLAN];
    • Security functions including key management;
    • Establishment, configuration, maintenance and release of signalling radio bearers and data radio bearers;
    • Mobility functions including:
      • Handover;
      • UE cell selection and reselection and control of cell selection and reselection;
      • Context transfer at handover.
    • QoS management functions;
    • UE measurement reporting and control of the reporting;
    • NAS message transfer to/from NAS from/to UE.
  • RRC governs which of three states a UE is in at any given moment — RRC_IDLE, RRC_INACTIVE, or RRC_CONNECTED — and everything the UE is allowed to do depends on that state.

Think of RRC as:

"The paperwork and rulebook layer — it's what decides whether you're connected, how you're connected, and what you're allowed to do at any given moment."

If you are confused...

To see this more clearly, you can follow the hands-on tutorial with Open5GS and UERANSIM in Try 5G Yourself.

RRC States

RRC State Diagram

Figure 1. RRC_IDLE / RRC_INACTIVE / RRC_CONNECTED and their transitions1

State UE Mobility AS Context Typical Use
RRC_IDLE
  • PLMN selection;
  • Broadcast of system information;
  • Cell re-selection mobility;
  • Paging for mobile terminated data is initiated by 5GC (Core Network);
  • Paging area is managed by 5GC.
Not held by network or UE (no AS context stored) Powered on, no active traffic, battery saving
RRC_INACTIVE
  • Cell re-selection mobility;
  • NG-RAN – 5GC connection (both control and user planes) has been established for the UE and is suspended/maintained;
  • The UE AS context is stored in at least one gNB (last serving gNB) and the UE;
  • Paging is initiated by NG-RAN (RNA-based paging);
  • RAN-based Notification Area (RNA) is managed by NG-RAN;
  • NG-RAN knows the RNA to which the UE belongs.
Preserved at both UE and last serving gNB Bursty/intermittent traffic — fast resume to RRC_CONNECTED without a full setup
RRC_CONNECTED
  • The UE has an active NR RRC connection;
  • The UE has a fully established AS context in NR;
  • NG-RAN knows the exact serving cell/beam the UE belongs to;
  • Transfer of unicast data to/from the UE;
  • Network-controlled mobility (e.g., handovers within NR and inter-RAT).
Fully established and active at both UE and gNB Active data transfer or signaling

Table 1. RRC States

Why RRC_INACTIVE exists?

LTE only had two states — Idle and Connected — and modern smartphone traffic patterns (frequent small bursts of data) meant devices were constantly bouncing between them, generating heavy signalling load and adding latency each time. 5G NR added RRC_INACTIVE as a middle ground: the UE's AS context is preserved at both ends, so resuming to RRC_CONNECTED is a much lighter procedure than a full setup from RRC_IDLE.2

RRC_INACTIVE only applies when the UE is connected to the 5G Core — in Non-Standalone (NSA) deployments, only RRC_CONNECTED is applicable for the NR cell.2

RRC State Transitions

Transition Triggering Message
RRC_IDLE → RRC_CONNECTED RRC Setup
RRC_CONNECTED → RRC_IDLE RRC Release (no suspend config)
RRC_CONNECTED → RRC_INACTIVE RRC Release (with suspendConfig)
RRC_INACTIVE → RRC_CONNECTED RRC Resume
RRC_INACTIVE → RRC_IDLE RRC Release (received while inactive)
RRC_CONNECTED → RRC_CONNECTED (recovery) RRC Re-establishment (after radio link failure)

Table 2. RRC State Transitions

Every arrow into RRC_CONNECTED needs RACH first

Setup, Resume, and Re-establishment all require the UE to first go through the RACH procedure — the RRC request message itself (RRCSetupRequest, RRCResumeRequest, or RRCReestablishmentRequest) is what actually gets carried as the payload of Msg3 or MsgA.

RRC Connection Establishment

Step Message Direction Carried Over
1 RRCSetupRequest UE → gNB CCCH, inside RACH Msg3/MsgA
2 RRCSetup gNB → UE CCCH, configures SRB1
3 RRCSetupComplete UE → gNB SRB1 — includes the NAS Registration Request

Table 3. RRC Connection Establishment

This same three-message exchange is what you'll see summarized in an SA registration call flow.3

Purpose
  1. "I'd like to connect — here's a temporary reason why."
  2. "Sure, here's your basic radio bearer config."
  3. "Got it, and by the way, here's my NAS message for the core network."

For how this fits into the bigger picture — SSB, RACH, and RRC working together — see the 5G Overview page.

This is CBRA territory

Initial RRCSetupRequest almost always rides on a contention-based RACH attempt — the network has no idea this UE exists yet, so it can't have reserved a dedicated preamble for it.

RRC Reconfiguration

RRCReconfiguration is the single most flexible message in RRC — it's used to add, modify, or release radio bearers; configure measurements; add/remove SCells or secondary cell groups (carrier aggregation, dual connectivity); and, critically, to perform handover.

Reconfiguration with sync (handover)

When RRCReconfiguration includes a reconfigurationWithSync field, it's telling the UE to synchronize to a new cell — this is how NR handover works at the RRC level. Because the target cell already knows this specific UE is coming, the RACH attempt to the new cell is typically contention-free, using a preamble the target gNB reserved in advance.

The UE confirms successful application of the new configuration with RRCReconfigurationComplete.

Purpose
  1. "Here's your updated configuration — bearers, measurements, maybe even a new cell to synchronize to."
  2. "Done, and it's working."

RRC Connection Release, Suspend & Resume

RRCRelease moves the UE out of RRC_CONNECTED, but how depends on whether it carries a suspendConfig:

  • Without suspendConfig → the UE goes to RRC_IDLE, and both sides discard the AS context.
  • With suspendConfig → the UE goes to RRC_INACTIVE, keeps its AS context, and is assigned an I-RNTI to identify that stored context for a later resume.

To come back to RRC_CONNECTED from RRC_INACTIVE, the UE sends RRCResumeRequest (carrying its I-RNTI, again via RACH Msg3/MsgA), and the network responds with RRCResume — a much lighter message than RRCSetup, since most configuration is simply restored from the preserved context — followed by RRCResumeComplete.4

Resume vs. Re-establishment

Don't confuse RRC Resume (planned, from RRC_INACTIVE, using a stored context and I-RNTI) with RRC Re-establishment (a recovery attempt after a radio link failure while still notionally in RRC_CONNECTED, using the C-RNTI the UE already had).

RRC Information Elements

QXDM Tip

If you're looking at a real device log in QXDM or QCAT, every message in the catalog below shows up under log code 0xB821 — "NR5G RRC OTA Packet". Filtering on that code and decoding the payload will show you the message type field and each IE, in a form that maps directly onto the ASN.1 structures you fill in below.

RRC Message Catalog

Before diving into the ASN.1 itself, here's a quick reference for every RRC message defined in the spec, in roughly the order you'd encounter them across a UE's lifecycle — from broadcast, through establishment, through connected-state signalling, to mobility and release.5

Abbreviations

RLC-SAP modes: TM = Transparent Mode, UM = Unacknowledged Mode, AM = Acknowledged Mode. Direction follows the spec's own wording ("UE to Network" / "Network to UE") rather than naming a specific node, since technically it's the NG-RAN, not just the gNB.

Message
SRB
RLC-SAP
Logical-channel
Direction
Description
MIB No SRB
TM
BCCH
Network → UE
The MIB includes the system information transmitted on BCH.
SIB1 No SRB
TM
BCCH
Network → UE
SIB1 contains information relevant when evaluating if a UE is allowed to access a cell and defines the scheduling of other system information. It also contains radio resource configuration information that is common for all UEs and barring information applied to the unified access control.
SystemInformation No SRB
TM
BCCH
Network → UE
The SystemInformation message is used to convey one or more System Information Blocks or Positioning System Information Blocks. All the SIBs or posSIBs included are transmitted with the same periodicity.
Paging No SRB
TM
PCCH
Network → UE
The Paging message is used for the notification of one or more UEs.
RRCSystemInfoRequest SRB0
TM
CCCH
UE → Network
The RRCSystemInfoRequest message is used to request SI message(s) required by the UE as specified in clause 5.2.2.3.3 and 5.2.2.3.3a.
RRCSetupRequest SRB0
TM
CCCH
UE → Network
The RRCSetupRequest message is used to request the establishment of an RRC connection.
RRCReject SRB0
TM
CCCH
Network → UE
The RRCReject message is used to reject an RRC connection establishment or an RRC connection resumption.
RRCSetup SRB0
TM
CCCH
Network → UE
The RRCSetup message is used to establish SRB1.
RRCSetupComplete SRB1
AM
DCCH
UE → Network
The RRCSetupComplete message is used to confirm the successful completion of an RRC connection establishment.
SecurityModeCommand SRB1
AM
DCCH
Network → UE
The SecurityModeCommand message is used to command the activation of AS security.
SecurityModeComplete SRB1
AM
DCCH
UE → Network
The SecurityModeComplete message is used to confirm the successful completion of a security mode command.
SecurityModeFailure SRB1
AM
DCCH
UE → Network
The SecurityModeFailure message is used to indicate an unsuccessful completion of a security mode command.
UECapabilityEnquiry SRB1
AM
DCCH
Network → UE
The UECapabilityEnquiry message is used to request UE radio access capabilities for NR as well as for other RATs.
UECapabilityInformation SRB1
AM
DCCH
UE → Network
The IE UECapabilityInformation message is used to transfer UE radio access capabilities requested by the network.
RRCReconfigurationComplete SRB1/SRB3
AM
DCCH
UE → Network
The RRCReconfigurationComplete message is used to confirm the successful completion of an RRC connection reconfiguration.
DLInformationTransfer SRB1/SRB2
AM
DCCH
Network → UE
The DLInformationTransfer message is used for the downlink transfer of NAS dedicated information, timing information for the 5G internal system clock, or IAB-DU specific F1-C related information.
ULInformationTransfer SRB1/SRB2
AM
DCCH
UE → Network
The ULInformationTransfer message is used for the uplink transfer of NAS or non-3GPP dedicated information, or IAB-DU specific F1-C related information.
DLInformationTransferMRDC SRB3
AM
DCCH
Network → UE
The DLInformationTransferMRDC message is used for the downlink transfer of RRC messages during fast MCG link recovery.
ULInformationTransferMRDC SRB1, SRB3
AM
DCCH
UE → Network
The ULInformationTransferMRDC message is used for the uplink transfer of MR-DC dedicated information (e.g. for transferring the NR or E-UTRA RRC MeasurementReport message, the FailureInformation message, the UEAssistanceInformation message, the RRCReconfigurationComplete message, the IABOtherInformation message or the NR or E-UTRA RRC MCGFailureInformation message).
ULInformationTransferIRAT SRB1
AM
DCCH
UE → Network
The ULInformationTransferIRAT message is used for the uplink transfer of information terminated at NR MCG but specified by another RAT. In this version of the specification, the message is used for V2X sidelink communication messages specified in TS 36.331 [10].
MeasurementReport SRB1, SRB3
AM
DCCH
UE → Network
The MeasurementReport message is used for the indication of measurement results.
MeasurementReportAppLayer SRB4
AM
DCCH
UE → Network
The MeasurementReportAppLayer message is used for sending application layer measurement report.
UEAssistanceInformation SRB1, SRB3
AM
DCCH
UE → Network
The UEAssistanceInformation message is used for the indication of UE assistance information to the network.
CounterCheck SRB1
AM
DCCH
Network → UE
The CounterCheck message is used by the network to indicate the current COUNT MSB values associated to each DRB and to request the UE to compare these to its COUNT MSB values and to report the comparison results to the network.
CounterCheckResponse SRB1
AM
DCCH
UE → Network
The CounterCheckResponse message is used by the UE to respond to a CounterCheck message.
LocationMeasurementIndication SRB1
AM
DCCH
UE → Network
The LocationMeasurementIndication message is used to indicate that the UE is going to either start or stop location related measurement which requires measurement gaps.
FailureInformation SRB1/SRB3
AM
DCCH
UE → Network
The FailureInformation message is used to inform the network about a failure detected by the UE.
MCGFailureInformation SRB1
AM
DCCH
UE → Network
The MCGFailureInformation message is used to provide information regarding NR MCG failures detected by the UE.
SCGFailureInformation SRB1
AM
DCCH
UE → Network
The SCGFailureInformation message is used to provide information regarding NR SCG failures detected by the UE.
SCGFailureInformationEUTR SRB1
AM
DCCH
UE → Network
The SCGFailureInformationEUTRA message is used to provide information regarding E-UTRA SCG failures detected by the UE.
UEInformationRequest SRB1
AM
DCCH
Network → UE
The UEInformationRequest message is used by the network to retrieve information from the UE.
UEInformationResponse SRB1, SRB2
AM
DCCH
UE → Network
The UEInformationResponse message is used by the UE to transfer information requested by the network.
LoggedMeasurementConfiguration SRB1
AM
DCCH
Network → UE
The LoggedMeasurementConfiguration message is used to perform logging of measurement results while in RRC_IDLE or RRC_INACTIVE. It is used to transfer the logged measurement configuration for network performance optimisation.
DedicatedSIBRequest SRB1
AM
DCCH
UE → Network
The DedicatedSIBRequest message is used to request SIB(s) required by the UE in RRC_CONNECTED as specified in clause 5.2.2.3.5.
UEPositioningAssistanceInfo SRB1
AM
DCCH
UE → Network
The UEPositioningAssistanceInfo message is used to provide positioning assistance information as requested by the Network.
MBSInterestIndication SRB1
AM
DCCH
UE → Network
The MBSInterestIndication message is used to inform network that the UE is receiving/ interested to receive or no longer receiving/ interested to receive MBS broadcast service(s) via a broadcast MRB.
MBSBroadcastConfiguration No SRB
UM
MCCH
Network → UE
The MBSBroadcastConfiguration message contains the control information applicable for MBS broadcast services transmitted via broadcast MRB.
SidelinkUEInformationNR SRB1
AM
DCCH
UE → Network
The SidelinkUEinformationNR message is used for the indication of NR sidelink UE information to the network.
IABOtherInformation SRB1/SRB3
AM
DCCH
UE → Network
The IABOtherInformation message is used by IAB-MT to request the network to allocate IP addresses for the collocated IAB-DU or inform the network about IP addresses allocated to the collocated IAB-DU.
ULDedicatedMessageSegment SRB1/SRB4
AM
DCCH
UE → Network
The ULDedicatedMessageSegment message is used to transfer segments of the UECapabilityInformation or MeasurementReportAppLayer message. SRB1 is used at transfer of segments of UECapabilityInformation and SRB4 is used at transfer of segments of MeasurementReportAppLayer.
DLDedicatedMessageSegment SRB1
AM
DCCH
Network → UE
The DLDedicatedMessageSegment message is used to transfer one segment of the RRCResume or RRCReconfiguration messages.
MobilityFromNRCommand SRB1
AM
DCCH
Network → UE
The MobilityFromNRCommand message is used to command handover from NR to E-UTRA/EPC, E-UTRA/5GC or UTRA-FDD.
RRCReestablishmentRequest SRB0
TM
CCCH
UE → Network
The RRCReestablishmentRequest message is used to request the reestablishment of an RRC connection.
RRCReestablishment SRB1
TM
DCCH
Network → UE
The RRCReestablishment message is used to re-establish SRB1.
RRCReestablishmentComplete SRB1
AM
DCCH
UE → Network
The RRCReestablishmentComplete message is used to confirm the successful completion of an RRC connection re-establishment.
RRCResumeRequest SRB0
TM
CCCH
UE → Network
The RRCResumeRequest message is used to request the resumption of a suspended RRC connection or perform an RNA update.
RRCResumeRequest1 SRB0
TM
CCCH1
UE → Network
The RRCResumeRequest1 message is used to request the resumption of a suspended RRC connection or perform an RNA update.
RRCResume SRB1
AM
DCCH
Network → UE
The RRCResume message is used to resume the suspended RRC connection.
RRCResumeComplete SRB1
AM
DCCH
UE → Network
The RRCResumeComplete message is used to confirm the successful completion of an RRC connection resumption.
RRCRelease SRB1
AM
DCCH
Network → UE
The RRCRelease message is used to command the release of an RRC connection or the suspension of the RRC connection.

Table 4. RRC Message Catalog

RRC Message ASN.1 Examples

MIB
MIB ::=                             SEQUENCE {
    systemFrameNumber                   BIT STRING (SIZE (6)),
    subCarrierSpacingCommon             ENUMERATED {scs15or60, scs30or120},
    ssb-SubcarrierOffset                INTEGER (0..15),
    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},
    pdcch-ConfigSIB1                    PDCCH-ConfigSIB1,
    cellBarred                          ENUMERATED {barred, notBarred},
    intraFreqReselection                ENUMERATED {allowed, notAllowed},
    spare                               BIT STRING (SIZE (1))
}
SIB1
SIB1 ::=        SEQUENCE {
    cellSelectionInfo                   SEQUENCE {
        q-RxLevMin                          Q-RxLevMin,
        q-RxLevMinOffset                    INTEGER (1..8)                                              OPTIONAL,   -- Need S
        q-RxLevMinSUL                       Q-RxLevMin                                                  OPTIONAL,   -- Need R
        q-QualMin                           Q-QualMin                                                   OPTIONAL,   -- Need S
        q-QualMinOffset                     INTEGER (1..8)                                              OPTIONAL    -- Need S
    }                                                                                                   OPTIONAL,   -- Cond Standalone
    cellAccessRelatedInfo               CellAccessRelatedInfo,
    connEstFailureControl               ConnEstFailureControl                                           OPTIONAL,   -- Need R
    si-SchedulingInfo                   SI-SchedulingInfo                                               OPTIONAL,   -- Need R
    servingCellConfigCommon             ServingCellConfigCommonSIB                                      OPTIONAL,   -- Need R
    ims-EmergencySupport                ENUMERATED {true}                                               OPTIONAL,   -- Need R
    eCallOverIMS-Support                ENUMERATED {true}                                               OPTIONAL,   -- Need R
    ue-TimersAndConstants               UE-TimersAndConstants                                           OPTIONAL,   -- Need R
    uac-BarringInfo                     SEQUENCE {
        uac-BarringForCommon                UAC-BarringPerCatList                                           OPTIONAL,   -- Need S
        uac-BarringPerPLMN-List             UAC-BarringPerPLMN-List                                         OPTIONAL,   -- Need S
        uac-BarringInfoSetList              UAC-BarringInfoSetList,
        uac-AccessCategory1-SelectionAssistanceInfo CHOICE {
            plmnCommon                           UAC-AccessCategory1-SelectionAssistanceInfo,
            individualPLMNList                   SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AccessCategory1-SelectionAssistanceInfo
        }                                                                                                   OPTIONAL    -- Need S
    }                                                                                                   OPTIONAL,   -- Need R
    useFullResumeID                     ENUMERATED {true}                                               OPTIONAL,   -- Need R
    lateNonCriticalExtension            OCTET STRING                                                    OPTIONAL,
    nonCriticalExtension                SIB1-v1610-IEs                                                  OPTIONAL
}

SIB1-v1610-IEs ::=               SEQUENCE {
    idleModeMeasurementsEUTRA-r16    ENUMERATED{true}                                                   OPTIONAL,  -- Need R
    idleModeMeasurementsNR-r16       ENUMERATED{true}                                                   OPTIONAL,  -- Need R
    posSI-SchedulingInfo-r16         PosSI-SchedulingInfo-r16                                           OPTIONAL,  -- Need R
    nonCriticalExtension             SIB1-v1630-IEs                                                     OPTIONAL
}

SIB1-v1630-IEs ::=               SEQUENCE {
    uac-BarringInfo-v1630            SEQUENCE {
        uac-AC1-SelectAssistInfo-r16     SEQUENCE (SIZE (2..maxPLMN)) OF UAC-AC1-SelectAssistInfo-r16
    }                                                                                                   OPTIONAL,  -- Need R
    nonCriticalExtension             SIB1-v1700-IEs                                                     OPTIONAL
}

SIB1-v1700-IEs ::=               SEQUENCE {
    hsdn-Cell-r17                        ENUMERATED {true}                                              OPTIONAL,  -- Need R
    uac-BarringInfo-v1700                SEQUENCE {
        uac-BarringInfoSetList-v1700         UAC-BarringInfoSetList-v1700
    }                                                                                                   OPTIONAL,  -- Cond MINT
    sdt-ConfigCommon-r17                 SDT-ConfigCommonSIB-r17                                        OPTIONAL,  -- Need R
    redCap-ConfigCommon-r17              RedCap-ConfigCommonSIB-r17                                     OPTIONAL,  -- Need R
    featurePriorities-r17        SEQUENCE {
        redCapPriority-r17           FeaturePriority-r17                                                OPTIONAL,  -- Need R
        slicingPriority-r17          FeaturePriority-r17                                                OPTIONAL,  -- Need R
        msg3-Repetitions-Priority-r17 FeaturePriority-r17                                               OPTIONAL,  -- Need R
        sdt-Priority-r17             FeaturePriority-r17                                                OPTIONAL   -- Need R
    }                                                                                                   OPTIONAL,  -- Need R
    si-SchedulingInfo-v1700      SI-SchedulingInfo-v1700                                                OPTIONAL,  -- Need R
    hyperSFN-r17                 BIT STRING (SIZE (10))                                                 OPTIONAL,  -- Need R
    eDRX-AllowedIdle-r17         ENUMERATED {true}                                                      OPTIONAL,  -- Need R
    eDRX-AllowedInactive-r17     ENUMERATED {true}                                                      OPTIONAL,  -- Cond EDRX-RC
    intraFreqReselectionRedCap-r17 ENUMERATED {allowed, notAllowed}                                     OPTIONAL,  -- Need S
    cellBarredNTN-r17            ENUMERATED {barred, notBarred}                                         OPTIONAL,  -- Need S
    nonCriticalExtension         SIB1-v1740-IEs                                                         OPTIONAL
}

SIB1-v1740-IEs ::=               SEQUENCE {
    si-SchedulingInfo-v1740          SI-SchedulingInfo-v1740                                            OPTIONAL,  -- Need R
    nonCriticalExtension             SEQUENCE {}                                                        OPTIONAL
}

UAC-AccessCategory1-SelectionAssistanceInfo ::=    ENUMERATED {a, b, c}

UAC-AC1-SelectAssistInfo-r16 ::=     ENUMERATED {a, b, c, notConfigured}

SDT-ConfigCommonSIB-r17 ::=          SEQUENCE {
    sdt-RSRP-Threshold-r17               RSRP-Range                                                            OPTIONAL, -- Need R
    sdt-LogicalChannelSR-DelayTimer-r17  ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1}  OPTIONAL, -- Need R
    sdt-DataVolumeThreshold-r17          ENUMERATED {byte32, byte100, byte200, byte400, byte600, byte800, byte1000, byte2000, byte4000,
                                                    byte8000, byte9000, byte10000, byte12000, byte24000, byte48000, byte96000},
    t319a-r17                            ENUMERATED { ms100, ms200, ms300, ms400, ms600, ms1000, ms2000,
                                                    ms3000, ms4000, spare7, spare6, spare5, spare4, spare3, spare2, spare1}
}

RedCap-ConfigCommonSIB-r17 ::= SEQUENCE {
    halfDuplexRedCapAllowed-r17    ENUMERATED {true}                                                    OPTIONAL,  -- Need R
    cellBarredRedCap-r17           SEQUENCE {
        cellBarredRedCap1Rx-r17        ENUMERATED {barred, notBarred},
        cellBarredRedCap2Rx-r17        ENUMERATED {barred, notBarred}
    }                                                                                                   OPTIONAL,  -- Need R
    ...
}

FeaturePriority-r17 ::= INTEGER (0..7)
SystemInformation
SystemInformation ::=               SEQUENCE {
    criticalExtensions                  CHOICE {
        systemInformation                   SystemInformation-IEs,
        criticalExtensionsFuture-r16    CHOICE {
            posSystemInformation-r16        PosSystemInformation-r16-IEs,
            criticalExtensionsFuture        SEQUENCE {}
        }
    }
}

SystemInformation-IEs ::=           SEQUENCE {
    sib-TypeAndInfo                     SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
        sib2                                SIB2,
        sib3                                SIB3,
        sib4                                SIB4,
        sib5                                SIB5,
        sib6                                SIB6,
        sib7                                SIB7,
        sib8                                SIB8,
        sib9                                SIB9,
        ...,
        sib10-v1610                         SIB10-r16,
        sib11-v1610                         SIB11-r16,
        sib12-v1610                         SIB12-r16,
        sib13-v1610                         SIB13-r16,
        sib14-v1610                         SIB14-r16,
        sib15-v1700                         SIB15-r17,
        sib16-v1700                         SIB16-r17,
        sib17-v1700                         SIB17-r17,
        sib18-v1700                         SIB18-r17,
        sib19-v1700                         SIB19-r17,
        sib20-v1700                         SIB20-r17,
        sib21-v1700                         SIB21-r17
    },
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                SEQUENCE {}                         OPTIONAL
}
Paging
Paging ::=                          SEQUENCE {
    pagingRecordList                    PagingRecordList                                                        OPTIONAL, -- Need N
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                Paging-v1700-IEs                                                        OPTIONAL
}

Paging-v1700-IEs ::=                SEQUENCE {
    pagingRecordList-v1700              PagingRecordList-v1700                                                  OPTIONAL, -- Need N
    pagingGroupList-r17                 PagingGroupList-r17                                                     OPTIONAL, -- Need N
    nonCriticalExtension                SEQUENCE {}                                                             OPTIONAL
}

PagingRecordList ::=                SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord

PagingRecordList-v1700 ::=          SEQUENCE (SIZE(1..maxNrofPageRec)) OF PagingRecord-v1700

PagingGroupList-r17 ::=             SEQUENCE (SIZE(1..maxNrofPageGroup-r17)) OF TMGI-r17

PagingRecord ::=                    SEQUENCE {
    ue-Identity                         PagingUE-Identity,
    accessType                          ENUMERATED {non3GPP}    OPTIONAL,   -- Need N
    ...
}

PagingRecord-v1700 ::=              SEQUENCE {
    pagingCause-r17                     ENUMERATED {voice}      OPTIONAL    -- Need N
}

PagingUE-Identity ::=               CHOICE {
    ng-5G-S-TMSI                        NG-5G-S-TMSI,
    fullI-RNTI                          I-RNTI-Value,
    ...
}
RRCSystemInfoRequest
RRCSystemInfoRequest ::=            SEQUENCE {
    criticalExtensions                  CHOICE {
        rrcSystemInfoRequest                RRCSystemInfoRequest-IEs,
        criticalExtensionsFuture-r16        CHOICE {
            rrcPosSystemInfoRequest-r16         RRC-PosSystemInfoRequest-r16-IEs,
            criticalExtensionsFuture            SEQUENCE {}
        }
    }
}

RRCSystemInfoRequest-IEs ::=    SEQUENCE {
    requested-SI-List                   BIT STRING (SIZE (maxSI-Message)),  --32bits
    spare                               BIT STRING (SIZE (12))
}

RRC-PosSystemInfoRequest-r16-IEs ::=  SEQUENCE {
    requestedPosSI-List                   BIT STRING (SIZE (maxSI-Message)),  --32bits
    spare                                 BIT STRING (SIZE (11))
}
RRCSetupRequest
RRCSetupRequest ::=                 SEQUENCE {
    rrcSetupRequest                     RRCSetupRequest-IEs
}

RRCSetupRequest-IEs ::=             SEQUENCE {
    ue-Identity                         InitialUE-Identity,
    establishmentCause                  EstablishmentCause,
    spare                               BIT STRING (SIZE (1))
}

InitialUE-Identity ::=              CHOICE {
    ng-5G-S-TMSI-Part1                  BIT STRING (SIZE (39)),
    randomValue                         BIT STRING (SIZE (39))
}

EstablishmentCause ::=              ENUMERATED {
                                        emergency, highPriorityAccess, mt-Access, mo-Signalling,
                                        mo-Data, mo-VoiceCall, mo-VideoCall, mo-SMS, mps-PriorityAccess, mcs-PriorityAccess,
                                        spare6, spare5, spare4, spare3, spare2, spare1}
RRCReject
RRCReject ::=                       SEQUENCE {
    criticalExtensions                  CHOICE {
        rrcReject                           RRCReject-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCReject-IEs ::=                   SEQUENCE {
    waitTime                            RejectWaitTime                                                          OPTIONAL,   -- Need N
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}
RRCSetup
RRCSetup ::=                        SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcSetup                            RRCSetup-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCSetup-IEs ::=                    SEQUENCE {
    radioBearerConfig                   RadioBearerConfig,
    masterCellGroup                     OCTET STRING (CONTAINING CellGroupConfig),
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                RRCSetup-v1700-IEs                                                      OPTIONAL
}

RRCSetup-v1700-IEs ::=              SEQUENCE {
    sl-ConfigDedicatedNR-r17            SL-ConfigDedicatedNR-r16                           OPTIONAL, -- Cond L2RemoteUE
    sl-L2RemoteUE-Config-r17            SL-L2RemoteUE-Config-r17                           OPTIONAL, -- Cond L2RemoteUE
    nonCriticalExtension                SEQUENCE {}                                        OPTIONAL
}
RRCSetupComplete
RRCSetupComplete ::=                SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcSetupComplete                    RRCSetupComplete-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCSetupComplete-IEs ::=            SEQUENCE {
    selectedPLMN-Identity               INTEGER (1..maxPLMN),
    registeredAMF                       RegisteredAMF                                   OPTIONAL,
    guami-Type                          ENUMERATED {native, mapped}                     OPTIONAL,
    s-NSSAI-List                        SEQUENCE (SIZE (1..maxNrofS-NSSAI)) OF S-NSSAI  OPTIONAL,
    dedicatedNAS-Message                DedicatedNAS-Message,
    ng-5G-S-TMSI-Value                  CHOICE {
        ng-5G-S-TMSI                        NG-5G-S-TMSI,
        ng-5G-S-TMSI-Part2                  BIT STRING (SIZE (9))
    }                                                                                   OPTIONAL,
    lateNonCriticalExtension            OCTET STRING (CONTAINING RRCSetupComplete-v15s0-IEs) OPTIONAL,
    nonCriticalExtension                RRCSetupComplete-v1610-IEs                      OPTIONAL
}

-- Regular non-critical extensions:
RRCSetupComplete-v1610-IEs ::=      SEQUENCE {
    iab-NodeIndication-r16              ENUMERATED {true}                               OPTIONAL,
    idleMeasAvailable-r16               ENUMERATED {true}                               OPTIONAL,
    ue-MeasurementsAvailable-r16        UE-MeasurementsAvailable-r16                    OPTIONAL,
    mobilityHistoryAvail-r16            ENUMERATED {true}                               OPTIONAL,
    mobilityState-r16                   ENUMERATED {normal, medium, high, spare}        OPTIONAL,
    nonCriticalExtension                RRCSetupComplete-v1690-IEs                      OPTIONAL
}

RRCSetupComplete-v1690-IEs ::=      SEQUENCE {
    ul-RRC-Segmentation-r16             ENUMERATED {true}                               OPTIONAL,
    nonCriticalExtension                RRCSetupComplete-v1700-IEs                      OPTIONAL
}

RRCSetupComplete-v1700-IEs ::=      SEQUENCE {
    onboardingRequest-r17               ENUMERATED {true}                               OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                      OPTIONAL
}

-- Late non-critical extensions:
RRCSetupComplete-v15s0-IEs ::=      SEQUENCE {
-- Following field is only for REL-15 late non-critical extensions
    lateNonCriticalExtension            OCTET STRING                                    OPTIONAL,
    nonCriticalExtension                RRCSetupComplete-v16j0-IEs                      OPTIONAL
}

RRCSetupComplete-v16j0-IEs ::=      SEQUENCE {
-- Following field is only for REL-16 late non-critical extensions
    lateNonCriticalExtension            OCTET STRING                                    OPTIONAL,
    nonCriticalExtension                RRCSetupComplete-v17b0-IEs                      OPTIONAL
}

RRCSetupComplete-v17b0-IEs ::=      SEQUENCE {
    ul-RRC-MaxCapaSegments-r17          ENUMERATED {true}                               OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                      OPTIONAL
}

RegisteredAMF ::=                   SEQUENCE {
    plmn-Identity                       PLMN-Identity                                   OPTIONAL,
    amf-Identifier                      AMF-Identifier
}
SecurityModeCommand
SecurityModeCommand ::=             SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        securityModeCommand                 SecurityModeCommand-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

SecurityModeCommand-IEs ::=         SEQUENCE {
    securityConfigSMC                   SecurityConfigSMC,

    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}

SecurityConfigSMC ::=               SEQUENCE {
    securityAlgorithmConfig             SecurityAlgorithmConfig,
    ...
}
SecurityModeComplete
SecurityModeComplete ::=            SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        securityModeComplete                SecurityModeComplete-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

SecurityModeComplete-IEs ::=        SEQUENCE {
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}
SecurityModeFailure
SecurityModeFailure ::=             SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        securityModeFailure                 SecurityModeFailure-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

SecurityModeFailure-IEs ::=         SEQUENCE {
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}
UECapabilityEnquiry
UECapabilityEnquiry ::=             SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        ueCapabilityEnquiry                 UECapabilityEnquiry-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UECapabilityEnquiry-IEs ::=         SEQUENCE {
    ue-CapabilityRAT-RequestList        UE-CapabilityRAT-RequestList,
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    ue-CapabilityEnquiryExt             OCTET STRING (CONTAINING UECapabilityEnquiry-v1560-IEs)                 OPTIONAL --  Need N
}

UECapabilityEnquiry-v1560-IEs ::=   SEQUENCE {
    capabilityRequestFilterCommon       UE-CapabilityRequestFilterCommon                                        OPTIONAL, -- Need N
    nonCriticalExtension                UECapabilityEnquiry-v1610-IEs                                           OPTIONAL
}

UECapabilityEnquiry-v1610-IEs ::=   SEQUENCE {
    rrc-SegAllowed-r16                  ENUMERATED {enabled}           OPTIONAL, -- Need N
    nonCriticalExtension                UECapabilityEnquiry-v17b0-IEs  OPTIONAL
}

UECapabilityEnquiry-v17b0-IEs ::=   SEQUENCE {
    rrc-MaxCapaSegAllowed-r17           INTEGER (2..16)                OPTIONAL, -- Need N
    nonCriticalExtension                SEQUENCE {}                    OPTIONAL
}
UECapabilityInformation
UECapabilityInformation ::=         SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        ueCapabilityInformation             UECapabilityInformation-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UECapabilityInformation-IEs ::=     SEQUENCE {
    ue-CapabilityRAT-ContainerList      UE-CapabilityRAT-ContainerList                                          OPTIONAL,
    lateNonCriticalExtension            OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                SEQUENCE{}                                                              OPTIONAL
}
RRCReconfiguration
RRCReconfiguration ::=                  SEQUENCE {
    rrc-TransactionIdentifier               RRC-TransactionIdentifier,
    criticalExtensions                      CHOICE {
        rrcReconfiguration                      RRCReconfiguration-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

RRCReconfiguration-IEs ::=              SEQUENCE {
    radioBearerConfig                       RadioBearerConfig                                                      OPTIONAL, -- Need M
    secondaryCellGroup                      OCTET STRING (CONTAINING CellGroupConfig)                              OPTIONAL, -- Cond SCG
    measConfig                              MeasConfig                                                             OPTIONAL, -- Need M
    lateNonCriticalExtension                OCTET STRING (CONTAINING RRCReconfiguration-v15t0-IEs)                 OPTIONAL,
    nonCriticalExtension                    RRCReconfiguration-v1530-IEs                                           OPTIONAL
}

-- Regular non-critical extensions:
RRCReconfiguration-v1530-IEs ::=            SEQUENCE {
    masterCellGroup                         OCTET STRING (CONTAINING CellGroupConfig)                              OPTIONAL, -- Need M
    fullConfig                              ENUMERATED {true}                                                      OPTIONAL, -- Cond FullConfig
    dedicatedNAS-MessageList                SEQUENCE (SIZE(1..maxDRB)) OF DedicatedNAS-Message                     OPTIONAL, -- Cond nonHO
    masterKeyUpdate                         MasterKeyUpdate                                                        OPTIONAL, -- Cond MasterKeyChange
    dedicatedSIB1-Delivery                  OCTET STRING (CONTAINING SIB1)                                         OPTIONAL, -- Need N
    dedicatedSystemInformationDelivery      OCTET STRING (CONTAINING SystemInformation)                            OPTIONAL, -- Need N
    otherConfig                             OtherConfig                                                            OPTIONAL, -- Need M
    nonCriticalExtension                    RRCReconfiguration-v1540-IEs                                           OPTIONAL
}

RRCReconfiguration-v1540-IEs ::=        SEQUENCE {
    otherConfig-v1540                       OtherConfig-v1540                                                      OPTIONAL, -- Need M
    nonCriticalExtension                    RRCReconfiguration-v1560-IEs                                           OPTIONAL
}

RRCReconfiguration-v1560-IEs ::=         SEQUENCE {
    mrdc-SecondaryCellGroupConfig            SetupRelease { MRDC-SecondaryCellGroupConfig }                        OPTIONAL,   -- Need M
    radioBearerConfig2                       OCTET STRING (CONTAINING RadioBearerConfig)                           OPTIONAL,   -- Need M
    sk-Counter                               SK-Counter                                                            OPTIONAL,   -- Need N
    nonCriticalExtension                     RRCReconfiguration-v1610-IEs                                          OPTIONAL
}
RRCReconfiguration-v1610-IEs ::=        SEQUENCE {
    otherConfig-v1610                       OtherConfig-v1610                                                    OPTIONAL, -- Need M
    bap-Config-r16                          SetupRelease { BAP-Config-r16 }                                      OPTIONAL, -- Need M
    iab-IP-AddressConfigurationList-r16     IAB-IP-AddressConfigurationList-r16                                  OPTIONAL, -- Need M
    conditionalReconfiguration-r16          ConditionalReconfiguration-r16                                       OPTIONAL, -- Need M
    daps-SourceRelease-r16                  ENUMERATED{true}                                                     OPTIONAL, -- Need N
    t316-r16                                SetupRelease {T316-r16}                                              OPTIONAL, -- Need M
    needForGapsConfigNR-r16                 SetupRelease {NeedForGapsConfigNR-r16}                               OPTIONAL, -- Need M
    onDemandSIB-Request-r16                 SetupRelease { OnDemandSIB-Request-r16 }                             OPTIONAL, -- Need M
    dedicatedPosSysInfoDelivery-r16         OCTET STRING (CONTAINING PosSystemInformation-r16-IEs)               OPTIONAL, -- Need N
    sl-ConfigDedicatedNR-r16                SetupRelease {SL-ConfigDedicatedNR-r16}                              OPTIONAL, -- Need M
    sl-ConfigDedicatedEUTRA-Info-r16        SetupRelease {SL-ConfigDedicatedEUTRA-Info-r16}                      OPTIONAL, -- Need M
    targetCellSMTC-SCG-r16                  SSB-MTC                                                              OPTIONAL, -- Need S
    nonCriticalExtension                    RRCReconfiguration-v1700-IEs                                         OPTIONAL
}

RRCReconfiguration-v1700-IEs ::=        SEQUENCE {
    otherConfig-v1700                       OtherConfig-v1700                                              OPTIONAL, -- Need M
    sl-L2RelayUE-Config-r17                 SetupRelease { SL-L2RelayUE-Config-r17 }                       OPTIONAL, -- Need M
    sl-L2RemoteUE-Config-r17                SetupRelease { SL-L2RemoteUE-Config-r17 }                      OPTIONAL, -- Need M
    dedicatedPagingDelivery-r17             OCTET STRING (CONTAINING Paging)                               OPTIONAL, -- Cond PagingRelay
    needForGapNCSG-ConfigNR-r17             SetupRelease {NeedForGapNCSG-ConfigNR-r17}                     OPTIONAL, -- Need M
    needForGapNCSG-ConfigEUTRA-r17          SetupRelease {NeedForGapNCSG-ConfigEUTRA-r17}                  OPTIONAL, -- Need M
    musim-GapConfig-r17                     SetupRelease {MUSIM-GapConfig-r17}                             OPTIONAL, -- Need M
    ul-GapFR2-Config-r17                    SetupRelease { UL-GapFR2-Config-r17 }                          OPTIONAL, -- Need M
    scg-State-r17                           ENUMERATED { deactivated }                                     OPTIONAL, -- Need S
    appLayerMeasConfig-r17                  AppLayerMeasConfig-r17                                         OPTIONAL, -- Need M
    ue-TxTEG-RequestUL-TDOA-Config-r17      SetupRelease {UE-TxTEG-RequestUL-TDOA-Config-r17}              OPTIONAL,  -- Need M
    nonCriticalExtension                    SEQUENCE {}                                                    OPTIONAL
}

-- Late non-critical Rel-15 extensions:
RRCReconfiguration-v15t0-IEs ::=        SEQUENCE {
    -- Following field is only to be used for late REL-15 extensions
    lateNonCriticalExtension                OCTET STRING                                                   OPTIONAL,
    nonCriticalExtension                    RRCReconfiguration-v16k0-IEs                                   OPTIONAL
}

RRCReconfiguration-v16k0-IEs ::=        SEQUENCE {
    sl-ConfigDedicatedNR-v16k0              SetupRelease {SL-ConfigDedicatedNR-v16k0}                      OPTIONAL, -- Need M
    nonCriticalExtension                    SEQUENCE{}                                                     OPTIONAL
}

MRDC-SecondaryCellGroupConfig ::=       SEQUENCE {
    mrdc-ReleaseAndAdd                      ENUMERATED {true}                                                     OPTIONAL,   -- Need N
    mrdc-SecondaryCellGroup                 CHOICE {
        nr-SCG                                  OCTET STRING  (CONTAINING RRCReconfiguration),
        eutra-SCG                               OCTET STRING
    }
}

BAP-Config-r16 ::=                      SEQUENCE {
    bap-Address-r16                         BIT STRING (SIZE (10))                                    OPTIONAL, -- Need M
    defaultUL-BAP-RoutingID-r16             BAP-RoutingID-r16                                         OPTIONAL, -- Need M
    defaultUL-BH-RLC-Channel-r16            BH-RLC-ChannelID-r16                                      OPTIONAL, -- Need M
    flowControlFeedbackType-r16             ENUMERATED {perBH-RLC-Channel, perRoutingID, both}        OPTIONAL, -- Need R
    ...
}

MasterKeyUpdate ::=                 SEQUENCE {
    keySetChangeIndicator           BOOLEAN,
    nextHopChainingCount            NextHopChainingCount,
    nas-Container                   OCTET STRING                                                     OPTIONAL,    -- Cond securityNASC
    ...
}

OnDemandSIB-Request-r16 ::=                  SEQUENCE {
    onDemandSIB-RequestProhibitTimer-r16         ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30}
}

T316-r16 ::=         ENUMERATED {ms50, ms100, ms200, ms300, ms400, ms500, ms600, ms1000, ms1500, ms2000}

IAB-IP-AddressConfigurationList-r16 ::= SEQUENCE {
    iab-IP-AddressToAddModList-r16      SEQUENCE (SIZE(1..maxIAB-IP-Address-r16)) OF IAB-IP-AddressConfiguration-r16 OPTIONAL, -- Need N
    iab-IP-AddressToReleaseList-r16     SEQUENCE (SIZE(1..maxIAB-IP-Address-r16)) OF IAB-IP-AddressIndex-r16         OPTIONAL, -- Need N
    ...
}

IAB-IP-AddressConfiguration-r16 ::=     SEQUENCE {
    iab-IP-AddressIndex-r16                 IAB-IP-AddressIndex-r16,
    iab-IP-Address-r16                      IAB-IP-Address-r16                                                OPTIONAL,  -- Need M
    iab-IP-Usage-r16                        IAB-IP-Usage-r16                                                  OPTIONAL,  -- Need M
    iab-donor-DU-BAP-Address-r16            BIT STRING (SIZE(10))                                             OPTIONAL,  -- Need M
...
}

SL-ConfigDedicatedEUTRA-Info-r16 ::=            SEQUENCE {
    sl-ConfigDedicatedEUTRA-r16                    OCTET STRING                                              OPTIONAL,  -- Need M
    sl-TimeOffsetEUTRA-List-r16                    SEQUENCE (SIZE (8)) OF SL-TimeOffsetEUTRA-r16             OPTIONAL    -- Need M
}

SL-TimeOffsetEUTRA-r16 ::=        ENUMERATED {ms0, ms0dot25, ms0dot5, ms0dot625, ms0dot75, ms1, ms1dot25, ms1dot5, ms1dot75,
                                            ms2, ms2dot5, ms3, ms4, ms5, ms6, ms8, ms10, ms20}

UE-TxTEG-RequestUL-TDOA-Config-r17 ::=  CHOICE {
    oneShot-r17                             NULL,
    periodicReporting-r17                   ENUMERATED { ms160, ms320, ms1280, ms2560, ms61440, ms81920, ms368640, ms737280 }
}
RRCReconfigurationComplete
RRCReconfigurationComplete ::=              SEQUENCE {
    rrc-TransactionIdentifier                   RRC-TransactionIdentifier,
    criticalExtensions                          CHOICE {
        rrcReconfigurationComplete                  RRCReconfigurationComplete-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

RRCReconfigurationComplete-IEs ::=          SEQUENCE {
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1530-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1530-IEs ::=    SEQUENCE {
    uplinkTxDirectCurrentList                   UplinkTxDirectCurrentList                                               OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1560-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1560-IEs ::=    SEQUENCE {
    scg-Response                                CHOICE {
        nr-SCG-Response                             OCTET STRING (CONTAINING RRCReconfigurationComplete),
        eutra-SCG-Response                          OCTET STRING
    }                                                                                                                       OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1610-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1610-IEs ::=    SEQUENCE {
    ue-MeasurementsAvailable-r16                UE-MeasurementsAvailable-r16                                            OPTIONAL,
    needForGapsInfoNR-r16                       NeedForGapsInfoNR-r16                                                   OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1640-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1640-IEs ::=    SEQUENCE {
    uplinkTxDirectCurrentTwoCarrierList-r16     UplinkTxDirectCurrentTwoCarrierList-r16                                 OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1700-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1700-IEs ::=    SEQUENCE {
    needForGapNCSG-InfoNR-r17                   NeedForGapNCSG-InfoNR-r17                                               OPTIONAL,
    needForGapNCSG-InfoEUTRA-r17                NeedForGapNCSG-InfoEUTRA-r17                                            OPTIONAL,
    selectedCondRRCReconfig-r17                 CondReconfigId-r16                                                      OPTIONAL,
    nonCriticalExtension                        RRCReconfigurationComplete-v1720-IEs                                    OPTIONAL
}

RRCReconfigurationComplete-v1720-IEs ::=    SEQUENCE {
    uplinkTxDirectCurrentMoreCarrierList-r17    UplinkTxDirectCurrentMoreCarrierList-r17                                OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                                                             OPTIONAL
}
DLInformationTransfer
DLInformationTransfer ::=           SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        dlInformationTransfer           DLInformationTransfer-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

DLInformationTransfer-IEs ::=       SEQUENCE {
    dedicatedNAS-Message                DedicatedNAS-Message                OPTIONAL,   -- Need N
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                DLInformationTransfer-v1610-IEs     OPTIONAL
}

DLInformationTransfer-v1610-IEs ::= SEQUENCE {
    referenceTimeInfo-r16               ReferenceTimeInfo-r16               OPTIONAL,   -- Need N
    nonCriticalExtension                DLInformationTransfer-v1700-IEs     OPTIONAL
}

DLInformationTransfer-v1700-IEs ::= SEQUENCE {
    dedicatedInfoF1c-r17                DedicatedInfoF1c-r17                OPTIONAL,   -- Need N
    rxTxTimeDiff-gNB-r17                RxTxTimeDiff-r17                    OPTIONAL,   -- Need N
    ta-PDC-r17                          ENUMERATED {activate,deactivate}    OPTIONAL,   -- Need N
    sib9Fallback-r17                    ENUMERATED {true}                   OPTIONAL,   -- Need N
    nonCriticalExtension                SEQUENCE {}                         OPTIONAL
}
ULInformationTransfer
ULInformationTransfer ::=           SEQUENCE {
    criticalExtensions                  CHOICE {
        ulInformationTransfer               ULInformationTransfer-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

ULInformationTransfer-IEs ::=       SEQUENCE {
    dedicatedNAS-Message                DedicatedNAS-Message                OPTIONAL,
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                ULInformationTransfer-v1700-IEs     OPTIONAL
}

ULInformationTransfer-v1700-IEs ::=       SEQUENCE {
    dedicatedInfoF1c-r17                      DedicatedInfoF1c-r17                OPTIONAL,
    nonCriticalExtension                      SEQUENCE {}                         OPTIONAL
}
DLInformationTransferMRDC
DLInformationTransferMRDC-r16 ::=       SEQUENCE {
    criticalExtensions                      CHOICE {
        c1                                      CHOICE {
            dlInformationTransferMRDC-r16           DLInformationTransferMRDC-r16-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture                SEQUENCE {}
    }
}

DLInformationTransferMRDC-r16-IEs::=    SEQUENCE {
    dl-DCCH-MessageNR-r16                   OCTET STRING             OPTIONAL, -- Need N
    dl-DCCH-MessageEUTRA-r16                OCTET STRING             OPTIONAL, -- Need N
    lateNonCriticalExtension                OCTET STRING             OPTIONAL,
    nonCriticalExtension                    SEQUENCE {}              OPTIONAL
}
ULInformationTransferMRDC
ULInformationTransferMRDC ::=               SEQUENCE {
    criticalExtensions                          CHOICE {
        c1                                          CHOICE {
            ulInformationTransferMRDC                   ULInformationTransferMRDC-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture            SEQUENCE {}
    }
}

ULInformationTransferMRDC-IEs::=           SEQUENCE {
    ul-DCCH-MessageNR                           OCTET STRING                    OPTIONAL,
    ul-DCCH-MessageEUTRA                        OCTET STRING                    OPTIONAL,
    lateNonCriticalExtension                    OCTET STRING                    OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                     OPTIONAL
}
ULInformationTransferIRAT
ULInformationTransferIRAT-r16 ::=              SEQUENCE {
    criticalExtensions                                CHOICE {
        c1                                                   CHOICE {
            ulInformationTransferIRAT-r16                    ULInformationTransferIRAT-r16-IEs,
            spare3 NULL, spare2 NULL, spare1 NULL
        },
        criticalExtensionsFuture                     SEQUENCE {}
    }
}

ULInformationTransferIRAT-r16-IEs ::=        SEQUENCE {
    ul-DCCH-MessageEUTRA-r16                           OCTET STRING             OPTIONAL,
    lateNonCriticalExtension                           OCTET STRING              OPTIONAL,
    nonCriticalExtension                                SEQUENCE {}               OPTIONAL
}
MeasurementReport
MeasurementReport ::=               SEQUENCE {
    criticalExtensions                  CHOICE {
        measurementReport                   MeasurementReport-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

MeasurementReport-IEs ::=           SEQUENCE {
    measResults                         MeasResults,

    lateNonCriticalExtension                OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                    SEQUENCE{}                                                              OPTIONAL
}
MeasurementReportAppLayer
MeasurementReportAppLayer-r17 ::=     SEQUENCE {
    criticalExtensions                    CHOICE {
        measurementReportAppLayer-r17     MeasurementReportAppLayer-r17-IEs,
        criticalExtensionsFuture              SEQUENCE {}
    }
}

MeasurementReportAppLayer-r17-IEs ::=   SEQUENCE {
    measurementReportAppLayerList-r17       MeasurementReportAppLayerList-r17,
    lateNonCriticalExtension                OCTET STRING                                                           OPTIONAL,
    nonCriticalExtension                    SEQUENCE{}                                                             OPTIONAL
}

MeasurementReportAppLayerList-r17 ::= SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasReportAppLayer-r17

MeasReportAppLayer-r17 ::=        SEQUENCE {
    measConfigAppLayerId-r17              MeasConfigAppLayerId-r17,
    measReportAppLayerContainer-r17       OCTET STRING                                                             OPTIONAL,
    appLayerSessionStatus-r17             ENUMERATED {start, stop}                                                 OPTIONAL,
    ran-VisibleMeasurements-r17           RAN-VisibleMeasurements-r17                                              OPTIONAL
}

RAN-VisibleMeasurements-r17 ::=       SEQUENCE {
    appLayerBufferLevelList-r17           SEQUENCE (SIZE (1..8)) OF AppLayerBufferLevel-r17                        OPTIONAL,
    playoutDelayForMediaStartup-r17       INTEGER (0..30000)                                                       OPTIONAL,
    pdu-SessionIdList-r17                 SEQUENCE (SIZE (1..maxNrofPDU-Sessions-r17)) OF PDU-SessionID            OPTIONAL,
    ...
}

AppLayerBufferLevel-r17 ::= INTEGER (0..30000)
UEAssistanceInformation
UEAssistanceInformation ::=         SEQUENCE {
    criticalExtensions                  CHOICE {
        ueAssistanceInformation             UEAssistanceInformation-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UEAssistanceInformation-IEs ::=     SEQUENCE {
    delayBudgetReport                   DelayBudgetReport                   OPTIONAL,
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                UEAssistanceInformation-v1540-IEs   OPTIONAL
}

DelayBudgetReport::=                CHOICE {
    type1                               ENUMERATED {
                                            msMinus1280, msMinus640, msMinus320, msMinus160,msMinus80, msMinus60, msMinus40,
                                            msMinus20, ms0, ms20,ms40, ms60, ms80, ms160, ms320, ms640, ms1280},
    ...
}

UEAssistanceInformation-v1540-IEs ::= SEQUENCE {
    overheatingAssistance               OverheatingAssistance               OPTIONAL,
    nonCriticalExtension                UEAssistanceInformation-v1610-IEs   OPTIONAL
}

OverheatingAssistance ::=           SEQUENCE {
    reducedMaxCCs                       ReducedMaxCCs-r16                   OPTIONAL,
    reducedMaxBW-FR1                    ReducedMaxBW-FRx-r16                OPTIONAL,
    reducedMaxBW-FR2                    ReducedMaxBW-FRx-r16                OPTIONAL,
    reducedMaxMIMO-LayersFR1            SEQUENCE {
        reducedMIMO-LayersFR1-DL            MIMO-LayersDL,
        reducedMIMO-LayersFR1-UL            MIMO-LayersUL
    } OPTIONAL,
    reducedMaxMIMO-LayersFR2            SEQUENCE {
        reducedMIMO-LayersFR2-DL            MIMO-LayersDL,
        reducedMIMO-LayersFR2-UL            MIMO-LayersUL
    } OPTIONAL
}
OverheatingAssistance-r17 ::=       SEQUENCE {
    reducedMaxBW-FR2-2-r17              SEQUENCE {
        reducedBW-FR2-2-DL-r17              ReducedAggregatedBandwidth-r17,
        reducedBW-FR2-2-UL-r17              ReducedAggregatedBandwidth-r17
    } OPTIONAL,
    reducedMaxMIMO-LayersFR2-2          SEQUENCE {
        reducedMIMO-LayersFR2-2-DL          MIMO-LayersDL,
        reducedMIMO-LayersFR2-2-UL          MIMO-LayersUL
    } OPTIONAL
}

ReducedAggregatedBandwidth ::= ENUMERATED {mhz0, mhz10, mhz20, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100, mhz200, mhz300, mhz400}

ReducedAggregatedBandwidth-r17 ::= ENUMERATED {mhz0, mhz100, mhz200, mhz400, mhz800, mhz1200, mhz1600, mhz2000}

UEAssistanceInformation-v1610-IEs ::= SEQUENCE {
    idc-Assistance-r16                  IDC-Assistance-r16                  OPTIONAL,
    drx-Preference-r16                  DRX-Preference-r16                  OPTIONAL,
    maxBW-Preference-r16                MaxBW-Preference-r16                OPTIONAL,
    maxCC-Preference-r16                MaxCC-Preference-r16                OPTIONAL,
    maxMIMO-LayerPreference-r16         MaxMIMO-LayerPreference-r16         OPTIONAL,
    minSchedulingOffsetPreference-r16   MinSchedulingOffsetPreference-r16   OPTIONAL,
    releasePreference-r16               ReleasePreference-r16               OPTIONAL,
    sl-UE-AssistanceInformationNR-r16   SL-UE-AssistanceInformationNR-r16   OPTIONAL,
    referenceTimeInfoPreference-r16     BOOLEAN                             OPTIONAL,
    nonCriticalExtension                UEAssistanceInformation-v1700-IEs   OPTIONAL
}

UEAssistanceInformation-v1700-IEs ::= SEQUENCE {
    ul-GapFR2-Preference-r17              UL-GapFR2-Preference-r17              OPTIONAL,
    musim-Assistance-r17                  MUSIM-Assistance-r17                  OPTIONAL,
    overheatingAssistance-r17             OverheatingAssistance-r17             OPTIONAL,
    maxBW-PreferenceFR2-2-r17             MaxBW-PreferenceFR2-2-r17             OPTIONAL,
    maxMIMO-LayerPreferenceFR2-2-r17      MaxMIMO-LayerPreferenceFR2-2-r17      OPTIONAL,
    minSchedulingOffsetPreferenceExt-r17  MinSchedulingOffsetPreferenceExt-r17  OPTIONAL,
    rlm-MeasRelaxationState-r17           BOOLEAN                               OPTIONAL,
    bfd-MeasRelaxationState-r17           BIT STRING (SIZE (1..maxNrofServingCells)) OPTIONAL,
    nonSDT-DataIndication-r17             SEQUENCE {
        resumeCause-r17                       ResumeCause                       OPTIONAL
    }                                                                           OPTIONAL,
    scg-DeactivationPreference-r17        ENUMERATED { scg-DeactivationPreferred, noPreference }    OPTIONAL,
    uplinkData-r17                        ENUMERATED { true }                   OPTIONAL,
    rrm-MeasRelaxationFulfilment-r17      BOOLEAN                               OPTIONAL,
    propagationDelayDifference-r17        PropagationDelayDifference-r17        OPTIONAL,
    nonCriticalExtension                  SEQUENCE {}                           OPTIONAL
}

IDC-Assistance-r16 ::=                  SEQUENCE {
    affectedCarrierFreqList-r16             AffectedCarrierFreqList-r16               OPTIONAL,
    affectedCarrierFreqCombList-r16         AffectedCarrierFreqCombList-r16           OPTIONAL,
    ...
}

AffectedCarrierFreqList-r16 ::= SEQUENCE (SIZE (1.. maxFreqIDC-r16)) OF AffectedCarrierFreq-r16

AffectedCarrierFreq-r16 ::=     SEQUENCE {
    carrierFreq-r16                 ARFCN-ValueNR,
    interferenceDirection-r16       ENUMERATED {nr, other, both, spare}
}

AffectedCarrierFreqCombList-r16 ::= SEQUENCE (SIZE (1..maxCombIDC-r16)) OF AffectedCarrierFreqComb-r16

AffectedCarrierFreqComb-r16 ::=     SEQUENCE {
    affectedCarrierFreqComb-r16         SEQUENCE (SIZE (2..maxNrofServingCells)) OF  ARFCN-ValueNR    OPTIONAL,
    victimSystemType-r16                VictimSystemType-r16
}

VictimSystemType-r16 ::=    SEQUENCE {
    gps-r16                     ENUMERATED {true}        OPTIONAL,
    glonass-r16                 ENUMERATED {true}        OPTIONAL,
    bds-r16                     ENUMERATED {true}        OPTIONAL,
    galileo-r16                 ENUMERATED {true}        OPTIONAL,
    navIC-r16                   ENUMERATED {true}        OPTIONAL,
    wlan-r16                    ENUMERATED {true}        OPTIONAL,
    bluetooth-r16               ENUMERATED {true}        OPTIONAL,
    ...
}

DRX-Preference-r16 ::=              SEQUENCE {
    preferredDRX-InactivityTimer-r16    ENUMERATED {
                                            ms0, ms1, ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30, ms40, ms50, ms60, ms80,
                                            ms100, ms200, ms300, ms500, ms750, ms1280, ms1920, ms2560, spare9, spare8,
                                            spare7, spare6, spare5, spare4, spare3, spare2, spare1} OPTIONAL,
    preferredDRX-LongCycle-r16          ENUMERATED {
                                            ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512,
                                            ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, spare12, spare11, spare10,
                                            spare9, spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL,
    preferredDRX-ShortCycle-r16         ENUMERATED {
                                            ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
                                            ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
                                            spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 } OPTIONAL,
    preferredDRX-ShortCycleTimer-r16    INTEGER (1..16)    OPTIONAL
}

MaxBW-Preference-r16 ::=            SEQUENCE {
    reducedMaxBW-FR1-r16                ReducedMaxBW-FRx-r16                     OPTIONAL,
    reducedMaxBW-FR2-r16                ReducedMaxBW-FRx-r16                     OPTIONAL
}

MaxBW-PreferenceFR2-2-r17 ::=       SEQUENCE {
    reducedMaxBW-FR2-2-r17              SEQUENCE {
        reducedBW-FR2-2-DL-r17              ReducedAggregatedBandwidth-r17       OPTIONAL,
        reducedBW-FR2-2-UL-r17              ReducedAggregatedBandwidth-r17       OPTIONAL
    } OPTIONAL
}

MaxCC-Preference-r16 ::=            SEQUENCE {
    reducedMaxCCs-r16                   ReducedMaxCCs-r16                        OPTIONAL
}

MaxMIMO-LayerPreference-r16 ::=     SEQUENCE {
    reducedMaxMIMO-LayersFR1-r16        SEQUENCE {
        reducedMIMO-LayersFR1-DL-r16        INTEGER (1..8),
        reducedMIMO-LayersFR1-UL-r16        INTEGER (1..4)
    } OPTIONAL,
    reducedMaxMIMO-LayersFR2-r16        SEQUENCE {
        reducedMIMO-LayersFR2-DL-r16        INTEGER (1..8),
        reducedMIMO-LayersFR2-UL-r16        INTEGER (1..4)
    } OPTIONAL
}

MaxMIMO-LayerPreferenceFR2-2-r17 ::=    SEQUENCE {
    reducedMaxMIMO-LayersFR2-2-r17          SEQUENCE {
        reducedMIMO-LayersFR2-2-DL-r17          INTEGER (1..8),
        reducedMIMO-LayersFR2-2-UL-r17          INTEGER (1..4)
    } OPTIONAL
}

MinSchedulingOffsetPreference-r16 ::= SEQUENCE {
    preferredK0-r16                       SEQUENCE {
        preferredK0-SCS-15kHz-r16             ENUMERATED {sl1, sl2, sl4, sl6}              OPTIONAL,
        preferredK0-SCS-30kHz-r16             ENUMERATED {sl1, sl2, sl4, sl6}              OPTIONAL,
        preferredK0-SCS-60kHz-r16             ENUMERATED {sl2, sl4, sl8, sl12}             OPTIONAL,
        preferredK0-SCS-120kHz-r16            ENUMERATED {sl2, sl4, sl8, sl12}             OPTIONAL
    }                                                                                  OPTIONAL,
    preferredK2-r16                       SEQUENCE {
        preferredK2-SCS-15kHz-r16             ENUMERATED {sl1, sl2, sl4, sl6}             OPTIONAL,
        preferredK2-SCS-30kHz-r16             ENUMERATED {sl1, sl2, sl4, sl6}             OPTIONAL,
        preferredK2-SCS-60kHz-r16             ENUMERATED {sl2, sl4, sl8, sl12}            OPTIONAL,
        preferredK2-SCS-120kHz-r16            ENUMERATED {sl2, sl4, sl8, sl12}            OPTIONAL
    }                                                                                 OPTIONAL
}

MinSchedulingOffsetPreferenceExt-r17 ::=  SEQUENCE {
    preferredK0-r17                           SEQUENCE {
        preferredK0-SCS-480kHz-r17                ENUMERATED {sl8, sl16, sl32, sl48}      OPTIONAL,
        preferredK0-SCS-960kHz-r17                ENUMERATED {sl8, sl16, sl32, sl48}      OPTIONAL
    }                                                                                     OPTIONAL,
    preferredK2-r17                           SEQUENCE {
        preferredK2-SCS-480kHz-r17                ENUMERATED {sl8, sl16, sl32, sl48}      OPTIONAL,
        preferredK2-SCS-960kHz-r17                ENUMERATED {sl8, sl16, sl32, sl48}      OPTIONAL
    }                                                                                     OPTIONAL
}

MUSIM-Assistance-r17 ::=              SEQUENCE {
    musim-PreferredRRC-State-r17          ENUMERATED {idle, inactive, outOfConnected}     OPTIONAL,
    musim-GapPreferenceList-r17           MUSIM-GapPreferenceList-r17                     OPTIONAL
}

MUSIM-GapPreferenceList-r17 ::= SEQUENCE (SIZE (1..4)) OF MUSIM-GapInfo-r17

ReleasePreference-r16 ::=           SEQUENCE {
    preferredRRC-State-r16              ENUMERATED {idle, inactive, connected, outOfConnected}
}

ReducedMaxBW-FRx-r16 ::=            SEQUENCE {
    reducedBW-DL-r16                    ReducedAggregatedBandwidth,
    reducedBW-UL-r16                    ReducedAggregatedBandwidth
}

ReducedMaxCCs-r16 ::=               SEQUENCE {
    reducedCCsDL-r16                    INTEGER (0..31),
    reducedCCsUL-r16                    INTEGER (0..31)
}

SL-UE-AssistanceInformationNR-r16 ::= SEQUENCE (SIZE (1..maxNrofTrafficPattern-r16)) OF SL-TrafficPatternInfo-r16

SL-TrafficPatternInfo-r16::=          SEQUENCE {
    trafficPeriodicity-r16                ENUMERATED {ms20, ms50, ms100, ms200, ms300, ms400, ms500, ms600, ms700, ms800, ms900, ms1000},
    timingOffset-r16                      INTEGER (0..10239),
    messageSize-r16                       BIT STRING (SIZE (8)),
    sl-QoS-FlowIdentity-r16               SL-QoS-FlowIdentity-r16
}

UL-GapFR2-Preference-r17::=           SEQUENCE {
    ul-GapFR2-PatternPreference-r17       INTEGER (0..3)                     OPTIONAL
}

PropagationDelayDifference-r17 ::=  SEQUENCE (SIZE (1..4)) OF INTEGER (-270..270)
CounterCheck
CounterCheck ::=                SEQUENCE {
    rrc-TransactionIdentifier       RRC-TransactionIdentifier,
    criticalExtensions              CHOICE {
        counterCheck                    CounterCheck-IEs,
        criticalExtensionsFuture        SEQUENCE {}
    }
}

CounterCheck-IEs ::=            SEQUENCE {
    drb-CountMSB-InfoList           DRB-CountMSB-InfoList,
    lateNonCriticalExtension        OCTET STRING                        OPTIONAL,
    nonCriticalExtension            SEQUENCE {}                         OPTIONAL
}

DRB-CountMSB-InfoList ::=       SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info

DRB-CountMSB-Info ::=           SEQUENCE {
    drb-Identity                    DRB-Identity,
    countMSB-Uplink                 INTEGER(0..33554431),
    countMSB-Downlink               INTEGER(0..33554431)
}
CounterCheckResponse
CounterCheckResponse ::=        SEQUENCE {
    rrc-TransactionIdentifier       RRC-TransactionIdentifier,
    criticalExtensions              CHOICE {
        counterCheckResponse            CounterCheckResponse-IEs,
        criticalExtensionsFuture        SEQUENCE {}
    }
}

CounterCheckResponse-IEs ::=    SEQUENCE {
    drb-CountInfoList               DRB-CountInfoList,
    lateNonCriticalExtension        OCTET STRING                        OPTIONAL,
    nonCriticalExtension            SEQUENCE {}                         OPTIONAL

}

DRB-CountInfoList ::=           SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo

DRB-CountInfo ::=               SEQUENCE {
    drb-Identity                    DRB-Identity,
    count-Uplink                    INTEGER(0..4294967295),
    count-Downlink                  INTEGER(0..4294967295)
}
LocationMeasurementIndication
LocationMeasurementIndication ::=           SEQUENCE {
    criticalExtensions                          CHOICE {
        locationMeasurementIndication               LocationMeasurementIndication-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

LocationMeasurementIndication-IEs ::=       SEQUENCE {
    measurementIndication                       SetupRelease {LocationMeasurementInfo},
    lateNonCriticalExtension                    OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                        SEQUENCE{}                                                              OPTIONAL
}
FailureInformation
FailureInformation ::=         SEQUENCE {
    criticalExtensions             CHOICE {
        failureInformation             FailureInformation-IEs,
        criticalExtensionsFuture       SEQUENCE {}
    }
}

FailureInformation-IEs ::=     SEQUENCE {
    failureInfoRLC-Bearer          FailureInfoRLC-Bearer        OPTIONAL,
    lateNonCriticalExtension       OCTET STRING                 OPTIONAL,
    nonCriticalExtension           FailureInformation-v1610-IEs OPTIONAL
}

FailureInfoRLC-Bearer ::=      SEQUENCE {
    cellGroupId                    CellGroupId,
    logicalChannelIdentity         LogicalChannelIdentity,
    failureType                    ENUMERATED {rlc-failure, spare3, spare2, spare1}
}

FailureInformation-v1610-IEs ::= SEQUENCE {
    failureInfoDAPS-r16              FailureInfoDAPS-r16        OPTIONAL,
    nonCriticalExtension             SEQUENCE {}                OPTIONAL
}

FailureInfoDAPS-r16 ::=          SEQUENCE {
    failureType-r16                  ENUMERATED {daps-failure, spare3, spare2, spare1}
}
MCGFailureInformation
MCGFailureInformation-r16 ::=    SEQUENCE {
    criticalExtensions               CHOICE {
        mcgFailureInformation-r16        MCGFailureInformation-r16-IEs,
        criticalExtensionsFuture         SEQUENCE {}
    }
}

MCGFailureInformation-r16-IEs ::= SEQUENCE {
    failureReportMCG-r16              FailureReportMCG-r16                             OPTIONAL,
    lateNonCriticalExtension          OCTET STRING                                     OPTIONAL,
    nonCriticalExtension              SEQUENCE {}                                      OPTIONAL
}

FailureReportMCG-r16 ::=          SEQUENCE {
    failureType-r16                   ENUMERATED {t310-Expiry, randomAccessProblem, rlc-MaxNumRetx,
                                                        t312-Expiry-r16, lbt-Failure-r16, beamFailureRecoveryFailure-r16,
                                        bh-RLF-r16, spare1}                                                                            OPTIONAL,
    measResultFreqList-r16            MeasResultList2NR                                                                     OPTIONAL,
    measResultFreqListEUTRA-r16       MeasResultList2EUTRA                                                                  OPTIONAL,
    measResultSCG-r16                 OCTET STRING (CONTAINING MeasResultSCG-Failure)                                       OPTIONAL,
    measResultSCG-EUTRA-r16           OCTET STRING                                                                          OPTIONAL,
    measResultFreqListUTRA-FDD-r16    MeasResultList2UTRA                                                                   OPTIONAL,
    ...
}

MeasResultList2UTRA ::=    SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2UTRA-FDD-r16

MeasResult2UTRA-FDD-r16 ::=       SEQUENCE {
    carrierFreq-r16                   ARFCN-ValueUTRA-FDD-r16,
    measResultNeighCellList-r16       MeasResultListUTRA-FDD-r16
}

MeasResultList2EUTRA ::=          SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16
SCGFailureInformation
SCGFailureInformation ::=                   SEQUENCE {
    criticalExtensions                           CHOICE {
        scgFailureInformation                        SCGFailureInformation-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

SCGFailureInformation-IEs ::=            SEQUENCE {
    failureReportSCG                         FailureReportSCG                    OPTIONAL,
    nonCriticalExtension                     SCGFailureInformation-v1590-IEs     OPTIONAL
}

SCGFailureInformation-v1590-IEs ::=       SEQUENCE {
    lateNonCriticalExtension                OCTET STRING                        OPTIONAL,
    nonCriticalExtension                    SEQUENCE {}                         OPTIONAL
}

FailureReportSCG ::=                       SEQUENCE {
    failureType                                    ENUMERATED {
                                                            t310-Expiry, randomAccessProblem,
                                                            rlc-MaxNumRetx,
                                                            synchReconfigFailureSCG, scg-ReconfigFailure,
                                                            srb3-IntegrityFailure, other-r16, spare1},
    measResultFreqList                          MeasResultFreqList                                                      OPTIONAL,
    measResultSCG-Failure                      OCTET STRING (CONTAINING MeasResultSCG-Failure)                OPTIONAL,
    ...,
    [[
    locationInfo-r16                            LocationInfo-r16            OPTIONAL,
failureType-v1610                        ENUMERATED {scg-lbtFailure-r16, beamFailureRecoveryFailure-r16,
                                                        t312-Expiry-r16, bh-RLF-r16, beamFailure-r17, spare3, spare2, spare1} OPTIONAL
    ]],
    [[
    previousPSCellId-r17               SEQUENCE {
        physCellId-r17                     PhysCellId,
        carrierFreq-r17                    ARFCN-ValueNR
    }                                                           OPTIONAL,
    failedPSCellId-r17                 SEQUENCE {
        physCellId-r17                     PhysCellId,
        carrierFreq-r17                    ARFCN-ValueNR
    }                                                          OPTIONAL,
    timeSCGFailure-r17                 INTEGER (0..1023)        OPTIONAL,
    perRAInfoList-r17                  PerRAInfoList-r16        OPTIONAL
    ]],
    [[
    perRAInfoList-v17b0                PerRAInfoList-v1660      OPTIONAL
    ]]
}

MeasResultFreqList ::=             SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2NR
SCGFailureInformationEUTRA
SCGFailureInformationEUTRA ::=                SEQUENCE {
    criticalExtensions                                CHOICE {
        scgFailureInformationEUTRA                       SCGFailureInformationEUTRA-IEs,
        criticalExtensionsFuture                          SEQUENCE {}
    }
}

SCGFailureInformationEUTRA-IEs ::=           SEQUENCE {
    failureReportSCG-EUTRA                           FailureReportSCG-EUTRA                      OPTIONAL,
    nonCriticalExtension                              SCGFailureInformationEUTRA-v1590-IEs                                    OPTIONAL
}

SCGFailureInformationEUTRA-v1590-IEs ::=  SEQUENCE {
    lateNonCriticalExtension                  OCTET STRING            OPTIONAL,
    nonCriticalExtension                               SEQUENCE {}                  OPTIONAL
}

FailureReportSCG-EUTRA ::=                       SEQUENCE {
    failureType                                           ENUMERATED {
                                                                    t313-Expiry, randomAccessProblem,rlc-MaxNumRetx,
                                                                        scg-ChangeFailure, spare4,
                                                                        spare3, spare2, spare1},
    measResultFreqListMRDC                             MeasResultFreqListFailMRDC                                                   OPTIONAL,
    measResultSCG-FailureMRDC                         OCTET STRING                                                         OPTIONAL,
    ...,
    [[
    locationInfo-r16                                    LocationInfo-r16                                                         OPTIONAL
    ]]
}

MeasResultFreqListFailMRDC ::=      SEQUENCE (SIZE (1.. maxFreq)) OF MeasResult2EUTRA
UEInformationRequest
UEInformationRequest-r16 ::=     SEQUENCE {
    rrc-TransactionIdentifier        RRC-TransactionIdentifier,
    criticalExtensions               CHOICE {
        ueInformationRequest-r16         UEInformationRequest-r16-IEs,
        criticalExtensionsFuture         SEQUENCE {}
    }
}

UEInformationRequest-r16-IEs ::= SEQUENCE {
    idleModeMeasurementReq-r16       ENUMERATED{true}                         OPTIONAL, -- Need N
    logMeasReportReq-r16             ENUMERATED {true}                        OPTIONAL, -- Need N
    connEstFailReportReq-r16         ENUMERATED {true}                        OPTIONAL, -- Need N
    ra-ReportReq-r16                 ENUMERATED {true}                        OPTIONAL, -- Need N
    rlf-ReportReq-r16                ENUMERATED {true}                        OPTIONAL, -- Need N
    mobilityHistoryReportReq-r16       ENUMERATED {true}                        OPTIONAL, -- Need N
    lateNonCriticalExtension         OCTET STRING                             OPTIONAL,
    nonCriticalExtension             UEInformationRequest-v1700-IEs           OPTIONAL
}

UEInformationRequest-v1700-IEs ::= SEQUENCE {
    successHO-ReportReq-r17          ENUMERATED {true}                        OPTIONAL, -- Need N
    coarseLocationRequest-r17        ENUMERATED {true}                        OPTIONAL, -- Need N
    nonCriticalExtension             SEQUENCE {}                              OPTIONAL
}
UEInformationResponse
UEInformationResponse-r16 ::=        SEQUENCE {
    rrc-TransactionIdentifier            RRC-TransactionIdentifier,
    criticalExtensions                   CHOICE {
        ueInformationResponse-r16            UEInformationResponse-r16-IEs,
        criticalExtensionsFuture             SEQUENCE {}
    }
}

UEInformationResponse-r16-IEs ::=    SEQUENCE {
    measResultIdleEUTRA-r16              MeasResultIdleEUTRA-r16             OPTIONAL,
    measResultIdleNR-r16                 MeasResultIdleNR-r16                OPTIONAL,
    logMeasReport-r16                    LogMeasReport-r16                   OPTIONAL,
    connEstFailReport-r16                ConnEstFailReport-r16               OPTIONAL,
    ra-ReportList-r16                    RA-ReportList-r16                   OPTIONAL,
    rlf-Report-r16                       RLF-Report-r16                      OPTIONAL,
    mobilityHistoryReport-r16            MobilityHistoryReport-r16           OPTIONAL,
    lateNonCriticalExtension             OCTET STRING                        OPTIONAL,
    nonCriticalExtension                 UEInformationResponse-v1700-IEs     OPTIONAL
}

UEInformationResponse-v1700-IEs ::=    SEQUENCE {
    successHO-Report-r17                 SuccessHO-Report-r17                OPTIONAL,
    connEstFailReportList-r17            ConnEstFailReportList-r17           OPTIONAL,
    coarseLocationInfo-r17               OCTET STRING                        OPTIONAL,
    nonCriticalExtension                 SEQUENCE {}                         OPTIONAL
}

LogMeasReport-r16 ::=                SEQUENCE {
    absoluteTimeStamp-r16                AbsoluteTimeInfo-r16,
    traceReference-r16                   TraceReference-r16,
    traceRecordingSessionRef-r16         OCTET STRING (SIZE (2)),
    tce-Id-r16                           OCTET STRING (SIZE (1)),
    logMeasInfoList-r16                  LogMeasInfoList-r16,
    logMeasAvailable-r16                 ENUMERATED {true}                   OPTIONAL,
    logMeasAvailableBT-r16               ENUMERATED {true}                   OPTIONAL,
    logMeasAvailableWLAN-r16             ENUMERATED {true}                   OPTIONAL,
    ...
}

LogMeasInfoList-r16 ::=              SEQUENCE (SIZE (1..maxLogMeasReport-r16)) OF LogMeasInfo-r16

LogMeasInfo-r16 ::=                  SEQUENCE {
    locationInfo-r16                     LocationInfo-r16                    OPTIONAL,
    relativeTimeStamp-r16                INTEGER (0..7200),
    servCellIdentity-r16                 CGI-Info-Logging-r16                OPTIONAL,
    measResultServingCell-r16            MeasResultServingCell-r16           OPTIONAL,
    measResultNeighCells-r16             SEQUENCE {
        measResultNeighCellListNR            MeasResultListLogging2NR-r16    OPTIONAL,
        measResultNeighCellListEUTRA         MeasResultList2EUTRA-r16        OPTIONAL
    },
    anyCellSelectionDetected-r16         ENUMERATED {true}                   OPTIONAL,
    ...,
    [[
    inDeviceCoexDetected-r17             ENUMERATED {true}                   OPTIONAL
    ]]
}

ConnEstFailReport-r16 ::=            SEQUENCE {
    measResultFailedCell-r16             MeasResultFailedCell-r16,
    locationInfo-r16                     LocationInfo-r16                    OPTIONAL,
    measResultNeighCells-r16             SEQUENCE {
        measResultNeighCellListNR            MeasResultList2NR-r16               OPTIONAL,
        measResultNeighCellListEUTRA         MeasResultList2EUTRA-r16            OPTIONAL
    },
    numberOfConnFail-r16                 INTEGER (1..8),
    perRAInfoList-r16                            PerRAInfoList-r16,
    timeSinceFailure-r16                 TimeSinceFailure-r16,
    ...
}

ConnEstFailReportList-r17 ::= SEQUENCE (SIZE (1..maxCEFReport-r17)) OF ConnEstFailReport-r16

MeasResultServingCell-r16 ::=        SEQUENCE {
    resultsSSB-Cell                      MeasQuantityResults,
    resultsSSB                           SEQUENCE{
        best-ssb-Index                       SSB-Index,
        best-ssb-Results                     MeasQuantityResults,
        numberOfGoodSSB                      INTEGER (1..maxNrofSSBs-r16)
    }                                                                        OPTIONAL
}

MeasResultFailedCell-r16 ::=         SEQUENCE {
    cgi-Info                             CGI-Info-Logging-r16,
    measResult-r16                       SEQUENCE {
        cellResults-r16                      SEQUENCE{
            resultsSSB-Cell-r16                  MeasQuantityResults
        },
        rsIndexResults-r16                   SEQUENCE{
            resultsSSB-Indexes-r16               ResultsPerSSB-IndexList
        }
    }
}

RA-ReportList-r16 ::= SEQUENCE (SIZE (1..maxRAReport-r16)) OF RA-Report-r16

RA-Report-r16 ::=                    SEQUENCE {
    cellId-r16                           CHOICE {
        cellGlobalId-r16                     CGI-Info-Logging-r16,
        pci-arfcn-r16                        PCI-ARFCN-NR-r16
    },
    ra-InformationCommon-r16             RA-InformationCommon-r16                         OPTIONAL,
    raPurpose-r16                        ENUMERATED {accessRelated, beamFailureRecovery, reconfigurationWithSync, ulUnSynchronized,
                                                    schedulingRequestFailure, noPUCCHResourceAvailable, requestForOtherSI,
                                                    msg3RequestForOtherSI-r17, spare8, spare7, spare6, spare5, spare4, spare3,
                                                    spare2, spare1},
    ...,
    [[
    spCellID-r17                         CGI-Info-Logging-r16                             OPTIONAL
    ]]
}

RA-InformationCommon-r16 ::=         SEQUENCE {
    absoluteFrequencyPointA-r16          ARFCN-ValueNR,
    locationAndBandwidth-r16             INTEGER (0..37949),
    subcarrierSpacing-r16                SubcarrierSpacing,
    msg1-FrequencyStart-r16              INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    msg1-FrequencyStartCFRA-r16          INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    msg1-SubcarrierSpacing-r16           SubcarrierSpacing                                OPTIONAL,
    msg1-SubcarrierSpacingCFRA-r16       SubcarrierSpacing                                OPTIONAL,
    msg1-FDM-r16                         ENUMERATED {one, two, four, eight}               OPTIONAL,
    msg1-FDMCFRA-r16                     ENUMERATED {one, two, four, eight}               OPTIONAL,
    perRAInfoList-r16                    PerRAInfoList-r16,
    ...,
    [[
    perRAInfoList-v1660               PerRAInfoList-v1660                           OPTIONAL
    ]],
    [[
    msg1-SCS-From-prach-ConfigurationIndex-r16  ENUMERATED {kHz1dot25, kHz5, spare2, spare1}  OPTIONAL
    ]],
    [[
    msg1-SCS-From-prach-ConfigurationIndexCFRA-r16  ENUMERATED {kHz1dot25, kHz5, spare2, spare1} OPTIONAL
    ]],
    [[
    msgA-RO-FrequencyStart-r17           INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    msgA-RO-FrequencyStartCFRA-r17       INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    msgA-SubcarrierSpacing-r17           SubcarrierSpacing                                OPTIONAL,
    msgA-RO-FDM-r17                      ENUMERATED {one, two, four, eight}               OPTIONAL,
    msgA-RO-FDMCFRA-r17                  ENUMERATED {one, two, four, eight}               OPTIONAL,
    msgA-SCS-From-prach-ConfigurationIndex-r17  ENUMERATED {kHz1dot25, kHz5, spare2, spare1}  OPTIONAL,
    msgA-TransMax-r17                    ENUMERATED {n1, n2, n4, n6, n8, n10, n20, n50, n100, n200}  OPTIONAL,
    msgA-MCS-r17                         INTEGER (0..15)                                   OPTIONAL,
    nrofPRBs-PerMsgA-PO-r17              INTEGER (1..32)                                  OPTIONAL,
    msgA-PUSCH-TimeDomainAllocation-r17  INTEGER (1..maxNrofUL-Allocations)               OPTIONAL,
    frequencyStartMsgA-PUSCH-r17         INTEGER (0..maxNrofPhysicalResourceBlocks-1)     OPTIONAL,
    nrofMsgA-PO-FDM-r17                  ENUMERATED {one, two, four, eight}               OPTIONAL,
    dlPathlossRSRP-r17                   RSRP-Range                                       OPTIONAL,
    intendedSIBs-r17                     SEQUENCE (SIZE (1..maxSIB)) OF SIB-Type-r17      OPTIONAL,
    ssbsForSI-Acquisition-r17            SEQUENCE (SIZE (1..maxNrofSSBs-r16)) OF SSB-Index    OPTIONAL,
    msgA-PUSCH-PayloadSize-r17           BIT STRING (SIZE (5))                            OPTIONAL,
    onDemandSISuccess-r17                ENUMERATED {true}                                OPTIONAL
    ]]
}

PerRAInfoList-r16 ::= SEQUENCE (SIZE (1..200)) OF PerRAInfo-r16

PerRAInfoList-v1660 ::= SEQUENCE (SIZE (1..200)) OF PerRACSI-RSInfo-v1660

PerRAInfo-r16 ::=                    CHOICE {
    perRASSBInfoList-r16                 PerRASSBInfo-r16,
    perRACSI-RSInfoList-r16              PerRACSI-RSInfo-r16
}

PerRASSBInfo-r16 ::=                 SEQUENCE {
    ssb-Index-r16                        SSB-Index,
    numberOfPreamblesSentOnSSB-r16       INTEGER (1..200),
    perRAAttemptInfoList-r16             PerRAAttemptInfoList-r16
}

PerRACSI-RSInfo-r16 ::=              SEQUENCE {
    csi-RS-Index-r16                     CSI-RS-Index,
    numberOfPreamblesSentOnCSI-RS-r16    INTEGER (1..200)
}

PerRACSI-RSInfo-v1660 ::=         SEQUENCE {
    csi-RS-Index-v1660                   INTEGER (1..96)                     OPTIONAL
}

PerRAAttemptInfoList-r16 ::=         SEQUENCE (SIZE (1..200)) OF PerRAAttemptInfo-r16

PerRAAttemptInfo-r16 ::=             SEQUENCE {
    contentionDetected-r16               BOOLEAN                OPTIONAL,
    dlRSRPAboveThreshold-r16             BOOLEAN                OPTIONAL,
    ...,
    [[
    fallbackToFourStepRA-r17             ENUMERATED {true}      OPTIONAL
    ]]
}

SIB-Type-r17 ::= ENUMERATED {sibType2, sibType3, sibType4, sibType5, sibType9, sibType10, sibType11, sibType12,
                            sibType13, sibType14, spare6, spare5, spare4, spare3, spare2, spare1}

RLF-Report-r16 ::=                   CHOICE {
    nr-RLF-Report-r16                    SEQUENCE {
        measResultLastServCell-r16           MeasResultRLFNR-r16,
        measResultNeighCells-r16             SEQUENCE {
            measResultListNR-r16                 MeasResultList2NR-r16       OPTIONAL,
            measResultListEUTRA-r16              MeasResultList2EUTRA-r16    OPTIONAL
        }                                                OPTIONAL,
        c-RNTI-r16                           RNTI-Value,
        previousPCellId-r16                  CHOICE {
            nrPreviousCell-r16                   CGI-Info-Logging-r16,
            eutraPreviousCell-r16                CGI-InfoEUTRALogging
        }                                                                    OPTIONAL,
        failedPCellId-r16                    CHOICE {
            nrFailedPCellId-r16                  CHOICE {
                cellGlobalId-r16                     CGI-Info-Logging-r16,
                pci-arfcn-r16                        PCI-ARFCN-NR-r16
            },
            eutraFailedPCellId-r16           CHOICE {
                cellGlobalId-r16                 CGI-InfoEUTRALogging,
                pci-arfcn-r16                    PCI-ARFCN-EUTRA-r16
            }
        },
        reconnectCellId-r16                  CHOICE {
            nrReconnectCellId-r16                CGI-Info-Logging-r16,
            eutraReconnectCellId-r16             CGI-InfoEUTRALogging
        }                                                                                        OPTIONAL,
        timeUntilReconnection-r16            TimeUntilReconnection-r16                           OPTIONAL,
        reestablishmentCellId-r16            CGI-Info-Logging-r16                                OPTIONAL,
        timeConnFailure-r16                  INTEGER (0..1023)                                   OPTIONAL,
        timeSinceFailure-r16                 TimeSinceFailure-r16,
        connectionFailureType-r16            ENUMERATED {rlf, hof},
        rlf-Cause-r16                        ENUMERATED {t310-Expiry, randomAccessProblem, rlc-MaxNumRetx,
                                                        beamFailureRecoveryFailure, lbtFailure-r16,
                                                        bh-rlfRecoveryFailure, t312-expiry-r17, spare1},
        locationInfo-r16                     LocationInfo-r16                                    OPTIONAL,
        noSuitableCellFound-r16              ENUMERATED {true}                                   OPTIONAL,
        ra-InformationCommon-r16             RA-InformationCommon-r16                            OPTIONAL,
        ...,
        [[
        csi-rsRLMConfigBitmap-v1650          BIT STRING (SIZE (96))                              OPTIONAL
        ]],
        [[
        lastHO-Type-r17                      ENUMERATED {cho, daps, spare2, spare1}              OPTIONAL,
        timeConnSourceDAPS-Failure-r17       TimeConnSourceDAPS-Failure-r17                      OPTIONAL,
        timeSinceCHO-Reconfig-r17            TimeSinceCHO-Reconfig-r17                           OPTIONAL,
        choCellId-r17                        CHOICE {
            cellGlobalId-r17                     CGI-Info-Logging-r16,
            pci-arfcn-r17                        PCI-ARFCN-NR-r16
        }                                                                                        OPTIONAL,
        choCandidateCellList-r17             ChoCandidateCellList-r17                            OPTIONAL
        ]]
    },
    eutra-RLF-Report-r16                 SEQUENCE {
        failedPCellId-EUTRA                  CGI-InfoEUTRALogging,
        measResult-RLF-Report-EUTRA-r16      OCTET STRING,
        ...,
        [[
        measResult-RLF-Report-EUTRA-v1690    OCTET STRING                                        OPTIONAL
        ]]
    }
}

SuccessHO-Report-r17 ::=                 SEQUENCE {
    sourceCellInfo-r17                       SEQUENCE {
        sourcePCellId-r17                        CGI-Info-Logging-r16,
        sourceCellMeas-r17                       MeasResultSuccessHONR-r17                       OPTIONAL,
        rlf-InSourceDAPS-r17                     ENUMERATED {true}                               OPTIONAL
    },
    targetCellInfo-r17                       SEQUENCE {
        targetPCellId-r17                        CGI-Info-Logging-r16,
        targetCellMeas-r17                       MeasResultSuccessHONR-r17                       OPTIONAL
    },
    measResultNeighCells-r17                 SEQUENCE {
        measResultListNR-r17                     MeasResultList2NR-r16                           OPTIONAL,
        measResultListEUTRA-r17                  MeasResultList2EUTRA-r16                        OPTIONAL
    }                                                                                            OPTIONAL,
    locationInfo-r17                         LocationInfo-r16                                    OPTIONAL,
    timeSinceCHO-Reconfig-r17                TimeSinceCHO-Reconfig-r17                           OPTIONAL,
    shr-Cause-r17                            SHR-Cause-r17                                       OPTIONAL,
    ra-InformationCommon-r17                 RA-InformationCommon-r16                            OPTIONAL,
    upInterruptionTimeAtHO-r17               UPInterruptionTimeAtHO-r17                          OPTIONAL,
    c-RNTI-r17                               RNTI-Value                                          OPTIONAL,
    ...,
    [[
    targetCell-PCI-ARFCN-r17                 PCI-ARFCN-NR-r16                                    OPTIONAL
    ]]
}

MeasResultList2NR-r16 ::=            SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2NR-r16
MeasResultList2EUTRA-r16 ::=         SEQUENCE(SIZE (1..maxFreq)) OF MeasResult2EUTRA-r16

MeasResult2NR-r16 ::=                SEQUENCE {
    ssbFrequency-r16                     ARFCN-ValueNR                                           OPTIONAL,
    refFreqCSI-RS-r16                    ARFCN-ValueNR                                           OPTIONAL,
    measResultList-r16                   MeasResultListNR
}

MeasResultListLogging2NR-r16 ::=     SEQUENCE(SIZE (1..maxFreq)) OF MeasResultLogging2NR-r16

MeasResultLogging2NR-r16 ::=         SEQUENCE {
    carrierFreq-r16                      ARFCN-ValueNR,
    measResultListLoggingNR-r16          MeasResultListLoggingNR-r16
}

MeasResultListLoggingNR-r16 ::=      SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultLoggingNR-r16

MeasResultLoggingNR-r16 ::=          SEQUENCE {
    physCellId-r16                       PhysCellId,
    resultsSSB-Cell-r16                  MeasQuantityResults,
    numberOfGoodSSB-r16                  INTEGER (1..maxNrofSSBs-r16) OPTIONAL
}

MeasResult2EUTRA-r16 ::=             SEQUENCE {
    carrierFreq-r16                      ARFCN-ValueEUTRA,
    measResultList-r16                   MeasResultListEUTRA
}

MeasResultRLFNR-r16 ::=              SEQUENCE {
    measResult-r16                       SEQUENCE {
        cellResults-r16                      SEQUENCE{
            resultsSSB-Cell-r16                  MeasQuantityResults                             OPTIONAL,
            resultsCSI-RS-Cell-r16               MeasQuantityResults                             OPTIONAL
        },
        rsIndexResults-r16                   SEQUENCE{
            resultsSSB-Indexes-r16               ResultsPerSSB-IndexList                         OPTIONAL,
            ssbRLMConfigBitmap-r16               BIT STRING (SIZE (64))                          OPTIONAL,
            resultsCSI-RS-Indexes-r16            ResultsPerCSI-RS-IndexList                      OPTIONAL,
            csi-rsRLMConfigBitmap-r16            BIT STRING (SIZE (96))                          OPTIONAL
        }                                                                                    OPTIONAL
    }
}

MeasResultSuccessHONR-r17::=         SEQUENCE {
    measResult-r17                       SEQUENCE {
        cellResults-r17                      SEQUENCE{
            resultsSSB-Cell-r17                  MeasQuantityResults                             OPTIONAL,
            resultsCSI-RS-Cell-r17               MeasQuantityResults                             OPTIONAL
        },
        rsIndexResults-r17                   SEQUENCE{
            resultsSSB-Indexes-r17               ResultsPerSSB-IndexList                         OPTIONAL,
            resultsCSI-RS-Indexes-r17            ResultsPerCSI-RS-IndexList                      OPTIONAL
        }
    }
}

ChoCandidateCellList-r17 ::=         SEQUENCE(SIZE (1..maxNrofCondCells-r16)) OF ChoCandidateCell-r17

ChoCandidateCell-r17 ::=             CHOICE {
    cellGlobalId-r17                     CGI-Info-Logging-r16,
    pci-arfcn-r17                        PCI-ARFCN-NR-r16
}

SHR-Cause-r17 ::=                    SEQUENCE {
    t304-cause-r17                       ENUMERATED {true}                                       OPTIONAL,
    t310-cause-r17                       ENUMERATED {true}                                       OPTIONAL,
    t312-cause-r17                       ENUMERATED {true}                                       OPTIONAL,
    sourceDAPS-Failure-r17               ENUMERATED {true}                                       OPTIONAL,
    ...
}

TimeSinceFailure-r16 ::= INTEGER (0..172800)

MobilityHistoryReport-r16 ::= VisitedCellInfoList-r16

TimeUntilReconnection-r16 ::= INTEGER (0..172800)

TimeSinceCHO-Reconfig-r17 ::= INTEGER (0..1023)

TimeConnSourceDAPS-Failure-r17 ::= INTEGER (0..1023)

UPInterruptionTimeAtHO-r17 ::= INTEGER (0..1023)
LoggedMeasurementConfiguration
LoggedMeasurementConfiguration-r16 ::=  SEQUENCE {
    criticalExtensions                      CHOICE {
        loggedMeasurementConfiguration-r16      LoggedMeasurementConfiguration-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

LoggedMeasurementConfiguration-r16-IEs ::=  SEQUENCE {
    traceReference-r16                          TraceReference-r16,
    traceRecordingSessionRef-r16                OCTET STRING (SIZE (2)),
    tce-Id-r16                                  OCTET STRING (SIZE (1)),
    absoluteTimeInfo-r16                        AbsoluteTimeInfo-r16,
    areaConfiguration-r16                       AreaConfiguration-r16                    OPTIONAL,  --Need R
    plmn-IdentityList-r16                       PLMN-IdentityList2-r16                   OPTIONAL,  --Need R
    bt-NameList-r16                             SetupRelease {BT-NameList-r16}           OPTIONAL,  --Need M
    wlan-NameList-r16                           SetupRelease {WLAN-NameList-r16}         OPTIONAL,  --Need M
    sensor-NameList-r16                         SetupRelease {Sensor-NameList-r16}       OPTIONAL,  --Need M
    loggingDuration-r16                         LoggingDuration-r16,
    reportType                                  CHOICE {
        periodical                                  LoggedPeriodicalReportConfig-r16,
        eventTriggered                              LoggedEventTriggerConfig-r16,
        ...
    },
    lateNonCriticalExtension                    OCTET STRING                             OPTIONAL,
    nonCriticalExtension                        LoggedMeasurementConfiguration-v1700-IEs OPTIONAL
}

LoggedMeasurementConfiguration-v1700-IEs ::= SEQUENCE {
    sigLoggedMeasType-r17                       ENUMERATED {true}                        OPTIONAL, -- Need R
    earlyMeasIndication-r17                     ENUMERATED {true}                        OPTIONAL, -- Need R
    areaConfiguration-r17                       AreaConfiguration-r17                    OPTIONAL,  --Need R
    nonCriticalExtension                        SEQUENCE {}                              OPTIONAL
}

LoggedPeriodicalReportConfig-r16 ::=            SEQUENCE {
    loggingInterval-r16                             LoggingInterval-r16,
    ...
}

LoggedEventTriggerConfig-r16 ::=                SEQUENCE {
    eventType-r16                                   EventType-r16,
    loggingInterval-r16                             LoggingInterval-r16,
    ...
}

EventType-r16 ::= CHOICE {
    outOfCoverage     NULL,
    eventL1           SEQUENCE {
        l1-Threshold      MeasTriggerQuantity,
        hysteresis        Hysteresis,
        timeToTrigger     TimeToTrigger
    },
    ...
}
DedicatedSIBRequest
DedicatedSIBRequest-r16 ::=      SEQUENCE {
    criticalExtensions               CHOICE {
        dedicatedSIBRequest-r16          DedicatedSIBRequest-r16-IEs,
        criticalExtensionsFuture         SEQUENCE {}
    }
}

DedicatedSIBRequest-r16-IEs ::=  SEQUENCE {
    onDemandSIB-RequestList-r16       SEQUENCE {

        requestedSIB-List-r16            SEQUENCE (SIZE (1..maxOnDemandSIB-r16)) OF SIB-ReqInfo-r16                OPTIONAL,
        requestedPosSIB-List-r16         SEQUENCE (SIZE (1..maxOnDemandPosSIB-r16)) OF PosSIB-ReqInfo-r16          OPTIONAL
    } OPTIONAL,
    lateNonCriticalExtension         OCTET STRING             OPTIONAL,
    nonCriticalExtension             SEQUENCE {}              OPTIONAL
}

SIB-ReqInfo-r16 ::=                   ENUMERATED { sib12, sib13, sib14, sib20-v1700, sib21-v1700, spare3, spare2, spare1 }

PosSIB-ReqInfo-r16 ::=       SEQUENCE {
    gnss-id-r16                  GNSS-ID-r16                  OPTIONAL,
    sbas-id-r16                  SBAS-ID-r16                  OPTIONAL,
    posSibType-r16               ENUMERATED { posSibType1-1, posSibType1-2, posSibType1-3, posSibType1-4, posSibType1-5, posSibType1-6,
                                            posSibType1-7, posSibType1-8, 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-18, posSibType2-19, posSibType2-20,
                                            posSibType2-21, posSibType2-22, posSibType2-23, posSibType3-1, posSibType4-1,
                                            posSibType5-1, posSibType6-1, posSibType6-2, posSibType6-3,..., posSibType1-9-v1710,
                                            posSibType1-10-v1710, posSibType2-24-v1710, posSibType2-25-v1710,
                                            posSibType6-4-v1710, posSibType6-5-v1710, posSibType6-6-v1710, posSibType2-17a-v1770,
                                            posSibType2-18a-v1770, posSibType2-20a-v1770 }
}
UEPositioningAssistanceInfo
UEPositioningAssistanceInfo-r17 ::= SEQUENCE {
    criticalExtensions                  CHOICE {
        uePositioningAssistanceInfo-r17     UEPositioningAssistanceInfo-r17-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

UEPositioningAssistanceInfo-r17-IEs ::= SEQUENCE {
    ue-TxTEG-AssociationList-r17            UE-TxTEG-AssociationList-r17          OPTIONAL,
    lateNonCriticalExtension                OCTET STRING                          OPTIONAL,
    nonCriticalExtension                    UEPositioningAssistanceInfo-v1720-IEs OPTIONAL
}

UEPositioningAssistanceInfo-v1720-IEs::=    SEQUENCE {
    ue-TxTEG-TimingErrorMarginValue-r17         ENUMERATED {tc0, tc2, tc4, tc6, tc8, tc12, tc16, tc20, tc24, tc32, tc40, tc48, tc56,
                                                            tc64, tc72, tc80}                                      OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                                                        OPTIONAL
}

UE-TxTEG-AssociationList-r17 ::= SEQUENCE (SIZE (1..maxNrOfTxTEGReport-r17)) OF UE-TxTEG-Association-r17

UE-TxTEG-Association-r17 ::=        SEQUENCE {
    ue-TxTEG-ID-r17                     INTEGER (0..maxNrOfTxTEG-ID-1-r17),
    nr-TimeStamp-r17                    NR-TimeStamp-r17,
    associatedSRS-PosResourceIdList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16,
    servCellId-r17                      ServCellIndex                            OPTIONAL
}

NR-TimeStamp-r17 ::= SEQUENCE {
    nr-SFN-r17           INTEGER (0..1023),
    nr-Slot-r17          CHOICE {
        scs15-r17            INTEGER (0..9),
        scs30-r17            INTEGER (0..19),
        scs60-r17            INTEGER (0..39),
        scs120-r17           INTEGER (0..79)
    },
    ...
}
MBSInterestIndication
MBSInterestIndication-r17 ::= SEQUENCE {
    criticalExtensions            CHOICE {
        mbsInterestIndication-r17     MBSInterestIndication-r17-IEs,
        criticalExtensionsFuture      SEQUENCE {}
    }
}

MBSInterestIndication-r17-IEs ::= SEQUENCE {
    mbs-FreqList-r17                  CarrierFreqListMBS-r17              OPTIONAL,
    mbs-Priority-r17                  ENUMERATED {true}                   OPTIONAL,
    mbs-ServiceList-r17               MBS-ServiceList-r17                 OPTIONAL,
    lateNonCriticalExtension          OCTET STRING                        OPTIONAL,
    nonCriticalExtension              SEQUENCE {}                         OPTIONAL
}
MBSBroadcastConfiguration
MBSBroadcastConfiguration-r17 ::= SEQUENCE {
    criticalExtensions                CHOICE {
        mbsBroadcastConfiguration-r17     MBSBroadcastConfiguration-r17-IEs,
        criticalExtensionsFuture          SEQUENCE {}
    }
}

MBSBroadcastConfiguration-r17-IEs ::= SEQUENCE {
    mbs-SessionInfoList-r17               MBS-SessionInfoList-r17                                              OPTIONAL,   -- Need R
    mbs-NeighbourCellList-r17             MBS-NeighbourCellList-r17                                            OPTIONAL,   -- Need S
    drx-ConfigPTM-List-r17                SEQUENCE (SIZE (1..maxNrofDRX-ConfigPTM-r17)) OF DRX-ConfigPTM-r17   OPTIONAL,   -- Need R
    pdsch-ConfigMTCH-r17                  PDSCH-ConfigBroadcast-r17                                            OPTIONAL,   -- Need S
    mtch-SSB-MappingWindowList-r17        MTCH-SSB-MappingWindowList-r17                                       OPTIONAL,   -- Need R
    lateNonCriticalExtension              OCTET STRING                                                         OPTIONAL,
    nonCriticalExtension                  SEQUENCE {}                                                          OPTIONAL
}
SidelinkUEInformationNR
SidelinkUEInformationNR-r16::=         SEQUENCE {
    criticalExtensions                  CHOICE {
        sidelinkUEInformationNR-r16         SidelinkUEInformationNR-r16-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

SidelinkUEInformationNR-r16-IEs ::=    SEQUENCE {
    sl-RxInterestedFreqList-r16            SL-InterestedFreqList-r16           OPTIONAL,
    sl-TxResourceReqList-r16               SL-TxResourceReqList-r16            OPTIONAL,
    sl-FailureList-r16                     SL-FailureList-r16                  OPTIONAL,
    lateNonCriticalExtension               OCTET STRING                        OPTIONAL,
    nonCriticalExtension                   SidelinkUEInformationNR-v1700-IEs   OPTIONAL
}

SidelinkUEInformationNR-v1700-IEs ::=  SEQUENCE {
    sl-TxResourceReqList-v1700             SL-TxResourceReqList-v1700                                                 OPTIONAL,
    sl-RxDRX-ReportList-v1700              SL-RxDRX-ReportList-v1700                                                  OPTIONAL,
    sl-RxInterestedGC-BC-DestList-r17      SL-RxInterestedGC-BC-DestList-r17                                          OPTIONAL,
    sl-RxInterestedFreqListDisc-r17        SL-InterestedFreqList-r16                                                  OPTIONAL,
    sl-TxResourceReqListDisc-r17           SL-TxResourceReqListDisc-r17                                               OPTIONAL,
    sl-TxResourceReqListCommRelay-r17      SL-TxResourceReqListCommRelay-r17                                          OPTIONAL,
    ue-Type-r17                            ENUMERATED {relayUE, remoteUE}                                             OPTIONAL,
    sl-SourceIdentityRemoteUE-r17          SL-SourceIdentity-r17                                                      OPTIONAL,
    nonCriticalExtension                   SEQUENCE {}                                                                OPTIONAL
}

SL-InterestedFreqList-r16 ::=          SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF INTEGER (1..maxNrofFreqSL-r16)

SL-TxResourceReqList-r16 ::=           SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReq-r16

SL-TxResourceReq-r16 ::=               SEQUENCE {
    sl-DestinationIdentity-r16             SL-DestinationIdentity-r16,
    sl-CastType-r16                        ENUMERATED {broadcast, groupcast, unicast, spare1},
    sl-RLC-ModeIndicationList-r16          SEQUENCE (SIZE (1.. maxNrofSLRB-r16)) OF SL-RLC-ModeIndication-r16         OPTIONAL,
    sl-QoS-InfoList-r16                    SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16          OPTIONAL,
    sl-TypeTxSyncList-r16                  SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16                OPTIONAL,
    sl-TxInterestedFreqList-r16            SL-TxInterestedFreqList-r16                                                OPTIONAL,
    sl-CapabilityInformationSidelink-r16   OCTET STRING                                                               OPTIONAL
}

SL-TxResourceReqList-v1700 ::=         SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReq-v1700

SL-RxDRX-ReportList-v1700 ::=          SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-RxDRX-Report-v1700

SL-TxResourceReq-v1700 ::=             SEQUENCE {
    sl-DRX-InfoFromRxList-r17              SEQUENCE (SIZE (1..maxNrofSL-RxInfoSet-r17)) OF SL-DRX-ConfigUC-SemiStatic-r17   OPTIONAL,
    sl-DRX-Indication-r17                  ENUMERATED {on, off}                                                             OPTIONAL,
    ...
}

SL-RxDRX-Report-v1700 ::=              SEQUENCE {
    sl-DRX-ConfigFromTx-r17                SL-DRX-ConfigUC-SemiStatic-r17,
    ...}

SL-RxInterestedGC-BC-DestList-r17 ::=  SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-RxInterestedGC-BC-Dest-r17

SL-RxInterestedGC-BC-Dest-r17 ::=      SEQUENCE {
    sl-RxInterestedQoS-InfoList-r17        SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16,
    sl-DestinationIdentity-r16             SL-DestinationIdentity-r16
}

SL-TxResourceReqListDisc-r17 ::=       SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReqDisc-r17

SL-TxResourceReqDisc-r17 ::=           SEQUENCE {
    sl-DestinationIdentityDisc-r17         SL-DestinationIdentity-r16,
    sl-SourceIdentityRelayUE-r17           SL-SourceIdentity-r17                                                      OPTIONAL,
    sl-CastTypeDisc-r17                    ENUMERATED {broadcast, groupcast, unicast, spare1},
    sl-TxInterestedFreqListDisc-r17        SL-TxInterestedFreqList-r16,
    sl-TypeTxSyncListDisc-r17              SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16,
    sl-DiscoveryType-r17                   ENUMERATED {relay, non-Relay},
    ...
}

SL-TxResourceReqListCommRelay-r17 ::=  SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-TxResourceReqCommRelayInfo-r17

SL-TxResourceReqCommRelayInfo-r17 ::=  SEQUENCE {
    sl-RelayDRXConfig-r17                 SL-TxResourceReq-v1700                                                       OPTIONAL,
    sl-TxResourceReqCommRelay-r17         SL-TxResourceReqCommRelay-r17
}

SL-TxResourceReqCommRelay-r17 ::=      CHOICE {
    sl-TxResourceReqL2U2N-Relay-r17        SL-TxResourceReqL2U2N-Relay-r17,
    sl-TxResourceReqL3U2N-Relay-r17        SL-TxResourceReq-r16
}

SL-TxResourceReqL2U2N-Relay-r17 ::=    SEQUENCE {
    sl-DestinationIdentityL2U2N-r17        SL-DestinationIdentity-r16                                                 OPTIONAL,
    sl-TxInterestedFreqListL2U2N-r17       SL-TxInterestedFreqList-r16,
    sl-TypeTxSyncListL2U2N-r17             SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF SL-TypeTxSync-r16,
    sl-LocalID-Request-r17                 ENUMERATED {true}                                                          OPTIONAL,
    sl-PagingIdentityRemoteUE-r17          SL-PagingIdentityRemoteUE-r17                                              OPTIONAL,
    sl-CapabilityInformationSidelink-r17   OCTET STRING                                                               OPTIONAL,
    ...
}

SL-TxInterestedFreqList-r16 ::=        SEQUENCE (SIZE (1..maxNrofFreqSL-r16)) OF INTEGER (1..maxNrofFreqSL-r16)

SL-QoS-Info-r16 ::=                    SEQUENCE {
    sl-QoS-FlowIdentity-r16               SL-QoS-FlowIdentity-r16,
    sl-QoS-Profile-r16                    SL-QoS-Profile-r16                                                          OPTIONAL
}

SL-RLC-ModeIndication-r16 ::=          SEQUENCE {
    sl-Mode-r16                            CHOICE  {
        sl-AM-Mode-r16                         NULL,
        sl-UM-Mode-r16                         NULL
    },
    sl-QoS-InfoList-r16                SEQUENCE (SIZE (1..maxNrofSL-QFIsPerDest-r16)) OF SL-QoS-Info-r16
}

SL-FailureList-r16 ::=                 SEQUENCE (SIZE (1..maxNrofSL-Dest-r16)) OF SL-Failure-r16

SL-Failure-r16 ::=                     SEQUENCE {
    sl-DestinationIdentity-r16             SL-DestinationIdentity-r16,
    sl-Failure-r16                         ENUMERATED {rlf,configFailure, drxReject-v1710, spare5, spare4, spare3, spare2, spare1}
}
IABOtherInformation
IABOtherInformation-r16 ::=     SEQUENCE {
    dummy                           RRC-TransactionIdentifier,
    criticalExtensions              CHOICE {
        iabOtherInformation-r16         IABOtherInformation-r16-IEs,
        criticalExtensionsFuture        SEQUENCE {}
    }
}

IABOtherInformation-r16-IEs ::=         SEQUENCE {
    ip-InfoType-r16                         CHOICE {
        iab-IP-Request-r16                      SEQUENCE {
            iab-IPv4-AddressNumReq-r16              IAB-IP-AddressNumReq-r16                OPTIONAL,
            iab-IPv6-AddressReq-r16                 CHOICE {
                iab-IPv6-AddressNumReq-r16              IAB-IP-AddressNumReq-r16,
                iab-IPv6-AddressPrefixReq-r16           IAB-IP-AddressPrefixReq-r16,
                ...
            }                                                                               OPTIONAL
        },
        iab-IP-Report-r16               SEQUENCE {
            iab-IPv4-AddressReport-r16      IAB-IP-AddressAndTraffic-r16                    OPTIONAL,
            iab-IPv6-Report-r16             CHOICE {
                iab-IPv6-AddressReport-r16      IAB-IP-AddressAndTraffic-r16,
                iab-IPv6-PrefixReport-r16       IAB-IP-PrefixAndTraffic-r16,
                ...
            }                                                                               OPTIONAL
        },
        ...
    },
    lateNonCriticalExtension        OCTET STRING                                            OPTIONAL,
    nonCriticalExtension            SEQUENCE {}                                             OPTIONAL
}

IAB-IP-AddressNumReq-r16 ::=    SEQUENCE {
    all-Traffic-NumReq-r16          INTEGER (1..8)                                  OPTIONAL,
    f1-C-Traffic-NumReq-r16         INTEGER (1..8)                                  OPTIONAL,
    f1-U-Traffic-NumReq-r16         INTEGER (1..8)                                  OPTIONAL,
    non-F1-Traffic-NumReq-r16       INTEGER (1..8)                                  OPTIONAL,
    ...
}

IAB-IP-AddressPrefixReq-r16 ::= SEQUENCE {
    all-Traffic-PrefixReq-r16       ENUMERATED {true}                               OPTIONAL,
    f1-C-Traffic-PrefixReq-r16      ENUMERATED {true}                               OPTIONAL,
    f1-U-Traffic-PrefixReq-r16      ENUMERATED {true}                               OPTIONAL,
    non-F1-Traffic-PrefixReq-r16    ENUMERATED {true}                               OPTIONAL,
    ...
}

IAB-IP-AddressAndTraffic-r16 ::= SEQUENCE {
    all-Traffic-IAB-IP-Address-r16  SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16     OPTIONAL,
    f1-C-Traffic-IP-Address-r16     SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16     OPTIONAL,
    f1-U-Traffic-IP-Address-r16     SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16     OPTIONAL,
    non-F1-Traffic-IP-Address-r16   SEQUENCE (SIZE(1..8)) OF IAB-IP-Address-r16     OPTIONAL
}

IAB-IP-PrefixAndTraffic-r16 ::= SEQUENCE {
    all-Traffic-IAB-IP-Address-r16  IAB-IP-Address-r16                              OPTIONAL,
    f1-C-Traffic-IP-Address-r16     IAB-IP-Address-r16                              OPTIONAL,
    f1-U-Traffic-IP-Address-r16     IAB-IP-Address-r16                              OPTIONAL,
    non-F1-Traffic-IP-Address-r16   IAB-IP-Address-r16                              OPTIONAL
}
ULDedicatedMessageSegment
ULDedicatedMessageSegment-r16 ::=       SEQUENCE {
    criticalExtensions                      CHOICE {
        ulDedicatedMessageSegment-r16           ULDedicatedMessageSegment-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

ULDedicatedMessageSegment-r16-IEs ::=     SEQUENCE {
    segmentNumber-r16                         INTEGER (0..15),
    rrc-MessageSegmentContainer-r16           OCTET STRING,
    rrc-MessageSegmentType-r16                ENUMERATED {notLastSegment, lastSegment},
    lateNonCriticalExtension                  OCTET STRING                                  OPTIONAL,
    nonCriticalExtension                      SEQUENCE {}                                   OPTIONAL
}
DLDedicatedMessageSegment
DLDedicatedMessageSegment-r16 ::=       SEQUENCE {
    criticalExtensions                      CHOICE {
        dlDedicatedMessageSegment-r16           DLDedicatedMessageSegment-r16-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

DLDedicatedMessageSegment-r16-IEs ::=   SEQUENCE {
    segmentNumber-r16                       INTEGER(0..4),
    rrc-MessageSegmentContainer-r16         OCTET STRING,
    rrc-MessageSegmentType-r16              ENUMERATED {notLastSegment, lastSegment},
    lateNonCriticalExtension                OCTET STRING                                  OPTIONAL,
    nonCriticalExtension                    SEQUENCE {}                                   OPTIONAL
}
MobilityFromNRCommand
MobilityFromNRCommand ::=           SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
            mobilityFromNRCommand           MobilityFromNRCommand-IEs,
            criticalExtensionsFuture        SEQUENCE {}
    }
}

MobilityFromNRCommand-IEs ::=       SEQUENCE {
    targetRAT-Type                      ENUMERATED { eutra, utra-fdd-v1610, spare2, spare1, ...},
    targetRAT-MessageContainer          OCTET STRING,
    nas-SecurityParamFromNR             OCTET STRING                                                OPTIONAL,   -- Cond HO-ToEPCUTRAN
    lateNonCriticalExtension            OCTET STRING                                                OPTIONAL,
    nonCriticalExtension                MobilityFromNRCommand-v1610-IEs                             OPTIONAL
}

MobilityFromNRCommand-v1610-IEs ::=     SEQUENCE {
    voiceFallbackIndication-r16             ENUMERATED {true}                                       OPTIONAL,   -- Need N
    nonCriticalExtension                    SEQUENCE {}                                             OPTIONAL
}
RRCReestablishmentRequest
RRCReestablishmentRequest ::=       SEQUENCE {
    rrcReestablishmentRequest           RRCReestablishmentRequest-IEs
}

RRCReestablishmentRequest-IEs ::=   SEQUENCE {
    ue-Identity                         ReestabUE-Identity,
    reestablishmentCause                ReestablishmentCause,
    spare                               BIT STRING (SIZE (1))
}

ReestabUE-Identity ::=              SEQUENCE {
    c-RNTI                              RNTI-Value,
    physCellId                          PhysCellId,
    shortMAC-I                          ShortMAC-I
}

ReestablishmentCause ::=            ENUMERATED {reconfigurationFailure, handoverFailure, otherFailure, spare1}
RRCReestablishment
RRCReestablishment ::=              SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcReestablishment                  RRCReestablishment-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCReestablishment-IEs ::=          SEQUENCE {
    nextHopChainingCount                NextHopChainingCount,
    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
    nonCriticalExtension                RRCReestablishment-v1700-IEs         OPTIONAL
}

RRCReestablishment-v1700-IEs ::=    SEQUENCE {
    sl-L2RemoteUE-Config-r17            SetupRelease {SL-L2RemoteUE-Config-r17}    OPTIONAL, -- Cond L2RemoteUE
    nonCriticalExtension                SEQUENCE {}                                OPTIONAL
}
RRCReestablishmentComplete
RRCReestablishmentComplete ::=              SEQUENCE {
    rrc-TransactionIdentifier                   RRC-TransactionIdentifier,
    criticalExtensions                          CHOICE {
        rrcReestablishmentComplete                  RRCReestablishmentComplete-IEs,
        criticalExtensionsFuture                    SEQUENCE {}
    }
}

RRCReestablishmentComplete-IEs ::=          SEQUENCE {
    lateNonCriticalExtension                    OCTET STRING                            OPTIONAL,
    nonCriticalExtension                        RRCReestablishmentComplete-v1610-IEs    OPTIONAL
}

RRCReestablishmentComplete-v1610-IEs ::=    SEQUENCE {
    ue-MeasurementsAvailable-r16                UE-MeasurementsAvailable-r16    OPTIONAL,
    nonCriticalExtension                        SEQUENCE {}                     OPTIONAL
}
RRCResumeRequest
RRCResumeRequest ::=            SEQUENCE {
        rrcResumeRequest            RRCResumeRequest-IEs
}

RRCResumeRequest-IEs ::=        SEQUENCE {
    resumeIdentity                  ShortI-RNTI-Value,
    resumeMAC-I                     BIT STRING (SIZE (16)),
    resumeCause                     ResumeCause,
    spare                           BIT STRING (SIZE (1))
}
RRCResumeRequest1
RRCResumeRequest1 ::=         SEQUENCE {
    rrcResumeRequest1          RRCResumeRequest1-IEs
}

RRCResumeRequest1-IEs ::=    SEQUENCE {
    resumeIdentity               I-RNTI-Value,
    resumeMAC-I                  BIT STRING (SIZE (16)),
    resumeCause                  ResumeCause,
    spare                        BIT STRING (SIZE (1))
}
RRCResume
RRCResume ::=                       SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcResume                           RRCResume-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCResume-IEs ::=                   SEQUENCE {
    radioBearerConfig                   RadioBearerConfig                                               OPTIONAL, -- Need M
    masterCellGroup                     OCTET STRING (CONTAINING CellGroupConfig)                       OPTIONAL, -- Need M
    measConfig                          MeasConfig                                                      OPTIONAL, -- Need M
    fullConfig                          ENUMERATED {true}                                               OPTIONAL, -- Need N
    lateNonCriticalExtension            OCTET STRING                                                    OPTIONAL,
    nonCriticalExtension                RRCResume-v1560-IEs                                             OPTIONAL
}

RRCResume-v1560-IEs ::=             SEQUENCE {
    radioBearerConfig2                  OCTET STRING (CONTAINING RadioBearerConfig)                     OPTIONAL, -- Need M
    sk-Counter                          SK-Counter                                                      OPTIONAL, -- Need N
    nonCriticalExtension                RRCResume-v1610-IEs                                             OPTIONAL
}

RRCResume-v1610-IEs ::=             SEQUENCE {
    idleModeMeasurementReq-r16          ENUMERATED {true}                                               OPTIONAL, -- Need N
    restoreMCG-SCells-r16               ENUMERATED {true}                                               OPTIONAL, -- Need N
    restoreSCG-r16                      ENUMERATED {true}                                               OPTIONAL, -- Need N
    mrdc-SecondaryCellGroup-r16         CHOICE {
        nr-SCG-r16                          OCTET STRING (CONTAINING RRCReconfiguration),
        eutra-SCG-r16                       OCTET STRING
    }                                                                                                   OPTIONAL, -- Cond RestoreSCG
    needForGapsConfigNR-r16             SetupRelease {NeedForGapsConfigNR-r16}                          OPTIONAL, -- Need M
    nonCriticalExtension                RRCResume-v1700-IEs                                             OPTIONAL
}

RRCResume-v1700-IEs ::=             SEQUENCE {
    sl-ConfigDedicatedNR-r17            SetupRelease {SL-ConfigDedicatedNR-r16}                         OPTIONAL, -- Cond L2RemoteUE
    sl-L2RemoteUE-Config-r17            SetupRelease {SL-L2RemoteUE-Config-r17}                         OPTIONAL, -- Cond L2RemoteUE
    needForGapNCSG-ConfigNR-r17         SetupRelease {NeedForGapNCSG-ConfigNR-r17}                      OPTIONAL, -- Need M
    needForGapNCSG-ConfigEUTRA-r17      SetupRelease {NeedForGapNCSG-ConfigEUTRA-r17}                   OPTIONAL, -- Need M
    scg-State-r17                       ENUMERATED {deactivated}                                        OPTIONAL, -- Need S
    appLayerMeasConfig-r17              AppLayerMeasConfig-r17                                          OPTIONAL, -- Need M
    nonCriticalExtension                SEQUENCE {}                                                     OPTIONAL
}
RRCResumeComplete
RRCResumeComplete ::=                   SEQUENCE {
    rrc-TransactionIdentifier               RRC-TransactionIdentifier,
    criticalExtensions                      CHOICE {
        rrcResumeComplete                       RRCResumeComplete-IEs,
        criticalExtensionsFuture                SEQUENCE {}
    }
}

RRCResumeComplete-IEs ::=               SEQUENCE {
    dedicatedNAS-Message                    DedicatedNAS-Message                                                    OPTIONAL,
    selectedPLMN-Identity                   INTEGER (1..maxPLMN)                                                    OPTIONAL,
    uplinkTxDirectCurrentList               UplinkTxDirectCurrentList                                               OPTIONAL,
    lateNonCriticalExtension                OCTET STRING                                                            OPTIONAL,
    nonCriticalExtension                    RRCResumeComplete-v1610-IEs                                             OPTIONAL
}

RRCResumeComplete-v1610-IEs ::=         SEQUENCE {
    idleMeasAvailable-r16                   ENUMERATED {true}                                                       OPTIONAL,
    measResultIdleEUTRA-r16                 MeasResultIdleEUTRA-r16                                                 OPTIONAL,
    measResultIdleNR-r16                    MeasResultIdleNR-r16                                                    OPTIONAL,
    scg-Response-r16                        CHOICE {
        nr-SCG-Response                         OCTET STRING (CONTAINING RRCReconfigurationComplete),
        eutra-SCG-Response                      OCTET STRING
    }                                                                                                               OPTIONAL,
    ue-MeasurementsAvailable-r16            UE-MeasurementsAvailable-r16                                            OPTIONAL,
    mobilityHistoryAvail-r16                ENUMERATED {true}                                                       OPTIONAL,
    mobilityState-r16                       ENUMERATED {normal, medium, high, spare}                                OPTIONAL,
    needForGapsInfoNR-r16                   NeedForGapsInfoNR-r16                                                   OPTIONAL,
    nonCriticalExtension                    RRCResumeComplete-v1640-IEs                                             OPTIONAL
}

RRCResumeComplete-v1640-IEs ::=         SEQUENCE {
    uplinkTxDirectCurrentTwoCarrierList-r16 UplinkTxDirectCurrentTwoCarrierList-r16                                 OPTIONAL,
    nonCriticalExtension                    RRCResumeComplete-v1700-IEs                                             OPTIONAL
}

RRCResumeComplete-v1700-IEs ::=         SEQUENCE {
    needForGapNCSG-InfoNR-r17               NeedForGapNCSG-InfoNR-r17                                               OPTIONAL,
    needForGapNCSG-InfoEUTRA-r17            NeedForGapNCSG-InfoEUTRA-r17                                            OPTIONAL,
    nonCriticalExtension                    RRCResumeComplete-v1720-IEs                                             OPTIONAL
}

RRCResumeComplete-v1720-IEs ::=         SEQUENCE {
    uplinkTxDirectCurrentMoreCarrierList-r17 UplinkTxDirectCurrentMoreCarrierList-r17                               OPTIONAL,
    nonCriticalExtension                     SEQUENCE {}                                                            OPTIONAL
}
RRCRelease
RRCRelease ::=                      SEQUENCE {
    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
    criticalExtensions                  CHOICE {
        rrcRelease                          RRCRelease-IEs,
        criticalExtensionsFuture            SEQUENCE {}
    }
}

RRCRelease-IEs ::=                  SEQUENCE {
    redirectedCarrierInfo               RedirectedCarrierInfo                                                       OPTIONAL,   -- Need N
    cellReselectionPriorities           CellReselectionPriorities                                                   OPTIONAL,   -- Need R
    suspendConfig                       SuspendConfig                                                               OPTIONAL,   -- Need R
    deprioritisationReq                 SEQUENCE {
        deprioritisationType                ENUMERATED {frequency, nr},
        deprioritisationTimer               ENUMERATED {min5, min10, min15, min30}
    }                                                                                                               OPTIONAL,   -- Need N
    lateNonCriticalExtension                OCTET STRING                                                        OPTIONAL,
    nonCriticalExtension                    RRCRelease-v1540-IEs                                                OPTIONAL
}

RRCRelease-v1540-IEs ::=            SEQUENCE {
    waitTime                           RejectWaitTime                OPTIONAL, -- Need N
    nonCriticalExtension               RRCRelease-v1610-IEs          OPTIONAL
}

RRCRelease-v1610-IEs ::=            SEQUENCE {
    voiceFallbackIndication-r16        ENUMERATED {true}                             OPTIONAL, -- Need N
    measIdleConfig-r16                 SetupRelease {MeasIdleConfigDedicated-r16}    OPTIONAL, -- Need M
    nonCriticalExtension               RRCRelease-v1650-IEs                          OPTIONAL
}

RRCRelease-v1650-IEs ::=            SEQUENCE {
    mpsPriorityIndication-r16          ENUMERATED {true}                             OPTIONAL, -- Cond Redirection2
    nonCriticalExtension               RRCRelease-v1710-IEs                          OPTIONAL
}

RRCRelease-v1710-IEs ::=            SEQUENCE {
    noLastCellUpdate-r17                ENUMERATED {true}                            OPTIONAL,   -- Need S
    nonCriticalExtension                SEQUENCE {}                                  OPTIONAL
}

RedirectedCarrierInfo ::=           CHOICE {
    nr                                  CarrierInfoNR,
    eutra                               RedirectedCarrierInfo-EUTRA,
    ...
}

RedirectedCarrierInfo-EUTRA ::=     SEQUENCE {
    eutraFrequency                      ARFCN-ValueEUTRA,
    cnType                              ENUMERATED {epc,fiveGC}                                             OPTIONAL    -- Need N
}

CarrierInfoNR ::=                   SEQUENCE {
    carrierFreq                         ARFCN-ValueNR,
    ssbSubcarrierSpacing                SubcarrierSpacing,
    smtc                                SSB-MTC                                                             OPTIONAL,      -- Need S
    ...
}

SuspendConfig ::=                   SEQUENCE {
    fullI-RNTI                          I-RNTI-Value,
    shortI-RNTI                         ShortI-RNTI-Value,
    ran-PagingCycle                     PagingCycle,
    ran-NotificationAreaInfo            RAN-NotificationAreaInfo                                            OPTIONAL,   -- Need M
    t380                                PeriodicRNAU-TimerValue                                             OPTIONAL,   -- Need R
    nextHopChainingCount                NextHopChainingCount,
    ...,
    [[
    sl-UEIdentityRemote-r17             RNTI-Value                                                          OPTIONAL, -- Cond L2RemoteUE
    sdt-Config-r17                      SetupRelease { SDT-Config-r17 }                                     OPTIONAL,   -- Need M
    srs-PosRRC-Inactive-r17             SetupRelease { SRS-PosRRC-Inactive-r17 }                            OPTIONAL,   -- Need M
    ran-ExtendedPagingCycle-r17         ExtendedPagingCycle-r17                                             OPTIONAL    -- Cond RANPaging
    ]],
    [[
    ncd-SSB-RedCapInitialBWP-SDT-r17    SetupRelease {NonCellDefiningSSB-r17}                               OPTIONAL    -- Need M
    ]]
}

PeriodicRNAU-TimerValue ::=         ENUMERATED { min5, min10, min20, min30, min60, min120, min360, min720}

CellReselectionPriorities ::=       SEQUENCE {
    freqPriorityListEUTRA               FreqPriorityListEUTRA                                               OPTIONAL,       -- Need M
    freqPriorityListNR                  FreqPriorityListNR                                                  OPTIONAL,       -- Need M
    t320                                ENUMERATED {min5, min10, min20, min30, min60, min120, min180, spare1} OPTIONAL,     -- Need R
    ...,
    [[
    freqPriorityListDedicatedSlicing-r17 FreqPriorityListDedicatedSlicing-r17                               OPTIONAL        -- Need M
    ]]
}

PagingCycle ::=                     ENUMERATED {rf32, rf64, rf128, rf256}

ExtendedPagingCycle-r17 ::=         ENUMERATED {rf256, rf512, rf1024, spare1}

FreqPriorityListEUTRA ::=           SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA

FreqPriorityListNR ::=              SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityNR

FreqPriorityEUTRA ::=               SEQUENCE {
    carrierFreq                         ARFCN-ValueEUTRA,
    cellReselectionPriority             CellReselectionPriority,
    cellReselectionSubPriority          CellReselectionSubPriority                                          OPTIONAL        -- Need R
}

FreqPriorityNR ::=                  SEQUENCE {
    carrierFreq                         ARFCN-ValueNR,
    cellReselectionPriority             CellReselectionPriority,
    cellReselectionSubPriority          CellReselectionSubPriority                                          OPTIONAL        -- Need R
}

RAN-NotificationAreaInfo ::=        CHOICE {
    cellList                            PLMN-RAN-AreaCellList,
    ran-AreaConfigList                  PLMN-RAN-AreaConfigList,
    ...
}

PLMN-RAN-AreaCellList ::=           SEQUENCE (SIZE (1.. maxPLMNIdentities)) OF PLMN-RAN-AreaCell

PLMN-RAN-AreaCell ::=               SEQUENCE {
    plmn-Identity                       PLMN-Identity                                                       OPTIONAL,   -- Need S
    ran-AreaCells                       SEQUENCE (SIZE (1..32)) OF  CellIdentity
}

PLMN-RAN-AreaConfigList ::=         SEQUENCE (SIZE (1..maxPLMNIdentities)) OF PLMN-RAN-AreaConfig

PLMN-RAN-AreaConfig ::=             SEQUENCE {
    plmn-Identity                       PLMN-Identity                                                       OPTIONAL,   -- Need S
    ran-Area                            SEQUENCE (SIZE (1..16)) OF  RAN-AreaConfig
}

RAN-AreaConfig ::=                  SEQUENCE {
    trackingAreaCode                    TrackingAreaCode,
    ran-AreaCodeList                    SEQUENCE (SIZE (1..32)) OF  RAN-AreaCode                            OPTIONAL    -- Need R
}

SDT-Config-r17 ::=                  SEQUENCE {
    sdt-DRB-List-r17                    SEQUENCE (SIZE (0..maxDRB)) OF DRB-Identity                         OPTIONAL,   -- Need M
    sdt-SRB2-Indication-r17             ENUMERATED {allowed}                                                OPTIONAL,   -- Need R
    sdt-MAC-PHY-CG-Config-r17           SetupRelease {SDT-CG-Config-r17}                                    OPTIONAL,   -- Need M
    sdt-DRB-ContinueROHC-r17            ENUMERATED { cell, rna }                                            OPTIONAL    -- Need S
}

SDT-CG-Config-r17 ::= OCTET STRING (CONTAINING SDT-MAC-PHY-CG-Config-r17)

SDT-MAC-PHY-CG-Config-r17 ::=       SEQUENCE {
    -- CG-SDT specific configuration
    cg-SDT-ConfigLCH-RestrictionToAddModList-r17 SEQUENCE (SIZE(1..maxLC-ID)) OF  CG-SDT-ConfigLCH-Restriction-r17 OPTIONAL,   -- Need N
    cg-SDT-ConfigLCH-RestrictionToReleaseList-r17 SEQUENCE (SIZE(1..maxLC-ID)) OF  LogicalChannelIdentity  OPTIONAL,   -- Need N
    cg-SDT-ConfigInitialBWP-NUL-r17       SetupRelease {BWP-UplinkDedicatedSDT-r17}                     OPTIONAL,   -- Need M
    cg-SDT-ConfigInitialBWP-SUL-r17       SetupRelease {BWP-UplinkDedicatedSDT-r17}                     OPTIONAL,   -- Need M
    cg-SDT-ConfigInitialBWP-DL-r17        BWP-DownlinkDedicatedSDT-r17                                  OPTIONAL,   -- Need M
    cg-SDT-TimeAlignmentTimer-r17           TimeAlignmentTimer                                              OPTIONAL,   -- Need M
    cg-SDT-RSRP-ThresholdSSB-r17            RSRP-Range                                                      OPTIONAL,   -- Need M
    cg-SDT-TA-ValidationConfig-r17          SetupRelease { CG-SDT-TA-ValidationConfig-r17 }                 OPTIONAL,   -- Need M
    cg-SDT-CS-RNTI-r17                      RNTI-Value                                                      OPTIONAL,   -- Need M
    ...
}

CG-SDT-TA-ValidationConfig-r17 ::=  SEQUENCE {
    cg-SDT-RSRP-ChangeThreshold-r17     ENUMERATED { dB2, dB4, dB6, dB8, dB10, dB14, dB18, dB22,
                                            dB26, dB30, dB34, spare5, spare4, spare3, spare2, spare1}
}

BWP-DownlinkDedicatedSDT-r17 ::=    SEQUENCE {
    pdcch-Config-r17                    SetupRelease { PDCCH-Config }                                       OPTIONAL,   -- Need M
    pdsch-Config-r17                    SetupRelease { PDSCH-Config }                                       OPTIONAL,   -- Need M
...
}

BWP-UplinkDedicatedSDT-r17 ::=      SEQUENCE {
    pusch-Config-r17                    SetupRelease { PUSCH-Config }                                       OPTIONAL,   -- Need M
    configuredGrantConfigToAddModList-r17                 ConfiguredGrantConfigToAddModList-r16             OPTIONAL,   -- Need N
    configuredGrantConfigToReleaseList-r17                ConfiguredGrantConfigToReleaseList-r16            OPTIONAL,   -- Need N
...
}

CG-SDT-ConfigLCH-Restriction-r17 ::= SEQUENCE {
    logicalChannelIdentity-r17          LogicalChannelIdentity,
    configuredGrantType1Allowed-r17     ENUMERATED {true}                                                   OPTIONAL,   -- Need R
    allowedCG-List-r17                  SEQUENCE (SIZE (0.. maxNrofConfiguredGrantConfigMAC-1-r16)) OF ConfiguredGrantConfigIndexMAC-r16
                                                                                                            OPTIONAL    -- Need R
}

SRS-PosRRC-Inactive-r17 ::= OCTET STRING (CONTAINING SRS-PosRRC-InactiveConfig-r17)

SRS-PosRRC-InactiveConfig-r17 ::=       SEQUENCE {
    srs-PosConfigNUL-r17                    SRS-PosConfig-r17                                                   OPTIONAL,    -- Need R
    srs-PosConfigSUL-r17                    SRS-PosConfig-r17                                                   OPTIONAL,    -- Need R
    bwp-NUL-r17                             BWP                                                                 OPTIONAL,    -- Need S
    bwp-SUL-r17                             BWP                                                                 OPTIONAL,    -- Need S
    inactivePosSRS-TimeAlignmentTimer-r17   TimeAlignmentTimer                                                  OPTIONAL,    -- Need M
    inactivePosSRS-RSRP-ChangeThreshold-r17 RSRP-ChangeThreshold-r17                                            OPTIONAL     -- Need M
}

RSRP-ChangeThreshold-r17 ::= ENUMERATED {dB4, dB6, dB8, dB10, dB14, dB18, dB22, dB26, dB30, dB34, spare6, spare5, spare4, spare3, spare2, spare1}

SRS-PosConfig-r17 ::=               SEQUENCE {
    srs-PosResourceSetToReleaseList-r17 SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSetId-r16 OPTIONAL,-- Need N
    srs-PosResourceSetToAddModList-r17  SEQUENCE (SIZE(1..maxNrofSRS-PosResourceSets-r16)) OF SRS-PosResourceSet-r16  OPTIONAL,-- Need N
    srs-PosResourceToReleaseList-r17    SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResourceId-r16      OPTIONAL,-- Need N
    srs-PosResourceToAddModList-r17     SEQUENCE (SIZE(1..maxNrofSRS-PosResources-r16)) OF SRS-PosResource-r16        OPTIONAL -- Need N
}

Useful Resources


  1. Ryu, J. (n.d.). 5G/NR – RRC Overview. ShareTechnote. https://www.sharetechnote.com/html/5G/5G_RRC_Overview.html ↩

  2. Swamy, K. (2019, September). 5G NR: UE RRC states and state transitions (Blog post). How LTE Stuff Works. http://howltestuffworks.blogspot.com/2019/09/5g-nr-ue-rrc-states-and-state.html ↩↩

  3. Techplayon. (n.d.). 5G SA registration / 5G call flow. Techplayon. https://www.techplayon.com/5g-nr-sa-registration-attach-call-flow/ ↩

  4. Ryu, J. (n.d.). 5G/NR – RRC Reconfiguration. ShareTechnote. https://www.sharetechnote.com/html/5G_RRC_Reconfiguration.html ↩

  5. 3GPP. (n.d.). NR; Radio Resource Control (RRC) protocol specification (Technical Specification TS 38.331). 3rd Generation Partnership Project. https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3197 ↩

  6. 3GPP. (n.d.). Study on New Radio Access Technology; Radio Interface Protocol Aspects (Technical Report TR 38.804). 3rd Generation Partnership Project. https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3070 ↩