From 1111eccac64e49a0a47e9c9f299f44d9f513bc0c Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sun, 12 Nov 2023 13:19:42 +0100 Subject: [PATCH 01/43] T: isolate generated .h files when using make When using the make system to generate T files, if you change T_messages.txt you may have problems compiling the gnb with ninja. If you want to see the problem: First run: cd cmake_targets; ./build_oai --ninja --gNB Then: cd common/utils/T edit T_messages.txt, add a trace, for example: --- ID = ENB_PHY_UL_TOCK DESC = eNodeB uplink tick - one tick per ms at start of uplink processing GROUP = ALL:PHY:GRAPHIC:ENB FORMAT = int,eNB_ID : int,frame : int,subframe --- then run: make then: cd cmake_targets/ran_build/build; ninja nr-softmodem You should have an error looking like this: --- [3/81] Checking validity of VCD files FAILED: common/utils/T/CMakeFiles/check_vcd /tmp/develop/cmake_targets/ran_build/build/common/utils/T/CMakeFiles/check_vcd cd /tmp/develop/cmake_targets/ran_build/build/common/utils/T && /tmp/develop/cmake_targets/ran_build/build/common/utils/T/_check_vcd /tmp/develop/common/utils/T/T_messages.txt /tmp/develop/common/utils/T/../LOG/vcd_signal_dumper.h error: VCD_FIRST_VARIABLE is not correct in T_defs.h You probably added a VCD trace (variable or function) but you did not update T_messages.txt and/or T_defs.h in common/utils/T/ [...] --- Let's first isolate the generated T .h files when using make because we have two versions of T_IDs.h and T_messages.txt.h when mixing make/cmake. A next commit will regenerate T_IDs.h and T_messages.txt.h when T_messages.txt chages for the cmake system, because this commit does not solve the problem. --- common/utils/T/.gitignore | 3 +-- common/utils/T/Makefile | 21 +++++++++++-------- common/utils/T/tracee/Makefile | 12 +++++++++-- .../T/tracee/common/config/config_userapi.h | 14 +++++++++++++ common/utils/T/tracee/tracee.c | 3 ++- common/utils/T/tracer/Makefile | 6 +++--- 6 files changed, 42 insertions(+), 17 deletions(-) create mode 100644 common/utils/T/tracee/common/config/config_userapi.h diff --git a/common/utils/T/.gitignore b/common/utils/T/.gitignore index 6a6e5817c5..60264a9c4a 100644 --- a/common/utils/T/.gitignore +++ b/common/utils/T/.gitignore @@ -1,7 +1,5 @@ *.o *.a -T_IDs.h -T_messages.txt.h genids tracer/enb tracer/gnb @@ -18,3 +16,4 @@ tracer/extract_output_subframe tracer/extract tracer/multi tracee/tracee +incgen diff --git a/common/utils/T/Makefile b/common/utils/T/Makefile index 4f1bc695ae..e1b3d8c0c2 100644 --- a/common/utils/T/Makefile +++ b/common/utils/T/Makefile @@ -1,10 +1,10 @@ CC=gcc -CFLAGS=-Wall -g +CFLAGS=-Wall -g -Iincgen GENIDS=genids GENIDS_OBJS=genids.o -all : $(GENIDS) T_messages.txt.h T_IDs.h +all : $(GENIDS) incgen/T_messages.txt.h incgen/T_IDs.h $(GENIDS): $(GENIDS_OBJS) $(CC) $(CFLAGS) -o $(GENIDS) $(GENIDS_OBJS) @@ -12,21 +12,24 @@ $(GENIDS): $(GENIDS_OBJS) %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< -T_messages.txt.h: T_messages.txt - xxd -i T_messages.txt T_messages.txt.h +incgen/T_messages.txt.h: T_messages.txt + mkdir -p incgen + xxd -i T_messages.txt incgen/T_messages.txt.h -T_IDs.h: $(GENIDS) T_messages.txt - ./$(GENIDS) T_messages.txt T_IDs.h +incgen/T_IDs.h: $(GENIDS) T_messages.txt + mkdir -p incgen + ./$(GENIDS) T_messages.txt incgen/T_IDs.h -check_vcd: T_IDs.h T_messages.txt.h +check_vcd: incgen/T_IDs.h incgen/T_messages.txt.h gcc -Wall -I. -I.. -I../itti -I../../../openair2/COMMON -Itracer -o _check_vcd check_vcd.c tracer/database.c tracer/utils.c -lm -pthread - ./_check_vcd T_messages.txt ../LOG/vcd_signal_dumper.h || (rm -f ./_check_vcd ./T_IDs.h ./T_messages.txt.h && false) + ./_check_vcd T_messages.txt ../LOG/vcd_signal_dumper.h || (rm -rf ./_check_vcd ./incgen && false) rm -f ./_check_vcd .PHONY: check_vcd clean: - rm -f *.o $(GENIDS) core T_IDs.h T_messages.txt.h _check_vcd + rm -f *.o $(GENIDS) core _check_vcd + rm -rf incgen cleanall: clean cd tracer && $(MAKE) clean diff --git a/common/utils/T/tracee/Makefile b/common/utils/T/tracee/Makefile index 10ea3bdca3..9b3b06cf31 100644 --- a/common/utils/T/tracee/Makefile +++ b/common/utils/T/tracee/Makefile @@ -1,8 +1,10 @@ CC=gcc -CFLAGS=-Wall -g -pthread -DT_TRACER -I. +CFLAGS=-Wall -g -pthread -DT_TRACER -I. -I../incgen PROG=tracee -OBJS=tracee.o ../T.o ../local_tracer.o +OBJS=tracee.o T.o ../local_tracer.o + +all: T_dep $(PROG) $(PROG): $(OBJS) $(CC) $(CFLAGS) -o $(PROG) $(OBJS) -lrt @@ -10,5 +12,11 @@ $(PROG): $(OBJS) tracee.o: tracee.c $(CC) $(CFLAGS) -c -o $@ $< +T.o: ../T.c + $(CC) $(CFLAGS) -c -o $@ $< + +T_dep: + cd .. && make + clean: rm -f *.o $(PROG) core diff --git a/common/utils/T/tracee/common/config/config_userapi.h b/common/utils/T/tracee/common/config/config_userapi.h new file mode 100644 index 0000000000..56532a4056 --- /dev/null +++ b/common/utils/T/tracee/common/config/config_userapi.h @@ -0,0 +1,14 @@ +#ifndef _CONFIG_USERAPI_H_ +#define _CONFIG_USERAPI_H_ + +typedef int paramdef_t; + +#ifdef CMDLINE_TTRACEPARAMS_DESC +#undef CMDLINE_TTRACEPARAMS_DESC +#endif +#define CMDLINE_TTRACEPARAMS_DESC {} + +#define config_get(dummy, ...) (void)(dummy) +#define config_process_cmdline(...) /**/ + +#endif /* _CONFIG_USERAPI_H_ */ diff --git a/common/utils/T/tracee/tracee.c b/common/utils/T/tracee/tracee.c index 5f820ee42e..9a0dd2f7e8 100644 --- a/common/utils/T/tracee/tracee.c +++ b/common/utils/T/tracee/tracee.c @@ -6,7 +6,8 @@ int main(void) { int frame = 0; - T_init(2021, 1, 0); + T_init(2021, 1); + T_stdout = 0; while (1) { getchar(); T(T_ENB_PHY_PUCCH_1AB_IQ, T_INT(0), T_INT(0), T_INT(frame), T_INT(0), T_INT(0), T_INT(0)); diff --git a/common/utils/T/tracer/Makefile b/common/utils/T/tracer/Makefile index 6ddf05e65b..74b37457b5 100644 --- a/common/utils/T/tracer/Makefile +++ b/common/utils/T/tracer/Makefile @@ -1,5 +1,5 @@ CC=gcc -CFLAGS=-Wall -g -pthread -DT_TRACER -I. +CFLAGS=-Wall -g -pthread -DT_TRACER -I. -I../incgen #CFLAGS += -O3 -ffast-math -fomit-frame-pointer @@ -66,9 +66,9 @@ gnb: utils.o gnb.o database.o event.o handler.o configuration.o \ filter/filter.a $(CC) $(CFLAGS) -o gnb $^ $(LIBS) $(XLIBS) -multi.o: ../T_IDs.h +multi.o: ../incgen/T_IDs.h -../T_IDs.h: +../incgen/T_IDs.h: ../T_messages.txt cd .. && $(MAKE) .PHONY: all gui/gui.a view/view.a logger/logger.a filter/filter.a From e98acd7c5ac296cd08f874f8c166ef2e76cdeb77 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sun, 12 Nov 2023 14:07:11 +0100 Subject: [PATCH 02/43] T: set dependancies for generated files This commit follows the previous one and adds a dependancy for the generated .h files so that when we change T_messages.txt to add a T trace, the compilation succeeds when using ninja in cmake_targets/ran_build/build. --- common/utils/T/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/utils/T/CMakeLists.txt b/common/utils/T/CMakeLists.txt index 1f9055e007..01dda120ca 100644 --- a/common/utils/T/CMakeLists.txt +++ b/common/utils/T/CMakeLists.txt @@ -8,11 +8,12 @@ else() endif() add_custom_command(OUTPUT T_IDs.h COMMAND genids ${CMAKE_CURRENT_SOURCE_DIR}/T_messages.txt T_IDs.h - DEPENDS genids + DEPENDS genids T_messages.txt COMMENT "Generating T_IDs.h from T_messages.txt" ) add_custom_command(OUTPUT T_messages.txt.h COMMAND xxd -i T_messages.txt ${CMAKE_CURRENT_BINARY_DIR}/T_messages.txt.h + DEPENDS T_messages.txt COMMENT "Generating T_messages.txt.h from T_messages.txt" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) From 43036eb83d54e818e4273ae1b6e6351e8c75e244 Mon Sep 17 00:00:00 2001 From: sriharsha Date: Thu, 28 Sep 2023 14:33:02 +0200 Subject: [PATCH 03/43] Add implementation of logical channel prioritization at UE - Reorder the logical channels based on priority - Handling of configuration and release of logical channel bearer - Add changes in the implementation of lcp procedure for equal priority logical channels - Restructure the lcp parameters as a separate structure - Further code clean up --- openair2/LAYER2/NR_MAC_UE/config_ue.c | 127 +++- openair2/LAYER2/NR_MAC_UE/mac_defs.h | 56 +- openair2/LAYER2/NR_MAC_UE/mac_proto.h | 14 + openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c | 16 +- openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c | 625 +++++++++++++++---- 5 files changed, 677 insertions(+), 161 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index b1624126bb..adca3def49 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -30,6 +30,8 @@ * \warning */ +#define _GNU_SOURCE + //#include "mac_defs.h" #include #include "NR_MAC_UE/mac_proto.h" @@ -39,6 +41,32 @@ #include "executables/softmodem-common.h" #include "SCHED_NR/phy_frame_config_nr.h" +const long logicalChannelGroup0_NR = 0; +typedef struct NR_LogicalChannelConfig__ul_SpecificParameters LcConfig_UlParamas_t; + +const LcConfig_UlParamas_t NR_LCSRB1 = { + .priority = 1, + .prioritisedBitRate = NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity, + .logicalChannelGroup = (long *)&logicalChannelGroup0_NR}; + +const LcConfig_UlParamas_t NR_LCSRB2 = { + .priority = 3, + .prioritisedBitRate = NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity, + .logicalChannelGroup = (long *)&logicalChannelGroup0_NR}; + +const LcConfig_UlParamas_t NR_LCSRB3 = { + .priority = 1, + .prioritisedBitRate = NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity, + .logicalChannelGroup = (long *)&logicalChannelGroup0_NR}; + +// these are the default values for SRB configurations(SRB1 and SRB2) as mentioned in 36.331 pg 258-259 +const NR_LogicalChannelConfig_t NR_SRB1_logicalChannelConfig_defaultValue = {.ul_SpecificParameters = + (LcConfig_UlParamas_t *)&NR_LCSRB1}; +const NR_LogicalChannelConfig_t NR_SRB2_logicalChannelConfig_defaultValue = {.ul_SpecificParameters = + (LcConfig_UlParamas_t *)&NR_LCSRB2}; +const NR_LogicalChannelConfig_t NR_SRB3_logicalChannelConfig_defaultValue = {.ul_SpecificParameters = + (LcConfig_UlParamas_t *)&NR_LCSRB3}; + void set_tdd_config_nr_ue(fapi_nr_tdd_table_t *tdd_table, int mu, NR_TDD_UL_DL_Pattern_t *pattern) @@ -511,26 +539,107 @@ void configure_ss_coreset(NR_UE_MAC_INST_t *mac, mac->BWP_coresets[i] = NULL; } +static int lcid_cmp(const void *lcid1, const void *lcid2, void *mac_inst) +{ + uint8_t id1 = *(uint8_t *)lcid1; + uint8_t id2 = *(uint8_t *)lcid2; + NR_UE_MAC_INST_t *mac = (NR_UE_MAC_INST_t *)mac_inst; + + NR_LogicalChannelConfig_t **lc_config = &mac->logicalChannelConfig[0]; + + AssertFatal(id1 > 0 && id2 > 0, "undefined logical channel identity\n"); + AssertFatal(lc_config[id1 - 1] != NULL || lc_config[id2 - 1] != NULL, "logical channel configuration should be available\n"); + + return (lc_config[id1 - 1]->ul_SpecificParameters->priority - lc_config[id2 - 1]->ul_SpecificParameters->priority); +} + +void nr_release_mac_config_logicalChannelBearer(module_id_t module_id, long channel_identity) +{ + NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); + if (mac->logicalChannelConfig[channel_identity - 1] != NULL) { + mac->logicalChannelConfig[channel_identity - 1] = NULL; + memset(&mac->scheduling_info.lc_sched_info[channel_identity - 1], 0, sizeof(NR_LC_SCHEDULING_INFO)); + } else { + LOG_E(NR_MAC, "Trying to release a non configured logical channel bearer %li\n", channel_identity); + } +} + +void nr_configure_mac_config_logicalChannelBearer(module_id_t module_id, + long channel_identity, + NR_LogicalChannelConfig_t *lc_config) +{ + NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); + + LOG_I(NR_MAC, "[MACLogicalChannelConfig]Applying RRC Logical Channel Config %d to lcid %li\n", module_id, channel_identity); + mac->logicalChannelConfig[channel_identity - 1] = lc_config; + + // initialize the variable Bj for every LCID + mac->scheduling_info.lc_sched_info[channel_identity - 1].Bj = 0; + + // store the bucket size + int pbr = nr_get_pbr(lc_config->ul_SpecificParameters->prioritisedBitRate); + int bsd = nr_get_ms_bucketsizeduration(lc_config->ul_SpecificParameters->bucketSizeDuration); + + // in infinite pbr, the bucket is saturated by pbr + if (lc_config->ul_SpecificParameters->prioritisedBitRate + == NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity) { + bsd = 1; + } + mac->scheduling_info.lc_sched_info[channel_identity - 1].bucket_size = pbr * bsd; + + if (lc_config->ul_SpecificParameters->logicalChannelGroup != NULL) + mac->scheduling_info.lc_sched_info[channel_identity - 1].LCGID = *lc_config->ul_SpecificParameters->logicalChannelGroup; + else + mac->scheduling_info.lc_sched_info[channel_identity - 1].LCGID = 0; +} + void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id, struct NR_CellGroupConfig__rlc_BearerToAddModList *rlc_toadd_list, struct NR_CellGroupConfig__rlc_BearerToReleaseList *rlc_torelease_list) { NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); - if (rlc_toadd_list) { - for (int i = 0; i < rlc_toadd_list->list.count; i++) { - NR_RLC_BearerConfig_t *rlc_bearer = rlc_toadd_list->list.array[i]; - int id = rlc_bearer->logicalChannelIdentity - 1; - mac->active_RLC_bearer[id] = true; - } - } if (rlc_torelease_list) { for (int i = 0; i < rlc_torelease_list->list.count; i++) { if (rlc_torelease_list->list.array[i]) { - int id = *rlc_torelease_list->list.array[i] - 1; - mac->active_RLC_bearer[id] = false; + int lc_identity = *rlc_torelease_list->list.array[i]; + nr_release_mac_config_logicalChannelBearer(module_id, lc_identity); } } } + if (rlc_toadd_list) { + for (int i = 0; i < rlc_toadd_list->list.count; i++) { + NR_RLC_BearerConfig_t *rlc_bearer = rlc_toadd_list->list.array[i]; + int lc_identity = rlc_bearer->logicalChannelIdentity; + mac->lc_ordered_info.lcids_ordered[i] = lc_identity; + NR_LogicalChannelConfig_t *mac_lc_config; + if (rlc_bearer->servedRadioBearer->present == NR_RLC_BearerConfig__servedRadioBearer_PR_srb_Identity) { /* SRB */ + NR_SRB_Identity_t srb_id = rlc_bearer->servedRadioBearer->choice.srb_Identity; + if (rlc_bearer->mac_LogicalChannelConfig != NULL) { + mac_lc_config = rlc_bearer->mac_LogicalChannelConfig; + } else { + LOG_I(NR_RRC, "Applying the default logicalChannelConfig for SRB\n"); + if (srb_id == 1) + mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB1_logicalChannelConfig_defaultValue; + else if (srb_id == 2) + mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB2_logicalChannelConfig_defaultValue; + else if (srb_id == 3) + mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB3_logicalChannelConfig_defaultValue; + else + AssertFatal(1 == 0, "The logical id %d is not a valid SRB id %li\n", lc_identity, srb_id); + } + } else { /* DRB */ + mac_lc_config = rlc_bearer->mac_LogicalChannelConfig; + AssertFatal(mac_lc_config != NULL, "For DRB, it should be mandatorily present\n"); + } + nr_configure_mac_config_logicalChannelBearer(module_id, lc_identity, mac_lc_config); + } + + // reorder the logical channels as per its priority + qsort_r((void *)mac->lc_ordered_info.lcids_ordered, rlc_toadd_list->list.count, sizeof(uint32_t), lcid_cmp, (void *)mac); + for (uint8_t i = 0; i < rlc_toadd_list->list.count; i++) { + mac->lc_ordered_info.logicalChannelConfig_ordered[i] = mac->logicalChannelConfig[mac->lc_ordered_info.lcids_ordered[i] - 1]; + } + } } void configure_current_BWP(NR_UE_MAC_INST_t *mac, diff --git a/openair2/LAYER2/NR_MAC_UE/mac_defs.h b/openair2/LAYER2/NR_MAC_UE/mac_defs.h index 068890f620..fe94212f73 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_defs.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_defs.h @@ -171,24 +171,38 @@ typedef enum { RA_4STEP } nr_ra_type_e; +typedef struct { + // after multiplexing buffer remain for each lcid + int32_t LCID_buffer_remain; + // buffer status for each lcid + uint8_t LCID_status; + // Bj bucket usage per lcid + int32_t Bj; + // Bucket size per lcid + int32_t bucket_size; + // logical channel group id for each LCID + uint8_t LCGID; +} NR_LC_SCHEDULING_INFO; + +typedef struct { + // buffer status for each lcgid + uint8_t BSR; // should be more for mesh topology + // keep the number of bytes in rlc buffer for each lcgid + int32_t BSR_bytes; +} NR_LCG_SCHEDULING_INFO; + // LTE structure, might need to be adapted for NR typedef struct { - /// buffer status for each lcgid - uint8_t BSR[NR_MAX_NUM_LCGID]; // should be more for mesh topology - /// keep the number of bytes in rlc buffer for each lcgid - int32_t BSR_bytes[NR_MAX_NUM_LCGID]; - /// after multiplexing buffer remain for each lcid - int32_t LCID_buffer_remain[NR_MAX_NUM_LCID]; + // lcs scheduling info + NR_LC_SCHEDULING_INFO lc_sched_info[NR_MAX_NUM_LCID]; + // lcg scheduling info + NR_LCG_SCHEDULING_INFO lcg_sched_info[NR_MAX_NUM_LCGID]; /// sum of all lcid buffer size - uint16_t All_lcid_buffer_size_lastTTI; - /// buffer status for each lcid - uint8_t LCID_status[NR_MAX_NUM_LCID]; + uint16_t All_lcid_buffer_size_lastTTI; /// SR pending as defined in 38.321 uint8_t SR_pending; /// SR_COUNTER as defined in 38.321 uint16_t SR_COUNTER; - /// logical channel group ide for each LCID - uint8_t LCGID[NR_MAX_NUM_LCID]; /// retxBSR-Timer, default value is sf2560 uint16_t retxBSR_Timer; /// retxBSR_SF, number of subframe before triggering a regular BSR @@ -226,11 +240,6 @@ typedef struct { uint16_t extendedBSR_Sizes_r10; /// default value is false uint16_t extendedPHR_r10; - - //Bj bucket usage per lcid - int16_t Bj[NR_MAX_NUM_LCID]; - // Bucket size per lcid - int16_t bucket_size[NR_MAX_NUM_LCID]; } NR_UE_SCHEDULING_INFO; typedef enum { @@ -424,6 +433,14 @@ typedef struct ssb_list_info { uint8_t nb_tx_ssb; } ssb_list_info_t; +typedef struct nr_lcordered_info_s { + // logical channels ids ordered as per priority + int lcids_ordered[NR_MAX_NUM_LCID]; + + // logical channel configurations reordered as per priority + NR_LogicalChannelConfig_t *logicalChannelConfig_ordered[NR_MAX_NUM_LCID]; +} nr_lcordered_info_t; + /*!\brief Top level UE MAC structure */ typedef struct { NR_UE_L2_STATE_t state; @@ -508,8 +525,11 @@ typedef struct { /// BSR report flag management uint8_t BSR_reporting_active; - /// LogicalChannelConfig has bearer. - bool active_RLC_bearer[NR_MAX_NUM_LCID]; + // Pointers to LogicalChannelConfig indexed by LogicalChannelIdentity. Note NULL means LCHAN is inactive. + NR_LogicalChannelConfig_t *logicalChannelConfig[NR_MAX_NUM_LCID]; + + // order lc info + nr_lcordered_info_t lc_ordered_info; NR_UE_SCHEDULING_INFO scheduling_info; /// PHR diff --git a/openair2/LAYER2/NR_MAC_UE/mac_proto.h b/openair2/LAYER2/NR_MAC_UE/mac_proto.h index 60c64ead12..9269b1c5e8 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_proto.h @@ -148,6 +148,20 @@ bool nr_update_bsr(module_id_t module_idP, frame_t frameP, slot_t slotP, uint8_t uint8_t nr_locate_BsrIndexByBufferSize(const uint32_t *table, int size, int value); +/*! \fn int nr_get_pbr(uint8_t prioritizedbitrate) + \brief get the rate in kbps from the rate configured by the higher layer +\param[in] prioritizedbitrate +\return the rate in kbps +*/ +uint32_t nr_get_pbr(uint8_t prioritizedbitrate); + +/*! \fn int nr_get_ms_bucketsizeduration(uint8_t bucketSizeduration) + \brief get the time in ms from the bucket size duration configured by the higher layer +\param[in] bucketSize the bucket size duration +\return the time in ms +*/ +uint16_t nr_get_ms_bucketsizeduration(uint8_t bucketsizeduration); + /*! \fn int nr_get_sf_periodicBSRTimer(uint8_t periodicBSR_Timer) \brief get the number of subframe from the periodic BSR timer configured by the higher layers \param[in] periodicBSR_Timer timer for periodic BSR diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c index f5902bed27..8b1382f23f 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c @@ -188,17 +188,11 @@ void nr_ue_mac_default_configs(NR_UE_MAC_INST_t *mac) for (int i = 0; i < NR_MAX_NUM_LCID; i++) { LOG_D(NR_MAC, "Applying default logical channel config for LCGID %d\n", i); - mac->scheduling_info.Bj[i] = -1; - mac->scheduling_info.bucket_size[i] = -1; - - if (i < UL_SCH_LCID_DTCH) { // initialize all control channels lcgid to 0 - mac->scheduling_info.LCGID[i] = 0; - } else { // initialize all the data channels lcgid to 1 - mac->scheduling_info.LCGID[i] = 1; - } - - mac->scheduling_info.LCID_status[i] = LCID_EMPTY; - mac->scheduling_info.LCID_buffer_remain[i] = 0; + mac->scheduling_info.lc_sched_info[i].Bj = -1; + mac->scheduling_info.lc_sched_info[i].bucket_size = -1; + mac->scheduling_info.lc_sched_info[i].LCGID = 0; // defaults to 0 irrespective of SRB or DRB + mac->scheduling_info.lc_sched_info[i].LCID_status = LCID_EMPTY; + mac->scheduling_info.lc_sched_info[i].LCID_buffer_remain = 0; for (int k = 0; k < NR_MAX_HARQ_PROCESSES; k++) mac->first_ul_tx[k] = 1; } diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c index e5ecba5efc..5f7728eb3a 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c @@ -1095,6 +1095,35 @@ void nr_ue_ul_scheduler(nr_uplink_indication_t *ul_info) pthread_mutex_unlock(&ul_config->mutex_ul_config); } + // update Bj for all active lcids before LCP procedure + LOG_D(NR_MAC, "====================[Frame %d][Slot %d]Logical Channel Prioritization===========\n", frame_tx, slot_tx); + NR_LogicalChannelConfig_t **lc_bearer; + int *lcid_ptr; + for (lcid_ptr = mac->lc_ordered_info.lcids_ordered, lc_bearer = mac->lc_ordered_info.logicalChannelConfig_ordered; + (*lcid_ptr <= NR_MAX_NUM_LCID) && (*lc_bearer != NULL); + lcid_ptr++, lc_bearer++) { + int lcid = *lcid_ptr; + NR_LogicalChannelConfig_t *lcconfig = mac->logicalChannelConfig[lcid - 1]; + NR_LC_SCHEDULING_INFO *sched_lc = &mac->scheduling_info.lc_sched_info[lcid - 1]; + int32_t bucketSize_max = + sched_lc->bucket_size; // max amount of data that can be buffered/accumulated in a logical channel buffer + + /* + measure Bj + increment the value of Bj by product PBR * T + */ + int T = 1; // time elapsed since Bj was last incremented + int32_t bj = sched_lc->Bj; + bj += nr_get_pbr(lcconfig->ul_SpecificParameters->prioritisedBitRate) * T; + if (lcconfig->ul_SpecificParameters->prioritisedBitRate + == NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity) { + bj = nr_get_pbr(lcconfig->ul_SpecificParameters->prioritisedBitRate); + } + + // bj > max bucket size, set bj to max bucket size, as in ts38.321 5.4.3.1 Logical Channel Prioritization + sched_lc->Bj = min(bj, bucketSize_max); + } + // Call BSR procedure as described in Section 5.4.5 in 38.321 // First check ReTxBSR Timer because it is always configured @@ -1147,23 +1176,23 @@ bool nr_update_bsr(module_id_t module_idP, frame_t frameP, slot_t slotP, uint8_t for (int lcid = 1; lcid <= NR_MAX_NUM_LCID; lcid++) { // Reset transmission status lcid_bytes_in_buffer[lcid - 1] = 0; - mac->scheduling_info.LCID_status[lcid - 1] = LCID_EMPTY; + mac->scheduling_info.lc_sched_info[lcid - 1].LCID_status = LCID_EMPTY; } for (int lcgid = 0; lcgid < NR_MAX_NUM_LCGID; lcgid++) { // Reset Buffer Info - mac->scheduling_info.BSR[lcgid] = 0; - mac->scheduling_info.BSR_bytes[lcgid] = 0; + mac->scheduling_info.lcg_sched_info[lcgid].BSR = 0; + mac->scheduling_info.lcg_sched_info[lcgid].BSR_bytes = 0; } //Get Buffer Occupancy and fill lcid_reordered_array for (int lcid = 1; lcid <= NR_MAX_NUM_LCID; lcid++) { - if (mac->active_RLC_bearer[lcid - 1]) { // todo - int lcgid = mac->scheduling_info.LCGID[lcid - 1]; + if (mac->logicalChannelConfig[lcid - 1] != NULL) { // todo + int lcgid = mac->scheduling_info.lc_sched_info[lcid - 1].LCGID; // Store already available data to transmit per Group if (lcgid < NR_MAX_NUM_LCGID) { - lcgid_buffer_remain[lcgid] += mac->scheduling_info.LCID_buffer_remain[lcid - 1]; + lcgid_buffer_remain[lcgid] += mac->scheduling_info.lc_sched_info[lcid - 1].LCID_buffer_remain; } mac_rlc_status_resp_t rlc_status = mac_rlc_status_ind(module_idP, mac->crnti,gNB_index,frameP,slotP,ENB_FLAG_NO,MBMS_FLAG_NO, lcid, 0, 0); @@ -1173,13 +1202,13 @@ bool nr_update_bsr(module_id_t module_idP, frame_t frameP, slot_t slotP, uint8_t if (rlc_status.bytes_in_buffer > 0) { LOG_D(NR_MAC,"[UE %d] PDCCH Tick : LCID%d LCGID%d has data to transmit =%d bytes at frame %d slot %d\n", module_idP, lcid,lcgid,rlc_status.bytes_in_buffer,frameP,slotP); - mac->scheduling_info.LCID_status[lcid - 1] = LCID_NOT_EMPTY; + mac->scheduling_info.lc_sched_info[lcid - 1].LCID_status = LCID_NOT_EMPTY; //Update BSR_bytes and position in lcid_reordered_array only if Group is defined if (lcgid < NR_MAX_NUM_LCGID) { num_lcid_with_data ++; // sum lcid buffer which has same lcgid - mac->scheduling_info.BSR_bytes[lcgid] += rlc_status.bytes_in_buffer; + mac->scheduling_info.lcg_sched_info[lcgid].BSR_bytes += rlc_status.bytes_in_buffer; //Fill in the array array_index = 0; @@ -1222,7 +1251,7 @@ bool nr_update_bsr(module_id_t module_idP, frame_t frameP, slot_t slotP, uint8_t "[UE %d] PDCCH Tick : MAC BSR Triggered LCID%d LCGID%d data become available at frame %d slot %d\n", module_idP, lcid, - mac->scheduling_info.LCGID[lcid - 1], + mac->scheduling_info.lc_sched_info[lcid - 1].LCGID, frameP, slotP); break; @@ -1242,7 +1271,7 @@ bool nr_update_bsr(module_id_t module_idP, frame_t frameP, slot_t slotP, uint8_t //Store Buffer Occupancy in remain buffers for next TTI for (int lcid = 1; lcid <= NR_MAX_NUM_LCID; lcid++) { - mac->scheduling_info.LCID_buffer_remain[lcid - 1] = lcid_bytes_in_buffer[lcid - 1]; + mac->scheduling_info.lc_sched_info[lcid - 1].LCID_buffer_remain = lcid_bytes_in_buffer[lcid - 1]; } return bsr_regular_triggered; @@ -2632,7 +2661,7 @@ int nr_ue_get_sdu_mac_ce_pre(module_id_t module_idP, mac_ce_p->phr_header_len = 0; //sizeof(SCH_SUBHEADER_FIXED); int lcg_id = 0; while (lcg_id < NR_MAX_NUM_LCGID) { - if (mac->scheduling_info.BSR_bytes[lcg_id]) { + if (mac->scheduling_info.lcg_sched_info[lcg_id].BSR_bytes) { num_lcg_id_with_data++; } @@ -2713,11 +2742,17 @@ void nr_ue_get_sdu_mac_ce_post(module_id_t module_idP, int lcg_id_bsr_trunc = 0; for (lcg_id = 0; lcg_id < NR_MAX_NUM_LCGID; lcg_id++) { if (mac_ce_p->bsr_ce_len == sizeof(NR_BSR_SHORT)) { - mac->scheduling_info.BSR[lcg_id] = nr_locate_BsrIndexByBufferSize(NR_SHORT_BSR_TABLE, NR_SHORT_BSR_TABLE_SIZE, mac->scheduling_info.BSR_bytes[lcg_id]); + mac->scheduling_info.lcg_sched_info[lcg_id].BSR = + nr_locate_BsrIndexByBufferSize(NR_SHORT_BSR_TABLE, + NR_SHORT_BSR_TABLE_SIZE, + mac->scheduling_info.lcg_sched_info[lcg_id].BSR_bytes); } else { - mac->scheduling_info.BSR[lcg_id] = nr_locate_BsrIndexByBufferSize(NR_LONG_BSR_TABLE, NR_LONG_BSR_TABLE_SIZE, mac->scheduling_info.BSR_bytes[lcg_id]); + mac->scheduling_info.lcg_sched_info[lcg_id].BSR = + nr_locate_BsrIndexByBufferSize(NR_LONG_BSR_TABLE, + NR_LONG_BSR_TABLE_SIZE, + mac->scheduling_info.lcg_sched_info[lcg_id].BSR_bytes); } - if (mac->scheduling_info.BSR_bytes[lcg_id]) { + if (mac->scheduling_info.lcg_sched_info[lcg_id].BSR_bytes) { num_lcg_id_with_data++; lcg_id_bsr_trunc = lcg_id; } @@ -2751,8 +2786,8 @@ void nr_ue_get_sdu_mac_ce_post(module_id_t module_idP, // REPORT SHORT TRUNCATED BSR //Get LCGID of highest priority LCID with data (todo) for (int lcid = 1; lcid <= NR_MAX_NUM_LCID; lcid++) { - lcg_id = mac->scheduling_info.LCGID[lcid - 1]; - if ((lcg_id < NR_MAX_NUM_LCGID) && (mac->scheduling_info.BSR_bytes[lcg_id])) { + lcg_id = mac->scheduling_info.lc_sched_info[lcid - 1].LCGID; + if ((lcg_id < NR_MAX_NUM_LCGID) && (mac->scheduling_info.lcg_sched_info[lcg_id].BSR_bytes)) { lcg_id_bsr_trunc = lcg_id; } } @@ -2778,25 +2813,29 @@ void nr_ue_get_sdu_mac_ce_post(module_id_t module_idP, } else if (mac_ce_p->bsr_header_len == sizeof(NR_MAC_SUBHEADER_SHORT)) { mac_ce_p->bsr_s = NULL; mac_ce_p->bsr_t = NULL; - mac_ce_p->bsr_l->Buffer_size0 = mac->scheduling_info.BSR[0]; - mac_ce_p->bsr_l->Buffer_size1 = mac->scheduling_info.BSR[1]; - mac_ce_p->bsr_l->Buffer_size2 = mac->scheduling_info.BSR[2]; - mac_ce_p->bsr_l->Buffer_size3 = mac->scheduling_info.BSR[3]; - mac_ce_p->bsr_l->Buffer_size4 = mac->scheduling_info.BSR[4]; - mac_ce_p->bsr_l->Buffer_size5 = mac->scheduling_info.BSR[5]; - mac_ce_p->bsr_l->Buffer_size6 = mac->scheduling_info.BSR[6]; - mac_ce_p->bsr_l->Buffer_size7 = mac->scheduling_info.BSR[7]; - LOG_D(NR_MAC, "[UE %d] Frame %d subframe %d BSR Trig=%d report LONG BSR (level LCGID0 %d,level LCGID1 %d,level LCGID2 %d,level LCGID3 %d level LCGID4 %d,level LCGID5 %d,level LCGID6 %d,level LCGID7 %d)\n", - module_idP, frameP, subframe, + mac_ce_p->bsr_l->Buffer_size0 = mac->scheduling_info.lcg_sched_info[0].BSR; + mac_ce_p->bsr_l->Buffer_size1 = mac->scheduling_info.lcg_sched_info[1].BSR; + mac_ce_p->bsr_l->Buffer_size2 = mac->scheduling_info.lcg_sched_info[2].BSR; + mac_ce_p->bsr_l->Buffer_size3 = mac->scheduling_info.lcg_sched_info[3].BSR; + mac_ce_p->bsr_l->Buffer_size4 = mac->scheduling_info.lcg_sched_info[4].BSR; + mac_ce_p->bsr_l->Buffer_size5 = mac->scheduling_info.lcg_sched_info[5].BSR; + mac_ce_p->bsr_l->Buffer_size6 = mac->scheduling_info.lcg_sched_info[6].BSR; + mac_ce_p->bsr_l->Buffer_size7 = mac->scheduling_info.lcg_sched_info[7].BSR; + LOG_D(NR_MAC, + "[UE %d] Frame %d subframe %d BSR Trig=%d report LONG BSR (level LCGID0 %d,level LCGID1 %d,level LCGID2 %d,level LCGID3 " + "%d level LCGID4 %d,level LCGID5 %d,level LCGID6 %d,level LCGID7 %d)\n", + module_idP, + frameP, + subframe, mac->BSR_reporting_active, - mac->scheduling_info.BSR[0], - mac->scheduling_info.BSR[1], - mac->scheduling_info.BSR[2], - mac->scheduling_info.BSR[3], - mac->scheduling_info.BSR[4], - mac->scheduling_info.BSR[5], - mac->scheduling_info.BSR[6], - mac->scheduling_info.BSR[7]); + mac->scheduling_info.lcg_sched_info[0].BSR, + mac->scheduling_info.lcg_sched_info[1].BSR, + mac->scheduling_info.lcg_sched_info[2].BSR, + mac->scheduling_info.lcg_sched_info[3].BSR, + mac->scheduling_info.lcg_sched_info[4].BSR, + mac->scheduling_info.lcg_sched_info[5].BSR, + mac->scheduling_info.lcg_sched_info[6].BSR, + mac->scheduling_info.lcg_sched_info[7].BSR); } else if (mac_ce_p->bsr_header_len == sizeof(NR_MAC_SUBHEADER_FIXED)) { mac_ce_p->bsr_l = NULL; @@ -2804,19 +2843,27 @@ void nr_ue_get_sdu_mac_ce_post(module_id_t module_idP, //Truncated BSR mac_ce_p->bsr_s = NULL; mac_ce_p->bsr_t->LcgID = lcg_id_bsr_trunc; - mac_ce_p->bsr_t->Buffer_size = mac->scheduling_info.BSR[lcg_id_bsr_trunc]; - LOG_D(NR_MAC, "[UE %d] Frame %d subframe %d BSR Trig=%d report TRUNCATED BSR with level %d for LCGID %d\n", - module_idP, frameP, subframe, + mac_ce_p->bsr_t->Buffer_size = mac->scheduling_info.lcg_sched_info[lcg_id_bsr_trunc].BSR; + LOG_D(NR_MAC, + "[UE %d] Frame %d subframe %d BSR Trig=%d report TRUNCATED BSR with level %d for LCGID %d\n", + module_idP, + frameP, + subframe, mac->BSR_reporting_active, - mac->scheduling_info.BSR[lcg_id_bsr_trunc], lcg_id_bsr_trunc); + mac->scheduling_info.lcg_sched_info[lcg_id_bsr_trunc].BSR, + lcg_id_bsr_trunc); } else { mac_ce_p->bsr_t = NULL; mac_ce_p->bsr_s->LcgID = lcg_id_bsr_trunc; - mac_ce_p->bsr_s->Buffer_size = mac->scheduling_info.BSR[lcg_id_bsr_trunc]; - LOG_D(NR_MAC, "[UE %d] Frame %d subframe %d BSR Trig=%d report SHORT BSR with level %d for LCGID %d\n", - module_idP, frameP, subframe, + mac_ce_p->bsr_s->Buffer_size = mac->scheduling_info.lcg_sched_info[lcg_id_bsr_trunc].BSR; + LOG_D(NR_MAC, + "[UE %d] Frame %d subframe %d BSR Trig=%d report SHORT BSR with level %d for LCGID %d\n", + module_idP, + frameP, + subframe, mac->BSR_reporting_active, - mac->scheduling_info.BSR[lcg_id_bsr_trunc], lcg_id_bsr_trunc); + mac->scheduling_info.lcg_sched_info[lcg_id_bsr_trunc].BSR, + lcg_id_bsr_trunc); } } @@ -2845,6 +2892,92 @@ void nr_ue_get_sdu_mac_ce_post(module_id_t module_idP, } } +uint32_t get_count_lcids_same_priority(NR_UE_MAC_INST_t *mac, uint8_t start, uint8_t total_active_lcids, int *lcid_ordered_array) +{ + // count number of logical channels with same priority as curr_lcid + uint8_t same_priority_count = 0; + uint8_t curr_lcid = lcid_ordered_array[start]; + NR_LogicalChannelConfig_t *lc_config_curr = mac->logicalChannelConfig[curr_lcid - 1]; + for (uint8_t index = start; index < total_active_lcids; index++) { + uint8_t next_lcid = lcid_ordered_array[index]; + NR_LogicalChannelConfig_t *lc_config_next = mac->logicalChannelConfig[next_lcid - 1]; + if (lc_config_curr->ul_SpecificParameters->priority == lc_config_next->ul_SpecificParameters->priority) { + same_priority_count++; + } + } + return same_priority_count; +} + +long get_num_bytes_to_reqlc(NR_UE_MAC_INST_t *mac, + uint8_t same_priority_count, + uint8_t lc_num, + uint16_t buflen_remain_ep, + int16_t buflen_remain, + uint8_t round_id, + uint32_t *bytes_read_fromlc, + long *target) +{ + /* Calculates the number of bytes the logical channel should request from the correcponding RLC buffer*/ + NR_LogicalChannelConfig_t *lc_config = mac->logicalChannelConfig[lc_num - 1]; + long pbr = nr_get_pbr(lc_config->ul_SpecificParameters->prioritisedBitRate); + int32_t lcid_remain_buffer = mac->scheduling_info.lc_sched_info[lc_num - 1].LCID_buffer_remain; + *target = (same_priority_count > 1) ? min(buflen_remain_ep, pbr) : pbr; + + long num_remaining_bytes = 0; + long num_bytes_requested = 0; + if (round_id == 0) { // initial round + uint16_t pdu_remain = (same_priority_count > 1) ? buflen_remain_ep : buflen_remain; + num_bytes_requested = (pdu_remain < pbr) ? min(pdu_remain, lcid_remain_buffer) : min(pbr, lcid_remain_buffer); + num_remaining_bytes = *target - bytes_read_fromlc[lc_num - 1]; + num_bytes_requested = min(num_bytes_requested, num_remaining_bytes); + } else { // from first round + if (same_priority_count > 1) { + num_bytes_requested = min(buflen_remain_ep, lcid_remain_buffer); + num_remaining_bytes = buflen_remain_ep - bytes_read_fromlc[lc_num - 1]; + num_bytes_requested = min(num_bytes_requested, num_remaining_bytes); + } else { + num_bytes_requested = min(buflen_remain, lcid_remain_buffer); + } + } + AssertFatal(num_remaining_bytes >= 0, "the total number of bytes allocated until target length is greater than expected\n"); + + return num_bytes_requested; +} + +bool get_dataavailability_buffers(uint8_t total_active_lcids, int *lcid_ordered_array, bool *data_status_lcbuffers) +{ + // check whether there is any data in the rlc buffer corresponding to active lcs + for (uint8_t id = 0; id < total_active_lcids; id++) { + int lcid = lcid_ordered_array[id]; + if (data_status_lcbuffers[lcid - 1]) { + return true; + } + } + return false; +} + +uint8_t select_logical_channels(NR_UE_MAC_INST_t *mac, uint8_t *num_active_lcids, int *active_lcids) +{ + // (TODO: selection of logical channels for logical channel prioritization procedure as per 5.4.3.1.2 Selection of logical + // channels, TS38.321) + + // selection of logical channels with Bj > 0 + + NR_LogicalChannelConfig_t **lc_bearer; + int *lcid_ptr; + for (lcid_ptr = mac->lc_ordered_info.lcids_ordered, lc_bearer = mac->lc_ordered_info.logicalChannelConfig_ordered; + (*lcid_ptr < NR_MAX_NUM_LCID) && (*lc_bearer != NULL); + lcid_ptr++, lc_bearer++) { + uint8_t lcid = *lcid_ptr; + if (mac->scheduling_info.lc_sched_info[lcid - 1].Bj > 0) { + active_lcids[*num_active_lcids] = lcid; + LOG_D(NR_MAC, "The available lcid is %d\n", active_lcids[*num_active_lcids]); + (*num_active_lcids)++; + } + } + return 0; +} + /** * Function: to fetch data to be transmitted from RLC, place it in the ULSCH PDU buffer to generate the complete MAC PDU with sub-headers and MAC CEs according to ULSCH MAC PDU generation (6.1.2 TS 38.321) @@ -2886,113 +3019,256 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP, //NR_POWER_HEADROOM_CMD phr; //mac_ce_p->phr_p = &phr; NR_UE_MAC_INST_t *mac = get_mac_inst(module_idP); + + NR_UE_SCHEDULING_INFO *sched_info = &mac->scheduling_info; //int highest_priority = 16; const uint8_t sh_size = sizeof(NR_MAC_SUBHEADER_LONG); // Pointer used to build the MAC PDU by placing the RLC SDUs in the ULSCH buffer uint8_t *pdu = ulsch_buffer; - //nr_ue_get_sdu_mac_ce_pre updates all mac_ce related header field related to length + // variable used to build the lcids with positive Bj + int lcids_bj_pos[NR_MAX_NUM_LCID] = {0}; + uint8_t avail_lcids_count = 0; + + // variable used to store the lcid data status during lcp + bool lcids_data_status[NR_MAX_NUM_LCID] = {0}; + memset(lcids_data_status, 1, NR_MAX_NUM_LCID); + + long bytes_requested = 0; + + uint32_t lcp_allocation_counter = + 0; // in the first run all the lc are allocated as per bj and prioritized bit rate but in subsequent runs, no need to consider + // bj and prioritized bit rate but just consider priority + uint16_t buflen_ep = 0; // this variable holds the length in bytes in mac pdu when multiple equal priority channels are present + // because as per standard(TS38.321), all equal priority channels should be served equally + + // nr_ue_get_sdu_mac_ce_pre updates all mac_ce related header field related to length mac_ce_p->tot_mac_ce_len = nr_ue_get_sdu_mac_ce_pre(module_idP, CC_id, frameP, subframe, gNB_index, ulsch_buffer, buflen, mac_ce_p); mac_ce_p->total_mac_pdu_header_len = mac_ce_p->tot_mac_ce_len; LOG_D(NR_MAC, "In %s: [UE %d] [%d.%d] process UL transport block at with size TBS = %d bytes \n", __FUNCTION__, module_idP, frameP, subframe, buflen); - // Check for DCCH first - // TO DO: Multiplex in the order defined by the logical channel prioritization - for (int lcid = 1; lcid <= NR_MAX_NUM_LCID; lcid++) { - if (!mac->active_RLC_bearer[lcid - 1]) - continue; - buflen_remain = buflen - (mac_ce_p->total_mac_pdu_header_len + mac_ce_p->sdu_length_total + sh_size); + // selection of logical channels + select_logical_channels(mac, &avail_lcids_count, lcids_bj_pos); + LOG_D(NR_MAC, + "In %s: [UE %d] [%d.%d] number of active logical channels are %d \n", + __FUNCTION__, + module_idP, + frameP, + subframe, + avail_lcids_count); - LOG_D(NR_MAC, - "[UE %d] [%d.%d] UL-DXCH -> ULSCH, RLC with LCID 0x%02x (TBS %d bytes, sdu_length_total %d bytes, MAC header len %d " - "bytes, buflen_remain %d bytes)\n", - module_idP, - frameP, - subframe, - lcid, - buflen, - mac_ce_p->sdu_length_total, - mac_ce_p->tot_mac_ce_len, - buflen_remain); + // multiplex in the order of highest priority + do { + /* + go until there is space availabile in the MAC PDU and there is data available in RLC buffers of active logical channels + */ + uint8_t num_lcids_same_priority = 0; + uint8_t count_same_priority_lcids = 0; - while (buflen_remain > 0) { - // Pointer used to build the MAC sub-PDU headers in the ULSCH buffer for each SDU - NR_MAC_SUBHEADER_LONG *header = (NR_MAC_SUBHEADER_LONG *) pdu; + // variable used to store the total bytes read from rlc for each lcid + uint32_t lcids_bytes_tot[NR_MAX_NUM_LCID] = {0}; - pdu += sh_size; + for (uint8_t id = 0; id < avail_lcids_count; id++) { + /* + loop over all logical channels in the order of priority. As stated in ts spec, in the first run, only prioritized + number of bytes are taken out from the correspondinf RLC buffers of all active logical channels and if there is still + space availble in the MAC PDU, then from the next run all the remaining data from the higher priority logical channel + is placed in the MAC PDU before going on to next high priority logical channel + */ + int lcid = lcids_bj_pos[id]; - sdu_length = mac_rlc_data_req(module_idP, - mac->crnti, - gNB_index, - frameP, - ENB_FLAG_NO, - MBMS_FLAG_NO, - lcid, - buflen_remain, - (char *)pdu, - 0, - 0); - - AssertFatal(buflen_remain >= sdu_length, - "LCID = 0x%02x RLC has segmented %d bytes but MAC has max %d remaining bytes\n", - lcid, - sdu_length, - buflen_remain); - - if (sdu_length > 0) { + // skip the logical channel if no data in the buffer initially or the data in the buffer was zero because it was written in to + // MAC PDU + LOG_D(NR_MAC, + "lcid %d - initial data in the buffer(%d) and buffer status (%d)\n", + lcid, + sched_info->lc_sched_info[lcid - 1].LCID_status, + lcids_data_status[lcid - 1]); + if (!sched_info->lc_sched_info[lcid - 1].LCID_status || !lcids_data_status[lcid - 1]) { LOG_D(NR_MAC, - "[UE %d] [%d.%d] UL-DXCH -> ULSCH, Generating UL MAC sub-PDU for SDU %d, length %d bytes, RB with LCID 0x%02x " - "(buflen (TBS) %d bytes)\n", - module_idP, - frameP, - subframe, - num_sdus + 1, - sdu_length, + "skipping the logical channel %d due to no initial data in the buffer(%d) or " + "buffer was emptied completely (%d) because it was written in to MAC PDU (remaining size = %d)\n", lcid, - buflen); - - header->R = 0; - header->F = 1; - header->LCID = lcid; - header->L = htons(sdu_length); - - #ifdef ENABLE_MAC_PAYLOAD_DEBUG - LOG_I(NR_MAC, "In %s: dumping MAC sub-header with length %d: \n", __FUNCTION__, sh_size); - log_dump(NR_MAC, header, sh_size, LOG_DUMP_CHAR, "\n"); - LOG_I(NR_MAC, "In %s: dumping MAC SDU with length %d \n", __FUNCTION__, sdu_length); - log_dump(NR_MAC, pdu, sdu_length, LOG_DUMP_CHAR, "\n"); - #endif - - pdu += sdu_length; - mac_ce_p->sdu_length_total += sdu_length; - mac_ce_p->total_mac_pdu_header_len += sh_size; - - num_sdus++; - - } else { - pdu -= sh_size; - LOG_D(NR_MAC, "no data to transmit for RB with LCID 0x%02x\n", lcid); - break; + sched_info->lc_sched_info[lcid - 1].LCID_status, + lcids_data_status[lcid - 1], + sched_info->lc_sched_info[lcid - 1].LCID_buffer_remain); + lcids_data_status[lcid - 1] = false; + continue; } + // count number of lc with same priority as lcid + if (!num_lcids_same_priority) { + num_lcids_same_priority = count_same_priority_lcids = + get_count_lcids_same_priority(mac, id, avail_lcids_count, lcids_bj_pos); + } + + LOG_D(NR_MAC, "Number of lcids with same priority as that of lcid %d is %d\n", lcid, count_same_priority_lcids); + buflen_remain = buflen - (mac_ce_p->total_mac_pdu_header_len + mac_ce_p->sdu_length_total + sh_size); - //Update Buffer remain and BSR bytes after transmission - mac->scheduling_info.LCID_buffer_remain[lcid - 1] -= sdu_length; - mac->scheduling_info.BSR_bytes[mac->scheduling_info.LCGID[lcid - 1]] -= sdu_length; LOG_D(NR_MAC, - "[UE %d] Update BSR [%d.%d] BSR_bytes for LCG%d=%d\n", + "In %s: [UE %d] [%d.%d] UL-DXCH -> ULSCH, RLC with LCID 0x%02x (TBS %d bytes, sdu_length_total %d bytes, MAC header " + "len %d bytes," + "buflen_remain %d bytes)\n", + __FUNCTION__, module_idP, frameP, subframe, - mac->scheduling_info.LCGID[lcid - 1], - mac->scheduling_info.BSR_bytes[mac->scheduling_info.LCGID[lcid - 1]]); - if (mac->scheduling_info.BSR_bytes[mac->scheduling_info.LCGID[lcid - 1]] < 0) - mac->scheduling_info.BSR_bytes[mac->scheduling_info.LCGID[lcid - 1]] = 0; + lcid, + buflen, + mac_ce_p->sdu_length_total, + mac_ce_p->tot_mac_ce_len, + buflen_remain); + + if (num_lcids_same_priority == count_same_priority_lcids) { + buflen_ep = (buflen_remain - (count_same_priority_lcids * sh_size)) / count_same_priority_lcids; + } + + while (buflen_remain > 0) { + /* + loops until the requested number of bytes from MAC to RLC are placed in the MAC PDU. The number of requested bytes + depends on whether it is the first run or otherwise because in the first run only prioritited number of bytes of all + active logical channels in the order of priority are placed in the MAC PDU. The 'get_num_bytes_to_reqlc' calculates + the target number of bytes to request from RLC via 'mac_rlc_data_req' + */ + int32_t lcid_remain_buffer = sched_info->lc_sched_info[lcid - 1].LCID_buffer_remain; + LOG_D(NR_MAC, + "In %s: [UE %d] [%d.%d] lcp round = %d, remaining mac pdu length = %d, lcid buffer remaining = %d, lcid = %d \n", + __FUNCTION__, + module_idP, + frameP, + subframe, + lcp_allocation_counter, + buflen_remain, + lcid_remain_buffer, + lcid); + + // Pointer used to build the MAC sub-PDU headers in the ULSCH buffer for each SDU + NR_MAC_SUBHEADER_LONG *header = (NR_MAC_SUBHEADER_LONG *)pdu; + + pdu += sh_size; + + // number of bytes requested from RLC for each LCID + long target = 0; + bytes_requested = get_num_bytes_to_reqlc(mac, + count_same_priority_lcids, + lcid, + buflen_ep, + buflen_remain, + lcp_allocation_counter, + lcids_bytes_tot, + &target); + + LOG_D(NR_MAC, "number of bytes requested for lcid %d is %li\n", lcid, bytes_requested); + sdu_length = mac_rlc_data_req(module_idP, + mac->crnti, + gNB_index, + frameP, + ENB_FLAG_NO, + MBMS_FLAG_NO, + lcid, + bytes_requested, + (char *)pdu, + 0, + 0); + + AssertFatal(bytes_requested >= sdu_length, + "In %s: LCID = 0x%02x RLC has segmented %d bytes but MAC has max %li remaining bytes\n", + __FUNCTION__, + lcid, + sdu_length, + bytes_requested); + + // Decrement Bj by the total size of MAC SDUs(RLC PDU) served to logical channel + // currently the Bj is drecremented by size of MAC SDus everytime it is served to logical channel, so by this approach there + // will be more chance for lower priority logical channels to be served in the next TTI + // second approach can also be followed where Bj is decremented only in the first round but not in the subsequent rounds + sched_info->lc_sched_info[lcid - 1].Bj -= sdu_length; + LOG_D(NR_MAC, + "decrement Bj of the lcid %d by size of sdu length = %d and new Bj for lcid %d is %d\n", + lcid, + sdu_length, + lcid, + sched_info->lc_sched_info[lcid - 1].Bj); + + if (sdu_length > 0) { + LOG_D(NR_MAC, + "In %s: [UE %d] [%d.%d] UL-DXCH -> ULSCH, Generating UL MAC sub-PDU for SDU %d, length %d bytes, RB with LCID " + "0x%02x (buflen (TBS) %d bytes)\n", + __FUNCTION__, + module_idP, + frameP, + subframe, + num_sdus + 1, + sdu_length, + lcid, + buflen); + + header->R = 0; + header->F = 1; + header->LCID = lcid; + header->L = htons(sdu_length); + +#ifdef ENABLE_MAC_PAYLOAD_DEBUG + LOG_I(NR_MAC, "In %s: dumping MAC sub-header with length %d: \n", __FUNCTION__, sh_size); + log_dump(NR_MAC, header, sh_size, LOG_DUMP_CHAR, "\n"); + LOG_I(NR_MAC, "In %s: dumping MAC SDU with length %d \n", __FUNCTION__, sdu_length); + log_dump(NR_MAC, pdu, sdu_length, LOG_DUMP_CHAR, "\n"); +#endif + + pdu += sdu_length; + mac_ce_p->sdu_length_total += sdu_length; + mac_ce_p->total_mac_pdu_header_len += sh_size; + + num_sdus++; + } else { + pdu -= sh_size; + lcids_data_status[lcid - 1] = false; + num_lcids_same_priority--; + LOG_D(NR_MAC, "set the lcid %d to false\n", lcid); + LOG_D(NR_MAC, "In %s: no data to transmit for RB with LCID 0x%02x\n", __FUNCTION__, lcid); + break; + } + + buflen_remain = buflen - (mac_ce_p->total_mac_pdu_header_len + mac_ce_p->sdu_length_total + sh_size); + + // Update Buffer remain and BSR bytes after transmission + NR_LC_SCHEDULING_INFO *lc_info = &sched_info->lc_sched_info[0]; + NR_LCG_SCHEDULING_INFO *lcg_info = &sched_info->lcg_sched_info[0]; + (lc_info + lcid - 1)->LCID_buffer_remain -= sdu_length; + (lcg_info + (lc_info + lcid - 1)->LCGID)->BSR_bytes -= sdu_length; + LOG_D(NR_MAC, + "[UE %d] Update BSR [%d.%d] BSR_bytes for LCG%d = %d\n", + module_idP, + frameP, + subframe, + (lc_info + lcid - 1)->LCGID, + (lcg_info + (lc_info + lcid - 1)->LCGID)->BSR_bytes); + if ((lcg_info + (lc_info + lcid - 1)->LCGID)->BSR_bytes < 0) + (lcg_info + (lc_info + lcid - 1)->LCGID)->BSR_bytes = 0; + + // update number of bytes served from the current lcid + lcids_bytes_tot[lcid - 1] += (sdu_length + (count_same_priority_lcids > 1 ? 1 : 0) * sh_size); + + if ((lcp_allocation_counter == 0 && lcids_bytes_tot[lcid - 1] >= target) + || (count_same_priority_lcids > 1 + && lcids_bytes_tot[lcid - 1] >= buflen_ep)) { // only prioritized bit rate should be taken from logical channel in + // the first lcp run except when infinity + LOG_D(NR_MAC, + "In %s: total number bytes read from rlc buffer for lcid %d are %d\n", + __FUNCTION__, + lcid, + lcids_bytes_tot[lcid - 1]); + num_lcids_same_priority--; + break; + } + } } - } + + lcp_allocation_counter++; + } while (buflen_remain > 0 && get_dataavailability_buffers(avail_lcids_count, lcids_bj_pos, lcids_data_status)); //nr_ue_get_sdu_mac_ce_post recalculates all mac_ce related header fields since buffer has been changed after mac_rlc_data_req. //Also, BSR padding is handled here after knowing mac_ce_p->sdu_length_total. @@ -3061,3 +3337,106 @@ void schedule_ta_command(fapi_nr_dl_config_request_t *dl_config, NR_UL_TIME_ALIG dl_config->number_pdus += 1; ul_time_alignment->ta_apply = false; } + +uint16_t nr_get_ms_bucketsizeduration(uint8_t bucketsizeduration) +{ + switch (bucketsizeduration) { + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50: + return 50; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms100: + return 100; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms150: + return 150; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms300: + return 300; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms500: + return 500; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000: + return 1000; + + default: + return 0; + } +} + +uint32_t nr_get_pbr(uint8_t prioritizedbitrate) +{ + int32_t pbr = -1; + switch (prioritizedbitrate) { + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps0: + pbr = 0; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8: + pbr = 8; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps16: + pbr = 16; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps32: + pbr = 32; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps64: + pbr = 64; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps128: + pbr = 128; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps256: + pbr = 256; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps512: + pbr = 512; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps1024: + pbr = 1024; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps2048: + pbr = 2048; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps4096: + pbr = 4096; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8192: + pbr = 8192; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps16384: + pbr = 16384; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps32768: + pbr = 32768; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps65536: + pbr = 65536; + break; + + case NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity: + pbr = INT32_MAX; + break; + + default: + pbr = -1; + } + AssertFatal(pbr >= 0, "The proritized bit rate value is not one of the enum values\n"); + uint32_t pbr_bytes = + (prioritizedbitrate < NR_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity) ? pbr * 1000 : pbr; + return pbr_bytes; +} From e5ab3e022eb2ff650322b62b85e8386f382e106a Mon Sep 17 00:00:00 2001 From: sriharsha Date: Mon, 9 Oct 2023 11:04:58 +0200 Subject: [PATCH 04/43] Handling of mac-LogicalChannelConfig during reconfiguration --- openair2/LAYER2/NR_MAC_UE/config_ue.c | 42 ++++++++++++++++++--------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index adca3def49..612eb03271 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -612,24 +612,38 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id, int lc_identity = rlc_bearer->logicalChannelIdentity; mac->lc_ordered_info.lcids_ordered[i] = lc_identity; NR_LogicalChannelConfig_t *mac_lc_config; - if (rlc_bearer->servedRadioBearer->present == NR_RLC_BearerConfig__servedRadioBearer_PR_srb_Identity) { /* SRB */ - NR_SRB_Identity_t srb_id = rlc_bearer->servedRadioBearer->choice.srb_Identity; + if (mac->logicalChannelConfig[lc_identity - 1] == NULL) { + /* setup of new LCID*/ + LOG_D(NR_MAC, "Establishing the logical channel %d\n", lc_identity); + AssertFatal(rlc_bearer->servedRadioBearer, "servedRadioBearer should be present for LCID establishment\n"); + if (rlc_bearer->servedRadioBearer->present == NR_RLC_BearerConfig__servedRadioBearer_PR_srb_Identity) { /* SRB */ + NR_SRB_Identity_t srb_id = rlc_bearer->servedRadioBearer->choice.srb_Identity; + if (rlc_bearer->mac_LogicalChannelConfig != NULL) { + mac_lc_config = rlc_bearer->mac_LogicalChannelConfig; + } else { + LOG_I(NR_RRC, "Applying the default logicalChannelConfig for SRB\n"); + if (srb_id == 1) + mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB1_logicalChannelConfig_defaultValue; + else if (srb_id == 2) + mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB2_logicalChannelConfig_defaultValue; + else if (srb_id == 3) + mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB3_logicalChannelConfig_defaultValue; + else + AssertFatal(1 == 0, "The logical id %d is not a valid SRB id %li\n", lc_identity, srb_id); + } + } else { /* DRB */ + mac_lc_config = rlc_bearer->mac_LogicalChannelConfig; + AssertFatal(mac_lc_config != NULL, "For DRB, it should be mandatorily present\n"); + } + } else { + /* LC is already established, reconfiguring the LC */ + LOG_D(NR_MAC, "Logical channel %d is already established, Reconfiguring now\n", lc_identity); if (rlc_bearer->mac_LogicalChannelConfig != NULL) { mac_lc_config = rlc_bearer->mac_LogicalChannelConfig; } else { - LOG_I(NR_RRC, "Applying the default logicalChannelConfig for SRB\n"); - if (srb_id == 1) - mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB1_logicalChannelConfig_defaultValue; - else if (srb_id == 2) - mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB2_logicalChannelConfig_defaultValue; - else if (srb_id == 3) - mac_lc_config = (NR_LogicalChannelConfig_t *)&NR_SRB3_logicalChannelConfig_defaultValue; - else - AssertFatal(1 == 0, "The logical id %d is not a valid SRB id %li\n", lc_identity, srb_id); + /* Need M - Maintains current value */ + continue; } - } else { /* DRB */ - mac_lc_config = rlc_bearer->mac_LogicalChannelConfig; - AssertFatal(mac_lc_config != NULL, "For DRB, it should be mandatorily present\n"); } nr_configure_mac_config_logicalChannelBearer(module_id, lc_identity, mac_lc_config); } From f248b2fdff1eccc703676accbc1f548751fd00ed Mon Sep 17 00:00:00 2001 From: sriharsha Date: Tue, 10 Oct 2023 17:21:55 +0200 Subject: [PATCH 05/43] fix: avoid freeing rlc config structure --- openair2/LAYER2/NR_MAC_UE/config_ue.c | 2 +- openair2/LAYER2/NR_MAC_UE/main_ue_nr.c | 2 +- openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c | 6 +++--- openair2/RRC/NR/MESSAGES/asn1_msg.c | 6 ++++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index 612eb03271..a5bedece5f 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -649,7 +649,7 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id, } // reorder the logical channels as per its priority - qsort_r((void *)mac->lc_ordered_info.lcids_ordered, rlc_toadd_list->list.count, sizeof(uint32_t), lcid_cmp, (void *)mac); + qsort_r(mac->lc_ordered_info.lcids_ordered, rlc_toadd_list->list.count, sizeof(uint32_t), lcid_cmp, mac); for (uint8_t i = 0; i < rlc_toadd_list->list.count; i++) { mac->lc_ordered_info.logicalChannelConfig_ordered[i] = mac->logicalChannelConfig[mac->lc_ordered_info.lcids_ordered[i] - 1]; } diff --git a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c index 77c6fd6c8d..5ec205adaf 100644 --- a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c +++ b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c @@ -106,7 +106,7 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) { nr_rrc_mac_config_req_ue_logicalChannelBearer(0, &rlc_toadd_list, NULL); // free memory - free_nr_noS1_bearer_config(&rbconfig, &rlc_rbconfig); + free_nr_noS1_bearer_config(&rbconfig, NULL); } } else { diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c index 5f7728eb3a..fc26b1e860 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c @@ -3072,9 +3072,9 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP, for (uint8_t id = 0; id < avail_lcids_count; id++) { /* - loop over all logical channels in the order of priority. As stated in ts spec, in the first run, only prioritized - number of bytes are taken out from the correspondinf RLC buffers of all active logical channels and if there is still - space availble in the MAC PDU, then from the next run all the remaining data from the higher priority logical channel + loop over all logical channels in the order of priority. As stated in TS138.321 Section 5.4.3.1, in the first run, only + prioritized number of bytes are taken out from the corresponding RLC buffers of all active logical channels and if there is + still space availble in the MAC PDU, then from the next run all the remaining data from the higher priority logical channel is placed in the MAC PDU before going on to next high priority logical channel */ int lcid = lcids_bj_pos[id]; diff --git a/openair2/RRC/NR/MESSAGES/asn1_msg.c b/openair2/RRC/NR/MESSAGES/asn1_msg.c index c6115c555d..f5e060e251 100644 --- a/openair2/RRC/NR/MESSAGES/asn1_msg.c +++ b/openair2/RRC/NR/MESSAGES/asn1_msg.c @@ -460,8 +460,10 @@ void free_nr_noS1_bearer_config(NR_RadioBearerConfig_t **rbconfig, { ASN_STRUCT_FREE(asn_DEF_NR_RadioBearerConfig, *rbconfig); *rbconfig = NULL; - ASN_STRUCT_FREE(asn_DEF_NR_RLC_BearerConfig, *rlc_rbconfig); - *rlc_rbconfig = NULL; + if (rlc_rbconfig != NULL) { + ASN_STRUCT_FREE(asn_DEF_NR_RLC_BearerConfig, *rlc_rbconfig); + *rlc_rbconfig = NULL; + } } //------------------------------------------------------------------------------ From b0b8c90fd257ada6c4ba601a81217d2124d25158 Mon Sep 17 00:00:00 2001 From: Sriharsha Korada Date: Thu, 12 Oct 2023 15:17:11 +0200 Subject: [PATCH 06/43] clean up --- openair2/LAYER2/NR_MAC_UE/config_ue.c | 40 ++- openair2/LAYER2/NR_MAC_UE/mac_defs.h | 6 +- openair2/LAYER2/NR_MAC_UE/mac_proto.h | 7 - openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c | 374 +++++++++----------- 4 files changed, 211 insertions(+), 216 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index a5bedece5f..92f897433d 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -539,10 +539,10 @@ void configure_ss_coreset(NR_UE_MAC_INST_t *mac, mac->BWP_coresets[i] = NULL; } -static int lcid_cmp(const void *lcid1, const void *lcid2, void *mac_inst) +static int lcid_cmp(const void *lc1, const void *lc2, void *mac_inst) { - uint8_t id1 = *(uint8_t *)lcid1; - uint8_t id2 = *(uint8_t *)lcid2; + uint8_t id1 = ((nr_lcordered_info_t *)lc1)->lcids_ordered; + uint8_t id2 = ((nr_lcordered_info_t *)lc2)->lcids_ordered; NR_UE_MAC_INST_t *mac = (NR_UE_MAC_INST_t *)mac_inst; NR_LogicalChannelConfig_t **lc_config = &mac->logicalChannelConfig[0]; @@ -564,6 +564,32 @@ void nr_release_mac_config_logicalChannelBearer(module_id_t module_id, long chan } } +static uint16_t nr_get_ms_bucketsizeduration(uint8_t bucketsizeduration) +{ + switch (bucketsizeduration) { + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50: + return 50; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms100: + return 100; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms150: + return 150; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms300: + return 300; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms500: + return 500; + + case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000: + return 1000; + + default: + return 0; + } +} + void nr_configure_mac_config_logicalChannelBearer(module_id_t module_id, long channel_identity, NR_LogicalChannelConfig_t *lc_config) @@ -610,7 +636,7 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id, for (int i = 0; i < rlc_toadd_list->list.count; i++) { NR_RLC_BearerConfig_t *rlc_bearer = rlc_toadd_list->list.array[i]; int lc_identity = rlc_bearer->logicalChannelIdentity; - mac->lc_ordered_info.lcids_ordered[i] = lc_identity; + mac->lc_ordered_info[i].lcids_ordered = lc_identity; NR_LogicalChannelConfig_t *mac_lc_config; if (mac->logicalChannelConfig[lc_identity - 1] == NULL) { /* setup of new LCID*/ @@ -645,14 +671,12 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id, continue; } } + mac->lc_ordered_info[i].logicalChannelConfig_ordered = mac_lc_config; nr_configure_mac_config_logicalChannelBearer(module_id, lc_identity, mac_lc_config); } // reorder the logical channels as per its priority - qsort_r(mac->lc_ordered_info.lcids_ordered, rlc_toadd_list->list.count, sizeof(uint32_t), lcid_cmp, mac); - for (uint8_t i = 0; i < rlc_toadd_list->list.count; i++) { - mac->lc_ordered_info.logicalChannelConfig_ordered[i] = mac->logicalChannelConfig[mac->lc_ordered_info.lcids_ordered[i] - 1]; - } + qsort_r(mac->lc_ordered_info, rlc_toadd_list->list.count, sizeof(nr_lcordered_info_t), lcid_cmp, mac); } } diff --git a/openair2/LAYER2/NR_MAC_UE/mac_defs.h b/openair2/LAYER2/NR_MAC_UE/mac_defs.h index fe94212f73..74d6056908 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_defs.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_defs.h @@ -435,10 +435,10 @@ typedef struct ssb_list_info { typedef struct nr_lcordered_info_s { // logical channels ids ordered as per priority - int lcids_ordered[NR_MAX_NUM_LCID]; + int lcids_ordered; // logical channel configurations reordered as per priority - NR_LogicalChannelConfig_t *logicalChannelConfig_ordered[NR_MAX_NUM_LCID]; + NR_LogicalChannelConfig_t *logicalChannelConfig_ordered; } nr_lcordered_info_t; /*!\brief Top level UE MAC structure */ @@ -529,7 +529,7 @@ typedef struct { NR_LogicalChannelConfig_t *logicalChannelConfig[NR_MAX_NUM_LCID]; // order lc info - nr_lcordered_info_t lc_ordered_info; + nr_lcordered_info_t lc_ordered_info[NR_MAX_NUM_LCID]; NR_UE_SCHEDULING_INFO scheduling_info; /// PHR diff --git a/openair2/LAYER2/NR_MAC_UE/mac_proto.h b/openair2/LAYER2/NR_MAC_UE/mac_proto.h index 9269b1c5e8..e60a05e9f0 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_proto.h @@ -155,13 +155,6 @@ uint8_t nr_locate_BsrIndexByBufferSize(const uint32_t *table, int size, */ uint32_t nr_get_pbr(uint8_t prioritizedbitrate); -/*! \fn int nr_get_ms_bucketsizeduration(uint8_t bucketSizeduration) - \brief get the time in ms from the bucket size duration configured by the higher layer -\param[in] bucketSize the bucket size duration -\return the time in ms -*/ -uint16_t nr_get_ms_bucketsizeduration(uint8_t bucketsizeduration); - /*! \fn int nr_get_sf_periodicBSRTimer(uint8_t periodicBSR_Timer) \brief get the number of subframe from the periodic BSR timer configured by the higher layers \param[in] periodicBSR_Timer timer for periodic BSR diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c index fc26b1e860..34be53c672 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c @@ -1097,12 +1097,8 @@ void nr_ue_ul_scheduler(nr_uplink_indication_t *ul_info) // update Bj for all active lcids before LCP procedure LOG_D(NR_MAC, "====================[Frame %d][Slot %d]Logical Channel Prioritization===========\n", frame_tx, slot_tx); - NR_LogicalChannelConfig_t **lc_bearer; - int *lcid_ptr; - for (lcid_ptr = mac->lc_ordered_info.lcids_ordered, lc_bearer = mac->lc_ordered_info.logicalChannelConfig_ordered; - (*lcid_ptr <= NR_MAX_NUM_LCID) && (*lc_bearer != NULL); - lcid_ptr++, lc_bearer++) { - int lcid = *lcid_ptr; + for (nr_lcordered_info_t *lc_bearer = mac->lc_ordered_info; lc_bearer->logicalChannelConfig_ordered != NULL; lc_bearer++) { + int lcid = lc_bearer->lcids_ordered; NR_LogicalChannelConfig_t *lcconfig = mac->logicalChannelConfig[lcid - 1]; NR_LC_SCHEDULING_INFO *sched_lc = &mac->scheduling_info.lc_sched_info[lcid - 1]; int32_t bucketSize_max = @@ -2905,6 +2901,7 @@ uint32_t get_count_lcids_same_priority(NR_UE_MAC_INST_t *mac, uint8_t start, uin same_priority_count++; } } + LOG_D(NR_MAC, "Number of lcids with same priority as that of lcid %d is %d\n", curr_lcid, same_priority_count); return same_priority_count; } @@ -2940,6 +2937,7 @@ long get_num_bytes_to_reqlc(NR_UE_MAC_INST_t *mac, } } AssertFatal(num_remaining_bytes >= 0, "the total number of bytes allocated until target length is greater than expected\n"); + LOG_D(NR_MAC, "number of bytes requested for lcid %d is %li\n", lc_num, num_bytes_requested); return num_bytes_requested; } @@ -2962,22 +2960,165 @@ uint8_t select_logical_channels(NR_UE_MAC_INST_t *mac, uint8_t *num_active_lcids // channels, TS38.321) // selection of logical channels with Bj > 0 - - NR_LogicalChannelConfig_t **lc_bearer; - int *lcid_ptr; - for (lcid_ptr = mac->lc_ordered_info.lcids_ordered, lc_bearer = mac->lc_ordered_info.logicalChannelConfig_ordered; - (*lcid_ptr < NR_MAX_NUM_LCID) && (*lc_bearer != NULL); - lcid_ptr++, lc_bearer++) { - uint8_t lcid = *lcid_ptr; + for (nr_lcordered_info_t *lc_bearer = mac->lc_ordered_info; lc_bearer->logicalChannelConfig_ordered != NULL; lc_bearer++) { + uint8_t lcid = lc_bearer->lcids_ordered; if (mac->scheduling_info.lc_sched_info[lcid - 1].Bj > 0) { active_lcids[*num_active_lcids] = lcid; - LOG_D(NR_MAC, "The available lcid is %d\n", active_lcids[*num_active_lcids]); (*num_active_lcids)++; + LOG_D(NR_MAC, "The available lcid is %d with total active channels count = %d\n", lcid, *num_active_lcids); } } return 0; } +static bool fill_mac_sdu(module_id_t module_idP, + frame_t frameP, + sub_frame_t subframe, + uint8_t gNB_index, + uint16_t buflen, + int16_t *buflen_remain, + int lcid, + uint8_t **pdu, + uint32_t *counter, + uint8_t count_same_priority_lcids, + uint16_t buflen_ep, + uint32_t *lcids_bytes_tot, + uint16_t *num_sdus, + NR_UE_MAC_CE_INFO *mac_ce_p, + bool *lcids_data_status, + uint8_t *num_lcids_same_priority) +{ + NR_UE_MAC_INST_t *mac = get_mac_inst(module_idP); + NR_UE_SCHEDULING_INFO *sched_info = &mac->scheduling_info; + const uint8_t sh_size = sizeof(NR_MAC_SUBHEADER_LONG); + + /* prepare the MAC sdu */ + int32_t lcid_remain_buffer = sched_info->lc_sched_info[lcid - 1].LCID_buffer_remain; + LOG_D(NR_MAC, + "In %s: [UE %d] [%d.%d] lcp round = %d, remaining mac pdu length = %d, lcid buffer remaining = %d, lcid = %d \n", + __FUNCTION__, + module_idP, + frameP, + subframe, + *counter, + *buflen_remain, + lcid_remain_buffer, + lcid); + + // Pointer used to build the MAC sub-PDU headers in the ULSCH buffer for each SDU + NR_MAC_SUBHEADER_LONG *header = (NR_MAC_SUBHEADER_LONG *)(*pdu); + + *pdu += sh_size; + + // number of bytes requested from RLC for each LCID + long target = 0; + long bytes_requested = + get_num_bytes_to_reqlc(mac, count_same_priority_lcids, lcid, buflen_ep, *buflen_remain, *counter, lcids_bytes_tot, &target); + + uint16_t sdu_length = mac_rlc_data_req(module_idP, + mac->crnti, + gNB_index, + frameP, + ENB_FLAG_NO, + MBMS_FLAG_NO, + lcid, + bytes_requested, + (char *)(*pdu), + 0, + 0); + + AssertFatal(bytes_requested >= sdu_length, + "In %s: LCID = 0x%02x RLC has segmented %d bytes but MAC has max %li remaining bytes\n", + __FUNCTION__, + lcid, + sdu_length, + bytes_requested); + + // Decrement Bj by the total size of MAC SDUs(RLC PDU) served to logical channel + // currently the Bj is drecremented by size of MAC SDus everytime it is served to logical channel, so by this approach there + // will be more chance for lower priority logical channels to be served in the next TTI + // second approach can also be followed where Bj is decremented only in the first round but not in the subsequent rounds + sched_info->lc_sched_info[lcid - 1].Bj -= sdu_length; + LOG_D(NR_MAC, + "decrement Bj of the lcid %d by size of sdu length = %d and new Bj for lcid %d is %d\n", + lcid, + sdu_length, + lcid, + sched_info->lc_sched_info[lcid - 1].Bj); + + if (sdu_length > 0) { + LOG_D(NR_MAC, + "In %s: [UE %d] [%d.%d] UL-DXCH -> ULSCH, Generating UL MAC sub-PDU for SDU %d, length %d bytes, RB with LCID " + "0x%02x (buflen (TBS) %d bytes)\n", + __FUNCTION__, + module_idP, + frameP, + subframe, + (*num_sdus) + 1, + sdu_length, + lcid, + buflen); + + header->R = 0; + header->F = 1; + header->LCID = lcid; + header->L = htons(sdu_length); + +#ifdef ENABLE_MAC_PAYLOAD_DEBUG + LOG_I(NR_MAC, "In %s: dumping MAC sub-header with length %d: \n", __FUNCTION__, sh_size); + log_dump(NR_MAC, header, sh_size, LOG_DUMP_CHAR, "\n"); + LOG_I(NR_MAC, "In %s: dumping MAC SDU with length %d \n", __FUNCTION__, sdu_length); + log_dump(NR_MAC, *pdu, sdu_length, LOG_DUMP_CHAR, "\n"); +#endif + + *pdu += sdu_length; + mac_ce_p->sdu_length_total += sdu_length; + mac_ce_p->total_mac_pdu_header_len += sh_size; + + (*num_sdus)++; + } else { + *pdu -= sh_size; + lcids_data_status[lcid - 1] = false; + (*num_lcids_same_priority)--; + LOG_D(NR_MAC, "In %s: no data to transmit for RB with LCID 0x%02x\n and hence set to false", __FUNCTION__, lcid); + return 0; + } + + *buflen_remain = buflen - (mac_ce_p->total_mac_pdu_header_len + mac_ce_p->sdu_length_total + sh_size); + + // Update Buffer remain and BSR bytes after transmission + NR_LC_SCHEDULING_INFO *lc_info = &sched_info->lc_sched_info[0] + lcid - 1; + NR_LCG_SCHEDULING_INFO *lcg_info = &sched_info->lcg_sched_info[0]; + lc_info->LCID_buffer_remain -= sdu_length; + (lcg_info + lc_info->LCGID)->BSR_bytes -= sdu_length; + LOG_D(NR_MAC, + "[UE %d] Update BSR [%d.%d] BSR_bytes for LCG%d = %d\n", + module_idP, + frameP, + subframe, + lc_info->LCGID, + (lcg_info + lc_info->LCGID)->BSR_bytes); + if ((lcg_info + lc_info->LCGID)->BSR_bytes < 0) + (lcg_info + lc_info->LCGID)->BSR_bytes = 0; + + // update number of bytes served from the current lcid + lcids_bytes_tot[lcid - 1] += (sdu_length + (count_same_priority_lcids > 1 ? 1 : 0) * sh_size); + + if ((*counter == 0 && lcids_bytes_tot[lcid - 1] >= target) + || (count_same_priority_lcids > 1 + && lcids_bytes_tot[lcid - 1] >= buflen_ep)) { // only prioritized bit rate should be taken from logical channel in + // the first lcp run except when infinity + LOG_D(NR_MAC, + "In %s: total number bytes read from rlc buffer for lcid %d are %d\n", + __FUNCTION__, + lcid, + lcids_bytes_tot[lcid - 1]); + (*num_lcids_same_priority)--; + return 0; + } + return 1; +} + /** * Function: to fetch data to be transmitted from RLC, place it in the ULSCH PDU buffer to generate the complete MAC PDU with sub-headers and MAC CEs according to ULSCH MAC PDU generation (6.1.2 TS 38.321) @@ -3008,7 +3149,6 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP, //mac_ce_p->phr_ce_len = 0; //mac_ce_p->phr_header_len = 0; - uint16_t sdu_length = 0; uint16_t num_sdus = 0; mac_ce_p->sdu_length_total = 0; NR_BSR_SHORT bsr_short, bsr_truncated; @@ -3035,8 +3175,6 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP, bool lcids_data_status[NR_MAX_NUM_LCID] = {0}; memset(lcids_data_status, 1, NR_MAX_NUM_LCID); - long bytes_requested = 0; - uint32_t lcp_allocation_counter = 0; // in the first run all the lc are allocated as per bj and prioritized bit rate but in subsequent runs, no need to consider // bj and prioritized bit rate but just consider priority @@ -3051,13 +3189,6 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP, // selection of logical channels select_logical_channels(mac, &avail_lcids_count, lcids_bj_pos); - LOG_D(NR_MAC, - "In %s: [UE %d] [%d.%d] number of active logical channels are %d \n", - __FUNCTION__, - module_idP, - frameP, - subframe, - avail_lcids_count); // multiplex in the order of highest priority do { @@ -3081,19 +3212,7 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP, // skip the logical channel if no data in the buffer initially or the data in the buffer was zero because it was written in to // MAC PDU - LOG_D(NR_MAC, - "lcid %d - initial data in the buffer(%d) and buffer status (%d)\n", - lcid, - sched_info->lc_sched_info[lcid - 1].LCID_status, - lcids_data_status[lcid - 1]); if (!sched_info->lc_sched_info[lcid - 1].LCID_status || !lcids_data_status[lcid - 1]) { - LOG_D(NR_MAC, - "skipping the logical channel %d due to no initial data in the buffer(%d) or " - "buffer was emptied completely (%d) because it was written in to MAC PDU (remaining size = %d)\n", - lcid, - sched_info->lc_sched_info[lcid - 1].LCID_status, - lcids_data_status[lcid - 1], - sched_info->lc_sched_info[lcid - 1].LCID_buffer_remain); lcids_data_status[lcid - 1] = false; continue; } @@ -3104,8 +3223,6 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP, get_count_lcids_same_priority(mac, id, avail_lcids_count, lcids_bj_pos); } - LOG_D(NR_MAC, "Number of lcids with same priority as that of lcid %d is %d\n", lcid, count_same_priority_lcids); - buflen_remain = buflen - (mac_ce_p->total_mac_pdu_header_len + mac_ce_p->sdu_length_total + sh_size); LOG_D(NR_MAC, @@ -3128,140 +3245,27 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP, while (buflen_remain > 0) { /* - loops until the requested number of bytes from MAC to RLC are placed in the MAC PDU. The number of requested bytes - depends on whether it is the first run or otherwise because in the first run only prioritited number of bytes of all - active logical channels in the order of priority are placed in the MAC PDU. The 'get_num_bytes_to_reqlc' calculates - the target number of bytes to request from RLC via 'mac_rlc_data_req' - */ - int32_t lcid_remain_buffer = sched_info->lc_sched_info[lcid - 1].LCID_buffer_remain; - LOG_D(NR_MAC, - "In %s: [UE %d] [%d.%d] lcp round = %d, remaining mac pdu length = %d, lcid buffer remaining = %d, lcid = %d \n", - __FUNCTION__, - module_idP, - frameP, - subframe, - lcp_allocation_counter, - buflen_remain, - lcid_remain_buffer, - lcid); - - // Pointer used to build the MAC sub-PDU headers in the ULSCH buffer for each SDU - NR_MAC_SUBHEADER_LONG *header = (NR_MAC_SUBHEADER_LONG *)pdu; - - pdu += sh_size; - - // number of bytes requested from RLC for each LCID - long target = 0; - bytes_requested = get_num_bytes_to_reqlc(mac, - count_same_priority_lcids, - lcid, - buflen_ep, - buflen_remain, - lcp_allocation_counter, - lcids_bytes_tot, - &target); - - LOG_D(NR_MAC, "number of bytes requested for lcid %d is %li\n", lcid, bytes_requested); - sdu_length = mac_rlc_data_req(module_idP, - mac->crnti, - gNB_index, - frameP, - ENB_FLAG_NO, - MBMS_FLAG_NO, - lcid, - bytes_requested, - (char *)pdu, - 0, - 0); - - AssertFatal(bytes_requested >= sdu_length, - "In %s: LCID = 0x%02x RLC has segmented %d bytes but MAC has max %li remaining bytes\n", - __FUNCTION__, - lcid, - sdu_length, - bytes_requested); - - // Decrement Bj by the total size of MAC SDUs(RLC PDU) served to logical channel - // currently the Bj is drecremented by size of MAC SDus everytime it is served to logical channel, so by this approach there - // will be more chance for lower priority logical channels to be served in the next TTI - // second approach can also be followed where Bj is decremented only in the first round but not in the subsequent rounds - sched_info->lc_sched_info[lcid - 1].Bj -= sdu_length; - LOG_D(NR_MAC, - "decrement Bj of the lcid %d by size of sdu length = %d and new Bj for lcid %d is %d\n", - lcid, - sdu_length, - lcid, - sched_info->lc_sched_info[lcid - 1].Bj); - - if (sdu_length > 0) { - LOG_D(NR_MAC, - "In %s: [UE %d] [%d.%d] UL-DXCH -> ULSCH, Generating UL MAC sub-PDU for SDU %d, length %d bytes, RB with LCID " - "0x%02x (buflen (TBS) %d bytes)\n", - __FUNCTION__, - module_idP, - frameP, - subframe, - num_sdus + 1, - sdu_length, - lcid, - buflen); - - header->R = 0; - header->F = 1; - header->LCID = lcid; - header->L = htons(sdu_length); - -#ifdef ENABLE_MAC_PAYLOAD_DEBUG - LOG_I(NR_MAC, "In %s: dumping MAC sub-header with length %d: \n", __FUNCTION__, sh_size); - log_dump(NR_MAC, header, sh_size, LOG_DUMP_CHAR, "\n"); - LOG_I(NR_MAC, "In %s: dumping MAC SDU with length %d \n", __FUNCTION__, sdu_length); - log_dump(NR_MAC, pdu, sdu_length, LOG_DUMP_CHAR, "\n"); -#endif - - pdu += sdu_length; - mac_ce_p->sdu_length_total += sdu_length; - mac_ce_p->total_mac_pdu_header_len += sh_size; - - num_sdus++; - } else { - pdu -= sh_size; - lcids_data_status[lcid - 1] = false; - num_lcids_same_priority--; - LOG_D(NR_MAC, "set the lcid %d to false\n", lcid); - LOG_D(NR_MAC, "In %s: no data to transmit for RB with LCID 0x%02x\n", __FUNCTION__, lcid); - break; - } - - buflen_remain = buflen - (mac_ce_p->total_mac_pdu_header_len + mac_ce_p->sdu_length_total + sh_size); - - // Update Buffer remain and BSR bytes after transmission - NR_LC_SCHEDULING_INFO *lc_info = &sched_info->lc_sched_info[0]; - NR_LCG_SCHEDULING_INFO *lcg_info = &sched_info->lcg_sched_info[0]; - (lc_info + lcid - 1)->LCID_buffer_remain -= sdu_length; - (lcg_info + (lc_info + lcid - 1)->LCGID)->BSR_bytes -= sdu_length; - LOG_D(NR_MAC, - "[UE %d] Update BSR [%d.%d] BSR_bytes for LCG%d = %d\n", - module_idP, - frameP, - subframe, - (lc_info + lcid - 1)->LCGID, - (lcg_info + (lc_info + lcid - 1)->LCGID)->BSR_bytes); - if ((lcg_info + (lc_info + lcid - 1)->LCGID)->BSR_bytes < 0) - (lcg_info + (lc_info + lcid - 1)->LCGID)->BSR_bytes = 0; - - // update number of bytes served from the current lcid - lcids_bytes_tot[lcid - 1] += (sdu_length + (count_same_priority_lcids > 1 ? 1 : 0) * sh_size); - - if ((lcp_allocation_counter == 0 && lcids_bytes_tot[lcid - 1] >= target) - || (count_same_priority_lcids > 1 - && lcids_bytes_tot[lcid - 1] >= buflen_ep)) { // only prioritized bit rate should be taken from logical channel in - // the first lcp run except when infinity - LOG_D(NR_MAC, - "In %s: total number bytes read from rlc buffer for lcid %d are %d\n", - __FUNCTION__, - lcid, - lcids_bytes_tot[lcid - 1]); - num_lcids_same_priority--; + loops until the requested number of bytes from MAC to RLC are placed in the MAC PDU. The number of requested bytes + depends on whether it is the first run or otherwise because in the first run only prioritited number of bytes of all + active logical channels in the order of priority are placed in the MAC PDU. The 'get_num_bytes_to_reqlc' calculates + the target number of bytes to request from RLC via 'mac_rlc_data_req' + */ + if (!fill_mac_sdu(module_idP, + frameP, + subframe, + gNB_index, + buflen, + &buflen_remain, + lcid, + &pdu, + &lcp_allocation_counter, + count_same_priority_lcids, + buflen_ep, + lcids_bytes_tot, + &num_sdus, + mac_ce_p, + lcids_data_status, + &num_lcids_same_priority)) { break; } } @@ -3338,32 +3342,6 @@ void schedule_ta_command(fapi_nr_dl_config_request_t *dl_config, NR_UL_TIME_ALIG ul_time_alignment->ta_apply = false; } -uint16_t nr_get_ms_bucketsizeduration(uint8_t bucketsizeduration) -{ - switch (bucketsizeduration) { - case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50: - return 50; - - case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms100: - return 100; - - case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms150: - return 150; - - case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms300: - return 300; - - case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms500: - return 500; - - case NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000: - return 1000; - - default: - return 0; - } -} - uint32_t nr_get_pbr(uint8_t prioritizedbitrate) { int32_t pbr = -1; From 31a63bc919a74bef3ef7baa58b355890267fcfb2 Mon Sep 17 00:00:00 2001 From: Sriharsha Korada Date: Thu, 16 Nov 2023 09:20:14 +0100 Subject: [PATCH 07/43] Update UE feature set --- doc/FEATURE_SET.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/FEATURE_SET.md b/doc/FEATURE_SET.md index 55596ea556..831561e025 100644 --- a/doc/FEATURE_SET.md +++ b/doc/FEATURE_SET.md @@ -305,6 +305,7 @@ Furthermore, the gNB and UE support - HARQ procedures * ULSCH scheduler - Configuration of fapi PDU according to DCI + - Logical channel prioritization of 'data from any logical channel' * NR-CSIRS scheduler - Scheduling of NR-CSIRS reception - Fill UCI for CSI measurement reporting From 578cd23d591282b7a0f78201c28ff945e883e181 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sat, 18 Nov 2023 21:44:21 +0100 Subject: [PATCH 08/43] rfsimulator: ignore PIPE signal When au UE disconnects, a write on the rf simulator socket may generate a PIPE signal in the gnb and crash it. Let's ignore this signal. --- radio/rfsimulator/simulator.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/radio/rfsimulator/simulator.c b/radio/rfsimulator/simulator.c index e1bd7e1738..1111e48e6b 100644 --- a/radio/rfsimulator/simulator.c +++ b/radio/rfsimulator/simulator.c @@ -1119,5 +1119,11 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { } } + /* write on a socket fails if the other end is closed and we get SIGPIPE */ + if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { + perror("SIGPIPE"); + exit(1); + } + return 0; } From 13757862fb00de2adf2ccefa7000211f742cabf2 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sat, 18 Nov 2023 21:56:42 +0100 Subject: [PATCH 09/43] hotfix: set PDCP t-reordering to 100ms The function generateDRB() sets the value to 100ms but the function rrc_gNB_process_NGAP_PDUSESSION_SETUP_REQ() sets it to 0ms. So what happens is that the UE gets the value 100ms in the RRC Reconfiguration but the gNB creates the PDCP entity with 0ms. Let's create it with 100ms instead, to be aligned with how we configure the UE. And also avoid some PDCP warnings at runtime when some packets are retransmitted but rejected because of the 0ms timer. This is the warning: [PDCP] discard NR PDU rcvd_count=68469, entity->rx_deliv 68481,sdu_in_list 0 This is just a hotfix. A real solution is to have the RB creation in only one place. And we should also have those parameters configurable. Work for later. --- openair2/RRC/NR/rrc_gNB_NGAP.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair2/RRC/NR/rrc_gNB_NGAP.c b/openair2/RRC/NR/rrc_gNB_NGAP.c index 57bb9b1bdf..f6059a91a9 100644 --- a/openair2/RRC/NR/rrc_gNB_NGAP.c +++ b/openair2/RRC/NR/rrc_gNB_NGAP.c @@ -807,7 +807,7 @@ void rrc_gNB_process_NGAP_PDUSESSION_SETUP_REQ(MessageDef *msg_p, instance_t ins drb->pDCP_SN_Size_DL = E1AP_PDCP_SN_Size_s_18; drb->discardTimer = E1AP_DiscardTimer_infinity; - drb->reorderingTimer = E1AP_T_Reordering_ms0; + drb->reorderingTimer = E1AP_T_Reordering_ms100; drb->rLC_Mode = E1AP_RLC_Mode_rlc_am; From 69a2f103ea9ac59da24a3220c00063e946d5e185 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sat, 18 Nov 2023 22:16:53 +0100 Subject: [PATCH 10/43] minor: documentation: advertise correct default value for --ssb --- doc/RUNMODEM.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/RUNMODEM.md b/doc/RUNMODEM.md index f7321c4ad1..6339d7fb5f 100644 --- a/doc/RUNMODEM.md +++ b/doc/RUNMODEM.md @@ -95,7 +95,7 @@ Command line parameters for UE in --sa mode: - `--numerology` : numerology index (default value 1) - `-r` : bandwidth in terms of RBs (default value 106) - `--band` : NR band number (default value 78) -- `--ssb` : SSB start subcarrier (default value 512) +- `--ssb` : SSB start subcarrier (default value 516) You can run this, using USRPs, on two separate machines: From 07ee33f024f73bb4e995271b0a82232047984af8 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sun, 19 Nov 2023 16:43:57 +0100 Subject: [PATCH 11/43] nr pdcp: minor: fix spacing --- openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c index 9dda9b9ace..3341bdae7b 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c @@ -88,7 +88,6 @@ static void nr_pdcp_entity_recv_pdu(nr_pdcp_entity_t *entity, entity->stats.rxpdu_dd_pkts++; entity->stats.rxpdu_dd_bytes += size; - return; } @@ -120,7 +119,6 @@ static void nr_pdcp_entity_recv_pdu(nr_pdcp_entity_t *entity, entity->stats.rxpdu_dd_pkts++; entity->stats.rxpdu_dd_bytes += size; - } } @@ -130,7 +128,6 @@ static void nr_pdcp_entity_recv_pdu(nr_pdcp_entity_t *entity, entity->stats.rxpdu_dd_pkts++; entity->stats.rxpdu_dd_bytes += size; - return; } @@ -158,7 +155,6 @@ static void nr_pdcp_entity_recv_pdu(nr_pdcp_entity_t *entity, entity->stats.txsdu_pkts++; entity->stats.txsdu_bytes += cur->size; - nr_pdcp_free_sdu(cur); count++; } @@ -224,7 +220,7 @@ static int nr_pdcp_entity_process_sdu(nr_pdcp_entity_t *entity, memcpy(buf + header_size, buffer, size); - if (entity->has_integrity){ + if (entity->has_integrity) { uint8_t integrity[4] = {0}; entity->integrity(entity->integrity_context, integrity, @@ -232,13 +228,12 @@ static int nr_pdcp_entity_process_sdu(nr_pdcp_entity_t *entity, entity->rb_id, count, entity->is_gnb ? 1 : 0); memcpy((unsigned char *)buf + header_size + size, integrity, 4); + } else if (integrity_size == 4) { + // set MAC-I to 0 for SRBs with integrity not active + memset(buf + header_size + size, 0, 4); } - // set MAC-I to 0 for SRBs with integrity not active - else if (integrity_size == 4) - memset(buf + header_size + size, 0, 4); - - if (entity->has_ciphering && (entity->is_gnb || entity->security_mode_completed)){ + if (entity->has_ciphering && (entity->is_gnb || entity->security_mode_completed)) { entity->cipher(entity->security_context, (unsigned char *)buf + header_size, size + integrity_size, entity->rb_id, count, entity->is_gnb ? 1 : 0); From 7203e5aba86b935dd1792ccaddecfcac1e100955 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sun, 19 Nov 2023 16:46:08 +0100 Subject: [PATCH 12/43] nr pdcp: minor: set function scope to static --- openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c index 3341bdae7b..36fce4a944 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c @@ -357,7 +357,7 @@ static void check_t_reordering(nr_pdcp_entity_t *entity) } } -void nr_pdcp_entity_set_time(struct nr_pdcp_entity_t *entity, uint64_t now) +static void nr_pdcp_entity_set_time(struct nr_pdcp_entity_t *entity, uint64_t now) { entity->t_current = now; @@ -379,7 +379,7 @@ static void deliver_all_sdus(nr_pdcp_entity_t *entity) } } -void nr_pdcp_entity_suspend(nr_pdcp_entity_t *entity) +static void nr_pdcp_entity_suspend(nr_pdcp_entity_t *entity) { entity->tx_next = 0; if (entity->t_reordering_start != 0) { From f265b04593e0c1d371ff4f0005b4190c302aaf39 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sun, 19 Nov 2023 16:47:30 +0100 Subject: [PATCH 13/43] nr pdcp: bugfix: use proper size for t_reordering_start --- openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h index 078c32b6c0..fe084f40ab 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h @@ -123,7 +123,7 @@ typedef struct nr_pdcp_entity_t { uint64_t t_current; /* timers (stores the ms of activation, 0 means not active) */ - int t_reordering_start; + uint64_t t_reordering_start; /* security */ int has_ciphering; From 470af5f4976b3f692ca19122993ad3c9c291749f Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sun, 19 Nov 2023 16:48:34 +0100 Subject: [PATCH 14/43] nr pdcp: bugfix: discard pdu if integrity fails --- openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c | 1 + 1 file changed, 1 insertion(+) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c index 36fce4a944..0f587184ed 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c @@ -119,6 +119,7 @@ static void nr_pdcp_entity_recv_pdu(nr_pdcp_entity_t *entity, entity->stats.rxpdu_dd_pkts++; entity->stats.rxpdu_dd_bytes += size; + return; } } From 7a7d8a1766921784e5d6af44415d661a453ea5f8 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sun, 19 Nov 2023 16:49:55 +0100 Subject: [PATCH 15/43] nr pdcp: stats: count delivered sdus --- openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c index 0f587184ed..660a48f00d 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c @@ -335,6 +335,8 @@ static void check_t_reordering(nr_pdcp_entity_t *entity) cur->buffer, cur->size); entity->rx_list = cur->next; entity->rx_size -= cur->size; + entity->stats.txsdu_pkts++; + entity->stats.txsdu_bytes += cur->size; nr_pdcp_free_sdu(cur); } @@ -346,6 +348,8 @@ static void check_t_reordering(nr_pdcp_entity_t *entity) cur->buffer, cur->size); entity->rx_list = cur->next; entity->rx_size -= cur->size; + entity->stats.txsdu_pkts++; + entity->stats.txsdu_bytes += cur->size; nr_pdcp_free_sdu(cur); count++; } From 107913d6b2c274724fb21b37caaf59bdb7e438cd Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Sun, 19 Nov 2023 16:54:23 +0100 Subject: [PATCH 16/43] nr pdcp: rework reestablishment Security part needs to be checked, may fail to work. But if it fails, it was probably not working before either. This commit also contains adding 'static' to nr_pdcp_entity_release() and nr_pdcp_entity_delete() (it was too complicated to do a separate commit for this). We also update stats in free_rx_list() (again, too complicated for a separate commit). openair2/RRC/NR/rrc_gNB.c probably needs some more work, it is a bit ugly to reestablish all the drbs without checking if they exit. It will generate warnings at runtime. I didn't do it because I don't know the proper way. --- openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c | 76 +++++++++++++++++++++-- openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h | 1 + openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c | 44 ++++++------- openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h | 2 +- openair2/RRC/NR/rrc_gNB.c | 6 +- 5 files changed, 97 insertions(+), 32 deletions(-) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c index 660a48f00d..0bbd294c53 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c @@ -395,19 +395,71 @@ static void nr_pdcp_entity_suspend(nr_pdcp_entity_t *entity) entity->rx_deliv = 0; } -void nr_pdcp_entity_release(nr_pdcp_entity_t *entity) -{ - deliver_all_sdus(entity); -} - -void nr_pdcp_entity_delete(nr_pdcp_entity_t *entity) +static void free_rx_list(nr_pdcp_entity_t *entity) { nr_pdcp_sdu_t *cur = entity->rx_list; while (cur != NULL) { nr_pdcp_sdu_t *next = cur->next; + entity->stats.rxpdu_dd_pkts++; + entity->stats.rxpdu_dd_bytes += cur->size; nr_pdcp_free_sdu(cur); cur = next; } + entity->rx_list = NULL; + entity->rx_size = 0; +} + +static void nr_pdcp_entity_reestablish_drb_am(nr_pdcp_entity_t *entity) +{ + /* transmitting entity procedures */ + /* todo: deal with ciphering/integrity algos and keys */ + + /* receiving entity procedures */ + /* todo: deal with ciphering/integrity algos and keys */ +} + +static void nr_pdcp_entity_reestablish_drb_um(nr_pdcp_entity_t *entity) +{ + /* transmitting entity procedures */ + entity->tx_next = 0; + /* todo: deal with ciphering/integrity algos and keys */ + + /* receiving entity procedures */ + /* deliver all SDUs if t_reordering is running */ + if (entity->t_reordering_start != 0) + deliver_all_sdus(entity); + /* stop t_reordering */ + entity->t_reordering_start = 0; + /* set rx_next and rx_deliv to the initial value */ + entity->rx_next = 0; + entity->rx_deliv = 0; + /* todo: deal with ciphering/integrity algos and keys */ +} + +static void nr_pdcp_entity_reestablish_srb(nr_pdcp_entity_t *entity) +{ + /* transmitting entity procedures */ + entity->tx_next = 0; + /* todo: deal with ciphering/integrity algos and keys */ + + /* receiving entity procedures */ + free_rx_list(entity); + /* stop t_reordering */ + entity->t_reordering_start = 0; + /* set rx_next and rx_deliv to the initial value */ + entity->rx_next = 0; + entity->rx_deliv = 0; + /* todo: deal with ciphering/integrity algos and keys */ +} + +static void nr_pdcp_entity_release(nr_pdcp_entity_t *entity) +{ + deliver_all_sdus(entity); +} + +static void nr_pdcp_entity_delete(nr_pdcp_entity_t *entity) +{ + free_rx_list(entity); if (entity->free_security != NULL) entity->free_security(entity->security_context); if (entity->free_integrity != NULL) @@ -461,6 +513,18 @@ nr_pdcp_entity_t *new_nr_pdcp_entity( ret->delete_entity = nr_pdcp_entity_delete; ret->release_entity = nr_pdcp_entity_release; ret->suspend_entity = nr_pdcp_entity_suspend; + + switch (type) { + case NR_PDCP_DRB_AM: + ret->reestablish_entity = nr_pdcp_entity_reestablish_drb_am; + break; + case NR_PDCP_DRB_UM: + ret->reestablish_entity = nr_pdcp_entity_reestablish_drb_um; + break; + case NR_PDCP_SRB: + ret->reestablish_entity = nr_pdcp_entity_reestablish_srb; + break; + } ret->get_stats = nr_pdcp_entity_get_stats; ret->deliver_sdu = deliver_sdu; diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h index fe084f40ab..1657f3c4bb 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h @@ -78,6 +78,7 @@ typedef struct nr_pdcp_entity_t { void (*delete_entity)(struct nr_pdcp_entity_t *entity); void (*release_entity)(struct nr_pdcp_entity_t *entity); void (*suspend_entity)(struct nr_pdcp_entity_t *entity); + void (*reestablish_entity)(struct nr_pdcp_entity_t *entity); void (*get_stats)(struct nr_pdcp_entity_t *entity, nr_pdcp_statistics_t *out); /* set_security: pass -1 to integrity_algorithm / ciphering_algorithm diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c index eb1367c724..7ca48b8fec 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c @@ -1136,36 +1136,32 @@ void nr_pdcp_release_drb(ue_id_t ue_id, int drb_id) nr_pdcp_manager_unlock(nr_pdcp_ue_manager); } -void nr_pdcp_reestablishment(ue_id_t ue_id) +void nr_pdcp_reestablishment(ue_id_t ue_id, int rb_id, bool srb_flag) { - // TODO implement this on a per RB basis following TS 38.323 Sec 5.1.2 + nr_pdcp_ue_t *ue; + nr_pdcp_entity_t *rb; + nr_pdcp_manager_lock(nr_pdcp_ue_manager); - nr_pdcp_ue_t *ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - if (ue == NULL) { - LOG_E(PDCP, "Cannot find PDCP entity for UE %lx\n", ue_id); - nr_pdcp_manager_unlock(nr_pdcp_ue_manager); - return; + ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); + + if (srb_flag) { + if (rb_id < 1 || rb_id > 3) + rb = NULL; + else + rb = ue->srb[rb_id - 1]; + } else { + if (rb_id < 1 || rb_id > MAX_DRBS_PER_UE) + rb = NULL; + else + rb = ue->drb[rb_id - 1]; } - for (int i = 0; i < 3; i++) { - nr_pdcp_entity_t *srb = ue->srb[i]; - if (srb != NULL) { - srb->tx_next = 0; - srb->rx_next = 0; - srb->rx_deliv = 0; - srb->rx_reord = 0; - } + if (rb != NULL) { + rb->reestablish_entity(rb); + } else { + LOG_W(PDCP, "UE %4.4lx cannot re-establish RB %d (is_srb %d), RB not found\n", ue_id, rb_id, srb_flag); } - for (int i = 0; i < MAX_DRBS_PER_UE; i++) { - nr_pdcp_entity_t *drb = ue->drb[i]; - if (drb != NULL) { - // drb->tx_next = 0; // Should continue from the previous value - drb->rx_next = 0; - //drb->rx_deliv = 0; // should continue from the previous value - drb->rx_reord = 0; - } - } nr_pdcp_manager_unlock(nr_pdcp_ue_manager); } diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h index 85e2c4b46b..05e18c23c2 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h @@ -64,7 +64,7 @@ void add_drb(int is_gnb, void nr_DRB_preconfiguration(ue_id_t crntiMaybeUEid); bool nr_pdcp_remove_UE(ue_id_t ue_id); -void nr_pdcp_reestablishment(ue_id_t ue_id); +void nr_pdcp_reestablishment(ue_id_t ue_id, int rb_id, bool srb_flag); void nr_pdcp_suspend_srb(ue_id_t ue_id, int srb_id); void nr_pdcp_suspend_drb(ue_id_t ue_id, int drb_id); diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index 40972d55c6..ff963a2257 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -1046,11 +1046,15 @@ static void rrc_gNB_generate_RRCReestablishment(rrc_gNB_ue_context_t *ue_context for (int srb_id = 1; srb_id < maxSRBs; srb_id++) { if (ue_p->Srb[srb_id].Active) { nr_pdcp_config_set_security(ue_p->rrc_ue_id, srb_id, security_mode, kRRCenc, kRRCint, kUPenc); + // TODO: should send E1 UE Bearer Modification with PDCP Reestablishment flag + nr_pdcp_reestablishment(ue_p->rrc_ue_id, srb_id, true); } } // TODO: should send E1 UE Bearer Modification with PDCP Reestablishment flag - nr_pdcp_reestablishment(ue_p->rrc_ue_id); + /* TODO: reestablish only exisiting RBs */ + for (int drb_id = 1; drb_id <= MAX_DRBS_PER_UE; drb_id++) + nr_pdcp_reestablishment(ue_p->rrc_ue_id, drb_id, false); f1_ue_data_t ue_data = cu_get_f1_ue_data(ue_p->rrc_ue_id); RETURN_IF_INVALID_ASSOC_ID(ue_data); From 7ae790afb6466d05fbe4859d2248d56ec018fed2 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 20 Nov 2023 09:07:17 +0100 Subject: [PATCH 17/43] doc: Remove RAN-SA-AmariS-CN5G pipeline, superseded by RAN-SA-AW2S-CN5G --- doc/TESTBenches.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index 555511e153..f2bc2068fe 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -128,7 +128,7 @@ Webhook - [RAN-SA-AW2S-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-AW2S-CN5G/) - 5G-NR SA test setup: avra(RHEL9.1) + AW2S, amariue, OAI CN5G - uses OpenShift cluster for CN deployment and container images for gNB deployment - - multi UE testing + - multi UE testing using Amarisoft UE simulator - [RAN-SA-B200-Module-SABOX-Container](https://jenkins-oai.eurecom.fr/job/RAN-SA-B200-Module-SABOX-Container/) - ofqot + B200, idefix + Quectel, nepes w/ sabox - basic SA test (20 MHz TDD), F1, reestablishment, ... @@ -148,6 +148,3 @@ Webhook - [RAN-SA-Module-CN5G](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-SA-Module-CN5G/) - asterix + N310 (gNB), nrmodule2 + Quectel, porcepix w/ OAI 5GC - NR 2x2 (standalone) -- [RAN-SA-AmariS-CN5G](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-SA-AmariS-CN5G/) - - asterix + N310, amariue (1x UE), porcepix w/ OAI 5GC - - Amarisoft UE simulator: expected to be increased to more UEs From 2c2915dad8db26ac16af567a9817ed58e28a250b Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Mon, 20 Nov 2023 11:00:23 +0100 Subject: [PATCH 18/43] reestablish only exisiting RBs --- openair2/RRC/NR/rrc_gNB.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index ff963a2257..dea1494f17 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -1052,9 +1052,10 @@ static void rrc_gNB_generate_RRCReestablishment(rrc_gNB_ue_context_t *ue_context } // TODO: should send E1 UE Bearer Modification with PDCP Reestablishment flag - /* TODO: reestablish only exisiting RBs */ - for (int drb_id = 1; drb_id <= MAX_DRBS_PER_UE; drb_id++) - nr_pdcp_reestablishment(ue_p->rrc_ue_id, drb_id, false); + for (int drb_id = 1; drb_id <= MAX_DRBS_PER_UE; drb_id++) { + if (ue_p->established_drbs[drb_id - 1].status != DRB_INACTIVE) + nr_pdcp_reestablishment(ue_p->rrc_ue_id, drb_id, false); + } f1_ue_data_t ue_data = cu_get_f1_ue_data(ue_p->rrc_ue_id); RETURN_IF_INVALID_ASSOC_ID(ue_data); From 623092e130b42e3646066c3f3bc457efaaab9621 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 20 Nov 2023 11:07:59 +0100 Subject: [PATCH 19/43] Update TESTBenches: add missing pipelines, remove networked deviewes, update machines --- doc/TESTBenches.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index f2bc2068fe..f5138aa27c 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -6,7 +6,7 @@ | Machine | IP address | Lockable Resource | Function | Connected devices | | ------------- | --------------- | --------------------- | ------------------ | ----------------------------------------------------- | -| asterix | 172.21.16.127 | CI-Asterix-Usage | gNB (n78) | 172.21.19.14 | +| asterix | 172.21.16.127 | CI-Asterix-Usage | *unused* | 172.21.19.14 | | obelix | 172.21.16.128 | CI-Obelix-Usage | eNB (n40, n78), nrUE | 172.21.19.13, X300 (192.168.60.2) | | porcepix | 172.21.16.136 | CI-Porcepix | Executor, EPC, 5GC | -- | | nrmodule2 | 172.21.16.139 | CI-NrModule2 | Quectel | Quectel module | @@ -15,25 +15,18 @@ | idefix | 172.21.16.135 | CI-Idefix | Quectel | Quectel module | | caracal | 172.21.16.132 | CI-Caracal | gNB/phytest | N300 (192.168.10.2) | | amariue | 172.21.16.144 | CI-Amarisoft-UE-Usage | nrUE | Amarisoft UE simulator | -| manarola | 172.21.8.116 | _None_ | gNB | AW2S | | nano | 172.21.18.48 | CI-Nano-Legacy-EPC | Executor, EPC, adb | 2x COTS (adb) | | hutch | 172.21.18.46 | CI-Hutch-Legacy-FDD-eNB | eNB (B7) | B200mini (30C5239) | | starsky | 172.21.18.45 | CI-Starsky-Legacy-TDD-eNB | eNB (B40) | b200mini (30A3E3C) | | carabe | 172.21.18.47 | CI-Carabe-Legacy-FDD-OAI-LTE-UE | UE (B7UE) | B200mini (30AE8C9) | | nokiabox | 172.21.19.39 | _None_ | gNB (Nokia), 5GC | _Nokia RF integrated_ | | avra | 172.21.16.124 | CI-Avra-Usage | gNB (n78) | AW2S Jaguar (192.168.80.239) | +| orion | 172.21.16.134 | CI-Orion-Build-Sanity-Check-Deploy-Test, CI-Orion-DsTester-Deploy-Test | Build | | Note: The available resources, and their current usage, is indicated here: - [Lockable resources of jenkins-oai](https://jenkins-oai.eurecom.fr/lockable-resources/): "New" Jenkins, i.e., with RAN-Container-Parent -## Networked devices - -| Type | IP address (mgmt) | -| ------------- | ----------------- | -| USRP N310 | 172.21.19.14 | -| USRP N310 | 172.21.19.13 | - ## Testbenches ### 5G OTA Testbench @@ -84,6 +77,8 @@ Note: The available resources, and their current usage, is indicated here: **Purpose**: automatically triggered tests on MR creation or push, from Gitlab Webhook +- [OAI-CN5G-COTS-UE-Test](https://jenkins-oai.eurecom.fr/job/OAI-CN5G-COTS-UE-Test/) + - using 5GC bench (resources `CI-Cetautomatix-OC-oaicicd-session`, `CI-Dogmatix-CN5G-gNB`): Attach/Detach of UE with multiple PDU sessions - [RAN-cppcheck](https://jenkins-oai.eurecom.fr/job/RAN-cppcheck/1664/) - obelix - performs static code analysis, currently not actively enforced @@ -124,7 +119,9 @@ Webhook - obelix (gNB, nrUE, OAI 5GC) - uses RFsimulator, TDD 40MHz, FDD 40MHz, F1 split - [RAN-RHEL8-Cluster-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-RHEL8-Cluster-Image-Builder/) - - cluster (`Asterix-OC-oaicicd-session` resource): RHEL 8 image build using the OpenShift Cluster + - cluster (`Asterix-OC-oaicicd-session` resource): RHEL image build using the OpenShift Cluster (using gcc/clang) +- [RAN-ARM-Cross-Compile-Builder](https://jenkins-oai.eurecom.fr/job/RAN-ARM-Cross-Compile-Builder/) + - orion: Cross-compilation from Intel to ARM - [RAN-SA-AW2S-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-AW2S-CN5G/) - 5G-NR SA test setup: avra(RHEL9.1) + AW2S, amariue, OAI CN5G - uses OpenShift cluster for CN deployment and container images for gNB deployment From 36479a0ac566b76e5afb0c1cf771d85ceb8f55c7 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 20 Nov 2023 11:08:49 +0100 Subject: [PATCH 20/43] TESTBenches.md: identify tags/labels to run pipeline --- doc/TESTBenches.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index f5138aa27c..791b3e8284 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -75,64 +75,84 @@ Note: The available resources, and their current usage, is indicated here: ### [RAN-Container-Parent](https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/) **Purpose**: automatically triggered tests on MR creation or push, from Gitlab -Webhook +Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR - [OAI-CN5G-COTS-UE-Test](https://jenkins-oai.eurecom.fr/job/OAI-CN5G-COTS-UE-Test/) + ~5G-NR - using 5GC bench (resources `CI-Cetautomatix-OC-oaicicd-session`, `CI-Dogmatix-CN5G-gNB`): Attach/Detach of UE with multiple PDU sessions - [RAN-cppcheck](https://jenkins-oai.eurecom.fr/job/RAN-cppcheck/1664/) + ~BUILD-ONLY ~4G-LTE ~5G-NR - obelix - performs static code analysis, currently not actively enforced - [RAN-gNB-N300-Timing-Phytest-LDPC](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-gNB-N300-Timing-Phytest-LDPC/) + ~5G-NR - caracal + N310 - pure performance test through phy-test scheduler, see command line for more details - [RAN-Interop-F1](https://jenkins-oai.eurecom.fr/job/RAN-Interop-F1/) + ~5G-NR - ofqot (DU, 1x UE) - F1 interoperability testing: sets up connection to Accelleran CU, UE connection and connectivity test - [RAN-L2-Sim-Test-4G](https://jenkins-oai.eurecom.fr/job/RAN-L2-Sim-Test-4G/) + ~4G-LTE - obelix (eNB, 1x UE, OAI EPC) - L2simulator: skips physical layer and uses proxy between eNB and UE - [RAN-L2-Sim-Test-5G](https://jenkins-oai.eurecom.fr/job/RAN-L2-Sim-Test-5G/) + ~5G-NR - obelix (gNB, 1x UE, OAI 5GC) - L2simulator: skips physical layer and uses proxy between gNB and UE, currently only ping - [RAN-LTE-FDD-LTEBOX-Container](https://jenkins-oai.eurecom.fr/job/RAN-LTE-FDD-LTEBOX-Container/) + ~4G-LTE - hutch + B210, nano w/ ltebox + 2x UE - tests RRC inactivity timers, different bandwidths, IF4p5 fronthaul - [RAN-LTE-FDD-OAIUE-OAICN4G-Container](https://jenkins-oai.eurecom.fr/job/RAN-LTE-FDD-OAIUE-OAICN4G-Container/) + ~4G-LTE - hutch + B210 (eNB), carabe + B210 (4G UE), nano w/ OAI 4GC - tests OAI 4G for 10 MHz/TM1; known to be unstable - [RAN-LTE-TDD-2x2-Container](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-LTE-TDD-2x2-Container/) + ~4G-LTE - obelix + N310, porcepix, nrmodule2 + Quectel - TM1 and TM2 test, IF4p5 fronthaul - [RAN-LTE-TDD-LTEBOX-Container](https://jenkins-oai.eurecom.fr/job/RAN-LTE-TDD-LTEBOX-Container/) + ~4G-LTE - starsky + B210, nano w/ ltebox + 2x UE - TM1 over bandwidths 5, 10, 20 MHz in Band 40, default scheduler for 20 MHz - [RAN-NSA-B200-Module-LTEBOX-Container](https://jenkins-oai.eurecom.fr/job/RAN-NSA-B200-Module-LTEBOX-Container/) + ~4G-LTE ~5G-NR - nepes + B200 (eNB), ofqot + B200 (gNB), idefix + Quectel, nepes w/ ltebox - basic NSA test - [RAN-PhySim-Cluster](https://jenkins-oai.eurecom.fr/job/RAN-PhySim-Cluster/) + ~4G-LTE ~5G-NR - cluster (`Asterix-OC-oaicicd-session` resource), tests in OpenShift Cluster - unitary simulators (`nr_dlsim`, etc.) - [RAN-RF-Sim-Test-4G](https://jenkins-oai.eurecom.fr/job/RAN-RF-Sim-Test-4G/) + ~4G-LTE - obelix (eNB, lteUE, OAI EPC) - uses RFsimulator, for FDD 5, 10, 20MHz with core, 5MHz noS1 - [RAN-RF-Sim-Test-5G](https://jenkins-oai.eurecom.fr/job/RAN-RF-Sim-Test-5G/) + ~5G-NR - obelix (gNB, nrUE, OAI 5GC) - uses RFsimulator, TDD 40MHz, FDD 40MHz, F1 split - [RAN-RHEL8-Cluster-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-RHEL8-Cluster-Image-Builder/) + ~BUILD-ONLY ~4G-LTE ~5G-NR - cluster (`Asterix-OC-oaicicd-session` resource): RHEL image build using the OpenShift Cluster (using gcc/clang) - [RAN-ARM-Cross-Compile-Builder](https://jenkins-oai.eurecom.fr/job/RAN-ARM-Cross-Compile-Builder/) + ~BUILD-ONLY ~4G-LTE ~5G-NR - orion: Cross-compilation from Intel to ARM - [RAN-SA-AW2S-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-AW2S-CN5G/) + ~5G-NR - 5G-NR SA test setup: avra(RHEL9.1) + AW2S, amariue, OAI CN5G - uses OpenShift cluster for CN deployment and container images for gNB deployment - multi UE testing using Amarisoft UE simulator - [RAN-SA-B200-Module-SABOX-Container](https://jenkins-oai.eurecom.fr/job/RAN-SA-B200-Module-SABOX-Container/) + ~5G-NR - ofqot + B200, idefix + Quectel, nepes w/ sabox - basic SA test (20 MHz TDD), F1, reestablishment, ... - [RAN-SA-OAIUE-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-OAIUE-CN5G/) + ~5G-NR - 5G-NR SA test setup: gNB on avra(RHEL9.2) + N310, OAIUE on caracal(RHEL9.1) + N310, OAI CN5G - OpenShift cluster for CN deployment and container images for gNB and UE deployment - [RAN-Ubuntu18-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu18-Image-Builder/) + ~BUILD-ONLY ~4G-LTE ~5G-NR - obelix: Ubuntu 20 image build using docker (Note: builds U20 images while pipeline is named U18!) ### RAN-CI-NSA-Trigger From 4599969f89f4f6134d51a98afd3efdb0abb466ec Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 20 Nov 2023 11:29:12 +0100 Subject: [PATCH 21/43] Describe how to reproduce CI --- doc/TESTBenches.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index 791b3e8284..31b8f9e85c 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -165,3 +165,53 @@ Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR - [RAN-SA-Module-CN5G](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-SA-Module-CN5G/) - asterix + N310 (gNB), nrmodule2 + Quectel, porcepix w/ OAI 5GC - NR 2x2 (standalone) + +## How to reproduce CI results + +The CI builds docker images at the beginning of every test run. To see the +exact command line steps, please refer to the `docker/Dockerfile.build.*` +files. Note that the console log of each pipeline run also lists the used +docker files. + +The CI uses these images for *most* of the pipelines. It uses docker-compose to +orchestrate the images. To identify the docker-compose file, follow these +steps: + +1. Each CI test run HTML lists the XML file used for a particular test run. + Open the corresponding XML file under `ci-scripts/xml_files/`. +2. The XML file has a "test case" that refers to deployment of the image; it + will reference a directory containing a YAML file (the docker-compose file) + using option `yaml_path`, which will be under `ci-scripts/yaml_files/`. Go + to this directory and open the docker-compose file. +3. The docker-compose file can be used to run images locally, or you can infer + the used configuration file and possible additional options that are to be + passed to the executable to run from source. + +For instance, to see how the CI runs the multi-UE 5G RFsim test case, the above +steps look like this: + +1. The first tab in the 5G RFsim test mentions + `xml_files/container_5g_rfsim.xml`, so open + `ci-scripts/xml_files/container_5g_rfsim.xml`. +2. This XML file has a `DeployGenObject` test case, referencing the directory + `yaml_files/5g_rfsimulator`. The corresponding docker-compose file path is + `ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml`. +3. To know how to run the gNB, realize that there is a section `oai-gnb`. It + mounts the configuration + `ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.conf` (note that the path + is relative to the directory in which the docker-compose file is located). + Further, an environment variable `USE_ADDITIONAL_OPTIONS` is declared, + referencing the relevant options `--sa -E --rfsim` (you can ignore logging + options). You would therefore run the gNB from source like this: + ``` + sudo ./cmake_targets/ran_build/build/nr-softmodem -O ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.conf --sa -E --rfsim + ``` + To run this on your local machine, assuming you have a 5GC installed, you + might need to change IP information in the config to match your core. + +If you wish, you can rebuild CI images locally following [these +steps](../docker/README.md) and then use the docker-compose file directly. + +Some tests are run from source (e.g. +`ci-scripts/xml_files/gnb_phytest_usrp_run.xml`), which directly give the +options they are run with. From 8013d5d8ccb8f5e4a9bb9a6b89258a9d0e917500 Mon Sep 17 00:00:00 2001 From: francescomani Date: Fri, 20 Oct 2023 11:36:35 +0200 Subject: [PATCH 22/43] removing CellGroup dependance from MAC common functions --- openair2/LAYER2/NR_MAC_COMMON/nr_mac.h | 3 ++ openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c | 26 +++++------ openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h | 6 +-- openair2/LAYER2/NR_MAC_UE/config_ue.c | 10 ++++- openair2/LAYER2/NR_MAC_UE/mac_defs.h | 5 +-- .../NR_MAC_UE/nr_ue_dci_configuration.c | 26 +++++++++-- openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c | 11 ++--- openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c | 3 +- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c | 6 +-- .../LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c | 4 +- .../NR_MAC_gNB/gNB_scheduler_primitives.c | 45 ++++++++++++++++--- .../LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c | 4 +- 12 files changed, 99 insertions(+), 50 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h b/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h index affac3fbd4..d33390d75a 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h @@ -573,6 +573,7 @@ typedef struct NR_UE_DL_BWP { long *pdsch_HARQ_ACK_Codebook; uint8_t mcsTableIdx; nr_dci_format_t dci_format; + int bw_tbslbrm; } NR_UE_DL_BWP_t; typedef struct NR_UE_UL_BWP { @@ -591,6 +592,7 @@ typedef struct NR_UE_UL_BWP { NR_PUSCH_Config_t *pusch_Config; NR_PUCCH_Config_t *pucch_Config; NR_PUCCH_ConfigCommon_t *pucch_ConfigCommon; + NR_UplinkConfig_t *supplementaryUplink; long *harq_ACK_SpatialBundlingPUCCH; NR_CSI_MeasConfig_t *csi_MeasConfig; NR_SRS_Config_t *srs_Config; @@ -598,6 +600,7 @@ typedef struct NR_UE_UL_BWP { long transform_precoding; uint8_t mcs_table; nr_dci_format_t dci_format; + int bw_tbslbrm; int max_fb_time; } NR_UE_UL_BWP_t; diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c index 14bce7f816..5498a2c9ae 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c @@ -3278,7 +3278,7 @@ uint16_t get_rb_bwp_dci(nr_dci_format_t format, uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, const NR_UE_UL_BWP_t *UL_BWP, - const NR_CellGroupConfig_t *cg, + NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig, dci_pdu_rel15_t *dci_pdu, nr_dci_format_t format, nr_rnti_type_t rnti_type, @@ -3328,12 +3328,12 @@ uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, /// fixed: Format identifier 1, MCS 5, NDI 1, RV 2, HARQ PID 4, PUSCH TPC 2, ULSCH indicator 1 --16 size += 16; // Carrier indicator - if (cg->spCellConfig->spCellConfigDedicated->crossCarrierSchedulingConfig != NULL) { + if (crossCarrierSchedulingConfig != NULL) { dci_pdu->carrier_indicator.nbits=3; size += dci_pdu->carrier_indicator.nbits; } // UL/SUL indicator - if (cg->spCellConfig->spCellConfigDedicated->supplementaryUplink != NULL) { + if (UL_BWP->supplementaryUplink != NULL) { dci_pdu->carrier_indicator.nbits=1; size += dci_pdu->ul_sul_indicator.nbits; } @@ -3416,7 +3416,7 @@ uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, size += dci_pdu->antenna_ports.nbits; LOG_D(NR_MAC,"dci_pdu->antenna_ports.nbits = %d\n",dci_pdu->antenna_ports.nbits); // SRS request - if (cg->spCellConfig->spCellConfigDedicated->supplementaryUplink==NULL) + if (UL_BWP->supplementaryUplink == NULL) dci_pdu->srs_request.nbits = 2; else dci_pdu->srs_request.nbits = 3; @@ -3481,7 +3481,7 @@ uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, // Format identifier size = 1; // Carrier indicator - if (cg->spCellConfig->spCellConfigDedicated->crossCarrierSchedulingConfig != NULL) { + if (crossCarrierSchedulingConfig != NULL) { dci_pdu->carrier_indicator.nbits=3; size += dci_pdu->carrier_indicator.nbits; } @@ -3575,7 +3575,7 @@ uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, size += dci_pdu->transmission_configuration_indication.nbits; } // SRS request - if (cg->spCellConfig->spCellConfigDedicated->supplementaryUplink==NULL) + if (UL_BWP->supplementaryUplink == NULL) dci_pdu->srs_request.nbits = 2; else dci_pdu->srs_request.nbits = 3; @@ -4734,11 +4734,10 @@ uint16_t compute_pucch_prb_size(uint8_t format, } int get_dlbw_tbslbrm(int scc_bwpsize, - NR_CellGroupConfig_t *cg) { - + NR_ServingCellConfig_t *servingCellConfig) +{ int bw = scc_bwpsize; - if (cg && cg->spCellConfig && cg->spCellConfig->spCellConfigDedicated) { - const NR_ServingCellConfig_t *servingCellConfig = cg->spCellConfig->spCellConfigDedicated; + if (servingCellConfig) { if(servingCellConfig->downlinkBWP_ToAddModList) { const struct NR_ServingCellConfig__downlinkBWP_ToAddModList *BWP_list = servingCellConfig->downlinkBWP_ToAddModList; for (int i=0; ilist.count; i++) { @@ -4753,11 +4752,10 @@ int get_dlbw_tbslbrm(int scc_bwpsize, } int get_ulbw_tbslbrm(int scc_bwpsize, - NR_CellGroupConfig_t *cg) { - + NR_ServingCellConfig_t *servingCellConfig) +{ int bw = scc_bwpsize; - if (cg && cg->spCellConfig && cg->spCellConfig->spCellConfigDedicated) { - const NR_ServingCellConfig_t *servingCellConfig = cg->spCellConfig->spCellConfigDedicated; + if (servingCellConfig) { if (servingCellConfig->uplinkConfig && servingCellConfig->uplinkConfig->uplinkBWP_ToAddModList) { const struct NR_UplinkConfig__uplinkBWP_ToAddModList *BWP_list = servingCellConfig->uplinkConfig->uplinkBWP_ToAddModList; diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h index d21e441978..059dc31acd 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h @@ -95,7 +95,7 @@ NR_tda_info_t get_dl_tda_info(const NR_UE_DL_BWP_t *dl_BWP, int ss_type, int tda uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, const NR_UE_UL_BWP_t *UL_BWP, - const NR_CellGroupConfig_t *cg, + NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig, dci_pdu_rel15_t *dci_pdu, nr_dci_format_t format, nr_rnti_type_t rnti_type, @@ -196,10 +196,10 @@ uint32_t nr_get_code_rate_ul(uint8_t Imcs, uint8_t table_idx); uint16_t get_nr_srs_offset(NR_SRS_PeriodicityAndOffset_t periodicityAndOffset); int get_dlbw_tbslbrm(int scc_bwpsize, - NR_CellGroupConfig_t *cg); + NR_ServingCellConfig_t *servingCellConfig); int get_ulbw_tbslbrm(int scc_bwpsize, - NR_CellGroupConfig_t *cg); + NR_ServingCellConfig_t *servingCellConfig); uint32_t nr_compute_tbslbrm(uint16_t table, uint16_t nb_rb, diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index b1624126bb..e6c494aa27 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -570,6 +570,8 @@ void configure_current_BWP(NR_UE_MAC_INST_t *mac, configure_ss_coreset(mac, mac->bwp_dlcommon->pdcch_ConfigCommon->choice.setup, NULL); } + NR_ServingCellConfig_t *spCellConfigDedicated = NULL; + if(cell_group_config) { if (cell_group_config->physicalCellGroupConfig) { DL_BWP->pdsch_HARQ_ACK_Codebook = &cell_group_config->physicalCellGroupConfig->pdsch_HARQ_ACK_Codebook; @@ -577,7 +579,8 @@ void configure_current_BWP(NR_UE_MAC_INST_t *mac, } if (cell_group_config->spCellConfig && cell_group_config->spCellConfig->spCellConfigDedicated) { - struct NR_ServingCellConfig *spCellConfigDedicated = cell_group_config->spCellConfig->spCellConfigDedicated; + spCellConfigDedicated = cell_group_config->spCellConfig->spCellConfigDedicated; + UL_BWP->supplementaryUplink = spCellConfigDedicated->supplementaryUplink; UL_BWP->csi_MeasConfig = spCellConfigDedicated->csi_MeasConfig ? spCellConfigDedicated->csi_MeasConfig->choice.setup : NULL; UL_BWP->pusch_servingcellconfig = spCellConfigDedicated->uplinkConfig && spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig ? spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig->choice.setup : NULL; @@ -673,6 +676,8 @@ void configure_current_BWP(NR_UE_MAC_INST_t *mac, DL_BWP->initial_BWPStart = NRRIV2PRBOFFSET(mac->bwp_dlcommon->genericParameters.locationAndBandwidth, MAX_BWP_SIZE); UL_BWP->initial_BWPStart = NRRIV2PRBOFFSET(mac->bwp_ulcommon->genericParameters.locationAndBandwidth, MAX_BWP_SIZE); + DL_BWP->bw_tbslbrm = get_dlbw_tbslbrm(DL_BWP->initial_BWPSize, spCellConfigDedicated); + UL_BWP->bw_tbslbrm = get_ulbw_tbslbrm(UL_BWP->initial_BWPSize, spCellConfigDedicated); } void ue_init_config_request(NR_UE_MAC_INST_t *mac, int scs) @@ -762,7 +767,7 @@ void nr_rrc_mac_config_req_mcg(module_id_t module_id, mac->servCellIndex = cell_group_config->spCellConfig->servCellIndex ? *cell_group_config->spCellConfig->servCellIndex : 0; else mac->servCellIndex = 0; - + mac->crossCarrierSchedulingConfig = cell_group_config->spCellConfig->spCellConfigDedicated->crossCarrierSchedulingConfig; mac->scheduling_info.periodicBSR_SF = MAC_UE_BSR_TIMER_NOT_RUNNING; mac->scheduling_info.retxBSR_SF = MAC_UE_BSR_TIMER_NOT_RUNNING; mac->BSR_reporting_active = NR_BSR_TRIGGER_NONE; @@ -803,6 +808,7 @@ void nr_rrc_mac_config_req_scg(module_id_t module_id, mac->cg = scell_group_config; mac->servCellIndex = *scell_group_config->spCellConfig->servCellIndex; + mac->crossCarrierSchedulingConfig = scell_group_config->spCellConfig->spCellConfigDedicated->crossCarrierSchedulingConfig; if (scell_group_config->spCellConfig->reconfigurationWithSync) handle_reconfiguration_with_sync(mac, module_id, cc_idP, scell_group_config->spCellConfig->reconfigurationWithSync); configure_current_BWP(mac, NULL, scell_group_config); diff --git a/openair2/LAYER2/NR_MAC_UE/mac_defs.h b/openair2/LAYER2/NR_MAC_UE/mac_defs.h index 068890f620..cb91486b97 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_defs.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_defs.h @@ -429,7 +429,6 @@ typedef struct { NR_UE_L2_STATE_t state; NR_CellGroupConfig_t *cg; int servCellIndex; - NR_CSI_ReportConfig_t *csirc; long physCellId; //// MAC config int first_sync_frame; @@ -437,9 +436,6 @@ typedef struct { bool get_otherSI; NR_DRX_Config_t *drx_Config; NR_SchedulingRequestConfig_t *schedulingRequestConfig; - NR_BSR_Config_t *bsr_Config; - NR_TAG_Config_t *tag_Config; - NR_PHR_Config_t *phr_Config; NR_RNTI_Value_t *cs_RNTI; NR_MIB_t *mib; struct NR_SI_SchedulingInfo *si_SchedulingInfo; @@ -462,6 +458,7 @@ typedef struct { NR_SearchSpace_t *search_space_zero; NR_TDD_UL_DL_ConfigCommon_t *tdd_UL_DL_ConfigurationCommon; + NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig; bool phy_config_request_sent; frame_type_t frame_type; diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c index d89dc44ef3..4c281239ec 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c @@ -186,15 +186,35 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, dci_pdu_rel15_t temp_pdu; if(dci_format == NR_DL_DCI_FORMAT_1_0) alt_size = - nr_dci_size(current_DL_BWP, current_UL_BWP, mac->cg, &temp_pdu, NR_UL_DCI_FORMAT_0_0, rnti_type, coreset, dl_bwp_id, ss->searchSpaceType->present, mac->type0_PDCCH_CSS_config.num_rbs, 0); + nr_dci_size(current_DL_BWP, + current_UL_BWP, + mac->crossCarrierSchedulingConfig, + &temp_pdu, + NR_UL_DCI_FORMAT_0_0, + rnti_type, + coreset, + dl_bwp_id, + ss->searchSpaceType->present, + mac->type0_PDCCH_CSS_config.num_rbs, + 0); if(dci_format == NR_UL_DCI_FORMAT_0_0) alt_size = - nr_dci_size(current_DL_BWP, current_UL_BWP, mac->cg, &temp_pdu, NR_DL_DCI_FORMAT_1_0, rnti_type, coreset, dl_bwp_id, ss->searchSpaceType->present, mac->type0_PDCCH_CSS_config.num_rbs, 0); + nr_dci_size(current_DL_BWP, + current_UL_BWP, + mac->crossCarrierSchedulingConfig, + &temp_pdu, + NR_DL_DCI_FORMAT_1_0, + rnti_type, + coreset, + dl_bwp_id, + ss->searchSpaceType->present, + mac->type0_PDCCH_CSS_config.num_rbs, + 0); } rel15->dci_length_options[i] = nr_dci_size(current_DL_BWP, current_UL_BWP, - mac->cg, + mac->crossCarrierSchedulingConfig, &mac->def_dci_pdu_rel15[dl_config->slot][dci_format], dci_format, rnti_type, diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c index f5902bed27..9251b9b38a 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c @@ -735,11 +735,9 @@ static int nr_ue_process_dci_dl_10(module_id_t module_id, dlsch_pdu->TBS = current_harq->TBS; } - int bw_tbslbrm; - if (current_DL_BWP->initial_BWPSize > 0) - bw_tbslbrm = get_dlbw_tbslbrm(current_DL_BWP->initial_BWPSize, mac->cg); - else - bw_tbslbrm = dlsch_pdu->BWPSize; + int bw_tbslbrm = current_DL_BWP->initial_BWPSize > 0 ? + current_DL_BWP->bw_tbslbrm : + dlsch_pdu->BWPSize; dlsch_pdu->tbslbrm = nr_compute_tbslbrm(dlsch_pdu->mcs_table, bw_tbslbrm, 1); /* NDI (only if CRC scrambled by C-RNTI or CS-RNTI or new-RNTI or TC-RNTI)*/ @@ -1164,8 +1162,7 @@ static int nr_ue_process_dci_dl_11(module_id_t module_id, long *maxMIMO_Layers = current_DL_BWP->pdsch_servingcellconfig->ext1->maxMIMO_Layers; AssertFatal(maxMIMO_Layers != NULL, "Option with max MIMO layers not configured is not supported\n"); int nl_tbslbrm = *maxMIMO_Layers < 4 ? *maxMIMO_Layers : 4; - int bw_tbslbrm = get_dlbw_tbslbrm(current_DL_BWP->initial_BWPSize, mac->cg); - dlsch_pdu->tbslbrm = nr_compute_tbslbrm(dlsch_pdu->mcs_table, bw_tbslbrm, nl_tbslbrm); + dlsch_pdu->tbslbrm = nr_compute_tbslbrm(dlsch_pdu->mcs_table, current_DL_BWP->bw_tbslbrm, nl_tbslbrm); /*PTRS configuration */ dlsch_pdu->pduBitmap = 0; if (pdsch_Config->dmrs_DownlinkForPDSCH_MappingTypeA->choice.setup->phaseTrackingRS != NULL) { diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c index e5ecba5efc..2cf83fc4dc 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c @@ -667,9 +667,8 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac, if (!maxMIMO_Layers) maxMIMO_Layers = pusch_Config ? pusch_Config->maxRank : NULL; AssertFatal (maxMIMO_Layers != NULL,"Option with max MIMO layers not configured is not supported\n"); - int bw_tbslbrm = get_ulbw_tbslbrm(current_UL_BWP->initial_BWPSize, mac->cg); pusch_config_pdu->tbslbrm = nr_compute_tbslbrm(pusch_config_pdu->mcs_table, - bw_tbslbrm, + current_UL_BWP->bw_tbslbrm, *maxMIMO_Layers); } else pusch_config_pdu->tbslbrm = 0; diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c index d7a36ec131..ec4ade5563 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c @@ -1312,9 +1312,8 @@ static void nr_generate_Msg2(module_id_t module_idP, pdsch_pdu_rel15->TBSize[0] = TBS; } - int bw_tbslbrm = get_dlbw_tbslbrm(dl_bwp->initial_BWPSize, ra->CellGroup); pdsch_pdu_rel15->maintenance_parms_v3.tbSizeLbrmBytes = nr_compute_tbslbrm(mcsTableIdx, - bw_tbslbrm, + dl_bwp->bw_tbslbrm, 1); pdsch_pdu_rel15->maintenance_parms_v3.ldpcBaseGraph = get_BG(TBS<<3,R); @@ -1522,9 +1521,8 @@ static void prepare_dl_pdus(gNB_MAC_INST *nr_mac, int x_Overhead = 0; nr_get_tbs_dl(&dl_tti_pdsch_pdu->pdsch_pdu, x_Overhead, pdsch_pdu_rel15->numDmrsCdmGrpsNoData, tb_scaling); - int bw_tbslbrm = get_dlbw_tbslbrm(dl_bwp->initial_BWPSize, ra->CellGroup); pdsch_pdu_rel15->maintenance_parms_v3.tbSizeLbrmBytes = nr_compute_tbslbrm(mcsTableIdx, - bw_tbslbrm, + dl_bwp->bw_tbslbrm, 1); pdsch_pdu_rel15->maintenance_parms_v3.ldpcBaseGraph = get_BG(tb_size<<3,R); diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c index 4675403834..90233cab82 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c @@ -1086,10 +1086,8 @@ void nr_schedule_ue_spec(module_id_t module_id, long maxMIMO_Layers = current_BWP->pdsch_servingcellconfig ? *current_BWP->pdsch_servingcellconfig->ext1->maxMIMO_Layers : 1; const int nl_tbslbrm = min(maxMIMO_Layers, 4); // Maximum number of PRBs across all configured DL BWPs - int scc_bwpsize = current_BWP->initial_BWPSize; - int bw_tbslbrm = get_dlbw_tbslbrm(scc_bwpsize, cg); pdsch_pdu->maintenance_parms_v3.tbSizeLbrmBytes = nr_compute_tbslbrm(current_BWP->mcsTableIdx, - bw_tbslbrm, + current_BWP->bw_tbslbrm, nl_tbslbrm); pdsch_pdu->maintenance_parms_v3.ldpcBaseGraph = get_BG(TBS<<3,R); diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c index fdc3e79b6e..5697107c0b 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c @@ -1140,7 +1140,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc, NR_ControlResourceSet_t *coreset, uint16_t cset0_bwp_size) { - + NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig = NULL; // TODO configure uint8_t fsize = 0, pos = 0; uint64_t *dci_pdu = (uint64_t *)pdcch_dci_pdu->Payload; *dci_pdu = 0; @@ -1158,16 +1158,46 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc, // computing alternative size for padding dci_pdu_rel15_t temp_pdu; if(dci_format == NR_DL_DCI_FORMAT_1_0) - alt_size = nr_dci_size(current_DL_BWP, current_UL_BWP, CellGroup, &temp_pdu, NR_UL_DCI_FORMAT_0_0, rnti_type, coreset, bwp_id, ss->searchSpaceType->present, cset0_bwp_size, 0); + alt_size = nr_dci_size(current_DL_BWP, + current_UL_BWP, + crossCarrierSchedulingConfig, + &temp_pdu, + NR_UL_DCI_FORMAT_0_0, + rnti_type, + coreset, + bwp_id, + ss->searchSpaceType->present, + cset0_bwp_size, + 0); if(dci_format == NR_UL_DCI_FORMAT_0_0) - alt_size = nr_dci_size(current_DL_BWP, current_UL_BWP, CellGroup, &temp_pdu, NR_DL_DCI_FORMAT_1_0, rnti_type, coreset, bwp_id, ss->searchSpaceType->present, cset0_bwp_size, 0); + alt_size = nr_dci_size(current_DL_BWP, + current_UL_BWP, + crossCarrierSchedulingConfig, + &temp_pdu, + NR_DL_DCI_FORMAT_1_0, + rnti_type, + coreset, + bwp_id, + ss->searchSpaceType->present, + cset0_bwp_size, + 0); } else N_RB = cset0_bwp_size; - int dci_size = nr_dci_size(current_DL_BWP, current_UL_BWP, CellGroup, dci_pdu_rel15, dci_format, rnti_type, coreset, bwp_id, ss->searchSpaceType->present, cset0_bwp_size, alt_size); + int dci_size = nr_dci_size(current_DL_BWP, + current_UL_BWP, + crossCarrierSchedulingConfig, + dci_pdu_rel15, + dci_format, + rnti_type, + coreset, + bwp_id, + ss->searchSpaceType->present, + cset0_bwp_size, + alt_size); pdcch_dci_pdu->PayloadSizeBits = dci_size; AssertFatal(dci_size <= 64, "DCI sizes above 64 bits not yet supported"); if (dci_format == NR_DL_DCI_FORMAT_1_1 || dci_format == NR_UL_DCI_FORMAT_0_1) @@ -2027,11 +2057,13 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac, if (CellGroup && CellGroup->physicalCellGroupConfig) DL_BWP->pdsch_HARQ_ACK_Codebook = &CellGroup->physicalCellGroupConfig->pdsch_HARQ_ACK_Codebook; + NR_ServingCellConfig_t *servingCellConfig = NULL; if (CellGroup && CellGroup->spCellConfig && CellGroup->spCellConfig->spCellConfigDedicated) { - const NR_ServingCellConfig_t *servingCellConfig = CellGroup->spCellConfig->spCellConfigDedicated; + servingCellConfig = CellGroup->spCellConfig->spCellConfigDedicated; + UL_BWP->supplementaryUplink = servingCellConfig->supplementaryUplink; DL_BWP->pdsch_servingcellconfig = servingCellConfig->pdsch_ServingCellConfig ? servingCellConfig->pdsch_ServingCellConfig->choice.setup : NULL; UL_BWP->pusch_servingcellconfig = servingCellConfig->uplinkConfig && servingCellConfig->uplinkConfig->pusch_ServingCellConfig ? servingCellConfig->uplinkConfig->pusch_ServingCellConfig->choice.setup : NULL; @@ -2144,6 +2176,9 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac, UL_BWP->initial_BWPSize = NRRIV2BW(scc->uplinkConfigCommon->initialUplinkBWP->genericParameters.locationAndBandwidth, MAX_BWP_SIZE); UL_BWP->initial_BWPStart = NRRIV2PRBOFFSET(scc->uplinkConfigCommon->initialUplinkBWP->genericParameters.locationAndBandwidth, MAX_BWP_SIZE); + DL_BWP->bw_tbslbrm = get_dlbw_tbslbrm(DL_BWP->initial_BWPSize, servingCellConfig); + UL_BWP->bw_tbslbrm = get_ulbw_tbslbrm(UL_BWP->initial_BWPSize, servingCellConfig); + if (UL_BWP->bwp_id > 0) { UL_BWP->pucch_ConfigCommon = ul_bwp->bwp_Common->pucch_ConfigCommon ? ul_bwp->bwp_Common->pucch_ConfigCommon->choice.setup : NULL; UL_BWP->rach_ConfigCommon = ul_bwp->bwp_Common->rach_ConfigCommon ? ul_bwp->bwp_Common->rach_ConfigCommon->choice.setup : NULL; diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index 761bbf6535..cc9a6c9f84 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -2288,10 +2288,8 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot, n if (!maxMIMO_Layers) maxMIMO_Layers = current_BWP->pusch_Config->maxRank; AssertFatal (maxMIMO_Layers != NULL,"Option with max MIMO layers not configured is not supported\n"); - const int scc_bwpsize = current_BWP->initial_BWPSize; - int bw_tbslbrm = get_ulbw_tbslbrm(scc_bwpsize, cg); pusch_pdu->maintenance_parms_v3.tbSizeLbrmBytes = nr_compute_tbslbrm(current_BWP->mcs_table, - bw_tbslbrm, + current_BWP->bw_tbslbrm, *maxMIMO_Layers); } else From 5661b20e9e5c17deb54ace8fb3ab0fc906b08d1d Mon Sep 17 00:00:00 2001 From: francescomani Date: Fri, 20 Oct 2023 15:07:31 +0200 Subject: [PATCH 23/43] improving init for dora and phytest --- executables/nr-ue.c | 7 ++--- openair1/SIMULATION/NR_PHY/ulsim.c | 2 ++ openair2/LAYER2/NR_MAC_UE/config_ue.c | 2 ++ openair2/LAYER2/NR_MAC_UE/main_ue_nr.c | 18 ++++--------- openair2/RRC/NR_UE/main_ue.c | 37 +++++++++++++++++++++++--- openair2/RRC/NR_UE/rrc_UE.c | 37 ++++---------------------- openair2/RRC/NR_UE/rrc_proto.h | 7 +++-- 7 files changed, 57 insertions(+), 53 deletions(-) diff --git a/executables/nr-ue.c b/executables/nr-ue.c index e7fcdcfa0f..071d36087c 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -944,14 +944,15 @@ void *UE_thread(void *arg) void init_NR_UE(int nb_inst, char *uecap_file, char *reconfig_file, char *rbconfig_file) { - int inst; NR_UE_MAC_INST_t *mac_inst; NR_UE_RRC_INST_t* rrc_inst; - for (inst=0; inst < nb_inst; inst++) { - AssertFatal((rrc_inst = nr_l3_init_ue(uecap_file, reconfig_file, rbconfig_file)) != NULL, "can not initialize RRC module\n"); + for (int inst = 0; inst < nb_inst; inst++) { + AssertFatal((rrc_inst = nr_l3_init_ue(uecap_file)) != NULL, "can not initialize RRC module\n"); AssertFatal((mac_inst = nr_l2_init_ue(rrc_inst)) != NULL, "can not initialize L2 module\n"); AssertFatal((mac_inst->if_module = nr_ue_if_module_init(inst)) != NULL, "can not initialize IF module\n"); + if (!get_softmodem_params()->sa) + init_nsa_message(rrc_inst, reconfig_file, rbconfig_file); } } diff --git a/openair1/SIMULATION/NR_PHY/ulsim.c b/openair1/SIMULATION/NR_PHY/ulsim.c index e08a8cfb3a..54d69c9611 100644 --- a/openair1/SIMULATION/NR_PHY/ulsim.c +++ b/openair1/SIMULATION/NR_PHY/ulsim.c @@ -695,6 +695,8 @@ int main(int argc, char *argv[]) nr_l2_init_ue(&rrcue); NR_UE_MAC_INST_t* UE_mac = get_mac_inst(0); + + ue_init_config_request(UE_mac, mu); UE->if_inst = nr_ue_if_module_init(0); UE->if_inst->scheduled_response = nr_ue_scheduled_response; diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index e6c494aa27..8b9d3f38ca 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -812,6 +812,8 @@ void nr_rrc_mac_config_req_scg(module_id_t module_id, if (scell_group_config->spCellConfig->reconfigurationWithSync) handle_reconfiguration_with_sync(mac, module_id, cc_idP, scell_group_config->spCellConfig->reconfigurationWithSync); configure_current_BWP(mac, NULL, scell_group_config); + if (!mac->dl_config_request || !mac->ul_config_request) + ue_init_config_request(mac, mac->current_DL_BWP.scs); // Setup the SSB to Rach Occasions mapping according to the config build_ssb_to_ro_map(mac); } diff --git a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c index 77c6fd6c8d..8cd5a05ee1 100644 --- a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c +++ b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c @@ -63,11 +63,9 @@ void send_msg3_rrc_request(module_id_t mod_id, int rnti) nr_mac_rrc_msg3_ind(mod_id, rnti); } -NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) { - - //LOG_I(MAC, "[MAIN] MAC_INIT_GLOBAL_PARAM IN...\n"); - - //LOG_I(MAC, "[MAIN] init UE MAC functions \n"); +NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) +{ + LOG_I(NR_MAC, "MAIN: init UE MAC functions \n"); //init mac here nr_ue_mac_inst = (NR_UE_MAC_INST_t *)calloc(NB_NR_UE_MAC_INST, sizeof(NR_UE_MAC_INST_t)); @@ -75,17 +73,11 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) { for (int j = 0; j < NB_NR_UE_MAC_INST; j++) nr_ue_init_mac(j); - int scs = get_softmodem_params()->sa ? - get_softmodem_params()->numerology : - rrc_inst ? - *rrc_inst->scell_group_config->spCellConfig->reconfigurationWithSync->spCellConfigCommon->ssbSubcarrierSpacing : - - 1; - if (scs > -1) - ue_init_config_request(nr_ue_mac_inst, scs); + if (get_softmodem_params()->sa) + ue_init_config_request(nr_ue_mac_inst, get_softmodem_params()->numerology); if (rrc_inst && rrc_inst->scell_group_config) { - nr_rrc_mac_config_req_scg(0, 0, rrc_inst->scell_group_config); int rc = rlc_module_init(0); AssertFatal(rc == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__); nr_rlc_activate_srb0(nr_ue_mac_inst->crnti, NULL, send_srb0_rrc); diff --git a/openair2/RRC/NR_UE/main_ue.c b/openair2/RRC/NR_UE/main_ue.c index 72853cd278..b558744e9e 100644 --- a/openair2/RRC/NR_UE/main_ue.c +++ b/openair2/RRC/NR_UE/main_ue.c @@ -33,10 +33,41 @@ #include "defs.h" #include "rrc_proto.h" #include "common/utils/LOG/log.h" +#include "executables/softmodem-common.h" -NR_UE_RRC_INST_t* nr_l3_init_ue(char* uecap, char* reconfig_file, char* rbconfig_file) +NR_UE_RRC_INST_t* nr_l3_init_ue(char* uecap) { - // LOG_I(RRC, "[MAIN] NR UE MAC initialization...\n"); + return openair_rrc_top_init_ue_nr(uecap); +} - return openair_rrc_top_init_ue_nr(uecap, reconfig_file, rbconfig_file); +void init_nsa_message(NR_UE_RRC_INST_t *rrc, char* reconfig_file, char* rbconfig_file) +{ + if (get_softmodem_params()->phy_test == 1 || get_softmodem_params()->do_ra == 1) { + // read in files for RRCReconfiguration and RBconfig + + LOG_I(NR_RRC, "using %s for rrc init[1/2]\n", reconfig_file); + FILE *fd = fopen(reconfig_file, "r"); + AssertFatal(fd, + "cannot read file %s: errno %d, %s\n", + reconfig_file, + errno, + strerror(errno)); + char buffer[1024]; + int msg_len = fread(buffer, 1, 1024, fd); + fclose(fd); + process_nsa_message(rrc, nr_SecondaryCellGroupConfig_r15, buffer, msg_len); + + LOG_I(NR_RRC, "using %s for rrc init[2/2]\n", rbconfig_file); + fd = fopen(rbconfig_file, "r"); + AssertFatal(fd, + "cannot read file %s: errno %d, %s\n", + rbconfig_file, + errno, + strerror(errno)); + msg_len = fread(buffer, 1, 1024, fd); + fclose(fd); + process_nsa_message(rrc, nr_RadioBearerConfigX_r15, buffer,msg_len); + } + else + LOG_D(NR_RRC, "In NSA mode \n"); } diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c index e6712676e0..75f58af872 100644 --- a/openair2/RRC/NR_UE/rrc_UE.c +++ b/openair2/RRC/NR_UE/rrc_UE.c @@ -257,8 +257,10 @@ static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, if (get_softmodem_params()->nsa) { nr_rrc_mac_config_req_scg(0, 0, secondCellGroupConfig); } - } else + } else { + nr_rrc_mac_config_req_scg(0, 0, secondCellGroupConfig); nr_rrc_ue_decode_secondary_cellgroup_config(rrc, secondCellGroupConfig); + } } if (ie->measConfig != NULL) { LOG_I(NR_RRC, "Measurement Configuration is present\n"); @@ -283,7 +285,7 @@ static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, return; } -static void process_nsa_message(NR_UE_RRC_INST_t *rrc, nsa_message_t nsa_message_type, void *message, int msg_len) +void process_nsa_message(NR_UE_RRC_INST_t *rrc, nsa_message_t nsa_message_type, void *message, int msg_len) { switch (nsa_message_type) { case nr_SecondaryCellGroupConfig_r15: @@ -341,7 +343,7 @@ static void process_nsa_message(NR_UE_RRC_INST_t *rrc, nsa_message_t nsa_message } } -NR_UE_RRC_INST_t* openair_rrc_top_init_ue_nr(char* uecap_file, char* reconfig_file, char* rbconfig_file) +NR_UE_RRC_INST_t* openair_rrc_top_init_ue_nr(char* uecap_file) { if(NB_NR_UE_INST > 0) { NR_UE_rrc_inst = (NR_UE_RRC_INST_t *)calloc(NB_NR_UE_INST , sizeof(NR_UE_RRC_INST_t)); @@ -368,35 +370,6 @@ NR_UE_RRC_INST_t* openair_rrc_top_init_ue_nr(char* uecap_file, char* reconfig_fi NR_UE_rrc_inst->uecap_file = uecap_file; - if (get_softmodem_params()->phy_test == 1 || get_softmodem_params()->do_ra == 1) { - // read in files for RRCReconfiguration and RBconfig - - LOG_I(NR_RRC, "using %s for rrc init[1/2]\n", reconfig_file); - FILE *fd = fopen(reconfig_file,"r"); - AssertFatal(fd, - "cannot read file %s: errno %d, %s\n", - reconfig_file, - errno, - strerror(errno)); - char buffer[1024]; - int msg_len=fread(buffer,1,1024,fd); - fclose(fd); - process_nsa_message(NR_UE_rrc_inst, nr_SecondaryCellGroupConfig_r15, buffer,msg_len); - - LOG_I(NR_RRC, "using %s for rrc init[2/2]\n", rbconfig_file); - fd = fopen(rbconfig_file,"r"); - AssertFatal(fd, - "cannot read file %s: errno %d, %s\n", - rbconfig_file, - errno, - strerror(errno)); - msg_len=fread(buffer,1,1024,fd); - fclose(fd); - process_nsa_message(NR_UE_rrc_inst, nr_RadioBearerConfigX_r15, buffer,msg_len); - } else if (get_softmodem_params()->nsa) { - LOG_D(NR_RRC, "In NSA mode \n"); - } - if (get_softmodem_params()->sl_mode) { configure_NR_SL_Preconfig(get_softmodem_params()->sync_ref); } diff --git a/openair2/RRC/NR_UE/rrc_proto.h b/openair2/RRC/NR_UE/rrc_proto.h index 95330eabd2..565b9e813e 100644 --- a/openair2/RRC/NR_UE/rrc_proto.h +++ b/openair2/RRC/NR_UE/rrc_proto.h @@ -56,14 +56,17 @@ extern queue_t nr_ul_tti_req_queue; // main_rrc.c // /**\brief Layer 3 initialization*/ -NR_UE_RRC_INST_t *nr_l3_init_ue(char *, char *, char *); +NR_UE_RRC_INST_t *nr_l3_init_ue(char *); // // UE_rrc.c // /**\brief Initial the top level RRC structure instance*/ -NR_UE_RRC_INST_t *openair_rrc_top_init_ue_nr(char *, char *, char *); +NR_UE_RRC_INST_t *openair_rrc_top_init_ue_nr(char *); +void init_nsa_message (NR_UE_RRC_INST_t *rrc, char* reconfig_file, char* rbconfig_file); + +void process_nsa_message(NR_UE_RRC_INST_t *rrc, nsa_message_t nsa_message_type, void *message, int msg_len); /**\brief interface between MAC and RRC thru SRB0 (RLC TM/no PDCP) \param module_id module id From 4d8bb4ef25404c08df942a0958237fb955d834d3 Mon Sep 17 00:00:00 2001 From: francescomani Date: Sat, 21 Oct 2023 18:25:53 +0200 Subject: [PATCH 24/43] unify handling of reconfiguration with sync --- executables/nr-uesoftmodem.c | 16 ++++++++------- openair1/SCHED_NR_UE/fapi_nr_ue_l1.c | 2 +- openair1/SIMULATION/NR_PHY/dlsim.c | 4 +++- openair2/LAYER2/NR_MAC_UE/config_ue.c | 29 ++++++++++++--------------- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 35bc218ac2..8e5751a190 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -437,8 +437,6 @@ int main( int argc, char **argv ) { if (set_exe_prio) set_priority(79); - //uint8_t beta_ACK=0,beta_RI=0,beta_CQI=2; - PHY_VARS_NR_UE *UE[MAX_NUM_CCs]; start_background_system(); if ((uniqCfg = load_configmodule(argc, argv, CONFIG_ENABLECMDLINEONLY)) == NULL) { @@ -478,6 +476,13 @@ int main( int argc, char **argv ) { #endif LOG_I(HW, "Version: %s\n", PACKAGE_VERSION); + PHY_vars_UE_g = malloc(sizeof(PHY_VARS_NR_UE **)); + PHY_vars_UE_g[0] = malloc(sizeof(PHY_VARS_NR_UE *) * MAX_NUM_CCs); + for (int CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) { + PHY_vars_UE_g[0][CC_id] = (PHY_VARS_NR_UE *)malloc(sizeof(PHY_VARS_NR_UE)); + memset(PHY_vars_UE_g[0][CC_id], 0, sizeof(PHY_VARS_NR_UE)); + } + init_NR_UE(1, uecap_file, reconfig_file, rbconfig_file); int mode_offset = get_softmodem_params()->nsa ? NUMBER_OF_UE_MAX : 1; @@ -493,8 +498,6 @@ int main( int argc, char **argv ) { } } - PHY_vars_UE_g = malloc(sizeof(PHY_VARS_NR_UE **)); - PHY_vars_UE_g[0] = malloc(sizeof(PHY_VARS_NR_UE *)*MAX_NUM_CCs); if (get_softmodem_params()->emulate_l1) { RCconfig_nr_ue_macrlc(); get_channel_model_mode(uniqCfg); @@ -510,10 +513,9 @@ int main( int argc, char **argv ) { start_oai_nrue_threads(); if (!get_softmodem_params()->emulate_l1) { - for (int CC_id=0; CC_idMod_id][phy_config->CC_id]->nrUE_config; if(phy_config != NULL) { - memcpy(nrUE_config,&phy_config->config_req,sizeof(fapi_nr_config_request_t)); + memcpy(nrUE_config, &phy_config->config_req, sizeof(fapi_nr_config_request_t)); pushNotifiedFIFO(&PHY_vars_UE_g[phy_config->Mod_id][phy_config->CC_id]->phy_config_ind, newNotifiedFIFO_elt(1,0,NULL,NULL)); } return 0; diff --git a/openair1/SIMULATION/NR_PHY/dlsim.c b/openair1/SIMULATION/NR_PHY/dlsim.c index 3b99bedbe9..fd68a3b9c3 100644 --- a/openair1/SIMULATION/NR_PHY/dlsim.c +++ b/openair1/SIMULATION/NR_PHY/dlsim.c @@ -835,7 +835,6 @@ int main(int argc, char **argv) UE->chest_time = chest_type[1]; UE_mac->if_module = nr_ue_if_module_init(0); - UE_mac->state = UE_CONNECTED; unsigned int available_bits=0; unsigned char *estimated_output_bit; @@ -855,6 +854,9 @@ int main(int argc, char **argv) nr_rrc_mac_config_req_mib(0, 0, mib->message.choice.mib, false); nr_rrc_mac_config_req_scg(0, 0, secondaryCellGroup); + UE_mac->state = UE_CONNECTED; + UE_mac->ra.ra_state = RA_SUCCEEDED; + nr_dcireq_t dcireq; nr_scheduled_response_t scheduled_response; nr_phy_data_t phy_data = {0}; diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index 8b9d3f38ca..c93b607f9e 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -753,6 +753,19 @@ void handle_reconfiguration_with_sync(NR_UE_MAC_INST_t *mac, mac->crnti = reconfigurationWithSync->newUE_Identity; LOG_I(NR_MAC, "Configuring CRNTI %x\n", mac->crnti); config_common_ue(mac, scc, module_id, cc_idP); + + mac->state = UE_NOT_SYNC; + ra->ra_state = RA_UE_IDLE; + nr_ue_mac_default_configs(mac); + + if (!get_softmodem_params()->emulate_l1) { + mac->synch_request.Mod_id = module_id; + mac->synch_request.CC_id = cc_idP; + mac->synch_request.synch_req.target_Nid_cell = mac->physCellId; + mac->if_module->synch_request(&mac->synch_request); + mac->if_module->phy_config_request(&mac->phy_config); + mac->phy_config_request_sent = true; + } } void nr_rrc_mac_config_req_mcg(module_id_t module_id, @@ -778,23 +791,7 @@ void nr_rrc_mac_config_req_mcg(module_id_t module_id, if (cell_group_config->spCellConfig && cell_group_config->spCellConfig->reconfigurationWithSync) { LOG_A(NR_MAC, "Received the reconfigurationWithSync in %s\n", __FUNCTION__); - handle_reconfiguration_with_sync(mac, module_id, cc_idP, cell_group_config->spCellConfig->reconfigurationWithSync); - - mac->state = UE_NOT_SYNC; - mac->ra.ra_state = RA_UE_IDLE; - nr_ue_mac_default_configs(mac); - - if (!get_softmodem_params()->emulate_l1) { - mac->synch_request.Mod_id = module_id; - mac->synch_request.CC_id = cc_idP; - mac->synch_request.synch_req.target_Nid_cell = mac->physCellId; - mac->if_module->synch_request(&mac->synch_request); - mac->if_module->phy_config_request(&mac->phy_config); - mac->phy_config_request_sent = true; - } - // Setup the SSB to Rach Occasions mapping according to the config - build_ssb_to_ro_map(mac); } configure_current_BWP(mac, NULL, cell_group_config); } From df917624db53800173c6976724d2f80c233601e2 Mon Sep 17 00:00:00 2001 From: francescomani Date: Mon, 23 Oct 2023 12:21:38 +0200 Subject: [PATCH 25/43] function to configure cellgroup at RRC --- openair2/LAYER2/NR_MAC_UE/main_ue_nr.c | 2 +- openair2/RRC/NR_UE/rrc_UE.c | 251 +++++++++---------------- openair2/RRC/NR_UE/rrc_defs.h | 8 +- openair2/RRC/NR_UE/rrc_proto.h | 4 + 4 files changed, 100 insertions(+), 165 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c index 8cd5a05ee1..bbc3da1739 100644 --- a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c +++ b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c @@ -76,7 +76,7 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) if (get_softmodem_params()->sa) ue_init_config_request(nr_ue_mac_inst, get_softmodem_params()->numerology); - if (rrc_inst && rrc_inst->scell_group_config) { + if (get_softmodem_params()->do_ra || get_softmodem_params()->phy_test) { int rc = rlc_module_init(0); AssertFatal(rc == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__); diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c index 75f58af872..53abface41 100644 --- a/openair2/RRC/NR_UE/rrc_UE.c +++ b/openair2/RRC/NR_UE/rrc_UE.c @@ -162,20 +162,6 @@ static void nr_rrc_ue_process_masterCellGroup(instance_t instance, void nr_rrc_ue_process_measConfig(rrcPerNB_t *rrc, NR_MeasConfig_t *const measConfig); -// from LTE-RRC DL-DCCH RRCConnectionReconfiguration nr-secondary-cell-group-config (encoded) -static int8_t nr_rrc_ue_decode_secondary_cellgroup_config(NR_UE_RRC_INST_t *rrc, NR_CellGroupConfig_t *cell_group_config) -{ - if (rrc->scell_group_config == NULL) - rrc->scell_group_config = cell_group_config; - else - SEQUENCE_free(&asn_DEF_NR_CellGroupConfig, (void *)cell_group_config, 0); - - if(cell_group_config->spCellConfig != NULL) - configure_spcell(rrc, cell_group_config->spCellConfig); - - return 0; -} - static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, int gNB_index, rnti_t rnti, @@ -217,10 +203,10 @@ static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, } if (ie->secondaryCellGroup != NULL) { - NR_CellGroupConfig_t *secondCellGroupConfig = NULL; + NR_CellGroupConfig_t *cellGroupConfig = NULL; asn_dec_rval_t dec_rval = uper_decode(NULL, &asn_DEF_NR_CellGroupConfig, // might be added prefix later - (void **)&secondCellGroupConfig, + (void **)&cellGroupConfig, (uint8_t *)ie->secondaryCellGroup->buf, ie->secondaryCellGroup->size, 0, @@ -232,35 +218,18 @@ static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, LOG_E(NR_RRC, "%02x ", buffer[i]); LOG_E(NR_RRC, "\n"); // free the memory - SEQUENCE_free(&asn_DEF_NR_CellGroupConfig, (void *)secondCellGroupConfig, 1); - return; + SEQUENCE_free(&asn_DEF_NR_CellGroupConfig, (void *)cellGroupConfig, 1); } + if (LOG_DEBUGFLAG(DEBUG_ASN1)) - xer_fprint(stdout, &asn_DEF_NR_CellGroupConfig, (const void *)secondCellGroupConfig); + xer_fprint(stdout, &asn_DEF_NR_CellGroupConfig, (const void *) cellGroupConfig); - if (get_softmodem_params()->sa || get_softmodem_params()->nsa) { - // remote NB index lost ???? - nr_rrc_manage_rlc_bearers(instance, secondCellGroupConfig, rrc->perNB + 0, rrc->rnti); - if (rrc->cell_group_config == NULL) { - // first time receive the configuration, just use the memory allocated from uper_decoder. TODO this is not good - // implementation, need to maintain RRC_INST own structure every time. - rrc->cell_group_config = secondCellGroupConfig; - } else { - // after first time, update it and free the memory after. - SEQUENCE_free(&asn_DEF_NR_CellGroupConfig, (void *)rrc->cell_group_config, 0); - rrc->cell_group_config = secondCellGroupConfig; - } + nr_rrc_cellgroup_configuration(rrcNB, + instance, + cellGroupConfig); - if (secondCellGroupConfig->spCellConfig != NULL) - configure_spcell(rrc, secondCellGroupConfig->spCellConfig); - - if (get_softmodem_params()->nsa) { - nr_rrc_mac_config_req_scg(0, 0, secondCellGroupConfig); - } - } else { - nr_rrc_mac_config_req_scg(0, 0, secondCellGroupConfig); - nr_rrc_ue_decode_secondary_cellgroup_config(rrc, secondCellGroupConfig); - } + if (!get_softmodem_params()->sa) + nr_rrc_mac_config_req_scg(0, 0, cellGroupConfig); } if (ie->measConfig != NULL) { LOG_I(NR_RRC, "Measurement Configuration is present\n"); @@ -281,7 +250,6 @@ static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, default: break; } - return; } @@ -352,8 +320,8 @@ NR_UE_RRC_INST_t* openair_rrc_top_init_ue_nr(char* uecap_file) // fill UE-NR-Capability @ UE-CapabilityRAT-Container here. rrc->selected_plmn_identity = 1; - rrc->bwpd = NULL; - rrc->ubwpd = NULL; + rrc->dl_bwp_id = 0; + rrc->ul_bwp_id = 0; rrc->as_security_activated = false; for (int i = 0; i < NB_CNX_UE; i++) { @@ -362,7 +330,7 @@ NR_UE_RRC_INST_t* openair_rrc_top_init_ue_nr(char* uecap_file) for (int j = 0; j < NR_NUM_SRB; j++) ptr->Srb[j] = (NR_UE_RRC_SRB_INFO_t){0}; for (int j = 0; j < MAX_DRBS_PER_UE; j++) - ptr->active_DRBs[j] = false; + ptr->status_DRBs[j] = RB_NOT_PRESENT; // SRB0 activated by default ptr->Srb[0].status = RB_ESTABLISHED; } @@ -800,13 +768,82 @@ static void nr_rrc_manage_rlc_bearers(const instance_t instance, cellGroupConfig->rlc_BearerToReleaseList); } +void nr_rrc_cellgroup_configuration(rrcPerNB_t *rrcNB, + instance_t instance, + NR_CellGroupConfig_t *cellGroupConfig) +{ + NR_UE_RRC_INST_t *rrc = &NR_UE_rrc_inst[instance]; + if(rrc->cell_group_config == NULL) + rrc->cell_group_config = cellGroupConfig; + else { + ASN_STRUCT_FREE(asn_DEF_NR_CellGroupConfig, rrc->cell_group_config); + rrc->cell_group_config = cellGroupConfig; + } + + NR_UE_Timers_Constants_t *tac = &rrc->timers_and_constants; + + NR_SpCellConfig_t *spCellConfig = cellGroupConfig->spCellConfig; + if(spCellConfig != NULL) { + if (spCellConfig->reconfigurationWithSync != NULL) { + NR_ReconfigurationWithSync_t *reconfigurationWithSync = spCellConfig->reconfigurationWithSync; + // perform Reconfiguration with sync according to 5.3.5.5.2 + if (!rrc->as_security_activated && rrc->nrRrcState != RRC_STATE_IDLE_NR) { + // perform the actions upon going to RRC_IDLE as specified in 5.3.11 + // with the release cause 'other' upon which the procedure ends + // TODO + } + if (tac->T310_active) { + tac->T310_active = false; + tac->T310_cnt = 0; + } + nr_rrc_set_T304(&rrc->timers_and_constants, reconfigurationWithSync); + tac->T304_active = true; + tac->T304_cnt = 0; + rrc->rnti = reconfigurationWithSync->newUE_Identity; + // resume suspended radio bearers + for (int i = 0; i < NR_NUM_SRB; i++) { + if (rrcNB->Srb[i].status == RB_SUSPENDED) + rrcNB->Srb[i].status = RB_ESTABLISHED; + } + for (int i = 0; i < MAX_DRBS_PER_UE; i++) { + if (rrcNB->status_DRBs[i] == RB_SUSPENDED) + rrcNB->status_DRBs[i] = RB_ESTABLISHED; + } + // TODO reset MAC + } + nr_rrc_handle_SetupRelease_RLF_TimersAndConstants(rrc, spCellConfig->rlf_TimersAndConstants); + if (spCellConfig->spCellConfigDedicated) { + if (spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id) + rrc->dl_bwp_id = *spCellConfig->spCellConfigDedicated->firstActiveDownlinkBWP_Id; + if (spCellConfig->spCellConfigDedicated->uplinkConfig && + spCellConfig->spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id) + rrc->dl_bwp_id = *spCellConfig->spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id; + } + } + + if(cellGroupConfig->mac_CellGroupConfig != NULL) { + // TODO handle MAC CellGroupConfig + } + + // TODO verify why we need this limitation + if (get_softmodem_params()->sa || get_softmodem_params()->nsa) + nr_rrc_manage_rlc_bearers(instance, cellGroupConfig, rrcNB, rrc->rnti); + + AssertFatal(cellGroupConfig->sCellToReleaseList == NULL, + "Secondary serving cell release not implemented\n"); + + AssertFatal(cellGroupConfig->sCellToAddModList == NULL, + "Secondary serving cell addition not implemented\n"); +} + + static void nr_rrc_ue_process_masterCellGroup(instance_t instance, rnti_t rnti, rrcPerNB_t *rrcNB, OCTET_STRING_t *masterCellGroup, long *fullConfig) { - NR_UE_RRC_INST_t *rrc = &NR_UE_rrc_inst[instance]; + AssertFatal(!fullConfig, "fullConfig not supported yet\n"); NR_CellGroupConfig_t *cellGroupConfig = NULL; uper_decode(NULL, &asn_DEF_NR_CellGroupConfig, //might be added prefix later @@ -818,116 +855,12 @@ static void nr_rrc_ue_process_masterCellGroup(instance_t instance, xer_fprint(stdout, &asn_DEF_NR_CellGroupConfig, (const void *) cellGroupConfig); } - if(rrc->cell_group_config == NULL){ - rrc->cell_group_config = calloc(1,sizeof(NR_CellGroupConfig_t)); - } - nr_rrc_manage_rlc_bearers(instance, cellGroupConfig, rrcNB, rnti); + nr_rrc_cellgroup_configuration(rrcNB, + instance, + cellGroupConfig); - if(cellGroupConfig->mac_CellGroupConfig != NULL){ - //TODO (configure the MAC entity of this cell group as specified in 5.3.5.5.5) - LOG_I(RRC, "Received mac_CellGroupConfig from gNB\n"); - if(rrc->cell_group_config->mac_CellGroupConfig != NULL){ - LOG_E(RRC, "UE RRC instance already contains mac CellGroupConfig which will be overwritten\n"); - // Laurent: there are cases where the not NULL value is also not coming from a previous malloc - // so it is better to let the potential memory leak than corrupting the heap - //free(rrc->cell_group_config->mac_CellGroupConfig); - } - rrc->cell_group_config->mac_CellGroupConfig = malloc(sizeof(struct NR_MAC_CellGroupConfig)); - memcpy(rrc->cell_group_config->mac_CellGroupConfig,cellGroupConfig->mac_CellGroupConfig, - sizeof(struct NR_MAC_CellGroupConfig)); - } - - if(cellGroupConfig->sCellToReleaseList != NULL) { - //TODO (perform SCell release as specified in 5.3.5.5.8) - } - - if(cellGroupConfig->spCellConfig != NULL) { - configure_spcell(rrc, cellGroupConfig->spCellConfig); - // TS 38.331 - Section 5.3.5.5.2 Reconfiguration with sync - if (cellGroupConfig->spCellConfig->reconfigurationWithSync != NULL) { - if(fullConfig) - set_default_timers_and_constants(&rrc->timers_and_constants); - LOG_A(NR_RRC, "Received the reconfigurationWithSync in %s\n", __FUNCTION__); - NR_ReconfigurationWithSync_t *reconfigurationWithSync = cellGroupConfig->spCellConfig->reconfigurationWithSync; - rrc->timers_and_constants.T304_active = true; - nr_rrc_set_T304(&rrc->timers_and_constants, reconfigurationWithSync); - // TODO: Implementation of the remaining procedures regarding the reception of the reconfigurationWithSync, TS 38.331 - Section 5.3.5.5.2 - } - - if (rrc->cell_group_config && - rrc->cell_group_config->spCellConfig) { - memcpy(rrc->cell_group_config->spCellConfig,cellGroupConfig->spCellConfig, - sizeof(struct NR_SpCellConfig)); - } else { - if (rrc->cell_group_config) - rrc->cell_group_config->spCellConfig = cellGroupConfig->spCellConfig; - else - rrc->cell_group_config = cellGroupConfig; - } - LOG_D(RRC,"Sending CellGroupConfig to MAC\n"); - nr_rrc_mac_config_req_mcg(instance, 0, cellGroupConfig); - } - - if(fullConfig) - // full configuration after re-establishment or during RRC resume - nr_rrc_set_sib1_timers_and_constants(&rrc->timers_and_constants, rrcNB->SInfo.sib1); - - if( cellGroupConfig->sCellToAddModList != NULL){ - //TODO (perform SCell addition/modification as specified in 5.3.5.5.9) - } - - if(cellGroupConfig->ext2 != NULL && cellGroupConfig->ext2->bh_RLC_ChannelToReleaseList_r16 != NULL){ - //TODO (perform the BH RLC channel addition/modification as specified in 5.3.5.5.11) - } - - if(cellGroupConfig->ext2 != NULL && cellGroupConfig->ext2->bh_RLC_ChannelToAddModList_r16 != NULL){ - //TODO (perform the BH RLC channel addition/modification as specified in 5.3.5.5.11) - } -} - -static void configure_spcell(NR_UE_RRC_INST_t *rrc, NR_SpCellConfig_t *spcell_config) -{ - nr_rrc_handle_SetupRelease_RLF_TimersAndConstants(rrc, spcell_config->rlf_TimersAndConstants); - - if(spcell_config->spCellConfigDedicated) { - NR_ServingCellConfig_t *scd = spcell_config->spCellConfigDedicated; - if(scd->firstActiveDownlinkBWP_Id) { - if(*scd->firstActiveDownlinkBWP_Id == 0) - rrc->bwpd = scd->initialDownlinkBWP; - else { - AssertFatal(scd->downlinkBWP_ToAddModList, "No DL BWP list configured\n"); - const struct NR_ServingCellConfig__downlinkBWP_ToAddModList *bwpList = scd->downlinkBWP_ToAddModList; - NR_BWP_Downlink_t *dl_bwp = NULL; - for (int i = 0; i < bwpList->list.count; i++) { - dl_bwp = bwpList->list.array[i]; - if(dl_bwp->bwp_Id == *scd->firstActiveDownlinkBWP_Id) - break; - } - AssertFatal(dl_bwp != NULL,"Couldn't find DLBWP corresponding to BWP ID %ld\n", *scd->firstActiveDownlinkBWP_Id); - rrc->bwpd = dl_bwp->bwp_Dedicated; - } - // if any of the reference signal(s) that are used for radio link monitoring are reconfigured by the received spCellConfigDedicated - // reset RLF timers and constants - if (rrc->bwpd->radioLinkMonitoringConfig) - reset_rlf_timers_and_constants(&rrc->timers_and_constants); - } - if(scd->uplinkConfig && scd->uplinkConfig->firstActiveUplinkBWP_Id) { - if(*scd->uplinkConfig->firstActiveUplinkBWP_Id == 0) - rrc->ubwpd = scd->uplinkConfig->initialUplinkBWP; - else { - AssertFatal(scd->uplinkConfig->uplinkBWP_ToAddModList, "No UL BWP list configured\n"); - const struct NR_UplinkConfig__uplinkBWP_ToAddModList *ubwpList = scd->uplinkConfig->uplinkBWP_ToAddModList; - NR_BWP_Uplink_t *ul_bwp = NULL; - for (int i = 0; i < ubwpList->list.count; i++) { - ul_bwp = ubwpList->list.array[i]; - if(ul_bwp->bwp_Id == *scd->uplinkConfig->firstActiveUplinkBWP_Id) - break; - } - AssertFatal(ul_bwp != NULL,"Couldn't find DLBWP corresponding to BWP ID %ld\n", *scd->uplinkConfig->firstActiveUplinkBWP_Id); - rrc->ubwpd = ul_bwp->bwp_Dedicated; - } - } - } + LOG_D(RRC,"Sending CellGroupConfig to MAC\n"); + nr_rrc_mac_config_req_mcg(instance, 0, cellGroupConfig); } static void rrc_ue_generate_RRCSetupComplete(instance_t instance, rnti_t rnti, const uint8_t Transaction_id, uint8_t sel_plmn_id) @@ -998,7 +931,7 @@ static int8_t nr_rrc_ue_decode_ccch(const instance_t instance, // Get configuration // Release T300 timer rrc->timers_and_constants.T300_active = 0; - + rrc->rnti = rnti; nr_rrc_ue_process_masterCellGroup( instance, rnti, @@ -1011,7 +944,7 @@ static int8_t nr_rrc_ue_decode_ccch(const instance_t instance, rrc->perNB + gNB_index, &dl_ccch_msg->message.choice.c1->choice.rrcSetup->criticalExtensions.choice.rrcSetup->radioBearerConfig); rrc->nrRrcState = RRC_STATE_CONNECTED_NR; - rrc->rnti = rnti; + rrc_ue_generate_RRCSetupComplete(instance, rnti, dl_ccch_msg->message.choice.c1->choice.rrcSetup->rrc_TransactionIdentifier, @@ -1330,7 +1263,7 @@ static void nr_rrc_ue_process_RadioBearerConfig(NR_UE_RRC_INST_t *ue_rrc, for (int cnt = 0; cnt < radioBearerConfig->drb_ToAddModList->list.count; cnt++) { struct NR_DRB_ToAddMod *drb = radioBearerConfig->drb_ToAddModList->list.array[cnt]; int DRB_id = drb->drb_Identity; - if (rrcNB->active_DRBs[DRB_id]) { + if (rrcNB->status_DRBs[DRB_id] == RB_ESTABLISHED) { AssertFatal(drb->reestablishPDCP == NULL, "reestablishPDCP not yet implemented\n"); AssertFatal(drb->recoverPDCP == NULL, "recoverPDCP not yet implemented\n"); if (drb->pdcp_Config && drb->pdcp_Config->t_Reordering) @@ -1338,7 +1271,7 @@ static void nr_rrc_ue_process_RadioBearerConfig(NR_UE_RRC_INST_t *ue_rrc, if (drb->cnAssociation) AssertFatal(drb->cnAssociation->choice.sdap_Config == NULL, "SDAP reconfiguration not yet implemented\n"); } else { - rrcNB->active_DRBs[DRB_id] = true; + rrcNB->status_DRBs[DRB_id] = RB_ESTABLISHED; add_drb(false, rnti, radioBearerConfig->drb_ToAddModList->list.array[cnt], diff --git a/openair2/RRC/NR_UE/rrc_defs.h b/openair2/RRC/NR_UE/rrc_defs.h index 5e04b6ce4a..c702105a4c 100644 --- a/openair2/RRC/NR_UE/rrc_defs.h +++ b/openair2/RRC/NR_UE/rrc_defs.h @@ -191,7 +191,7 @@ typedef struct rrcPerNB { NR_MeasIdToAddMod_t *MeasId[MAX_MEAS_ID]; NR_MeasGapConfig_t *measGapConfig; NR_UE_RRC_SRB_INFO_t Srb[NR_NUM_SRB]; - bool active_DRBs[MAX_DRBS_PER_UE]; + NR_RB_status_t status_DRBs[MAX_DRBS_PER_UE]; bool active_RLC_entity[NR_MAX_NUM_LCID]; NR_UE_RRC_SI_INFO SInfo; NR_RSRP_Range_t s_measure; @@ -201,7 +201,6 @@ typedef struct NR_UE_RRC_INST_s { NR_MeasConfig_t *meas_config; NR_CellGroupConfig_t *cell_group_config; NR_ServingCellConfigCommonSIB_t *servingCellConfigCommonSIB; - NR_CellGroupConfig_t *scell_group_config; NR_RadioBearerConfig_t *radio_bearer_config; rrcPerNB_t perNB[NB_CNX_UE]; @@ -215,9 +214,8 @@ typedef struct NR_UE_RRC_INST_s { // NR_MIB_t *mib; - // active BWPs - NR_BWP_DownlinkDedicated_t *bwpd; - NR_BWP_UplinkDedicated_t *ubwpd; + NR_BWP_Id_t dl_bwp_id; + NR_BWP_Id_t ul_bwp_id; /* KeNB as computed from parameters within USIM card */ uint8_t kgnb[32]; diff --git a/openair2/RRC/NR_UE/rrc_proto.h b/openair2/RRC/NR_UE/rrc_proto.h index 565b9e813e..2d9d19423c 100644 --- a/openair2/RRC/NR_UE/rrc_proto.h +++ b/openair2/RRC/NR_UE/rrc_proto.h @@ -68,6 +68,10 @@ void init_nsa_message (NR_UE_RRC_INST_t *rrc, char* reconfig_file, char* rbconfi void process_nsa_message(NR_UE_RRC_INST_t *rrc, nsa_message_t nsa_message_type, void *message, int msg_len); +void nr_rrc_cellgroup_configuration(rrcPerNB_t *rrcNB, + instance_t instance, + NR_CellGroupConfig_t *cellGroupConfig); + /**\brief interface between MAC and RRC thru SRB0 (RLC TM/no PDCP) \param module_id module id \param CC_id component carrier id From 848f5767d79908801871ac1dda9c74c08e06aee8 Mon Sep 17 00:00:00 2001 From: francescomani Date: Mon, 23 Oct 2023 17:30:14 +0200 Subject: [PATCH 26/43] unified handling of cellgroup config at MAC --- openair1/SIMULATION/NR_PHY/dlsim.c | 2 +- openair1/SIMULATION/NR_PHY/ulsim.c | 1 - openair2/LAYER2/NR_MAC_UE/config_ue.c | 43 ++++++++------------------- openair2/LAYER2/NR_MAC_UE/mac_proto.h | 10 ++----- openair2/RRC/NR_UE/rrc_UE.c | 12 ++------ openair2/RRC/NR_UE/rrc_defs.h | 2 -- 6 files changed, 18 insertions(+), 52 deletions(-) diff --git a/openair1/SIMULATION/NR_PHY/dlsim.c b/openair1/SIMULATION/NR_PHY/dlsim.c index fd68a3b9c3..fcc7bcc067 100644 --- a/openair1/SIMULATION/NR_PHY/dlsim.c +++ b/openair1/SIMULATION/NR_PHY/dlsim.c @@ -852,7 +852,7 @@ int main(int argc, char **argv) //Configure UE NR_BCCH_BCH_Message_t *mib = get_new_MIB_NR(scc); nr_rrc_mac_config_req_mib(0, 0, mib->message.choice.mib, false); - nr_rrc_mac_config_req_scg(0, 0, secondaryCellGroup); + nr_rrc_mac_config_req_cg(0, 0, secondaryCellGroup); UE_mac->state = UE_CONNECTED; UE_mac->ra.ra_state = RA_SUCCEEDED; diff --git a/openair1/SIMULATION/NR_PHY/ulsim.c b/openair1/SIMULATION/NR_PHY/ulsim.c index 54d69c9611..ba7e09d9f9 100644 --- a/openair1/SIMULATION/NR_PHY/ulsim.c +++ b/openair1/SIMULATION/NR_PHY/ulsim.c @@ -691,7 +691,6 @@ int main(int argc, char *argv[]) //Configure UE NR_UE_RRC_INST_t rrcue = {0}; - rrcue.scell_group_config = secondaryCellGroup; nr_l2_init_ue(&rrcue); NR_UE_MAC_INST_t* UE_mac = get_mac_inst(0); diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index c93b607f9e..dd9fc930a7 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -564,8 +564,11 @@ void configure_current_BWP(NR_UE_MAC_INST_t *mac, } if (mac->bwp_ulcommon->pucch_ConfigCommon) UL_BWP->pucch_ConfigCommon = mac->bwp_ulcommon->pucch_ConfigCommon->choice.setup; - if (mac->bwp_ulcommon->rach_ConfigCommon) + if (mac->bwp_ulcommon->rach_ConfigCommon) { UL_BWP->rach_ConfigCommon = mac->bwp_ulcommon->rach_ConfigCommon->choice.setup; + // Setup the SSB to Rach Occasions mapping according to the config + build_ssb_to_ro_map(mac); + } if (mac->bwp_dlcommon->pdcch_ConfigCommon) configure_ss_coreset(mac, mac->bwp_dlcommon->pdcch_ConfigCommon->choice.setup, NULL); } @@ -641,8 +644,11 @@ void configure_current_BWP(NR_UE_MAC_INST_t *mac, UL_BWP->configuredGrantConfig = bwp_uplink->bwp_Dedicated->configuredGrantConfig ? bwp_uplink->bwp_Dedicated->configuredGrantConfig->choice.setup : NULL; if (bwp_uplink->bwp_Common->pucch_ConfigCommon) UL_BWP->pucch_ConfigCommon = bwp_uplink->bwp_Common->pucch_ConfigCommon->choice.setup; - if (bwp_uplink->bwp_Common->rach_ConfigCommon) + if (bwp_uplink->bwp_Common->rach_ConfigCommon) { UL_BWP->rach_ConfigCommon = bwp_uplink->bwp_Common->rach_ConfigCommon->choice.setup; + // Setup the SSB to Rach Occasions mapping according to the config + build_ssb_to_ro_map(mac); + } } else { UL_BWP->tdaList_Common = mac->bwp_ulcommon->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList; @@ -726,8 +732,6 @@ void nr_rrc_mac_config_req_sib1(module_id_t module_id, if(mac->state < UE_CONNECTED) configure_current_BWP(mac, scc, NULL); - // Setup the SSB to Rach Occasionsif (cell_group_config->spCellConfig) { mapping according to the config - build_ssb_to_ro_map(mac); if (!get_softmodem_params()->emulate_l1) mac->if_module->phy_config_request(&mac->phy_config); mac->phy_config_request_sent = true; @@ -768,49 +772,26 @@ void handle_reconfiguration_with_sync(NR_UE_MAC_INST_t *mac, } } -void nr_rrc_mac_config_req_mcg(module_id_t module_id, - int cc_idP, - NR_CellGroupConfig_t *cell_group_config) +void nr_rrc_mac_config_req_cg(module_id_t module_id, + int cc_idP, + NR_CellGroupConfig_t *cell_group_config) { LOG_I(MAC,"Applying CellGroupConfig from gNodeB\n"); AssertFatal(cell_group_config, "CellGroupConfig should not be NULL\n"); NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); mac->cg = cell_group_config; + if (cell_group_config->spCellConfig) mac->servCellIndex = cell_group_config->spCellConfig->servCellIndex ? *cell_group_config->spCellConfig->servCellIndex : 0; else mac->servCellIndex = 0; mac->crossCarrierSchedulingConfig = cell_group_config->spCellConfig->spCellConfigDedicated->crossCarrierSchedulingConfig; - mac->scheduling_info.periodicBSR_SF = MAC_UE_BSR_TIMER_NOT_RUNNING; - mac->scheduling_info.retxBSR_SF = MAC_UE_BSR_TIMER_NOT_RUNNING; - mac->BSR_reporting_active = NR_BSR_TRIGGER_NONE; - LOG_D(MAC, "[UE %d]: periodic BSR %d (SF), retx BSR %d (SF)\n", - module_id, - mac->scheduling_info.periodicBSR_SF, - mac->scheduling_info.retxBSR_SF); if (cell_group_config->spCellConfig && cell_group_config->spCellConfig->reconfigurationWithSync) { LOG_A(NR_MAC, "Received the reconfigurationWithSync in %s\n", __FUNCTION__); handle_reconfiguration_with_sync(mac, module_id, cc_idP, cell_group_config->spCellConfig->reconfigurationWithSync); } configure_current_BWP(mac, NULL, cell_group_config); -} - -void nr_rrc_mac_config_req_scg(module_id_t module_id, - int cc_idP, - NR_CellGroupConfig_t *scell_group_config) -{ - NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); - AssertFatal(scell_group_config, "scell_group_config cannot be NULL\n"); - - mac->cg = scell_group_config; - mac->servCellIndex = *scell_group_config->spCellConfig->servCellIndex; - mac->crossCarrierSchedulingConfig = scell_group_config->spCellConfig->spCellConfigDedicated->crossCarrierSchedulingConfig; - if (scell_group_config->spCellConfig->reconfigurationWithSync) - handle_reconfiguration_with_sync(mac, module_id, cc_idP, scell_group_config->spCellConfig->reconfigurationWithSync); - configure_current_BWP(mac, NULL, scell_group_config); if (!mac->dl_config_request || !mac->ul_config_request) ue_init_config_request(mac, mac->current_DL_BWP.scs); - // Setup the SSB to Rach Occasions mapping according to the config - build_ssb_to_ro_map(mac); } diff --git a/openair2/LAYER2/NR_MAC_UE/mac_proto.h b/openair2/LAYER2/NR_MAC_UE/mac_proto.h index 60c64ead12..03e2177edd 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_proto.h @@ -67,13 +67,9 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id, struct NR_CellGroupConfig__rlc_BearerToAddModList *rlc_toadd_list, struct NR_CellGroupConfig__rlc_BearerToReleaseList *rlc_torelease_list); -void nr_rrc_mac_config_req_scg(module_id_t module_id, - int cc_idP, - NR_CellGroupConfig_t *scell_group_config); - -void nr_rrc_mac_config_req_mcg(module_id_t module_id, - int cc_idP, - NR_CellGroupConfig_t *scell_group_config); +void nr_rrc_mac_config_req_cg(module_id_t module_id, + int cc_idP, + NR_CellGroupConfig_t *cell_group_config); void nr_rrc_mac_config_req_mib(module_id_t module_id, int cc_idP, diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c index 53abface41..ccd92df77a 100644 --- a/openair2/RRC/NR_UE/rrc_UE.c +++ b/openair2/RRC/NR_UE/rrc_UE.c @@ -229,7 +229,7 @@ static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, cellGroupConfig); if (!get_softmodem_params()->sa) - nr_rrc_mac_config_req_scg(0, 0, cellGroupConfig); + nr_rrc_mac_config_req_cg(0, 0, cellGroupConfig); } if (ie->measConfig != NULL) { LOG_I(NR_RRC, "Measurement Configuration is present\n"); @@ -709,7 +709,6 @@ static int8_t nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message(instance_t instance, // configure timers and constant nr_rrc_set_sib1_timers_and_constants(&rrc->timers_and_constants, sib1); // take ServingCellConfigCommon and configure L1/L2 - rrc->servingCellConfigCommonSIB = sib1->servingCellConfigCommon; nr_rrc_mac_config_req_sib1(instance, 0, sib1->si_SchedulingInfo, sib1->servingCellConfigCommon); break; case NR_BCCH_DL_SCH_MessageType__c1_PR_systemInformation: @@ -773,13 +772,6 @@ void nr_rrc_cellgroup_configuration(rrcPerNB_t *rrcNB, NR_CellGroupConfig_t *cellGroupConfig) { NR_UE_RRC_INST_t *rrc = &NR_UE_rrc_inst[instance]; - if(rrc->cell_group_config == NULL) - rrc->cell_group_config = cellGroupConfig; - else { - ASN_STRUCT_FREE(asn_DEF_NR_CellGroupConfig, rrc->cell_group_config); - rrc->cell_group_config = cellGroupConfig; - } - NR_UE_Timers_Constants_t *tac = &rrc->timers_and_constants; NR_SpCellConfig_t *spCellConfig = cellGroupConfig->spCellConfig; @@ -860,7 +852,7 @@ static void nr_rrc_ue_process_masterCellGroup(instance_t instance, cellGroupConfig); LOG_D(RRC,"Sending CellGroupConfig to MAC\n"); - nr_rrc_mac_config_req_mcg(instance, 0, cellGroupConfig); + nr_rrc_mac_config_req_cg(instance, 0, cellGroupConfig); } static void rrc_ue_generate_RRCSetupComplete(instance_t instance, rnti_t rnti, const uint8_t Transaction_id, uint8_t sel_plmn_id) diff --git a/openair2/RRC/NR_UE/rrc_defs.h b/openair2/RRC/NR_UE/rrc_defs.h index c702105a4c..7160ff19c7 100644 --- a/openair2/RRC/NR_UE/rrc_defs.h +++ b/openair2/RRC/NR_UE/rrc_defs.h @@ -199,8 +199,6 @@ typedef struct rrcPerNB { typedef struct NR_UE_RRC_INST_s { NR_MeasConfig_t *meas_config; - NR_CellGroupConfig_t *cell_group_config; - NR_ServingCellConfigCommonSIB_t *servingCellConfigCommonSIB; NR_RadioBearerConfig_t *radio_bearer_config; rrcPerNB_t perNB[NB_CNX_UE]; From 2715c7efdd4563fe6c20bd1dd01650e6106665ba Mon Sep 17 00:00:00 2001 From: francescomani Date: Tue, 24 Oct 2023 12:29:57 +0200 Subject: [PATCH 27/43] improve MAC configuration from RRC --- openair2/LAYER2/NR_MAC_COMMON/nr_mac.h | 2 - openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c | 9 +- openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h | 5 +- openair2/LAYER2/NR_MAC_UE/config_ue.c | 272 ++++++++++-------- openair2/LAYER2/NR_MAC_UE/mac_defs.h | 8 +- openair2/LAYER2/NR_MAC_UE/mac_proto.h | 5 +- .../NR_MAC_UE/nr_ue_dci_configuration.c | 3 + .../LAYER2/NR_MAC_UE/nr_ue_power_procedures.c | 2 +- openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c | 11 +- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c | 3 + .../LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c | 1 + .../LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c | 1 + .../NR_MAC_gNB/gNB_scheduler_primitives.c | 10 +- .../LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c | 1 + openair2/LAYER2/NR_MAC_gNB/mac_proto.h | 1 + openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h | 1 + 16 files changed, 198 insertions(+), 137 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h b/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h index d33390d75a..e5c7e7e04b 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac.h @@ -570,7 +570,6 @@ typedef struct NR_UE_DL_BWP { NR_PDSCH_TimeDomainResourceAllocationList_t *tdaList_Common; NR_PDSCH_Config_t *pdsch_Config; NR_PDSCH_ServingCellConfig_t *pdsch_servingcellconfig; - long *pdsch_HARQ_ACK_Codebook; uint8_t mcsTableIdx; nr_dci_format_t dci_format; int bw_tbslbrm; @@ -593,7 +592,6 @@ typedef struct NR_UE_UL_BWP { NR_PUCCH_Config_t *pucch_Config; NR_PUCCH_ConfigCommon_t *pucch_ConfigCommon; NR_UplinkConfig_t *supplementaryUplink; - long *harq_ACK_SpatialBundlingPUCCH; NR_CSI_MeasConfig_t *csi_MeasConfig; NR_SRS_Config_t *srs_Config; long *msg3_DeltaPreamble; diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c index 5498a2c9ae..867ec10b05 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c @@ -3279,6 +3279,7 @@ uint16_t get_rb_bwp_dci(nr_dci_format_t format, uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, const NR_UE_UL_BWP_t *UL_BWP, NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig, + long pdsch_HARQ_ACK_Codebook, dci_pdu_rel15_t *dci_pdu, nr_dci_format_t format, nr_rnti_type_t rnti_type, @@ -3376,7 +3377,7 @@ uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, size += 1; } // 1st DAI - if (DL_BWP->pdsch_HARQ_ACK_Codebook && *DL_BWP->pdsch_HARQ_ACK_Codebook == NR_PhysicalCellGroupConfig__pdsch_HARQ_ACK_Codebook_dynamic) + if (pdsch_HARQ_ACK_Codebook == NR_PhysicalCellGroupConfig__pdsch_HARQ_ACK_Codebook_dynamic) dci_pdu->dai[0].nbits = 2; else dci_pdu->dai[0].nbits = 1; @@ -3548,7 +3549,7 @@ uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, // HARQ PID size += 4; // DAI - if (DL_BWP->pdsch_HARQ_ACK_Codebook && *DL_BWP->pdsch_HARQ_ACK_Codebook == NR_PhysicalCellGroupConfig__pdsch_HARQ_ACK_Codebook_dynamic) { // FIXME in case of more than one serving cell + if (pdsch_HARQ_ACK_Codebook == NR_PhysicalCellGroupConfig__pdsch_HARQ_ACK_Codebook_dynamic) { // FIXME in case of more than one serving cell dci_pdu->dai[0].nbits = 2; size += dci_pdu->dai[0].nbits; } @@ -4734,7 +4735,7 @@ uint16_t compute_pucch_prb_size(uint8_t format, } int get_dlbw_tbslbrm(int scc_bwpsize, - NR_ServingCellConfig_t *servingCellConfig) + const NR_ServingCellConfig_t *servingCellConfig) { int bw = scc_bwpsize; if (servingCellConfig) { @@ -4752,7 +4753,7 @@ int get_dlbw_tbslbrm(int scc_bwpsize, } int get_ulbw_tbslbrm(int scc_bwpsize, - NR_ServingCellConfig_t *servingCellConfig) + const NR_ServingCellConfig_t *servingCellConfig) { int bw = scc_bwpsize; if (servingCellConfig) { diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h index 059dc31acd..c460119612 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h @@ -96,6 +96,7 @@ NR_tda_info_t get_dl_tda_info(const NR_UE_DL_BWP_t *dl_BWP, int ss_type, int tda uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, const NR_UE_UL_BWP_t *UL_BWP, NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig, + long pdsch_HARQ_ACK_Codebook, dci_pdu_rel15_t *dci_pdu, nr_dci_format_t format, nr_rnti_type_t rnti_type, @@ -196,10 +197,10 @@ uint32_t nr_get_code_rate_ul(uint8_t Imcs, uint8_t table_idx); uint16_t get_nr_srs_offset(NR_SRS_PeriodicityAndOffset_t periodicityAndOffset); int get_dlbw_tbslbrm(int scc_bwpsize, - NR_ServingCellConfig_t *servingCellConfig); + const NR_ServingCellConfig_t *servingCellConfig); int get_ulbw_tbslbrm(int scc_bwpsize, - NR_ServingCellConfig_t *servingCellConfig); + const NR_ServingCellConfig_t *servingCellConfig); uint32_t nr_compute_tbslbrm(uint16_t table, uint16_t nb_rb, diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index dd9fc930a7..6cb0ef23ef 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -533,29 +533,52 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id, } } +void configure_scc(NR_UE_MAC_INST_t *mac, + NR_ServingCellConfigCommonSIB_t *scc_sib, + NR_ServingCellConfigCommon_t *scc) +{ + // SCC is provided when receiving reconfigurationWithSync + // SCC_SIB is provided when receiving SIB1 + // So never at the same time + if (scc) { + if (scc->physCellId) + mac->physCellId = *scc->physCellId; + mac->bwp_dlcommon = scc->downlinkConfigCommon->initialDownlinkBWP; + mac->bwp_ulcommon = scc->uplinkConfigCommon->initialUplinkBWP; + mac->dmrs_TypeA_Position = scc->dmrs_TypeA_Position; + mac->tdd_UL_DL_ConfigurationCommon = scc->tdd_UL_DL_ConfigurationCommon; + mac->p_Max = scc->uplinkConfigCommon->frequencyInfoUL->p_Max ? + *scc->uplinkConfigCommon->frequencyInfoUL->p_Max : + INT_MIN; + mac->nr_band = *scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0]; + } + if (scc_sib) { + mac->bwp_dlcommon = &scc_sib->downlinkConfigCommon.initialDownlinkBWP; + mac->bwp_ulcommon = &scc_sib->uplinkConfigCommon->initialUplinkBWP; + mac->tdd_UL_DL_ConfigurationCommon = scc_sib->tdd_UL_DL_ConfigurationCommon; + mac->p_Max = scc_sib->uplinkConfigCommon->frequencyInfoUL.p_Max ? + *scc_sib->uplinkConfigCommon->frequencyInfoUL.p_Max : + INT_MIN; + mac->nr_band = *scc_sib->downlinkConfigCommon.frequencyInfoDL.frequencyBandList.list.array[0]->freqBandIndicatorNR; + } +} + void configure_current_BWP(NR_UE_MAC_INST_t *mac, NR_ServingCellConfigCommonSIB_t *scc, - NR_CellGroupConfig_t *cell_group_config) + const NR_ServingCellConfig_t *spCellConfigDedicated) { NR_UE_DL_BWP_t *DL_BWP = &mac->current_DL_BWP; NR_UE_UL_BWP_t *UL_BWP = &mac->current_UL_BWP; NR_BWP_t dl_genericParameters = {0}; NR_BWP_t ul_genericParameters = {0}; - DL_BWP->n_dl_bwp = 0; - UL_BWP->n_ul_bwp = 0; if(scc) { - DL_BWP->bwp_id = 0; - UL_BWP->bwp_id = 0; - mac->bwp_dlcommon = &scc->downlinkConfigCommon.initialDownlinkBWP; - mac->bwp_ulcommon = &scc->uplinkConfigCommon->initialUplinkBWP; dl_genericParameters = mac->bwp_dlcommon->genericParameters; - if(scc->uplinkConfigCommon) - ul_genericParameters = scc->uplinkConfigCommon->initialUplinkBWP.genericParameters; + if(mac->bwp_ulcommon) + ul_genericParameters = mac->bwp_ulcommon->genericParameters; else ul_genericParameters = mac->bwp_dlcommon->genericParameters; - DL_BWP->pdsch_Config = NULL; if (mac->bwp_dlcommon->pdsch_ConfigCommon) DL_BWP->tdaList_Common = mac->bwp_dlcommon->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList; if (mac->bwp_ulcommon->pusch_ConfigCommon) { @@ -573,99 +596,86 @@ void configure_current_BWP(NR_UE_MAC_INST_t *mac, configure_ss_coreset(mac, mac->bwp_dlcommon->pdcch_ConfigCommon->choice.setup, NULL); } - NR_ServingCellConfig_t *spCellConfigDedicated = NULL; + if(spCellConfigDedicated) { + UL_BWP->supplementaryUplink = spCellConfigDedicated->supplementaryUplink; + UL_BWP->csi_MeasConfig = spCellConfigDedicated->csi_MeasConfig ? spCellConfigDedicated->csi_MeasConfig->choice.setup : NULL; + UL_BWP->pusch_servingcellconfig = + spCellConfigDedicated->uplinkConfig && spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig ? spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig->choice.setup : NULL; + DL_BWP->pdsch_servingcellconfig = spCellConfigDedicated->pdsch_ServingCellConfig ? spCellConfigDedicated->pdsch_ServingCellConfig->choice.setup : NULL; + + if (spCellConfigDedicated->firstActiveDownlinkBWP_Id) + DL_BWP->bwp_id = *spCellConfigDedicated->firstActiveDownlinkBWP_Id; + if (spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id) + UL_BWP->bwp_id = *spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id; + + NR_BWP_Downlink_t *bwp_downlink = NULL; + const struct NR_ServingCellConfig__downlinkBWP_ToAddModList *bwpList = spCellConfigDedicated->downlinkBWP_ToAddModList; + if (bwpList) + DL_BWP->n_dl_bwp = bwpList->list.count; + if (bwpList && DL_BWP->bwp_id > 0) { + for (int i = 0; i < bwpList->list.count; i++) { + bwp_downlink = bwpList->list.array[i]; + if(bwp_downlink->bwp_Id == DL_BWP->bwp_id) + break; + } + AssertFatal(bwp_downlink != NULL,"Couldn't find DLBWP corresponding to BWP ID %ld\n", DL_BWP->bwp_id); + dl_genericParameters = bwp_downlink->bwp_Common->genericParameters; + DL_BWP->pdsch_Config = bwp_downlink->bwp_Dedicated->pdsch_Config->choice.setup; + DL_BWP->tdaList_Common = bwp_downlink->bwp_Common->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList; + configure_ss_coreset(mac, + bwp_downlink->bwp_Common->pdcch_ConfigCommon ? bwp_downlink->bwp_Common->pdcch_ConfigCommon->choice.setup : NULL, + bwp_downlink->bwp_Dedicated->pdcch_Config ? bwp_downlink->bwp_Dedicated->pdcch_Config->choice.setup : NULL); - if(cell_group_config) { - if (cell_group_config->physicalCellGroupConfig) { - DL_BWP->pdsch_HARQ_ACK_Codebook = &cell_group_config->physicalCellGroupConfig->pdsch_HARQ_ACK_Codebook; - UL_BWP->harq_ACK_SpatialBundlingPUCCH = cell_group_config->physicalCellGroupConfig->harq_ACK_SpatialBundlingPUCCH; } - if (cell_group_config->spCellConfig && - cell_group_config->spCellConfig->spCellConfigDedicated) { - spCellConfigDedicated = cell_group_config->spCellConfig->spCellConfigDedicated; - UL_BWP->supplementaryUplink = spCellConfigDedicated->supplementaryUplink; - UL_BWP->csi_MeasConfig = spCellConfigDedicated->csi_MeasConfig ? spCellConfigDedicated->csi_MeasConfig->choice.setup : NULL; - UL_BWP->pusch_servingcellconfig = - spCellConfigDedicated->uplinkConfig && spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig ? spCellConfigDedicated->uplinkConfig->pusch_ServingCellConfig->choice.setup : NULL; - DL_BWP->pdsch_servingcellconfig = spCellConfigDedicated->pdsch_ServingCellConfig ? spCellConfigDedicated->pdsch_ServingCellConfig->choice.setup : NULL; + else { + dl_genericParameters = mac->bwp_dlcommon->genericParameters; + DL_BWP->pdsch_Config = spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup; + DL_BWP->tdaList_Common = mac->bwp_dlcommon->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList; + configure_ss_coreset(mac, + mac->bwp_dlcommon->pdcch_ConfigCommon ? mac->bwp_dlcommon->pdcch_ConfigCommon->choice.setup : NULL, + spCellConfigDedicated->initialDownlinkBWP->pdcch_Config ? spCellConfigDedicated->initialDownlinkBWP->pdcch_Config->choice.setup : NULL); + } - if (spCellConfigDedicated->firstActiveDownlinkBWP_Id) - DL_BWP->bwp_id = *spCellConfigDedicated->firstActiveDownlinkBWP_Id; - if (spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id) - UL_BWP->bwp_id = *spCellConfigDedicated->uplinkConfig->firstActiveUplinkBWP_Id; - - NR_BWP_Downlink_t *bwp_downlink = NULL; - const struct NR_ServingCellConfig__downlinkBWP_ToAddModList *bwpList = spCellConfigDedicated->downlinkBWP_ToAddModList; - if (bwpList) - DL_BWP->n_dl_bwp = bwpList->list.count; - if (bwpList && DL_BWP->bwp_id > 0) { - for (int i = 0; i < bwpList->list.count; i++) { - bwp_downlink = bwpList->list.array[i]; - if(bwp_downlink->bwp_Id == DL_BWP->bwp_id) - break; - } - AssertFatal(bwp_downlink != NULL,"Couldn't find DLBWP corresponding to BWP ID %ld\n", DL_BWP->bwp_id); - dl_genericParameters = bwp_downlink->bwp_Common->genericParameters; - DL_BWP->pdsch_Config = bwp_downlink->bwp_Dedicated->pdsch_Config->choice.setup; - DL_BWP->tdaList_Common = bwp_downlink->bwp_Common->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList; - configure_ss_coreset(mac, - bwp_downlink->bwp_Common->pdcch_ConfigCommon ? bwp_downlink->bwp_Common->pdcch_ConfigCommon->choice.setup : NULL, - bwp_downlink->bwp_Dedicated->pdcch_Config ? bwp_downlink->bwp_Dedicated->pdcch_Config->choice.setup : NULL); + UL_BWP->msg3_DeltaPreamble = mac->bwp_ulcommon->pusch_ConfigCommon->choice.setup->msg3_DeltaPreamble; + NR_BWP_Uplink_t *bwp_uplink = NULL; + const struct NR_UplinkConfig__uplinkBWP_ToAddModList *ubwpList = spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList; + if (ubwpList) + UL_BWP->n_ul_bwp = ubwpList->list.count; + if (ubwpList && UL_BWP->bwp_id > 0) { + for (int i = 0; i < ubwpList->list.count; i++) { + bwp_uplink = ubwpList->list.array[i]; + if(bwp_uplink->bwp_Id == UL_BWP->bwp_id) + break; } - else { - dl_genericParameters = mac->bwp_dlcommon->genericParameters; - DL_BWP->pdsch_Config = spCellConfigDedicated->initialDownlinkBWP->pdsch_Config->choice.setup; - DL_BWP->tdaList_Common = mac->bwp_dlcommon->pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList; - configure_ss_coreset(mac, - mac->bwp_dlcommon->pdcch_ConfigCommon ? mac->bwp_dlcommon->pdcch_ConfigCommon->choice.setup : NULL, - spCellConfigDedicated->initialDownlinkBWP->pdcch_Config ? spCellConfigDedicated->initialDownlinkBWP->pdcch_Config->choice.setup : NULL); - - } - - UL_BWP->msg3_DeltaPreamble = mac->bwp_ulcommon->pusch_ConfigCommon->choice.setup->msg3_DeltaPreamble; - - NR_BWP_Uplink_t *bwp_uplink = NULL; - const struct NR_UplinkConfig__uplinkBWP_ToAddModList *ubwpList = spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList; - if (ubwpList) - UL_BWP->n_ul_bwp = ubwpList->list.count; - if (ubwpList && UL_BWP->bwp_id > 0) { - for (int i = 0; i < ubwpList->list.count; i++) { - bwp_uplink = ubwpList->list.array[i]; - if(bwp_uplink->bwp_Id == UL_BWP->bwp_id) - break; - } - AssertFatal(bwp_uplink != NULL,"Couldn't find ULBWP corresponding to BWP ID %ld\n",UL_BWP->bwp_id); - ul_genericParameters = bwp_uplink->bwp_Common->genericParameters; - UL_BWP->tdaList_Common = bwp_uplink->bwp_Common->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList; - UL_BWP->pusch_Config = bwp_uplink->bwp_Dedicated->pusch_Config->choice.setup; - UL_BWP->pucch_Config = bwp_uplink->bwp_Dedicated->pucch_Config->choice.setup; - UL_BWP->srs_Config = bwp_uplink->bwp_Dedicated->srs_Config->choice.setup; - UL_BWP->configuredGrantConfig = bwp_uplink->bwp_Dedicated->configuredGrantConfig ? bwp_uplink->bwp_Dedicated->configuredGrantConfig->choice.setup : NULL; - if (bwp_uplink->bwp_Common->pucch_ConfigCommon) - UL_BWP->pucch_ConfigCommon = bwp_uplink->bwp_Common->pucch_ConfigCommon->choice.setup; - if (bwp_uplink->bwp_Common->rach_ConfigCommon) { - UL_BWP->rach_ConfigCommon = bwp_uplink->bwp_Common->rach_ConfigCommon->choice.setup; - // Setup the SSB to Rach Occasions mapping according to the config - build_ssb_to_ro_map(mac); - } - } - else { - UL_BWP->tdaList_Common = mac->bwp_ulcommon->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList; - UL_BWP->pusch_Config = spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pusch_Config->choice.setup; - UL_BWP->pucch_Config = spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pucch_Config->choice.setup; - UL_BWP->srs_Config = spCellConfigDedicated->uplinkConfig->initialUplinkBWP->srs_Config->choice.setup; - UL_BWP->configuredGrantConfig = - spCellConfigDedicated->uplinkConfig->initialUplinkBWP->configuredGrantConfig ? spCellConfigDedicated->uplinkConfig->initialUplinkBWP->configuredGrantConfig->choice.setup : NULL; - ul_genericParameters = mac->bwp_ulcommon->genericParameters; - if (mac->bwp_ulcommon->pucch_ConfigCommon) - UL_BWP->pucch_ConfigCommon = mac->bwp_ulcommon->pucch_ConfigCommon->choice.setup; - if (mac->bwp_ulcommon->rach_ConfigCommon) - UL_BWP->rach_ConfigCommon = mac->bwp_ulcommon->rach_ConfigCommon->choice.setup; + AssertFatal(bwp_uplink != NULL,"Couldn't find ULBWP corresponding to BWP ID %ld\n",UL_BWP->bwp_id); + ul_genericParameters = bwp_uplink->bwp_Common->genericParameters; + UL_BWP->tdaList_Common = bwp_uplink->bwp_Common->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList; + UL_BWP->pusch_Config = bwp_uplink->bwp_Dedicated->pusch_Config->choice.setup; + UL_BWP->pucch_Config = bwp_uplink->bwp_Dedicated->pucch_Config->choice.setup; + UL_BWP->srs_Config = bwp_uplink->bwp_Dedicated->srs_Config->choice.setup; + UL_BWP->configuredGrantConfig = bwp_uplink->bwp_Dedicated->configuredGrantConfig ? bwp_uplink->bwp_Dedicated->configuredGrantConfig->choice.setup : NULL; + if (bwp_uplink->bwp_Common->pucch_ConfigCommon) + UL_BWP->pucch_ConfigCommon = bwp_uplink->bwp_Common->pucch_ConfigCommon->choice.setup; + if (bwp_uplink->bwp_Common->rach_ConfigCommon) { + UL_BWP->rach_ConfigCommon = bwp_uplink->bwp_Common->rach_ConfigCommon->choice.setup; + // Setup the SSB to Rach Occasions mapping according to the config + build_ssb_to_ro_map(mac); } } - else - AssertFatal(1==0,"We shouldn't end here in configuring BWP\n"); + else { + UL_BWP->tdaList_Common = mac->bwp_ulcommon->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList; + UL_BWP->pusch_Config = spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pusch_Config->choice.setup; + UL_BWP->pucch_Config = spCellConfigDedicated->uplinkConfig->initialUplinkBWP->pucch_Config->choice.setup; + UL_BWP->srs_Config = spCellConfigDedicated->uplinkConfig->initialUplinkBWP->srs_Config->choice.setup; + UL_BWP->configuredGrantConfig = + spCellConfigDedicated->uplinkConfig->initialUplinkBWP->configuredGrantConfig ? spCellConfigDedicated->uplinkConfig->initialUplinkBWP->configuredGrantConfig->choice.setup : NULL; + ul_genericParameters = mac->bwp_ulcommon->genericParameters; + if (mac->bwp_ulcommon->pucch_ConfigCommon) + UL_BWP->pucch_ConfigCommon = mac->bwp_ulcommon->pucch_ConfigCommon->choice.setup; + if (mac->bwp_ulcommon->rach_ConfigCommon) + UL_BWP->rach_ConfigCommon = mac->bwp_ulcommon->rach_ConfigCommon->choice.setup; + } } DL_BWP->scs = dl_genericParameters.subcarrierSpacing; @@ -717,15 +727,15 @@ void nr_rrc_mac_config_req_mib(module_id_t module_id, void nr_rrc_mac_config_req_sib1(module_id_t module_id, int cc_idP, - struct NR_SI_SchedulingInfo *si_SchedulingInfo, + NR_SI_SchedulingInfo_t *si_SchedulingInfo, NR_ServingCellConfigCommonSIB_t *scc) { NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); AssertFatal(scc, "SIB1 SCC should not be NULL\n"); - mac->tdd_UL_DL_ConfigurationCommon = scc->tdd_UL_DL_ConfigurationCommon; - mac->p_Max = scc->uplinkConfigCommon->frequencyInfoUL.p_Max; + + configure_scc(mac, scc, NULL); + mac->si_SchedulingInfo = si_SchedulingInfo; - mac->nr_band = *scc->downlinkConfigCommon.frequencyInfoDL.frequencyBandList.list.array[0]->freqBandIndicatorNR; config_common_ue_sa(mac, scc, module_id, cc_idP); // configure BWP only if it is a SIB1 detection in non connected state (after sync) // not if it is a periodical update of SIB1 (no change of BWP in that case) @@ -740,23 +750,17 @@ void nr_rrc_mac_config_req_sib1(module_id_t module_id, void handle_reconfiguration_with_sync(NR_UE_MAC_INST_t *mac, module_id_t module_id, int cc_idP, - struct NR_ReconfigurationWithSync *reconfigurationWithSync) + const NR_ReconfigurationWithSync_t *reconfigurationWithSync) { RA_config_t *ra = &mac->ra; if (reconfigurationWithSync->rach_ConfigDedicated) { ra->rach_ConfigDedicated = reconfigurationWithSync->rach_ConfigDedicated->choice.uplink; } - NR_ServingCellConfigCommon_t *scc = reconfigurationWithSync->spCellConfigCommon; - mac->bwp_dlcommon = scc->downlinkConfigCommon->initialDownlinkBWP; - mac->bwp_ulcommon = scc->uplinkConfigCommon->initialUplinkBWP; - mac->dmrs_TypeA_Position = scc->dmrs_TypeA_Position; - mac->tdd_UL_DL_ConfigurationCommon = scc->tdd_UL_DL_ConfigurationCommon; - mac->p_Max = scc->uplinkConfigCommon->frequencyInfoUL->p_Max; - mac->nr_band = *scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0]; - mac->physCellId = *scc->physCellId; + + configure_scc(mac, NULL, reconfigurationWithSync->spCellConfigCommon); mac->crnti = reconfigurationWithSync->newUE_Identity; LOG_I(NR_MAC, "Configuring CRNTI %x\n", mac->crnti); - config_common_ue(mac, scc, module_id, cc_idP); + config_common_ue(mac, reconfigurationWithSync->spCellConfigCommon, module_id, cc_idP); mac->state = UE_NOT_SYNC; ra->ra_state = RA_UE_IDLE; @@ -772,6 +776,25 @@ void handle_reconfiguration_with_sync(NR_UE_MAC_INST_t *mac, } } +void configure_physicalcellgroup(NR_UE_MAC_INST_t *mac, + const NR_PhysicalCellGroupConfig_t *phyConfig) +{ + mac->pdsch_HARQ_ACK_Codebook = phyConfig->pdsch_HARQ_ACK_Codebook; + mac->harq_ACK_SpatialBundlingPUCCH = phyConfig->harq_ACK_SpatialBundlingPUCCH ? true : false; + mac->harq_ACK_SpatialBundlingPUSCH = phyConfig->harq_ACK_SpatialBundlingPUSCH ? true : false; + + NR_P_Max_t *p_NR_FR1 = phyConfig->p_NR_FR1; + NR_P_Max_t *p_UE_FR1 = phyConfig->ext1 ? + phyConfig->ext1->p_UE_FR1 : + NULL; + if (p_NR_FR1 == NULL) + mac->p_Max_alt = p_UE_FR1 == NULL ? INT_MIN : *p_UE_FR1; + else + mac->p_Max_alt = p_UE_FR1 == NULL ? *p_NR_FR1 : + (*p_UE_FR1 < *p_NR_FR1 ? + *p_UE_FR1 : *p_NR_FR1); +} + void nr_rrc_mac_config_req_cg(module_id_t module_id, int cc_idP, NR_CellGroupConfig_t *cell_group_config) @@ -781,17 +804,26 @@ void nr_rrc_mac_config_req_cg(module_id_t module_id, NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); mac->cg = cell_group_config; - if (cell_group_config->spCellConfig) - mac->servCellIndex = cell_group_config->spCellConfig->servCellIndex ? *cell_group_config->spCellConfig->servCellIndex : 0; - else - mac->servCellIndex = 0; - mac->crossCarrierSchedulingConfig = cell_group_config->spCellConfig->spCellConfigDedicated->crossCarrierSchedulingConfig; - - if (cell_group_config->spCellConfig && cell_group_config->spCellConfig->reconfigurationWithSync) { - LOG_A(NR_MAC, "Received the reconfigurationWithSync in %s\n", __FUNCTION__); - handle_reconfiguration_with_sync(mac, module_id, cc_idP, cell_group_config->spCellConfig->reconfigurationWithSync); + if (cell_group_config->mac_CellGroupConfig) { + // TODO handle MAC-CellGroupConfig } - configure_current_BWP(mac, NULL, cell_group_config); + + if (cell_group_config->physicalCellGroupConfig) + configure_physicalcellgroup(mac, cell_group_config->physicalCellGroupConfig); + + if (cell_group_config->spCellConfig) { + NR_SpCellConfig_t *spCellConfig = cell_group_config->spCellConfig; + mac->servCellIndex = spCellConfig->servCellIndex ? *spCellConfig->servCellIndex : 0; + if (spCellConfig->reconfigurationWithSync) { + LOG_A(NR_MAC, "Received reconfigurationWithSync\n"); + handle_reconfiguration_with_sync(mac, module_id, cc_idP, spCellConfig->reconfigurationWithSync); + } + if (spCellConfig->spCellConfigDedicated) { + mac->crossCarrierSchedulingConfig = spCellConfig->spCellConfigDedicated->crossCarrierSchedulingConfig; + configure_current_BWP(mac, NULL, spCellConfig->spCellConfigDedicated); + } + } + if (!mac->dl_config_request || !mac->ul_config_request) ue_init_config_request(mac, mac->current_DL_BWP.scs); } diff --git a/openair2/LAYER2/NR_MAC_UE/mac_defs.h b/openair2/LAYER2/NR_MAC_UE/mac_defs.h index cb91486b97..6182a0bf72 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_defs.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_defs.h @@ -447,6 +447,9 @@ typedef struct { NR_BWP_DownlinkCommon_t *bwp_dlcommon; NR_BWP_UplinkCommon_t *bwp_ulcommon; + bool harq_ACK_SpatialBundlingPUCCH; + bool harq_ACK_SpatialBundlingPUSCH; + NR_UL_TIME_ALIGNMENT_t ul_time_alignment; NR_SearchSpace_t *otherSI_SS; @@ -513,7 +516,10 @@ typedef struct { uint8_t PHR_reporting_active; int dmrs_TypeA_Position; - NR_P_Max_t *p_Max; + int p_Max; + int p_Max_alt; + + long pdsch_HARQ_ACK_Codebook; NR_Type0_PDCCH_CSS_config_t type0_PDCCH_CSS_config; frequency_range_t frequency_range; diff --git a/openair2/LAYER2/NR_MAC_UE/mac_proto.h b/openair2/LAYER2/NR_MAC_UE/mac_proto.h index 03e2177edd..8b5c4b47d5 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_proto.h @@ -78,7 +78,7 @@ void nr_rrc_mac_config_req_mib(module_id_t module_id, void nr_rrc_mac_config_req_sib1(module_id_t module_id, int cc_idP, - struct NR_SI_SchedulingInfo *si_SchedulingInfo, + NR_SI_SchedulingInfo_t *si_SchedulingInfo, NR_ServingCellConfigCommonSIB_t *scc); /**\brief initialization NR UE MAC instance(s), total number of MAC instance based on NB_NR_UE_MAC_INST*/ @@ -86,8 +86,7 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst); /**\brief fetch MAC instance by module_id, within 0 - (NB_NR_UE_MAC_INST-1) \param module_id index of MAC instance(s)*/ -NR_UE_MAC_INST_t *get_mac_inst( - module_id_t module_id); +NR_UE_MAC_INST_t *get_mac_inst(module_id_t module_id); /**\brief called at each slot, slot length based on numerology. now use u=0, scs=15kHz, slot=1ms performs BSR/SR/PHR procedures, random access procedure handler and DLSCH/ULSCH procedures. diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c index 4c281239ec..17ccd6517e 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c @@ -189,6 +189,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, nr_dci_size(current_DL_BWP, current_UL_BWP, mac->crossCarrierSchedulingConfig, + mac->pdsch_HARQ_ACK_Codebook, &temp_pdu, NR_UL_DCI_FORMAT_0_0, rnti_type, @@ -202,6 +203,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, nr_dci_size(current_DL_BWP, current_UL_BWP, mac->crossCarrierSchedulingConfig, + mac->pdsch_HARQ_ACK_Codebook, &temp_pdu, NR_DL_DCI_FORMAT_1_0, rnti_type, @@ -215,6 +217,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, rel15->dci_length_options[i] = nr_dci_size(current_DL_BWP, current_UL_BWP, mac->crossCarrierSchedulingConfig, + mac->pdsch_HARQ_ACK_Codebook, &mac->def_dci_pdu_rel15[dl_config->slot][dci_format], dci_format, rnti_type, diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c index 02c4881898..1c3f1b7b0b 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_power_procedures.c @@ -58,7 +58,7 @@ int nr_get_Pcmax(NR_UE_MAC_INST_t *mac, int Qm, bool powerBoostPi2BPSK, int scs, //TODO configure P-MAX from the upper layers according to 38.331 int p_powerclass = 23; // dBm assuming poweclass 3 UE - int p_emax = mac->p_Max ? *mac->p_Max : 0; + int p_emax = mac->p_Max != INT_MIN ? mac->p_Max : p_powerclass; int delta_P_powerclass = 0; // for powerclass 2 needs to be changed if(mac->p_Max && Qm == 1 && powerBoostPi2BPSK && (nr_band == 40 || nr_band == 41 || nr_band == 77 || nr_band == 78 || nr_band == 79)) { p_emax += 3; diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c index 9251b9b38a..a96860a236 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c @@ -169,6 +169,9 @@ void nr_ue_init_mac(module_id_t module_idP) mac->phy_config_request_sent = false; mac->state = UE_NOT_SYNC; mac->si_window_start = -1; + mac->servCellIndex = 0; + memset(&mac->current_DL_BWP, 0, sizeof(mac->current_DL_BWP)); + memset(&mac->current_UL_BWP, 0, sizeof(mac->current_UL_BWP)); } void nr_ue_mac_default_configs(NR_UE_MAC_INST_t *mac) @@ -1361,7 +1364,8 @@ void nr_ue_configure_pucch(NR_UE_MAC_INST_t *mac, NR_PUCCH_Resource_t *pucchres = pucch->pucch_resource; - if (current_UL_BWP->harq_ACK_SpatialBundlingPUCCH != NULL || *current_DL_BWP->pdsch_HARQ_ACK_Codebook != 1) { + if (mac->harq_ACK_SpatialBundlingPUCCH || + mac->pdsch_HARQ_ACK_Codebook != NR_PhysicalCellGroupConfig__pdsch_HARQ_ACK_Codebook_dynamic) { LOG_E(MAC,"PUCCH Unsupported cell group configuration\n"); return; } else if (current_DL_BWP && current_DL_BWP->pdsch_servingcellconfig && current_DL_BWP->pdsch_servingcellconfig->codeBlockGroupTransmission != NULL) { @@ -2876,6 +2880,11 @@ static uint8_t nr_extract_dci_info(NR_UE_MAC_INST_t *mac, else N_RB = mac->type0_PDCCH_CSS_config.num_rbs; + if (N_RB == 0) { + LOG_E(MAC, "DCI configuration error! N_RB = 0\n"); + return 1; + } + switch(dci_format) { case NR_DL_DCI_FORMAT_1_0: diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c index ec4ade5563..04a374a4f6 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c @@ -847,6 +847,7 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP, ul_bwp->bwp_id, ss, coreset, + 0, // parameter not needed for DCI 0_0 nr_mac->cset0_bwp_size); // Mark the corresponding RBs as used @@ -1373,6 +1374,7 @@ static void nr_generate_Msg2(module_id_t module_idP, dl_bwp->bwp_id, ss, coreset, + 0, // parameter not needed for DCI 1_0 nr_mac->cset0_bwp_size); // DL TX request @@ -1595,6 +1597,7 @@ static void prepare_dl_pdus(gNB_MAC_INST *nr_mac, dl_bwp->bwp_id, ss, coreset, + 0, // parameter not needed for DCI 1_0 nr_mac->cset0_bwp_size); LOG_D(NR_MAC,"BWPSize: %i\n", pdcch_pdu_rel15->BWPSize); diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c index 332e5a3fd9..47b714fbd0 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c @@ -506,6 +506,7 @@ static void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP, 0, gNB_mac->sched_ctrlCommon->search_space, gNB_mac->sched_ctrlCommon->coreset, + 0, // parameter not needed for DCI 1_0 gNB_mac->cset0_bwp_size); LOG_D(MAC,"BWPSize: %i\n", pdcch_pdu_rel15->BWPSize); diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c index 90233cab82..230ac310e5 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c @@ -1198,6 +1198,7 @@ void nr_schedule_ue_spec(module_id_t module_id, bwp_id, sched_ctrl->search_space, sched_ctrl->coreset, + UE->pdsch_HARQ_ACK_Codebook, gNB_mac->cset0_bwp_size); LOG_D(NR_MAC, diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c index 5697107c0b..d72339c11f 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c @@ -1138,6 +1138,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc, int bwp_id, NR_SearchSpace_t *ss, NR_ControlResourceSet_t *coreset, + long pdsch_HARQ_ACK_Codebook, uint16_t cset0_bwp_size) { NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig = NULL; // TODO configure @@ -1161,6 +1162,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc, alt_size = nr_dci_size(current_DL_BWP, current_UL_BWP, crossCarrierSchedulingConfig, + pdsch_HARQ_ACK_Codebook, &temp_pdu, NR_UL_DCI_FORMAT_0_0, rnti_type, @@ -1174,6 +1176,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc, alt_size = nr_dci_size(current_DL_BWP, current_UL_BWP, crossCarrierSchedulingConfig, + pdsch_HARQ_ACK_Codebook, &temp_pdu, NR_DL_DCI_FORMAT_1_0, rnti_type, @@ -1190,6 +1193,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc, int dci_size = nr_dci_size(current_DL_BWP, current_UL_BWP, crossCarrierSchedulingConfig, + pdsch_HARQ_ACK_Codebook, dci_pdu_rel15, dci_format, rnti_type, @@ -2054,9 +2058,6 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac, int target_ss; - if (CellGroup && CellGroup->physicalCellGroupConfig) - DL_BWP->pdsch_HARQ_ACK_Codebook = &CellGroup->physicalCellGroupConfig->pdsch_HARQ_ACK_Codebook; - NR_ServingCellConfig_t *servingCellConfig = NULL; if (CellGroup && CellGroup->spCellConfig && @@ -2189,6 +2190,9 @@ void configure_UE_BWP(gNB_MAC_INST *nr_mac, if(UE) { + if (CellGroup && CellGroup->physicalCellGroupConfig) + UE->pdsch_HARQ_ACK_Codebook = CellGroup->physicalCellGroupConfig->pdsch_HARQ_ACK_Codebook; + // Reset required fields in sched_ctrl (e.g. ul_ri and tpmi) reset_sched_ctrl(sched_ctrl); diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index cc9a6c9f84..448c4e94f0 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -2394,6 +2394,7 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot, n current_BWP->bwp_id, ss, coreset, + UE->pdsch_HARQ_ACK_Codebook, nr_mac->cset0_bwp_size); memset(sched_pusch, 0, sizeof(*sched_pusch)); diff --git a/openair2/LAYER2/NR_MAC_gNB/mac_proto.h b/openair2/LAYER2/NR_MAC_gNB/mac_proto.h index 2397de0fb7..9e8d9c396b 100644 --- a/openair2/LAYER2/NR_MAC_gNB/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_gNB/mac_proto.h @@ -236,6 +236,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc, int bwp_id, NR_SearchSpace_t *ss, NR_ControlResourceSet_t *coreset, + long pdsch_HARQ_ACK_Codebook, uint16_t cset0_bwp_size); void prepare_dci(const NR_CellGroupConfig_t *CellGroup, const NR_UE_DL_BWP_t *current_BWP, const NR_ControlResourceSet_t *coreset, dci_pdu_rel15_t *dci_pdu_rel15, nr_dci_format_t format); diff --git a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h index 3ff713cbdb..b205abafd0 100644 --- a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h +++ b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h @@ -705,6 +705,7 @@ typedef struct { uint32_t ra_timer; float ul_thr_ue; float dl_thr_ue; + long pdsch_HARQ_ACK_Codebook; } NR_UE_info_t; typedef struct { From 273562f345ffdf2d737fc451c7d21fa5ea10781d Mon Sep 17 00:00:00 2001 From: francescomani Date: Wed, 25 Oct 2023 09:28:16 +0200 Subject: [PATCH 28/43] fix for do-ra and phy-test mode --- executables/nr-ue.c | 29 ++++++++++++++++-- openair1/SIMULATION/NR_PHY/dlsim.c | 2 +- openair1/SIMULATION/NR_PHY/ulsim.c | 3 +- openair2/LAYER2/NR_MAC_UE/mac_proto.h | 4 ++- openair2/LAYER2/NR_MAC_UE/main_ue_nr.c | 42 +++----------------------- 5 files changed, 36 insertions(+), 44 deletions(-) diff --git a/executables/nr-ue.c b/executables/nr-ue.c index 071d36087c..aaeda3df9a 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -34,6 +34,8 @@ #include "PHY/NR_REFSIG/refsig_defs_ue.h" #include "radio/COMMON/common_lib.h" #include "LAYER2/nr_pdcp/nr_pdcp_oai_api.h" +#include "LAYER2/nr_rlc/nr_rlc_oai_api.h" +#include "RRC/NR/MESSAGES/asn1_msg.h" /* * NR SLOT PROCESSING SEQUENCE @@ -949,10 +951,33 @@ void init_NR_UE(int nb_inst, char *uecap_file, char *reconfig_file, char *rbconf for (int inst = 0; inst < nb_inst; inst++) { AssertFatal((rrc_inst = nr_l3_init_ue(uecap_file)) != NULL, "can not initialize RRC module\n"); - AssertFatal((mac_inst = nr_l2_init_ue(rrc_inst)) != NULL, "can not initialize L2 module\n"); + AssertFatal((mac_inst = nr_l2_init_ue()) != NULL, "can not initialize L2 module\n"); AssertFatal((mac_inst->if_module = nr_ue_if_module_init(inst)) != NULL, "can not initialize IF module\n"); - if (!get_softmodem_params()->sa) + if (!get_softmodem_params()->sa) { init_nsa_message(rrc_inst, reconfig_file, rbconfig_file); + // TODO why do we need noS1 configuration? + // temporarily moved here to understand why not using the one provided by gNB + nr_rlc_activate_srb0(mac_inst->crnti, NULL, send_srb0_rrc); + if (IS_SOFTMODEM_NOS1) { + // get default noS1 configuration + NR_RadioBearerConfig_t *rbconfig = NULL; + NR_RLC_BearerConfig_t *rlc_rbconfig = NULL; + fill_nr_noS1_bearer_config(&rbconfig, &rlc_rbconfig); + + // set up PDCP, RLC, MAC + nr_pdcp_layer_init(false); + nr_pdcp_add_drbs(ENB_FLAG_NO, mac_inst->crnti, rbconfig->drb_ToAddModList, 0, NULL, NULL); + nr_rlc_add_drb(mac_inst->crnti, rbconfig->drb_ToAddModList->list.array[0]->drb_Identity, rlc_rbconfig); + struct NR_CellGroupConfig__rlc_BearerToAddModList rlc_toadd_list; + rlc_toadd_list.list.count = 1; + rlc_toadd_list.list.array = calloc(1, sizeof(NR_RLC_BearerConfig_t)); + rlc_toadd_list.list.array[0] = rlc_rbconfig; + nr_rrc_mac_config_req_ue_logicalChannelBearer(0, &rlc_toadd_list, NULL); + + // free memory + free_nr_noS1_bearer_config(&rbconfig, &rlc_rbconfig); + } + } } } diff --git a/openair1/SIMULATION/NR_PHY/dlsim.c b/openair1/SIMULATION/NR_PHY/dlsim.c index fcc7bcc067..540fef1b38 100644 --- a/openair1/SIMULATION/NR_PHY/dlsim.c +++ b/openair1/SIMULATION/NR_PHY/dlsim.c @@ -822,7 +822,7 @@ int main(int argc, char **argv) nr_gold_pdsch(UE, i, UE->scramblingID_dlsch[i]); } - nr_l2_init_ue(NULL); + nr_l2_init_ue(); UE_mac = get_mac_inst(0); ue_init_config_request(UE_mac, mu); diff --git a/openair1/SIMULATION/NR_PHY/ulsim.c b/openair1/SIMULATION/NR_PHY/ulsim.c index ba7e09d9f9..25e6d84430 100644 --- a/openair1/SIMULATION/NR_PHY/ulsim.c +++ b/openair1/SIMULATION/NR_PHY/ulsim.c @@ -690,8 +690,7 @@ int main(int argc, char *argv[]) } //Configure UE - NR_UE_RRC_INST_t rrcue = {0}; - nr_l2_init_ue(&rrcue); + nr_l2_init_ue(); NR_UE_MAC_INST_t* UE_mac = get_mac_inst(0); diff --git a/openair2/LAYER2/NR_MAC_UE/mac_proto.h b/openair2/LAYER2/NR_MAC_UE/mac_proto.h index 8b5c4b47d5..7789d4c0c4 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_proto.h @@ -43,6 +43,8 @@ \param module_id module id */ void nr_ue_init_mac(module_id_t module_idP); +void send_srb0_rrc(int rnti, const uint8_t *sdu, sdu_size_t sdu_len, void *data); + /**\brief apply default configuration values in nr_mac instance \param mac mac instance */ void nr_ue_mac_default_configs(NR_UE_MAC_INST_t *mac); @@ -82,7 +84,7 @@ void nr_rrc_mac_config_req_sib1(module_id_t module_id, NR_ServingCellConfigCommonSIB_t *scc); /**\brief initialization NR UE MAC instance(s), total number of MAC instance based on NB_NR_UE_MAC_INST*/ -NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst); +NR_UE_MAC_INST_t * nr_l2_init_ue(); /**\brief fetch MAC instance by module_id, within 0 - (NB_NR_UE_MAC_INST-1) \param module_id index of MAC instance(s)*/ diff --git a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c index bbc3da1739..9371c8c7df 100644 --- a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c +++ b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c @@ -36,16 +36,13 @@ //#undef MALLOC #include "assertions.h" #include "executables/softmodem-common.h" -#include "openair2/LAYER2/nr_pdcp/nr_pdcp.h" -#include "openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.h" #include "nr_rlc/nr_rlc_oai_api.h" -#include "RRC/NR/MESSAGES/asn1_msg.h" #include "RRC/NR_UE/rrc_proto.h" #include static NR_UE_MAC_INST_t *nr_ue_mac_inst; -static void send_srb0_rrc(int rnti, const uint8_t *sdu, sdu_size_t sdu_len, void *data) +void send_srb0_rrc(int rnti, const uint8_t *sdu, sdu_size_t sdu_len, void *data) { AssertFatal(sdu_len > 0 && sdu_len < CCCH_SDU_SIZE, "invalid CCCH SDU size %d\n", sdu_len); @@ -63,10 +60,9 @@ void send_msg3_rrc_request(module_id_t mod_id, int rnti) nr_mac_rrc_msg3_ind(mod_id, rnti); } -NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) +NR_UE_MAC_INST_t * nr_l2_init_ue() { LOG_I(NR_MAC, "MAIN: init UE MAC functions \n"); - //init mac here nr_ue_mac_inst = (NR_UE_MAC_INST_t *)calloc(NB_NR_UE_MAC_INST, sizeof(NR_UE_MAC_INST_t)); @@ -76,38 +72,8 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) if (get_softmodem_params()->sa) ue_init_config_request(nr_ue_mac_inst, get_softmodem_params()->numerology); - if (get_softmodem_params()->do_ra || get_softmodem_params()->phy_test) { - - int rc = rlc_module_init(0); - AssertFatal(rc == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__); - nr_rlc_activate_srb0(nr_ue_mac_inst->crnti, NULL, send_srb0_rrc); - if (IS_SOFTMODEM_NOS1){ - // get default noS1 configuration - NR_RadioBearerConfig_t *rbconfig = NULL; - NR_RLC_BearerConfig_t *rlc_rbconfig = NULL; - fill_nr_noS1_bearer_config(&rbconfig, &rlc_rbconfig); - - // set up PDCP, RLC, MAC - nr_pdcp_layer_init(false); - nr_pdcp_add_drbs(ENB_FLAG_NO, nr_ue_mac_inst->crnti, rbconfig->drb_ToAddModList, 0, NULL, NULL); - nr_rlc_add_drb(nr_ue_mac_inst->crnti, rbconfig->drb_ToAddModList->list.array[0]->drb_Identity, rlc_rbconfig); - struct NR_CellGroupConfig__rlc_BearerToAddModList rlc_toadd_list; - rlc_toadd_list.list.count = 1; - rlc_toadd_list.list.array = calloc(1, sizeof(NR_RLC_BearerConfig_t)); - rlc_toadd_list.list.array[0] = rlc_rbconfig; - nr_rrc_mac_config_req_ue_logicalChannelBearer(0, &rlc_toadd_list, NULL); - - // free memory - free_nr_noS1_bearer_config(&rbconfig, &rlc_rbconfig); - } - } - else { - LOG_I(MAC,"Running without CellGroupConfig\n"); - if(get_softmodem_params()->sa == 1) { - int rc = rlc_module_init(0); - AssertFatal(rc == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__); - } - } + int rc = rlc_module_init(0); + AssertFatal(rc == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__); return (nr_ue_mac_inst); } From 9e46a6a6ae8c157d3dfcf393ddbd8fb640f15b30 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Mon, 20 Nov 2023 14:55:34 +0100 Subject: [PATCH 29/43] nr pdcp: introduce nr_pdcp_get_rb() and some cleanup cleanup means: - typo: susbend -> suspend - call nr_pdcp_manager_unlock() where needed - simplify LOG_XX (remove __FILE__, __LINE__, __FUNCTION__) note: nr_pdcp_release_srb() and nr_pdcp_release_drb() don't use nr_pdcp_release_drb() because they modify the arrays, so it does not make sense to "abstract" the accesses to ->srb and ->drb. --- openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c | 142 +++++++++------------- 1 file changed, 60 insertions(+), 82 deletions(-) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c index 7ca48b8fec..db57aa63f0 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c @@ -64,6 +64,25 @@ uint8_t proto_agent_flag = 0; static ngran_node_t node_type; +nr_pdcp_entity_t *nr_pdcp_get_rb(nr_pdcp_ue_t *ue, int rb_id, bool srb_flag) +{ + nr_pdcp_entity_t *rb; + + if (srb_flag) { + if (rb_id < 1 || rb_id > 2) + rb = NULL; + else + rb = ue->srb[rb_id - 1]; + } else { + if (rb_id < 1 || rb_id > MAX_DRBS_PER_UE) + rb = NULL; + else + rb = ue->drb[rb_id - 1]; + } + + return rb; +} + /****************************************************************************/ /* rlc_data_req queue - begin */ /****************************************************************************/ @@ -263,24 +282,12 @@ static void do_pdcp_data_ind( nr_pdcp_manager_lock(nr_pdcp_ue_manager); ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, rntiMaybeUEid); - - if (srb_flagP == 1) { - if (rb_id < 1 || rb_id > 2) - rb = NULL; - else - rb = ue->srb[rb_id - 1]; - } else { - if (rb_id < 1 || rb_id > MAX_DRBS_PER_UE) - rb = NULL; - else - rb = ue->drb[rb_id - 1]; - } + rb = nr_pdcp_get_rb(ue, rb_id, srb_flagP); if (rb != NULL) { rb->recv_pdu(rb, (char *)sdu_buffer->data, sdu_buffer_size); } else { - LOG_E(PDCP, "%s:%d:%s: no RB found (rb_id %ld, srb_flag %d)\n", - __FILE__, __LINE__, __FUNCTION__, rb_id, srb_flagP); + LOG_E(PDCP, "pdcp_data_ind: no RB found (rb_id %ld, srb_flag %d)\n", rb_id, srb_flagP); } nr_pdcp_manager_unlock(nr_pdcp_ue_manager); @@ -776,14 +783,8 @@ void add_srb(int is_gnb, nr_pdcp_manager_lock(nr_pdcp_ue_manager); ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, rntiMaybeUEid); - if (ue->srb[srb_id-1] != NULL) { - LOG_E(PDCP, - "%s:%d:%s: warning SRB %d already exist for UE ID/RNTI %ld, do nothing\n", - __FILE__, - __LINE__, - __FUNCTION__, - srb_id, - rntiMaybeUEid); + if (nr_pdcp_get_rb(ue, srb_id, true) != NULL) { + LOG_E(PDCP, "warning SRB %d already exist for UE ID/RNTI %ld, do nothing\n", srb_id, rntiMaybeUEid); } else { pdcp_srb = new_nr_pdcp_entity(NR_PDCP_SRB, is_gnb, srb_id, 0, false, false, // sdap parameters @@ -878,8 +879,8 @@ void add_drb(int is_gnb, nr_pdcp_manager_lock(nr_pdcp_ue_manager); ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, rntiMaybeUEid); - if (ue->drb[drb_id-1] != NULL) { - LOG_W(PDCP, "%s:%d:%s: warning DRB %d already exist for UE ID/RNTI %ld, do nothing\n", __FILE__, __LINE__, __FUNCTION__, drb_id, rntiMaybeUEid); + if (nr_pdcp_get_rb(ue, drb_id, false) != NULL) { + LOG_W(PDCP, "warning DRB %d already exist for UE ID/RNTI %ld, do nothing\n", drb_id, rntiMaybeUEid); } else { pdcp_drb = new_nr_pdcp_entity(NR_PDCP_DRB_AM, is_gnb, drb_id, pdusession_id, has_sdap_rx, has_sdap_tx, deliver_sdu_drb, ue, @@ -997,25 +998,20 @@ void nr_pdcp_config_set_security(ue_id_t ue_id, /* TODO: proper handling of DRBs, for the moment only SRBs are handled */ - if (rb_id >= 1 && rb_id <= 2) { - rb = ue->srb[rb_id - 1]; + rb = nr_pdcp_get_rb(ue, rb_id, true); - if (rb == NULL) { - LOG_E(PDCP, "%s:%d:%s: no SRB found (ue_id %ld, rb_id %ld)\n", __FILE__, __LINE__, __FUNCTION__, ue_id, rb_id); - nr_pdcp_manager_unlock(nr_pdcp_ue_manager); - return; - } - - integrity_algorithm = (security_modeP>>4) & 0xf; - ciphering_algorithm = security_modeP & 0x0f; - rb->set_security(rb, integrity_algorithm, (char *)kRRCint_pP, - ciphering_algorithm, (char *)kRRCenc_pP); - rb->security_mode_completed = false; - } else { - LOG_E(PDCP, "%s:%d:%s: TODO\n", __FILE__, __LINE__, __FUNCTION__); - exit(1); + if (rb == NULL) { + LOG_E(PDCP, "no SRB found (ue_id %ld, rb_id %ld)\n", ue_id, rb_id); + nr_pdcp_manager_unlock(nr_pdcp_ue_manager); + return; } + integrity_algorithm = (security_modeP>>4) & 0xf; + ciphering_algorithm = security_modeP & 0x0f; + rb->set_security(rb, integrity_algorithm, (char *)kRRCint_pP, + ciphering_algorithm, (char *)kRRCenc_pP); + rb->security_mode_completed = false; + nr_pdcp_manager_unlock(nr_pdcp_ue_manager); } @@ -1034,14 +1030,10 @@ bool nr_pdcp_data_req_srb(ue_id_t ue_id, nr_pdcp_manager_lock(nr_pdcp_ue_manager); ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - - if (rb_id < 1 || rb_id > 2) - rb = NULL; - else - rb = ue->srb[rb_id - 1]; + rb = nr_pdcp_get_rb(ue, rb_id, true); if (rb == NULL) { - LOG_E(PDCP, "%s:%d:%s: no SRB found (ue_id %ld, rb_id %ld)\n", __FILE__, __LINE__, __FUNCTION__, ue_id, rb_id); + LOG_E(PDCP, "no SRB found (ue_id %ld, rb_id %ld)\n", ue_id, rb_id); nr_pdcp_manager_unlock(nr_pdcp_ue_manager); return 0; } @@ -1062,9 +1054,10 @@ void nr_pdcp_suspend_srb(ue_id_t ue_id, int srb_id) { nr_pdcp_manager_lock(nr_pdcp_ue_manager); nr_pdcp_ue_t *ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - nr_pdcp_entity_t *srb = ue->srb[srb_id - 1]; + nr_pdcp_entity_t *srb = nr_pdcp_get_rb(ue, srb_id, true); if (srb == NULL) { - LOG_E(PDCP, "Trying to susbend SRB with ID %d but it is not established\n", srb_id); + LOG_E(PDCP, "Trying to suspend SRB with ID %d but it is not established\n", srb_id); + nr_pdcp_manager_unlock(nr_pdcp_ue_manager); return; } srb->suspend_entity(srb); @@ -1075,9 +1068,10 @@ void nr_pdcp_suspend_drb(ue_id_t ue_id, int drb_id) { nr_pdcp_manager_lock(nr_pdcp_ue_manager); nr_pdcp_ue_t *ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - nr_pdcp_entity_t *drb = ue->drb[drb_id - 1]; + nr_pdcp_entity_t *drb = nr_pdcp_get_rb(ue, drb_id, false); if (drb == NULL) { - LOG_E(PDCP, "Trying to susbend DRB with ID %d but it is not established\n", drb_id); + LOG_E(PDCP, "Trying to suspend DRB with ID %d but it is not established\n", drb_id); + nr_pdcp_manager_unlock(nr_pdcp_ue_manager); return; } drb->suspend_entity(drb); @@ -1088,7 +1082,12 @@ void nr_pdcp_reconfigure_srb(ue_id_t ue_id, int srb_id, long t_Reordering) { nr_pdcp_manager_lock(nr_pdcp_ue_manager); nr_pdcp_ue_t *ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - nr_pdcp_entity_t *srb = ue->srb[srb_id - 1]; + nr_pdcp_entity_t *srb = nr_pdcp_get_rb(ue, srb_id, true); + if (srb == NULL) { + LOG_E(PDCP, "Trying to reconfigure SRB with ID %d but it is not established\n", srb_id); + nr_pdcp_manager_unlock(nr_pdcp_ue_manager); + return; + } int decoded_t_reordering = decode_t_reordering(t_Reordering); srb->t_reordering = decoded_t_reordering; nr_pdcp_manager_unlock(nr_pdcp_ue_manager); @@ -1102,7 +1101,12 @@ void nr_pdcp_reconfigure_drb(ue_id_t ue_id, int drb_id, long t_Reordering) */ nr_pdcp_manager_lock(nr_pdcp_ue_manager); nr_pdcp_ue_t *ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - nr_pdcp_entity_t *drb = ue->drb[drb_id - 1]; + nr_pdcp_entity_t *drb = nr_pdcp_get_rb(ue, drb_id, false); + if (drb == NULL) { + LOG_E(PDCP, "Trying to reconfigure DRB with ID %d but it is not established\n", drb_id); + nr_pdcp_manager_unlock(nr_pdcp_ue_manager); + return; + } int decoded_t_reordering = decode_t_reordering(t_Reordering); drb->t_reordering = decoded_t_reordering; nr_pdcp_manager_unlock(nr_pdcp_ue_manager); @@ -1143,18 +1147,7 @@ void nr_pdcp_reestablishment(ue_id_t ue_id, int rb_id, bool srb_flag) nr_pdcp_manager_lock(nr_pdcp_ue_manager); ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - - if (srb_flag) { - if (rb_id < 1 || rb_id > 3) - rb = NULL; - else - rb = ue->srb[rb_id - 1]; - } else { - if (rb_id < 1 || rb_id > MAX_DRBS_PER_UE) - rb = NULL; - else - rb = ue->drb[rb_id - 1]; - } + rb = nr_pdcp_get_rb(ue, rb_id, srb_flag); if (rb != NULL) { rb->reestablish_entity(rb); @@ -1196,14 +1189,10 @@ bool nr_pdcp_data_req_drb(protocol_ctxt_t *ctxt_pP, nr_pdcp_manager_lock(nr_pdcp_ue_manager); ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - - if (rb_id < 1 || rb_id > MAX_DRBS_PER_UE) - rb = NULL; - else - rb = ue->drb[rb_id - 1]; + rb = nr_pdcp_get_rb(ue, rb_id, false); if (rb == NULL) { - LOG_E(PDCP, "%s:%d:%s: no DRB found (ue_id %ld, rb_id %ld)\n", __FILE__, __LINE__, __FUNCTION__, ue_id, rb_id); + LOG_E(PDCP, "no DRB found (ue_id %lx, rb_id %ld)\n", ue_id, rb_id); nr_pdcp_manager_unlock(nr_pdcp_ue_manager); return 0; } @@ -1305,18 +1294,7 @@ bool nr_pdcp_get_statistics(ue_id_t ue_id, int srb_flag, int rb_id, nr_pdcp_stat nr_pdcp_manager_lock(nr_pdcp_ue_manager); ue = nr_pdcp_manager_get_ue(nr_pdcp_ue_manager, ue_id); - - if (srb_flag == 1) { - if (rb_id < 1 || rb_id > 2) - rb = NULL; - else - rb = ue->srb[rb_id - 1]; - } else { - if (rb_id < 1 || rb_id > 5) - rb = NULL; - else - rb = ue->drb[rb_id - 1]; - } + rb = nr_pdcp_get_rb(ue, rb_id, srb_flag); if (rb != NULL) { rb->get_stats(rb, out); From 088bdf234ecc5e062abc6871e5faf87d606076d3 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Mon, 20 Nov 2023 20:12:52 +0000 Subject: [PATCH 30/43] Fix read n_TimingAdvanceOffset from the configuration file --- openair2/GNB_APP/RRC_nr_paramsvalues.h | 2 +- openair2/GNB_APP/gnb_config.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/openair2/GNB_APP/RRC_nr_paramsvalues.h b/openair2/GNB_APP/RRC_nr_paramsvalues.h index e6e32233c8..14e8cb13de 100644 --- a/openair2/GNB_APP/RRC_nr_paramsvalues.h +++ b/openair2/GNB_APP/RRC_nr_paramsvalues.h @@ -174,7 +174,7 @@ #define SCCPARAMS_DESC(scc) { \ {GNB_CONFIG_STRING_PHYSCELLID,NULL,0,.i64ptr=scc->physCellId,.defint64val=0,TYPE_INT64,0/*0*/}, \ -{GNB_CONFIG_STRING_NTIMINGADVANCEOFFSET,NULL,0,.i64ptr=scc->n_TimingAdvanceOffset,.defint64val=NR_ServingCellConfigCommon__n_TimingAdvanceOffset_n0,TYPE_INT64,0/*1*/},\ +{GNB_CONFIG_STRING_NTIMINGADVANCEOFFSET,NULL,0,.i64ptr=scc->n_TimingAdvanceOffset,.defint64val=-1,TYPE_INT64,0/*1*/},\ {GNB_CONFIG_STRING_SSBPERIODICITYSERVINGCELL,NULL,0,.i64ptr=scc->ssb_periodicityServingCell,.defint64val=NR_ServingCellConfigCommon__ssb_periodicityServingCell_ms20,TYPE_INT64,0/*2*/},\ {GNB_CONFIG_STRING_DMRSTYPEAPOSITION,NULL,0,.i64ptr=&scc->dmrs_TypeA_Position,.defint64val=NR_ServingCellConfigCommon__dmrs_TypeA_Position_pos2,TYPE_INT64,0/*3*/},\ {GNB_CONFIG_STRING_SUBCARRIERSPACING,NULL,0,.i64ptr=scc->ssbSubcarrierSpacing,.defint64val=NR_SubcarrierSpacing_kHz30,TYPE_INT64,0/*4*/},\ diff --git a/openair2/GNB_APP/gnb_config.c b/openair2/GNB_APP/gnb_config.c index d0de130569..4355a12303 100644 --- a/openair2/GNB_APP/gnb_config.c +++ b/openair2/GNB_APP/gnb_config.c @@ -159,7 +159,8 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) { scc->uplinkConfigCommon = CALLOC(1,sizeof(struct NR_UplinkConfigCommon)); scc->uplinkConfigCommon->frequencyInfoUL = CALLOC(1,sizeof(struct NR_FrequencyInfoUL)); scc->uplinkConfigCommon->initialUplinkBWP = CALLOC(1,sizeof(struct NR_BWP_UplinkCommon)); - //scc->supplementaryUplinkConfig = CALLOC(1,sizeof(struct NR_UplinkConfigCommon)); + //scc->supplementaryUplinkConfig = CALLOC(1,sizeof(struct NR_UplinkConfigCommon)); + scc->n_TimingAdvanceOffset = CALLOC(1, sizeof(long)); scc->ssb_PositionsInBurst = CALLOC(1,sizeof(struct NR_ServingCellConfigCommon__ssb_PositionsInBurst)); scc->ssb_periodicityServingCell = CALLOC(1,sizeof(long)); // scc->rateMatchPatternToAddModList = CALLOC(1,sizeof(struct NR_ServingCellConfigCommon__rateMatchPatternToAddModList)); @@ -439,6 +440,11 @@ void fix_scc(NR_ServingCellConfigCommon_t *scc,uint64_t ssbmap) { scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->msg1_SubcarrierSpacing=NULL; } + if ((int)*scc->n_TimingAdvanceOffset == -1) { + free(scc->n_TimingAdvanceOffset); + scc->n_TimingAdvanceOffset = NULL; + } + // check pucch_ResourceConfig AssertFatal(*scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->pucch_ResourceCommon < 2, "pucch_ResourceConfig should be 0 or 1 for now\n"); From 207f65992e51c17136528c40531dcc9174dfcc3a Mon Sep 17 00:00:00 2001 From: Raphael Defosseux Date: Tue, 21 Nov 2023 09:46:24 +0100 Subject: [PATCH 31/43] chore(ci): displaying the ASN1C commit Signed-off-by: Raphael Defosseux --- cmake_targets/tools/build_helper | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index c0b2fa237b..8ff0dcfa8c 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -667,6 +667,8 @@ install_asn1c_from_source(){ git clone https://github.com/mouse07410/asn1c /tmp/asn1c cd /tmp/asn1c git checkout vlm_master + # Showing which version is used + git log -n1 autoreconf -iv ./configure --prefix /opt/asn1c/ make -j`nproc` From c6e5ead2a94d250d566b1d36a5f5b546b62df177 Mon Sep 17 00:00:00 2001 From: francescomani Date: Thu, 26 Oct 2023 10:56:39 +0200 Subject: [PATCH 32/43] some more RRC cleanup --- executables/nr-uesoftmodem.c | 8 +++--- openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c | 2 +- openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h | 2 +- openair2/LAYER2/NR_MAC_UE/config_ue.c | 1 - openair2/LAYER2/NR_MAC_UE/mac_defs.h | 4 --- openair2/RRC/NR_UE/rrc_UE.c | 26 +++++++++---------- openair2/RRC/NR_UE/rrc_defs.h | 7 +---- 7 files changed, 19 insertions(+), 31 deletions(-) diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 8e5751a190..12362105bd 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -476,11 +476,11 @@ int main( int argc, char **argv ) { #endif LOG_I(HW, "Version: %s\n", PACKAGE_VERSION); - PHY_vars_UE_g = malloc(sizeof(PHY_VARS_NR_UE **)); - PHY_vars_UE_g[0] = malloc(sizeof(PHY_VARS_NR_UE *) * MAX_NUM_CCs); + PHY_vars_UE_g = malloc(sizeof(*PHY_vars_UE_g)); + PHY_vars_UE_g[0] = malloc(sizeof(*PHY_vars_UE_g[0]) * MAX_NUM_CCs); for (int CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) { - PHY_vars_UE_g[0][CC_id] = (PHY_VARS_NR_UE *)malloc(sizeof(PHY_VARS_NR_UE)); - memset(PHY_vars_UE_g[0][CC_id], 0, sizeof(PHY_VARS_NR_UE)); + PHY_vars_UE_g[0][CC_id] = malloc(sizeof(*PHY_vars_UE_g[0][CC_id])); + memset(PHY_vars_UE_g[0][CC_id], 0, sizeof(*PHY_vars_UE_g[0][CC_id])); } init_NR_UE(1, uecap_file, reconfig_file, rbconfig_file); diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c index 867ec10b05..aceec80613 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c @@ -3278,7 +3278,7 @@ uint16_t get_rb_bwp_dci(nr_dci_format_t format, uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, const NR_UE_UL_BWP_t *UL_BWP, - NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig, + const NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig, long pdsch_HARQ_ACK_Codebook, dci_pdu_rel15_t *dci_pdu, nr_dci_format_t format, diff --git a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h index c460119612..fab681d8f0 100644 --- a/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h +++ b/openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h @@ -95,7 +95,7 @@ NR_tda_info_t get_dl_tda_info(const NR_UE_DL_BWP_t *dl_BWP, int ss_type, int tda uint16_t nr_dci_size(const NR_UE_DL_BWP_t *DL_BWP, const NR_UE_UL_BWP_t *UL_BWP, - NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig, + const NR_CrossCarrierSchedulingConfig_t *crossCarrierSchedulingConfig, long pdsch_HARQ_ACK_Codebook, dci_pdu_rel15_t *dci_pdu, nr_dci_format_t format, diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index 6cb0ef23ef..8de21221f1 100644 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -802,7 +802,6 @@ void nr_rrc_mac_config_req_cg(module_id_t module_id, LOG_I(MAC,"Applying CellGroupConfig from gNodeB\n"); AssertFatal(cell_group_config, "CellGroupConfig should not be NULL\n"); NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); - mac->cg = cell_group_config; if (cell_group_config->mac_CellGroupConfig) { // TODO handle MAC-CellGroupConfig diff --git a/openair2/LAYER2/NR_MAC_UE/mac_defs.h b/openair2/LAYER2/NR_MAC_UE/mac_defs.h index 6182a0bf72..bec654260c 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_defs.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_defs.h @@ -427,16 +427,12 @@ typedef struct ssb_list_info { /*!\brief Top level UE MAC structure */ typedef struct { NR_UE_L2_STATE_t state; - NR_CellGroupConfig_t *cg; int servCellIndex; long physCellId; //// MAC config int first_sync_frame; bool get_sib1; bool get_otherSI; - NR_DRX_Config_t *drx_Config; - NR_SchedulingRequestConfig_t *schedulingRequestConfig; - NR_RNTI_Value_t *cs_RNTI; NR_MIB_t *mib; struct NR_SI_SchedulingInfo *si_SchedulingInfo; int si_window_start; diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c index ccd92df77a..d77cfd6a47 100644 --- a/openair2/RRC/NR_UE/rrc_UE.c +++ b/openair2/RRC/NR_UE/rrc_UE.c @@ -147,7 +147,6 @@ static void nr_rrc_ue_process_RadioBearerConfig(NR_UE_RRC_INST_t *ue_rrc, static void nr_rrc_ue_generate_RRCSetupRequest(rnti_t rnti); static void nr_rrc_ue_generate_rrcReestablishmentComplete(NR_RRCReestablishment_t *rrcReestablishment); static void process_lte_nsa_msg(NR_UE_RRC_INST_t *rrc, nsa_msg_t *msg, int msg_len); -static void configure_spcell(NR_UE_RRC_INST_t *rrc, NR_SpCellConfig_t *spcell_config); static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, int gNB_index, rnti_t rnti, @@ -175,8 +174,6 @@ static void nr_rrc_ue_process_rrcReconfiguration(const instance_t instance, NR_RRCReconfiguration_IEs_t *ie = rrcReconfiguration->criticalExtensions.choice.rrcReconfiguration; if (ie->radioBearerConfig != NULL) { - if (rrc->radio_bearer_config == NULL) - rrc->radio_bearer_config = ie->radioBearerConfig; LOG_I(NR_RRC, "radio Bearer Configuration is present\n"); nr_rrc_ue_process_RadioBearerConfig(rrc, rnti, rrcNB, ie->radioBearerConfig); if (LOG_DEBUGFLAG(DEBUG_ASN1)) @@ -328,11 +325,11 @@ NR_UE_RRC_INST_t* openair_rrc_top_init_ue_nr(char* uecap_file) rrcPerNB_t *ptr = &rrc->perNB[i]; ptr->SInfo = (NR_UE_RRC_SI_INFO){0}; for (int j = 0; j < NR_NUM_SRB; j++) - ptr->Srb[j] = (NR_UE_RRC_SRB_INFO_t){0}; + ptr->Srb[j] = RB_NOT_PRESENT; for (int j = 0; j < MAX_DRBS_PER_UE; j++) ptr->status_DRBs[j] = RB_NOT_PRESENT; // SRB0 activated by default - ptr->Srb[0].status = RB_ESTABLISHED; + ptr->Srb[0] = RB_ESTABLISHED; } } @@ -695,7 +692,9 @@ static int8_t nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message(instance_t instance, if(SI_info->sib1) ASN_STRUCT_FREE(asn_DEF_NR_SIB1, SI_info->sib1); NR_SIB1_t *sib1 = bcch_message->message.choice.c1->choice.systemInformationBlockType1; - SI_info->sib1 = sib1; + if(!SI_info->sib1) + SI_info->sib1 = calloc(1, sizeof(*SI_info->sib1)); + memcpy(SI_info->sib1, sib1, sizeof(NR_SIB1_t)); if(g_log->log_component[NR_RRC].level >= OAILOG_DEBUG) xer_fprint(stdout, &asn_DEF_NR_SIB1, (const void *) SI_info->sib1); LOG_A(NR_RRC, "SIB1 decoded\n"); @@ -794,8 +793,8 @@ void nr_rrc_cellgroup_configuration(rrcPerNB_t *rrcNB, rrc->rnti = reconfigurationWithSync->newUE_Identity; // resume suspended radio bearers for (int i = 0; i < NR_NUM_SRB; i++) { - if (rrcNB->Srb[i].status == RB_SUSPENDED) - rrcNB->Srb[i].status = RB_ESTABLISHED; + if (rrcNB->Srb[i] == RB_SUSPENDED) + rrcNB->Srb[i] = RB_ESTABLISHED; } for (int i = 0; i < MAX_DRBS_PER_UE; i++) { if (rrcNB->status_DRBs[i] == RB_SUSPENDED) @@ -1030,7 +1029,7 @@ static void nr_rrc_ue_process_securityModeCommand(NR_UE_RRC_INST_t *ue_rrc, uint8_t security_mode = ue_rrc->cipheringAlgorithm | (ue_rrc->integrityProtAlgorithm << 4); // configure lower layers to apply SRB integrity protection and ciphering for (int i = 1; i < NR_NUM_SRB; i++) { - if (ue_rrc->perNB[gNB_index].Srb[i].status == RB_ESTABLISHED) + if (ue_rrc->perNB[gNB_index].Srb[i] == RB_ESTABLISHED) nr_pdcp_config_set_security(rnti, i, security_mode, kRRCenc, kRRCint, kUPenc); } } else { @@ -1223,8 +1222,7 @@ static void nr_rrc_ue_process_RadioBearerConfig(NR_UE_RRC_INST_t *ue_rrc, if (radioBearerConfig->srb_ToAddModList != NULL) { for (int cnt = 0; cnt < radioBearerConfig->srb_ToAddModList->list.count; cnt++) { struct NR_SRB_ToAddMod *srb = radioBearerConfig->srb_ToAddModList->list.array[cnt]; - NR_UE_RRC_SRB_INFO_t *Srb_info = &rrcNB->Srb[srb->srb_Identity]; - if (Srb_info->status == RB_NOT_PRESENT) + if (rrcNB->Srb[srb->srb_Identity] == RB_NOT_PRESENT) add_srb(false, rnti, radioBearerConfig->srb_ToAddModList->list.array[cnt], @@ -1238,7 +1236,7 @@ static void nr_rrc_ue_process_RadioBearerConfig(NR_UE_RRC_INST_t *ue_rrc, if (srb->pdcp_Config && srb->pdcp_Config->t_Reordering) nr_pdcp_reconfigure_srb(rnti, srb->srb_Identity, *srb->pdcp_Config->t_Reordering); } - Srb_info->status = RB_ESTABLISHED; + rrcNB->Srb[srb->srb_Identity] = RB_ESTABLISHED; } } @@ -1413,10 +1411,10 @@ void nr_rrc_handle_ra_indication(NR_UE_RRC_INST_t *rrc, bool ra_succeeded) // reconfigurationWithSync is included in spCellConfig } } + void *rrc_nrue_task(void *args_p) { itti_mark_task_ready(TASK_RRC_NRUE); - while (1) { rrc_nrue(NULL); } @@ -1506,7 +1504,7 @@ void *rrc_nrue(void *notUsed) /* Transfer data to PDCP */ // check if SRB2 is created, if yes request data_req on SRB2 // error: the remote gNB is hardcoded here - rb_id_t srb_id = rrc->perNB[0].Srb[2].status == RB_ESTABLISHED ? 2 : 1; + rb_id_t srb_id = rrc->perNB[0].Srb[2] == RB_ESTABLISHED ? 2 : 1; nr_pdcp_data_req_srb(rrc->rnti, srb_id, 0, length, buffer, deliver_pdu_srb_rlc, NULL); break; } diff --git a/openair2/RRC/NR_UE/rrc_defs.h b/openair2/RRC/NR_UE/rrc_defs.h index 7160ff19c7..998f83e75c 100644 --- a/openair2/RRC/NR_UE/rrc_defs.h +++ b/openair2/RRC/NR_UE/rrc_defs.h @@ -180,17 +180,13 @@ typedef enum { typedef enum { RB_NOT_PRESENT, RB_ESTABLISHED, RB_SUSPENDED } NR_RB_status_t; -typedef struct NR_UE_RRC_SRB_INFO_s { - NR_RB_status_t status; -} NR_UE_RRC_SRB_INFO_t; - typedef struct rrcPerNB { NR_MeasObjectToAddMod_t *MeasObj[MAX_MEAS_OBJ]; NR_ReportConfigToAddMod_t *ReportConfig[MAX_MEAS_CONFIG]; NR_QuantityConfig_t *QuantityConfig; NR_MeasIdToAddMod_t *MeasId[MAX_MEAS_ID]; NR_MeasGapConfig_t *measGapConfig; - NR_UE_RRC_SRB_INFO_t Srb[NR_NUM_SRB]; + NR_RB_status_t Srb[NR_NUM_SRB]; NR_RB_status_t status_DRBs[MAX_DRBS_PER_UE]; bool active_RLC_entity[NR_MAX_NUM_LCID]; NR_UE_RRC_SI_INFO SInfo; @@ -199,7 +195,6 @@ typedef struct rrcPerNB { typedef struct NR_UE_RRC_INST_s { NR_MeasConfig_t *meas_config; - NR_RadioBearerConfig_t *radio_bearer_config; rrcPerNB_t perNB[NB_CNX_UE]; From 9ab67ad87c2f039dbba485fd7a01176be7e41cfd Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 22 Nov 2023 09:35:09 +0000 Subject: [PATCH 33/43] CI doc: clarify Interop-F1 pipeline purpose --- doc/TESTBenches.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index 31b8f9e85c..f4559e2835 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -91,7 +91,8 @@ Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR - [RAN-Interop-F1](https://jenkins-oai.eurecom.fr/job/RAN-Interop-F1/) ~5G-NR - ofqot (DU, 1x UE) - - F1 interoperability testing: sets up connection to Accelleran CU, UE connection and connectivity test + - F1 interoperability: set up connection between Accelleran CU and OAI DU and pass all traffic over F1 + - 3rd-party gNB/CU interoperability: set up connection between Accelleran CU and OAI UE and test connectivity - [RAN-L2-Sim-Test-4G](https://jenkins-oai.eurecom.fr/job/RAN-L2-Sim-Test-4G/) ~4G-LTE - obelix (eNB, 1x UE, OAI EPC) From ea369e403d958fc2ee37b4d6e9d5beb331ffcbb2 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 22 Nov 2023 14:04:01 +0100 Subject: [PATCH 34/43] Separate Image Build and Test pipelines, list dockerfiles --- doc/TESTBenches.md | 54 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index f4559e2835..5453519c3f 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -77,13 +77,52 @@ Note: The available resources, and their current usage, is indicated here: **Purpose**: automatically triggered tests on MR creation or push, from Gitlab Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR -- [OAI-CN5G-COTS-UE-Test](https://jenkins-oai.eurecom.fr/job/OAI-CN5G-COTS-UE-Test/) - ~5G-NR - - using 5GC bench (resources `CI-Cetautomatix-OC-oaicicd-session`, `CI-Dogmatix-CN5G-gNB`): Attach/Detach of UE with multiple PDU sessions +This pipeline has basically two main stages, as follows. For the image build, +please also refer to the [dedicated documentation](../docker/README.md) for +information on how the images are built. + +#### Image Build pipelines + +- [RAN-ARM-Cross-Compile-Builder](https://jenkins-oai.eurecom.fr/job/RAN-ARM-Cross-Compile-Builder/) + ~BUILD-ONLY ~4G-LTE ~5G-NR + - orion: Cross-compilation from Intel to ARM + - base image from `Dockerfile.base.ubuntu20.cross-arm64` + - build image from `Dockerfile.build.ubuntu20.cross-arm64` (no target images) - [RAN-cppcheck](https://jenkins-oai.eurecom.fr/job/RAN-cppcheck/1664/) ~BUILD-ONLY ~4G-LTE ~5G-NR - obelix - performs static code analysis, currently not actively enforced +- [RAN-RHEL8-Cluster-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-RHEL8-Cluster-Image-Builder/) + ~BUILD-ONLY ~4G-LTE ~5G-NR + - cluster (`Asterix-OC-oaicicd-session` resource): RHEL image build using the OpenShift Cluster (using gcc/clang) + - base image from `Dockerfile.build.rhel9` + - build image from `Dockerfile.build.rhel9`, followed by + - target image from `Dockerfile.eNB.rhel9` + - target image from `Dockerfile.gNB.rhel9`, + - target image from `Dockerfile.gNB.aw2s.rhel9` + - target image from `Dockerfile.nr-cuup.rhel9` + - target image from `Dockerfile.lteUE.rhel9` + - target image from `Dockerfile.nrUE.rhel9` + - build image from `Dockerfile.phySim.rhel9` (creates as direct target physical simulator + image) + - build image from `Dockerfile.clang.rhel9` (compilation only, artifacts not used currently) +- [RAN-Ubuntu18-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu18-Image-Builder/) + ~BUILD-ONLY ~4G-LTE ~5G-NR + - obelix: Ubuntu 20 image build using docker (Note: builds U20 images while pipeline is named U18!) + - base image from `Dockerfile.base.ubuntu20` + - build image from `Dockerfile.build.ubuntu20`, followed by + - target image from `Dockerfile.eNB.ubuntu20` + - target image from `Dockerfile.gNB.ubuntu20` + - target image from `Dockerfile.nr-cuup.ubuntu20` + - target image from `Dockerfile.nrUE.ubuntu20` + - target image from `Dockerfile.lteUE.ubuntu20` + - target image from `Dockerfile.lteRU.ubuntu20` + +#### Image Test pipelines + +- [OAI-CN5G-COTS-UE-Test](https://jenkins-oai.eurecom.fr/job/OAI-CN5G-COTS-UE-Test/) + ~5G-NR + - using 5GC bench (resources `CI-Cetautomatix-OC-oaicicd-session`, `CI-Dogmatix-CN5G-gNB`): Attach/Detach of UE with multiple PDU sessions - [RAN-gNB-N300-Timing-Phytest-LDPC](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-gNB-N300-Timing-Phytest-LDPC/) ~5G-NR - caracal + N310 @@ -133,12 +172,6 @@ Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR ~5G-NR - obelix (gNB, nrUE, OAI 5GC) - uses RFsimulator, TDD 40MHz, FDD 40MHz, F1 split -- [RAN-RHEL8-Cluster-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-RHEL8-Cluster-Image-Builder/) - ~BUILD-ONLY ~4G-LTE ~5G-NR - - cluster (`Asterix-OC-oaicicd-session` resource): RHEL image build using the OpenShift Cluster (using gcc/clang) -- [RAN-ARM-Cross-Compile-Builder](https://jenkins-oai.eurecom.fr/job/RAN-ARM-Cross-Compile-Builder/) - ~BUILD-ONLY ~4G-LTE ~5G-NR - - orion: Cross-compilation from Intel to ARM - [RAN-SA-AW2S-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-AW2S-CN5G/) ~5G-NR - 5G-NR SA test setup: avra(RHEL9.1) + AW2S, amariue, OAI CN5G @@ -152,9 +185,6 @@ Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR ~5G-NR - 5G-NR SA test setup: gNB on avra(RHEL9.2) + N310, OAIUE on caracal(RHEL9.1) + N310, OAI CN5G - OpenShift cluster for CN deployment and container images for gNB and UE deployment -- [RAN-Ubuntu18-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu18-Image-Builder/) - ~BUILD-ONLY ~4G-LTE ~5G-NR - - obelix: Ubuntu 20 image build using docker (Note: builds U20 images while pipeline is named U18!) ### RAN-CI-NSA-Trigger From 65bcbabdcada7dac2797bee93adf716173598c06 Mon Sep 17 00:00:00 2001 From: francescomani Date: Mon, 18 Sep 2023 17:28:43 +0200 Subject: [PATCH 35/43] improve handling of MSG4 feedback in default PUCCH --- openair2/LAYER2/NR_MAC_UE/mac_defs.h | 1 - openair2/LAYER2/NR_MAC_UE/mac_proto.h | 3 ++ openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c | 34 ++++++++++++++++--- openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c | 35 +++++++++++--------- openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c | 10 +++--- openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c | 15 ++++++--- 6 files changed, 67 insertions(+), 31 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_UE/mac_defs.h b/openair2/LAYER2/NR_MAC_UE/mac_defs.h index 068890f620..ceea8f71c6 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_defs.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_defs.h @@ -162,7 +162,6 @@ typedef enum { UE_NOT_SYNC = 0, UE_SYNC, UE_PERFORMING_RA, - UE_WAIT_TX_ACK_MSG4, UE_CONNECTED } NR_UE_L2_STATE_t; diff --git a/openair2/LAYER2/NR_MAC_UE/mac_proto.h b/openair2/LAYER2/NR_MAC_UE/mac_proto.h index 60c64ead12..f638ea789f 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_proto.h @@ -364,6 +364,9 @@ void nr_get_prach_resources(module_id_t mod_id, NR_PRACH_RESOURCES_t *prach_resources, NR_RACH_ConfigDedicated_t * rach_ConfigDedicated); +void prepare_msg4_feedback(NR_UE_MAC_INST_t *mac, NR_UE_HARQ_STATUS_t *current_harq, int ack_nack); +void configure_initial_pucch(PUCCH_sched_t *pucch, int res_ind); + void init_RA(module_id_t mod_id, NR_PRACH_RESOURCES_t *prach_resources, NR_RACH_ConfigCommon_t *nr_rach_ConfigCommon, diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c index 19c9919f6a..07907addc5 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c @@ -894,7 +894,6 @@ void nr_ra_succeeded(const module_id_t mod_id, const uint8_t gNB_index, const fr if (ra->cfra) { LOG_I(MAC, "[UE %d][%d.%d][RAPROC] RA procedure succeeded. CF-RA: RAR successfully received.\n", mod_id, frame, slot); - mac->state = UE_CONNECTED; ra->RA_window_cnt = -1; } else { LOG_A(MAC, "[UE %d][%d.%d][RAPROC] RA procedure succeeded. CB-RA: Contention Resolution is successful.\n", mod_id, frame, slot); @@ -902,12 +901,12 @@ void nr_ra_succeeded(const module_id_t mod_id, const uint8_t gNB_index, const fr mac->crnti = ra->t_crnti; ra->t_crnti = 0; LOG_D(MAC, "In %s: [UE %d][%d.%d] CB-RA: cleared contention resolution timer...\n", __FUNCTION__, mod_id, frame, slot); - mac->state = UE_WAIT_TX_ACK_MSG4; } LOG_D(MAC, "In %s: [UE %d] clearing RA_active flag...\n", __FUNCTION__, mod_id); ra->RA_active = 0; ra->ra_state = RA_SUCCEEDED; + mac->state = UE_CONNECTED; nr_mac_rrc_ra_ind(mod_id, frame, true); } @@ -915,8 +914,8 @@ void nr_ra_succeeded(const module_id_t mod_id, const uint8_t gNB_index, const fr // according to section 5 of 3GPP TS 38.321 version 16.2.1 Release 16 // todo: // - complete handling of received contention-based RA preamble -void nr_ra_failed(uint8_t mod_id, uint8_t CC_id, NR_PRACH_RESOURCES_t *prach_resources, frame_t frame, int slot) { - +void nr_ra_failed(uint8_t mod_id, uint8_t CC_id, NR_PRACH_RESOURCES_t *prach_resources, frame_t frame, int slot) +{ NR_UE_MAC_INST_t *mac = get_mac_inst(mod_id); RA_config_t *ra = &mac->ra; // Random seed generation @@ -950,5 +949,32 @@ void nr_ra_failed(uint8_t mod_id, uint8_t CC_id, NR_PRACH_RESOURCES_t *prach_res // Resetting RA window nr_get_RA_window(mac); } +} +void prepare_msg4_feedback(NR_UE_MAC_INST_t *mac, NR_UE_HARQ_STATUS_t *current_harq, int ack_nack) +{ + int sched_slot = current_harq->ul_slot; + int sched_frame = current_harq->ul_frame; + fapi_nr_ul_config_request_t *ul_config = get_ul_config_request(mac, sched_slot, 0); + pthread_mutex_lock(&ul_config->mutex_ul_config); + mac->nr_ue_emul_l1.num_harqs = 1; + AssertFatal(ul_config->number_pdus < FAPI_NR_UL_CONFIG_LIST_NUM, + "ul_config->number_pdus %d out of bounds\n", + ul_config->number_pdus); + fapi_nr_ul_config_pucch_pdu *pucch_pdu = &ul_config->ul_config_list[ul_config->number_pdus].pucch_config_pdu; + PUCCH_sched_t pucch = {0}; + pucch.n_CCE = current_harq->n_CCE; + pucch.N_CCE = current_harq->N_CCE; + pucch.delta_pucch = current_harq->delta_pucch; + pucch.ack_payload = ack_nack; + pucch.n_harq = 1; + current_harq->active = false; + current_harq->ack_received = false; + nr_ue_configure_pucch(mac, + sched_slot, + mac->ra.t_crnti, + &pucch, + pucch_pdu); + fill_ul_config(ul_config, sched_frame, sched_slot, FAPI_NR_UL_CONFIG_TYPE_PUCCH); + pthread_mutex_unlock(&ul_config->mutex_ul_config); } diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c index f5902bed27..9a33dd842d 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c @@ -1262,7 +1262,6 @@ void set_harq_status(NR_UE_MAC_INST_t *mac, int slot) { NR_UE_HARQ_STATUS_t *current_harq = &mac->dl_harq_info[harq_id]; - current_harq->active = true; current_harq->ack_received = false; current_harq->pucch_resource_indicator = pucch_id; @@ -2172,6 +2171,19 @@ void multiplex_pucch_resource(NR_UE_MAC_INST_t *mac, PUCCH_sched_t *pucch, int n } } +void configure_initial_pucch(PUCCH_sched_t *pucch, int res_ind) +{ + /* see TS 38.213 9.2.1 PUCCH Resource Sets */ + int delta_PRI = res_ind; + int n_CCE_0 = pucch->n_CCE; + int N_CCE_0 = pucch->N_CCE; + if (N_CCE_0 == 0) + AssertFatal(1 == 0, "PUCCH No compatible pucch format found\n"); + int r_PUCCH = ((2 * n_CCE_0) / N_CCE_0) + (2 * delta_PRI); + pucch->initial_pucch_id = r_PUCCH; + pucch->pucch_resource = NULL; +} + /******************************************************************* * * NAME : get_downlink_ack @@ -2356,18 +2368,10 @@ bool get_downlink_ack(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCCH_sche } NR_PUCCH_Config_t *pucch_Config = current_UL_BWP->pucch_Config; - if (mac->state == UE_WAIT_TX_ACK_MSG4 || !pucch_Config || !pucch_Config->resourceSetToAddModList - || pucch_Config->resourceSetToAddModList->list.array[0] == NULL) { - /* see TS 38.213 9.2.1 PUCCH Resource Sets */ - int delta_PRI = res_ind; - int n_CCE_0 = pucch->n_CCE; - int N_CCE_0 = pucch->N_CCE; - if (N_CCE_0 == 0) - AssertFatal(1 == 0, "PUCCH No compatible pucch format found\n"); - int r_PUCCH = ((2 * n_CCE_0) / N_CCE_0) + (2 * delta_PRI); - pucch->initial_pucch_id = r_PUCCH; - pucch->pucch_resource = NULL; - } else { + if (!pucch_Config || !pucch_Config->resourceSetToAddModList + || pucch_Config->resourceSetToAddModList->list.array[0] == NULL) + configure_initial_pucch(pucch, res_ind); + else { int resource_set_id = find_pucch_resource_set(mac, O_ACK); int n_list = pucch_Config->resourceSetToAddModList->list.count; AssertFatal(resource_set_id < n_list, "Invalid PUCCH resource set id %d\n", resource_set_id); @@ -2381,7 +2385,7 @@ bool get_downlink_ack(NR_UE_MAC_INST_t *mac, frame_t frame, int slot, PUCCH_sche pucch->pucch_resource = acknack_resource; LOG_D(MAC, "frame %d slot %d pucch acknack payload %d\n", frame, slot, o_ACK); } - reverse_n_bits(&o_ACK,number_harq_feedback); + reverse_n_bits(&o_ACK, number_harq_feedback); pucch->ack_payload = o_ACK; pucch->n_harq = number_harq_feedback; @@ -2833,7 +2837,8 @@ void nr_ue_send_sdu(nr_downlink_indication_t *dl_info, int pdu_id) { VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SEND_SDU, VCD_FUNCTION_IN); - LOG_D(MAC, "In %s [%d.%d] Handling DLSCH PDU...\n", __FUNCTION__, dl_info->frame, dl_info->slot); + LOG_D(MAC, "In [%d.%d] Handling DLSCH PDU type %d\n", + dl_info->frame, dl_info->slot, dl_info->rx_ind->rx_indication_body[pdu_id].pdu_type); // Processing MAC PDU // it parses MAC CEs subheaders, MAC CEs, SDU subheaderds and SDUs diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c index e5ecba5efc..404b6a76b4 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c @@ -60,8 +60,8 @@ static prach_association_pattern_t prach_assoc_pattern; static void nr_ue_prach_scheduler(module_id_t module_idP, frame_t frameP, sub_frame_t slotP); -void fill_ul_config(fapi_nr_ul_config_request_t *ul_config, frame_t frame_tx, int slot_tx, uint8_t pdu_type){ - +void fill_ul_config(fapi_nr_ul_config_request_t *ul_config, frame_t frame_tx, int slot_tx, uint8_t pdu_type) +{ AssertFatal(ul_config->number_pdus < sizeof(ul_config->ul_config_list) / sizeof(ul_config->ul_config_list[0]), "Number of PDUS in ul_config = %d > ul_config_list num elements", ul_config->number_pdus); // clear ul_config for new frame/slot @@ -91,8 +91,8 @@ void fill_scheduled_response(nr_scheduled_response_t *scheduled_response, int cc_id, frame_t frame, int slot, - void *phy_data){ - + void *phy_data) +{ scheduled_response->dl_config = dl_config; scheduled_response->ul_config = ul_config; scheduled_response->tx_request = tx_request; @@ -2137,8 +2137,6 @@ void nr_ue_pucch_scheduler(module_id_t module_idP, frame_t frameP, int slotP, vo fill_scheduled_response(&scheduled_response, NULL, ul_config, NULL, module_idP, 0 /*TBR fix*/, frameP, slotP, phy_data); if (mac->if_module != NULL && mac->if_module->scheduled_response != NULL) mac->if_module->scheduled_response(&scheduled_response); - if (mac->state == UE_WAIT_TX_ACK_MSG4) - mac->state = UE_CONNECTED; } } } diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c index 5e77829680..0b655ab010 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c @@ -1103,15 +1103,20 @@ int8_t handle_csirs_measurements(module_id_t module_id, frame_t frame, int slot, return nr_ue_process_csirs_measurements(module_id, frame, slot, csirs_measurements); } -void update_harq_status(module_id_t module_id, uint8_t harq_pid, uint8_t ack_nack) { - +void update_harq_status(module_id_t module_id, uint8_t harq_pid, uint8_t ack_nack) +{ NR_UE_MAC_INST_t *mac = get_mac_inst(module_id); NR_UE_HARQ_STATUS_t *current_harq = &mac->dl_harq_info[harq_pid]; if (current_harq->active) { - current_harq->ack = ack_nack; - current_harq->ack_received = true; - LOG_T(PHY,"Updating harq_status for harq_id %d,ack/nak %d\n",harq_pid,current_harq->ack); + LOG_D(PHY,"Updating harq_status for harq_id %d, ack/nak %d\n", harq_pid, current_harq->ack); + // we can prepare feedback for MSG4 in advance + if (mac->ra.ra_state == WAIT_CONTENTION_RESOLUTION) + prepare_msg4_feedback(mac, current_harq, ack_nack); + else { + current_harq->ack = ack_nack; + current_harq->ack_received = true; + } } else { //shouldn't get here From 59125df2782299cdd568fa2b8f6d454a2798ab21 Mon Sep 17 00:00:00 2001 From: Raphael Defosseux Date: Thu, 23 Nov 2023 11:12:27 +0100 Subject: [PATCH 36/43] CI Doc: correct CPP-Check pipeline resource Signed-off-by: Raphael Defosseux --- doc/TESTBenches.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index 5453519c3f..45f1353dfe 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -22,6 +22,7 @@ | nokiabox | 172.21.19.39 | _None_ | gNB (Nokia), 5GC | _Nokia RF integrated_ | | avra | 172.21.16.124 | CI-Avra-Usage | gNB (n78) | AW2S Jaguar (192.168.80.239) | | orion | 172.21.16.134 | CI-Orion-Build-Sanity-Check-Deploy-Test, CI-Orion-DsTester-Deploy-Test | Build | | +| bellatrix | 172.21.16.104 | CI-Bellatrix-RAN-Docker | Static Code Analysis | -- | Note: The available resources, and their current usage, is indicated here: - [Lockable resources of jenkins-oai](https://jenkins-oai.eurecom.fr/lockable-resources/): @@ -88,9 +89,9 @@ information on how the images are built. - orion: Cross-compilation from Intel to ARM - base image from `Dockerfile.base.ubuntu20.cross-arm64` - build image from `Dockerfile.build.ubuntu20.cross-arm64` (no target images) -- [RAN-cppcheck](https://jenkins-oai.eurecom.fr/job/RAN-cppcheck/1664/) +- [RAN-cppcheck](https://jenkins-oai.eurecom.fr/job/RAN-cppcheck/) ~BUILD-ONLY ~4G-LTE ~5G-NR - - obelix + - bellatrix - performs static code analysis, currently not actively enforced - [RAN-RHEL8-Cluster-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-RHEL8-Cluster-Image-Builder/) ~BUILD-ONLY ~4G-LTE ~5G-NR From d2415060436d62896693b74f695c9c89ec947aa9 Mon Sep 17 00:00:00 2001 From: francescomani Date: Thu, 23 Nov 2023 12:14:39 +0100 Subject: [PATCH 37/43] fix for L2 simulator --- openair2/LAYER2/NR_MAC_UE/mac_proto.h | 2 +- openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c | 8 +++++++- openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_UE/mac_proto.h b/openair2/LAYER2/NR_MAC_UE/mac_proto.h index f638ea789f..87c983d76e 100644 --- a/openair2/LAYER2/NR_MAC_UE/mac_proto.h +++ b/openair2/LAYER2/NR_MAC_UE/mac_proto.h @@ -364,7 +364,7 @@ void nr_get_prach_resources(module_id_t mod_id, NR_PRACH_RESOURCES_t *prach_resources, NR_RACH_ConfigDedicated_t * rach_ConfigDedicated); -void prepare_msg4_feedback(NR_UE_MAC_INST_t *mac, NR_UE_HARQ_STATUS_t *current_harq, int ack_nack); +void prepare_msg4_feedback(NR_UE_MAC_INST_t *mac, int pid, int ack_nack); void configure_initial_pucch(PUCCH_sched_t *pucch, int res_ind); void init_RA(module_id_t mod_id, diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c index 07907addc5..73228af0d1 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c @@ -951,8 +951,9 @@ void nr_ra_failed(uint8_t mod_id, uint8_t CC_id, NR_PRACH_RESOURCES_t *prach_res } } -void prepare_msg4_feedback(NR_UE_MAC_INST_t *mac, NR_UE_HARQ_STATUS_t *current_harq, int ack_nack) +void prepare_msg4_feedback(NR_UE_MAC_INST_t *mac, int pid, int ack_nack) { + NR_UE_HARQ_STATUS_t *current_harq = &mac->dl_harq_info[pid]; int sched_slot = current_harq->ul_slot; int sched_frame = current_harq->ul_frame; fapi_nr_ul_config_request_t *ul_config = get_ul_config_request(mac, sched_slot, 0); @@ -970,6 +971,11 @@ void prepare_msg4_feedback(NR_UE_MAC_INST_t *mac, NR_UE_HARQ_STATUS_t *current_h pucch.n_harq = 1; current_harq->active = false; current_harq->ack_received = false; + if (get_softmodem_params()->emulate_l1) { + mac->nr_ue_emul_l1.harq[pid].active = true; + mac->nr_ue_emul_l1.harq[pid].active_dl_harq_sfn = sched_frame; + mac->nr_ue_emul_l1.harq[pid].active_dl_harq_slot = sched_slot; + } nr_ue_configure_pucch(mac, sched_slot, mac->ra.t_crnti, diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c index 0b655ab010..b8ccdf3d8d 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c @@ -1112,7 +1112,7 @@ void update_harq_status(module_id_t module_id, uint8_t harq_pid, uint8_t ack_nac LOG_D(PHY,"Updating harq_status for harq_id %d, ack/nak %d\n", harq_pid, current_harq->ack); // we can prepare feedback for MSG4 in advance if (mac->ra.ra_state == WAIT_CONTENTION_RESOLUTION) - prepare_msg4_feedback(mac, current_harq, ack_nack); + prepare_msg4_feedback(mac, harq_pid, ack_nack); else { current_harq->ack = ack_nack; current_harq->ack_received = true; From d6abd0117a39676de8db091b15d069b351ba2661 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Mon, 20 Nov 2023 14:57:57 +0000 Subject: [PATCH 38/43] Add config file for FDD band 1 and 15 kHz SCS --- .../CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf | 264 ++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf new file mode 100644 index 0000000000..c025ea498d --- /dev/null +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf @@ -0,0 +1,264 @@ +Active_gNBs = ( "gNB-OAI"); +# Asn1_verbosity, choice in: none, info, annoying +Asn1_verbosity = "none"; + +sa = 1; + +gNBs = +( + { + ////////// Identification parameters: + gNB_ID = 0xe00; + gNB_name = "gNB-OAI"; + + // Tracking area code, 0x0000 and 0xfffe are reserved values + tracking_area_code = 1; + plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) }); + + nr_cellid = 12345678L; + + ////////// Physical parameters: + + do_CSIRS = 1; + do_SRS = 1; + + servingCellConfigCommon = ( + { + #spCellConfigCommon + + physCellId = 0; + +# downlinkConfigCommon + #frequencyInfoDL + # this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP) + absoluteFrequencySSB = 423130; + dl_frequencyBand = 1; + # this is 3600 MHz + dl_absoluteFrequencyPointA = 422194; + #scs-SpecificCarrierList + dl_offstToCarrier = 0; +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + dl_subcarrierSpacing = 0; + dl_carrierBandwidth = 52; + #initialDownlinkBWP + #genericParameters + # this is RBstart=27,L=48 (275*(L-1))+RBstart + initialDLBWPlocationAndBandwidth = 14025; +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + initialDLBWPsubcarrierSpacing = 0; + #pdcch-ConfigCommon + initialDLBWPcontrolResourceSetZero = 7; + initialDLBWPsearchSpaceZero = 0; + + #uplinkConfigCommon + #frequencyInfoUL + ul_frequencyBand = 1; + ul_absoluteFrequencyPointA = 384194; + #scs-SpecificCarrierList + ul_offstToCarrier = 0; +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + ul_subcarrierSpacing = 0; + ul_carrierBandwidth = 52; + pMax = 20; + #initialUplinkBWP + #genericParameters + initialULBWPlocationAndBandwidth = 14025; +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + initialULBWPsubcarrierSpacing = 0; + #rach-ConfigCommon + #rach-ConfigGeneric + prach_ConfigurationIndex = 98; +#prach_msg1_FDM +#0 = one, 1=two, 2=four, 3=eight + prach_msg1_FDM = 0; + prach_msg1_FrequencyStart = 0; + zeroCorrelationZoneConfig = 12; + preambleReceivedTargetPower = -90; +#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200) + preambleTransMax = 6; +#powerRampingStep +# 0=dB0,1=dB2,2=dB4,3=dB6 + powerRampingStep = 1; +#ra_ReponseWindow +#1,2,4,8,10,20,40,80 + ra_ResponseWindow = 4; +#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR +#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen + ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3; +#oneHalf (0..15) 4,8,12,16,...60,64 + ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15; +#ra_ContentionResolutionTimer +#(0..7) 8,16,24,32,40,48,56,64 + ra_ContentionResolutionTimer = 7; + rsrp_ThresholdSSB = 19; +#prach-RootSequenceIndex_PR +#1 = 839, 2 = 139 + prach_RootSequenceIndex_PR = 2; + prach_RootSequenceIndex = 1; + # SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex + # + msg1_SubcarrierSpacing = 0; +# restrictedSetConfig +# 0=unrestricted, 1=restricted type A, 2=restricted type B + restrictedSetConfig = 0; + + msg3_DeltaPreamble = 1; + p0_NominalWithGrant =-90; + +# pucch-ConfigCommon setup : +# pucchGroupHopping +# 0 = neither, 1= group hopping, 2=sequence hopping + pucchGroupHopping = 0; + hoppingId = 40; + p0_nominal = -70; + n_TimingAdvanceOffset = 0; + +# ssb_PositionsInBurs_BitmapPR +# 1=short, 2=medium, 3=long + ssb_PositionsInBurst_PR = 2; + ssb_PositionsInBurst_Bitmap = 1; + +# ssb_periodicityServingCell +# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1 + ssb_periodicityServingCell = 2; + +# dmrs_TypeA_position +# 0 = pos2, 1 = pos3 + dmrs_TypeA_Position = 0; + +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + subcarrierSpacing = 0; + + + #tdd-UL-DL-ConfigurationCommon +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + referenceSubcarrierSpacing = 0; + # pattern1 + + ssPBCH_BlockPower = -25; + } + + ); + + + # ------- SCTP definitions + SCTP : + { + # Number of streams to use in input/output + SCTP_INSTREAMS = 2; + SCTP_OUTSTREAMS = 2; + }; + + + ////////// AMF parameters: + amf_ip_address = ( { ipv4 = "192.168.70.132"; + ipv6 = "192:168:30::17"; + active = "yes"; + preference = "ipv4"; + } + ); + + + NETWORK_INTERFACES : + { + GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai"; + GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24"; + GNB_INTERFACE_NAME_FOR_NGU = "demo-oai"; + GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24"; + GNB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + } +); + +MACRLCs = ( +{ + num_cc = 1; + tr_s_preference = "local_L1"; + tr_n_preference = "local_RRC"; + pusch_TargetSNRx10 = 200; + pucch_TargetSNRx10 = 200; + ul_max_mcs = 28; +} +); + +L1s = ( +{ + num_cc = 1; + tr_n_preference = "local_mac"; + prach_dtx_threshold = 120; + pucch0_dtx_threshold = 100; + ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0 +} +); + +RUs = ( +{ + local_rf = "yes" + nb_tx = 1 + nb_rx = 1 + att_tx = 10; + att_rx = 10; + bands = [1]; + max_pdschReferenceSignalPower = -27; + max_rxgain = 114; + eNB_instances = [0]; + #beamforming 1x4 matrix: + bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000]; + clock_src = "internal"; +} +); + +THREAD_STRUCT = ( +{ + #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT" + parallel_config = "PARALLEL_SINGLE_THREAD"; + #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE" + worker_config = "WORKER_ENABLE"; +} +); + +rfsimulator : +{ + serveraddr = "server"; + serverport = 4043; + options = (); #("saviq"); or/and "chanmod" + modelname = "AWGN"; + IQfile = "/tmp/rfsimulator.iqs"; +}; + +security = { + # preferred ciphering algorithms + # the first one of the list that an UE supports in chosen + # valid values: nea0, nea1, nea2, nea3 + ciphering_algorithms = ( "nea0" ); + + # preferred integrity algorithms + # the first one of the list that an UE supports in chosen + # valid values: nia0, nia1, nia2, nia3 + integrity_algorithms = ( "nia2", "nia0" ); + + # setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter + # what 'ciphering_algorithms' configures; same thing for 'drb_integrity' + drb_ciphering = "yes"; + drb_integrity = "no"; +}; + +log_config : +{ + global_log_level ="info"; + hw_log_level ="info"; + phy_log_level ="info"; + mac_log_level ="info"; + rlc_log_level ="info"; + pdcp_log_level ="info"; + rrc_log_level ="info"; + ngap_log_level ="debug"; + f1ap_log_level ="debug"; +}; From 18e59d3c2e3ab659fbeba1d52ee1a119821a2698 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Wed, 22 Nov 2023 15:57:47 +0100 Subject: [PATCH 39/43] lte: switch to RRC release 16.13.0 A COTS UE is sending UE capabilities with accessStratumRelease "rel16" which is not decoded by our RRC. Switching to RRC 16.13.0 lets our RRC accept these capabilities (and as a positive side effect lets this particular UE work nicely in NSA fr1). --- .../LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.asn1 | 20637 ++++++++++++++++ .../LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.cmake | 5530 +++++ openair2/RRC/LTE/MESSAGES/CMakeLists.txt | 6 +- openair2/RRC/LTE/MESSAGES/asn1_msg.c | 8 +- openair2/RRC/LTE/rrc_UE.c | 7 +- openair2/RRC/LTE/rrc_eNB.c | 2 +- openair2/RRC/LTE/rrc_eNB_M2AP.c | 24 + 7 files changed, 26206 insertions(+), 8 deletions(-) create mode 100644 openair2/RRC/LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.asn1 create mode 100644 openair2/RRC/LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.cmake diff --git a/openair2/RRC/LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.asn1 b/openair2/RRC/LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.asn1 new file mode 100644 index 0000000000..337c9b0fd0 --- /dev/null +++ b/openair2/RRC/LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.asn1 @@ -0,0 +1,20637 @@ + +EUTRA-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + + +BCCH-BCH-Message ::= SEQUENCE { + message BCCH-BCH-MessageType +} + +BCCH-BCH-MessageType ::= MasterInformationBlock + + +BCCH-BCH-Message-MBMS::= SEQUENCE { + message BCCH-BCH-MessageType-MBMS-r14 +} + +BCCH-BCH-MessageType-MBMS-r14 ::= MasterInformationBlock-MBMS-r14 + + +BCCH-DL-SCH-Message ::= SEQUENCE { + message BCCH-DL-SCH-MessageType +} + +BCCH-DL-SCH-MessageType ::= CHOICE { + c1 CHOICE { + systemInformation SystemInformation, + systemInformationBlockType1 SystemInformationBlockType1 + }, + messageClassExtension SEQUENCE {} +} + + +BCCH-DL-SCH-Message-BR ::= SEQUENCE { + message BCCH-DL-SCH-MessageType-BR-r13 +} + +BCCH-DL-SCH-MessageType-BR-r13 ::= CHOICE { + c1 CHOICE { + systemInformation-BR-r13 SystemInformation-BR-r13, + systemInformationBlockType1-BR-r13 SystemInformationBlockType1-BR-r13 + }, + messageClassExtension SEQUENCE {} +} + + +BCCH-DL-SCH-Message-MBMS ::= SEQUENCE { + message BCCH-DL-SCH-MessageType-MBMS-r14 +} + +BCCH-DL-SCH-MessageType-MBMS-r14 ::= CHOICE { + c1 CHOICE { + systemInformation-MBMS-r14 SystemInformation-MBMS-r14, + systemInformationBlockType1-MBMS-r14 SystemInformationBlockType1-MBMS-r14 + }, + messageClassExtension SEQUENCE {} +} + + +MCCH-Message ::= SEQUENCE { + message MCCH-MessageType +} + +MCCH-MessageType ::= CHOICE { + c1 CHOICE { + mbsfnAreaConfiguration-r9 MBSFNAreaConfiguration-r9 + }, + later CHOICE { + c2 CHOICE{ + mbmsCountingRequest-r10 MBMSCountingRequest-r10 + }, + messageClassExtension SEQUENCE {} + } +} + + +PCCH-Message ::= SEQUENCE { + message PCCH-MessageType +} + +PCCH-MessageType ::= CHOICE { + c1 CHOICE { + paging Paging + }, + messageClassExtension SEQUENCE {} +} + + +DL-CCCH-Message ::= SEQUENCE { + message DL-CCCH-MessageType +} + +DL-CCCH-MessageType ::= CHOICE { + c1 CHOICE { + rrcConnectionReestablishment RRCConnectionReestablishment, + rrcConnectionReestablishmentReject RRCConnectionReestablishmentReject, + rrcConnectionReject RRCConnectionReject, + rrcConnectionSetup RRCConnectionSetup + }, + messageClassExtension CHOICE { + c2 CHOICE { + rrcEarlyDataComplete-r15 RRCEarlyDataComplete-r15, + spare3 NULL, spare2 NULL, spare1 NULL + }, + messageClassExtensionFuture-r15 SEQUENCE {} + } +} + + +DL-DCCH-Message ::= SEQUENCE { + message DL-DCCH-MessageType +} + +DL-DCCH-MessageType ::= CHOICE { + c1 CHOICE { + csfbParametersResponseCDMA2000 CSFBParametersResponseCDMA2000, + dlInformationTransfer DLInformationTransfer, + handoverFromEUTRAPreparationRequest HandoverFromEUTRAPreparationRequest, + mobilityFromEUTRACommand MobilityFromEUTRACommand, + rrcConnectionReconfiguration RRCConnectionReconfiguration, + rrcConnectionRelease RRCConnectionRelease, + securityModeCommand SecurityModeCommand, + ueCapabilityEnquiry UECapabilityEnquiry, + counterCheck CounterCheck, + ueInformationRequest-r9 UEInformationRequest-r9, + loggedMeasurementConfiguration-r10 LoggedMeasurementConfiguration-r10, + rnReconfiguration-r10 RNReconfiguration-r10, + rrcConnectionResume-r13 RRCConnectionResume-r13, + dlDedicatedMessageSegment-r16 DLDedicatedMessageSegment-r16, + spare2 NULL, spare1 NULL + }, + messageClassExtension SEQUENCE {} +} + + +UL-CCCH-Message ::= SEQUENCE { + message UL-CCCH-MessageType +} + +UL-CCCH-MessageType ::= CHOICE { + c1 CHOICE { + rrcConnectionReestablishmentRequest RRCConnectionReestablishmentRequest, + rrcConnectionRequest RRCConnectionRequest + }, + messageClassExtension CHOICE { + c2 CHOICE { + rrcConnectionResumeRequest-r13 RRCConnectionResumeRequest-r13 + }, + messageClassExtensionFuture-r13 CHOICE { + c3 CHOICE { + rrcEarlyDataRequest-r15 RRCEarlyDataRequest-r15, + spare3 NULL, spare2 NULL, spare1 NULL + }, + messageClassExtensionFuture-r15 SEQUENCE {} + } + } +} + + +UL-DCCH-Message ::= SEQUENCE { + message UL-DCCH-MessageType +} + +UL-DCCH-MessageType ::= CHOICE { + c1 CHOICE { + csfbParametersRequestCDMA2000 CSFBParametersRequestCDMA2000, + measurementReport MeasurementReport, + rrcConnectionReconfigurationComplete RRCConnectionReconfigurationComplete, + rrcConnectionReestablishmentComplete RRCConnectionReestablishmentComplete, + rrcConnectionSetupComplete RRCConnectionSetupComplete, + securityModeComplete SecurityModeComplete, + securityModeFailure SecurityModeFailure, + ueCapabilityInformation UECapabilityInformation, + ulHandoverPreparationTransfer ULHandoverPreparationTransfer, + ulInformationTransfer ULInformationTransfer, + counterCheckResponse CounterCheckResponse, + ueInformationResponse-r9 UEInformationResponse-r9, + proximityIndication-r9 ProximityIndication-r9, + rnReconfigurationComplete-r10 RNReconfigurationComplete-r10, + mbmsCountingResponse-r10 MBMSCountingResponse-r10, + interFreqRSTDMeasurementIndication-r10 InterFreqRSTDMeasurementIndication-r10 + }, + messageClassExtension CHOICE { + c2 CHOICE { + ueAssistanceInformation-r11 UEAssistanceInformation-r11, + inDeviceCoexIndication-r11 InDeviceCoexIndication-r11, + mbmsInterestIndication-r11 MBMSInterestIndication-r11, + scgFailureInformation-r12 SCGFailureInformation-r12, + sidelinkUEInformation-r12 SidelinkUEInformation-r12, + wlanConnectionStatusReport-r13 WLANConnectionStatusReport-r13, + rrcConnectionResumeComplete-r13 RRCConnectionResumeComplete-r13, + ulInformationTransferMRDC-r15 ULInformationTransferMRDC-r15, + scgFailureInformationNR-r15 SCGFailureInformationNR-r15, + measReportAppLayer-r15 MeasReportAppLayer-r15, + failureInformation-r15 FailureInformation-r15, + ulDedicatedMessageSegment-r16 ULDedicatedMessageSegment-r16, + purConfigurationRequest-r16 PURConfigurationRequest-r16, + failureInformation-r16 FailureInformation-r16, + mcgFailureInformation-r16 MCGFailureInformation-r16, + ulInformationTransferIRAT-r16 ULInformationTransferIRAT-r16 + }, + messageClassExtensionFuture-r11 + SEQUENCE {} + } +} + + +SC-MCCH-Message-r13 ::= SEQUENCE { + message SC-MCCH-MessageType-r13 +} + + +SC-MCCH-MessageType-r13 ::= CHOICE { + c1 CHOICE { + scptmConfiguration-r13 SCPTMConfiguration-r13 + }, + messageClassExtension CHOICE { + c2 CHOICE { + scptmConfiguration-BR-r14 SCPTMConfiguration-BR-r14, + spare NULL + }, + messageClassExtensionFuture-r14 SEQUENCE {} + } +} + + +CounterCheck ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + counterCheck-r8 CounterCheck-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +CounterCheck-r8-IEs ::= SEQUENCE { + drb-CountMSB-InfoList DRB-CountMSB-InfoList, + nonCriticalExtension CounterCheck-v8a0-IEs OPTIONAL +} + +CounterCheck-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension CounterCheck-v1530-IEs OPTIONAL +} + +CounterCheck-v1530-IEs ::= SEQUENCE { + drb-CountMSB-InfoListExt-r15 DRB-CountMSB-InfoListExt-r15 OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +DRB-CountMSB-InfoList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info + +DRB-CountMSB-InfoListExt-r15 ::= SEQUENCE (SIZE (1..maxDRBExt-r15)) OF DRB-CountMSB-Info + +DRB-CountMSB-Info ::= SEQUENCE { + drb-Identity DRB-Identity, + countMSB-Uplink INTEGER(0..33554431), + countMSB-Downlink INTEGER(0..33554431) +} + + +CounterCheckResponse ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + counterCheckResponse-r8 CounterCheckResponse-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +CounterCheckResponse-r8-IEs ::= SEQUENCE { + drb-CountInfoList DRB-CountInfoList, + nonCriticalExtension CounterCheckResponse-v8a0-IEs OPTIONAL +} + +CounterCheckResponse-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension CounterCheckResponse-v1530-IEs OPTIONAL +} + +CounterCheckResponse-v1530-IEs ::= SEQUENCE { + drb-CountInfoListExt-r15 DRB-CountInfoListExt-r15 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +DRB-CountInfoList ::= SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo + +DRB-CountInfoListExt-r15 ::= SEQUENCE (SIZE (1..maxDRBExt-r15)) OF DRB-CountInfo + +DRB-CountInfo ::= SEQUENCE { + drb-Identity DRB-Identity, + count-Uplink INTEGER(0..4294967295), + count-Downlink INTEGER(0..4294967295) +} + + +CSFBParametersRequestCDMA2000 ::= SEQUENCE { + criticalExtensions CHOICE { + csfbParametersRequestCDMA2000-r8 CSFBParametersRequestCDMA2000-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +CSFBParametersRequestCDMA2000-r8-IEs ::= SEQUENCE { + nonCriticalExtension CSFBParametersRequestCDMA2000-v8a0-IEs OPTIONAL +} + +CSFBParametersRequestCDMA2000-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +CSFBParametersResponseCDMA2000 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + csfbParametersResponseCDMA2000-r8 CSFBParametersResponseCDMA2000-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +CSFBParametersResponseCDMA2000-r8-IEs ::= SEQUENCE { + rand RAND-CDMA2000, + mobilityParameters MobilityParametersCDMA2000, + nonCriticalExtension CSFBParametersResponseCDMA2000-v8a0-IEs OPTIONAL +} + +CSFBParametersResponseCDMA2000-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +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 +} + + +DLInformationTransfer ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + dlInformationTransfer-r8 DLInformationTransfer-r8-IEs, + dlInformationTransfer-r15 DLInformationTransfer-r15-IEs, + spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +DLInformationTransfer-r8-IEs ::= SEQUENCE { + dedicatedInfoType CHOICE { + dedicatedInfoNAS DedicatedInfoNAS, + dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000, + dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000 + }, + nonCriticalExtension DLInformationTransfer-v8a0-IEs OPTIONAL +} + +DLInformationTransfer-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension DLInformationTransfer-v1610-IEs OPTIONAL +} + +DLInformationTransfer-r15-IEs ::= SEQUENCE { + dedicatedInfoType-r15 CHOICE { + dedicatedInfoNAS DedicatedInfoNAS, + dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000, + dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000 + } OPTIONAL, -- Need ON + timeReferenceInfo-r15 TimeReferenceInfo-r15 OPTIONAL, -- Need ON + nonCriticalExtension DLInformationTransfer-v8a0-IEs OPTIONAL +} + +DLInformationTransfer-v1610-IEs ::= SEQUENCE { + dedicatedInfoF1c-r16 DedicatedInfoF1c-r16 OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +FailureInformation-r15 ::= SEQUENCE { + failedLogicalChannelInfo-r15 FailedLogicalChannelInfo-r15 OPTIONAL + -- nonCriticalExtension is removed in this version as OPTIONAL was missing +} + +FailureInformation-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + failureInformation-r16 FailureInformation-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +FailedLogicalChannelInfo-r15 ::= SEQUENCE { + failedLogicalChannelIdentity-r15 SEQUENCE { + cellGroupIndication-r15 ENUMERATED {mn, sn}, + logicalChannelIdentity-r15 INTEGER (1..10) OPTIONAL, + logicalChannelIdentityExt-r15 INTEGER (32..38) OPTIONAL + }, + failureType ENUMERATED {duplication, spare3, spare2, spare1} +} + +FailureInformation-r16-IEs ::= SEQUENCE { + failedLogicalChannelIdentity-r16 FailedLogicalChannelIdentity-r16 OPTIONAL, + failureType-r16 ENUMERATED {duplication, dapsHO-failure, + spare2, spare1} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +FailedLogicalChannelIdentity-r16 ::= SEQUENCE { + cellGroupIndication-r16 ENUMERATED {mn, sn}, + logicalChannelIdentity-r16 INTEGER (1..10) OPTIONAL, + logicalChannelIdentityExt-r16 INTEGER (32..38) OPTIONAL +} + + +HandoverFromEUTRAPreparationRequest ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + handoverFromEUTRAPreparationRequest-r8 HandoverFromEUTRAPreparationRequest-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +HandoverFromEUTRAPreparationRequest-r8-IEs ::= SEQUENCE { + cdma2000-Type CDMA2000-Type, + rand RAND-CDMA2000 OPTIONAL, -- Cond cdma2000-Type + mobilityParameters MobilityParametersCDMA2000 OPTIONAL, -- Cond cdma2000-Type + nonCriticalExtension HandoverFromEUTRAPreparationRequest-v890-IEs OPTIONAL +} + +HandoverFromEUTRAPreparationRequest-v890-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension HandoverFromEUTRAPreparationRequest-v920-IEs OPTIONAL +} + +HandoverFromEUTRAPreparationRequest-v920-IEs ::= SEQUENCE { + concurrPrepCDMA2000-HRPD-r9 BOOLEAN OPTIONAL, -- Cond cdma2000-Type + nonCriticalExtension HandoverFromEUTRAPreparationRequest-v1020-IEs OPTIONAL +} + +HandoverFromEUTRAPreparationRequest-v1020-IEs ::= SEQUENCE { + dualRxTxRedirectIndicator-r10 ENUMERATED {true} OPTIONAL, -- Cond cdma2000-1XRTT + redirectCarrierCDMA2000-1XRTT-r10 CarrierFreqCDMA2000 OPTIONAL, -- Cond dualRxTxRedirect + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +InDeviceCoexIndication-r11 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + inDeviceCoexIndication-r11 InDeviceCoexIndication-r11-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +InDeviceCoexIndication-r11-IEs ::= SEQUENCE { + affectedCarrierFreqList-r11 AffectedCarrierFreqList-r11 OPTIONAL, + tdm-AssistanceInfo-r11 TDM-AssistanceInfo-r11 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension InDeviceCoexIndication-v11d0-IEs OPTIONAL +} + +InDeviceCoexIndication-v11d0-IEs ::= SEQUENCE { + ul-CA-AssistanceInfo-r11 SEQUENCE { + affectedCarrierFreqCombList-r11 AffectedCarrierFreqCombList-r11 OPTIONAL, + victimSystemType-r11 VictimSystemType-r11 + } OPTIONAL, + nonCriticalExtension InDeviceCoexIndication-v1310-IEs OPTIONAL +} + +InDeviceCoexIndication-v1310-IEs ::= SEQUENCE { + affectedCarrierFreqList-v1310 AffectedCarrierFreqList-v1310 OPTIONAL, + affectedCarrierFreqCombList-r13 AffectedCarrierFreqCombList-r13 OPTIONAL, + nonCriticalExtension InDeviceCoexIndication-v1360-IEs OPTIONAL +} + +InDeviceCoexIndication-v1360-IEs ::= SEQUENCE { + hardwareSharingProblem-r13 ENUMERATED {true} OPTIONAL, + nonCriticalExtension InDeviceCoexIndication-v1530-IEs OPTIONAL +} + +InDeviceCoexIndication-v1530-IEs ::= SEQUENCE { + mrdc-AssistanceInfo-r15 MRDC-AssistanceInfo-r15 OPTIONAL, + nonCriticalExtension InDeviceCoexIndication-v1610-IEs OPTIONAL +} + +InDeviceCoexIndication-v1610-IEs::= SEQUENCE { + victimSystemType-v1610 VictimSystemType-v1610 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +AffectedCarrierFreqList-r11 ::= SEQUENCE (SIZE (1..maxFreqIDC-r11)) OF AffectedCarrierFreq-r11 + +AffectedCarrierFreqList-v1310 ::= SEQUENCE (SIZE (1..maxFreqIDC-r11)) OF AffectedCarrierFreq-v1310 + +AffectedCarrierFreq-r11 ::= SEQUENCE { + carrierFreq-r11 MeasObjectId, + interferenceDirection-r11 ENUMERATED {eutra, other, both, spare} +} + +AffectedCarrierFreq-v1310 ::= SEQUENCE { + carrierFreq-v1310 MeasObjectId-v1310 OPTIONAL +} + +AffectedCarrierFreqCombList-r11 ::= SEQUENCE (SIZE (1..maxCombIDC-r11)) OF AffectedCarrierFreqComb-r11 + +AffectedCarrierFreqCombList-r13 ::= SEQUENCE (SIZE (1..maxCombIDC-r11)) OF AffectedCarrierFreqComb-r13 + +AffectedCarrierFreqComb-r11 ::= SEQUENCE (SIZE (2..maxServCell-r10)) OF MeasObjectId + +AffectedCarrierFreqComb-r13 ::= SEQUENCE (SIZE (2..maxServCell-r13)) OF MeasObjectId-r13 + +TDM-AssistanceInfo-r11 ::= CHOICE { + drx-AssistanceInfo-r11 SEQUENCE { + drx-CycleLength-r11 ENUMERATED {sf40, sf64, sf80, sf128, sf160, + sf256, spare2, spare1}, + drx-Offset-r11 INTEGER (0..255) OPTIONAL, + drx-ActiveTime-r11 ENUMERATED {sf20, sf30, sf40, sf60, sf80, + sf100, spare2, spare1} + }, + idc-SubframePatternList-r11 IDC-SubframePatternList-r11, + ... +} + +IDC-SubframePatternList-r11 ::= SEQUENCE (SIZE (1..maxSubframePatternIDC-r11)) OF IDC-SubframePattern-r11 + +IDC-SubframePattern-r11 ::= CHOICE { + subframePatternFDD-r11 BIT STRING (SIZE (4)), + subframePatternTDD-r11 CHOICE { + subframeConfig0-r11 BIT STRING (SIZE (70)), + subframeConfig1-5-r11 BIT STRING (SIZE (10)), + subframeConfig6-r11 BIT STRING (SIZE (60)) + }, + ... +} + +VictimSystemType-r11 ::= SEQUENCE { + gps-r11 ENUMERATED {true} OPTIONAL, + glonass-r11 ENUMERATED {true} OPTIONAL, + bds-r11 ENUMERATED {true} OPTIONAL, + galileo-r11 ENUMERATED {true} OPTIONAL, + wlan-r11 ENUMERATED {true} OPTIONAL, + bluetooth-r11 ENUMERATED {true} OPTIONAL +} + +VictimSystemType-v1610 ::= SEQUENCE { + navic-r16 ENUMERATED {true} OPTIONAL +} + +MRDC-AssistanceInfo-r15 ::= SEQUENCE { + affectedCarrierFreqCombInfoListMRDC-r15 SEQUENCE (SIZE (1..maxCombIDC-r11)) OF AffectedCarrierFreqCombInfoMRDC-r15, + ..., + [[ affectedCarrierFreqCombInfoListMRDC-v1610 SEQUENCE (SIZE (1..maxCombIDC-r11)) OF VictimSystemType-v1610 OPTIONAL + ]] +} + +AffectedCarrierFreqCombInfoMRDC-r15 ::= SEQUENCE { + victimSystemType-r15 VictimSystemType-r11, + interferenceDirectionMRDC-r15 ENUMERATED {eutra-nr, nr, other, eutra-nr-other, + nr-other, spare3, spare2, spare1}, + affectedCarrierFreqCombMRDC-r15 SEQUENCE { + affectedCarrierFreqCombEUTRA-r15 AffectedCarrierFreqComb-r15 OPTIONAL, + affectedCarrierFreqCombNR-r15 AffectedCarrierFreqCombNR-r15 + } OPTIONAL +} + +AffectedCarrierFreqComb-r15 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasObjectId-r13 + +AffectedCarrierFreqCombNR-r15 ::= SEQUENCE (SIZE (1..maxServCellNR-r15)) OF ARFCN-ValueNR-r15 + + +InterFreqRSTDMeasurementIndication-r10 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + interFreqRSTDMeasurementIndication-r10 InterFreqRSTDMeasurementIndication-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +InterFreqRSTDMeasurementIndication-r10-IEs ::= SEQUENCE { + rstd-InterFreqIndication-r10 CHOICE { + start SEQUENCE { + rstd-InterFreqInfoList-r10 RSTD-InterFreqInfoList-r10 + }, + stop NULL + }, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RSTD-InterFreqInfoList-r10 ::= SEQUENCE (SIZE(1..maxRSTD-Freq-r10)) OF RSTD-InterFreqInfo-r10 + +RSTD-InterFreqInfo-r10 ::= SEQUENCE { + carrierFreq-r10 ARFCN-ValueEUTRA, + measPRS-Offset-r10 INTEGER (0..39), + ..., + [[ carrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL + ]], + [[ measPRS-Offset-r15 CHOICE { + rstd0-r15 INTEGER (0..79), + rstd1-r15 INTEGER (0..159), + rstd2-r15 INTEGER (0..319), + rstd3-r15 INTEGER (0..639), + rstd4-r15 INTEGER (0..1279), + rstd5-r15 INTEGER (0..159), + rstd6-r15 INTEGER (0..319), + rstd7-r15 INTEGER (0..639), + rstd8-r15 INTEGER (0..1279), + rstd9-r15 INTEGER (0..319), + rstd10-r15 INTEGER (0..639), + rstd11-r15 INTEGER (0..1279), + rstd12-r15 INTEGER (0..319), + rstd13-r15 INTEGER (0..639), + rstd14-r15 INTEGER (0..1279), + rstd15-r15 INTEGER (0..639), + rstd16-r15 INTEGER (0..1279), + rstd17-r15 INTEGER (0..639), + rstd18-r15 INTEGER (0..1279), + rstd19-r15 INTEGER (0..639), + rstd20-r15 INTEGER (0..1279) + } OPTIONAL + ]] +} + + +LoggedMeasurementConfiguration-r10 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + loggedMeasurementConfiguration-r10 LoggedMeasurementConfiguration-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + + +LoggedMeasurementConfiguration-r10-IEs ::= SEQUENCE { + traceReference-r10 TraceReference-r10, + traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), + tce-Id-r10 OCTET STRING (SIZE (1)), + absoluteTimeInfo-r10 AbsoluteTimeInfo-r10, + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, -- Need OR + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10, + nonCriticalExtension LoggedMeasurementConfiguration-v1080-IEs OPTIONAL +} + +LoggedMeasurementConfiguration-v1080-IEs ::= SEQUENCE { + lateNonCriticalExtension-r10 OCTET STRING OPTIONAL, + nonCriticalExtension LoggedMeasurementConfiguration-v1130-IEs OPTIONAL +} + +LoggedMeasurementConfiguration-v1130-IEs ::= SEQUENCE { + plmn-IdentityList-r11 PLMN-IdentityList3-r11 OPTIONAL, -- Need OR + areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, -- Need OR + nonCriticalExtension LoggedMeasurementConfiguration-v1250-IEs OPTIONAL +} + +LoggedMeasurementConfiguration-v1250-IEs ::= SEQUENCE { + targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL, -- Need OP + nonCriticalExtension LoggedMeasurementConfiguration-v1530-IEs OPTIONAL +} + +LoggedMeasurementConfiguration-v1530-IEs ::= SEQUENCE { + bt-NameList-r15 BT-NameList-r15 OPTIONAL, --Need OR + wlan-NameList-r15 WLAN-NameList-r15 OPTIONAL, --Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +TargetMBSFN-AreaList-r12 ::= SEQUENCE (SIZE (0..maxMBSFN-Area)) OF TargetMBSFN-Area-r12 + +TargetMBSFN-Area-r12 ::= SEQUENCE { + mbsfn-AreaId-r12 MBSFN-AreaId-r12 OPTIONAL, -- Need OR + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + ... +} + + +MasterInformationBlock ::= SEQUENCE { + dl-Bandwidth ENUMERATED { + n6, n15, n25, n50, n75, n100}, + phich-Config PHICH-Config, + systemFrameNumber BIT STRING (SIZE (8)), + schedulingInfoSIB1-BR-r13 INTEGER (0..31), + systemInfoUnchanged-BR-r15 BOOLEAN, + spare BIT STRING (SIZE (4)) +} + + + +MasterInformationBlock-MBMS-r14 ::= SEQUENCE { + dl-Bandwidth-MBMS-r14 ENUMERATED { + n6, n15, n25, n50, n75, n100}, + systemFrameNumber-r14 BIT STRING (SIZE (6)), + additionalNonMBSFNSubframes-r14 INTEGER (0..3), + semiStaticCFI-MBMS-r16 INTEGER (0..3), + spare BIT STRING (SIZE (11)) +} + + +MBMSCountingRequest-r10 ::= SEQUENCE { + countingRequestList-r10 CountingRequestList-r10, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +CountingRequestList-r10 ::= SEQUENCE (SIZE (1..maxServiceCount)) OF CountingRequestInfo-r10 + +CountingRequestInfo-r10 ::= SEQUENCE { + tmgi-r10 TMGI-r9, + ... +} + + +MBMSCountingResponse-r10 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + countingResponse-r10 MBMSCountingResponse-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +MBMSCountingResponse-r10-IEs ::= SEQUENCE { + mbsfn-AreaIndex-r10 INTEGER (0..maxMBSFN-Area-1) OPTIONAL, + countingResponseList-r10 CountingResponseList-r10 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +CountingResponseList-r10 ::= SEQUENCE (SIZE (1..maxServiceCount)) OF CountingResponseInfo-r10 + +CountingResponseInfo-r10 ::= SEQUENCE { + countingResponseService-r10 INTEGER (0..maxServiceCount-1), + ... +} + + +MBMSInterestIndication-r11 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + interestIndication-r11 MBMSInterestIndication-r11-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +MBMSInterestIndication-r11-IEs ::= SEQUENCE { + mbms-FreqList-r11 CarrierFreqListMBMS-r11 OPTIONAL, + mbms-Priority-r11 ENUMERATED {true} OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MBMSInterestIndication-v1310-IEs OPTIONAL +} + +MBMSInterestIndication-v1310-IEs ::= SEQUENCE { + mbms-Services-r13 MBMS-ServiceList-r13 OPTIONAL, + nonCriticalExtension MBMSInterestIndication-v1540-IEs OPTIONAL +} + +MBMSInterestIndication-v1540-IEs ::= SEQUENCE { + mbms-ROM-InfoList-r15 SEQUENCE (SIZE(1..maxMBMS-ServiceListPerUE-r13)) OF MBMS-ROM-Info-r15 OPTIONAL, + nonCriticalExtension MBMSInterestIndication-v1610-IEs OPTIONAL +} + +MBMSInterestIndication-v1610-IEs ::= SEQUENCE { + mbms-ROM-InfoList-r16 SEQUENCE (SIZE(1..maxMBMS-ServiceListPerUE-r13)) OF MBMS-ROM-Info-r16 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +MBMS-ROM-Info-r15 ::= SEQUENCE { + mbms-ROM-Freq-r15 ARFCN-ValueEUTRA-r9, + mbms-ROM-SubcarrierSpacing-r15 ENUMERATED {kHz15, kHz7dot5, kHz1dot25}, + mbms-Bandwidth-r15 ENUMERATED {n6, n15, n25, n50, n75, n100} +} + +MBMS-ROM-Info-r16 ::= SEQUENCE { + mbms-ROM-Freq-r16 ARFCN-ValueEUTRA-r9, + mbms-ROM-SubcarrierSpacing-r16 ENUMERATED {kHz2dot5, kHz0dot37}, + mbms-Bandwidth-r16 ENUMERATED {n6, n15, n25, n50, n75, n100} +} + + +MBSFNAreaConfiguration-r9 ::= SEQUENCE { + commonSF-Alloc-r9 CommonSF-AllocPatternList-r9, + commonSF-AllocPeriod-r9 ENUMERATED { + rf4, rf8, rf16, rf32, rf64, rf128, rf256}, + pmch-InfoList-r9 PMCH-InfoList-r9, + nonCriticalExtension MBSFNAreaConfiguration-v930-IEs OPTIONAL +} + +MBSFNAreaConfiguration-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MBSFNAreaConfiguration-v1250-IEs OPTIONAL +} + +MBSFNAreaConfiguration-v1250-IEs ::= SEQUENCE { + pmch-InfoListExt-r12 PMCH-InfoListExt-r12 OPTIONAL, -- Need OR + nonCriticalExtension MBSFNAreaConfiguration-v1430-IEs OPTIONAL +} + +MBSFNAreaConfiguration-v1430-IEs ::= SEQUENCE { + commonSF-Alloc-v1430 CommonSF-AllocPatternList-v1430, + nonCriticalExtension MBSFNAreaConfiguration-v1610-IEs OPTIONAL +} + +MBSFNAreaConfiguration-v1610-IEs ::= SEQUENCE { + commonSF-Alloc-v1610 CommonSF-AllocPatternList-v1610 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +CommonSF-AllocPatternList-r9 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig + +CommonSF-AllocPatternList-v1430 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig-v1430 + +CommonSF-AllocPatternList-v1610 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig-v1610 + + +MCGFailureInformation-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + mcgFailureInformation 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, spare4, + spare3, spare2, spare1} OPTIONAL, + measResultFreqListEUTRA-r16 MeasResultList3EUTRA-r15 OPTIONAL, + measResultFreqListNR-r16 MeasResultFreqListFailNR-r15 OPTIONAL, + measResultFreqListGERAN-r16 MeasResultList2GERAN-r10 OPTIONAL, + measResultFreqListUTRA-r16 MeasResultList2UTRA-r9 OPTIONAL, + measResultSCG-r16 OCTET STRING OPTIONAL, + ... +} + +MeasReportAppLayer-r15 ::= SEQUENCE { + criticalExtensions CHOICE { + measReportAppLayer-r15 MeasReportAppLayer-r15-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +MeasReportAppLayer-r15-IEs ::= SEQUENCE { + measReportAppLayerContainer-r15 OCTET STRING (SIZE(1..8000)) OPTIONAL, + serviceType-r15 ENUMERATED {qoe, qoemtsi, spare6, spare5, spare4, spare3, spare2, spare1} OPTIONAL, + nonCriticalExtension MeasReportAppLayer-v1590-IEs OPTIONAL +} + +MeasReportAppLayer-v1590-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +MeasurementReport ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + measurementReport-r8 MeasurementReport-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +MeasurementReport-r8-IEs ::= SEQUENCE { + measResults MeasResults, + nonCriticalExtension MeasurementReport-v8a0-IEs OPTIONAL +} + +MeasurementReport-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +MobilityFromEUTRACommand ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + mobilityFromEUTRACommand-r8 MobilityFromEUTRACommand-r8-IEs, + mobilityFromEUTRACommand-r9 MobilityFromEUTRACommand-r9-IEs, + spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +MobilityFromEUTRACommand-r8-IEs ::= SEQUENCE { + cs-FallbackIndicator BOOLEAN, + purpose CHOICE{ + handover Handover, + cellChangeOrder CellChangeOrder + }, + nonCriticalExtension MobilityFromEUTRACommand-v8a0-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MobilityFromEUTRACommand-v8d0-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v8d0-IEs ::= SEQUENCE { + bandIndicator BandIndicatorGERAN OPTIONAL, -- Cond GERAN + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +MobilityFromEUTRACommand-r9-IEs ::= SEQUENCE { + cs-FallbackIndicator BOOLEAN, + purpose CHOICE{ + handover Handover, + cellChangeOrder CellChangeOrder, + e-CSFB-r9 E-CSFB-r9, + ... + }, + nonCriticalExtension MobilityFromEUTRACommand-v930-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension MobilityFromEUTRACommand-v960-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v960-IEs ::= SEQUENCE { + bandIndicator BandIndicatorGERAN OPTIONAL, -- Cond GERAN + nonCriticalExtension MobilityFromEUTRACommand-v1530-IEs OPTIONAL +} + +MobilityFromEUTRACommand-v1530-IEs ::= SEQUENCE { + smtc-r15 MTC-SSB-NR-r15 OPTIONAL, -- Need OP + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +Handover ::= SEQUENCE { + targetRAT-Type ENUMERATED { + utra, geran, cdma2000-1XRTT, cdma2000-HRPD, + nr, eutra, spare2, spare1, ...}, + targetRAT-MessageContainer OCTET STRING, + nas-SecurityParamFromEUTRA OCTET STRING (SIZE (1)) OPTIONAL, -- Cond UTRAGERANEPC + systemInformation SI-OrPSI-GERAN OPTIONAL -- Cond PSHO +} + +CellChangeOrder ::= SEQUENCE { + t304 ENUMERATED { + ms100, ms200, ms500, ms1000, + ms2000, ms4000, ms8000, ms10000-v1310}, + targetRAT-Type CHOICE { + geran SEQUENCE { + physCellId PhysCellIdGERAN, + carrierFreq CarrierFreqGERAN, + networkControlOrder BIT STRING (SIZE (2)) OPTIONAL, -- Need OP + systemInformation SI-OrPSI-GERAN OPTIONAL -- Need OP + }, + ... + } +} + +SI-OrPSI-GERAN ::= CHOICE { + si SystemInfoListGERAN, + psi SystemInfoListGERAN +} + +E-CSFB-r9 ::= SEQUENCE { + messageContCDMA2000-1XRTT-r9 OCTET STRING OPTIONAL, -- Need ON + mobilityCDMA2000-HRPD-r9 ENUMERATED { + handover, redirection + } OPTIONAL, -- Need OP + messageContCDMA2000-HRPD-r9 OCTET STRING OPTIONAL, -- Cond concHO + redirectCarrierCDMA2000-HRPD-r9 CarrierFreqCDMA2000 OPTIONAL -- Cond concRedir +} + + +Paging ::= SEQUENCE { + pagingRecordList PagingRecordList OPTIONAL, -- Need ON + systemInfoModification ENUMERATED {true} OPTIONAL, -- Need ON + etws-Indication ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension Paging-v890-IEs OPTIONAL +} + +Paging-v890-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension Paging-v920-IEs OPTIONAL +} + +Paging-v920-IEs ::= SEQUENCE { + cmas-Indication-r9 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension Paging-v1130-IEs OPTIONAL +} + +Paging-v1130-IEs ::= SEQUENCE { + eab-ParamModification-r11 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension Paging-v1310-IEs OPTIONAL +} + +Paging-v1310-IEs ::= SEQUENCE { + redistributionIndication-r13 ENUMERATED {true} OPTIONAL, -- Need ON + systemInfoModification-eDRX-r13 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension Paging-v1530-IEs OPTIONAL +} + +Paging-v1530-IEs ::= SEQUENCE { + accessType ENUMERATED {non3GPP} OPTIONAL, -- Need ON + nonCriticalExtension Paging-v1610-IEs OPTIONAL +} + +Paging-v1610-IEs ::= SEQUENCE { + pagingRecordList-v1610 PagingRecordList-v1610 OPTIONAL, -- Need ON + uac-ParamModification-r16 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PagingRecordList ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord + +PagingRecordList-v1610 ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord-v1610 + +PagingRecord ::= SEQUENCE { + ue-Identity PagingUE-Identity, + cn-Domain ENUMERATED {ps, cs}, + ... +} + +PagingRecord-v1610 ::= SEQUENCE { + accessType-r16 ENUMERATED {non3GPP} OPTIONAL, -- Need ON + mt-EDT-r16 ENUMERATED {true} OPTIONAL -- Need ON +} + +PagingUE-Identity ::= CHOICE { + s-TMSI S-TMSI, + imsi IMSI, + ..., + ng-5G-S-TMSI-r15 NG-5G-S-TMSI-r15, + fullI-RNTI-r15 I-RNTI-r15 +} + +IMSI ::= SEQUENCE (SIZE (6..21)) OF IMSI-Digit + +IMSI-Digit ::= INTEGER (0..9) + + +ProximityIndication-r9 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + proximityIndication-r9 ProximityIndication-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ProximityIndication-r9-IEs ::= SEQUENCE { + type-r9 ENUMERATED {entering, leaving}, + carrierFreq-r9 CHOICE { + eutra-r9 ARFCN-ValueEUTRA, + utra-r9 ARFCN-ValueUTRA, + ..., + eutra2-v9e0 ARFCN-ValueEUTRA-v9e0 + }, + nonCriticalExtension ProximityIndication-v930-IEs OPTIONAL +} + +ProximityIndication-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +PURConfigurationRequest-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + purConfigurationRequest PURConfigurationRequest-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +PURConfigurationRequest-r16-IEs ::= SEQUENCE { + pur-ConfigRequest-r16 CHOICE { + pur-ReleaseRequest NULL, + pur-SetupRequest SEQUENCE { + requestedNumOccasions-r16 ENUMERATED {one, infinite}, + requestedPeriodicityAndOffset-r16 PUR-PeriodicityAndOffset-r16 OPTIONAL, + requestedTBS-r16 ENUMERATED {b328, b344, b376, b392, b408, + b424, b440, b456, b472, b488, b504, b536, + b568, b584, b616, b648, b680, b712, b744, + b776, b808, b840, b872, b904, b936, b968, + b1000, b1032, b1064, b1096, b1128, b1160, + b1192, b1224, b1256, b1288, b1320, b1352, + b1384, b1416, b1480, b1544, b1608, b1672, + b1736, b1800, b1864, b1928, b1992, b2024, + b2088, b2152, b2216, b2280, b2344, b2408, + b2472, b2536, b2600, b2664, b2728, b2792, + b2856, b2984}, + rrc-ACK-r16 ENUMERATED {true} OPTIONAL + } + } OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RNReconfiguration-r10 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rnReconfiguration-r10 RNReconfiguration-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RNReconfiguration-r10-IEs ::= SEQUENCE { + rn-SystemInfo-r10 RN-SystemInfo-r10 OPTIONAL, -- Need ON + rn-SubframeConfig-r10 RN-SubframeConfig-r10 OPTIONAL, -- Need ON + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RN-SystemInfo-r10 ::= SEQUENCE { + systemInformationBlockType1-r10 OCTET STRING (CONTAINING SystemInformationBlockType1) OPTIONAL, -- Need ON + systemInformationBlockType2-r10 SystemInformationBlockType2 OPTIONAL, -- Need ON + ... +} + + +RNReconfigurationComplete-r10 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rnReconfigurationComplete-r10 RNReconfigurationComplete-r10-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RNReconfigurationComplete-r10-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReconfiguration ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rrcConnectionReconfiguration-r8 RRCConnectionReconfiguration-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReconfiguration-r8-IEs ::= SEQUENCE { + measConfig MeasConfig OPTIONAL, -- Need ON + mobilityControlInfo MobilityControlInfo OPTIONAL, -- Cond HO + dedicatedInfoNASList SEQUENCE (SIZE(1..maxDRB)) OF + DedicatedInfoNAS OPTIONAL, -- Cond nonHO + radioResourceConfigDedicated RadioResourceConfigDedicated OPTIONAL, -- Cond HO-toEUTRA + securityConfigHO SecurityConfigHO OPTIONAL, -- Cond HO-toEPC + nonCriticalExtension RRCConnectionReconfiguration-v890-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v890-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING RRCConnectionReconfiguration-v8m0-IEs) OPTIONAL, + nonCriticalExtension RRCConnectionReconfiguration-v920-IEs OPTIONAL +} + +-- Late non-critical extensions: +RRCConnectionReconfiguration-v8m0-IEs ::= SEQUENCE { + -- Following field is only for pre REL-10 late non-critical extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReconfiguration-v10i0-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v10i0-IEs ::= SEQUENCE { + antennaInfoDedicatedPCell-v10i0 AntennaInfoDedicated-v10i0 OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReconfiguration-v10l0-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v10l0-IEs ::= SEQUENCE { + mobilityControlInfo-v10l0 MobilityControlInfo-v10l0 OPTIONAL, + sCellToAddModList-v10l0 SCellToAddModList-v10l0 OPTIONAL, -- Need ON + -- Following field is only for late non-critical extensions from REL-10 to REL-11 + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReconfiguration-v12f0-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v12f0-IEs ::= SEQUENCE { + scg-Configuration-v12f0 SCG-Configuration-v12f0 OPTIONAL, -- Cond nonFullConfig + -- Following field is only for late non-critical extensions from REL-12 + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReconfiguration-v1370-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1370-IEs ::= SEQUENCE { + radioResourceConfigDedicated-v1370 RadioResourceConfigDedicated-v1370 OPTIONAL, -- Need ON + sCellToAddModListExt-v1370 SCellToAddModListExt-v1370 OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReconfiguration-v13c0-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v13c0-IEs ::= SEQUENCE { + radioResourceConfigDedicated-v13c0 RadioResourceConfigDedicated-v13c0 OPTIONAL, -- Need ON + sCellToAddModList-v13c0 SCellToAddModList-v13c0 OPTIONAL, -- Need ON + sCellToAddModListExt-v13c0 SCellToAddModListExt-v13c0 OPTIONAL, -- Need ON + scg-Configuration-v13c0 SCG-Configuration-v13c0 OPTIONAL, -- Need ON + -- Following field is only for late non-critical extensions from REL-13 onwards + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non-critical extensions: +RRCConnectionReconfiguration-v920-IEs ::= SEQUENCE { + otherConfig-r9 OtherConfig-r9 OPTIONAL, -- Need ON + fullConfig-r9 ENUMERATED {true} OPTIONAL, -- Cond HO-Reestab + nonCriticalExtension RRCConnectionReconfiguration-v1020-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1020-IEs ::= SEQUENCE { + sCellToReleaseList-r10 SCellToReleaseList-r10 OPTIONAL, -- Need ON + sCellToAddModList-r10 SCellToAddModList-r10 OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReconfiguration-v1130-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1130-IEs ::= SEQUENCE { + systemInformationBlockType1Dedicated-r11 OCTET STRING (CONTAINING SystemInformationBlockType1) OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReconfiguration-v1250-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1250-IEs ::= SEQUENCE { + wlan-OffloadInfo-r12 CHOICE { + release NULL, + setup SEQUENCE { + wlan-OffloadConfigDedicated-r12 WLAN-OffloadConfig-r12, + t350-r12 ENUMERATED {min5, min10, min20, min30, min60, + min120, min180, spare1} OPTIONAL -- Need OR + } + } OPTIONAL, -- Need ON + scg-Configuration-r12 SCG-Configuration-r12 OPTIONAL, -- Cond nonFullConfig + sl-SyncTxControl-r12 SL-SyncTxControl-r12 OPTIONAL, -- Need ON + sl-DiscConfig-r12 SL-DiscConfig-r12 OPTIONAL, -- Need ON + sl-CommConfig-r12 SL-CommConfig-r12 OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReconfiguration-v1310-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1310-IEs ::= SEQUENCE { + sCellToReleaseListExt-r13 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON + sCellToAddModListExt-r13 SCellToAddModListExt-r13 OPTIONAL, -- Need ON + lwa-Configuration-r13 LWA-Configuration-r13 OPTIONAL, -- Need ON + lwip-Configuration-r13 LWIP-Configuration-r13 OPTIONAL, -- Need ON + rclwi-Configuration-r13 RCLWI-Configuration-r13 OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReconfiguration-v1430-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1430-IEs ::= SEQUENCE { + sl-V2X-ConfigDedicated-r14 SL-V2X-ConfigDedicated-r14 OPTIONAL, -- Need ON + sCellToAddModListExt-v1430 SCellToAddModListExt-v1430 OPTIONAL, -- Need ON + perCC-GapIndicationRequest-r14 ENUMERATED{true} OPTIONAL, -- Need ON + systemInformationBlockType2Dedicated-r14 OCTET STRING (CONTAINING SystemInformationBlockType2) OPTIONAL, -- Cond nonHO + nonCriticalExtension RRCConnectionReconfiguration-v1510-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1510-IEs ::= SEQUENCE { + nr-Config-r15 CHOICE { + release NULL, + setup SEQUENCE { + endc-ReleaseAndAdd-r15 BOOLEAN, + nr-SecondaryCellGroupConfig-r15 OCTET STRING OPTIONAL, -- Need ON + p-MaxEUTRA-r15 P-Max OPTIONAL -- Need ON + } + } OPTIONAL, -- Need ON + sk-Counter-r15 INTEGER (0.. 65535) OPTIONAL, -- Need ON + nr-RadioBearerConfig1-r15 OCTET STRING OPTIONAL, -- Need ON + nr-RadioBearerConfig2-r15 OCTET STRING OPTIONAL, -- Need ON + tdm-PatternConfig-r15 TDM-PatternConfig-r15 OPTIONAL, -- Cond FDD-PCell + nonCriticalExtension RRCConnectionReconfiguration-v1530-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1530-IEs ::= SEQUENCE { + securityConfigHO-v1530 SecurityConfigHO-v1530 OPTIONAL, -- Cond HO-5GC + sCellGroupToReleaseList-r15 SCellGroupToReleaseList-r15 OPTIONAL, -- Need ON + sCellGroupToAddModList-r15 SCellGroupToAddModList-r15 OPTIONAL, -- Need ON + dedicatedInfoNASList-r15 SEQUENCE (SIZE(1..maxDRB-r15)) OF + DedicatedInfoNAS OPTIONAL, -- Cond nonHO + p-MaxUE-FR1-r15 P-Max OPTIONAL, -- Need OR + smtc-r15 MTC-SSB-NR-r15 OPTIONAL, -- Need OP + nonCriticalExtension RRCConnectionReconfiguration-v1610-IEs OPTIONAL +} + +RRCConnectionReconfiguration-v1610-IEs ::= SEQUENCE { + conditionalReconfiguration-r16 ConditionalReconfiguration-r16 OPTIONAL, -- Need ON + daps-SourceRelease-r16 ENUMERATED{true} OPTIONAL, -- Need ON + tdm-PatternConfig2-r16 TDM-PatternConfig-r15 OPTIONAL, -- Need ON + sl-ConfigDedicatedForNR-r16 OCTET STRING OPTIONAL, -- Need OR + sl-SSB-PriorityEUTRA-r16 INTEGER (1..8) OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SL-SyncTxControl-r12 ::= SEQUENCE { + networkControlledSyncTx-r12 ENUMERATED {on, off} OPTIONAL -- Need OP +} + +PSCellToAddMod-r12 ::= SEQUENCE { + sCellIndex-r12 SCellIndex-r10, + cellIdentification-r12 SEQUENCE { + physCellId-r12 PhysCellId, + dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9 + } OPTIONAL, -- Cond SCellAdd + radioResourceConfigCommonPSCell-r12 RadioResourceConfigCommonPSCell-r12 OPTIONAL, -- Cond SCellAdd + radioResourceConfigDedicatedPSCell-r12 RadioResourceConfigDedicatedPSCell-r12 OPTIONAL, -- Cond SCellAdd2 + ..., + [[ antennaInfoDedicatedPSCell-v1280 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON + ]], + [[ sCellIndex-r13 SCellIndex-r13 OPTIONAL -- Need ON + ]], + [[ radioResourceConfigDedicatedPSCell-v1370 RadioResourceConfigDedicatedPSCell-v1370 OPTIONAL -- Need ON + ]], + [[ radioResourceConfigDedicatedPSCell-v13c0 RadioResourceConfigDedicatedPSCell-v13c0 OPTIONAL -- Need ON + ]] +} + +PSCellToAddMod-v12f0 ::= SEQUENCE { + radioResourceConfigCommonPSCell-r12 RadioResourceConfigCommonPSCell-v12f0 OPTIONAL +} + +PSCellToAddMod-v1440 ::= SEQUENCE { + radioResourceConfigCommonPSCell-r14 RadioResourceConfigCommonPSCell-v1440 OPTIONAL +} + +PowerCoordinationInfo-r12 ::= SEQUENCE { + p-MeNB-r12 INTEGER (1..16), + p-SeNB-r12 INTEGER (1..16), + powerControlMode-r12 INTEGER (1..2) +} + +SCellToAddModList-r10 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellToAddMod-r10 + +SCellToAddModList-v10l0 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellToAddMod-v10l0 + +SCellToAddModList-v13c0 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellToAddMod-v13c0 + +SCellToAddModList-r16 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddMod-r16 + +SCellToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddModExt-r13 + +SCellToAddModListExt-v1370 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddModExt-v1370 + +SCellToAddModListExt-v13c0 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddMod-v13c0 + +SCellToAddModListExt-v1430 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddModExt-v1430 + +SCellGroupToAddModList-r15 ::= SEQUENCE (SIZE (1..maxSCellGroups-r15)) OF SCellGroupToAddMod-r15 + +SCellToAddMod-r10 ::= SEQUENCE { + sCellIndex-r10 SCellIndex-r10, + cellIdentification-r10 SEQUENCE { + physCellId-r10 PhysCellId, + dl-CarrierFreq-r10 ARFCN-ValueEUTRA + } OPTIONAL, -- Cond SCellAdd + radioResourceConfigCommonSCell-r10 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Cond SCellAdd + radioResourceConfigDedicatedSCell-r10 RadioResourceConfigDedicatedSCell-r10 OPTIONAL, -- Cond SCellAdd2 + ..., + [[ dl-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Cond EARFCN-max + ]], + [[ antennaInfoDedicatedSCell-v10i0 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON + ]], + [[ srs-SwitchFromServCellIndex-r14 INTEGER (0.. 31) OPTIONAL -- Need ON + ]], + [[ sCellState-r15 ENUMERATED {activated, dormant} OPTIONAL -- Need ON + ]] +} + +SCellToAddMod-v10l0 ::= SEQUENCE { + radioResourceConfigCommonSCell-v10l0 RadioResourceConfigCommonSCell-v10l0 OPTIONAL +} + +SCellToAddMod-v13c0 ::= SEQUENCE { + radioResourceConfigDedicatedSCell-v13c0 RadioResourceConfigDedicatedSCell-v13c0 OPTIONAL +} + +SCellToAddMod-r16 ::= SEQUENCE { + sCellIndex-r16 SCellIndex-r13, + cellIdentification-r16 SEQUENCE { + physCellId-r16 PhysCellId, + dl-CarrierFreq-r16 ARFCN-ValueEUTRA-r9 + } OPTIONAL, -- Cond SCellAdd + radioResourceConfigCommonSCell-r16 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Cond SCellAdd + radioResourceConfigDedicatedSCell-r16 RadioResourceConfigDedicatedSCell-r10 OPTIONAL, -- Cond SCellAdd2 + antennaInfoDedicatedSCell-r16 AntennaInfoDedicated-v10i0 OPTIONAL, -- Need ON + srs-SwitchFromServCellIndex-r16 INTEGER (0.. 31) OPTIONAL, -- Need ON + sCellState-r16 ENUMERATED {activated, dormant} OPTIONAL, -- Need ON + ... +} + +SCellToAddModExt-r13 ::= SEQUENCE { + sCellIndex-r13 SCellIndex-r13, + cellIdentification-r13 SEQUENCE { + physCellId-r13 PhysCellId, + dl-CarrierFreq-r13 ARFCN-ValueEUTRA-r9 + } OPTIONAL, -- Cond SCellAdd + radioResourceConfigCommonSCell-r13 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Cond SCellAdd + radioResourceConfigDedicatedSCell-r13 RadioResourceConfigDedicatedSCell-r10 OPTIONAL, -- Cond SCellAdd2 + antennaInfoDedicatedSCell-r13 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON +} + +SCellToAddModExt-v1370 ::= SEQUENCE { + radioResourceConfigCommonSCell-v1370 RadioResourceConfigCommonSCell-v10l0 OPTIONAL +} + +SCellToAddModExt-v1430 ::= SEQUENCE { + srs-SwitchFromServCellIndex-r14 INTEGER (0.. 31) OPTIONAL, -- Need ON + ..., + [[ sCellState-r15 ENUMERATED {activated, dormant} OPTIONAL -- Need ON + ]] +} + +SCellGroupToAddMod-r15 ::= SEQUENCE { + sCellGroupIndex-r15 SCellGroupIndex-r15, + sCellConfigCommon-r15 SCellConfigCommon-r15 OPTIONAL, -- Need ON + sCellToReleaseList-r15 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON + sCellToAddModList-r15 SCellToAddModListExt-r13 OPTIONAL -- Need ON +} + +SCellToReleaseList-r10 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellIndex-r10 + +SCellToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellIndex-r13 + +SCellGroupToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxSCellGroups-r15)) OF SCellGroupIndex-r15 + +SCellGroupIndex-r15 ::= INTEGER (1..maxSCellGroups-r15) + +SCellConfigCommon-r15 ::= SEQUENCE { + radioResourceConfigCommonSCell-r15 RadioResourceConfigCommonSCell-r10 OPTIONAL, -- Need ON + radioResourceConfigDedicatedSCell-r15 RadioResourceConfigDedicatedSCell-r10 OPTIONAL,-- Need ON + antennaInfoDedicatedSCell-r15 AntennaInfoDedicated-v10i0 OPTIONAL -- Need ON +} + +SCG-Configuration-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + scg-ConfigPartMCG-r12 SEQUENCE { + scg-Counter-r12 INTEGER (0.. 65535) OPTIONAL, -- Need ON + powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL, -- Need ON + ... + } OPTIONAL, -- Need ON + scg-ConfigPartSCG-r12 SCG-ConfigPartSCG-r12 OPTIONAL -- Need ON + } +} + +SCG-Configuration-v12f0 ::= CHOICE { + release NULL, + setup SEQUENCE { + scg-ConfigPartSCG-v12f0 SCG-ConfigPartSCG-v12f0 OPTIONAL -- Need ON + } +} + +SCG-Configuration-v13c0 ::= CHOICE { + release NULL, + setup SEQUENCE { + scg-ConfigPartSCG-v13c0 SCG-ConfigPartSCG-v13c0 OPTIONAL -- Need ON + } +} + +SCG-ConfigPartSCG-r12 ::= SEQUENCE { + radioResourceConfigDedicatedSCG-r12 RadioResourceConfigDedicatedSCG-r12 OPTIONAL, -- Need ON + sCellToReleaseListSCG-r12 SCellToReleaseList-r10 OPTIONAL, -- Need ON + pSCellToAddMod-r12 PSCellToAddMod-r12 OPTIONAL, -- Need ON + sCellToAddModListSCG-r12 SCellToAddModList-r10 OPTIONAL, -- Need ON + mobilityControlInfoSCG-r12 MobilityControlInfoSCG-r12 OPTIONAL, -- Need ON + ..., + [[ + sCellToReleaseListSCG-Ext-r13 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON + sCellToAddModListSCG-Ext-r13 SCellToAddModListExt-r13 OPTIONAL -- Need ON + ]], + [[ + sCellToAddModListSCG-Ext-v1370 SCellToAddModListExt-v1370 OPTIONAL -- Need ON + ]], + [[ + pSCellToAddMod-v1440 PSCellToAddMod-v1440 OPTIONAL -- Need ON + ]], + [[ sCellGroupToReleaseListSCG-r15 SCellGroupToReleaseList-r15 OPTIONAL, -- Need ON + sCellGroupToAddModListSCG-r15 SCellGroupToAddModList-r15 OPTIONAL -- Need ON + ]], + [[ -- NE-DC addition for setup/ modification and release SN configured measurements + measConfigSN-r15 MeasConfig OPTIONAL, -- Need ON + -- NE-DC additions concerning DRBs/ SRBs are within RadioResourceConfigDedicatedSCG + tdm-PatternConfigNE-DC-r15 TDM-PatternConfig-r15 OPTIONAL -- Cond FDD-PSCell + ]], + [[ p-MaxEUTRA-r15 P-Max OPTIONAL -- Need ON + ]] +} + +SCG-ConfigPartSCG-v12f0 ::= SEQUENCE { + pSCellToAddMod-v12f0 PSCellToAddMod-v12f0 OPTIONAL, -- Need ON + sCellToAddModListSCG-v12f0 SCellToAddModList-v10l0 OPTIONAL -- Need ON +} + +SCG-ConfigPartSCG-v13c0 ::= SEQUENCE { + sCellToAddModListSCG-v13c0 SCellToAddModList-v13c0 OPTIONAL, -- Need ON + sCellToAddModListSCG-Ext-v13c0 SCellToAddModListExt-v13c0 OPTIONAL -- Need ON +} + +SecurityConfigHO ::= SEQUENCE { + handoverType CHOICE { + intraLTE SEQUENCE { + securityAlgorithmConfig SecurityAlgorithmConfig OPTIONAL, -- Cond fullConfig + keyChangeIndicator BOOLEAN, + nextHopChainingCount NextHopChainingCount + }, + interRAT SEQUENCE { + securityAlgorithmConfig SecurityAlgorithmConfig, + nas-SecurityParamToEUTRA OCTET STRING (SIZE(6)) + } + }, + ... +} + +SecurityConfigHO-v1530 ::= SEQUENCE { + handoverType-v1530 CHOICE { + intra5GC SEQUENCE { + securityAlgorithmConfig-r15 SecurityAlgorithmConfig OPTIONAL, -- Cond HO-toEUTRA + keyChangeIndicator-r15 BOOLEAN, + nextHopChainingCount-r15 NextHopChainingCount, + nas-Container-r15 OCTET STRING OPTIONAL -- Need ON + }, + fivegc-ToEPC SEQUENCE { + securityAlgorithmConfig-r15 SecurityAlgorithmConfig, + nextHopChainingCount-r15 NextHopChainingCount + }, + epc-To5GC SEQUENCE { + securityAlgorithmConfig-r15 SecurityAlgorithmConfig, + nas-Container-r15 OCTET STRING + } + }, + ... +} + + +RRCConnectionReconfigurationComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcConnectionReconfigurationComplete-r8 + RRCConnectionReconfigurationComplete-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReconfigurationComplete-r8-IEs ::= SEQUENCE { + nonCriticalExtension RRCConnectionReconfigurationComplete-v8a0-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1020-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1020-IEs ::= SEQUENCE { + rlf-InfoAvailable-r10 ENUMERATED {true} OPTIONAL, + logMeasAvailable-r10 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1130-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1130-IEs ::= SEQUENCE { + connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1250-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1250-IEs ::= SEQUENCE { + logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1430-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1430-IEs ::= SEQUENCE { + perCC-GapIndicationList-r14 PerCC-GapIndicationList-r14 OPTIONAL, + numFreqEffective-r14 INTEGER (1..12) OPTIONAL, + numFreqEffectiveReduced-r14 INTEGER (1..12) OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1510-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1510-IEs ::= SEQUENCE { + scg-ConfigResponseNR-r15 OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReconfigurationComplete-v1530-IEs OPTIONAL +} + +RRCConnectionReconfigurationComplete-v1530-IEs ::= SEQUENCE { + logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL, + logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL, + flightPathInfoAvailable-r15 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishment ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rrcConnectionReestablishment-r8 RRCConnectionReestablishment-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishment-r8-IEs ::= SEQUENCE { + radioResourceConfigDedicated RadioResourceConfigDedicated, + nextHopChainingCount NextHopChainingCount, + nonCriticalExtension RRCConnectionReestablishment-v8a0-IEs OPTIONAL +} + +RRCConnectionReestablishment-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishmentComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcConnectionReestablishmentComplete-r8 + RRCConnectionReestablishmentComplete-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishmentComplete-r8-IEs ::= SEQUENCE { + nonCriticalExtension RRCConnectionReestablishmentComplete-v920-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v920-IEs ::= SEQUENCE { + rlf-InfoAvailable-r9 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v8a0-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v1020-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v1020-IEs ::= SEQUENCE { + logMeasAvailable-r10 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v1130-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v1130-IEs ::= SEQUENCE { + connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v1250-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v1250-IEs ::= SEQUENCE { + logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-v1530-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-v1530-IEs ::= SEQUENCE { + logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL, + logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL, + flightPathInfoAvailable-r15 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishmentReject ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionReestablishmentReject-r8 + RRCConnectionReestablishmentReject-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishmentReject-r8-IEs ::= SEQUENCE { + nonCriticalExtension RRCConnectionReestablishmentReject-v8a0-IEs OPTIONAL +} + +RRCConnectionReestablishmentReject-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishmentRequest ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionReestablishmentRequest-r8 + RRCConnectionReestablishmentRequest-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishmentRequest-r8-IEs ::= SEQUENCE { + ue-Identity ReestabUE-Identity, + reestablishmentCause ReestablishmentCause, + spare BIT STRING (SIZE (2)) +} + +ReestabUE-Identity ::= SEQUENCE { + c-RNTI C-RNTI, + physCellId PhysCellId, + shortMAC-I ShortMAC-I +} + +ReestablishmentCause ::= ENUMERATED { + reconfigurationFailure, handoverFailure, + otherFailure, spare1 +} + + +RRCConnectionReject ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionReject-r8 RRCConnectionReject-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReject-r8-IEs ::= SEQUENCE { + waitTime INTEGER (1..16), + nonCriticalExtension RRCConnectionReject-v8a0-IEs OPTIONAL +} + +RRCConnectionReject-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReject-v1020-IEs OPTIONAL +} + +RRCConnectionReject-v1020-IEs ::= SEQUENCE { + extendedWaitTime-r10 INTEGER (1..1800) OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReject-v1130-IEs OPTIONAL +} + +RRCConnectionReject-v1130-IEs ::= SEQUENCE { + deprioritisationReq-r11 SEQUENCE { + deprioritisationType-r11 ENUMERATED {frequency, e-utra}, + deprioritisationTimer-r11 ENUMERATED {min5, min10, min15, min30} + } OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionReject-v1320-IEs OPTIONAL +} + +RRCConnectionReject-v1320-IEs ::= SEQUENCE { + rrc-SuspendIndication-r13 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionRelease ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionRelease-r8 RRCConnectionRelease-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionRelease-r8-IEs ::= SEQUENCE { + releaseCause ReleaseCause, + redirectedCarrierInfo RedirectedCarrierInfo OPTIONAL, -- Need ON + idleModeMobilityControlInfo IdleModeMobilityControlInfo OPTIONAL, -- Need OP + nonCriticalExtension RRCConnectionRelease-v890-IEs OPTIONAL +} + +RRCConnectionRelease-v890-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING RRCConnectionRelease-v9e0-IEs) OPTIONAL, + nonCriticalExtension RRCConnectionRelease-v920-IEs OPTIONAL +} + +-- Late non critical extensions +RRCConnectionRelease-v9e0-IEs ::= SEQUENCE { + redirectedCarrierInfo-v9e0 RedirectedCarrierInfo-v9e0 OPTIONAL, -- Cond NoRedirect-r8 + idleModeMobilityControlInfo-v9e0 IdleModeMobilityControlInfo-v9e0 OPTIONAL, -- Cond IdleInfoEUTRA + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non critical extensions +RRCConnectionRelease-v920-IEs ::= SEQUENCE { + cellInfoList-r9 CHOICE { + geran-r9 CellInfoListGERAN-r9, + utra-FDD-r9 CellInfoListUTRA-FDD-r9, + utra-TDD-r9 CellInfoListUTRA-TDD-r9, + ..., + utra-TDD-r10 CellInfoListUTRA-TDD-r10 + } OPTIONAL, -- Cond Redirection + nonCriticalExtension RRCConnectionRelease-v1020-IEs OPTIONAL +} + +RRCConnectionRelease-v1020-IEs ::= SEQUENCE { + extendedWaitTime-r10 INTEGER (1..1800) OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionRelease-v1320-IEs OPTIONAL +} + +RRCConnectionRelease-v1320-IEs::= SEQUENCE { + resumeIdentity-r13 ResumeIdentity-r13 OPTIONAL, -- Need OR + nonCriticalExtension RRCConnectionRelease-v1530-IEs OPTIONAL +} + +RRCConnectionRelease-v1530-IEs ::= SEQUENCE { + drb-ContinueROHC-r15 ENUMERATED {true} OPTIONAL, -- Cond UP-EDTorPUR + nextHopChainingCount-r15 NextHopChainingCount OPTIONAL, -- Cond EarlySec + measIdleConfig-r15 MeasIdleConfigDedicated-r15 OPTIONAL, -- Need ON + rrc-InactiveConfig-r15 RRC-InactiveConfig-r15 OPTIONAL, -- Need OR + cn-Type-r15 ENUMERATED {epc,fivegc} OPTIONAL, -- Need OR + nonCriticalExtension RRCConnectionRelease-v1540-IEs OPTIONAL +} + +RRCConnectionRelease-v1540-IEs ::= SEQUENCE { + waitTime INTEGER (1..16) OPTIONAL, -- Cond 5GC + nonCriticalExtension RRCConnectionRelease-v15b0-IEs OPTIONAL +} + +RRCConnectionRelease-v15b0-IEs ::= SEQUENCE { + noLastCellUpdate-r15 ENUMERATED {true} OPTIONAL, -- Need OP + nonCriticalExtension RRCConnectionRelease-v1610-IEs OPTIONAL +} + +RRCConnectionRelease-v1610-IEs ::= SEQUENCE { + fullI-RNTI-r16 I-RNTI-r15 OPTIONAL, -- Need OR + shortI-RNTI-r16 ShortI-RNTI-r15 OPTIONAL, -- Need OR + pur-Config-r16 SetupRelease {PUR-Config-r16} OPTIONAL, -- Need ON + rrc-InactiveConfig-v1610 RRC-InactiveConfig-v1610 OPTIONAL, -- Cond BLCE-IDLEeDRX + releaseIdleMeasConfig-r16 ENUMERATED {true} OPTIONAL, -- Need ON + altFreqPriorities-r16 ENUMERATED {true} OPTIONAL, -- Need ON + t323-r16 ENUMERATED { + min5, min10, min20, min30, min60, min120, min180, + min720} OPTIONAL, -- Need OR + nonCriticalExtension RRCConnectionRelease-v1650-IEs OPTIONAL +} + +RRCConnectionRelease-v1650-IEs ::= SEQUENCE { + mpsPriorityIndication-r16 ENUMERATED {true} OPTIONAL, -- Cond Redirection2 + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +ReleaseCause ::= ENUMERATED {loadBalancingTAUrequired, + other, cs-FallbackHighPriority-v1020, rrc-Suspend-v1320} + +RedirectedCarrierInfo ::= CHOICE { + eutra ARFCN-ValueEUTRA, + geran CarrierFreqsGERAN, + utra-FDD ARFCN-ValueUTRA, + utra-TDD ARFCN-ValueUTRA, + cdma2000-HRPD CarrierFreqCDMA2000, + cdma2000-1xRTT CarrierFreqCDMA2000, + ..., + utra-TDD-r10 CarrierFreqListUTRA-TDD-r10, + nr-r15 CarrierInfoNR-r15 +} + +RedirectedCarrierInfo-v9e0 ::= SEQUENCE { + eutra-v9e0 ARFCN-ValueEUTRA-v9e0 +} + +RRC-InactiveConfig-r15::= SEQUENCE { + fullI-RNTI-r15 I-RNTI-r15, + shortI-RNTI-r15 ShortI-RNTI-r15, + ran-PagingCycle-r15 ENUMERATED { rf32, rf64, rf128, rf256} OPTIONAL, --Need OR + ran-NotificationAreaInfo-r15 RAN-NotificationAreaInfo-r15 OPTIONAL, --Need ON + periodic-RNAU-timer-r15 ENUMERATED {min5, min10, min20, min30, min60, + min120, min360, min720} OPTIONAL, --Need OR + nextHopChainingCount-r15 NextHopChainingCount OPTIONAL, --Cond INACTIVE + dummy SEQUENCE{} OPTIONAL +} + +RRC-InactiveConfig-v1610::= SEQUENCE { + ran-PagingCycle-v1610 ENUMERATED {rf512, rf1024} +} + +RAN-NotificationAreaInfo-r15 ::= CHOICE { + cellList PLMN-RAN-AreaCellList-r15, + ran-AreaConfigList PLMN-RAN-AreaConfigList-r15 +} + +PLMN-RAN-AreaCellList-r15 ::= SEQUENCE (SIZE (1..maxPLMN-r15)) OF PLMN-RAN-AreaCell-r15 + +PLMN-RAN-AreaCell-r15 ::= SEQUENCE { + plmn-Identity-r15 PLMN-Identity OPTIONAL, + ran-AreaCells-r15 SEQUENCE (SIZE (1..32)) OF CellIdentity +} + +PLMN-RAN-AreaConfigList-r15 ::= SEQUENCE (SIZE (1..maxPLMN-r15)) OF PLMN-RAN-AreaConfig-r15 + +PLMN-RAN-AreaConfig-r15 ::= SEQUENCE { + plmn-Identity-r15 PLMN-Identity OPTIONAL, + ran-Area-r15 SEQUENCE (SIZE (1..16)) OF RAN-AreaConfig-r15 +} + +RAN-AreaConfig-r15 ::= SEQUENCE { + trackingAreaCode-5GC-r15 TrackingAreaCode-5GC-r15, + ran-AreaCodeList-r15 SEQUENCE (SIZE (1..32)) OF RAN-AreaCode-r15 OPTIONAL --Need OR +} + +CarrierFreqListUTRA-TDD-r10 ::= SEQUENCE (SIZE (1..maxFreqUTRA-TDD-r10)) OF ARFCN-ValueUTRA + +IdleModeMobilityControlInfo ::= SEQUENCE { + freqPriorityListEUTRA FreqPriorityListEUTRA OPTIONAL, -- Need ON + freqPriorityListGERAN FreqsPriorityListGERAN OPTIONAL, -- Need ON + freqPriorityListUTRA-FDD FreqPriorityListUTRA-FDD OPTIONAL, -- Need ON + freqPriorityListUTRA-TDD FreqPriorityListUTRA-TDD OPTIONAL, -- Need ON + bandClassPriorityListHRPD BandClassPriorityListHRPD OPTIONAL, -- Need ON + bandClassPriorityList1XRTT BandClassPriorityList1XRTT OPTIONAL, -- Need ON + t320 ENUMERATED { + min5, min10, min20, min30, min60, min120, min180, + spare1} OPTIONAL, -- Need OR + ..., + [[ freqPriorityListExtEUTRA-r12 FreqPriorityListExtEUTRA-r12 OPTIONAL -- Need ON + ]], + [[ freqPriorityListEUTRA-v1310 FreqPriorityListEUTRA-v1310 OPTIONAL, -- Need ON + freqPriorityListExtEUTRA-v1310 FreqPriorityListExtEUTRA-v1310 OPTIONAL -- Need ON + ]], + [[ freqPriorityListNR-r15 FreqPriorityListNR-r15 OPTIONAL -- Need ON + ]] +} + +IdleModeMobilityControlInfo-v9e0 ::= SEQUENCE { + freqPriorityListEUTRA-v9e0 SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v9e0 +} + +FreqPriorityListEUTRA ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA + +FreqPriorityListExtEUTRA-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-r12 + +FreqPriorityListEUTRA-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v1310 + +FreqPriorityListExtEUTRA-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityEUTRA-v1310 + +FreqPriorityEUTRA ::= SEQUENCE { + carrierFreq ARFCN-ValueEUTRA, + cellReselectionPriority CellReselectionPriority +} + +FreqPriorityEUTRA-v9e0 ::= SEQUENCE { + carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Cond EARFCN-max +} + +FreqPriorityEUTRA-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + cellReselectionPriority-r12 CellReselectionPriority +} + +FreqPriorityEUTRA-v1310 ::= SEQUENCE { + cellReselectionSubPriority-r13 CellReselectionSubPriority-r13 OPTIONAL -- Need ON +} + +FreqPriorityListNR-r15 ::= SEQUENCE (SIZE (1..maxFreq)) OF FreqPriorityNR-r15 + +FreqPriorityNR-r15 ::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueNR-r15, + cellReselectionPriority-r15 CellReselectionPriority, + cellReselectionSubPriority-r15 CellReselectionSubPriority-r13 OPTIONAL -- Need OR +} + +FreqsPriorityListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF FreqsPriorityGERAN + +FreqsPriorityGERAN ::= SEQUENCE { + carrierFreqs CarrierFreqsGERAN, + cellReselectionPriority CellReselectionPriority +} + +FreqPriorityListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF FreqPriorityUTRA-FDD + +FreqPriorityUTRA-FDD ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + cellReselectionPriority CellReselectionPriority +} + +FreqPriorityListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF FreqPriorityUTRA-TDD + +FreqPriorityUTRA-TDD ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + cellReselectionPriority CellReselectionPriority +} + +BandClassPriorityListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriorityHRPD + +BandClassPriorityHRPD ::= SEQUENCE { + bandClass BandclassCDMA2000, + cellReselectionPriority CellReselectionPriority +} + +BandClassPriorityList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassPriority1XRTT + +BandClassPriority1XRTT ::= SEQUENCE { + bandClass BandclassCDMA2000, + cellReselectionPriority CellReselectionPriority +} + +CellInfoListGERAN-r9 ::= SEQUENCE (SIZE (1..maxCellInfoGERAN-r9)) OF CellInfoGERAN-r9 + +CellInfoGERAN-r9 ::= SEQUENCE { + physCellId-r9 PhysCellIdGERAN, + carrierFreq-r9 CarrierFreqGERAN, + systemInformation-r9 SystemInfoListGERAN +} + +CarrierInfoNR-r15 ::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueNR-r15, + subcarrierSpacingSSB-r15 ENUMERATED {kHz15, kHz30, kHz120, kHz240}, + smtc-r15 MTC-SSB-NR-r15 OPTIONAL -- Need OP +} + +CellInfoListUTRA-FDD-r9 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-FDD-r9 + +CellInfoUTRA-FDD-r9 ::= SEQUENCE { + physCellId-r9 PhysCellIdUTRA-FDD, + utra-BCCH-Container-r9 OCTET STRING +} + +CellInfoListUTRA-TDD-r9 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-TDD-r9 + +CellInfoUTRA-TDD-r9 ::= SEQUENCE { + physCellId-r9 PhysCellIdUTRA-TDD, + utra-BCCH-Container-r9 OCTET STRING +} + +CellInfoListUTRA-TDD-r10 ::= SEQUENCE (SIZE (1..maxCellInfoUTRA-r9)) OF CellInfoUTRA-TDD-r10 + +CellInfoUTRA-TDD-r10 ::= SEQUENCE { + physCellId-r10 PhysCellIdUTRA-TDD, + carrierFreq-r10 ARFCN-ValueUTRA, + utra-BCCH-Container-r10 OCTET STRING +} + + +RRCConnectionRequest ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionRequest-r8 RRCConnectionRequest-r8-IEs, + rrcConnectionRequest-r15 RRCConnectionRequest-5GC-r15-IEs + } +} + +RRCConnectionRequest-r8-IEs ::= SEQUENCE { + ue-Identity InitialUE-Identity, + establishmentCause EstablishmentCause, + spare BIT STRING (SIZE (1)) +} + +RRCConnectionRequest-5GC-r15-IEs ::= SEQUENCE { + ue-Identity-r15 InitialUE-Identity-5GC-r15, + establishmentCause-r15 EstablishmentCause-5GC-r15, + spare BIT STRING (SIZE (1)) +} + +InitialUE-Identity ::= CHOICE { + s-TMSI S-TMSI, + randomValue BIT STRING (SIZE (40)) +} + +InitialUE-Identity-5GC-r15 ::= CHOICE { + ng-5G-S-TMSI-Part1 BIT STRING (SIZE (40)), + randomValue BIT STRING (SIZE (40)) +} + + +EstablishmentCause ::= ENUMERATED { + emergency, highPriorityAccess, mt-Access, mo-Signalling, + mo-Data, delayTolerantAccess-v1020, mo-VoiceCall-v1280, spare1} + +EstablishmentCause-5GC-r15 ::= ENUMERATED { + emergency, highPriorityAccess, mt-Access, mo-Signalling, + mo-Data, mo-VoiceCall, spare2, spare1} + + +RRCConnectionResume-r13 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionResume-r13 RRCConnectionResume-r13-IEs, + spare3 NULL, + spare2 NULL, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionResume-r13-IEs ::= SEQUENCE { + radioResourceConfigDedicated-r13 RadioResourceConfigDedicated OPTIONAL, -- Need ON + nextHopChainingCount-r13 NextHopChainingCount, + measConfig-r13 MeasConfig OPTIONAL, -- Need ON + antennaInfoDedicatedPCell-r13 AntennaInfoDedicated-v10i0 OPTIONAL, -- Need ON + drb-ContinueROHC-r13 ENUMERATED {true} OPTIONAL, -- Need OP + lateNonCriticalExtension OCTET STRING OPTIONAL, + rrcConnectionResume-v1430-IEs RRCConnectionResume-v1430-IEs OPTIONAL +} + +RRCConnectionResume-v1430-IEs ::= SEQUENCE { + otherConfig-r14 OtherConfig-r9 OPTIONAL, -- Need ON + rrcConnectionResume-v1510-IEs RRCConnectionResume-v1510-IEs OPTIONAL +} + +RRCConnectionResume-v1510-IEs ::= SEQUENCE { + sk-Counter-r15 INTEGER (0.. 65535) OPTIONAL, -- Need ON + nr-RadioBearerConfig1-r15 OCTET STRING OPTIONAL, -- Need ON + nr-RadioBearerConfig2-r15 OCTET STRING OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionResume-v1530-IEs OPTIONAL +} + +RRCConnectionResume-v1530-IEs ::= SEQUENCE { + fullConfig-r15 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension RRCConnectionResume-v1610-IEs OPTIONAL +} + +RRCConnectionResume-v1610-IEs ::= SEQUENCE { + idleModeMeasurementReq-r16 ENUMERATED {true} OPTIONAL, -- Need ON + restoreMCG-SCells-r16 ENUMERATED {true} OPTIONAL, -- Need ON + restoreSCG-r16 ENUMERATED {true} OPTIONAL, -- Cond EarlySec + sCellToAddModList-r16 SCellToAddModList-r16 OPTIONAL, -- Cond EarlySec + sCellToReleaseList-r16 SCellToReleaseListExt-r13 OPTIONAL, -- Need ON + sCellGroupToReleaseList-r16 SCellGroupToReleaseList-r15 OPTIONAL, -- Need ON + sCellGroupToAddModList-r16 SCellGroupToAddModList-r15 OPTIONAL, -- Cond EarlySec + nr-SecondaryCellGroupConfig-r16 OCTET STRING OPTIONAL, -- Cond RestoreSCG + p-MaxEUTRA-r16 P-Max OPTIONAL, -- Cond SCG + p-MaxUE-FR1-r16 P-Max OPTIONAL, -- Cond SCG + tdm-PatternConfig-r16 TDM-PatternConfig-r15 OPTIONAL, -- Cond FDD-PCell + tdm-PatternConfig2-r16 TDM-PatternConfig-r15 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionResumeComplete-r13 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcConnectionResumeComplete-r13 RRCConnectionResumeComplete-r13-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionResumeComplete-r13-IEs ::= SEQUENCE { + selectedPLMN-Identity-r13 INTEGER (1..maxPLMN-r11) OPTIONAL, + dedicatedInfoNAS-r13 DedicatedInfoNAS OPTIONAL, + rlf-InfoAvailable-r13 ENUMERATED {true} OPTIONAL, + logMeasAvailable-r13 ENUMERATED {true} OPTIONAL, + connEstFailInfoAvailable-r13 ENUMERATED {true} OPTIONAL, + mobilityState-r13 ENUMERATED {normal, medium, high, spare} OPTIONAL, + mobilityHistoryAvail-r13 ENUMERATED {true} OPTIONAL, + logMeasAvailableMBSFN-r13 ENUMERATED {true} OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionResumeComplete-v1530-IEs OPTIONAL +} + +RRCConnectionResumeComplete-v1530-IEs ::= SEQUENCE { + logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL, + logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL, + idleMeasAvailable-r15 ENUMERATED {true} OPTIONAL, + flightPathInfoAvailable-r15 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionResumeComplete-v1610-IEs OPTIONAL +} + +RRCConnectionResumeComplete-v1610-IEs ::= SEQUENCE { + measResultListIdle-r16 MeasResultListIdle-r15 OPTIONAL, + measResultListExtIdle-r16 MeasResultListExtIdle-r16 OPTIONAL, + measResultListIdleNR-r16 MeasResultListIdleNR-r16 OPTIONAL, + scg-ConfigResponseNR-r16 OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + + +RRCConnectionResumeRequest-r13 ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionResumeRequest-r13 RRCConnectionResumeRequest-r13-IEs, + rrcConnectionResumeRequest-r15 RRCConnectionResumeRequest-5GC-r15-IEs + } +} + +RRCConnectionResumeRequest-r13-IEs ::= SEQUENCE { + resumeIdentity-r13 CHOICE { + resumeID-r13 ResumeIdentity-r13, + truncatedResumeID-r13 BIT STRING (SIZE (24)) + }, + shortResumeMAC-I-r13 BIT STRING (SIZE (16)), + resumeCause-r13 ResumeCause, + spare BIT STRING (SIZE (1)) +} + +RRCConnectionResumeRequest-5GC-r15-IEs ::= SEQUENCE { + resumeIdentity-r15 CHOICE { + fullI-RNTI-r15 I-RNTI-r15, + shortI-RNTI-r15 ShortI-RNTI-r15 + }, + shortResumeMAC-I-r15 BIT STRING (SIZE (16)), + resumeCause-r15 ResumeCause-r15, + spare BIT STRING (SIZE (1)) +} + +ResumeCause ::= ENUMERATED { + emergency, highPriorityAccess, mt-Access, mo-Signalling, + mo-Data, delayTolerantAccess-v1020, mo-VoiceCall-v1280, + mt-EDT-v1610 +} + +ResumeCause-r15 ::= ENUMERATED { + emergency, highPriorityAccess, mt-Access, mo-Signalling, + mo-Data, rna-Update, mo-VoiceCall, spare1 +} + + +RRCConnectionSetup ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionSetup-r8 RRCConnectionSetup-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionSetup-r8-IEs ::= SEQUENCE { + radioResourceConfigDedicated RadioResourceConfigDedicated, + nonCriticalExtension RRCConnectionSetup-v8a0-IEs OPTIONAL +} + +RRCConnectionSetup-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionSetup-v1610-IEs OPTIONAL +} + +RRCConnectionSetup-v1610-IEs ::= SEQUENCE { + dedicatedInfoNAS-r16 DedicatedInfoNAS OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionSetupComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rrcConnectionSetupComplete-r8 RRCConnectionSetupComplete-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionSetupComplete-r8-IEs ::= SEQUENCE { + selectedPLMN-Identity INTEGER (1..maxPLMN-r11), + registeredMME RegisteredMME OPTIONAL, + dedicatedInfoNAS DedicatedInfoNAS, + nonCriticalExtension RRCConnectionSetupComplete-v8a0-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1020-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1020-IEs ::= SEQUENCE { + gummei-Type-r10 ENUMERATED {native, mapped} OPTIONAL, + rlf-InfoAvailable-r10 ENUMERATED {true} OPTIONAL, + logMeasAvailable-r10 ENUMERATED {true} OPTIONAL, + rn-SubframeConfigReq-r10 ENUMERATED {required, notRequired} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1130-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1130-IEs ::= SEQUENCE { + connEstFailInfoAvailable-r11 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1250-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1250-IEs ::= SEQUENCE { + mobilityState-r12 ENUMERATED {normal, medium, high, spare} OPTIONAL, + mobilityHistoryAvail-r12 ENUMERATED {true} OPTIONAL, + logMeasAvailableMBSFN-r12 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1320-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1320-IEs ::= SEQUENCE { + ce-ModeB-r13 ENUMERATED {supported} OPTIONAL, + s-TMSI-r13 S-TMSI OPTIONAL, + attachWithoutPDN-Connectivity-r13 ENUMERATED {true} OPTIONAL, + up-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL, + cp-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1330-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1330-IEs ::= SEQUENCE { + ue-CE-NeedULGaps-r13 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1430-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1430-IEs ::= SEQUENCE { + dcn-ID-r14 INTEGER (0..65535) OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1530-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1530-IEs ::= SEQUENCE { + logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL, + logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL, + idleMeasAvailable-r15 ENUMERATED {true} OPTIONAL, + flightPathInfoAvailable-r15 ENUMERATED {true} OPTIONAL, + connectTo5GC-r15 ENUMERATED {true} OPTIONAL, + registeredAMF-r15 RegisteredAMF-r15 OPTIONAL, + s-NSSAI-list-r15 SEQUENCE(SIZE (1..maxNrofS-NSSAI-r15)) OF S-NSSAI-r15 OPTIONAL, + ng-5G-S-TMSI-Bits-r15 CHOICE { + ng-5G-S-TMSI-r15 NG-5G-S-TMSI-r15, + ng-5G-S-TMSI-Part2-r15 BIT STRING (SIZE (8)) + } OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1540-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1540-IEs ::= SEQUENCE { + gummei-Type-v1540 ENUMERATED {mappedFrom5G-v1540} OPTIONAL, + guami-Type-r15 ENUMERATED {native, mapped} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1610-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1610-IEs ::= SEQUENCE { + rlos-Request-r16 ENUMERATED {true} OPTIONAL, + cp-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL, + up-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL, + pur-ConfigID-r16 PUR-ConfigID-r16 OPTIONAL, + lte-M-r16 ENUMERATED {true} OPTIONAL, + iab-NodeIndication-r16 ENUMERATED {true} OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-v1690-IEs OPTIONAL +} + +RRCConnectionSetupComplete-v1690-IEs ::= SEQUENCE { + ul-RRC-Segmentation-r16 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +RegisteredMME ::= SEQUENCE { + plmn-Identity PLMN-Identity OPTIONAL, + mmegi BIT STRING (SIZE (16)), + mmec MMEC +} + +RegisteredAMF-r15 ::= SEQUENCE { + plmn-Identity-r15 PLMN-Identity OPTIONAL, + amf-Identifier-r15 AMF-Identifier-r15 +} + + +RRCEarlyDataComplete-r15 ::= SEQUENCE { + criticalExtensions CHOICE { + rrcEarlyDataComplete-r15 RRCEarlyDataComplete-r15-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCEarlyDataComplete-r15-IEs ::= SEQUENCE { + dedicatedInfoNAS-r15 DedicatedInfoNAS OPTIONAL, -- Need ON + extendedWaitTime-r15 INTEGER (1..1800) OPTIONAL, -- Need ON + idleModeMobilityControlInfo-r15 IdleModeMobilityControlInfo OPTIONAL, -- Need OP + idleModeMobilityControlInfoExt-r15 IdleModeMobilityControlInfo-v9e0 OPTIONAL, -- Cond IdleInfoEUTRA + redirectedCarrierInfo-r15 RedirectedCarrierInfo-r15-IEs OPTIONAL, -- Need ON + nonCriticalExtension RRCEarlyDataComplete-v1590-IEs OPTIONAL +} + +RRCEarlyDataComplete-v1590-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RedirectedCarrierInfo-r15-IEs ::= CHOICE { + eutra ARFCN-ValueEUTRA-r9, + geran CarrierFreqsGERAN, + utra-FDD ARFCN-ValueUTRA, + cdma2000-HRPD CarrierFreqCDMA2000, + cdma2000-1xRTT CarrierFreqCDMA2000, + utra-TDD CarrierFreqListUTRA-TDD-r10 +} + + +RRCEarlyDataRequest-r15 ::= SEQUENCE { + criticalExtensions CHOICE { + rrcEarlyDataRequest-r15 RRCEarlyDataRequest-r15-IEs, + criticalExtensionsFuture CHOICE { + rrcEarlyDataRequest-5GC-r16 RRCEarlyDataRequest-5GC-r16-IEs, + criticalExtensionsFuture-r16 SEQUENCE {} + } + } +} + +RRCEarlyDataRequest-r15-IEs ::= SEQUENCE { + s-TMSI-r15 S-TMSI, + establishmentCause-r15 ENUMERATED {mo-Data, delayTolerantAccess}, + dedicatedInfoNAS-r15 DedicatedInfoNAS, + nonCriticalExtension RRCEarlyDataRequest-v1590-IEs OPTIONAL +} + +RRCEarlyDataRequest-v1590-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCEarlyDataRequest-v1610-IEs OPTIONAL +} + +RRCEarlyDataRequest-v1610-IEs ::= SEQUENCE { + establishmentCause-v1610 ENUMERATED {mt-Access, spare3, spare2, spare1}, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RRCEarlyDataRequest-5GC-r16-IEs ::= SEQUENCE { + ng-5G-S-TMSI-r16 NG-5G-S-TMSI-r15, + establishmentCause-r16 ENUMERATED {mo-Data, spare3, spare2, spare1}, + dedicatedInfoNAS-r16 DedicatedInfoNAS, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SCGFailureInformation-r12 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + scgFailureInformation-r12 SCGFailureInformation-r12-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SCGFailureInformation-r12-IEs ::= SEQUENCE { + failureReportSCG-r12 FailureReportSCG-r12 OPTIONAL, + nonCriticalExtension SCGFailureInformation-v12d0a-IEs OPTIONAL +} + +SCGFailureInformation-v12d0a-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING SCGFailureInformation-v12d0b-IEs) OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Late non-critical extensions: +SCGFailureInformation-v12d0b-IEs ::= SEQUENCE { + failureReportSCG-v12d0 FailureReportSCG-v12d0 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non-critical extensions: +FailureReportSCG-r12 ::= SEQUENCE { + failureType-r12 ENUMERATED {t313-Expiry, randomAccessProblem, + rlc-MaxNumRetx, scg-ChangeFailure }, + measResultServFreqList-r12 MeasResultServFreqList-r10 OPTIONAL, + measResultNeighCells-r12 MeasResultList2EUTRA-r9 OPTIONAL, + ..., + [[ failureType-v1290 ENUMERATED {maxUL-TimingDiff-v1290} OPTIONAL + ]], + [[ measResultServFreqListExt-r13 MeasResultServFreqListExt-r13 OPTIONAL + ]] +} + +FailureReportSCG-v12d0 ::= SEQUENCE { + measResultNeighCells-v12d0 MeasResultList2EUTRA-v9e0 OPTIONAL +} + + +SCGFailureInformationNR-r15 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + scgFailureInformationNR-r15 SCGFailureInformationNR-r15-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SCGFailureInformationNR-r15-IEs ::= SEQUENCE { + failureReportSCG-NR-r15 FailureReportSCG-NR-r15 OPTIONAL, + nonCriticalExtension SCGFailureInformationNR-v1590-IEs OPTIONAL +} + +SCGFailureInformationNR-v1590-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +FailureReportSCG-NR-r15 ::= SEQUENCE { + failureType-r15 ENUMERATED { + t310-Expiry, randomAccessProblem, + rlc-MaxNumRetx, + synchReconfigFailureSCG, scg-reconfigFailure, + srb3-IntegrityFailure, dummy}, + measResultFreqListNR-r15 MeasResultFreqListFailNR-r15 OPTIONAL, + measResultSCG-r15 OCTET STRING OPTIONAL, + ..., + [[ locationInfo-r16 LocationInfo-r10 OPTIONAL, + logMeasResultListBT-r16 LogMeasResultListBT-r15 OPTIONAL, + logMeasResultListWLAN-r16 LogMeasResultListWLAN-r15 OPTIONAL, + failureType-v1610 ENUMERATED {t312-Expiry, scg-lbtFailure, + beamFailureRecoveryFailure, bh-RLF-r16, spare4, + spare3, spare2, spare1} OPTIONAL + ]] +} + +MeasResultFreqListFailNR-r15 ::= SEQUENCE (SIZE (1..maxFreqNR-r15)) OF MeasResultFreqFailNR-r15 + +MeasResultFreqFailNR-r15 ::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueNR-r15, + measResultCellList-r15 MeasResultCellListNR-r15 OPTIONAL, + ... +} + + +SCPTMConfiguration-r13 ::= SEQUENCE { + sc-mtch-InfoList-r13 SC-MTCH-InfoList-r13, + scptm-NeighbourCellList-r13 SCPTM-NeighbourCellList-r13 OPTIONAL, -- Need OP + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SCPTMConfiguration-v1340 OPTIONAL +} + +SCPTMConfiguration-v1340 ::= SEQUENCE { + p-b-r13 INTEGER (0..3) OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SCPTMConfiguration-BR-r14 ::= SEQUENCE { + sc-mtch-InfoList-r14 SC-MTCH-InfoList-BR-r14, + scptm-NeighbourCellList-r14 SCPTM-NeighbourCellList-r13 OPTIONAL, -- Need OP + p-b-r14 INTEGER (0..3) OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SCPTMConfiguration-BR-v1610 OPTIONAL +} + +SCPTMConfiguration-BR-v1610 ::= SEQUENCE { + sc-MTCH-InfoList-MultiTB-r16 SC-MTCH-InfoList-BR-r14, + multiTB-Gap-r16 ENUMERATED {sf2, sf4, sf8, sf16, sf32, sf64, sf128, spare} + OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SecurityModeCommand ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + securityModeCommand-r8 SecurityModeCommand-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SecurityModeCommand-r8-IEs ::= SEQUENCE { + securityConfigSMC SecurityConfigSMC, + nonCriticalExtension SecurityModeCommand-v8a0-IEs OPTIONAL +} + +SecurityModeCommand-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SecurityConfigSMC ::= SEQUENCE { + securityAlgorithmConfig SecurityAlgorithmConfig, + ... +} + + +SecurityModeComplete ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + securityModeComplete-r8 SecurityModeComplete-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +SecurityModeComplete-r8-IEs ::= SEQUENCE { + nonCriticalExtension SecurityModeComplete-v8a0-IEs OPTIONAL +} + +SecurityModeComplete-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SecurityModeFailure ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + securityModeFailure-r8 SecurityModeFailure-r8-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +SecurityModeFailure-r8-IEs ::= SEQUENCE { + nonCriticalExtension SecurityModeFailure-v8a0-IEs OPTIONAL +} + +SecurityModeFailure-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SidelinkUEInformation-r12 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + sidelinkUEInformation-r12 SidelinkUEInformation-r12-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SidelinkUEInformation-r12-IEs ::= SEQUENCE { + commRxInterestedFreq-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, + commTxResourceReq-r12 SL-CommTxResourceReq-r12 OPTIONAL, + discRxInterest-r12 ENUMERATED {true} OPTIONAL, + discTxResourceReq-r12 INTEGER (1..63) OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SidelinkUEInformation-v1310-IEs OPTIONAL +} + +SidelinkUEInformation-v1310-IEs ::= SEQUENCE { + commTxResourceReqUC-r13 SL-CommTxResourceReq-r12 OPTIONAL, + commTxResourceInfoReqRelay-r13 SEQUENCE { + commTxResourceReqRelay-r13 SL-CommTxResourceReq-r12 OPTIONAL, + commTxResourceReqRelayUC-r13 SL-CommTxResourceReq-r12 OPTIONAL, + ue-Type-r13 ENUMERATED {relayUE, remoteUE} + } OPTIONAL, + discTxResourceReq-v1310 SEQUENCE { + carrierFreqDiscTx-r13 INTEGER (1..maxFreq) OPTIONAL, + discTxResourceReqAddFreq-r13 SL-DiscTxResourceReqPerFreqList-r13 OPTIONAL + } OPTIONAL, + discTxResourceReqPS-r13 SL-DiscTxResourceReq-r13 OPTIONAL, + discRxGapReq-r13 SL-GapRequest-r13 OPTIONAL, + discTxGapReq-r13 SL-GapRequest-r13 OPTIONAL, + discSysInfoReportFreqList-r13 SL-DiscSysInfoReportFreqList-r13 OPTIONAL, + nonCriticalExtension SidelinkUEInformation-v1430-IEs OPTIONAL +} + +SidelinkUEInformation-v1430-IEs ::= SEQUENCE { + v2x-CommRxInterestedFreqList-r14 SL-V2X-CommFreqList-r14 OPTIONAL, + p2x-CommTxType-r14 ENUMERATED {true} OPTIONAL, + v2x-CommTxResourceReq-r14 SL-V2X-CommTxFreqList-r14 OPTIONAL, + nonCriticalExtension SidelinkUEInformation-v1530-IEs OPTIONAL +} + +SidelinkUEInformation-v1530-IEs ::= SEQUENCE { + reliabilityInfoListSL-r15 SL-ReliabilityList-r15 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SL-CommTxResourceReq-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, + destinationInfoList-r12 SL-DestinationInfoList-r12 +} + +SL-DiscTxResourceReqPerFreqList-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-DiscTxResourceReq-r13 + +SL-DiscTxResourceReq-r13 ::= SEQUENCE { + carrierFreqDiscTx-r13 INTEGER (1..maxFreq) OPTIONAL, + discTxResourceReq-r13 INTEGER (1..63) +} + +SL-DestinationInfoList-r12 ::= SEQUENCE (SIZE (1..maxSL-Dest-r12)) OF SL-DestinationIdentity-r12 + +SL-DestinationIdentity-r12 ::= BIT STRING (SIZE (24)) + +SL-DiscSysInfoReportFreqList-r13 ::= SEQUENCE (SIZE (1.. maxSL-DiscSysInfoReportFreq-r13)) OF SL-DiscSysInfoReport-r13 + +SL-V2X-CommFreqList-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF INTEGER (0..maxFreqV2X-1-r14) + +SL-V2X-CommTxFreqList-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF SL-V2X-CommTxResourceReq-r14 + +SL-V2X-CommTxResourceReq-r14 ::= SEQUENCE { + carrierFreqCommTx-r14 INTEGER (0.. maxFreqV2X-1-r14) OPTIONAL, + v2x-TypeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, + v2x-DestinationInfoList-r14 SL-DestinationInfoList-r12 OPTIONAL +} + + +SystemInformation-BR-r13 ::= SystemInformation + +SystemInformation-MBMS-r14 ::= SystemInformation + +SystemInformation ::= SEQUENCE { + criticalExtensions CHOICE { + systemInformation-r8 SystemInformation-r8-IEs, + criticalExtensionsFuture-r15 CHOICE { + posSystemInformation-r15 PosSystemInformation-r15-IEs, + criticalExtensionsFuture SEQUENCE {} + } + } +} +SystemInformation-r8-IEs ::= SEQUENCE { + sib-TypeAndInfo SEQUENCE (SIZE (1..maxSIB)) OF CHOICE { + sib2 SystemInformationBlockType2, + sib3 SystemInformationBlockType3, + sib4 SystemInformationBlockType4, + sib5 SystemInformationBlockType5, + sib6 SystemInformationBlockType6, + sib7 SystemInformationBlockType7, + sib8 SystemInformationBlockType8, + sib9 SystemInformationBlockType9, + sib10 SystemInformationBlockType10, + sib11 SystemInformationBlockType11, + ..., + sib12-v920 SystemInformationBlockType12-r9, + sib13-v920 SystemInformationBlockType13-r9, + sib14-v1130 SystemInformationBlockType14-r11, + sib15-v1130 SystemInformationBlockType15-r11, + sib16-v1130 SystemInformationBlockType16-r11, + sib17-v1250 SystemInformationBlockType17-r12, + sib18-v1250 SystemInformationBlockType18-r12, + sib19-v1250 SystemInformationBlockType19-r12, + sib20-v1310 SystemInformationBlockType20-r13, + sib21-v1430 SystemInformationBlockType21-r14, + sib24-v1530 SystemInformationBlockType24-r15, + sib25-v1530 SystemInformationBlockType25-r15, + sib26-v1530 SystemInformationBlockType26-r15, + sib26a-v1610 SystemInformationBlockType26a-r16, + sib27-v1610 SystemInformationBlockType27-r16, + sib28-v1610 SystemInformationBlockType28-r16, + sib29-v1610 SystemInformationBlockType29-r16 + }, + nonCriticalExtension SystemInformation-v8a0-IEs OPTIONAL +} + +SystemInformation-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PosSystemInformation-r15-IEs ::= SEQUENCE { + posSIB-TypeAndInfo-r15 SEQUENCE (SIZE (1..maxSIB)) OF CHOICE { + posSib1-1-r15 SystemInformationBlockPos-r15, + posSib1-2-r15 SystemInformationBlockPos-r15, + posSib1-3-r15 SystemInformationBlockPos-r15, + posSib1-4-r15 SystemInformationBlockPos-r15, + posSib1-5-r15 SystemInformationBlockPos-r15, + posSib1-6-r15 SystemInformationBlockPos-r15, + posSib1-7-r15 SystemInformationBlockPos-r15, + posSib2-1-r15 SystemInformationBlockPos-r15, + posSib2-2-r15 SystemInformationBlockPos-r15, + posSib2-3-r15 SystemInformationBlockPos-r15, + posSib2-4-r15 SystemInformationBlockPos-r15, + posSib2-5-r15 SystemInformationBlockPos-r15, + posSib2-6-r15 SystemInformationBlockPos-r15, + posSib2-7-r15 SystemInformationBlockPos-r15, + posSib2-8-r15 SystemInformationBlockPos-r15, + posSib2-9-r15 SystemInformationBlockPos-r15, + posSib2-10-r15 SystemInformationBlockPos-r15, + posSib2-11-r15 SystemInformationBlockPos-r15, + posSib2-12-r15 SystemInformationBlockPos-r15, + posSib2-13-r15 SystemInformationBlockPos-r15, + posSib2-14-r15 SystemInformationBlockPos-r15, + posSib2-15-r15 SystemInformationBlockPos-r15, + posSib2-16-r15 SystemInformationBlockPos-r15, + posSib2-17-r15 SystemInformationBlockPos-r15, + posSib2-18-r15 SystemInformationBlockPos-r15, + posSib2-19-r15 SystemInformationBlockPos-r15, + posSib3-1-r15 SystemInformationBlockPos-r15, + ..., + [[ + posSib1-8-v1610 SystemInformationBlockPos-r15, + posSib2-20-v1610 SystemInformationBlockPos-r15, + posSib2-21-v1610 SystemInformationBlockPos-r15, + posSib2-22-v1610 SystemInformationBlockPos-r15, + posSib2-23-v1610 SystemInformationBlockPos-r15, + posSib2-24-v1610 SystemInformationBlockPos-r15, + posSib2-25-v1610 SystemInformationBlockPos-r15, + posSib4-1-v1610 SystemInformationBlockPos-r15, + posSib5-1-v1610 SystemInformationBlockPos-r15 + ]] + }, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SystemInformationBlockType1-BR-r13 ::= SystemInformationBlockType1 + +SystemInformationBlockType1 ::= SEQUENCE { + cellAccessRelatedInfo SEQUENCE { + plmn-IdentityList PLMN-IdentityList, + trackingAreaCode TrackingAreaCode, + cellIdentity CellIdentity, + cellBarred ENUMERATED {barred, notBarred}, + intraFreqReselection ENUMERATED {allowed, notAllowed}, + csg-Indication BOOLEAN, + csg-Identity CSG-Identity OPTIONAL -- Need OR + }, + cellSelectionInfo SEQUENCE { + q-RxLevMin Q-RxLevMin, + q-RxLevMinOffset INTEGER (1..8) OPTIONAL -- Need OP + }, + p-Max P-Max OPTIONAL, -- Need OP + freqBandIndicator FreqBandIndicator, + schedulingInfoList SchedulingInfoList, + tdd-Config TDD-Config OPTIONAL, -- Cond TDD + si-WindowLength ENUMERATED { + ms1, ms2, ms5, ms10, ms15, ms20, + ms40}, + systemInfoValueTag INTEGER (0..31), + nonCriticalExtension SystemInformationBlockType1-v890-IEs OPTIONAL +} + +SystemInformationBlockType1-v890-IEs::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType1-v8h0-IEs) OPTIONAL, + nonCriticalExtension SystemInformationBlockType1-v920-IEs OPTIONAL +} + +-- Late non critical extensions +SystemInformationBlockType1-v8h0-IEs ::= SEQUENCE { + multiBandInfoList MultiBandInfoList OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-v9e0-IEs OPTIONAL +} + +SystemInformationBlockType1-v9e0-IEs ::= SEQUENCE { + freqBandIndicator-v9e0 FreqBandIndicator-v9e0 OPTIONAL, -- Cond FBI-max + multiBandInfoList-v9e0 MultiBandInfoList-v9e0 OPTIONAL, -- Cond mFBI-max + nonCriticalExtension SystemInformationBlockType1-v10j0-IEs OPTIONAL +} + +SystemInformationBlockType1-v10j0-IEs ::= SEQUENCE { + freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR + multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-v10l0-IEs OPTIONAL +} + +SystemInformationBlockType1-v10l0-IEs ::= SEQUENCE { + freqBandInfo-v10l0 NS-PmaxList-v10l0 OPTIONAL, -- Need OR + multiBandInfoList-v10l0 MultiBandInfoList-v10l0 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-v10x0-IEs OPTIONAL +} + +SystemInformationBlockType1-v10x0-IEs ::= SEQUENCE { + -- This field is only for late non-critical extensions from Rel-10 or Rel-11 onwards + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SystemInformationBlockType1-v12j0-IEs OPTIONAL +} + +SystemInformationBlockType1-v12j0-IEs ::= SEQUENCE { + schedulingInfoList-v12j0 SchedulingInfoList-v12j0 OPTIONAL, -- Need OR + schedulingInfoListExt-r12 SchedulingInfoListExt-r12 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-v15g0-IEs OPTIONAL +} + +SystemInformationBlockType1-v15g0-IEs ::= SEQUENCE { + bandwidthReducedAccessRelatedInfo-v15g0 SEQUENCE { + posSchedulingInfoList-BR-r15 SchedulingInfoList-BR-r13 + } OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non critical extensions +SystemInformationBlockType1-v920-IEs ::= SEQUENCE { + ims-EmergencySupport-r9 ENUMERATED {true} OPTIONAL, -- Need OR + cellSelectionInfo-v920 CellSelectionInfo-v920 OPTIONAL, -- Cond RSRQ + nonCriticalExtension SystemInformationBlockType1-v1130-IEs OPTIONAL +} + +SystemInformationBlockType1-v1130-IEs ::= SEQUENCE { + tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD-OR + cellSelectionInfo-v1130 CellSelectionInfo-v1130 OPTIONAL, -- Cond WB-RSRQ + nonCriticalExtension SystemInformationBlockType1-v1250-IEs OPTIONAL +} + +SystemInformationBlockType1-v1250-IEs ::= SEQUENCE { + cellAccessRelatedInfo-v1250 SEQUENCE { + category0Allowed-r12 ENUMERATED {true} OPTIONAL -- Need OP + }, + cellSelectionInfo-v1250 CellSelectionInfo-v1250 OPTIONAL, -- Cond RSRQ2 + freqBandIndicatorPriority-r12 ENUMERATED {true} OPTIONAL, -- Cond mFBI + nonCriticalExtension SystemInformationBlockType1-v1310-IEs OPTIONAL +} + +SystemInformationBlockType1-v1310-IEs ::= SEQUENCE { + hyperSFN-r13 BIT STRING (SIZE (10)) OPTIONAL, -- Need OR + eDRX-Allowed-r13 ENUMERATED {true} OPTIONAL, -- Need OR + cellSelectionInfoCE-r13 CellSelectionInfoCE-r13 OPTIONAL, -- Need OP + bandwidthReducedAccessRelatedInfo-r13 SEQUENCE { + si-WindowLength-BR-r13 ENUMERATED { + ms20, ms40, ms60, ms80, ms120, + ms160, ms200, spare}, + si-RepetitionPattern-r13 ENUMERATED {everyRF, every2ndRF, every4thRF, + every8thRF}, + schedulingInfoList-BR-r13 SchedulingInfoList-BR-r13 OPTIONAL, -- Cond SI-BR + fdd-DownlinkOrTddSubframeBitmapBR-r13 CHOICE { + subframePattern10-r13 BIT STRING (SIZE (10)), + subframePattern40-r13 BIT STRING (SIZE (40)) + } OPTIONAL, -- Need OP + fdd-UplinkSubframeBitmapBR-r13 BIT STRING (SIZE (10)) OPTIONAL, -- Need OP + startSymbolBR-r13 INTEGER (1..4), + si-HoppingConfigCommon-r13 ENUMERATED {on,off}, + si-ValidityTime-r13 ENUMERATED {true} OPTIONAL, -- Need OP + systemInfoValueTagList-r13 SystemInfoValueTagList-r13 OPTIONAL -- Need OR + } OPTIONAL, -- Cond BW-reduced + nonCriticalExtension SystemInformationBlockType1-v1320-IEs OPTIONAL +} + +SystemInformationBlockType1-v1320-IEs ::= SEQUENCE { + freqHoppingParametersDL-r13 SEQUENCE { + mpdcch-pdsch-HoppingNB-r13 ENUMERATED {nb2, nb4} OPTIONAL, -- Need OR + interval-DLHoppingConfigCommonModeA-r13 CHOICE { + interval-FDD-r13 ENUMERATED {int1, int2, int4, int8}, + interval-TDD-r13 ENUMERATED {int1, int5, int10, int20} + } OPTIONAL, -- Need OR + interval-DLHoppingConfigCommonModeB-r13 CHOICE { + interval-FDD-r13 ENUMERATED {int2, int4, int8, int16}, + interval-TDD-r13 ENUMERATED { int5, int10, int20, int40} + } OPTIONAL, -- Need OR + mpdcch-pdsch-HoppingOffset-r13 INTEGER (1..maxAvailNarrowBands-r13) OPTIONAL -- Need OR + } OPTIONAL, -- Cond Hopping + nonCriticalExtension SystemInformationBlockType1-v1350-IEs OPTIONAL +} + +SystemInformationBlockType1-v1350-IEs ::= SEQUENCE { + cellSelectionInfoCE1-r13 CellSelectionInfoCE1-r13 OPTIONAL, -- Need OP + nonCriticalExtension SystemInformationBlockType1-v1360-IEs OPTIONAL +} + +SystemInformationBlockType1-v1360-IEs ::= SEQUENCE { + cellSelectionInfoCE1-v1360 CellSelectionInfoCE1-v1360 OPTIONAL, -- Cond QrxlevminCE1 + nonCriticalExtension SystemInformationBlockType1-v1430-IEs OPTIONAL +} + +SystemInformationBlockType1-v1430-IEs ::= SEQUENCE { + eCallOverIMS-Support-r14 ENUMERATED {true} OPTIONAL, -- Need OR + tdd-Config-v1430 TDD-Config-v1430 OPTIONAL, -- Cond TDD-OR + cellAccessRelatedInfoList-r14 SEQUENCE (SIZE (1..maxPLMN-1-r14)) OF + CellAccessRelatedInfo-r14 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-v1450-IEs OPTIONAL +} + +SystemInformationBlockType1-v1450-IEs ::= SEQUENCE { + tdd-Config-v1450 TDD-Config-v1450 OPTIONAL, -- Cond TDD-OR + nonCriticalExtension SystemInformationBlockType1-v1530-IEs OPTIONAL +} + +SystemInformationBlockType1-v1530-IEs ::= SEQUENCE { + hsdn-Cell-r15 ENUMERATED {true} OPTIONAL, -- Need OR + cellSelectionInfoCE-v1530 CellSelectionInfoCE-v1530 OPTIONAL, -- Need OP + crs-IntfMitigConfig-r15 CHOICE { + crs-IntfMitigEnabled NULL, + crs-IntfMitigNumPRBs ENUMERATED {n6, n24} + } OPTIONAL, -- Need OR + cellBarred-CRS-r15 ENUMERATED {barred, notBarred}, + plmn-IdentityList-v1530 PLMN-IdentityList-v1530 OPTIONAL, -- Need OR + posSchedulingInfoList-r15 PosSchedulingInfoList-r15 OPTIONAL, -- Need OR + cellAccessRelatedInfo-5GC-r15 SEQUENCE { + cellBarred-5GC-r15 ENUMERATED {barred, notBarred}, + cellBarred-5GC-CRS-r15 ENUMERATED {barred, notBarred}, + cellAccessRelatedInfoList-5GC-r15 SEQUENCE (SIZE (1..maxPLMN-r11)) OF + CellAccessRelatedInfo-5GC-r15 + } OPTIONAL, -- Need OP + ims-EmergencySupport5GC-r15 ENUMERATED {true} OPTIONAL, -- Need OR + eCallOverIMS-Support5GC-r15 ENUMERATED {true} OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-v1540-IEs OPTIONAL +} + +SystemInformationBlockType1-v1540-IEs ::= SEQUENCE { + si-posOffset-r15 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension SystemInformationBlockType1-v1610-IEs OPTIONAL +} + +SystemInformationBlockType1-v1610-IEs ::= SEQUENCE { + eDRX-Allowed-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + transmissionInControlChRegion-r16 ENUMERATED {true} OPTIONAL, -- Cond BW-reduced + campingAllowedInCE-r16 ENUMERATED {true} OPTIONAL, -- Need OR + plmn-IdentityList-v1610 PLMN-IdentityList-v1610 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PLMN-IdentityList ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo + +PLMN-IdentityInfo ::= SEQUENCE { + plmn-Identity PLMN-Identity, + cellReservedForOperatorUse ENUMERATED {reserved, notReserved} +} + +PLMN-IdentityList-v1530 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-v1530 + +PLMN-IdentityInfo-v1530 ::= SEQUENCE { + cellReservedForOperatorUse-CRS-r15 ENUMERATED {reserved, notReserved} +} + +PLMN-IdentityList-r15::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-r15 + +PLMN-IdentityList-v1610::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-v1610 + +PLMN-IdentityInfo-r15 ::= SEQUENCE { + plmn-Identity-5GC-r15 CHOICE{ + plmn-Identity-r15 PLMN-Identity, + plmn-Index-r15 INTEGER (1..maxPLMN-r11) + }, + cellReservedForOperatorUse-r15 ENUMERATED {reserved, notReserved}, + cellReservedForOperatorUse-CRS-r15 ENUMERATED {reserved, notReserved} +} + +PLMN-IdentityInfo-v1610 ::= SEQUENCE { + cp-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL, -- Need OR + up-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL, -- Need OR + iab-Support-r16 ENUMERATED {true} OPTIONAL -- Need OR +} + +SchedulingInfoList ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo + +SchedulingInfoList-v12j0 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo-v12j0 + +SchedulingInfoListExt-r12 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfoExt-r12 + +SchedulingInfo ::= SEQUENCE { + si-Periodicity SI-Periodicity-r12, + sib-MappingInfo SIB-MappingInfo +} + +SchedulingInfo-v12j0 ::= SEQUENCE { + sib-MappingInfo-v12j0 SIB-MappingInfo-v12j0 OPTIONAL -- Need OR +} + +SchedulingInfoExt-r12 ::= SEQUENCE { + si-Periodicity-r12 SI-Periodicity-r12, + sib-MappingInfo-r12 SIB-MappingInfo-v12j0 +} + +SchedulingInfoList-BR-r13 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo-BR-r13 + +SchedulingInfo-BR-r13 ::= SEQUENCE { + si-Narrowband-r13 INTEGER (1..maxAvailNarrowBands-r13), + si-TBS-r13 ENUMERATED {b152, b208, b256, b328, b408, b504, b600, b712, b808, b936} +} + +SIB-MappingInfo ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type + +SIB-MappingInfo-v12j0 ::= SEQUENCE (SIZE (1..maxSIB-1)) OF SIB-Type-v12j0 + +SIB-Type ::= ENUMERATED { + sibType3, sibType4, sibType5, sibType6, + sibType7, sibType8, sibType9, sibType10, + sibType11, sibType12-v920, sibType13-v920, + sibType14-v1130, sibType15-v1130, + sibType16-v1130, sibType17-v1250, sibType18-v1250, + ..., sibType19-v1250, sibType20-v1310, sibType21-v1430, + sibType24-v1530, sibType25-v1530, sibType26-v1530, + sibType26a-v1610, sibType27-v1610, sibType28-v1610, + sibType29-v1610} + +SIB-Type-v12j0 ::= ENUMERATED { + sibType19-v1250, sibType20-v1310, sibType21-v1430, + sibType24-v1530, sibType25-v1530, sibType26-v1530, + sibType26a-v1610, sibType27-v1610, sibType28-v1610, + sibType29-v1610, spare6, spare5, + spare4, spare3, spare2, spare1, ...} + +SI-Periodicity-r12 ::= ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512} + +SystemInfoValueTagList-r13 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SystemInfoValueTagSI-r13 + +SystemInfoValueTagSI-r13 ::= INTEGER (0..3) + +CellSelectionInfo-v920 ::= SEQUENCE { + q-QualMin-r9 Q-QualMin-r9, + q-QualMinOffset-r9 INTEGER (1..8) OPTIONAL -- Need OP +} + +CellSelectionInfo-v1130 ::= SEQUENCE { + q-QualMinWB-r11 Q-QualMin-r9 +} + +CellSelectionInfo-v1250 ::= SEQUENCE { + q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 +} + +CellAccessRelatedInfo-r14 ::= SEQUENCE { + plmn-IdentityList-r14 PLMN-IdentityList, + trackingAreaCode-r14 TrackingAreaCode, + cellIdentity-r14 CellIdentity +} + +CellAccessRelatedInfo-5GC-r15 ::= SEQUENCE { + plmn-IdentityList-r15 PLMN-IdentityList-r15, + ran-AreaCode-r15 RAN-AreaCode-r15 OPTIONAL, -- Need OR + trackingAreaCode-5GC-r15 TrackingAreaCode-5GC-r15, + cellIdentity-5GC-r15 CellIdentity-5GC-r15 +} + +CellIdentity-5GC-r15 ::= CHOICE{ + cellIdentity-r15 CellIdentity, + cellId-Index-r15 INTEGER (1..maxPLMN-r11) +} + +PosSchedulingInfoList-r15 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF PosSchedulingInfo-r15 + +PosSchedulingInfo-r15 ::= SEQUENCE { + posSI-Periodicity-r15 ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512}, + posSIB-MappingInfo-r15 PosSIB-MappingInfo-r15 +} + +PosSIB-MappingInfo-r15 ::= SEQUENCE (SIZE (1..maxSIB)) OF PosSIB-Type-r15 + +PosSIB-Type-r15 ::= SEQUENCE { + encrypted-r15 ENUMERATED { true } OPTIONAL, -- Need OP + gnss-id-r15 GNSS-ID-r15 OPTIONAL, -- Need OP + sbas-id-r15 SBAS-ID-r15 OPTIONAL, -- Need OP + posSibType-r15 ENUMERATED { posSibType1-1, + posSibType1-2, + posSibType1-3, + posSibType1-4, + posSibType1-5, + posSibType1-6, + posSibType1-7, + 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, + posSibType3-1, + ..., + posSibType1-8-v1610, + posSibType2-20-v1610, + posSibType2-21-v1610, + posSibType2-22-v1610, + posSibType2-23-v1610, + posSibType2-24-v1610, + posSibType2-25-v1610, + posSibType4-1-v1610, + posSibType5-1-v1610 + }, + ... +} + + +SystemInformationBlockType1-MBMS-r14 ::= SEQUENCE { + cellAccessRelatedInfo-r14 SEQUENCE { + plmn-IdentityList-r14 PLMN-IdentityList-MBMS-r14, + trackingAreaCode-r14 TrackingAreaCode, + cellIdentity-r14 CellIdentity + }, + freqBandIndicator-r14 FreqBandIndicator-r11, + multiBandInfoList-r14 MultiBandInfoList-r11 OPTIONAL, -- Need OR + schedulingInfoList-MBMS-r14 SchedulingInfoList-MBMS-r14, + si-WindowLength-r14 ENUMERATED { + ms1, ms2, ms5, ms10, ms15, ms20,ms40, ms80}, + systemInfoValueTag-r14 INTEGER (0..31), + nonMBSFN-SubframeConfig-r14 NonMBSFN-SubframeConfig-r14 OPTIONAL, --Need OR + pdsch-ConfigCommon-r14 PDSCH-ConfigCommon, + systemInformationBlockType13-r14 SystemInformationBlockType13-r9 OPTIONAL, --Need OR + cellAccessRelatedInfoList-r14 SEQUENCE (SIZE (1..maxPLMN-1-r14)) OF + CellAccessRelatedInfo-r14 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PLMN-IdentityList-MBMS-r14 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-Identity + +SchedulingInfoList-MBMS-r14 ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo-MBMS-r14 + +SchedulingInfo-MBMS-r14 ::= SEQUENCE { + si-Periodicity-r14 ENUMERATED { + rf16, rf32, rf64, rf128, rf256, rf512}, + sib-MappingInfo-r14 SIB-MappingInfo-MBMS-r14 +} + +SIB-MappingInfo-MBMS-r14 ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type-MBMS-r14 + +SIB-Type-MBMS-r14 ::= ENUMERATED { + sibType10, sibType11, sibType12-v920, sibType13-v920, + sibType15-v1130, sibType16-v1130, ...} + + +NonMBSFN-SubframeConfig-r14 ::= SEQUENCE { + radioFrameAllocationPeriod-r14 ENUMERATED {rf4, rf8, rf16, rf32, rf64, rf128, rf512}, + radioFrameAllocationOffset-r14 INTEGER (0..7), + subframeAllocation-r14 BIT STRING (SIZE(9)) +} + + +UEAssistanceInformation-r11 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + ueAssistanceInformation-r11 UEAssistanceInformation-r11-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEAssistanceInformation-r11-IEs ::= SEQUENCE { + powerPrefIndication-r11 ENUMERATED {normal, lowPowerConsumption} OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UEAssistanceInformation-v1430-IEs OPTIONAL +} + +UEAssistanceInformation-v1430-IEs ::= SEQUENCE { + bw-Preference-r14 BW-Preference-r14 OPTIONAL, + sps-AssistanceInformation-r14 SEQUENCE { + trafficPatternInfoListSL-r14 TrafficPatternInfoList-r14 OPTIONAL, + trafficPatternInfoListUL-r14 TrafficPatternInfoList-r14 OPTIONAL + } OPTIONAL, + rlm-Report-r14 SEQUENCE { + rlm-Event-r14 ENUMERATED {earlyOutOfSync, earlyInSync}, + excessRep-MPDCCH-r14 ENUMERATED {excessRep1, excessRep2} OPTIONAL + } OPTIONAL, + delayBudgetReport-r14 DelayBudgetReport-r14 OPTIONAL, + nonCriticalExtension UEAssistanceInformation-v1450-IEs OPTIONAL +} + +UEAssistanceInformation-v1450-IEs ::= SEQUENCE { + overheatingAssistance-r14 OverheatingAssistance-r14 OPTIONAL, + nonCriticalExtension UEAssistanceInformation-v1530-IEs OPTIONAL +} + +UEAssistanceInformation-v1530-IEs ::= SEQUENCE { + sps-AssistanceInformation-v1530 SEQUENCE { + trafficPatternInfoListSL-v1530 TrafficPatternInfoList-v1530 + } OPTIONAL, + nonCriticalExtension UEAssistanceInformation-v1610-IEs OPTIONAL +} + +UEAssistanceInformation-v1610-IEs ::= SEQUENCE { + overheatingAssistance-v1610 OverheatingAssistance-v1610 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +BW-Preference-r14 ::= SEQUENCE { + dl-Preference-r14 ENUMERATED {mhz1dot4, mhz5, mhz20 } OPTIONAL, + ul-Preference-r14 ENUMERATED {mhz1dot4, mhz5} OPTIONAL +} + +TrafficPatternInfoList-r14 ::= SEQUENCE (SIZE (1..maxTrafficPattern-r14)) OF TrafficPatternInfo-r14 + +TrafficPatternInfo-r14 ::= SEQUENCE { + trafficPeriodicity-r14 ENUMERATED { + sf20, sf50, sf100, sf200, sf300, sf400, sf500, + sf600, sf700, sf800, sf900, sf1000}, + timingOffset-r14 INTEGER (0..10239), + priorityInfoSL-r14 SL-Priority-r13 OPTIONAL, + logicalChannelIdentityUL-r14 INTEGER (3..10) OPTIONAL, + messageSize-r14 BIT STRING (SIZE (6)) +} + +TrafficPatternInfoList-v1530 ::= SEQUENCE (SIZE (1..maxTrafficPattern-r14)) OF TrafficPatternInfo-v1530 + +TrafficPatternInfo-v1530 ::= SEQUENCE { + trafficDestination-r15 SL-DestinationIdentity-r12 OPTIONAL, + reliabilityInfoSL-r15 SL-Reliability-r15 OPTIONAL +} + +DelayBudgetReport-r14::= CHOICE { + type1 ENUMERATED { + msMinus1280, msMinus640, msMinus320, msMinus160, + msMinus80, msMinus60, msMinus40, msMinus20, ms0, ms20, + ms40, ms60, ms80, ms160, ms320, ms640, ms1280}, + + type2 ENUMERATED { + msMinus192, msMinus168,msMinus144, msMinus120, + msMinus96, msMinus72, msMinus48, msMinus24, ms0, ms24, + ms48, ms72, ms96, ms120, ms144, ms168, ms192} +} + +OverheatingAssistance-r14 ::= SEQUENCE { + reducedUE-Category SEQUENCE { + reducedUE-CategoryDL INTEGER (0..19), + reducedUE-CategoryUL INTEGER (0..21) + } OPTIONAL, + reducedMaxCCs SEQUENCE { + reducedCCsDL INTEGER (0..31), + reducedCCsUL INTEGER (0..31) + } OPTIONAL +} + +OverheatingAssistance-v1610 ::= SEQUENCE { + overheatingAssistanceForSCG-r16 OCTET STRING +} + + +UECapabilityEnquiry ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + ueCapabilityEnquiry-r8 UECapabilityEnquiry-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityEnquiry-r8-IEs ::= SEQUENCE { + ue-CapabilityRequest UE-CapabilityRequest, + nonCriticalExtension UECapabilityEnquiry-v8a0-IEs OPTIONAL +} + +UECapabilityEnquiry-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UECapabilityEnquiry-v1180-IEs OPTIONAL +} + +UECapabilityEnquiry-v1180-IEs ::= SEQUENCE { + requestedFrequencyBands-r11 SEQUENCE (SIZE (1..16)) OF FreqBandIndicator-r11 OPTIONAL, + nonCriticalExtension UECapabilityEnquiry-v1310-IEs OPTIONAL +} + +UECapabilityEnquiry-v1310-IEs ::= SEQUENCE { + requestReducedFormat-r13 ENUMERATED {true} OPTIONAL, -- Need ON + requestSkipFallbackComb-r13 ENUMERATED {true} OPTIONAL, -- Need ON + requestedMaxCCsDL-r13 INTEGER (2..32) OPTIONAL, -- Need ON + requestedMaxCCsUL-r13 INTEGER (2..32) OPTIONAL, -- Need ON + requestReducedIntNonContComb-r13 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension UECapabilityEnquiry-v1430-IEs OPTIONAL +} + +UECapabilityEnquiry-v1430-IEs ::= SEQUENCE { + requestDiffFallbackCombList-r14 BandCombinationList-r14 OPTIONAL, -- Need ON + nonCriticalExtension UECapabilityEnquiry-v1510-IEs OPTIONAL +} + +UECapabilityEnquiry-v1510-IEs ::= SEQUENCE { + requestedFreqBandsNR-MRDC-r15 OCTET STRING OPTIONAL, + nonCriticalExtension UECapabilityEnquiry-v1530-IEs OPTIONAL +} + +UECapabilityEnquiry-v1530-IEs ::= SEQUENCE { + requestSTTI-SPT-Capability-r15 ENUMERATED {true} OPTIONAL, + eutra-nr-only-r15 ENUMERATED {true} OPTIONAL, + nonCriticalExtension UECapabilityEnquiry-v1550-IEs OPTIONAL +} + +UECapabilityEnquiry-v1550-IEs ::= SEQUENCE { + requestedCapabilityNR-r15 OCTET STRING OPTIONAL, + nonCriticalExtension UECapabilityEnquiry-v1560-IEs OPTIONAL +} + +UECapabilityEnquiry-v1560-IEs ::= SEQUENCE { + requestedCapabilityCommon-r15 OCTET STRING OPTIONAL, + nonCriticalExtension UECapabilityEnquiry-v1610-IEs OPTIONAL +} + +UECapabilityEnquiry-v1610-IEs ::= SEQUENCE { + rrc-SegAllowed-r16 ENUMERATED {enabled} OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +UE-CapabilityRequest ::= SEQUENCE (SIZE (1..maxRAT-Capabilities)) OF RAT-Type + + +UECapabilityInformation ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + ueCapabilityInformation-r8 UECapabilityInformation-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityInformation-r8-IEs ::= SEQUENCE { + ue-CapabilityRAT-ContainerList UE-CapabilityRAT-ContainerList, + nonCriticalExtension UECapabilityInformation-v8a0-IEs OPTIONAL +} + +UECapabilityInformation-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UECapabilityInformation-v1250-IEs OPTIONAL +} + +UECapabilityInformation-v1250-IEs ::= SEQUENCE { + ue-RadioPagingInfo-r12 UE-RadioPagingInfo-r12 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +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 +} + + +UEInformationRequest-r9 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + ueInformationRequest-r9 UEInformationRequest-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEInformationRequest-r9-IEs ::= SEQUENCE { + rach-ReportReq-r9 BOOLEAN, + rlf-ReportReq-r9 BOOLEAN, + nonCriticalExtension UEInformationRequest-v930-IEs OPTIONAL +} + +UEInformationRequest-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UEInformationRequest-v1020-IEs OPTIONAL +} + +UEInformationRequest-v1020-IEs ::= SEQUENCE { + logMeasReportReq-r10 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension UEInformationRequest-v1130-IEs OPTIONAL +} + +UEInformationRequest-v1130-IEs ::= SEQUENCE { + connEstFailReportReq-r11 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension UEInformationRequest-v1250-IEs OPTIONAL +} + +UEInformationRequest-v1250-IEs ::= SEQUENCE { + mobilityHistoryReportReq-r12 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension UEInformationRequest-v1530-IEs OPTIONAL +} + +UEInformationRequest-v1530-IEs ::= SEQUENCE { + idleModeMeasurementReq-r15 ENUMERATED {true} OPTIONAL, -- Need ON + flightPathInfoReq-r15 FlightPathInfoReportConfig-r15 OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UEInformationResponse-r9 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + ueInformationResponse-r9 UEInformationResponse-r9-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEInformationResponse-r9-IEs ::= SEQUENCE { + rach-Report-r9 RACH-Report-r16 OPTIONAL, + rlf-Report-r9 RLF-Report-r9 OPTIONAL, + nonCriticalExtension UEInformationResponse-v930-IEs OPTIONAL +} + +-- Late non critical extensions +UEInformationResponse-v9e0-IEs ::= SEQUENCE { + rlf-Report-v9e0 RLF-Report-v9e0 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non critical extensions +UEInformationResponse-v930-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING UEInformationResponse-v9e0-IEs) OPTIONAL, + nonCriticalExtension UEInformationResponse-v1020-IEs OPTIONAL +} + +UEInformationResponse-v1020-IEs ::= SEQUENCE { + logMeasReport-r10 LogMeasReport-r10 OPTIONAL, + nonCriticalExtension UEInformationResponse-v1130-IEs OPTIONAL +} + +UEInformationResponse-v1130-IEs ::= SEQUENCE { + connEstFailReport-r11 ConnEstFailReport-r11 OPTIONAL, + nonCriticalExtension UEInformationResponse-v1250-IEs OPTIONAL +} + +UEInformationResponse-v1250-IEs ::= SEQUENCE { + mobilityHistoryReport-r12 MobilityHistoryReport-r12 OPTIONAL, + nonCriticalExtension UEInformationResponse-v1530-IEs OPTIONAL +} + +UEInformationResponse-v1530-IEs ::= SEQUENCE { + measResultListIdle-r15 MeasResultListIdle-r15 OPTIONAL, + flightPathInfoReport-r15 FlightPathInfoReport-r15 OPTIONAL, + nonCriticalExtension UEInformationResponse-v1610-IEs OPTIONAL +} + +UEInformationResponse-v1610-IEs ::= SEQUENCE { + rach-Report-v1610 RACH-Report-v1610 OPTIONAL, + measResultListExtIdle-r16 MeasResultListExtIdle-r16 OPTIONAL, + measResultListIdleNR-r16 MeasResultListIdleNR-r16 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RACH-Report-r16 ::= SEQUENCE { + numberOfPreamblesSent-r16 NumberOfPreamblesSent-r11, + contentionDetected-r16 BOOLEAN +} + +RACH-Report-v1610 ::= SEQUENCE { + initialCEL-r16 INTEGER (0..3), + edt-Fallback-r16 BOOLEAN +} + +RLF-Report-r9 ::= SEQUENCE { + measResultLastServCell-r9 SEQUENCE { + rsrpResult-r9 RSRP-Range, + rsrqResult-r9 RSRQ-Range OPTIONAL + }, + measResultNeighCells-r9 SEQUENCE { + measResultListEUTRA-r9 MeasResultList2EUTRA-r9 OPTIONAL, + measResultListUTRA-r9 MeasResultList2UTRA-r9 OPTIONAL, + measResultListGERAN-r9 MeasResultListGERAN OPTIONAL, + measResultsCDMA2000-r9 MeasResultList2CDMA2000-r9 OPTIONAL + } OPTIONAL, + ..., + [[ locationInfo-r10 LocationInfo-r10 OPTIONAL, + failedPCellId-r10 CHOICE { + cellGlobalId-r10 CellGlobalIdEUTRA, + pci-arfcn-r10 SEQUENCE { + physCellId-r10 PhysCellId, + carrierFreq-r10 ARFCN-ValueEUTRA + } + } OPTIONAL, + reestablishmentCellId-r10 CellGlobalIdEUTRA OPTIONAL, + timeConnFailure-r10 INTEGER (0..1023) OPTIONAL, + connectionFailureType-r10 ENUMERATED {rlf, hof} OPTIONAL, + previousPCellId-r10 CellGlobalIdEUTRA OPTIONAL + ]], + [[ failedPCellId-v1090 SEQUENCE { + carrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 + } OPTIONAL + ]], + [[ basicFields-r11 SEQUENCE { + c-RNTI-r11 C-RNTI, + rlf-Cause-r11 ENUMERATED { + t310-Expiry, randomAccessProblem, + rlc-MaxNumRetx, t312-Expiry-r12}, + timeSinceFailure-r11 TimeSinceFailure-r11 + } OPTIONAL, + previousUTRA-CellId-r11 SEQUENCE { + carrierFreq-r11 ARFCN-ValueUTRA, + physCellId-r11 CHOICE { + fdd-r11 PhysCellIdUTRA-FDD, + tdd-r11 PhysCellIdUTRA-TDD + }, + cellGlobalId-r11 CellGlobalIdUTRA OPTIONAL + } OPTIONAL, + selectedUTRA-CellId-r11 SEQUENCE { + carrierFreq-r11 ARFCN-ValueUTRA, + physCellId-r11 CHOICE { + fdd-r11 PhysCellIdUTRA-FDD, + tdd-r11 PhysCellIdUTRA-TDD + } + } OPTIONAL + ]], + [[ failedPCellId-v1250 SEQUENCE { + tac-FailedPCell-r12 TrackingAreaCode + } OPTIONAL, + measResultLastServCell-v1250 RSRQ-Range-v1250 OPTIONAL, + lastServCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL + ]], + [[ drb-EstablishedWithQCI-1-r13 ENUMERATED {qci1} OPTIONAL + ]], + [[ measResultLastServCell-v1360 RSRP-Range-v1360 OPTIONAL + ]], + [[ logMeasResultListBT-r15 LogMeasResultListBT-r15 OPTIONAL, + logMeasResultListWLAN-r15 LogMeasResultListWLAN-r15 OPTIONAL + ]], + [[ measResultListNR-r16 MeasResultCellListNR-r15 OPTIONAL, + previousNR-PCellId-r16 CellGlobalIdNR-r16 OPTIONAL, + failedNR-PCellId-r16 CHOICE { + cellGlobalId CellGlobalIdNR-r16, + pci-arfcn SEQUENCE { + physCellId-r16 PhysCellIdNR-r15, + carrierFreq-r16 ARFCN-ValueNR-r15 + } + } OPTIONAL, + reconnectCellId-r16 CHOICE { + nrReconnectCellId CellGlobalIdNR-r16, + eutraReconnectCellId SEQUENCE { + cellGlobalId-r16 CellGlobalIdEUTRA, + trackingAreaCode-EPC-r16 TrackingAreaCode OPTIONAL, + trackingAreaCode-5GC-r16 TrackingAreaCode-5GC-r15 OPTIONAL + } + } OPTIONAL, + timeUntilReconnection-r16 TimeUntilReconnection-r16 OPTIONAL + ]], + [[ measResultListNR-v1640 SEQUENCE { + carrierFreqNR-r16 ARFCN-ValueNR-r15 + } OPTIONAL, + measResultListExtNR-r16 MeasResultFreqListNR-r16 OPTIONAL + ]] +} + +RLF-Report-v9e0 ::= SEQUENCE { + measResultListEUTRA-v9e0 MeasResultList2EUTRA-v9e0 +} + +MeasResultList2EUTRA-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-r9 + +MeasResultList2EUTRA-v9e0 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v9e0 + +MeasResultList2EUTRA-v1250 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2EUTRA-v1250 + +MeasResult2EUTRA-r9 ::= SEQUENCE { + carrierFreq-r9 ARFCN-ValueEUTRA, + measResultList-r9 MeasResultListEUTRA +} + +MeasResult2EUTRA-v9e0 ::= SEQUENCE { + carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL +} + +MeasResult2EUTRA-v1250 ::= SEQUENCE { + rsrq-Type-r12 RSRQ-Type-r12 OPTIONAL +} + +MeasResultList2UTRA-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2UTRA-r9 + +MeasResult2UTRA-r9 ::= SEQUENCE { + carrierFreq-r9 ARFCN-ValueUTRA, + measResultList-r9 MeasResultListUTRA +} + +MeasResultList2CDMA2000-r9 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult2CDMA2000-r9 + +MeasResult2CDMA2000-r9 ::= SEQUENCE { + carrierFreq-r9 CarrierFreqCDMA2000, + measResultList-r9 MeasResultsCDMA2000 +} + +LogMeasReport-r10 ::= SEQUENCE { + absoluteTimeStamp-r10 AbsoluteTimeInfo-r10, + traceReference-r10 TraceReference-r10, + traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), + tce-Id-r10 OCTET STRING (SIZE (1)), + logMeasInfoList-r10 LogMeasInfoList-r10, + logMeasAvailable-r10 ENUMERATED {true} OPTIONAL, + ..., + [[ logMeasAvailableBT-r15 ENUMERATED {true} OPTIONAL, + logMeasAvailableWLAN-r15 ENUMERATED {true} OPTIONAL + ]] +} + +LogMeasInfoList-r10 ::= SEQUENCE (SIZE (1..maxLogMeasReport-r10)) OF LogMeasInfo-r10 + +LogMeasInfo-r10 ::= SEQUENCE { + locationInfo-r10 LocationInfo-r10 OPTIONAL, + relativeTimeStamp-r10 INTEGER (0..7200), + servCellIdentity-r10 CellGlobalIdEUTRA, + measResultServCell-r10 SEQUENCE { + rsrpResult-r10 RSRP-Range, + rsrqResult-r10 RSRQ-Range + }, + measResultNeighCells-r10 SEQUENCE { + measResultListEUTRA-r10 MeasResultList2EUTRA-r9 OPTIONAL, + measResultListUTRA-r10 MeasResultList2UTRA-r9 OPTIONAL, + measResultListGERAN-r10 MeasResultList2GERAN-r10 OPTIONAL, + measResultListCDMA2000-r10 MeasResultList2CDMA2000-r9 OPTIONAL + } OPTIONAL, + ..., + [[ measResultListEUTRA-v1090 MeasResultList2EUTRA-v9e0 OPTIONAL + ]], + [[ measResultListMBSFN-r12 MeasResultListMBSFN-r12 OPTIONAL, + measResultServCell-v1250 RSRQ-Range-v1250 OPTIONAL, + servCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL + ]], + [[ inDeviceCoexDetected-r13 ENUMERATED {true} OPTIONAL + ]], + [[ measResultServCell-v1360 RSRP-Range-v1360 OPTIONAL + ]], + [[ logMeasResultListBT-r15 LogMeasResultListBT-r15 OPTIONAL, + logMeasResultListWLAN-r15 LogMeasResultListWLAN-r15 OPTIONAL + ]], + [[ anyCellSelectionDetected-r15 ENUMERATED {true} OPTIONAL + ]], + [[ measResultListNR-r16 MeasResultCellListNR-r15 OPTIONAL + ]], + [[ measResultListNR-v1640 SEQUENCE { + carrierFreqNR-r16 ARFCN-ValueNR-r15 + } OPTIONAL, + measResultListExtNR-r16 MeasResultFreqListNR-r16 OPTIONAL + ]] +} + +MeasResultListMBSFN-r12 ::= SEQUENCE (SIZE (1..maxMBSFN-Area)) OF MeasResultMBSFN-r12 + +MeasResultMBSFN-r12 ::= SEQUENCE { + mbsfn-Area-r12 SEQUENCE { + mbsfn-AreaId-r12 MBSFN-AreaId-r12, + carrierFreq-r12 ARFCN-ValueEUTRA-r9 + }, + rsrpResultMBSFN-r12 RSRP-Range, + rsrqResultMBSFN-r12 MBSFN-RSRQ-Range-r12, + signallingBLER-Result-r12 BLER-Result-r12 OPTIONAL, + dataBLER-MCH-ResultList-r12 DataBLER-MCH-ResultList-r12 OPTIONAL, + ... +} + +DataBLER-MCH-ResultList-r12 ::= SEQUENCE (SIZE (1.. maxPMCH-PerMBSFN)) OF DataBLER-MCH-Result-r12 + +DataBLER-MCH-Result-r12 ::= SEQUENCE { + mch-Index-r12 INTEGER (1..maxPMCH-PerMBSFN), + dataBLER-Result-r12 BLER-Result-r12 +} + +BLER-Result-r12 ::= SEQUENCE { + bler-r12 BLER-Range-r12, + blocksReceived-r12 SEQUENCE { + n-r12 BIT STRING (SIZE (3)), + m-r12 BIT STRING (SIZE (8)) + } +} + +BLER-Range-r12 ::= INTEGER(0..31) + +MeasResultList2GERAN-r10 ::= SEQUENCE (SIZE (1..maxCellListGERAN)) OF MeasResultListGERAN + +MeasResultFreqListNR-r16::= SEQUENCE (SIZE (1..maxFreq-1-r16)) OF MeasResultFreqFailNR-r15 + +ConnEstFailReport-r11 ::= SEQUENCE { + failedCellId-r11 CellGlobalIdEUTRA, + locationInfo-r11 LocationInfo-r10 OPTIONAL, + measResultFailedCell-r11 SEQUENCE { + rsrpResult-r11 RSRP-Range, + rsrqResult-r11 RSRQ-Range OPTIONAL + }, + measResultNeighCells-r11 SEQUENCE { + measResultListEUTRA-r11 MeasResultList2EUTRA-r9 OPTIONAL, + measResultListUTRA-r11 MeasResultList2UTRA-r9 OPTIONAL, + measResultListGERAN-r11 MeasResultListGERAN OPTIONAL, + measResultsCDMA2000-r11 MeasResultList2CDMA2000-r9 OPTIONAL + } OPTIONAL, + numberOfPreamblesSent-r11 NumberOfPreamblesSent-r11, + contentionDetected-r11 BOOLEAN, + maxTxPowerReached-r11 BOOLEAN, + timeSinceFailure-r11 TimeSinceFailure-r11, + measResultListEUTRA-v1130 MeasResultList2EUTRA-v9e0 OPTIONAL, + ..., + [[ measResultFailedCell-v1250 RSRQ-Range-v1250 OPTIONAL, + failedCellRSRQ-Type-r12 RSRQ-Type-r12 OPTIONAL, + measResultListEUTRA-v1250 MeasResultList2EUTRA-v1250 OPTIONAL + ]], + [[ measResultFailedCell-v1360 RSRP-Range-v1360 OPTIONAL + ]], + [[ logMeasResultListBT-r15 LogMeasResultListBT-r15 OPTIONAL, + logMeasResultListWLAN-r15 LogMeasResultListWLAN-r15 OPTIONAL + ]], + [[ measResultListNR-r16 MeasResultCellListNR-r15 OPTIONAL + ]], + [[ measResultListNR-v1640 SEQUENCE { + carrierFreqNR-r16 ARFCN-ValueNR-r15 + } OPTIONAL, + measResultListExtNR-r16 MeasResultFreqListNR-r16 OPTIONAL + ]] +} + +NumberOfPreamblesSent-r11::= INTEGER (1..200) + +TimeSinceFailure-r11 ::= INTEGER (0..172800) + +TimeUntilReconnection-r16 ::= INTEGER (0..172800) + +MobilityHistoryReport-r12 ::= VisitedCellInfoList-r12 + +FlightPathInfoReport-r15 ::= SEQUENCE { + flightPath-r15 SEQUENCE (SIZE (1..maxWayPoint-r15)) OF WayPointLocation-r15 OPTIONAL, + dummy SEQUENCE {} OPTIONAL +} + +WayPointLocation-r15 ::= SEQUENCE { + wayPointLocation-r15 LocationInfo-r10, + timeStamp-r15 AbsoluteTimeInfo-r10 OPTIONAL +} + + +ULHandoverPreparationTransfer ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + ulHandoverPreparationTransfer-r8 ULHandoverPreparationTransfer-r8-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULHandoverPreparationTransfer-r8-IEs ::= SEQUENCE { + cdma2000-Type CDMA2000-Type, + meid BIT STRING (SIZE (56)) OPTIONAL, + dedicatedInfo DedicatedInfoCDMA2000, + nonCriticalExtension ULHandoverPreparationTransfer-v8a0-IEs OPTIONAL +} + +ULHandoverPreparationTransfer-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +ULInformationTransfer ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + ulInformationTransfer-r8 ULInformationTransfer-r8-IEs, + ulInformationTransfer-r16 ULInformationTransfer-r16-IEs, + spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULInformationTransfer-r8-IEs ::= SEQUENCE { + dedicatedInfoType CHOICE { + dedicatedInfoNAS DedicatedInfoNAS, + dedicatedInfoCDMA2000-1XRTT DedicatedInfoCDMA2000, + dedicatedInfoCDMA2000-HRPD DedicatedInfoCDMA2000 + }, + nonCriticalExtension ULInformationTransfer-v8a0-IEs OPTIONAL +} + +ULInformationTransfer-v8a0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +ULInformationTransfer-r16-IEs ::= SEQUENCE { + dedicatedInfoType-r16 CHOICE { + dedicatedInfoNAS-r16 DedicatedInfoNAS, + dedicatedInfoCDMA2000-1XRTT-r16 DedicatedInfoCDMA2000, + dedicatedInfoCDMA2000-HRPD-r16 DedicatedInfoCDMA2000 + } OPTIONAL, + dedicatedInfoF1c-r16 DedicatedInfoF1c-r16 OPTIONAL, + nonCriticalExtension ULInformationTransfer-v8a0-IEs OPTIONAL +} + + +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-MessageNR-r16 OCTET STRING OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +ULInformationTransferMRDC-r15 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + ulInformationTransferMRDC-r15 ULInformationTransferMRDC-r15-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULInformationTransferMRDC-r15-IEs ::= SEQUENCE { + ul-DCCH-MessageNR-r15 OCTET STRING OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +WLANConnectionStatusReport-r13 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + wlanConnectionStatusReport-r13 WLANConnectionStatusReport-r13-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +WLANConnectionStatusReport-r13-IEs ::= SEQUENCE { + wlan-Status-r13 WLAN-Status-r13, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension WLANConnectionStatusReport-v1430-IEs OPTIONAL +} + +WLANConnectionStatusReport-v1430-IEs ::= SEQUENCE { + wlan-Status-v1430 WLAN-Status-v1430, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SetupRelease { ElementTypeParam } ::= CHOICE { + release NULL, + setup ElementTypeParam +} + + +SystemInformationBlockPos-r15 ::= SEQUENCE { + assistanceDataSIB-Element-r15 OCTET STRING, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + + +SystemInformationBlockType2 ::= SEQUENCE { + ac-BarringInfo SEQUENCE { + ac-BarringForEmergency BOOLEAN, + ac-BarringForMO-Signalling AC-BarringConfig OPTIONAL, -- Need OP + ac-BarringForMO-Data AC-BarringConfig OPTIONAL -- Need OP + } OPTIONAL, -- Need OP + radioResourceConfigCommon RadioResourceConfigCommonSIB, + ue-TimersAndConstants UE-TimersAndConstants, + freqInfo SEQUENCE { + ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP + ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100} + OPTIONAL, -- Need OP + additionalSpectrumEmission AdditionalSpectrumEmission + }, + mbsfn-SubframeConfigList MBSFN-SubframeConfigList OPTIONAL, -- Need OR + timeAlignmentTimerCommon TimeAlignmentTimer, + ..., + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType2-v8h0-IEs) OPTIONAL, + [[ ssac-BarringForMMTEL-Voice-r9 AC-BarringConfig OPTIONAL, -- Need OP + ssac-BarringForMMTEL-Video-r9 AC-BarringConfig OPTIONAL -- Need OP + ]], + [[ ac-BarringForCSFB-r10 AC-BarringConfig OPTIONAL -- Need OP + ]], + [[ ac-BarringSkipForMMTELVoice-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringSkipForMMTELVideo-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringSkipForSMS-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringPerPLMN-List-r12 AC-BarringPerPLMN-List-r12 OPTIONAL -- Need OP + ]], + [[ voiceServiceCauseIndication-r12 ENUMERATED {true} OPTIONAL -- Need OP + ]], + [[ acdc-BarringForCommon-r13 ACDC-BarringForCommon-r13 OPTIONAL, -- Need OP + acdc-BarringPerPLMN-List-r13 ACDC-BarringPerPLMN-List-r13 OPTIONAL -- Need OP + ]], + [[ + udt-RestrictingForCommon-r13 UDT-Restricting-r13 OPTIONAL, -- Need OR + udt-RestrictingPerPLMN-List-r13 UDT-RestrictingPerPLMN-List-r13 OPTIONAL, -- Need OR + cIoT-EPS-OptimisationInfo-r13 CIOT-EPS-OptimisationInfo-r13 OPTIONAL, -- Need OP + useFullResumeID-r13 ENUMERATED {true} OPTIONAL -- Need OP + ]], + [[ unicastFreqHoppingInd-r13 ENUMERATED {true} OPTIONAL -- Need OP + ]], + [[ mbsfn-SubframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 OPTIONAL, -- Need OP + videoServiceCauseIndication-r14 ENUMERATED {true} OPTIONAL -- Need OP + ]], + [[ plmn-InfoList-r15 PLMN-InfoList-r15 OPTIONAL -- Need OP + ]], + [[ cp-EDT-r15 ENUMERATED {true} OPTIONAL, -- Need OR + up-EDT-r15 ENUMERATED {true} OPTIONAL, -- Need OR + idleModeMeasurements-r15 ENUMERATED {true} OPTIONAL, -- Need OR + reducedCP-LatencyEnabled-r15 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ mbms-ROM-ServiceIndication-r15 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ rlos-Enabled-r16 ENUMERATED {true} OPTIONAL, -- Need OR + earlySecurityReactivation-r16 ENUMERATED {true} OPTIONAL, -- Need OR + cp-EDT-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + up-EDT-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + cp-PUR-EPC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + up-PUR-EPC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + cp-PUR-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + up-PUR-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + mpdcch-CQI-Reporting-r16 ENUMERATED {fourBits, both} OPTIONAL, -- Need OR + rai-ActivationEnh-r16 ENUMERATED {true} OPTIONAL, -- Need OR + idleModeMeasurementsNR-r16 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + +SystemInformationBlockType2-v8h0-IEs ::= SEQUENCE { + multiBandInfoList SEQUENCE (SIZE (1..maxMultiBands)) OF AdditionalSpectrumEmission OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType2-v9e0-IEs OPTIONAL +} + +SystemInformationBlockType2-v9e0-IEs ::= SEQUENCE { + ul-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL, -- Cond ul-FreqMax + nonCriticalExtension SystemInformationBlockType2-v9i0-IEs OPTIONAL +} + +SystemInformationBlockType2-v9i0-IEs ::= SEQUENCE { +-- Following field is for any non-critical extensions from REL-9 + nonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType2-v10m0-IEs) OPTIONAL, + dummy SEQUENCE {} OPTIONAL +} + +SystemInformationBlockType2-v10m0-IEs ::= SEQUENCE { + freqInfo-v10l0 SEQUENCE { + additionalSpectrumEmission-v10l0 AdditionalSpectrumEmission-v10l0 + } OPTIONAL, + multiBandInfoList-v10l0 SEQUENCE (SIZE (1..maxMultiBands)) OF + AdditionalSpectrumEmission-v10l0 OPTIONAL, + nonCriticalExtension SystemInformationBlockType2-v10n0-IEs OPTIONAL +} + +SystemInformationBlockType2-v10n0-IEs ::= SEQUENCE { +-- Following field is for non-critical extensions up-to REL-12 + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SystemInformationBlockType2-v13c0-IEs OPTIONAL +} + +SystemInformationBlockType2-v13c0-IEs ::= SEQUENCE { + uplinkPowerControlCommon-v13c0 UplinkPowerControlCommon-v1310 OPTIONAL, -- Need OR +-- Following field is for non-critical extensions from REL-13 + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +AC-BarringConfig ::= SEQUENCE { + ac-BarringFactor ENUMERATED { + p00, p05, p10, p15, p20, p25, p30, p40, + p50, p60, p70, p75, p80, p85, p90, p95}, + ac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512}, + ac-BarringForSpecialAC BIT STRING (SIZE(5)) +} + +MBSFN-SubframeConfigList ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig + +MBSFN-SubframeConfigList-v1430 ::= SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig-v1430 + +AC-BarringPerPLMN-List-r12 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF AC-BarringPerPLMN-r12 + +AC-BarringPerPLMN-r12 ::= SEQUENCE { + plmn-IdentityIndex-r12 INTEGER (1..maxPLMN-r11), + ac-BarringInfo-r12 SEQUENCE { + ac-BarringForEmergency-r12 BOOLEAN, + ac-BarringForMO-Signalling-r12 AC-BarringConfig OPTIONAL, -- Need OP + ac-BarringForMO-Data-r12 AC-BarringConfig OPTIONAL -- Need OP + } OPTIONAL, -- Need OP + ac-BarringSkipForMMTELVoice-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringSkipForMMTELVideo-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringSkipForSMS-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ac-BarringForCSFB-r12 AC-BarringConfig OPTIONAL, -- Need OP + ssac-BarringForMMTEL-Voice-r12 AC-BarringConfig OPTIONAL, -- Need OP + ssac-BarringForMMTEL-Video-r12 AC-BarringConfig OPTIONAL -- Need OP +} + +ACDC-BarringForCommon-r13 ::= SEQUENCE { + acdc-HPLMNonly-r13 BOOLEAN, + barringPerACDC-CategoryList-r13 BarringPerACDC-CategoryList-r13 +} + +ACDC-BarringPerPLMN-List-r13 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF ACDC-BarringPerPLMN-r13 + +ACDC-BarringPerPLMN-r13 ::= SEQUENCE { + plmn-IdentityIndex-r13 INTEGER (1..maxPLMN-r11), + acdc-OnlyForHPLMN-r13 BOOLEAN, + barringPerACDC-CategoryList-r13 BarringPerACDC-CategoryList-r13 +} + +BarringPerACDC-CategoryList-r13 ::= SEQUENCE (SIZE (1..maxACDC-Cat-r13)) OF BarringPerACDC-Category-r13 + +BarringPerACDC-Category-r13 ::= SEQUENCE { + acdc-Category-r13 INTEGER (1..maxACDC-Cat-r13), + acdc-BarringConfig-r13 SEQUENCE { + ac-BarringFactor-r13 ENUMERATED { + p00, p05, p10, p15, p20, p25, p30, p40, + p50, p60, p70, p75, p80, p85, p90, p95}, + ac-BarringTime-r13 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512} + } OPTIONAL -- Need OP +} + +UDT-Restricting-r13 ::= SEQUENCE { + udt-Restricting-r13 ENUMERATED {true} OPTIONAL, --Need OR + udt-RestrictingTime-r13 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512} OPTIONAL --Need OR +} + +UDT-RestrictingPerPLMN-List-r13 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF UDT-RestrictingPerPLMN-r13 + +UDT-RestrictingPerPLMN-r13 ::= SEQUENCE { + plmn-IdentityIndex-r13 INTEGER (1..maxPLMN-r11), + udt-Restricting-r13 UDT-Restricting-r13 OPTIONAL --Need OR +} + +CIOT-EPS-OptimisationInfo-r13 ::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF CIOT-OptimisationPLMN-r13 + +CIOT-OptimisationPLMN-r13::= SEQUENCE { + up-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL, -- Need OP + cp-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL, -- Need OP + attachWithoutPDN-Connectivity-r13 ENUMERATED {true} OPTIONAL -- Need OP +} + +PLMN-InfoList-r15 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-Info-r15 + +PLMN-Info-r15 ::= SEQUENCE { + upperLayerIndication-r15 ENUMERATED {true} OPTIONAL -- Need OR +} + + +SystemInformationBlockType3 ::= SEQUENCE { + cellReselectionInfoCommon SEQUENCE { + q-Hyst ENUMERATED { + dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, + dB12, dB14, dB16, dB18, dB20, dB22, dB24}, + speedStateReselectionPars SEQUENCE { + mobilityStateParameters MobilityStateParameters, + q-HystSF SEQUENCE { + sf-Medium ENUMERATED { + dB-6, dB-4, dB-2, dB0}, + sf-High ENUMERATED { + dB-6, dB-4, dB-2, dB0} + } + } OPTIONAL -- Need OP + }, + cellReselectionServingFreqInfo SEQUENCE { + s-NonIntraSearch ReselectionThreshold OPTIONAL, -- Need OP + threshServingLow ReselectionThreshold, + cellReselectionPriority CellReselectionPriority + }, + intraFreqCellReselectionInfo SEQUENCE { + q-RxLevMin Q-RxLevMin, + p-Max P-Max OPTIONAL, -- Need OP + s-IntraSearch ReselectionThreshold OPTIONAL, -- Need OP + allowedMeasBandwidth AllowedMeasBandwidth OPTIONAL, -- Need OP + presenceAntennaPort1 PresenceAntennaPort1, + neighCellConfig NeighCellConfig, + t-ReselectionEUTRA T-Reselection, + t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL -- Need OP + }, + ..., + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType3-v10j0-IEs) OPTIONAL, + [[ s-IntraSearch-v920 SEQUENCE { + s-IntraSearchP-r9 ReselectionThreshold, + s-IntraSearchQ-r9 ReselectionThresholdQ-r9 + } OPTIONAL, -- Need OP + s-NonIntraSearch-v920 SEQUENCE { + s-NonIntraSearchP-r9 ReselectionThreshold, + s-NonIntraSearchQ-r9 ReselectionThresholdQ-r9 + } OPTIONAL, -- Need OP + q-QualMin-r9 Q-QualMin-r9 OPTIONAL, -- Need OP + threshServingLowQ-r9 ReselectionThresholdQ-r9 OPTIONAL -- Need OP + ]], + [[ q-QualMinWB-r11 Q-QualMin-r9 OPTIONAL -- Cond WB-RSRQ + ]], + [[ q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL -- Cond RSRQ + ]], + [[ cellReselectionServingFreqInfo-v1310 CellReselectionServingFreqInfo-v1310 OPTIONAL, -- Need OP + redistributionServingInfo-r13 RedistributionServingInfo-r13 OPTIONAL, --Need OR + cellSelectionInfoCE-r13 CellSelectionInfoCE-r13 OPTIONAL, -- Need OP + t-ReselectionEUTRA-CE-r13 T-ReselectionEUTRA-CE-r13 OPTIONAL -- Need OP + ]], + [[ cellSelectionInfoCE1-r13 CellSelectionInfoCE1-r13 OPTIONAL -- Need OP + ]], + [[ cellSelectionInfoCE1-v1360 CellSelectionInfoCE1-v1360 OPTIONAL -- Cond QrxlevminCE1 + ]], + [[ cellReselectionInfoCommon-v1460 CellReselectionInfoCommon-v1460 OPTIONAL -- Need OR + ]], + [[ cellReselectionInfoHSDN-r15 CellReselectionInfoHSDN-r15 OPTIONAL, -- Need OR + cellSelectionInfoCE-v1530 CellSelectionInfoCE-v1530 OPTIONAL, -- Need OP + crs-IntfMitigNeighCellsCE-r15 ENUMERATED {enabled} OPTIONAL -- Need OP + ]], + [[ cellReselectionServingFreqInfo-v1610 CellReselectionServingFreqInfo-v1610 OPTIONAL -- Need OR + ]] +} + +RedistributionServingInfo-r13 ::= SEQUENCE { + redistributionFactorServing-r13 INTEGER(0..10), + redistributionFactorCell-r13 ENUMERATED{true} OPTIONAL, --Need OP + t360-r13 ENUMERATED {min4, min8, min16, min32,infinity, + spare3,spare2,spare1}, + redistrOnPagingOnly-r13 ENUMERATED {true} OPTIONAL --Need OP +} + +CellReselectionServingFreqInfo-v1310 ::= SEQUENCE { + cellReselectionSubPriority-r13 CellReselectionSubPriority-r13 +} + +CellReselectionServingFreqInfo-v1610 ::= SEQUENCE { + altCellReselectionPriority-r16 CellReselectionPriority OPTIONAL, -- Need OR + altCellReselectionSubPriority-r16 CellReselectionSubPriority-r13 OPTIONAL -- Need OR +} + +-- Late non critical extensions +SystemInformationBlockType3-v10j0-IEs ::= SEQUENCE { + freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR + multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType3-v10l0-IEs OPTIONAL +} + +SystemInformationBlockType3-v10l0-IEs ::= SEQUENCE { + freqBandInfo-v10l0 NS-PmaxList-v10l0 OPTIONAL, -- Need OR + multiBandInfoList-v10l0 MultiBandInfoList-v10l0 OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +CellReselectionInfoCommon-v1460 ::= SEQUENCE { + s-SearchDeltaP-r14 ENUMERATED {dB6, dB9, dB12, dB15} +} + +CellReselectionInfoHSDN-r15 ::= SEQUENCE { + cellEquivalentSize-r15 INTEGER(2..16) +} + + +SystemInformationBlockType4 ::= SEQUENCE { + intraFreqNeighCellList IntraFreqNeighCellList OPTIONAL, -- Need OR + intraFreqBlackCellList IntraFreqBlackCellList OPTIONAL, -- Need OR + csg-PhysCellIdRange PhysCellIdRange OPTIONAL, -- Cond CSG + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL, + [[ intraFreqNeighHSDN-CellList-r15 IntraFreqNeighHSDN-CellList-r15 OPTIONAL -- Need OR + ]], + [[ rss-ConfigCarrierInfo-r16 RSS-ConfigCarrierInfo-r16 OPTIONAL, -- Cond RSS + intraFreqNeighCellList-v1610 IntraFreqNeighCellList-v1610 OPTIONAL -- Cond RSS + ]] +} + +IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo + +IntraFreqNeighCellList-v1610 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-v1610 + +IntraFreqNeighHSDN-CellList-r15 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF PhysCellIdRange + +IntraFreqNeighCellInfo ::= SEQUENCE { + physCellId PhysCellId, + q-OffsetCell Q-OffsetRange, + ... +} + +IntraFreqNeighCellInfo-v1610 ::= SEQUENCE { + rss-MeasPowerBias-r16 RSS-MeasPowerBias-r16 +} + +IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange + + +SystemInformationBlockType5 ::= SEQUENCE { + interFreqCarrierFreqList InterFreqCarrierFreqList, + ..., + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType5-v8h0-IEs) OPTIONAL, + [[ interFreqCarrierFreqList-v1250 InterFreqCarrierFreqList-v1250 OPTIONAL, -- Need OR + interFreqCarrierFreqListExt-r12 InterFreqCarrierFreqListExt-r12 OPTIONAL -- Need OR + ]], + [[ interFreqCarrierFreqListExt-v1280 InterFreqCarrierFreqListExt-v1280 OPTIONAL -- Need OR + ]], + [[ interFreqCarrierFreqList-v1310 InterFreqCarrierFreqList-v1310 OPTIONAL, -- Need OR + interFreqCarrierFreqListExt-v1310 InterFreqCarrierFreqListExt-v1310 OPTIONAL -- Need OR + ]], + [[ interFreqCarrierFreqList-v1350 InterFreqCarrierFreqList-v1350 OPTIONAL, -- Need OR + interFreqCarrierFreqListExt-v1350 InterFreqCarrierFreqListExt-v1350 OPTIONAL -- Need OR + ]], + [[ interFreqCarrierFreqListExt-v1360 InterFreqCarrierFreqListExt-v1360 OPTIONAL -- Need OR + ]], + [[ scptm-FreqOffset-r14 INTEGER (1..8) OPTIONAL -- Need OP + ]], + [[ interFreqCarrierFreqList-v1530 InterFreqCarrierFreqList-v1530 OPTIONAL, -- Need OR + interFreqCarrierFreqListExt-v1530 InterFreqCarrierFreqListExt-v1530 OPTIONAL, -- Need OR + measIdleConfigSIB-r15 MeasIdleConfigSIB-r15 OPTIONAL -- Need OR + ]], + [[ interFreqCarrierFreqList-v1610 InterFreqCarrierFreqList-v1610 OPTIONAL, -- Need OR + interFreqCarrierFreqListExt-v1610 InterFreqCarrierFreqListExt-v1610 OPTIONAL, -- Need OR + measIdleConfigSIB-NR-r16 MeasIdleConfigSIB-NR-r16 OPTIONAL -- Need OR + ]] +} + +-- Late non critical extensions +SystemInformationBlockType5-v8h0-IEs ::= SEQUENCE { + interFreqCarrierFreqList-v8h0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v8h0 OPTIONAL, -- Need OP + nonCriticalExtension SystemInformationBlockType5-v9e0-IEs OPTIONAL +} + +SystemInformationBlockType5-v9e0-IEs ::= SEQUENCE { + interFreqCarrierFreqList-v9e0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v9e0 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType5-v10j0-IEs OPTIONAL +} + +SystemInformationBlockType5-v10j0-IEs ::= SEQUENCE { + interFreqCarrierFreqList-v10j0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v10j0 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType5-v10l0-IEs OPTIONAL +} + +SystemInformationBlockType5-v10l0-IEs ::= SEQUENCE { + interFreqCarrierFreqList-v10l0 SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v10l0 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType5-v13a0-IEs OPTIONAL +} + +SystemInformationBlockType5-v13a0-IEs ::= SEQUENCE { + -- Late non critical extensions from REL-10 upto REL-12 + lateNonCriticalExtension OCTET STRING OPTIONAL, -- Need OR + interFreqCarrierFreqList-v13a0 InterFreqCarrierFreqList-v13a0 OPTIONAL, -- Need OR + -- Late non critical extensions from REL-13 + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo + +InterFreqCarrierFreqList-v1250 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1250 + +InterFreqCarrierFreqList-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1310 + +InterFreqCarrierFreqList-v1350 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1350 + +InterFreqCarrierFreqList-v13a0 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1360 + +InterFreqCarrierFreqList-v1530 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1530 + +InterFreqCarrierFreqList-v1610 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1610 + +InterFreqCarrierFreqListExt-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-r12 + +InterFreqCarrierFreqListExt-v1280 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v10j0 + +InterFreqCarrierFreqListExt-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1310 + +InterFreqCarrierFreqListExt-v1350 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1350 + +InterFreqCarrierFreqListExt-v1360 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1360 + +InterFreqCarrierFreqListExt-v1530 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1530 + +InterFreqCarrierFreqListExt-v1610 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-v1610 + +InterFreqCarrierFreqInfo ::= SEQUENCE { + dl-CarrierFreq ARFCN-ValueEUTRA, + q-RxLevMin Q-RxLevMin, + p-Max P-Max OPTIONAL, -- Need OP + t-ReselectionEUTRA T-Reselection, + t-ReselectionEUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold, + allowedMeasBandwidth AllowedMeasBandwidth, + presenceAntennaPort1 PresenceAntennaPort1, + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + neighCellConfig NeighCellConfig, + q-OffsetFreq Q-OffsetRange DEFAULT dB0, + interFreqNeighCellList InterFreqNeighCellList OPTIONAL, -- Need OR + interFreqBlackCellList InterFreqBlackCellList OPTIONAL, -- Need OR + ..., + [[ q-QualMin-r9 Q-QualMin-r9 OPTIONAL, -- Need OP + threshX-Q-r9 SEQUENCE { + threshX-HighQ-r9 ReselectionThresholdQ-r9, + threshX-LowQ-r9 ReselectionThresholdQ-r9 + } OPTIONAL -- Cond RSRQ + ]], + [[ q-QualMinWB-r11 Q-QualMin-r9 OPTIONAL -- Cond WB-RSRQ + ]] +} + +InterFreqCarrierFreqInfo-v8h0 ::= SEQUENCE { + multiBandInfoList MultiBandInfoList OPTIONAL -- Need OR +} + +InterFreqCarrierFreqInfo-v9e0 ::= SEQUENCE { + dl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 OPTIONAL, -- Cond dl-FreqMax + multiBandInfoList-v9e0 MultiBandInfoList-v9e0 OPTIONAL -- Need OR +} + +InterFreqCarrierFreqInfo-v10j0 ::= SEQUENCE { + freqBandInfo-r10 NS-PmaxList-r10 OPTIONAL, -- Need OR + multiBandInfoList-v10j0 MultiBandInfoList-v10j0 OPTIONAL -- Need OR +} + +InterFreqCarrierFreqInfo-v10l0 ::= SEQUENCE { + freqBandInfo-v10l0 NS-PmaxList-v10l0 OPTIONAL, -- Need OR + multiBandInfoList-v10l0 MultiBandInfoList-v10l0 OPTIONAL -- Need OR +} + +InterFreqCarrierFreqInfo-v1250 ::= SEQUENCE { + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP + q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL -- Cond RSRQ2 +} + +InterFreqCarrierFreqInfo-r12 ::= SEQUENCE { + dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9, + q-RxLevMin-r12 Q-RxLevMin, + p-Max-r12 P-Max OPTIONAL, -- Need OP + t-ReselectionEUTRA-r12 T-Reselection, + t-ReselectionEUTRA-SF-r12 SpeedStateScaleFactors OPTIONAL, -- Need OP + threshX-High-r12 ReselectionThreshold, + threshX-Low-r12 ReselectionThreshold, + allowedMeasBandwidth-r12 AllowedMeasBandwidth, + presenceAntennaPort1-r12 PresenceAntennaPort1, + cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP + neighCellConfig-r12 NeighCellConfig, + q-OffsetFreq-r12 Q-OffsetRange DEFAULT dB0, + interFreqNeighCellList-r12 InterFreqNeighCellList OPTIONAL, -- Need OR + interFreqBlackCellList-r12 InterFreqBlackCellList OPTIONAL, -- Need OR + q-QualMin-r12 Q-QualMin-r9 OPTIONAL, -- Need OP + threshX-Q-r12 SEQUENCE { + threshX-HighQ-r12 ReselectionThresholdQ-r9, + threshX-LowQ-r12 ReselectionThresholdQ-r9 + } OPTIONAL, -- Cond RSRQ + q-QualMinWB-r12 Q-QualMin-r9 OPTIONAL, -- Cond WB-RSRQ + multiBandInfoList-r12 MultiBandInfoList-r11 OPTIONAL, -- Need OR + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP + q-QualMinRSRQ-OnAllSymbols-r12 Q-QualMin-r9 OPTIONAL, -- Cond RSRQ2 +... +} + +InterFreqCarrierFreqInfo-v1310 ::= SEQUENCE { + cellReselectionSubPriority-r13 CellReselectionSubPriority-r13 OPTIONAL, -- Need OP + redistributionInterFreqInfo-r13 RedistributionInterFreqInfo-r13 OPTIONAL, --Need OP + cellSelectionInfoCE-r13 CellSelectionInfoCE-r13 OPTIONAL, -- Need OP + t-ReselectionEUTRA-CE-r13 T-ReselectionEUTRA-CE-r13 OPTIONAL -- Need OP +} + +InterFreqCarrierFreqInfo-v1350 ::= SEQUENCE { + cellSelectionInfoCE1-r13 CellSelectionInfoCE1-r13 OPTIONAL -- Need OP +} + +InterFreqCarrierFreqInfo-v1360 ::= SEQUENCE { + cellSelectionInfoCE1-v1360 CellSelectionInfoCE1-v1360 OPTIONAL -- Cond QrxlevminCE1 +} + +InterFreqCarrierFreqInfo-v1530 ::= SEQUENCE { + hsdn-Indication-r15 BOOLEAN, + interFreqNeighHSDN-CellList-r15 InterFreqNeighHSDN-CellList-r15 OPTIONAL, -- Need OR + cellSelectionInfoCE-v1530 CellSelectionInfoCE-v1530 OPTIONAL -- Need OP +} + +InterFreqCarrierFreqInfo-v1610 ::= SEQUENCE { + altCellReselectionPriority-r16 CellReselectionPriority OPTIONAL, -- Need OR + altCellReselectionSubPriority-r16 CellReselectionSubPriority-r13 OPTIONAL, -- Need OR + rss-ConfigCarrierInfo-r16 RSS-ConfigCarrierInfo-r16 OPTIONAL, -- Cond RSS + interFreqNeighCellList-v1610 InterFreqNeighCellList-v1610 OPTIONAL -- Cond RSS +} + +InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo + +InterFreqNeighCellList-v1610 ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-v1610 + +InterFreqNeighHSDN-CellList-r15 ::= SEQUENCE (SIZE (1..maxCellInter)) OF PhysCellIdRange + +InterFreqNeighCellInfo ::= SEQUENCE { + physCellId PhysCellId, + q-OffsetCell Q-OffsetRange +} + +InterFreqNeighCellInfo-v1610 ::= SEQUENCE { + rss-MeasPowerBias-r16 RSS-MeasPowerBias-r16 +} + +InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellIdRange + +RedistributionInterFreqInfo-r13 ::= SEQUENCE { + redistributionFactorFreq-r13 RedistributionFactor-r13 OPTIONAL, --Need OP + redistributionNeighCellList-r13 RedistributionNeighCellList-r13 OPTIONAL --Need OP +} + +RedistributionNeighCellList-r13 ::= SEQUENCE (SIZE (1..maxCellInter)) OF RedistributionNeighCell-r13 + +RedistributionNeighCell-r13 ::= SEQUENCE { + physCellId-r13 PhysCellId, + redistributionFactorCell-r13 RedistributionFactor-r13 +} + +RedistributionFactor-r13 ::= INTEGER(1..10) + + +SystemInformationBlockType6 ::= SEQUENCE { + carrierFreqListUTRA-FDD CarrierFreqListUTRA-FDD OPTIONAL, -- Need OR + carrierFreqListUTRA-TDD CarrierFreqListUTRA-TDD OPTIONAL, -- Need OR + t-ReselectionUTRA T-Reselection, + t-ReselectionUTRA-SF SpeedStateScaleFactors OPTIONAL, -- Need OP + ..., + lateNonCriticalExtension OCTET STRING (CONTAINING SystemInformationBlockType6-v8h0-IEs) OPTIONAL, + [[ carrierFreqListUTRA-FDD-v1250 SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF + CarrierFreqInfoUTRA-v1250 OPTIONAL, -- Cond UTRA-FDD + carrierFreqListUTRA-TDD-v1250 SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF + CarrierFreqInfoUTRA-v1250 OPTIONAL, -- Cond UTRA-TDD + carrierFreqListUTRA-FDD-Ext-r12 CarrierFreqListUTRA-FDD-Ext-r12 OPTIONAL, -- Cond UTRA-FDD + carrierFreqListUTRA-TDD-Ext-r12 CarrierFreqListUTRA-TDD-Ext-r12 OPTIONAL -- Cond UTRA-TDD + ]] +} + +SystemInformationBlockType6-v8h0-IEs ::= SEQUENCE { + carrierFreqListUTRA-FDD-v8h0 SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqInfoUTRA-FDD-v8h0 OPTIONAL, -- Cond UTRA-FDD + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +CarrierFreqInfoUTRA-v1250 ::= SEQUENCE { + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL -- Need OP +} + +CarrierFreqListUTRA-FDD ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF CarrierFreqUTRA-FDD + +CarrierFreqUTRA-FDD ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold, + q-RxLevMin INTEGER (-60..-13), + p-MaxUTRA INTEGER (-50..33), + q-QualMin INTEGER (-24..0), + ..., + [[ threshX-Q-r9 SEQUENCE { + threshX-HighQ-r9 ReselectionThresholdQ-r9, + threshX-LowQ-r9 ReselectionThresholdQ-r9 + } OPTIONAL -- Cond RSRQ + ]] +} + +CarrierFreqInfoUTRA-FDD-v8h0 ::= SEQUENCE { + multiBandInfoList SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-UTRA-FDD OPTIONAL -- Need OR +} + +CarrierFreqListUTRA-FDD-Ext-r12 ::= SEQUENCE (SIZE (1..maxUTRA-FDD-Carrier)) OF + CarrierFreqUTRA-FDD-Ext-r12 + +CarrierFreqUTRA-FDD-Ext-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueUTRA, + cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP + threshX-High-r12 ReselectionThreshold, + threshX-Low-r12 ReselectionThreshold, + q-RxLevMin-r12 INTEGER (-60..-13), + p-MaxUTRA-r12 INTEGER (-50..33), + q-QualMin-r12 INTEGER (-24..0), + threshX-Q-r12 SEQUENCE { + threshX-HighQ-r12 ReselectionThresholdQ-r9, + threshX-LowQ-r12 ReselectionThresholdQ-r9 + } OPTIONAL, -- Cond RSRQ + multiBandInfoList-r12 SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-UTRA-FDD OPTIONAL, -- Need OR + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ... +} + +CarrierFreqListUTRA-TDD ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF CarrierFreqUTRA-TDD + +CarrierFreqUTRA-TDD ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold, + q-RxLevMin INTEGER (-60..-13), + p-MaxUTRA INTEGER (-50..33), + ... +} + +CarrierFreqListUTRA-TDD-Ext-r12 ::= SEQUENCE (SIZE (1..maxUTRA-TDD-Carrier)) OF + CarrierFreqUTRA-TDD-r12 + +CarrierFreqUTRA-TDD-r12 ::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueUTRA, + cellReselectionPriority-r12 CellReselectionPriority OPTIONAL, -- Need OP + threshX-High-r12 ReselectionThreshold, + threshX-Low-r12 ReselectionThreshold, + q-RxLevMin-r12 INTEGER (-60..-13), + p-MaxUTRA-r12 INTEGER (-50..33), + reducedMeasPerformance-r12 ENUMERATED {true} OPTIONAL, -- Need OP + ... +} + +FreqBandIndicator-UTRA-FDD ::= INTEGER (1..86) + + +SystemInformationBlockType7 ::= SEQUENCE { + t-ReselectionGERAN T-Reselection, + t-ReselectionGERAN-SF SpeedStateScaleFactors OPTIONAL, -- Need OR + carrierFreqsInfoList CarrierFreqsInfoListGERAN OPTIONAL, -- Need OR + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + +CarrierFreqsInfoListGERAN ::= SEQUENCE (SIZE (1..maxGNFG)) OF CarrierFreqsInfoGERAN + +CarrierFreqsInfoGERAN ::= SEQUENCE { + carrierFreqs CarrierFreqsGERAN, + commonInfo SEQUENCE { + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + ncc-Permitted BIT STRING (SIZE (8)), + q-RxLevMin INTEGER (0..45), + p-MaxGERAN INTEGER (0..39) OPTIONAL, -- Need OP + threshX-High ReselectionThreshold, + threshX-Low ReselectionThreshold + }, + ... +} + + +SystemInformationBlockType8 ::= SEQUENCE { + systemTimeInfo SystemTimeInfoCDMA2000 OPTIONAL, -- Need OR + searchWindowSize INTEGER (0..15) OPTIONAL, -- Need OR + parametersHRPD SEQUENCE { + preRegistrationInfoHRPD PreRegistrationInfoHRPD, + cellReselectionParametersHRPD CellReselectionParametersCDMA2000 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + parameters1XRTT SEQUENCE { + csfb-RegistrationParam1XRTT CSFB-RegistrationParam1XRTT OPTIONAL, -- Need OP + longCodeState1XRTT BIT STRING (SIZE (42)) OPTIONAL, -- Need OR + cellReselectionParameters1XRTT CellReselectionParametersCDMA2000 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL, + [[ csfb-SupportForDualRxUEs-r9 BOOLEAN OPTIONAL, -- Need OR + cellReselectionParametersHRPD-v920 CellReselectionParametersCDMA2000-v920 OPTIONAL, -- Cond NCL-HRPD + cellReselectionParameters1XRTT-v920 CellReselectionParametersCDMA2000-v920 OPTIONAL, -- Cond NCL-1XRTT + csfb-RegistrationParam1XRTT-v920 CSFB-RegistrationParam1XRTT-v920 OPTIONAL, -- Cond REG-1XRTT + ac-BarringConfig1XRTT-r9 AC-BarringConfig1XRTT-r9 OPTIONAL -- Cond REG-1XRTT + ]], + [[ csfb-DualRxTxSupport-r10 ENUMERATED {true} OPTIONAL -- Cond REG-1XRTT + ]], + [[ sib8-PerPLMN-List-r11 SIB8-PerPLMN-List-r11 OPTIONAL -- Need OR + ]] +} + +CellReselectionParametersCDMA2000 ::= SEQUENCE { + bandClassList BandClassListCDMA2000, + neighCellList NeighCellListCDMA2000, + t-ReselectionCDMA2000 T-Reselection, + t-ReselectionCDMA2000-SF SpeedStateScaleFactors OPTIONAL -- Need OP +} + +CellReselectionParametersCDMA2000-r11 ::= SEQUENCE { + bandClassList BandClassListCDMA2000, + neighCellList-r11 SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000-r11, + t-ReselectionCDMA2000 T-Reselection, + t-ReselectionCDMA2000-SF SpeedStateScaleFactors OPTIONAL -- Need OP +} + +CellReselectionParametersCDMA2000-v920 ::= SEQUENCE { + neighCellList-v920 NeighCellListCDMA2000-v920 +} + +NeighCellListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000 + +NeighCellCDMA2000 ::= SEQUENCE { + bandClass BandclassCDMA2000, + neighCellsPerFreqList NeighCellsPerBandclassListCDMA2000 +} + +NeighCellCDMA2000-r11 ::= SEQUENCE { + bandClass BandclassCDMA2000, + neighFreqInfoList-r11 SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000-r11 +} + +NeighCellsPerBandclassListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000 + +NeighCellsPerBandclassCDMA2000 ::= SEQUENCE { + arfcn ARFCN-ValueCDMA2000, + physCellIdList PhysCellIdListCDMA2000 +} + +NeighCellsPerBandclassCDMA2000-r11 ::= SEQUENCE { + arfcn ARFCN-ValueCDMA2000, + physCellIdList-r11 SEQUENCE (SIZE (1..40)) OF PhysCellIdCDMA2000 +} + +NeighCellListCDMA2000-v920 ::= SEQUENCE (SIZE (1..16)) OF NeighCellCDMA2000-v920 + +NeighCellCDMA2000-v920 ::= SEQUENCE { + neighCellsPerFreqList-v920 NeighCellsPerBandclassListCDMA2000-v920 +} + +NeighCellsPerBandclassListCDMA2000-v920 ::= SEQUENCE (SIZE (1..16)) OF NeighCellsPerBandclassCDMA2000-v920 + +NeighCellsPerBandclassCDMA2000-v920 ::= SEQUENCE { + physCellIdList-v920 PhysCellIdListCDMA2000-v920 +} + +PhysCellIdListCDMA2000 ::= SEQUENCE (SIZE (1..16)) OF PhysCellIdCDMA2000 + +PhysCellIdListCDMA2000-v920 ::= SEQUENCE (SIZE (0..24)) OF PhysCellIdCDMA2000 + +BandClassListCDMA2000 ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandClassInfoCDMA2000 + +BandClassInfoCDMA2000 ::= SEQUENCE { + bandClass BandclassCDMA2000, + cellReselectionPriority CellReselectionPriority OPTIONAL, -- Need OP + threshX-High INTEGER (0..63), + threshX-Low INTEGER (0..63), + ... +} + +AC-BarringConfig1XRTT-r9 ::= SEQUENCE { + ac-Barring0to9-r9 INTEGER (0..63), + ac-Barring10-r9 INTEGER (0..7), + ac-Barring11-r9 INTEGER (0..7), + ac-Barring12-r9 INTEGER (0..7), + ac-Barring13-r9 INTEGER (0..7), + ac-Barring14-r9 INTEGER (0..7), + ac-Barring15-r9 INTEGER (0..7), + ac-BarringMsg-r9 INTEGER (0..7), + ac-BarringReg-r9 INTEGER (0..7), + ac-BarringEmg-r9 INTEGER (0..7) +} + +SIB8-PerPLMN-List-r11 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF SIB8-PerPLMN-r11 + +SIB8-PerPLMN-r11 ::= SEQUENCE { + plmn-Identity-r11 INTEGER (1..maxPLMN-r11), + parametersCDMA2000-r11 CHOICE { + explicitValue ParametersCDMA2000-r11, + defaultValue NULL + } +} + +ParametersCDMA2000-r11 ::= SEQUENCE { + systemTimeInfo-r11 CHOICE { + explicitValue SystemTimeInfoCDMA2000, + defaultValue NULL + } OPTIONAL, -- Need OR + searchWindowSize-r11 INTEGER (0..15), + parametersHRPD-r11 SEQUENCE { + preRegistrationInfoHRPD-r11 PreRegistrationInfoHRPD, + cellReselectionParametersHRPD-r11 CellReselectionParametersCDMA2000-r11 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + parameters1XRTT-r11 SEQUENCE { + csfb-RegistrationParam1XRTT-r11 CSFB-RegistrationParam1XRTT OPTIONAL, -- Need OP + csfb-RegistrationParam1XRTT-Ext-r11 CSFB-RegistrationParam1XRTT-v920 OPTIONAL, -- Cond REG-1XRTT-PerPLMN + longCodeState1XRTT-r11 BIT STRING (SIZE (42)) OPTIONAL, -- Cond PerPLMN-LC + cellReselectionParameters1XRTT-r11 CellReselectionParametersCDMA2000-r11 OPTIONAL, -- Need OR + ac-BarringConfig1XRTT-r11 AC-BarringConfig1XRTT-r9 OPTIONAL, -- Cond REG-1XRTT-PerPLMN + csfb-SupportForDualRxUEs-r11 BOOLEAN OPTIONAL, -- Need OR + csfb-DualRxTxSupport-r11 ENUMERATED {true} OPTIONAL -- Cond REG-1XRTT-PerPLMN + } OPTIONAL, -- Need OR + ... +} + + +SystemInformationBlockType9 ::= SEQUENCE { + hnb-Name OCTET STRING (SIZE(1..48)) OPTIONAL, -- Need OR + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + + +SystemInformationBlockType10 ::= SEQUENCE { + messageIdentifier BIT STRING (SIZE (16)), + serialNumber BIT STRING (SIZE (16)), + warningType OCTET STRING (SIZE (2)), + dummy OCTET STRING (SIZE (50)) OPTIONAL, -- Need OP + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + + +SystemInformationBlockType11 ::= SEQUENCE { + messageIdentifier BIT STRING (SIZE (16)), + serialNumber BIT STRING (SIZE (16)), + warningMessageSegmentType ENUMERATED {notLastSegment, lastSegment}, + warningMessageSegmentNumber INTEGER (0..63), + warningMessageSegment OCTET STRING, + dataCodingScheme OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1 + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + + +SystemInformationBlockType12-r9 ::= SEQUENCE { + messageIdentifier-r9 BIT STRING (SIZE (16)), + serialNumber-r9 BIT STRING (SIZE (16)), + warningMessageSegmentType-r9 ENUMERATED {notLastSegment, lastSegment}, + warningMessageSegmentNumber-r9 INTEGER (0..63), + warningMessageSegment-r9 OCTET STRING, + dataCodingScheme-r9 OCTET STRING (SIZE (1)) OPTIONAL, -- Cond Segment1 + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ warningAreaCoordinatesSegment-r15 OCTET STRING OPTIONAL -- Need OR + ]] +} + + +SystemInformationBlockType13-r9 ::= SEQUENCE { + mbsfn-AreaInfoList-r9 MBSFN-AreaInfoList-r9, + notificationConfig-r9 MBMS-NotificationConfig-r9, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ + notificationConfig-v1430 MBMS-NotificationConfig-v1430 OPTIONAL + ]], + [[ + mbsfn-AreaInfoList-r16 MBSFN-AreaInfoList-r16 OPTIONAL -- Need OR + ]] +} + + +SystemInformationBlockType14-r11 ::= SEQUENCE { + eab-Param-r11 CHOICE { + eab-Common-r11 EAB-Config-r11, + eab-PerPLMN-List-r11 SEQUENCE (SIZE (1..maxPLMN-r11)) OF EAB-ConfigPLMN-r11 + } OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ eab-PerRSRP-r15 ENUMERATED {thresh0, thresh1, thresh2, thresh3} OPTIONAL -- Need OR + ]] +} + +EAB-ConfigPLMN-r11 ::= SEQUENCE { + eab-Config-r11 EAB-Config-r11 OPTIONAL -- Need OR +} + +EAB-Config-r11 ::= SEQUENCE { + eab-Category-r11 ENUMERATED {a, b, c}, + eab-BarringBitmap-r11 BIT STRING (SIZE (10)) +} + + +SystemInformationBlockType15-r11 ::= SEQUENCE { + mbms-SAI-IntraFreq-r11 MBMS-SAI-List-r11 OPTIONAL, -- Need OR + mbms-SAI-InterFreqList-r11 MBMS-SAI-InterFreqList-r11 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ mbms-SAI-InterFreqList-v1140 MBMS-SAI-InterFreqList-v1140 OPTIONAL -- Cond InterFreq + ]], + [[ mbms-IntraFreqCarrierType-r14 MBMS-CarrierType-r14 OPTIONAL, -- Need OR + mbms-InterFreqCarrierTypeList-r14 + MBMS-InterFreqCarrierTypeList-r14 OPTIONAL -- Need OR + ]] +} + +MBMS-SAI-List-r11 ::= SEQUENCE (SIZE (1..maxSAI-MBMS-r11)) OF MBMS-SAI-r11 + +MBMS-SAI-r11 ::= INTEGER (0..65535) + +MBMS-SAI-InterFreqList-r11 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-SAI-InterFreq-r11 + +MBMS-SAI-InterFreqList-v1140 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-SAI-InterFreq-v1140 + +MBMS-SAI-InterFreq-r11 ::= SEQUENCE { + dl-CarrierFreq-r11 ARFCN-ValueEUTRA-r9, + mbms-SAI-List-r11 MBMS-SAI-List-r11 +} + +MBMS-SAI-InterFreq-v1140 ::= SEQUENCE { + multiBandInfoList-r11 MultiBandInfoList-r11 OPTIONAL -- Need OR +} + +MBMS-InterFreqCarrierTypeList-r14 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-CarrierType-r14 + +MBMS-CarrierType-r14 ::= SEQUENCE { + carrierType-r14 ENUMERATED {mbms, fembmsMixed, fembmsDedicated}, + frameOffset-r14 INTEGER (0..3) OPTIONAL -- Need OR +} + + +SystemInformationBlockType16-r11 ::= SEQUENCE { + timeInfo-r11 SEQUENCE { + timeInfoUTC-r11 INTEGER (0..549755813887), + dayLightSavingTime-r11 BIT STRING (SIZE (2)) OPTIONAL, -- Need OR + leapSeconds-r11 INTEGER (-127..128) OPTIONAL, -- Need OR + localTimeOffset-r11 INTEGER (-63..64) OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ timeReferenceInfo-r15 TimeReferenceInfo-r15 OPTIONAL -- Need OR + ]] +} + + +SystemInformationBlockType17-r12 ::= SEQUENCE { + wlan-OffloadInfoPerPLMN-List-r12 SEQUENCE (SIZE (1..maxPLMN-r11)) OF + WLAN-OffloadInfoPerPLMN-r12 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +WLAN-OffloadInfoPerPLMN-r12 ::= SEQUENCE { + wlan-OffloadConfigCommon-r12 WLAN-OffloadConfig-r12 OPTIONAL, -- Need OR + wlan-Id-List-r12 WLAN-Id-List-r12 OPTIONAL, -- Need OR + ... +} + +WLAN-Id-List-r12 ::= SEQUENCE (SIZE (1..maxWLAN-Id-r12)) OF WLAN-Identifiers-r12 + +WLAN-Identifiers-r12 ::= SEQUENCE { + ssid-r12 OCTET STRING (SIZE (1..32)) OPTIONAL, -- Need OR + bssid-r12 OCTET STRING (SIZE (6)) OPTIONAL, -- Need OR + hessid-r12 OCTET STRING (SIZE (6)) OPTIONAL, -- Need OR + ... +} + + +SystemInformationBlockType18-r12 ::= SEQUENCE { + commConfig-r12 SEQUENCE { + commRxPool-r12 SL-CommRxPoolList-r12, + commTxPoolNormalCommon-r12 SL-CommTxPoolList-r12 OPTIONAL, -- Need OR + commTxPoolExceptional-r12 SL-CommTxPoolList-r12 OPTIONAL, -- Need OR + commSyncConfig-r12 SL-SyncConfigList-r12 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ commTxPoolNormalCommonExt-r13 SL-CommTxPoolListExt-r13 OPTIONAL, -- Need OR + commTxResourceUC-ReqAllowed-r13 ENUMERATED {true} OPTIONAL, -- Need OR + commTxAllowRelayCommon-r13 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + + +SystemInformationBlockType19-r12 ::= SEQUENCE { + discConfig-r12 SEQUENCE { + discRxPool-r12 SL-DiscRxPoolList-r12, + discTxPoolCommon-r12 SL-DiscTxPoolList-r12 OPTIONAL, -- Need OR + discTxPowerInfo-r12 SL-DiscTxPowerInfoList-r12 OPTIONAL, -- Cond Tx + discSyncConfig-r12 SL-SyncConfigList-r12 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + discInterFreqList-r12 SL-CarrierFreqInfoList-r12 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ discConfig-v1310 SEQUENCE { + discInterFreqList-v1310 SL-CarrierFreqInfoList-v1310 OPTIONAL, -- Need OR + gapRequestsAllowedCommon ENUMERATED {true} OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + discConfigRelay-r13 SEQUENCE { + relayUE-Config-r13 SL-DiscConfigRelayUE-r13, + remoteUE-Config-r13 SL-DiscConfigRemoteUE-r13 + } OPTIONAL, -- Need OR + discConfigPS-13 SEQUENCE { + discRxPoolPS-r13 SL-DiscRxPoolList-r12, + discTxPoolPS-Common-r13 SL-DiscTxPoolList-r12 OPTIONAL -- Need OR + } OPTIONAL -- Need OR + ]] +} + +SL-CarrierFreqInfoList-r12 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-CarrierFreqInfo-r12 + +SL-CarrierFreqInfoList-v1310 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-CarrierFreqInfo-v1310 + +SL-CarrierFreqInfo-r12::= SEQUENCE { + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + plmn-IdentityList-r12 PLMN-IdentityList4-r12 OPTIONAL -- Need OP +} + +SL-DiscConfigRelayUE-r13 ::= SEQUENCE { + threshHigh-r13 RSRP-RangeSL4-r13 OPTIONAL, -- Need OR + threshLow-r13 RSRP-RangeSL4-r13 OPTIONAL, -- Need OR + hystMax-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf} OPTIONAL, -- Cond ThreshHigh + hystMin-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12} OPTIONAL -- Cond ThreshLow +} + +SL-DiscConfigRemoteUE-r13 ::= SEQUENCE { + threshHigh-r13 RSRP-RangeSL4-r13 OPTIONAL, -- Need OR + hystMax-r13 ENUMERATED {dB0, dB3, dB6, dB9, dB12} OPTIONAL, -- Cond ThreshHigh + reselectionInfoIC-r13 ReselectionInfoRelay-r13 +} + +ReselectionInfoRelay-r13 ::= SEQUENCE { + q-RxLevMin-r13 Q-RxLevMin, + -- Note that the mapping of invidual values may be different for PC5, but the granularity/ + -- number of values is same as for Uu + filterCoefficient-r13 FilterCoefficient, + minHyst-r13 ENUMERATED {dB0, dB3, + dB6, dB9, dB12, dBinf} OPTIONAL -- Need OR +} + +SL-CarrierFreqInfo-v1310::= SEQUENCE { + discResourcesNonPS-r13 SL-ResourcesInterFreq-r13 OPTIONAL, -- Need OR + discResourcesPS-r13 SL-ResourcesInterFreq-r13 OPTIONAL, -- Need OR + discConfigOther-r13 SL-DiscConfigOtherInterFreq-r13 OPTIONAL, -- Need OR + ... +} + +PLMN-IdentityList4-r12 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo2-r12 + +PLMN-IdentityInfo2-r12 ::= CHOICE { + plmn-Index-r12 INTEGER (1..maxPLMN-r11), + plmnIdentity-r12 PLMN-Identity +} + +SL-DiscTxResourcesInterFreq-r13 ::= CHOICE { + acquireSI-FromCarrier-r13 NULL, + discTxPoolCommon-r13 SL-DiscTxPoolList-r12, + requestDedicated-r13 NULL, + noTxOnCarrier-r13 NULL +} + +SL-DiscConfigOtherInterFreq-r13::= SEQUENCE { + txPowerInfo-r13 SL-DiscTxPowerInfoList-r12 OPTIONAL, -- Cond Tx + refCarrierCommon-r13 ENUMERATED {pCell} OPTIONAL, -- Need OR + discSyncConfig-r13 SL-SyncConfigListNFreq-r13 OPTIONAL, -- Need OR + discCellSelectionInfo-r13 CellSelectionInfoNFreq-r13 OPTIONAL -- Need OR +} + +SL-ResourcesInterFreq-r13 ::= SEQUENCE { + discRxResourcesInterFreq-r13 SL-DiscRxPoolList-r12 OPTIONAL, -- Need OR + discTxResourcesInterFreq-r13 SL-DiscTxResourcesInterFreq-r13 OPTIONAL -- Need OR +} + + +SystemInformationBlockType20-r13 ::= SEQUENCE { + sc-mcch-RepetitionPeriod-r13 ENUMERATED {rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256}, + sc-mcch-Offset-r13 INTEGER (0..10), + sc-mcch-FirstSubframe-r13 INTEGER (0..9), + sc-mcch-duration-r13 INTEGER (2..9) OPTIONAL, + sc-mcch-ModificationPeriod-r13 ENUMERATED {rf2, rf4, rf8, rf16, rf32, rf64, rf128, rf256, + rf512, rf1024, r2048, rf4096, rf8192, rf16384, rf32768, + rf65536}, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ br-BCCH-Config-r14 SEQUENCE { + dummy ENUMERATED {rf1}, + dummy2 ENUMERATED {rf1}, + mpdcch-Narrowband-SC-MCCH-r14 INTEGER (1..maxAvailNarrowBands-r13), + mpdcch-NumRepetition-SC-MCCH-r14 ENUMERATED {r1, r2, r4, r8, r16, + r32, r64, r128, r256}, + mpdcch-StartSF-SC-MCCH-r14 CHOICE { + fdd-r14 ENUMERATED {v1, v1dot5, v2, v2dot5, v4, + v5, v8, v10}, + tdd-r14 ENUMERATED {v1, v2, v4, v5, v8, v10, v20} + }, + mpdcch-PDSCH-HoppingConfig-SC-MCCH-r14 ENUMERATED {off, ce-ModeA, ce-ModeB}, + sc-mcch-CarrierFreq-r14 ARFCN-ValueEUTRA-r9, + sc-mcch-Offset-BR-r14 INTEGER (0..10), + sc-mcch-RepetitionPeriod-BR-r14 ENUMERATED {rf32, rf128, rf512, rf1024, + rf2048, rf4096, rf8192, rf16384}, + sc-mcch-ModificationPeriod-BR-r14 ENUMERATED { rf32, rf128, rf256, rf512, rf1024, + rf2048, rf4096, rf8192, rf16384, rf32768, + rf65536, rf131072, rf262144, rf524288, + rf1048576} + } OPTIONAL, -- Need OR + sc-mcch-SchedulingInfo-r14 SC-MCCH-SchedulingInfo-r14 OPTIONAL, -- Need OP + pdsch-maxNumRepetitionCEmodeA-SC-MTCH-r14 + ENUMERATED { r16, r32 } OPTIONAL, -- Need OR + pdsch-maxNumRepetitionCEmodeB-SC-MTCH-r14 + ENUMERATED { + r192, r256, r384, r512, r768, r1024, + r1536, r2048} OPTIONAL -- Need OR + ]], + [[ sc-mcch-RepetitionPeriod-v1470 ENUMERATED {rf1} OPTIONAL, -- Need OR + sc-mcch-ModificationPeriod-v1470 ENUMERATED {rf1} OPTIONAL -- Need OR + ]] +} + +SC-MCCH-SchedulingInfo-r14::= SEQUENCE { + onDurationTimerSCPTM-r14 ENUMERATED {psf10, psf20, psf100, psf300, + psf500, psf1000, psf1200, psf1600}, + drx-InactivityTimerSCPTM-r14 ENUMERATED {psf0, psf1, psf2, psf4, psf8, psf16, + psf32, psf64, psf128, psf256, ps512, + psf1024, psf2048, psf4096, psf8192, psf16384}, + schedulingPeriodStartOffsetSCPTM-r14 CHOICE { + sf10 INTEGER(0..9), + sf20 INTEGER(0..19), + sf32 INTEGER(0..31), + sf40 INTEGER(0..39), + sf64 INTEGER(0..63), + sf80 INTEGER(0..79), + sf128 INTEGER(0..127), + sf160 INTEGER(0..159), + sf256 INTEGER(0..255), + sf320 INTEGER(0..319), + sf512 INTEGER(0..511), + sf640 INTEGER(0..639), + sf1024 INTEGER(0..1023), + sf2048 INTEGER(0..2047), + sf4096 INTEGER(0..4095), + sf8192 INTEGER(0..8191) + }, + ... +} + + +SystemInformationBlockType21-r14 ::= SEQUENCE { + sl-V2X-ConfigCommon-r14 SL-V2X-ConfigCommon-r14 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ anchorCarrierFreqListNR-r16 SL-NR-AnchorCarrierFreqList-r16 OPTIONAL -- Need OR + ]] +} + +SL-V2X-ConfigCommon-r14 ::= SEQUENCE { + v2x-CommRxPool-r14 SL-CommRxPoolListV2X-r14 OPTIONAL, -- Need OR + v2x-CommTxPoolNormalCommon-r14 SL-CommTxPoolListV2X-r14 OPTIONAL, -- Need OR + p2x-CommTxPoolNormalCommon-r14 SL-CommTxPoolListV2X-r14 OPTIONAL, -- Need OR + v2x-CommTxPoolExceptional-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need OR + v2x-SyncConfig-r14 SL-SyncConfigListV2X-r14 OPTIONAL, -- Need OR + v2x-InterFreqInfoList-r14 SL-InterFreqInfoListV2X-r14 OPTIONAL, -- Need OR + v2x-ResourceSelectionConfig-r14 SL-CommTxPoolSensingConfig-r14 OPTIONAL, -- Need OR + zoneConfig-r14 SL-ZoneConfig-r14 OPTIONAL, -- Need OR + typeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, -- Need OR + thresSL-TxPrioritization-r14 SL-Priority-r13 OPTIONAL, -- Need OR + anchorCarrierFreqList-r14 SL-AnchorCarrierFreqList-V2X-r14 OPTIONAL, -- Need OR + offsetDFN-r14 INTEGER (0..1000) OPTIONAL, -- Need OR + cbr-CommonTxConfigList-r14 SL-CBR-CommonTxConfigList-r14 OPTIONAL -- Need OR +} + + + +SystemInformationBlockType24-r15 ::= SEQUENCE { + carrierFreqListNR-r15 CarrierFreqListNR-r15 OPTIONAL, -- Need OR + t-ReselectionNR-r15 T-Reselection, + t-ReselectionNR-SF-r15 SpeedStateScaleFactors OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ carrierFreqListNR-v1610 CarrierFreqListNR-v1610 OPTIONAL -- Need OR + ]] +} + +CarrierFreqListNR-r15 ::= SEQUENCE (SIZE (1..maxFreq)) OF CarrierFreqNR-r15 + +CarrierFreqListNR-v1610 ::= SEQUENCE (SIZE (1..maxFreq)) OF CarrierFreqNR-v1610 + +CarrierFreqNR-r15 ::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueNR-r15, + multiBandInfoList-r15 MultiFrequencyBandListNR-r15 OPTIONAL, -- Need OR + multiBandInfoListSUL-r15 MultiFrequencyBandListNR-r15 OPTIONAL, -- Need OR + measTimingConfig-r15 MTC-SSB-NR-r15 OPTIONAL, -- Need OR + subcarrierSpacingSSB-r15 ENUMERATED {kHz15, kHz30, kHz120, kHz240}, + ss-RSSI-Measurement-r15 SS-RSSI-Measurement-r15 OPTIONAL, -- Cond RSRQ2 + cellReselectionPriority-r15 CellReselectionPriority OPTIONAL, -- Need OP + cellReselectionSubPriority-r15 CellReselectionSubPriority-r13 OPTIONAL, -- Need OR + threshX-High-r15 ReselectionThreshold, + threshX-Low-r15 ReselectionThreshold, + threshX-Q-r15 SEQUENCE { + threshX-HighQ-r15 ReselectionThresholdQ-r9, + threshX-LowQ-r15 ReselectionThresholdQ-r9 + } OPTIONAL, -- Cond RSRQ + q-RxLevMin-r15 INTEGER (-70..-22), + q-RxLevMinSUL-r15 INTEGER (-70..-22) OPTIONAL, -- Need OR + p-MaxNR-r15 P-MaxNR-r15, + ns-PmaxListNR-r15 NS-PmaxListNR-r15 OPTIONAL, -- Need OR + q-QualMin-r15 INTEGER (-43..-12) OPTIONAL, -- Need OP + deriveSSB-IndexFromCell-r15 BOOLEAN, + maxRS-IndexCellQual-r15 MaxRS-IndexCellQualNR-r15 OPTIONAL, -- Need OR + threshRS-Index-r15 ThresholdListNR-r15 OPTIONAL, -- Need OR + ..., + [[ multiBandNsPmaxListNR-v1550 MultiBandNsPmaxListNR-1-v1550 OPTIONAL, -- Need OR + multiBandNsPmaxListNR-SUL-v1550 MultiBandNsPmaxListNR-v1550 OPTIONAL, -- Need OR + ssb-ToMeasure-r15 SSB-ToMeasure-r15 OPTIONAL -- Need OR + ]] +} + +CarrierFreqNR-v1610 ::= SEQUENCE { + smtc2-LP-r16 MTC-SSB2-LP-NR-r16 OPTIONAL, -- Need OR + ssb-PositionQCL-CommonNR-r16 SSB-PositionQCL-RelationNR-r16 OPTIONAL, -- Cond SharedSpectrum2 + whiteCellListNR-r16 WhiteCellListNR-r16 OPTIONAL, -- Cond SharedSpectrum + highSpeedCarrierNR-r16 ENUMERATED {true} OPTIONAL -- Need OR +} + +MultiBandNsPmaxListNR-1-v1550 ::= SEQUENCE (SIZE (1.. maxMultiBandsNR-1-r15)) OF NS-PmaxListNR-r15 + +MultiBandNsPmaxListNR-v1550 ::= SEQUENCE (SIZE (1.. maxMultiBandsNR-r15)) OF NS-PmaxListNR-r15 + +WhiteCellListNR-r16 ::= SEQUENCE (SIZE (1..maxCellWhiteNR-r16)) OF PhysCellIdNR-r15 + + +SystemInformationBlockType25-r15 ::= SEQUENCE { + uac-BarringForCommon-r15 UAC-BarringPerCatList-r15 OPTIONAL, -- Need OP + uac-BarringPerPLMN-List-r15 UAC-BarringPerPLMN-List-r15 OPTIONAL, -- Need OP + uac-BarringInfoSetList-r15 UAC-BarringInfoSetList-r15, + uac-AC1-SelectAssistInfo-r15 CHOICE { + plmnCommon-r15 UAC-AC1-SelectAssistInfo-r15, + individualPLMNList-r15 SEQUENCE (SIZE (2..maxPLMN-r11)) OF UAC-AC1-SelectAssistInfo-r15 + } OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ ab-PerRSRP-r16 ENUMERATED {thresh0, thresh1, thresh2, thresh3} OPTIONAL -- Need OR + ]], + [[ + uac-AC1-SelectAssistInfo-r16 SEQUENCE (SIZE (2..maxPLMN-r11)) OF UAC-AC1-SelectAssistInfo-r16 OPTIONAL -- Need OR + ]] +} + +UAC-BarringPerPLMN-List-r15::= SEQUENCE (SIZE (1.. maxPLMN-r11)) OF UAC-BarringPerPLMN-r15 + +UAC-BarringPerPLMN-r15 ::= SEQUENCE { + plmn-IdentityIndex-r15 INTEGER (1.. maxPLMN-r11), + uac-AC-BarringListType-r15 CHOICE{ + uac-ImplicitAC-BarringList-r15 SEQUENCE (SIZE(maxAccessCat-1-r15)) OF UAC-BarringInfoSetIndex-r15, + uac-ExplicitAC-BarringList-r15 UAC-BarringPerCatList-r15 + } OPTIONAL -- Need OR +} + +UAC-BarringPerCatList-r15 ::= SEQUENCE (SIZE (1..maxAccessCat-1-r15)) OF UAC-BarringPerCat-r15 + +UAC-BarringPerCat-r15 ::= SEQUENCE { + accessCategory-r15 INTEGER (1..maxAccessCat-1-r15), + uac-barringInfoSetIndex-r15 UAC-BarringInfoSetIndex-r15 +} + +UAC-BarringInfoSetIndex-r15 ::= INTEGER (1..maxBarringInfoSet-r15) +UAC-BarringInfoSetList-r15 ::= SEQUENCE (SIZE (1..maxBarringInfoSet-r15)) OF UAC-BarringInfoSet-r15 + + +UAC-BarringInfoSet-r15 ::= SEQUENCE { + uac-BarringFactor-r15 ENUMERATED { + p00, p05, p10, p15, p20, p25, p30, p40, + p50, p60, p70, p75, p80, p85, p90, p95}, + uac-BarringTime-r15 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512}, + uac-BarringForAccessIdentity-r15 BIT STRING (SIZE(7)) +} + +UAC-AC1-SelectAssistInfo-r15::= ENUMERATED {a, b, c} + +UAC-AC1-SelectAssistInfo-r16::= ENUMERATED {a, b, c, notConfigured} + + +SystemInformationBlockType26-r15 ::= SEQUENCE { + v2x-InterFreqInfoList-r15 SL-InterFreqInfoListV2X-r14 OPTIONAL, -- Need OR + cbr-pssch-TxConfigList-r15 SL-CBR-PPPP-TxConfigList-r15 OPTIONAL, -- Need OR + v2x-PacketDuplicationConfig-r15 SL-V2X-PacketDuplicationConfig-r15 OPTIONAL, -- Need OR + syncFreqList-r15 SL-V2X-SyncFreqList-r15 OPTIONAL, -- Need OR + slss-TxMultiFreq-r15 ENUMERATED{true} OPTIONAL, -- Need OR + v2x-FreqSelectionConfigList-r15 SL-V2X-FreqSelectionConfigList-r15 OPTIONAL, -- Need OR + threshS-RSSI-CBR-r15 INTEGER (0..45) OPTIONAL, -- Need OR + ..., + lateNonCriticalExtension OCTET STRING OPTIONAL +} + + +SystemInformationBlockType26a-r16 ::= SEQUENCE { + plmn-InfoList-r16 PLMN-InfoList-r16, + bandListENDC-r16 BandListENDC-r16, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +BandListENDC-r16 ::= SEQUENCE (SIZE (1.. maxBandsENDC-r16)) OF FreqBandIndicatorNR-r15 + +PLMN-InfoList-r16 ::= SEQUENCE (SIZE (0..maxPLMN-r11)) OF PLMN-Info-r16 + +PLMN-Info-r16 ::= SEQUENCE { + nr-BandList-r16 BIT STRING (SIZE(maxBandsENDC-r16)) OPTIONAL -- Need OR +} + + +SystemInformationBlockType27-r16 ::= SEQUENCE { + carrierFreqListNBIOT-r16 CarrierFreqListNBIOT-r16 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +CarrierFreqListNBIOT-r16 ::= SEQUENCE (SIZE (1.. maxFreqNBIOT-r16)) OF CarrierFreqNBIOT-r16 + + +CarrierFreqNBIOT-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueEUTRA-r9, + carrierFreqOffset-r16 ENUMERATED {v-10, v-9, v-8dot5, v-8, v-7, v-6, v-5, v-4dot5, + v-4,v-3, v-2, v-1, v-0dot5, v0, v1, v2, v3, v3dot5, + v4, v5, v6, v7, v7dot5, v8, v9} +} + + +SystemInformationBlockType28-r16 ::= SEQUENCE { + segmentNumber-r16 INTEGER (0..63), + segmentType-r16 ENUMERATED {notLastSegment,lastSegment}, + segmentContainer-r16 OCTET STRING, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + + +SystemInformationBlockType29-r16 ::= SEQUENCE { + resourceReservationConfigCommonDL-r16 ResourceReservationConfigDL-r16 OPTIONAL, -- Need OR + resourceReservationConfigCommonUL-r16 ResourceReservationConfigUL-r16 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + + +Alpha-r12 ::= ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1} + + +AntennaInfoCommon ::= SEQUENCE { + antennaPortsCount ENUMERATED {an1, an2, an4, spare1} +} + +AntennaInfoDedicated ::= SEQUENCE { + transmissionMode ENUMERATED { + tm1, tm2, tm3, tm4, tm5, tm6, + tm7, tm8-v920}, + codebookSubsetRestriction CHOICE { + n2TxAntenna-tm3 BIT STRING (SIZE (2)), + n4TxAntenna-tm3 BIT STRING (SIZE (4)), + n2TxAntenna-tm4 BIT STRING (SIZE (6)), + n4TxAntenna-tm4 BIT STRING (SIZE (64)), + n2TxAntenna-tm5 BIT STRING (SIZE (4)), + n4TxAntenna-tm5 BIT STRING (SIZE (16)), + n2TxAntenna-tm6 BIT STRING (SIZE (4)), + n4TxAntenna-tm6 BIT STRING (SIZE (16)) + } OPTIONAL, -- Cond TM + ue-TransmitAntennaSelection CHOICE{ + release NULL, + setup ENUMERATED {closedLoop, openLoop} + } +} + +AntennaInfoDedicated-v920 ::= SEQUENCE { + codebookSubsetRestriction-v920 CHOICE { + n2TxAntenna-tm8-r9 BIT STRING (SIZE (6)), + n4TxAntenna-tm8-r9 BIT STRING (SIZE (32)) + } OPTIONAL -- Cond TM8 +} + +AntennaInfoDedicated-r10 ::= SEQUENCE { + transmissionMode-r10 ENUMERATED { + tm1, tm2, tm3, tm4, tm5, tm6, tm7, tm8-v920, + tm9-v1020, tm10-v1130, spare6, spare5, spare4, + spare3, spare2, spare1}, + codebookSubsetRestriction-r10 BIT STRING OPTIONAL, -- Cond TMX + ue-TransmitAntennaSelection CHOICE{ + release NULL, + setup ENUMERATED {closedLoop, openLoop} + } +} + +AntennaInfoDedicated-v10i0::= SEQUENCE { + maxLayersMIMO-r10 ENUMERATED {twoLayers, fourLayers, eightLayers} OPTIONAL -- Need OR +} + +AntennaInfoDedicated-v1250 ::= SEQUENCE { + alternativeCodebookEnabledFor4TX-r12 BOOLEAN +} + +AntennaInfoDedicated-v1430 ::= SEQUENCE { + ce-UE-TxAntennaSelection-config-r14 ENUMERATED {on} OPTIONAL -- Need OR +} + +AntennaInfoDedicatedSTTI-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + transmissionModeDL-MBSFN-r15 ENUMERATED {tm9, tm10} OPTIONAL, -- Need OR + transmissionModeDL-nonMBSFN-r15 ENUMERATED {tm1, tm2, tm3, tm4, tm6, tm8, tm9, + tm10} OPTIONAL, -- Need OR + codebookSubsetRestriction CHOICE { + n2TxAntenna-tm3-r15 BIT STRING (SIZE (2)), + n4TxAntenna-tm3-r15 BIT STRING (SIZE (4)), + n2TxAntenna-tm4-r15 BIT STRING (SIZE (6)), + n4TxAntenna-tm4-r15 BIT STRING (SIZE (64)), + n2TxAntenna-tm5-r15 BIT STRING (SIZE (4)), + n4TxAntenna-tm5-r15 BIT STRING (SIZE (16)), + n2TxAntenna-tm6-r15 BIT STRING (SIZE (4)), + n4TxAntenna-tm6-r15 BIT STRING (SIZE (16)), + n2TxAntenna-tm8-r15 BIT STRING (SIZE (6)), + n4TxAntenna-tm8-r15 BIT STRING (SIZE (64)), + n2TxAntenna-tm9and10-r15 BIT STRING (SIZE (6)), + n4TxAntenna-tm9and10-r15 BIT STRING (SIZE (96)), + n8TxAntenna-tm9and10-r15 BIT STRING (SIZE (109)) + } OPTIONAL, -- Cond TM + maxLayersMIMO-STTI-r15 ENUMERATED {twoLayers, fourLayers} OPTIONAL, -- Need OR + slotSubslotPDSCH-TxDiv-2Layer-r15 BOOLEAN, + slotSubslotPDSCH-TxDiv-4Layer-r15 BOOLEAN + } +} + +AntennaInfoDedicated-v1530 ::= CHOICE { + release NULL, + setup CHOICE { + ue-TxAntennaSelection-SRS-1T4R-Config-r15 NULL, + ue-TxAntennaSelection-SRS-2T4R-NrOfPairs-r15 ENUMERATED {two, three} + } +} + + +AntennaInfoUL-r10 ::= SEQUENCE { + transmissionModeUL-r10 ENUMERATED {tm1, tm2, spare6, spare5, + spare4, spare3, spare2, spare1} OPTIONAL, -- Need OR + fourAntennaPortActivated-r10 ENUMERATED {setup} OPTIONAL -- Need OR +} + +AntennaInfoUL-STTI-r15 ::= SEQUENCE { + transmissionModeUL-STTI-r15 ENUMERATED {tm1, tm2} OPTIONAL -- Need OR +} + + +AUL-Config-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + aul-CRNTI-r15 C-RNTI, + aul-Subframes-r15 BIT STRING (SIZE (40)), + aul-HARQ-Processes-r15 INTEGER (1..16), + transmissionModeUL-AUL-r15 ENUMERATED {tm1,tm2}, + aul-StartingFullBW-InsideMCOT-r15 BIT STRING (SIZE (5)), + aul-StartingFullBW-OutsideMCOT-r15 BIT STRING (SIZE (7)), + aul-StartingPartialBW-InsideMCOT-r15 ENUMERATED {o34, o43, o52, o61, oOS1}, + aul-StartingPartialBW-OutsideMCOT-r15 ENUMERATED {o16, o25, o34, o43, o52, o61, oOS1}, + aul-RetransmissionTimer-r15 ENUMERATED {psf4, psf5, psf6, psf8, psf10, psf12, psf20, psf28, psf37, psf44, psf68, psf84, psf100, + psf116, psf132, psf164, psf324}, + endingSymbolAUL-r15 INTEGER(12..13), + subframeOffsetCOT-Sharing-r15 INTEGER(2..4), + contentionWindowSizeTimer-r15 ENUMERATED {n0, n5, n10} + } +} + + +CQI-ReportAperiodic-r10 ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-ReportModeAperiodic-r10 CQI-ReportModeAperiodic, + aperiodicCSI-Trigger-r10 SEQUENCE { + trigger1-r10 BIT STRING (SIZE (8)), + trigger2-r10 BIT STRING (SIZE (8)) + } OPTIONAL -- Need OR + } +} + +CQI-ReportAperiodic-v1250 ::= CHOICE { + release NULL, + setup SEQUENCE { + aperiodicCSI-Trigger-v1250 SEQUENCE { + trigger-SubframeSetIndicator-r12 ENUMERATED {s1, s2}, + trigger1-SubframeSetIndicator-r12 BIT STRING (SIZE (8)), + trigger2-SubframeSetIndicator-r12 BIT STRING (SIZE (8)) + } + } +} + +CQI-ReportAperiodic-v1310 ::= CHOICE { + release NULL, + setup SEQUENCE { + aperiodicCSI-Trigger-v1310 SEQUENCE { + trigger1-r13 BIT STRING (SIZE (32)), + trigger2-r13 BIT STRING (SIZE (32)), + trigger3-r13 BIT STRING (SIZE (32)), + trigger4-r13 BIT STRING (SIZE (32)), + trigger5-r13 BIT STRING (SIZE (32)), + trigger6-r13 BIT STRING (SIZE (32)) + } OPTIONAL, -- Need ON + aperiodicCSI-Trigger2-r13 CHOICE { + release NULL, + setup SEQUENCE { + trigger1-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger2-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger3-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger4-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger5-SubframeSetIndicator-r13 BIT STRING (SIZE (32)), + trigger6-SubframeSetIndicator-r13 BIT STRING (SIZE (32)) + } + } OPTIONAL -- Need ON + } +} + +CQI-ReportAperiodicProc-r11 ::= SEQUENCE { + cqi-ReportModeAperiodic-r11 CQI-ReportModeAperiodic, + trigger01-r11 BOOLEAN, + trigger10-r11 BOOLEAN, + trigger11-r11 BOOLEAN +} + +CQI-ReportAperiodicProc-v1310 ::= SEQUENCE { + trigger001-r13 BOOLEAN, + trigger010-r13 BOOLEAN, + trigger011-r13 BOOLEAN, + trigger100-r13 BOOLEAN, + trigger101-r13 BOOLEAN, + trigger110-r13 BOOLEAN, + trigger111-r13 BOOLEAN +} + +CQI-ReportAperiodicHybrid-r14 ::= SEQUENCE { + triggers-r14 CHOICE { + oneBit-r14 SEQUENCE { + trigger1-Indicator-r14 BIT STRING (SIZE (8)) + }, + twoBit-r14 SEQUENCE { + trigger01-Indicator-r14 BIT STRING (SIZE (8)), + trigger10-Indicator-r14 BIT STRING (SIZE (8)), + trigger11-Indicator-r14 BIT STRING (SIZE (8)) + }, + threeBit-r14 SEQUENCE { + trigger001-Indicator-r14 BIT STRING (SIZE (32)), + trigger010-Indicator-r14 BIT STRING (SIZE (32)), + trigger011-Indicator-r14 BIT STRING (SIZE (32)), + trigger100-Indicator-r14 BIT STRING (SIZE (32)) , + trigger101-Indicator-r14 BIT STRING (SIZE (32)), + trigger110-Indicator-r14 BIT STRING (SIZE (32)), + trigger111-Indicator-r14 BIT STRING (SIZE (32)) + } + } OPTIONAL -- Need OR +} + +CQI-ReportModeAperiodic ::= ENUMERATED { + rm12, rm20, rm22, rm30, rm31, + rm32-v1250, rm10-v1310, rm11-v1310 +} + + +CQI-ReportBoth-r11 ::= SEQUENCE { + csi-IM-ConfigToReleaseList-r11 CSI-IM-ConfigToReleaseList-r11 OPTIONAL, -- Need ON + csi-IM-ConfigToAddModList-r11 CSI-IM-ConfigToAddModList-r11 OPTIONAL, -- Need ON + csi-ProcessToReleaseList-r11 CSI-ProcessToReleaseList-r11 OPTIONAL, -- Need ON + csi-ProcessToAddModList-r11 CSI-ProcessToAddModList-r11 OPTIONAL -- Need ON +} + +CQI-ReportBoth-v1250 ::= SEQUENCE { + csi-IM-ConfigToReleaseListExt-r12 CSI-IM-ConfigId-v1250 OPTIONAL, -- Need ON + csi-IM-ConfigToAddModListExt-r12 CSI-IM-ConfigExt-r12 OPTIONAL -- Need ON +} + +CQI-ReportBoth-v1310 ::= SEQUENCE { + csi-IM-ConfigToReleaseListExt-r13 CSI-IM-ConfigToReleaseListExt-r13 OPTIONAL, -- Need ON + csi-IM-ConfigToAddModListExt-r13 CSI-IM-ConfigToAddModListExt-r13 OPTIONAL -- Need ON +} + +CSI-IM-ConfigToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-IM-r11)) OF CSI-IM-Config-r11 + +CSI-IM-ConfigToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxCSI-IM-v1310)) OF CSI-IM-ConfigExt-r12 + +CSI-IM-ConfigToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-IM-r11)) OF CSI-IM-ConfigId-r11 + +CSI-IM-ConfigToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxCSI-IM-v1310)) OF CSI-IM-ConfigId-v1310 + +CSI-ProcessToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-Proc-r11)) OF CSI-Process-r11 + +CSI-ProcessToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-Proc-r11)) OF CSI-ProcessId-r11 + +CQI-ReportBothProc-r11 ::= SEQUENCE { + ri-Ref-CSI-ProcessId-r11 CSI-ProcessId-r11 OPTIONAL, -- Need OR + pmi-RI-Report-r11 ENUMERATED {setup} OPTIONAL -- Need OR +} + + +CQI-ReportConfig ::= SEQUENCE { + cqi-ReportModeAperiodic CQI-ReportModeAperiodic OPTIONAL, -- Need OR + nomPDSCH-RS-EPRE-Offset INTEGER (-1..6), + cqi-ReportPeriodic CQI-ReportPeriodic OPTIONAL -- Need ON +} + +CQI-ReportConfig-v920 ::= SEQUENCE { + cqi-Mask-r9 ENUMERATED {setup} OPTIONAL, -- Cond cqi-Setup + pmi-RI-Report-r9 ENUMERATED {setup} OPTIONAL -- Cond PMIRI +} + +CQI-ReportConfig-r10 ::= SEQUENCE { + cqi-ReportAperiodic-r10 CQI-ReportAperiodic-r10 OPTIONAL, -- Need ON + nomPDSCH-RS-EPRE-Offset INTEGER (-1..6), + cqi-ReportPeriodic-r10 CQI-ReportPeriodic-r10 OPTIONAL, -- Need ON + pmi-RI-Report-r9 ENUMERATED {setup} OPTIONAL, -- Cond PMIRIPCell + csi-SubframePatternConfig-r10 CHOICE { + release NULL, + setup SEQUENCE { + csi-MeasSubframeSet1-r10 MeasSubframePattern-r10, + csi-MeasSubframeSet2-r10 MeasSubframePattern-r10 + } + } OPTIONAL -- Need ON +} + +CQI-ReportConfig-v1130 ::= SEQUENCE { + cqi-ReportPeriodic-v1130 CQI-ReportPeriodic-v1130, + cqi-ReportBoth-r11 CQI-ReportBoth-r11 +} + +CQI-ReportConfig-v1250 ::= SEQUENCE { + csi-SubframePatternConfig-r12 CHOICE { + release NULL, + setup SEQUENCE { + csi-MeasSubframeSets-r12 BIT STRING (SIZE (10)) + } + } OPTIONAL, -- Need ON + cqi-ReportBoth-v1250 CQI-ReportBoth-v1250 OPTIONAL, -- Need ON + cqi-ReportAperiodic-v1250 CQI-ReportAperiodic-v1250 OPTIONAL, -- Need ON + altCQI-Table-r12 ENUMERATED { + allSubframes, csi-SubframeSet1, + csi-SubframeSet2, spare1} OPTIONAL -- Need OP +} + +CQI-ReportConfig-v1310 ::= SEQUENCE { + cqi-ReportBoth-v1310 CQI-ReportBoth-v1310 OPTIONAL, -- Need ON + cqi-ReportAperiodic-v1310 CQI-ReportAperiodic-v1310 OPTIONAL, -- Need ON + cqi-ReportPeriodic-v1310 CQI-ReportPeriodic-v1310 OPTIONAL -- Need ON +} + +CQI-ReportConfig-v1320 ::= SEQUENCE { + cqi-ReportPeriodic-v1320 CQI-ReportPeriodic-v1320 OPTIONAL -- Need ON +} + +CQI-ReportConfig-v1430 ::= SEQUENCE { + cqi-ReportAperiodicHybrid-r14 CQI-ReportAperiodicHybrid-r14 OPTIONAL -- Need ON +} + +CQI-ReportConfig-v1530 ::= SEQUENCE { + altCQI-Table-1024QAM-r15 ENUMERATED { + allSubframes, csi-SubframeSet1, + csi-SubframeSet2, spare1} OPTIONAL -- Need OP +} + +CQI-ReportConfig-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-ReportConfig-r10 CQI-ReportConfig-r10 OPTIONAL, -- Need ON + cqi-ReportConfig-v1130 CQI-ReportConfig-v1130 OPTIONAL, -- Need ON + cqi-ReportConfigPCell-v1250 CQI-ReportConfig-v1250 OPTIONAL, -- Need ON + cqi-ReportConfig-v1310 CQI-ReportConfig-v1310 OPTIONAL, -- Need ON + cqi-ReportConfig-v1320 CQI-ReportConfig-v1320 OPTIONAL, -- Need ON + cqi-ReportConfig-v1430 CQI-ReportConfig-v1430 OPTIONAL, -- Need ON + altCQI-Table-1024QAM-r15 ENUMERATED {allSubframes, csi-SubframeSet1, + csi-SubframeSet2, spare1} OPTIONAL -- Need OP + } +} + +CQI-ReportConfigSCell-r10 ::= SEQUENCE { + cqi-ReportModeAperiodic-r10 CQI-ReportModeAperiodic OPTIONAL, -- Need OR + nomPDSCH-RS-EPRE-Offset-r10 INTEGER (-1..6), + cqi-ReportPeriodicSCell-r10 CQI-ReportPeriodic-r10 OPTIONAL, -- Need ON + pmi-RI-Report-r10 ENUMERATED {setup} OPTIONAL -- Cond PMIRISCell +} + +CQI-ReportConfigSCell-r15 ::= SEQUENCE { + cqi-ReportPeriodicSCell-r15 CQI-ReportPeriodicSCell-r15 OPTIONAL, -- Need ON + altCQI-Table-1024QAM-r15 ENUMERATED {allSubframes, csi-SubframeSet1, + csi-SubframeSet2, spare1} OPTIONAL -- Need OP +} + + +CQI-ReportPeriodic ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-PUCCH-ResourceIndex INTEGER (0..1185), + cqi-pmi-ConfigIndex INTEGER (0..1023), + cqi-FormatIndicatorPeriodic CHOICE { + widebandCQI NULL, + subbandCQI SEQUENCE { + k INTEGER (1..4) + } + }, + ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR + simultaneousAckNackAndCQI BOOLEAN + } +} + +CQI-ReportPeriodic-r10 ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-PUCCH-ResourceIndex-r10 INTEGER (0..1184), + cqi-PUCCH-ResourceIndexP1-r10 INTEGER (0..1184) OPTIONAL, -- Need OR + cqi-pmi-ConfigIndex INTEGER (0..1023), + cqi-FormatIndicatorPeriodic-r10 CHOICE { + widebandCQI-r10 SEQUENCE { + csi-ReportMode-r10 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR + }, + subbandCQI-r10 SEQUENCE { + k INTEGER (1..4), + periodicityFactor-r10 ENUMERATED {n2, n4} + } + }, + ri-ConfigIndex INTEGER (0..1023) OPTIONAL, -- Need OR + simultaneousAckNackAndCQI BOOLEAN, + cqi-Mask-r9 ENUMERATED {setup} OPTIONAL, -- Need OR + csi-ConfigIndex-r10 CHOICE { + release NULL, + setup SEQUENCE { + cqi-pmi-ConfigIndex2-r10 INTEGER (0..1023), + ri-ConfigIndex2-r10 INTEGER (0..1023) OPTIONAL -- Need OR + } + } OPTIONAL -- Need ON + } +} + + +CQI-ReportPeriodic-v1130 ::= SEQUENCE { + simultaneousAckNackAndCQI-Format3-r11 ENUMERATED {setup} OPTIONAL, -- Need OR + cqi-ReportPeriodicProcExtToReleaseList-r11 CQI-ReportPeriodicProcExtToReleaseList-r11 OPTIONAL, -- Need ON + cqi-ReportPeriodicProcExtToAddModList-r11 CQI-ReportPeriodicProcExtToAddModList-r11 OPTIONAL -- Need ON +} + +CQI-ReportPeriodic-v1310 ::= SEQUENCE { + cri-ReportConfig-r13 CRI-ReportConfig-r13 OPTIONAL, -- Need OR + simultaneousAckNackAndCQI-Format4-Format5-r13 ENUMERATED {setup} OPTIONAL-- Need OR +} + +CQI-ReportPeriodic-v1320 ::= SEQUENCE { + periodicityFactorWB-r13 ENUMERATED {n2, n4} OPTIONAL -- Need OR +} + +CQI-ReportPeriodicSCell-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-pmi-ConfigIndexDormant-r15 INTEGER (0..1023), + ri-ConfigIndexDormant-r15 INTEGER (0..1023) OPTIONAL, -- Need OR + csi-SubframePatternDormant-r15 CHOICE { + release NULL, + setup SEQUENCE { + csi-MeasSubframeSet1-r15 MeasSubframePattern-r10, + csi-MeasSubframeSet2-r15 MeasSubframePattern-r10 + } + } OPTIONAL, -- Need ON + cqi-FormatIndicatorDormant-r15 CHOICE { + widebandCQI-r15 SEQUENCE { + csi-ReportMode-r15 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR + }, + subbandCQI-r15 SEQUENCE { + k-r15 INTEGER (1..4), + periodicityFactor-r15 ENUMERATED {n2, n4} + } + } OPTIONAL -- Need OR + } +} + +CQI-ReportPeriodicProcExtToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCQI-ProcExt-r11)) OF CQI-ReportPeriodicProcExt-r11 + +CQI-ReportPeriodicProcExtToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCQI-ProcExt-r11)) OF CQI-ReportPeriodicProcExtId-r11 + +CQI-ReportPeriodicProcExt-r11 ::= SEQUENCE { + cqi-ReportPeriodicProcExtId-r11 CQI-ReportPeriodicProcExtId-r11, + cqi-pmi-ConfigIndex-r11 INTEGER (0..1023), + cqi-FormatIndicatorPeriodic-r11 CHOICE { + widebandCQI-r11 SEQUENCE { + csi-ReportMode-r11 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR + }, + subbandCQI-r11 SEQUENCE { + k INTEGER (1..4), + periodicityFactor-r11 ENUMERATED {n2, n4} + } + }, + ri-ConfigIndex-r11 INTEGER (0..1023) OPTIONAL, -- Need OR + csi-ConfigIndex-r11 CHOICE { + release NULL, + setup SEQUENCE { + cqi-pmi-ConfigIndex2-r11 INTEGER (0..1023), + ri-ConfigIndex2-r11 INTEGER (0..1023) OPTIONAL -- Need OR + } + } OPTIONAL, -- Need ON + ..., + [[ cri-ReportConfig-r13 CRI-ReportConfig-r13 OPTIONAL -- Need ON + ]], + [[ periodicityFactorWB-r13 ENUMERATED {n2, n4} OPTIONAL -- Need ON + ]] +} + +CQI-ShortConfigSCell-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + cqi-pmi-ConfigIndexShort-r15 INTEGER (0..1023), + ri-ConfigIndexShort-r15 INTEGER (0..1023) OPTIONAL, -- Need OR + cqi-FormatIndicatorShort-r15 CHOICE { + widebandCQI-Short-r15 SEQUENCE { + csi-ReportModeShort-r15 ENUMERATED {submode1, submode2} OPTIONAL -- Need OR + }, + subbandCQI-Short-r15 SEQUENCE { + k-r15 INTEGER (1..4), + periodicityFactor-r15 ENUMERATED {n2, n4} + } + } OPTIONAL -- Need OR + } +} + +CRI-ReportConfig-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + cri-ConfigIndex-r13 CRI-ConfigIndex-r13, + cri-ConfigIndex2-r13 CRI-ConfigIndex-r13 OPTIONAL -- Need OR + } +} + +CRI-ConfigIndex-r13 ::= INTEGER (0..1023) + + +CQI-ReportPeriodicProcExtId-r11 ::= INTEGER (1..maxCQI-ProcExt-r11) + + +CrossCarrierSchedulingConfig-r10 ::= SEQUENCE { + schedulingCellInfo-r10 CHOICE { + own-r10 SEQUENCE { -- No cross carrier scheduling + cif-Presence-r10 BOOLEAN + }, + other-r10 SEQUENCE { -- Cross carrier scheduling + schedulingCellId-r10 ServCellIndex-r10, + pdsch-Start-r10 INTEGER (1..4) + } + } +} + +CrossCarrierSchedulingConfig-r13 ::= SEQUENCE { + schedulingCellInfo-r13 CHOICE { + own-r13 SEQUENCE { -- No cross carrier scheduling + cif-Presence-r13 BOOLEAN + }, + other-r13 SEQUENCE { -- Cross carrier scheduling + schedulingCellId-r13 ServCellIndex-r13, + pdsch-Start-r13 INTEGER (1..4), + cif-InSchedulingCell-r13 INTEGER (1..7) + } + } +} + +CrossCarrierSchedulingConfigLAA-UL-r14 ::= SEQUENCE { + schedulingCellId-r14 ServCellIndex-r13, + cif-InSchedulingCell-r14 INTEGER (1..7) +} + +CRS-ChEstMPDCCH-ConfigCommon-r16 ::= SEQUENCE { + powerRatio-r16 ENUMERATED {dB-4dot77, dB-3, dB-1dot77, dB0, dB1, dB2, dB3, dB4dot77} +} + +CRS-ChEstMPDCCH-ConfigDedicated-r16 ::= SEQUENCE { + powerRatio-r16 ENUMERATED {dB-4dot77, dB-3, dB-1dot77, dB0, dB1, dB2, dB3, + dB4dot77} OPTIONAL, -- Cond setup + localizedMappingType-r16 ENUMERATED {predefined, csi-Based, reciprocityBased} + DEFAULT predefined +} + + +CSI-IM-Config-r11 ::= SEQUENCE { + csi-IM-ConfigId-r11 CSI-IM-ConfigId-r11, + resourceConfig-r11 INTEGER (0..31), + subframeConfig-r11 INTEGER (0..154), + ..., + [[ interferenceMeasRestriction-r13 BOOLEAN OPTIONAL -- Need ON + ]] +} + +CSI-IM-ConfigExt-r12 ::= SEQUENCE { + csi-IM-ConfigId-v1250 CSI-IM-ConfigId-v1250, + resourceConfig-r12 INTEGER (0..31), + subframeConfig-r12 INTEGER (0..154), + ..., + [[ interferenceMeasRestriction-r13 BOOLEAN OPTIONAL, -- Need ON + csi-IM-ConfigId-v1310 CSI-IM-ConfigId-v1310 OPTIONAL -- Need ON + ]] +} + + +CSI-IM-ConfigId-r11 ::= INTEGER (1..maxCSI-IM-r11) +CSI-IM-ConfigId-r12 ::= INTEGER (1..maxCSI-IM-r12) +CSI-IM-ConfigId-v1250 ::= INTEGER (maxCSI-IM-r12) +CSI-IM-ConfigId-v1310 ::= INTEGER (minCSI-IM-r13..maxCSI-IM-r13) +CSI-IM-ConfigId-r13 ::= INTEGER (1..maxCSI-IM-r13) + + +CSI-Process-r11 ::= SEQUENCE { + csi-ProcessId-r11 CSI-ProcessId-r11, + csi-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11, + csi-IM-ConfigId-r11 CSI-IM-ConfigId-r11, + p-C-AndCBSRList-r11 P-C-AndCBSR-Pair-r13a, + cqi-ReportBothProc-r11 CQI-ReportBothProc-r11 OPTIONAL, -- Need OR + cqi-ReportPeriodicProcId-r11 INTEGER (0..maxCQI-ProcExt-r11) OPTIONAL, -- Need OR + cqi-ReportAperiodicProc-r11 CQI-ReportAperiodicProc-r11 OPTIONAL, -- Need OR + ..., + [[ alternativeCodebookEnabledFor4TXProc-r12 ENUMERATED {true} OPTIONAL, -- Need ON + csi-IM-ConfigIdList-r12 CHOICE { + release NULL, + setup SEQUENCE (SIZE (1..2)) OF CSI-IM-ConfigId-r12 + } OPTIONAL, -- Need ON + cqi-ReportAperiodicProc2-r12 CHOICE { + release NULL, + setup CQI-ReportAperiodicProc-r11 + } OPTIONAL -- Need ON + ]], + [[ cqi-ReportAperiodicProc-v1310 CHOICE { + release NULL, + setup CQI-ReportAperiodicProc-v1310 + } OPTIONAL, -- Need ON + cqi-ReportAperiodicProc2-v1310 CHOICE { + release NULL, + setup CQI-ReportAperiodicProc-v1310 + } OPTIONAL, -- Need ON + eMIMO-Type-r13 CSI-RS-ConfigEMIMO-r13 OPTIONAL -- Need ON + ]], + [[ dummy CSI-RS-ConfigEMIMO-v1430 OPTIONAL, -- Need ON + eMIMO-Hybrid-r14 CSI-RS-ConfigEMIMO-Hybrid-r14 OPTIONAL, -- Need ON + advancedCodebookEnabled-r14 BOOLEAN OPTIONAL -- Need ON + ]], + [[ eMIMO-Type-v1480 CSI-RS-ConfigEMIMO-v1480 OPTIONAL -- Need ON + ]], + [[ feCOMP-CSI-Enabled-v1530 BOOLEAN OPTIONAL, -- Need ON + eMIMO-Type-v1530 CSI-RS-ConfigEMIMO-v1530 OPTIONAL -- Need ON + ]] +} + + +CSI-ProcessId-r11 ::= INTEGER (1..maxCSI-Proc-r11) + + +CSI-RS-Config-r10 ::= SEQUENCE { + csi-RS-r10 CHOICE { + release NULL, + setup SEQUENCE { + antennaPortsCount-r10 ENUMERATED {an1, an2, an4, an8}, + resourceConfig-r10 INTEGER (0..31), + subframeConfig-r10 INTEGER (0..154), + p-C-r10 INTEGER (-8..15) + } + } OPTIONAL, -- Need ON + zeroTxPowerCSI-RS-r10 ZeroTxPowerCSI-RS-Conf-r12 OPTIONAL -- Need ON +} + +CSI-RS-Config-v1250 ::= SEQUENCE { + zeroTxPowerCSI-RS2-r12 ZeroTxPowerCSI-RS-Conf-r12 OPTIONAL, -- Need ON + ds-ZeroTxPowerCSI-RS-r12 CHOICE { + release NULL, + setup SEQUENCE { + zeroTxPowerCSI-RS-List-r12 SEQUENCE (SIZE (1..maxDS-ZTP-CSI-RS-r12)) OF ZeroTxPowerCSI-RS-r12 + } + } OPTIONAL -- Need ON +} + +CSI-RS-Config-v1310 ::= SEQUENCE { + eMIMO-Type-r13 CSI-RS-ConfigEMIMO-r13 OPTIONAL -- Need ON +} + +CSI-RS-Config-v1430 ::= SEQUENCE { + dummy CSI-RS-ConfigEMIMO-v1430 OPTIONAL, -- Need ON + eMIMO-Hybrid-r14 CSI-RS-ConfigEMIMO-Hybrid-r14 OPTIONAL, -- Need ON + advancedCodebookEnabled-r14 BOOLEAN OPTIONAL -- Need ON +} + +CSI-RS-Config-v1480 ::= SEQUENCE { + eMIMO-Type-v1480 CSI-RS-ConfigEMIMO-v1480 OPTIONAL -- Need ON +} + +CSI-RS-Config-v1530 ::= SEQUENCE { + eMIMO-Type-v1530 CSI-RS-ConfigEMIMO-v1530 OPTIONAL -- Need ON +} + +CSI-RS-Config-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + csi-RS-Config-r10 CSI-RS-Config-r10 OPTIONAL, -- Need ON + csi-RS-Config-v1250 CSI-RS-Config-v1250 OPTIONAL, -- Need ON + csi-RS-Config-v1310 CSI-RS-Config-v1310 OPTIONAL, -- Need ON + csi-RS-Config-v1430 CSI-RS-Config-v1430 OPTIONAL -- Need ON + } +} + +ZeroTxPowerCSI-RS-Conf-r12 ::= CHOICE { + release NULL, + setup ZeroTxPowerCSI-RS-r12 +} + +ZeroTxPowerCSI-RS-r12 ::= SEQUENCE { + zeroTxPowerResourceConfigList-r12 BIT STRING (SIZE (16)), + zeroTxPowerSubframeConfig-r12 INTEGER (0..154) +} + + +CSI-RS-ConfigBeamformed-r13 ::= SEQUENCE { + csi-RS-ConfigNZPIdListExt-r13 SEQUENCE (SIZE (1..7)) OF CSI-RS-ConfigNZPId-r13 OPTIONAL, -- Need OR + csi-IM-ConfigIdList-r13 SEQUENCE (SIZE (1..8)) OF CSI-IM-ConfigId-r13 OPTIONAL, -- Need OR + p-C-AndCBSR-PerResourceConfigList-r13 SEQUENCE (SIZE (1..8)) OF P-C-AndCBSR-Pair-r13 OPTIONAL, -- Need OR + ace-For4Tx-PerResourceConfigList-r13 SEQUENCE (SIZE (1..7)) OF BOOLEAN OPTIONAL, -- Need OR + alternativeCodebookEnabledBeamformed-r13 ENUMERATED {true} OPTIONAL, -- Need OR + channelMeasRestriction-r13 ENUMERATED {on} OPTIONAL -- Need OR +} + +CSI-RS-ConfigBeamformed-r14 ::= SEQUENCE { + csi-RS-ConfigNZPIdListExt-r14 SEQUENCE (SIZE (1..7)) OF CSI-RS-ConfigNZPId-r13 OPTIONAL, -- Need OR + csi-IM-ConfigIdList-r14 SEQUENCE (SIZE (1..8)) OF CSI-IM-ConfigId-r13 OPTIONAL, -- Need OR + p-C-AndCBSR-PerResourceConfigList-r14 SEQUENCE (SIZE (1..8)) OF P-C-AndCBSR-Pair-r13 OPTIONAL, -- Need OR + ace-For4Tx-PerResourceConfigList-r14 SEQUENCE (SIZE (1..7)) OF BOOLEAN OPTIONAL, -- Need OR + alternativeCodebookEnabledBeamformed-r14 ENUMERATED {true} OPTIONAL, -- Need OR + channelMeasRestriction-r14 ENUMERATED {on} OPTIONAL, -- Need OR + csi-RS-ConfigNZP-ApList-r14 SEQUENCE (SIZE (1..8)) OF CSI-RS-ConfigNZP-r11 + OPTIONAL, -- Need OR + nzp-ResourceConfigOriginal-v1430 CSI-RS-Config-NZP-v1430 OPTIONAL, -- Need OR + csi-RS-NZP-Activation-r14 CSI-RS-ConfigNZP-Activation-r14 OPTIONAL -- Need OR +} + +CSI-RS-ConfigBeamformed-v1430::= SEQUENCE { + csi-RS-ConfigNZP-ApList-r14 SEQUENCE (SIZE (1..8)) OF CSI-RS-ConfigNZP-r11 + OPTIONAL, -- Need OR + nzp-ResourceConfigOriginal-v1430 CSI-RS-Config-NZP-v1430 OPTIONAL, -- Need OR + csi-RS-NZP-Activation-r14 CSI-RS-ConfigNZP-Activation-r14 OPTIONAL -- Need OR +} + +CSI-RS-Config-NZP-v1430::= SEQUENCE { + transmissionComb-r14 NZP-TransmissionComb-r14 OPTIONAL, -- Need OR + frequencyDensity-r14 NZP-FrequencyDensity-r14 OPTIONAL -- Need OR +} + +CSI-RS-ConfigNZP-Activation-r14::= SEQUENCE { + csi-RS-NZP-mode-r14 ENUMERATED {semiPersistent, aperiodic}, + activatedResources-r14 INTEGER (0..4) +} + + +CSI-RS-ConfigEMIMO-r13 ::= CHOICE { + release NULL, + setup CHOICE { + nonPrecoded-r13 CSI-RS-ConfigNonPrecoded-r13, + beamformed-r13 CSI-RS-ConfigBeamformed-r13 + } +} + +CSI-RS-ConfigEMIMO-v1430 ::= CHOICE { + release NULL, + setup CHOICE { + nonPrecoded-v1430 CSI-RS-ConfigNonPrecoded-v1430, + beamformed-v1430 CSI-RS-ConfigBeamformed-v1430 + } +} + +CSI-RS-ConfigEMIMO-v1480 ::= CHOICE { + release NULL, + setup CHOICE { + nonPrecoded-v1480 CSI-RS-ConfigNonPrecoded-v1480, + beamformed-v1480 CSI-RS-ConfigBeamformed-v1430 + } +} + +CSI-RS-ConfigEMIMO-v1530 ::= CHOICE { + release NULL, + setup CHOICE { + nonPrecoded-v1530 CSI-RS-ConfigNonPrecoded-v1530 + } +} + +CSI-RS-ConfigEMIMO2-r14 ::= CHOICE { + release NULL, + setup CSI-RS-ConfigBeamformed-r14 +} + +CSI-RS-ConfigEMIMO-Hybrid-r14 ::= CHOICE { + release NULL, + setup SEQUENCE { + periodicityOffsetIndex-r14 INTEGER (0..1023) OPTIONAL, -- Need OR + eMIMO-Type2-r14 CSI-RS-ConfigEMIMO2-r14 OPTIONAL -- Need ON + } +} + + + +CSI-RS-ConfigNonPrecoded-r13 ::= SEQUENCE { + p-C-AndCBSRList-r13 P-C-AndCBSR-Pair-r13 OPTIONAL, -- Need OR + codebookConfigN1-r13 ENUMERATED {n1, n2, n3, n4, n8}, + codebookConfigN2-r13 ENUMERATED {n1, n2, n3, n4, n8}, + codebookOverSamplingRateConfig-O1-r13 ENUMERATED {n4, n8} OPTIONAL, -- Need OR + codebookOverSamplingRateConfig-O2-r13 ENUMERATED {n4, n8} OPTIONAL, -- Need OR + codebookConfig-r13 INTEGER (1..4), + csi-IM-ConfigIdList-r13 SEQUENCE (SIZE (1..2)) OF CSI-IM-ConfigId-r13 OPTIONAL, -- Need OR + csi-RS-ConfigNZP-EMIMO-r13 CSI-RS-ConfigNZP-EMIMO-r13 OPTIONAL -- Need ON +} + +CSI-RS-ConfigNonPrecoded-v1430::= SEQUENCE { + csi-RS-ConfigNZP-EMIMO-v1430 CSI-RS-ConfigNZP-EMIMO-v1430 OPTIONAL, -- Need ON + codebookConfigN1-v1430 ENUMERATED {n5, n6, n7, n10, n12, n14, n16}, + codebookConfigN2-v1430 ENUMERATED {n5, n6, n7}, + nzp-ResourceConfigTM9-Original-v1430 CSI-RS-Config-NZP-v1430 +} + +CSI-RS-ConfigNonPrecoded-v1480::= SEQUENCE { + csi-RS-ConfigNZP-EMIMO-v1480 CSI-RS-ConfigNZP-EMIMO-v1430 OPTIONAL, -- Need ON + codebookConfigN1-v1480 ENUMERATED {n5, n6, n7, n10, n12, n14, n16} OPTIONAL, -- Need OR + codebookConfigN2-r1480 ENUMERATED {n5, n6, n7} OPTIONAL, -- Need OR + nzp-ResourceConfigTM9-Original-v1480 CSI-RS-Config-NZP-v1430 +} + +CSI-RS-ConfigNonPrecoded-v1530 ::= SEQUENCE { + p-C-AndCBSRList-r15 P-C-AndCBSR-Pair-r15 OPTIONAL -- Need OR +} + + +CSI-RS-ConfigNZP-r11 ::= SEQUENCE { + csi-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11, + antennaPortsCount-r11 ENUMERATED {an1, an2, an4, an8}, + resourceConfig-r11 INTEGER (0..31), + subframeConfig-r11 INTEGER (0..154), + scramblingIdentity-r11 INTEGER (0..503), + qcl-CRS-Info-r11 SEQUENCE { + qcl-ScramblingIdentity-r11 INTEGER (0..503), + crs-PortsCount-r11 ENUMERATED {n1, n2, n4, spare1}, + mbsfn-SubframeConfigList-r11 CHOICE { + release NULL, + setup SEQUENCE { + subframeConfigList MBSFN-SubframeConfigList + } + } OPTIONAL -- Need ON + } OPTIONAL, -- Need OR + ..., + [[ csi-RS-ConfigNZPId-v1310 CSI-RS-ConfigNZPId-v1310 OPTIONAL -- Need ON + ]], + [[ transmissionComb-r14 NZP-TransmissionComb-r14 OPTIONAL, -- Need OR + frequencyDensity-r14 NZP-FrequencyDensity-r14 OPTIONAL -- Need OR + ]], + [[ mbsfn-SubframeConfigList-v1430 CHOICE { + release NULL, + setup SEQUENCE { + subframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 + } + } OPTIONAL -- Need OP + ]] +} + +CSI-RS-ConfigNZP-EMIMO-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + nzp-resourceConfigList-r13 SEQUENCE (SIZE (1..2)) OF NZP-ResourceConfig-r13, + cdmType-r13 ENUMERATED {cdm2, cdm4} OPTIONAL -- Need OR + } +} + +CSI-RS-ConfigNZP-EMIMO-v1430 ::= SEQUENCE { + -- All extensions are for Non-Precoded so could be grouped by setup/ release choice + nzp-resourceConfigListExt-r14 SEQUENCE (SIZE (0..4)) OF NZP-ResourceConfig-r13, + cdmType-v1430 ENUMERATED {cdm8 } OPTIONAL -- Need OR +} + +NZP-ResourceConfig-r13 ::= SEQUENCE { + resourceConfig-r13 ResourceConfig-r13, + ..., + [[ transmissionComb-r14 NZP-TransmissionComb-r14 OPTIONAL, -- Need OR + frequencyDensity-r14 NZP-FrequencyDensity-r14 OPTIONAL -- Need OR + ]] +} + +ResourceConfig-r13 ::= INTEGER (0..31) + +NZP-TransmissionComb-r14 ::= INTEGER (0..2) +NZP-FrequencyDensity-r14 ::= ENUMERATED {d1, d2, d3} + + +CSI-RS-ConfigNZPId-r11 ::= INTEGER (1..maxCSI-RS-NZP-r11) +CSI-RS-ConfigNZPId-v1310 ::= INTEGER (minCSI-RS-NZP-r13..maxCSI-RS-NZP-r13) +CSI-RS-ConfigNZPId-r13 ::= INTEGER (1..maxCSI-RS-NZP-r13) + + +CSI-RS-ConfigZP-r11 ::= SEQUENCE { + csi-RS-ConfigZPId-r11 CSI-RS-ConfigZPId-r11, + resourceConfigList-r11 BIT STRING (SIZE (16)), + subframeConfig-r11 INTEGER (0..154), + ... +} + +CSI-RS-ConfigZP-ApList-r14 ::= CHOICE { + release NULL, + setup SEQUENCE (SIZE (1.. maxCSI-RS-ZP-r11)) OF CSI-RS-ConfigZP-r11 +} + + +CSI-RS-ConfigZPId-r11 ::= INTEGER (1..maxCSI-RS-ZP-r11) + + +DataInactivityTimer-r14 ::= ENUMERATED { + s1, s2, s3, s5, s7, s10, s15, s20, s40, s50, s60, + s80, s100, s120, s150, s180} + + +DMRS-Config-r11 ::= CHOICE { + release NULL, + setup SEQUENCE { + scramblingIdentity-r11 INTEGER (0..503), + scramblingIdentity2-r11 INTEGER (0..503) + } +} +DMRS-Config-v1310 ::= SEQUENCE { + dmrs-tableAlt-r13 ENUMERATED {true} OPTIONAL -- Need OR +} + + +DRB-Identity ::= INTEGER (1..32) + + +EPDCCH-Config-r11 ::= SEQUENCE{ + config-r11 CHOICE { + release NULL, + setup SEQUENCE { + subframePatternConfig-r11 CHOICE { + release NULL, + setup SEQUENCE { + subframePattern-r11 MeasSubframePattern-r10 + } + } OPTIONAL, -- Need ON + startSymbol-r11 INTEGER (1..4) OPTIONAL, -- Need OP + setConfigToReleaseList-r11 EPDCCH-SetConfigToReleaseList-r11 OPTIONAL, -- Need ON + setConfigToAddModList-r11 EPDCCH-SetConfigToAddModList-r11 OPTIONAL -- Need ON + } + } +} + +EPDCCH-SetConfigToAddModList-r11 ::= SEQUENCE (SIZE(1..maxEPDCCH-Set-r11)) OF EPDCCH-SetConfig-r11 + +EPDCCH-SetConfigToReleaseList-r11 ::= SEQUENCE (SIZE(1..maxEPDCCH-Set-r11)) OF EPDCCH-SetConfigId-r11 + +EPDCCH-SetConfig-r11 ::= SEQUENCE { + setConfigId-r11 EPDCCH-SetConfigId-r11, + transmissionType-r11 ENUMERATED {localised, distributed}, + resourceBlockAssignment-r11 SEQUENCE{ + numberPRB-Pairs-r11 ENUMERATED {n2, n4, n8}, + resourceBlockAssignment-r11 BIT STRING (SIZE(4..38)) + }, + dmrs-ScramblingSequenceInt-r11 INTEGER (0..503), + pucch-ResourceStartOffset-r11 INTEGER (0..2047), + re-MappingQCL-ConfigId-r11 PDSCH-RE-MappingQCL-ConfigId-r11 OPTIONAL, -- Need OR + ..., + [[ csi-RS-ConfigZPId2-r12 CHOICE { + release NULL, + setup CSI-RS-ConfigZPId-r11 + } OPTIONAL -- Need ON + ]], + [[ numberPRB-Pairs-v1310 CHOICE { + release NULL, + setup ENUMERATED {n6} + } OPTIONAL, -- Need ON + mpdcch-config-r13 CHOICE { + release NULL, + setup SEQUENCE { + csi-NumRepetitionCE-r13 ENUMERATED {sf1, sf2, sf4, sf8, sf16, sf32}, + mpdcch-pdsch-HoppingConfig-r13 ENUMERATED {on,off}, + mpdcch-StartSF-UESS-r13 CHOICE { + fdd-r13 ENUMERATED {v1, v1dot5, v2, v2dot5, v4, + v5, v8, v10}, + tdd-r13 ENUMERATED {v1, v2, v4, v5, v8, v10, + v20, spare1} + }, + mpdcch-NumRepetition-r13 ENUMERATED {r1, r2, r4, r8, r16, + r32, r64, r128, r256}, + mpdcch-Narrowband-r13 INTEGER (1.. maxAvailNarrowBands-r13) + } + } OPTIONAL -- Need ON + ]] +} + +EPDCCH-SetConfigId-r11 ::= INTEGER (0..1) + + +EIMTA-MainConfig-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + eimta-RNTI-r12 C-RNTI, + eimta-CommandPeriodicity-r12 ENUMERATED {sf10, sf20, sf40, sf80}, + eimta-CommandSubframeSet-r12 BIT STRING (SIZE(10)) + } +} + +EIMTA-MainConfigServCell-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + eimta-UL-DL-ConfigIndex-r12 INTEGER (1..5), + eimta-HARQ-ReferenceConfig-r12 ENUMERATED {sa2, sa4, sa5}, + mbsfn-SubframeConfigList-v1250 CHOICE { + release NULL, + setup SEQUENCE { + subframeConfigList-r12 MBSFN-SubframeConfigList + } + } + } +} + + +GWUS-Config-r16 ::= SEQUENCE { + groupAlternation-r16 ENUMERATED {true} OPTIONAL, -- Need OR + commonSequence-r16 ENUMERATED {g0, g126} OPTIONAL, -- Need OR + timeParameters-r16 GWUS-TimeParameters-r16 OPTIONAL, -- Cond NoWUSr15 + resourceConfigDRX-r16 GWUS-ResourceConfig-r16, + resourceConfig-eDRX-Short-r16 GWUS-ResourceConfig-r16 OPTIONAL, -- Need OP + resourceConfig-eDRX-Long-r16 GWUS-ResourceConfig-r16 OPTIONAL, -- Cond TimeOffset + probThreshList-r16 GWUS-ProbThreshList-r16 OPTIONAL, -- Cond ProbabilityBased + groupNarrowBandList-r16 GWUS-GroupNarrowBandList-r16 OPTIONAL -- Need OR +} + +GWUS-TimeParameters-r16 ::= SEQUENCE { + maxDurationFactor-r16 ENUMERATED {one32th, one16th, one8th, one4th}, + numPOs-r16 ENUMERATED {n1, n2, n4, spare1} DEFAULT n1, + timeOffsetDRX-r16 ENUMERATED {ms40, ms80, ms160, ms240}, + timeOffset-eDRX-Short-r16 ENUMERATED {ms40, ms80, ms160, ms240}, + timeOffset-eDRX-Long-r16 ENUMERATED {ms1000, ms2000} OPTIONAL, -- Need OP + numDRX-CyclesRelaxed-r16 ENUMERATED {n1, n2, n4, n8} OPTIONAL, -- Need OR + powerBoost-r16 ENUMERATED {dB0, dB1dot8, dB3, dB4dot8} OPTIONAL, -- Need OR + ... +} + +GWUS-ResourceConfig-r16 ::= SEQUENCE { + resourceMappingPattern-r16 CHOICE { + resourceLocationWithWUS ENUMERATED {primary, secondary, primary3FDM}, + resourceLocationWithoutWUS ENUMERATED {n0, n2} + }, + numGroupsList-r16 GWUS-NumGroupsList-r16 OPTIONAL, -- Need OP + groupsForServiceList-r16 GWUS-GroupsForServiceList-r16 OPTIONAL -- Cond ProbabilityBased +} + +GWUS-GroupsForServiceList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-r16)) OF INTEGER (1..maxGWUS-Groups-1-r16) + +GWUS-GroupNarrowBandList-r16 ::= SEQUENCE (SIZE (1..maxAvailNarrowBands-r13)) OF BOOLEAN + +GWUS-NumGroupsList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-Resources-r16)) OF GWUS-NumGroups-r16 + +GWUS-ProbThreshList-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-r16)) OF GWUS-PagingProbThresh-r16 + +GWUS-NumGroups-r16 ::= ENUMERATED {n1, n2, n4, n8} + +GWUS-PagingProbThresh-r16 ::= ENUMERATED {p20, p30, p40, p50, p60, p70, p80, p90} + + +LogicalChannelConfig ::= SEQUENCE { + ul-SpecificParameters SEQUENCE { + priority INTEGER (1..16), + prioritisedBitRate ENUMERATED { + kBps0, kBps8, kBps16, kBps32, kBps64, kBps128, + kBps256, infinity, kBps512-v1020, kBps1024-v1020, + kBps2048-v1020, spare5, spare4, spare3, spare2, + spare1}, + bucketSizeDuration ENUMERATED { + ms50, ms100, ms150, ms300, ms500, ms1000, spare2, + spare1}, + logicalChannelGroup INTEGER (0..3) OPTIONAL -- Need OR + } OPTIONAL, -- Cond UL + ..., + [[ logicalChannelSR-Mask-r9 ENUMERATED {setup} OPTIONAL -- Cond SRmask + ]], + [[ logicalChannelSR-Prohibit-r12 BOOLEAN OPTIONAL -- Need ON + ]], + [[ laa-UL-Allowed-r14 BOOLEAN OPTIONAL, -- Need ON + bitRateQueryProhibitTimer-r14 ENUMERATED { + s0, s0dot4, s0dot8, s1dot6, s3, s6, s12, + s30} OPTIONAL --Need OR + ]], + [[ allowedTTI-Lengths-r15 CHOICE { + release NULL, + setup SEQUENCE { + shortTTI-r15 BOOLEAN, + subframeTTI-r15 BOOLEAN + } + } OPTIONAL, -- Need ON + logicalChannelSR-Restriction-r15 CHOICE { + release NULL, + setup ENUMERATED {spucch, pucch} + } OPTIONAL, -- Need ON + channelAccessPriority-r15 CHOICE { + release NULL, + setup INTEGER (1..4) + } OPTIONAL, -- Need ON + lch-CellRestriction-r15 BIT STRING (SIZE (maxServCell-r13)) OPTIONAL -- Need ON + ]], + [[ + bitRateMultiplier-r16 ENUMERATED {x40, x70, x100, x200} OPTIONAL -- Need OR + ]] +} + + +LWA-Configuration-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + lwa-Config-r13 LWA-Config-r13 + } +} + +LWA-Config-r13 ::= SEQUENCE { + lwa-MobilityConfig-r13 WLAN-MobilityConfig-r13 OPTIONAL, -- Need ON + lwa-WT-Counter-r13 INTEGER (0..65535) OPTIONAL, -- Need ON + ..., + [[ wt-MAC-Address-r14 OCTET STRING (SIZE (6)) OPTIONAL -- Need ON + ]] +} + + +LWIP-Configuration-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + lwip-Config-r13 LWIP-Config-r13 + } +} + +LWIP-Config-r13 ::= SEQUENCE { + lwip-MobilityConfig-r13 WLAN-MobilityConfig-r13 OPTIONAL, -- Need ON + tunnelConfigLWIP-r13 TunnelConfigLWIP-r13 OPTIONAL, -- Need ON + ... +} + + +MAC-MainConfig ::= SEQUENCE { + ul-SCH-Config SEQUENCE { + maxHARQ-Tx ENUMERATED { + n1, n2, n3, n4, n5, n6, n7, n8, + n10, n12, n16, n20, n24, n28, + spare2, spare1} OPTIONAL, -- Need ON + periodicBSR-Timer PeriodicBSR-Timer-r12 OPTIONAL, -- Need ON + retxBSR-Timer RetxBSR-Timer-r12, + ttiBundling BOOLEAN + } OPTIONAL, -- Need ON + drx-Config DRX-Config OPTIONAL, -- Need ON + timeAlignmentTimerDedicated TimeAlignmentTimer, + phr-Config CHOICE { + release NULL, + setup SEQUENCE { + periodicPHR-Timer ENUMERATED {sf10, sf20, sf50, sf100, sf200, + sf500, sf1000, infinity}, + prohibitPHR-Timer ENUMERATED {sf0, sf10, sf20, sf50, sf100, + sf200, sf500, sf1000}, + dl-PathlossChange ENUMERATED {dB1, dB3, dB6, infinity} + } + } OPTIONAL, -- Need ON + ..., + [[ sr-ProhibitTimer-r9 INTEGER (0..7) OPTIONAL -- Need ON + ]], + [[ mac-MainConfig-v1020 SEQUENCE { + sCellDeactivationTimer-r10 ENUMERATED { + rf2, rf4, rf8, rf16, rf32, rf64, rf128, + spare} OPTIONAL, -- Need OP + extendedBSR-Sizes-r10 ENUMERATED {setup} OPTIONAL, -- Need OR + extendedPHR-r10 ENUMERATED {setup} OPTIONAL -- Need OR + } OPTIONAL -- Need ON + ]], + [[ stag-ToReleaseList-r11 STAG-ToReleaseList-r11 OPTIONAL, -- Need ON + stag-ToAddModList-r11 STAG-ToAddModList-r11 OPTIONAL, -- Need ON + drx-Config-v1130 DRX-Config-v1130 OPTIONAL -- Need ON + ]], + [[ e-HARQ-Pattern-r12 BOOLEAN OPTIONAL, -- Need ON + dualConnectivityPHR CHOICE { + release NULL, + setup SEQUENCE { + phr-ModeOtherCG-r12 ENUMERATED {real, virtual} + } + } OPTIONAL, -- Need ON + logicalChannelSR-Config-r12 CHOICE { + release NULL, + setup SEQUENCE { + logicalChannelSR-ProhibitTimer-r12 ENUMERATED {sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} + } + } OPTIONAL -- Need ON + ]], + [[ drx-Config-v1310 DRX-Config-v1310 OPTIONAL, -- Need ON + extendedPHR2-r13 BOOLEAN OPTIONAL, -- Need ON + eDRX-Config-CycleStartOffset-r13 CHOICE { + release NULL, + setup + CHOICE { + sf5120 INTEGER(0..1), + sf10240 INTEGER(0..3) + } + } OPTIONAL -- Need ON + ]], + [[ drx-Config-r13 CHOICE { + release NULL, + setup DRX-Config-r13 + } OPTIONAL -- Need ON + ]], + [[ skipUplinkTx-r14 CHOICE { + release NULL, + setup SEQUENCE { + skipUplinkTxSPS-r14 ENUMERATED {true} OPTIONAL, -- Need OR + skipUplinkTxDynamic-r14 ENUMERATED {true} OPTIONAL -- Need OR + } + } OPTIONAL, -- Need ON + dataInactivityTimerConfig-r14 CHOICE { + release NULL, + setup SEQUENCE { + dataInactivityTimer-r14 DataInactivityTimer-r14 + } + } OPTIONAL -- Need ON + ]], + [[ rai-Activation-r14 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ shortTTI-AndSPT-r15 CHOICE { + release NULL, + setup SEQUENCE { + drx-Config-r15 DRX-Config-r15 OPTIONAL, -- Need ON + periodicBSR-Timer-r15 ENUMERATED { + sf1, sf5, sf10, sf16, sf20, sf32, sf40, + sf64, sf80, sf128, sf160, sf320, sf640, + sf1280, sf2560, infinity} + OPTIONAL, -- Need ON + proc-Timeline-r15 ENUMERATED {nplus4set1, nplus6set1, + nplus6set2, nplus8set2 } OPTIONAL, -- Need ON + ssr-ProhibitTimer-r15 INTEGER (0..7) OPTIONAL -- Need ON + } + } OPTIONAL, -- Need ON + mpdcch-UL-HARQ-ACK-FeedbackConfig-r15 BOOLEAN OPTIONAL, -- Need ON + dormantStateTimers-r15 CHOICE { + release NULL, + setup SEQUENCE { + sCellHibernationTimer-r15 ENUMERATED { + rf2, rf4, rf8, rf16, rf32, rf64, rf128, spare} OPTIONAL, -- Need OR + dormantSCellDeactivationTimer-r15 ENUMERATED { + rf2, rf4, rf8, rf16, rf32, rf64, + rf128, rf320, rf640, rf1280, rf2560, + rf5120, rf10240, spare3, spare2, spare1} OPTIONAL -- Need OR + } + } OPTIONAL -- Need ON + ]], + [[ ce-ETWS-CMAS-RxInConn-r16 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + +MAC-MainConfigSCell-r11 ::= SEQUENCE { + stag-Id-r11 STAG-Id-r11 OPTIONAL, -- Need OP + ... +} + +DRX-Config ::= CHOICE { + release NULL, + setup SEQUENCE { + onDurationTimer ENUMERATED { + psf1, psf2, psf3, psf4, psf5, psf6, + psf8, psf10, psf20, psf30, psf40, + psf50, psf60, psf80, psf100, + psf200}, + drx-InactivityTimer ENUMERATED { + psf1, psf2, psf3, psf4, psf5, psf6, + psf8, psf10, psf20, psf30, psf40, + psf50, psf60, psf80, psf100, + psf200, psf300, psf500, psf750, + psf1280, psf1920, psf2560, psf0-v1020, + spare9, spare8, spare7, spare6, + spare5, spare4, spare3, spare2, + spare1}, + drx-RetransmissionTimer ENUMERATED { + psf1, psf2, psf4, psf6, psf8, psf16, + psf24, psf33}, + longDRX-CycleStartOffset CHOICE { + sf10 INTEGER(0..9), + sf20 INTEGER(0..19), + sf32 INTEGER(0..31), + sf40 INTEGER(0..39), + sf64 INTEGER(0..63), + sf80 INTEGER(0..79), + sf128 INTEGER(0..127), + sf160 INTEGER(0..159), + sf256 INTEGER(0..255), + sf320 INTEGER(0..319), + sf512 INTEGER(0..511), + sf640 INTEGER(0..639), + sf1024 INTEGER(0..1023), + sf1280 INTEGER(0..1279), + sf2048 INTEGER(0..2047), + sf2560 INTEGER(0..2559) + }, + shortDRX SEQUENCE { + shortDRX-Cycle ENUMERATED { + sf2, sf5, sf8, sf10, sf16, sf20, + sf32, sf40, sf64, sf80, sf128, sf160, + sf256, sf320, sf512, sf640}, + drxShortCycleTimer INTEGER (1..16) + } OPTIONAL -- Need OR + } +} + +DRX-Config-v1130 ::= SEQUENCE { + drx-RetransmissionTimer-v1130 ENUMERATED {psf0-v1130} OPTIONAL, --Need OR + longDRX-CycleStartOffset-v1130 CHOICE { + sf60-v1130 INTEGER(0..59), + sf70-v1130 INTEGER(0..69) + } OPTIONAL, --Need OR + shortDRX-Cycle-v1130 ENUMERATED {sf4-v1130} OPTIONAL --Need OR +} +DRX-Config-v1310 ::= SEQUENCE { + longDRX-CycleStartOffset-v1310 SEQUENCE { + sf60-v1310 INTEGER(0..59) + } OPTIONAL --Need OR +} + +DRX-Config-r13 ::= SEQUENCE { + onDurationTimer-v1310 ENUMERATED {psf300, psf400, psf500, psf600, + psf800, psf1000, psf1200, psf1600} + OPTIONAL, --Need OR + drx-RetransmissionTimer-v1310 ENUMERATED {psf40, psf64, psf80, psf96, psf112, + psf128, psf160, psf320} + OPTIONAL, --Need OR + drx-ULRetransmissionTimer-r13 ENUMERATED {psf0, psf1, psf2, psf4, psf6, psf8, psf16, + psf24, psf33, psf40, psf64, psf80, psf96, + psf112, psf128, psf160, psf320} + OPTIONAL --Need OR +} + +DRX-Config-r15 ::= SEQUENCE { + drx-RetransmissionTimerShortTTI-r15 ENUMERATED { + tti10, tti20, tti40, tti64, tti80, tti96, + tti112,tti128, tti160, tti320} OPTIONAL, --Need OR + drx-UL-RetransmissionTimerShortTTI-r15 ENUMERATED { + tti0, tti1, tti2, tti4, tti6, tti8, tti16, + tti24, tti33, tti40, tti64, tti80, tti96, tti112, + tti128, tti160, tti320} OPTIONAL --Need OR +} + +PeriodicBSR-Timer-r12 ::= ENUMERATED { + sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80, + sf128, sf160, sf320, sf640, sf1280, sf2560, + infinity, spare1} + +RetxBSR-Timer-r12 ::= ENUMERATED { + sf320, sf640, sf1280, sf2560, sf5120, + sf10240, spare2, spare1} + +STAG-ToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxSTAG-r11)) OF STAG-Id-r11 + +STAG-ToAddModList-r11 ::= SEQUENCE (SIZE (1..maxSTAG-r11)) OF STAG-ToAddMod-r11 + +STAG-ToAddMod-r11 ::= SEQUENCE { + stag-Id-r11 STAG-Id-r11, + timeAlignmentTimerSTAG-r11 TimeAlignmentTimer, + ... +} + +STAG-Id-r11::= INTEGER (1..maxSTAG-r11) + + +P-C-AndCBSR-r11 ::= SEQUENCE { + p-C-r11 INTEGER (-8..15), + codebookSubsetRestriction-r11 BIT STRING +} + +P-C-AndCBSR-r13 ::= SEQUENCE { + p-C-r13 INTEGER (-8..15), + cbsr-Selection-r13 CHOICE{ + nonPrecoded-r13 SEQUENCE { + codebookSubsetRestriction1-r13 BIT STRING, + codebookSubsetRestriction2-r13 BIT STRING + }, + beamformedK1a-r13 SEQUENCE { + codebookSubsetRestriction3-r13 BIT STRING + }, + beamformedKN-r13 SEQUENCE { + codebookSubsetRestriction-r13 BIT STRING + } + }, + ... +} + +P-C-AndCBSR-r15 ::= SEQUENCE { + p-C-r15 INTEGER (-8..15), + codebookSubsetRestriction4-r15 BIT STRING +} + +P-C-AndCBSR-Pair-r13a ::= SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r11 + +P-C-AndCBSR-Pair-r13 ::= SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r13 + +P-C-AndCBSR-Pair-r15 ::= SEQUENCE (SIZE (1..2)) OF P-C-AndCBSR-r15 + + +PDCCH-ConfigSCell-r13 ::= SEQUENCE { + skipMonitoringDCI-format0-1A-r13 ENUMERATED {true} OPTIONAL -- Need OR +} + +PDCCH-ConfigLAA-r14 ::= SEQUENCE { + maxNumberOfSchedSubframes-Format0B-r14 ENUMERATED {sf2, sf3, sf4} OPTIONAL, -- Need OR + maxNumberOfSchedSubframes-Format4B-r14 ENUMERATED {sf2, sf3, sf4} OPTIONAL, -- Need OR + skipMonitoringDCI-Format0A-r14 ENUMERATED {true} OPTIONAL, -- Need OR + skipMonitoringDCI-Format4A-r14 ENUMERATED {true} OPTIONAL, -- Need OR + pdcch-CandidateReductions-Format0A-r14 + PDCCH-CandidateReductions-r13 OPTIONAL, -- Need ON + pdcch-CandidateReductions-Format4A-r14 + PDCCH-CandidateReductionsLAA-UL-r14 OPTIONAL, -- Need ON + pdcch-CandidateReductions-Format0B-r14 + PDCCH-CandidateReductionsLAA-UL-r14 OPTIONAL, -- Need ON + pdcch-CandidateReductions-Format4B-r14 + PDCCH-CandidateReductionsLAA-UL-r14 OPTIONAL -- Need ON +} + +PDCCH-CandidateReductionValue-r13 ::= ENUMERATED {n0, n33, n66, n100} + +PDCCH-CandidateReductionValue-r14 ::= ENUMERATED {n0, n50, n100, n150} + +PDCCH-CandidateReductions-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + pdcch-candidateReductionAL1-r13 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL2-r13 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL3-r13 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL4-r13 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL5-r13 PDCCH-CandidateReductionValue-r13 + } +} + +PDCCH-CandidateReductionsLAA-UL-r14 ::= CHOICE { + release NULL, + setup SEQUENCE { + pdcch-candidateReductionAL1-r14 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL2-r14 PDCCH-CandidateReductionValue-r13, + pdcch-candidateReductionAL3-r14 PDCCH-CandidateReductionValue-r14, + pdcch-candidateReductionAL4-r14 PDCCH-CandidateReductionValue-r14, + pdcch-candidateReductionAL5-r14 PDCCH-CandidateReductionValue-r14 + } +} + + +PDCP-Config ::= SEQUENCE { + discardTimer ENUMERATED { + ms50, ms100, ms150, ms300, ms500, + ms750, ms1500, infinity + } OPTIONAL, -- Cond Setup + rlc-AM SEQUENCE { + statusReportRequired BOOLEAN + } OPTIONAL, -- Cond Rlc-AM-UM + rlc-UM SEQUENCE { + pdcp-SN-Size ENUMERATED {len7bits, len12bits} + } OPTIONAL, -- Cond Rlc-UM + headerCompression CHOICE { + notUsed NULL, + rohc SEQUENCE { + maxCID INTEGER (1..16383) DEFAULT 15, + profiles SEQUENCE { + profile0x0001 BOOLEAN, + profile0x0002 BOOLEAN, + profile0x0003 BOOLEAN, + profile0x0004 BOOLEAN, + profile0x0006 BOOLEAN, + profile0x0101 BOOLEAN, + profile0x0102 BOOLEAN, + profile0x0103 BOOLEAN, + profile0x0104 BOOLEAN + }, + ... + } + }, + ..., + [[ rn-IntegrityProtection-r10 ENUMERATED {enabled} OPTIONAL -- Cond RN + ]], + [[ pdcp-SN-Size-v1130 ENUMERATED {len15bits} OPTIONAL -- Cond Rlc-AM2 + ]], + [[ ul-DataSplitDRB-ViaSCG-r12 BOOLEAN OPTIONAL, -- Need ON + t-Reordering-r12 ENUMERATED { + ms0, ms20, ms40, ms60, ms80, ms100, ms120, ms140, + ms160, ms180, ms200, ms220, ms240, ms260, ms280, ms300, + ms500, ms750, spare14, spare13, spare12, spare11, spare10, + spare9, spare8, spare7, spare6, spare5, spare4, spare3, + spare2, spare1} OPTIONAL -- Cond SetupS + ]], + [[ ul-DataSplitThreshold-r13 CHOICE { + release NULL, + setup ENUMERATED { + b0, b100, b200, b400, b800, b1600, b3200, b6400, b12800, + b25600, b51200, b102400, b204800, b409600, b819200, + spare1} + } OPTIONAL, -- Need ON + pdcp-SN-Size-v1310 ENUMERATED {len18bits} OPTIONAL, -- Cond Rlc-AM3 + statusFeedback-r13 CHOICE { + release NULL, + setup SEQUENCE { + statusPDU-TypeForPolling-r13 ENUMERATED {type1, type2} OPTIONAL, -- Need ON + statusPDU-Periodicity-Type1-r13 ENUMERATED { + ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70, ms80, ms90, + ms100, ms150, ms200, ms300, ms500, ms1000, ms2000, ms5000, + ms10000, ms20000, ms50000} OPTIONAL, -- Need ON + statusPDU-Periodicity-Type2-r13 ENUMERATED { + ms5, ms10, ms20, ms30, ms40, ms50, ms60, ms70, ms80, ms90, + ms100, ms150, ms200, ms300, ms500, ms1000, ms2000, ms5000, + ms10000, ms20000, ms50000} OPTIONAL, -- Need ON + statusPDU-Periodicity-Offset-r13 ENUMERATED { + ms1, ms2, ms5, ms10, ms25, ms50, ms100, ms250, ms500, + ms2500, ms5000, ms25000} OPTIONAL -- Need ON + } + } OPTIONAL -- Need ON + ]], + [[ ul-LWA-Config-r14 CHOICE { + release NULL, + setup SEQUENCE { + ul-LWA-DRB-ViaWLAN-r14 BOOLEAN, + ul-LWA-DataSplitThreshold-r14 ENUMERATED { + b0, b100, b200, b400, b800, b1600, b3200, b6400, + b12800, b25600, b51200, b102400, b204800, b409600, + b819200 } OPTIONAL -- Need OR + } + } OPTIONAL, -- Need ON + uplinkOnlyHeaderCompression-r14 CHOICE { + notUsed-r14 NULL, + rohc-r14 SEQUENCE { + maxCID-r14 INTEGER (1..16383) DEFAULT 15, + profiles-r14 SEQUENCE { + profile0x0006-r14 BOOLEAN + }, + ... + } + } OPTIONAL -- Need ON + ]], + [[ uplinkDataCompression-r15 SEQUENCE { + bufferSize-r15 ENUMERATED {kbyte2, kbyte4, kbyte8, spare1}, + dictionary-r15 ENUMERATED {sip-SDP, operator} OPTIONAL, -- Need OR + ... + } OPTIONAL,-- Cond Rlc-AM4 + pdcp-DuplicationConfig-r15 CHOICE { + release NULL, + setup SEQUENCE { + pdcp-Duplication-r15 ENUMERATED {configured, activated} + } + } OPTIONAL -- Need ON + ]], + [[ + ethernetHeaderCompression-r16 SetupRelease {EthernetHeaderCompression-r16} OPTIONAL -- Need ON + ]] +} + +EthernetHeaderCompression-r16 ::= SEQUENCE { + ehc-Common-r16 SEQUENCE { + ehc-CID-Length-r16 ENUMERATED {bits7, bits15} + }, + ehc-Downlink-r16 SEQUENCE { + drb-ContinueEHC-DL-r16 ENUMERATED {true} OPTIONAL -- Need OR + } OPTIONAL,-- Need ON + ehc-Uplink-r16 SEQUENCE { + maxCID-EHC-UL-r16 INTEGER (1..32767), + drb-ContinueEHC-UL-r16 ENUMERATED {true} OPTIONAL -- Need OR + } OPTIONAL, -- Need ON + ... +} + + +PDSCH-ConfigCommon ::= SEQUENCE { + referenceSignalPower INTEGER (-60..50), + p-b INTEGER (0..3) +} + +PDSCH-ConfigCommon-v1310 ::= SEQUENCE { + pdsch-maxNumRepetitionCEmodeA-r13 ENUMERATED { + r16, r32 } OPTIONAL, -- Need OR + pdsch-maxNumRepetitionCEmodeB-r13 ENUMERATED { + r192, r256, r384, r512, r768, r1024, + r1536, r2048} OPTIONAL -- Need OR +} + +PDSCH-ConfigDedicated::= SEQUENCE { + p-a ENUMERATED { + dB-6, dB-4dot77, dB-3, dB-1dot77, + dB0, dB1, dB2, dB3} +} + +PDSCH-ConfigDedicated-v1130 ::= SEQUENCE { + dmrs-ConfigPDSCH-r11 DMRS-Config-r11 OPTIONAL, -- Need ON + qcl-Operation ENUMERATED {typeA, typeB} OPTIONAL, -- Need OR + re-MappingQCLConfigToReleaseList-r11 RE-MappingQCLConfigToReleaseList-r11 OPTIONAL, -- Need ON + re-MappingQCLConfigToAddModList-r11 RE-MappingQCLConfigToAddModList-r11 OPTIONAL -- Need ON +} + +PDSCH-ConfigDedicated-v1280 ::= SEQUENCE { + tbsIndexAlt-r12 ENUMERATED {a26, a33} OPTIONAL -- Need OR +} + +PDSCH-ConfigDedicated-v1310 ::= SEQUENCE { + dmrs-ConfigPDSCH-v1310 DMRS-Config-v1310 OPTIONAL -- Need ON +} + +PDSCH-ConfigDedicated-v1430 ::= SEQUENCE { + ce-PDSCH-MaxBandwidth-r14 ENUMERATED {bw5, bw20} OPTIONAL, -- Need OP + ce-PDSCH-TenProcesses-r14 ENUMERATED {on} OPTIONAL, -- Need OR + ce-HARQ-AckBundling-r14 ENUMERATED {on} OPTIONAL, -- Need OR + ce-SchedulingEnhancement-r14 ENUMERATED {range1, range2} OPTIONAL, -- Need OR + tbsIndexAlt2-r14 ENUMERATED {b33} OPTIONAL -- Need OR +} + +PDSCH-ConfigDedicated-v1530 ::= SEQUENCE { + qcl-Operation-v1530 ENUMERATED {typeC} OPTIONAL, -- Need OR + tbs-IndexAlt3-r15 ENUMERATED {a37} OPTIONAL, -- Need OR + ce-CQI-AlternativeTableConfig-r15 ENUMERATED {on} OPTIONAL, -- Need OR + ce-PDSCH-64QAM-Config-r15 ENUMERATED {on} OPTIONAL, -- Need OR + ce-PDSCH-FlexibleStartPRB-AllocConfig-r15 ENUMERATED {on} OPTIONAL, -- Need OR + altMCS-TableScalingConfig-r15 ENUMERATED {oDot5, oDot625, oDot75, oDot875} OPTIONAL -- Need OR +} + +PDSCH-ConfigDedicated-v1610 ::= SEQUENCE { + ce-PDSCH-MultiTB-Config-r16 SetupRelease {CE-PDSCH-MultiTB-Config-r16} +} + +PDSCH-ConfigDedicatedSCell-v1430 ::= SEQUENCE { + tbsIndexAlt2-r14 ENUMERATED {b33} OPTIONAL -- Need OR +} + +CE-PDSCH-MultiTB-Config-r16 ::= SEQUENCE { + interleaving-r16 ENUMERATED {on} OPTIONAL, -- Need OR + harq-AckBundling-r16 ENUMERATED {on} OPTIONAL -- Need OR +} + +RE-MappingQCLConfigToAddModList-r11 ::= SEQUENCE (SIZE (1..maxRE-MapQCL-r11)) OF PDSCH-RE-MappingQCL-Config-r11 + +RE-MappingQCLConfigToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxRE-MapQCL-r11)) OF PDSCH-RE-MappingQCL-ConfigId-r11 + +PDSCH-RE-MappingQCL-Config-r11 ::= SEQUENCE { + pdsch-RE-MappingQCL-ConfigId-r11 PDSCH-RE-MappingQCL-ConfigId-r11, + optionalSetOfFields-r11 SEQUENCE { + crs-PortsCount-r11 ENUMERATED {n1, n2, n4, spare1}, + crs-FreqShift-r11 INTEGER (0..5), + mbsfn-SubframeConfigList-r11 CHOICE { + release NULL, + setup SEQUENCE { + subframeConfigList MBSFN-SubframeConfigList + } + } OPTIONAL, -- Need ON + pdsch-Start-r11 ENUMERATED {reserved, n1, n2, n3, n4, assigned} + } OPTIONAL, -- Need OP + csi-RS-ConfigZPId-r11 CSI-RS-ConfigZPId-r11, + qcl-CSI-RS-ConfigNZPId-r11 CSI-RS-ConfigNZPId-r11 OPTIONAL, -- Need OR + ..., + [[ mbsfn-SubframeConfigList-v1430 CHOICE { + release NULL, + setup SEQUENCE { + subframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 + } + } OPTIONAL -- Need OP + ]], + [[ codewordOneConfig-v1530 CHOICE { + release NULL, + setup SEQUENCE { + crs-PortsCount-v1530 ENUMERATED {n1, n2, n4, spare1}, + crs-FreqShift-v1530 INTEGER (0..5), + mbsfn-SubframeConfigList-v1530 MBSFN-SubframeConfigList OPTIONAL, + mbsfn-SubframeConfigListExt-v1530 MBSFN-SubframeConfigList-v1430 OPTIONAL, + pdsch-Start-v1530 ENUMERATED {reserved, n1, n2, n3, n4, assigned}, + csi-RS-ConfigZPId-v1530 CSI-RS-ConfigZPId-r11, + qcl-CSI-RS-ConfigNZPId-v1530 CSI-RS-ConfigNZPId-r11 OPTIONAL + } + } OPTIONAL -- Cond TypeC + ]] +} + + +PDSCH-RE-MappingQCL-ConfigId-r11 ::= INTEGER (1..maxRE-MapQCL-r11) + +PerCC-GapIndicationList-r14 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF PerCC-GapIndication-r14 + +PerCC-GapIndication-r14 ::= SEQUENCE { + servCellId-r14 ServCellIndex-r13, + gapIndication-r14 ENUMERATED {gap, ncsg, nogap-noNcsg} +} + + +PHICH-Config ::= SEQUENCE { + phich-Duration ENUMERATED {normal, extended}, + phich-Resource ENUMERATED {oneSixth, half, one, two} +} + + +PhysicalConfigDedicated ::= SEQUENCE { + pdsch-ConfigDedicated PDSCH-ConfigDedicated OPTIONAL, -- Need ON + pucch-ConfigDedicated PUCCH-ConfigDedicated OPTIONAL, -- Need ON + pusch-ConfigDedicated PUSCH-ConfigDedicated OPTIONAL, -- Need ON + uplinkPowerControlDedicated UplinkPowerControlDedicated OPTIONAL, -- Need ON + tpc-PDCCH-ConfigPUCCH TPC-PDCCH-Config OPTIONAL, -- Need ON + tpc-PDCCH-ConfigPUSCH TPC-PDCCH-Config OPTIONAL, -- Need ON + cqi-ReportConfig CQI-ReportConfig OPTIONAL, -- Cond CQI-r8 + soundingRS-UL-ConfigDedicated SoundingRS-UL-ConfigDedicated OPTIONAL, -- Need ON + antennaInfo CHOICE { + explicitValue AntennaInfoDedicated, + defaultValue NULL + } OPTIONAL, -- Cond AI-r8 + schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need ON + ..., + [[ cqi-ReportConfig-v920 CQI-ReportConfig-v920 OPTIONAL, -- Cond CQI-r8 + antennaInfo-v920 AntennaInfoDedicated-v920 OPTIONAL -- Cond AI-r8 + ]], + [[ antennaInfo-r10 CHOICE { + explicitValue-r10 AntennaInfoDedicated-r10, + defaultValue NULL + } OPTIONAL, -- Cond AI-r10 + antennaInfoUL-r10 AntennaInfoUL-r10 OPTIONAL, -- Need ON + cif-Presence-r10 BOOLEAN OPTIONAL, -- Need ON + cqi-ReportConfig-r10 CQI-ReportConfig-r10 OPTIONAL, -- Cond CQI-r10 + csi-RS-Config-r10 CSI-RS-Config-r10 OPTIONAL, -- Need ON + pucch-ConfigDedicated-v1020 PUCCH-ConfigDedicated-v1020 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1020 PUSCH-ConfigDedicated-v1020 OPTIONAL, -- Need ON + schedulingRequestConfig-v1020 SchedulingRequestConfig-v1020 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-v1020 + SoundingRS-UL-ConfigDedicated-v1020 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodic-r10 + SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL, -- Need ON + uplinkPowerControlDedicated-v1020 + UplinkPowerControlDedicated-v1020 OPTIONAL -- Need ON + ]], + [[ additionalSpectrumEmissionCA-r10 CHOICE { + release NULL, + setup SEQUENCE { + additionalSpectrumEmissionPCell-r10 AdditionalSpectrumEmission + } + } OPTIONAL -- Need ON + ]], + [[ -- DL configuration as well as configuration applicable for DL and UL + csi-RS-ConfigNZPToReleaseList-r11 + CSI-RS-ConfigNZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToAddModList-r11 + CSI-RS-ConfigNZPToAddModList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToReleaseList-r11 + CSI-RS-ConfigZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToAddModList-r11 CSI-RS-ConfigZPToAddModList-r11 OPTIONAL, -- Need ON + epdcch-Config-r11 EPDCCH-Config-r11 OPTIONAL, -- Need ON + pdsch-ConfigDedicated-v1130 PDSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + -- UL configuration + cqi-ReportConfig-v1130 CQI-ReportConfig-v1130 OPTIONAL, -- Need ON + pucch-ConfigDedicated-v1130 PUCCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1130 PUSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + uplinkPowerControlDedicated-v1130 + UplinkPowerControlDedicated-v1130 OPTIONAL -- Need ON + ]], + [[ antennaInfo-v1250 AntennaInfoDedicated-v1250 OPTIONAL, -- Cond AI-r10 + eimta-MainConfig-r12 EIMTA-MainConfig-r12 OPTIONAL, -- Need ON + eimta-MainConfigPCell-r12 EIMTA-MainConfigServCell-r12 OPTIONAL, -- Need ON + pucch-ConfigDedicated-v1250 PUCCH-ConfigDedicated-v1250 OPTIONAL, -- Need ON + cqi-ReportConfigPCell-v1250 CQI-ReportConfig-v1250 OPTIONAL, -- Need ON + uplinkPowerControlDedicated-v1250 + UplinkPowerControlDedicated-v1250 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1250 PUSCH-ConfigDedicated-v1250 OPTIONAL, -- Need ON + csi-RS-Config-v1250 CSI-RS-Config-v1250 OPTIONAL -- Need ON + ]], + [[ pdsch-ConfigDedicated-v1280 PDSCH-ConfigDedicated-v1280 OPTIONAL -- Need ON + ]], + [[ pdsch-ConfigDedicated-v1310 PDSCH-ConfigDedicated-v1310 OPTIONAL, -- Need ON + pucch-ConfigDedicated-r13 PUCCH-ConfigDedicated-r13 OPTIONAL, -- Need ON + pusch-ConfigDedicated-r13 PUSCH-ConfigDedicated-r13 OPTIONAL, -- Need ON + pdcch-CandidateReductions-r13 + PDCCH-CandidateReductions-r13 OPTIONAL, -- Need ON + cqi-ReportConfig-v1310 CQI-ReportConfig-v1310 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-v1310 + SoundingRS-UL-ConfigDedicated-v1310 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedUpPTsExt-r13 + SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodic-v1310 + SoundingRS-UL-ConfigDedicatedAperiodic-v1310 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 + SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 OPTIONAL, -- Need ON + csi-RS-Config-v1310 CSI-RS-Config-v1310 OPTIONAL, -- Need ON + ce-Mode-r13 CHOICE { + release NULL, + setup ENUMERATED {ce-ModeA,ce-ModeB} + } OPTIONAL, -- Need ON + csi-RS-ConfigNZPToAddModListExt-r13 CSI-RS-ConfigNZPToAddModListExt-r13 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToReleaseListExt-r13 CSI-RS-ConfigNZPToReleaseListExt-r13 OPTIONAL -- Need ON + ]], + [[ cqi-ReportConfig-v1320 CQI-ReportConfig-v1320 OPTIONAL -- Need ON + ]], + [[ typeA-SRS-TPC-PDCCH-Group-r14 CHOICE { + release NULL, + setup SEQUENCE (SIZE (1..32)) OF SRS-TPC-PDCCH-Config-r14 + } OPTIONAL, -- Need ON + must-Config-r14 CHOICE{ + release NULL, + setup SEQUENCE { + k-max-r14 ENUMERATED {l1, l3}, + p-a-must-r14 ENUMERATED { + dB-6, dB-4dot77, dB-3, dB-1dot77, + dB0, dB1, dB2, dB3} OPTIONAL -- Need ON + } + } OPTIONAL, -- Need ON + pusch-EnhancementsConfig-r14 PUSCH-EnhancementsConfig-r14 OPTIONAL, -- Need ON + ce-pdsch-pusch-EnhancementConfig-r14 ENUMERATED {on} OPTIONAL, -- Need OR + antennaInfo-v1430 AntennaInfoDedicated-v1430 OPTIONAL, -- Need ON + pucch-ConfigDedicated-v1430 PUCCH-ConfigDedicated-v1430 OPTIONAL, -- Need ON + pdsch-ConfigDedicated-v1430 PDSCH-ConfigDedicated-v1430 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1430 PUSCH-ConfigDedicated-v1430 OPTIONAL, -- Need ON + soundingRS-UL-PeriodicConfigDedicatedList-r14 SEQUENCE (SIZE (1..2)) OF SoundingRS-UL-ConfigDedicated OPTIONAL, -- Cond PeriodicSRSPCell + soundingRS-UL-PeriodicConfigDedicatedUpPTsExtList-r14 SEQUENCE (SIZE (1..4)) OF SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Cond PeriodicSRSExt + soundingRS-UL-AperiodicConfigDedicatedList-r14 SEQUENCE (SIZE (1..2)) OF SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL, -- Cond AperiodicSRS + soundingRS-UL-ConfigDedicatedApUpPTsExtList-r14 SEQUENCE (SIZE (1..4)) OF SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 OPTIONAL, -- Cond AperiodicSRSExt + csi-RS-Config-v1430 CSI-RS-Config-v1430 OPTIONAL, -- Need ON + csi-RS-ConfigZP-ApList-r14 CSI-RS-ConfigZP-ApList-r14 OPTIONAL, -- Need ON + cqi-ReportConfig-v1430 CQI-ReportConfig-v1430 OPTIONAL, -- Need ON + semiOpenLoop-r14 BOOLEAN OPTIONAL -- Need ON + ]], + [[ csi-RS-Config-v1480 CSI-RS-Config-v1480 OPTIONAL -- Need ON + ]], + [[ physicalConfigDedicatedSTTI-r15 PhysicalConfigDedicatedSTTI-r15 OPTIONAL,-- Need ON + pdsch-ConfigDedicated-v1530 PDSCH-ConfigDedicated-v1530 OPTIONAL,-- Need ON + pusch-ConfigDedicated-v1530 PUSCH-ConfigDedicated-v1530 OPTIONAL,-- Need ON + cqi-ReportConfig-v1530 CQI-ReportConfig-v1530 OPTIONAL,-- Need ON + antennaInfo-v1530 AntennaInfoDedicated-v1530 OPTIONAL,-- Need ON + csi-RS-Config-v1530 CSI-RS-Config-v1530 OPTIONAL,-- Need ON + uplinkPowerControlDedicated-v1530 + UplinkPowerControlDedicated-v1530 OPTIONAL, -- Need ON + semiStaticCFI-Config-r15 CHOICE{ + release NULL, + setup CHOICE{ + cfi-Config-r15 CFI-Config-r15, + cfi-PatternConfig-r15 CFI-PatternConfig-r15 + } + } OPTIONAL, -- Need ON + blindPDSCH-Repetition-Config-r15 CHOICE{ + release NULL, + setup SEQUENCE { + blindSubframePDSCH-Repetitions-r15 BOOLEAN, + blindSlotSubslotPDSCH-Repetitions-r15 BOOLEAN, + maxNumber-SubframePDSCH-Repetitions-r15 ENUMERATED {n4,n6} OPTIONAL, -- Need ON + maxNumber-SlotSubslotPDSCH-Repetitions-r15 ENUMERATED {n4,n6} OPTIONAL, -- Need ON + rv-SubframePDSCH-Repetitions-r15 ENUMERATED {dlrvseq1, dlrvseq2} OPTIONAL, -- Need ON + rv-SlotsublotPDSCH-Repetitions-r15 ENUMERATED {dlrvseq1, dlrvseq2} OPTIONAL, -- Need ON + numberOfProcesses-SubframePDSCH-Repetitions-r15 INTEGER(1..16) OPTIONAL, -- Need ON + numberOfProcesses-SlotSubslotPDSCH-Repetitions-r15 INTEGER(1..16) OPTIONAL, -- Need ON + mcs-restrictionSubframePDSCH-Repetitions-r15 ENUMERATED {n0, n1} OPTIONAL, -- Need ON + mcs-restrictionSlotSubslotPDSCH-Repetitions-r15 ENUMERATED {n0, n1} OPTIONAL -- Need ON + } + } OPTIONAL -- Need ON + ]], + [[ spucch-Config-v1550 SPUCCH-Config-v1550 OPTIONAL -- Need ON + ]], + [[ pdsch-ConfigDedicated-v1610 PDSCH-ConfigDedicated-v1610 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1610 PUSCH-ConfigDedicated-v1610 OPTIONAL, -- Need ON + ce-CSI-RS-Feedback-r16 ENUMERATED {enabled} OPTIONAL, -- Need OR + resourceReservationConfigDedicatedDL-r16 SetupRelease {ResourceReservationConfigDedicatedDL-r16} OPTIONAL, -- Need ON + resourceReservationConfigDedicatedUL-r16 SetupRelease {ResourceReservationConfigDedicatedUL-r16} OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAdd-r16 SetupRelease {SoundingRS-UL-ConfigDedicatedAdd-r16} + OPTIONAL, -- Need ON + uplinkPowerControlAddSRS-r16 SetupRelease {UplinkPowerControlAddSRS-r16} OPTIONAL, -- Need ON + soundingRS-VirtualCellID-r16 SetupRelease {SoundingRS-VirtualCellID-r16} OPTIONAL, -- Need ON + widebandPRG-r16 SetupRelease {WidebandPRG-r16} OPTIONAL -- Need ON + ]] +} + +PhysicalConfigDedicated-v1370 ::= SEQUENCE { + pucch-ConfigDedicated-v1370 PUCCH-ConfigDedicated-v1370 OPTIONAL -- Cond PUCCH-Format4or5 +} + +PhysicalConfigDedicated-v13c0 ::= SEQUENCE { + pucch-ConfigDedicated-v13c0 PUCCH-ConfigDedicated-v13c0 +} + +PhysicalConfigDedicatedSCell-r10 ::= SEQUENCE { + -- DL configuration as well as configuration applicable for DL and UL + nonUL-Configuration-r10 SEQUENCE { + antennaInfo-r10 + AntennaInfoDedicated-r10 OPTIONAL, -- Need ON + crossCarrierSchedulingConfig-r10 + CrossCarrierSchedulingConfig-r10 OPTIONAL, -- Need ON + csi-RS-Config-r10 CSI-RS-Config-r10 OPTIONAL, -- Need ON + pdsch-ConfigDedicated-r10 PDSCH-ConfigDedicated OPTIONAL -- Need ON + } OPTIONAL, -- Cond SCellAdd + -- UL configuration + ul-Configuration-r10 SEQUENCE { + antennaInfoUL-r10 AntennaInfoUL-r10 OPTIONAL, -- Need ON + pusch-ConfigDedicatedSCell-r10 + PUSCH-ConfigDedicatedSCell-r10 OPTIONAL, -- Cond PUSCH-SCell1 + uplinkPowerControlDedicatedSCell-r10 + UplinkPowerControlDedicatedSCell-r10 OPTIONAL, -- Need ON + cqi-ReportConfigSCell-r10 CQI-ReportConfigSCell-r10 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-r10 + SoundingRS-UL-ConfigDedicated OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-v1020 + SoundingRS-UL-ConfigDedicated-v1020 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodic-r10 + SoundingRS-UL-ConfigDedicatedAperiodic-r10 OPTIONAL -- Need ON + } OPTIONAL, -- Cond CommonUL + ..., + [[ -- DL configuration as well as configuration applicable for DL and UL + csi-RS-ConfigNZPToReleaseList-r11 + CSI-RS-ConfigNZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToAddModList-r11 + CSI-RS-ConfigNZPToAddModList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToReleaseList-r11 + CSI-RS-ConfigZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToAddModList-r11 + CSI-RS-ConfigZPToAddModList-r11 OPTIONAL, -- Need ON + epdcch-Config-r11 EPDCCH-Config-r11 OPTIONAL, -- Need ON + pdsch-ConfigDedicated-v1130 PDSCH-ConfigDedicated-v1130 OPTIONAL, -- Need ON + -- UL configuration + cqi-ReportConfig-v1130 CQI-ReportConfig-v1130 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1130 + PUSCH-ConfigDedicated-v1130 OPTIONAL, -- Cond PUSCH-SCell1 + uplinkPowerControlDedicatedSCell-v1130 + UplinkPowerControlDedicated-v1130 OPTIONAL -- Need ON + ]], + [[ antennaInfo-v1250 AntennaInfoDedicated-v1250 OPTIONAL, -- Need ON + eimta-MainConfigSCell-r12 + EIMTA-MainConfigServCell-r12 OPTIONAL, -- Need ON + cqi-ReportConfigSCell-v1250 CQI-ReportConfig-v1250 OPTIONAL, -- Need ON + uplinkPowerControlDedicatedSCell-v1250 + UplinkPowerControlDedicated-v1250 OPTIONAL, -- Need ON + csi-RS-Config-v1250 CSI-RS-Config-v1250 OPTIONAL -- Need ON + ]], + [[ pdsch-ConfigDedicated-v1280 PDSCH-ConfigDedicated-v1280 OPTIONAL -- Need ON + ]], + [[ pucch-Cell-r13 ENUMERATED {true} OPTIONAL, -- Cond PUCCH-SCell1 + pucch-SCell CHOICE{ + release NULL, + setup SEQUENCE { + pucch-ConfigDedicated-r13 + PUCCH-ConfigDedicated-r13 OPTIONAL, -- Need ON + schedulingRequestConfig-r13 + SchedulingRequestConfigSCell-r13 OPTIONAL, -- Need ON + tpc-PDCCH-ConfigPUCCH-SCell-r13 + TPC-PDCCH-ConfigSCell-r13 OPTIONAL, -- Need ON + pusch-ConfigDedicated-r13 + PUSCH-ConfigDedicated-r13 OPTIONAL, -- Cond PUSCH-SCell + uplinkPowerControlDedicated-r13 + UplinkPowerControlDedicatedSCell-v1310 OPTIONAL -- Need ON + } + } OPTIONAL, -- Need ON + crossCarrierSchedulingConfig-r13 + CrossCarrierSchedulingConfig-r13 OPTIONAL, -- Cond Cross-Carrier-Config + pdcch-ConfigSCell-r13 PDCCH-ConfigSCell-r13 OPTIONAL, -- Need ON + cqi-ReportConfig-v1310 CQI-ReportConfig-v1310 OPTIONAL, -- Need ON + pdsch-ConfigDedicated-v1310 PDSCH-ConfigDedicated-v1310 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicated-v1310 + SoundingRS-UL-ConfigDedicated-v1310 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedUpPTsExt-r13 + SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodic-v1310 + SoundingRS-UL-ConfigDedicatedAperiodic-v1310 OPTIONAL, -- Need ON + soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 + SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 OPTIONAL, -- Need ON + csi-RS-Config-v1310 CSI-RS-Config-v1310 OPTIONAL, -- Need ON + laa-SCellConfiguration-r13 LAA-SCellConfiguration-r13 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToAddModListExt-r13 CSI-RS-ConfigNZPToAddModListExt-r13 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToReleaseListExt-r13 CSI-RS-ConfigNZPToReleaseListExt-r13 OPTIONAL -- Need ON + ]], + [[ cqi-ReportConfig-v1320 CQI-ReportConfig-v1320 OPTIONAL -- Need ON + ]], + [[ laa-SCellConfiguration-v1430 LAA-SCellConfiguration-v1430 + OPTIONAL, -- Need ON + typeB-SRS-TPC-PDCCH-Config-r14 SRS-TPC-PDCCH-Config-r14 OPTIONAL, -- Need ON + + uplinkPUSCH-LessPowerControlDedicated-v1430 UplinkPUSCH-LessPowerControlDedicated-v1430 OPTIONAL, -- Need ON + soundingRS-UL-PeriodicConfigDedicatedList-r14 SEQUENCE (SIZE (1..2)) OF SoundingRS-UL-ConfigDedicated OPTIONAL, -- Cond PeriodicSRS + soundingRS-UL-PeriodicConfigDedicatedUpPTsExtList-r14 SEQUENCE (SIZE (1..4)) OF SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 OPTIONAL, -- Cond PeriodicSRSExt + soundingRS-UL-AperiodicConfigDedicatedList-r14 SEQUENCE (SIZE (1..2)) OF SoundingRS-AperiodicSet-r14 OPTIONAL, -- Cond AperiodicSRS + soundingRS-UL-ConfigDedicatedApUpPTsExtList-r14 SEQUENCE (SIZE (1..4)) OF SoundingRS-AperiodicSetUpPTsExt-r14 OPTIONAL, -- Cond AperiodicSRSExt + must-Config-r14 CHOICE{ + release NULL, + setup SEQUENCE { + k-max-r14 ENUMERATED {l1, l3}, + p-a-must-r14 ENUMERATED { + dB-6, dB-4dot77, dB-3, dB-1dot77, + dB0, dB1, dB2, dB3} OPTIONAL -- Need ON + } + } OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1430 PUSCH-ConfigDedicatedSCell-v1430 OPTIONAL, -- Need ON + csi-RS-Config-v1430 CSI-RS-Config-v1430 OPTIONAL, -- Need ON + csi-RS-ConfigZP-ApList-r14 CSI-RS-ConfigZP-ApList-r14 OPTIONAL, -- Need ON + cqi-ReportConfig-v1430 CQI-ReportConfig-v1430 OPTIONAL, -- Need ON + semiOpenLoop-r14 BOOLEAN OPTIONAL, -- Need ON + pdsch-ConfigDedicatedSCell-v1430 PDSCH-ConfigDedicatedSCell-v1430 OPTIONAL -- Need ON + ]], + [[ csi-RS-Config-v1480 CSI-RS-Config-v1480 OPTIONAL -- Need ON + ]], + [[ physicalConfigDedicatedSTTI-r15 PhysicalConfigDedicatedSTTI-r15 OPTIONAL, -- Need ON + pdsch-ConfigDedicated-v1530 PDSCH-ConfigDedicated-v1530 OPTIONAL, -- Need ON + dummy CQI-ReportConfig-v1530 OPTIONAL, -- Need ON + cqi-ReportConfigSCell-r15 CQI-ReportConfigSCell-r15 OPTIONAL, -- Need ON + cqi-ShortConfigSCell-r15 CQI-ShortConfigSCell-r15 OPTIONAL, -- Need ON + csi-RS-Config-v1530 CSI-RS-Config-v1530 OPTIONAL, -- Need ON + uplinkPowerControlDedicatedSCell-v1530 + UplinkPowerControlDedicated-v1530 OPTIONAL, -- Need ON + laa-SCellConfiguration-v1530 LAA-SCellConfiguration-v1530 OPTIONAL, -- Need ON + pusch-ConfigDedicated-v1530 PUSCH-ConfigDedicatedScell-v1530 OPTIONAL, -- Cond AUL + semiStaticCFI-Config-r15 CHOICE{ + release NULL, + setup CHOICE{ + cfi-Config-r15 CFI-Config-r15, + cfi-PatternConfig-r15 CFI-PatternConfig-r15 + } + } OPTIONAL, -- Need ON + blindPDSCH-Repetition-Config-r15 CHOICE{ + release NULL, + setup SEQUENCE { + blindSubframePDSCH-Repetitions-r15 BOOLEAN, + blindSlotSubslotPDSCH-Repetitions-r15 BOOLEAN, + maxNumber-SubframePDSCH-Repetitions-r15 ENUMERATED {n4,n6} OPTIONAL, -- Need ON + maxNumber-SlotSubslotPDSCH-Repetitions-r15 ENUMERATED {n4,n6} OPTIONAL, -- Need ON + rv-SubframePDSCH-Repetitions-r15 ENUMERATED {dlrvseq1, dlrvseq2} OPTIONAL, -- Need ON + rv-SlotsublotPDSCH-Repetitions-r15 ENUMERATED {dlrvseq1, dlrvseq2} OPTIONAL, -- Need ON + numberOfProcesses-SubframePDSCH-Repetitions-r15 INTEGER(1..16) OPTIONAL, -- Need ON + numberOfProcesses-SlotSubslotPDSCH-Repetitions-r15 INTEGER(1..16) OPTIONAL, -- Need ON + mcs-restrictionSubframePDSCH-Repetitions-r15 ENUMERATED {n0, n1} OPTIONAL, -- Need ON + mcs-restrictionSlotSubslotPDSCH-Repetitions-r15 ENUMERATED {n0, n1} OPTIONAL -- Need ON + } + } OPTIONAL -- Need ON + ]], + [[ spucch-Config-v1550 SPUCCH-Config-v1550 OPTIONAL -- Need ON + ]], + [[ soundingRS-UL-ConfigDedicatedAdd-r16 SetupRelease {SoundingRS-UL-ConfigDedicatedAdd-r16} + OPTIONAL, -- Need ON + uplinkPowerControlAddSRS-r16 SetupRelease {UplinkPowerControlAddSRS-r16} + OPTIONAL, -- Need ON + soundingRS-VirtualCellID-r16 SetupRelease {SoundingRS-VirtualCellID-r16} + OPTIONAL, -- Need ON + widebandPRG-r16 SetupRelease {WidebandPRG-r16} OPTIONAL -- Need ON + ]] +} + +PhysicalConfigDedicatedSCell-v1370 ::= SEQUENCE { + pucch-SCell-v1370 CHOICE{ + release NULL, + setup SEQUENCE { + pucch-ConfigDedicated-v1370 PUCCH-ConfigDedicated-v1370 OPTIONAL -- Cond PUCCH-Format4or5 + } + } +} + +PhysicalConfigDedicatedSCell-v13c0 ::= SEQUENCE { + pucch-SCell-v13c0 CHOICE{ + release NULL, + setup SEQUENCE { + pucch-ConfigDedicated-v13c0 PUCCH-ConfigDedicated-v13c0 + } + } +} + +CFI-Config-r15 ::= SEQUENCE { + cfi-SubframeNonMBSFN-r15 INTEGER (1..4) OPTIONAL, -- Need ON + cfi-SlotSubslotNonMBSFN-r15 INTEGER (1..3) OPTIONAL, -- Need ON + cfi-SubframeMBSFN-r15 INTEGER (1..2) OPTIONAL, -- Need ON + cfi-SlotSubslotMBSFN-r15 INTEGER (1..2) OPTIONAL -- Need ON +} + +CFI-PatternConfig-r15 ::= SEQUENCE { + cfi-PatternSubframe-r15 SEQUENCE (SIZE(10)) OF INTEGER (1..4) OPTIONAL, -- Need ON + cfi-PatternSlotSubslot-r15 SEQUENCE (SIZE(10)) OF INTEGER (1..3) OPTIONAL -- Need ON +} + +LAA-SCellConfiguration-r13 ::= SEQUENCE { + subframeStartPosition-r13 ENUMERATED {s0, s07}, + laa-SCellSubframeConfig-r13 BIT STRING (SIZE(8)) +} + +LAA-SCellConfiguration-v1430 ::= SEQUENCE { + crossCarrierSchedulingConfig-UL-r14 CHOICE { + release NULL, + setup SEQUENCE { + crossCarrierSchedulingConfigLAA-UL-r14 CrossCarrierSchedulingConfigLAA-UL-r14 + } + } OPTIONAL, -- Cond Cross-Carrier-ConfigUL + lbt-Config-r14 LBT-Config-r14 OPTIONAL, -- Need ON + pdcch-ConfigLAA-r14 PDCCH-ConfigLAA-r14 OPTIONAL, -- Need ON + absenceOfAnyOtherTechnology-r14 ENUMERATED {true} OPTIONAL, -- Need OR + soundingRS-UL-ConfigDedicatedAperiodic-v1430 + SoundingRS-UL-ConfigDedicatedAperiodic-v1430 OPTIONAL -- Need ON +} + +LAA-SCellConfiguration-v1530 ::= SEQUENCE { + aul-Config-r15 AUL-Config-r15 OPTIONAL, -- Need ON + pusch-ModeConfigLAA-r15 PUSCH-ModeConfigLAA-r15 OPTIONAL -- Need OR +} + +PUSCH-ModeConfigLAA-r15 ::= SEQUENCE { + laa-PUSCH-Mode1 BOOLEAN, + laa-PUSCH-Mode2 BOOLEAN, + laa-PUSCH-Mode3 BOOLEAN +} + +LBT-Config-r14 ::= CHOICE{ + maxEnergyDetectionThreshold-r14 INTEGER(-85..-52), + energyDetectionThresholdOffset-r14 INTEGER(-13..20) +} + + +CSI-RS-ConfigNZPToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r11)) OF CSI-RS-ConfigNZP-r11 + +CSI-RS-ConfigNZPToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-v1310)) OF CSI-RS-ConfigNZP-r11 + +CSI-RS-ConfigNZPToAddModList-r15 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r13)) OF CSI-RS-ConfigNZP-r11 + +CSI-RS-ConfigNZPToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r11)) OF CSI-RS-ConfigNZPId-r11 + +CSI-RS-ConfigNZPToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-v1310)) OF CSI-RS-ConfigNZPId-v1310 + +CSI-RS-ConfigNZPToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxCSI-RS-NZP-r13)) OF CSI-RS-ConfigNZPId-r13 + +CSI-RS-ConfigZPToAddModList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-ZP-r11)) OF CSI-RS-ConfigZP-r11 + +CSI-RS-ConfigZPToReleaseList-r11 ::= SEQUENCE (SIZE (1..maxCSI-RS-ZP-r11)) OF CSI-RS-ConfigZPId-r11 + +PhysicalConfigDedicatedSTTI-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + antennaInfoDedicatedSTTI-r15 AntennaInfoDedicatedSTTI-r15 OPTIONAL, -- Need ON + antennaInfoUL-STTI-r15 AntennaInfoUL-STTI-r15 OPTIONAL, -- Need ON + pucch-ConfigDedicated-v1530 PUCCH-ConfigDedicated-v1530 OPTIONAL, -- Need ON + schedulingRequestConfig-v1530 SchedulingRequestConfig-v1530 OPTIONAL, -- Need ON + uplinkPowerControlDedicatedSTTI-r15 UplinkPowerControlDedicatedSTTI-r15 OPTIONAL, --Need ON + cqi-ReportConfig-r15 CQI-ReportConfig-r15 OPTIONAL, -- Need ON + csi-RS-Config-r15 CSI-RS-Config-r15 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToReleaseList-r15 CSI-RS-ConfigNZPToReleaseList-r15 OPTIONAL, -- Need ON + csi-RS-ConfigNZPToAddModList-r15 CSI-RS-ConfigNZPToAddModList-r15 OPTIONAL, -- Need ON + csi-RS-ConfigZPToReleaseList-r15 CSI-RS-ConfigZPToReleaseList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZPToAddModList-r11 CSI-RS-ConfigZPToAddModList-r11 OPTIONAL, -- Need ON + csi-RS-ConfigZP-ApList-r15 CSI-RS-ConfigZP-ApList-r14 OPTIONAL, -- Need ON + eimta-MainConfig-r12 EIMTA-MainConfig-r12 OPTIONAL, -- Need ON + eimta-MainConfigServCell-r15 EIMTA-MainConfigServCell-r12 OPTIONAL, -- Need ON + semiOpenLoopSTTI-r15 BOOLEAN, + slotOrSubslotPDSCH-Config-r15 SlotOrSubslotPDSCH-Config-r15 OPTIONAL, -- Need ON + slotOrSubslotPUSCH-Config-r15 SlotOrSubslotPUSCH-Config-r15 OPTIONAL, -- Need ON + spdcch-Config-r15 SPDCCH-Config-r15 OPTIONAL, -- Need ON + spucch-Config-r15 SPUCCH-Config-r15 OPTIONAL, -- Need ON + srs-DCI7-TriggeringConfig-r15 BOOLEAN, + shortProcessingTime-r15 BOOLEAN, + shortTTI-r15 ShortTTI-r15 OPTIONAL -- Need ON + } +} + +SoundingRS-AperiodicSet-r14 ::= SEQUENCE{ + srs-CC-SetIndexList-r14 + SEQUENCE (SIZE (1..4)) OF SRS-CC-SetIndex-r14 + OPTIONAL, -- Cond SRS-Trigger-TypeA + soundingRS-UL-ConfigDedicatedAperiodic-r14 + SoundingRS-UL-ConfigDedicatedAperiodic-r10 +} + +SoundingRS-AperiodicSetUpPTsExt-r14 ::= SEQUENCE{ + srs-CC-SetIndexList-r14 + SEQUENCE (SIZE (1..4)) OF SRS-CC-SetIndex-r14 + OPTIONAL, -- Cond SRS-Trigger-TypeA + soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r14 + SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 +} + +ShortTTI-r15 ::= SEQUENCE { + dl-STTI-Length-r15 ShortTTI-Length-r15 OPTIONAL, -- Need OR + ul-STTI-Length-r15 ShortTTI-Length-r15 OPTIONAL -- Need OR +} + +ShortTTI-Length-r15 ::= ENUMERATED {slot, subslot} + +SoundingRS-VirtualCellID-r16 ::= SEQUENCE { + srs-VirtualCellID-r16 INTEGER (0..503), + srs-VirtualCellID-AllSRS-r16 BOOLEAN +} + + +WidebandPRG-r16 ::= SEQUENCE { + widebandPRG-Subframe-r16 BOOLEAN, + widebandPRG-SlotSubslot-r16 BOOLEAN +} + +ResourceReservationConfigDedicatedDL-r16 ::= SEQUENCE { + resourceReservationDedicatedDL-r16 ResourceReservationConfigDL-r16 OPTIONAL -- Need OP +} + +ResourceReservationConfigDedicatedUL-r16 ::= SEQUENCE { + resourceReservationDedicatedUL-r16 ResourceReservationConfigUL-r16 OPTIONAL -- Need OP +} + + +P-Max ::= INTEGER (-30..33) + + +PRACH-ConfigSIB ::= SEQUENCE { + rootSequenceIndex INTEGER (0..837), + prach-ConfigInfo PRACH-ConfigInfo +} + +PRACH-ConfigSIB-v1310 ::= SEQUENCE { + rsrp-ThresholdsPrachInfoList-r13 RSRP-ThresholdsPrachInfoList-r13, + mpdcch-startSF-CSS-RA-r13 CHOICE { + fdd-r13 ENUMERATED {v1, v1dot5, v2, v2dot5, v4, v5, v8, + v10}, + tdd-r13 ENUMERATED {v1, v2, v4, v5, v8, v10, v20, spare} + } OPTIONAL, -- Cond MP + prach-HoppingOffset-r13 INTEGER (0..94) OPTIONAL, -- Need OR + prach-ParametersListCE-r13 PRACH-ParametersListCE-r13 +} + +PRACH-ConfigSIB-v1530 ::= SEQUENCE { + edt-PRACH-ParametersListCE-r15 SEQUENCE (SIZE(1..maxCE-Level-r13)) OF EDT-PRACH-ParametersCE-r15 +} + +PRACH-Config ::= SEQUENCE { + rootSequenceIndex INTEGER (0..837), + prach-ConfigInfo PRACH-ConfigInfo OPTIONAL -- Need ON +} + +PRACH-Config-v1310 ::= SEQUENCE { + rsrp-ThresholdsPrachInfoList-r13 RSRP-ThresholdsPrachInfoList-r13 OPTIONAL, -- Cond MP + mpdcch-startSF-CSS-RA-r13 CHOICE { + fdd-r13 ENUMERATED {v1, v1dot5, v2, v2dot5, v4, v5, v8, + v10}, + tdd-r13 ENUMERATED {v1, v2, v4, v5, v8, v10, v20, spare} + } OPTIONAL, -- Cond MP + prach-HoppingOffset-r13 INTEGER (0..94) OPTIONAL, -- Need OR + prach-ParametersListCE-r13 PRACH-ParametersListCE-r13 OPTIONAL, -- Cond MP + initial-CE-level-r13 INTEGER (0..3) OPTIONAL -- Need OR +} + +PRACH-Config-v1430 ::= SEQUENCE { + rootSequenceIndexHighSpeed-r14 INTEGER (0..837), + zeroCorrelationZoneConfigHighSpeed-r14 INTEGER (0..12), + prach-ConfigIndexHighSpeed-r14 INTEGER (0..63), + prach-FreqOffsetHighSpeed-r14 INTEGER (0..94) +} + +PRACH-ConfigSCell-r10 ::= SEQUENCE { + prach-ConfigIndex-r10 INTEGER (0..63) +} + +PRACH-ConfigInfo ::= SEQUENCE { + prach-ConfigIndex INTEGER (0..63), + highSpeedFlag BOOLEAN, + zeroCorrelationZoneConfig INTEGER (0..15), + prach-FreqOffset INTEGER (0..94) +} + +PRACH-ParametersListCE-r13 ::= SEQUENCE (SIZE(1..maxCE-Level-r13)) OF PRACH-ParametersCE-r13 + +PRACH-ParametersCE-r13 ::= SEQUENCE { + prach-ConfigIndex-r13 INTEGER (0..63), + prach-FreqOffset-r13 INTEGER (0..94), + prach-StartingSubframe-r13 ENUMERATED {sf2, sf4, sf8, sf16, sf32, sf64, sf128, + sf256} OPTIONAL, -- Need OP + maxNumPreambleAttemptCE-r13 + ENUMERATED {n3, n4, n5, n6, n7, n8, n10} OPTIONAL, -- Need OP + numRepetitionPerPreambleAttempt-r13 ENUMERATED {n1,n2,n4,n8,n16,n32,n64,n128}, + mpdcch-NarrowbandsToMonitor-r13 SEQUENCE (SIZE(1..2)) OF + INTEGER (1..maxAvailNarrowBands-r13), + mpdcch-NumRepetition-RA-r13 ENUMERATED {r1, r2, r4, r8, r16, + r32, r64, r128, r256}, + prach-HoppingConfig-r13 ENUMERATED {on,off} +} + +EDT-PRACH-ParametersCE-r15 ::= SEQUENCE { + edt-PRACH-ParametersCE-r15 SEQUENCE { + prach-ConfigIndex-r15 INTEGER (0..63), + prach-FreqOffset-r15 INTEGER (0..94), + prach-StartingSubframe-r15 ENUMERATED {sf2, sf4, sf8, sf16, sf32, sf64, sf128, sf256} OPTIONAL, -- Need OP + mpdcch-NarrowbandsToMonitor-r15 SEQUENCE (SIZE(1..2)) OF INTEGER (1..maxAvailNarrowBands-r13) + } OPTIONAL -- Need OR +} + +RSRP-ThresholdsPrachInfoList-r13 ::= SEQUENCE (SIZE(1..3)) OF RSRP-Range + + +PresenceAntennaPort1 ::= BOOLEAN + + +PUCCH-ConfigCommon ::= SEQUENCE { + deltaPUCCH-Shift ENUMERATED {ds1, ds2, ds3}, + nRB-CQI INTEGER (0..98), + nCS-AN INTEGER (0..7), + n1PUCCH-AN INTEGER (0..2047) +} + +PUCCH-ConfigCommon-v1310 ::= SEQUENCE { + n1PUCCH-AN-InfoList-r13 N1PUCCH-AN-InfoList-r13 OPTIONAL, -- Need OR + pucch-NumRepetitionCE-Msg4-Level0-r13 ENUMERATED {n1, n2, n4, n8} OPTIONAL, -- Need OR + pucch-NumRepetitionCE-Msg4-Level1-r13 ENUMERATED {n1, n2, n4, n8} OPTIONAL, -- Need OR + pucch-NumRepetitionCE-Msg4-Level2-r13 ENUMERATED {n4, n8, n16, n32} OPTIONAL, -- Need OR + pucch-NumRepetitionCE-Msg4-Level3-r13 ENUMERATED {n4, n8, n16, n32} OPTIONAL -- Need OR +} + +PUCCH-ConfigCommon-v1430 ::= SEQUENCE { + pucch-NumRepetitionCE-Msg4-Level3-r14 ENUMERATED {n64, n128} OPTIONAL -- Need OR +} + +PUCCH-ConfigDedicated ::= SEQUENCE { + ackNackRepetition CHOICE{ + release NULL, + setup SEQUENCE { + repetitionFactor ENUMERATED {n2, n4, n6, spare1}, + n1PUCCH-AN-Rep INTEGER (0..2047) + } + }, + tdd-AckNackFeedbackMode ENUMERATED {bundling, multiplexing} OPTIONAL -- Cond TDD +} + +PUCCH-ConfigDedicated-v1020 ::= SEQUENCE { + pucch-Format-r10 CHOICE { + format3-r10 PUCCH-Format3-Conf-r13, + channelSelection-r10 SEQUENCE { + n1PUCCH-AN-CS-r10 CHOICE { + release NULL, + setup SEQUENCE { + n1PUCCH-AN-CS-List-r10 SEQUENCE (SIZE (1..2)) OF N1PUCCH-AN-CS-r10 + } + } OPTIONAL -- Need ON + } + } OPTIONAL, -- Need OR + twoAntennaPortActivatedPUCCH-Format1a1b-r10 ENUMERATED {true} OPTIONAL, -- Need OR + simultaneousPUCCH-PUSCH-r10 ENUMERATED {true} OPTIONAL, -- Need OR + n1PUCCH-AN-RepP1-r10 INTEGER (0..2047) OPTIONAL -- Need OR +} + +PUCCH-ConfigDedicated-v1130 ::= SEQUENCE { + n1PUCCH-AN-CS-v1130 CHOICE { + release NULL, + setup SEQUENCE { + n1PUCCH-AN-CS-ListP1-r11 SEQUENCE (SIZE (2..4)) OF INTEGER (0..2047) + } + } OPTIONAL, -- Need ON + nPUCCH-Param-r11 CHOICE { + release NULL, + setup SEQUENCE { + nPUCCH-Identity-r11 INTEGER (0..503), + n1PUCCH-AN-r11 INTEGER (0..2047) + } + } OPTIONAL -- Need ON +} + +PUCCH-ConfigDedicated-v1250 ::= SEQUENCE { + nkaPUCCH-Param-r12 CHOICE { + release NULL, + setup SEQUENCE { + nkaPUCCH-AN-r12 INTEGER (0..2047) + } + } +} + +PUCCH-ConfigDedicated-r13 ::= SEQUENCE { +--Release 8 + ackNackRepetition-r13 CHOICE{ + release NULL, + setup SEQUENCE { + repetitionFactor-r13 ENUMERATED {n2, n4, n6, spare1}, + n1PUCCH-AN-Rep-r13 INTEGER (0..2047) + } + }, + tdd-AckNackFeedbackMode-r13 ENUMERATED {bundling, multiplexing} OPTIONAL, -- Cond TDD +--Release 10 + pucch-Format-r13 CHOICE { + format3-r13 SEQUENCE { + n3PUCCH-AN-List-r13 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) OPTIONAL, -- Need ON + twoAntennaPortActivatedPUCCH-Format3-r13 CHOICE { + release NULL, + setup SEQUENCE { + n3PUCCH-AN-ListP1-r13 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) + } + } OPTIONAL -- Need ON + }, + channelSelection-r13 SEQUENCE { + n1PUCCH-AN-CS-r13 CHOICE { + release NULL, + setup SEQUENCE { + n1PUCCH-AN-CS-List-r13 SEQUENCE (SIZE (1..2)) OF N1PUCCH-AN-CS-r10, + dummy1 SEQUENCE (SIZE (2..4)) OF INTEGER (0..2047) + } + } OPTIONAL -- Need ON + }, + format4-r13 SEQUENCE { + format4-resourceConfiguration-r13 SEQUENCE (SIZE (4)) OF Format4-resource-r13, + format4-MultiCSI-resourceConfiguration-r13 SEQUENCE (SIZE (1..2)) OF Format4-resource-r13 OPTIONAL -- Need OR + }, + format5-r13 SEQUENCE { + format5-resourceConfiguration-r13 SEQUENCE (SIZE (4)) OF Format5-resource-r13, + format5-MultiCSI-resourceConfiguration-r13 Format5-resource-r13 OPTIONAL -- Need OR + } + } OPTIONAL, -- Need OR + twoAntennaPortActivatedPUCCH-Format1a1b-r13 ENUMERATED {true} OPTIONAL, -- Need OR + simultaneousPUCCH-PUSCH-r13 ENUMERATED {true} OPTIONAL, -- Need OR + n1PUCCH-AN-RepP1-r13 INTEGER (0..2047) OPTIONAL, -- Need OR +--Release 11 + nPUCCH-Param-r13 CHOICE { + release NULL, + setup SEQUENCE { + nPUCCH-Identity-r13 INTEGER (0..503), + n1PUCCH-AN-r13 INTEGER (0..2047) + } + } OPTIONAL, -- Need ON +--Release 12 + nkaPUCCH-Param-r13 CHOICE { + release NULL, + setup SEQUENCE { + nkaPUCCH-AN-r13 INTEGER (0..2047) + } + } OPTIONAL, -- Need ON +--Release 13 + spatialBundlingPUCCH-r13 BOOLEAN, + spatialBundlingPUSCH-r13 BOOLEAN, + harq-TimingTDD-r13 BOOLEAN, + codebooksizeDetermination-r13 ENUMERATED {dai,cc} OPTIONAL, -- Need OR + maximumPayloadCoderate-r13 INTEGER (0..7) OPTIONAL, -- Need OR + pucch-NumRepetitionCE-r13 CHOICE { + release NULL, + setup CHOICE { + modeA SEQUENCE { + pucch-NumRepetitionCE-format1-r13 ENUMERATED {r1, r2, r4, r8}, + pucch-NumRepetitionCE-format2-r13 ENUMERATED {r1, r2, r4, r8} + }, + modeB SEQUENCE { + pucch-NumRepetitionCE-format1-r13 ENUMERATED {r4, r8, r16, r32}, + pucch-NumRepetitionCE-format2-r13 ENUMERATED {r4, r8, r16, r32} + } + } + } OPTIONAL --Need ON +} + +PUCCH-ConfigDedicated-v1370 ::= SEQUENCE { + pucch-Format-v1370 CHOICE { + release NULL, + setup PUCCH-Format3-Conf-r13 + } +} + +PUCCH-ConfigDedicated-v13c0 ::= SEQUENCE { + channelSelection-v13c0 SEQUENCE { + n1PUCCH-AN-CS-v13c0 CHOICE { + release NULL, + setup SEQUENCE { + n1PUCCH-AN-CS-ListP1-v13c0 SEQUENCE (SIZE (2..4)) OF INTEGER (0..2047) + } + } + } +} + +PUCCH-Format3-Conf-r13 ::= SEQUENCE { + n3PUCCH-AN-List-r13 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) OPTIONAL, -- Need ON + twoAntennaPortActivatedPUCCH-Format3-r13 CHOICE { + release NULL, + setup SEQUENCE { + n3PUCCH-AN-ListP1-r13 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) + } + } OPTIONAL -- Need ON +} + +PUCCH-ConfigDedicated-v1430 ::= SEQUENCE { + pucch-NumRepetitionCE-format1-r14 ENUMERATED {r64,r128} OPTIONAL -- Need OR +} + +PUCCH-ConfigDedicated-v1530 ::= SEQUENCE { + n1PUCCH-AN-SPT-r15 INTEGER (0..2047) OPTIONAL, -- Need OR + codebooksizeDeterminationSTTI-r15 ENUMERATED {dai,cc} OPTIONAL -- Need OR +} + +Format4-resource-r13 ::= SEQUENCE { + startingPRB-format4-r13 INTEGER (0..109), + numberOfPRB-format4-r13 INTEGER (0..7) +} + +Format5-resource-r13 ::= SEQUENCE { + startingPRB-format5-r13 INTEGER (0..109), + cdm-index-format5-r13 INTEGER (0..1) +} + + + +N1PUCCH-AN-CS-r10 ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047) + +N1PUCCH-AN-InfoList-r13 ::= SEQUENCE (SIZE(1..maxCE-Level-r13)) OF INTEGER (0..2047) + + +PUR-Config-r16 ::= SEQUENCE { + pur-ConfigID-r16 PUR-ConfigID-r16 OPTIONAL, -- Need OR + pur-ImplicitReleaseAfter-r16 ENUMERATED {n2, n4, n8, spare} OPTIONAL, -- Need OR + pur-StartTimeParameters-r16 SEQUENCE { + periodicityAndOffset-r16 PUR-PeriodicityAndOffset-r16, + startSFN-r16 INTEGER (0..1023), + startSubFrame-r16 INTEGER (0..9), + hsfn-LSB-Info-r16 BIT STRING (SIZE(1)) + } OPTIONAL, --Need ON + pur-NumOccasions-r16 ENUMERATED {one, infinite}, + pur-RNTI-r16 C-RNTI OPTIONAL, -- Need ON + pur-TimeAlignmentTimer-r16 INTEGER (1..8) OPTIONAL, -- Need OR + pur-RSRP-ChangeThreshold-r16 SetupRelease {PUR-RSRP-ChangeThreshold-r16} OPTIONAL, -- Need ON + pur-ResponseWindowTimer-r16 ENUMERATED {sf240, sf480, sf960, sf1920, sf3840, sf5760, sf7680, sf10240} OPTIONAL, -- Need ON + pur-MPDCCH-Config-r16 PUR-MPDCCH-Config-r16 OPTIONAL, -- Need ON + pur-PDSCH-FreqHopping-r16 BOOLEAN, + pur-PUCCH-Config-r16 PUR-PUCCH-Config-r16 OPTIONAL, -- Need ON + pur-PUSCH-Config-r16 PUR-PUSCH-Config-r16 OPTIONAL, -- Need ON + ... +} + +PUR-MPDCCH-Config-r16 ::= SEQUENCE { + mpdcch-FreqHopping-r16 BOOLEAN, + mpdcch-Narrowband-r16 INTEGER (1..maxAvailNarrowBands-r13), + mpdcch-PRB-PairsConfig-r16 SEQUENCE{ + numberPRB-Pairs-r16 ENUMERATED {n2, n4, n6, spare1}, + resourceBlockAssignment-r16 BIT STRING (SIZE(4)) + }, + mpdcch-NumRepetition-r16 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, r256}, + mpdcch-StartSF-UESS-r16 CHOICE { + fdd ENUMERATED {v1, v1dot5, v2, v2dot5, v4, v5, v8, v10}, + tdd ENUMERATED {v1, v2, v4, v5, v8, v10, v20, spare1} + }, + mpdcch-Offset-PUR-SS-r16 ENUMERATED {zero, oneEighth, oneQuarter, + threeEighth, oneHalf, fiveEighth, + threeQuarter, sevenEighth} +} + +PUR-PUCCH-Config-r16 ::= SEQUENCE { + n1PUCCH-AN-r16 INTEGER (0..2047) OPTIONAL, -- Need ON + pucch-NumRepetitionCE-Format1-r16 ENUMERATED {n1, n2, n4, n8} OPTIONAL -- Need ON +} + +PUR-PUSCH-Config-r16 ::= SEQUENCE { + pur-GrantInfo-r16 CHOICE { + ce-ModeA SEQUENCE { + numRUs-r16 BIT STRING (SIZE(2)), + prb-AllocationInfo-r16 BIT STRING (SIZE(10)), + mcs-r16 BIT STRING (SIZE(4)), + numRepetitions-r16 BIT STRING (SIZE(3)) + }, + ce-ModeB SEQUENCE { + subPRB-Allocation-r16 BOOLEAN, + numRUs-r16 BOOLEAN, + prb-AllocationInfo-r16 BIT STRING (SIZE(8)), + mcs-r16 BIT STRING (SIZE(4)), + numRepetitions-r16 BIT STRING (SIZE(3)) + } + } OPTIONAL, -- Need ON + pur-PUSCH-FreqHopping-r16 BOOLEAN, + p0-UE-PUSCH-r16 INTEGER (-8..7), + alpha-r16 Alpha-r12, + pusch-CyclicShift-r16 ENUMERATED {n0, n6}, + pusch-NB-MaxTBS-r16 BOOLEAN, + locationCE-ModeB-r16 INTEGER (0..5) OPTIONAL -- Cond SubPRB +} + +PUR-RSRP-ChangeThreshold-r16 ::= SEQUENCE { + increaseThresh-r16 RSRP-ChangeThresh-r16, + decreaseThresh-r16 RSRP-ChangeThresh-r16 OPTIONAL --Need OP +} + +RSRP-ChangeThresh-r16 ::= ENUMERATED {dB4, dB6, dB8, dB10, dB14, dB18, dB22, dB26, dB30, dB34, spare6, spare5, spare4, spare3, spare2, spare1} + + +PUR-ConfigID-r16 ::= BIT STRING (SIZE(20)) + + +PUR-PeriodicityAndOffset-r16 ::= CHOICE { + periodicity8 INTEGER (1..7), + periodicity16 INTEGER (1..15), + periodicity32 INTEGER (1..31), + periodicity64 INTEGER (1..63), + periodicity128 INTEGER (1..127), + periodicity256 INTEGER (1..255), + periodicity512 INTEGER (1..511), + periodicity1024 INTEGER (1..1023), + periodicity2048 INTEGER (1..2047), + periodicity4096 INTEGER (1..4095), + periodicity8192 INTEGER (1..8191) +} + + +PUSCH-ConfigCommon ::= SEQUENCE { + pusch-ConfigBasic SEQUENCE { + n-SB INTEGER (1..4), + hoppingMode ENUMERATED {interSubFrame, intraAndInterSubFrame}, + pusch-HoppingOffset INTEGER (0..98), + enable64QAM BOOLEAN + }, + ul-ReferenceSignalsPUSCH UL-ReferenceSignalsPUSCH +} + +PUSCH-ConfigCommon-v1270 ::= SEQUENCE { + enable64QAM-v1270 ENUMERATED {true} +} + +PUSCH-ConfigCommon-v1310 ::= SEQUENCE { + pusch-maxNumRepetitionCEmodeA-r13 ENUMERATED { + r8, r16, r32 } OPTIONAL, -- Need OR + pusch-maxNumRepetitionCEmodeB-r13 ENUMERATED { + r192, r256, r384, r512, r768, r1024, + r1536, r2048} OPTIONAL, -- Need OR + pusch-HoppingOffset-v1310 + INTEGER (1..maxAvailNarrowBands-r13) OPTIONAL -- Need OR +} + +PUSCH-ConfigDedicated ::= SEQUENCE { + betaOffset-ACK-Index INTEGER (0..15), + betaOffset-RI-Index INTEGER (0..15), + betaOffset-CQI-Index INTEGER (0..15) +} + +PUSCH-ConfigDedicated-v1020 ::= SEQUENCE { + betaOffsetMC-r10 SEQUENCE { + betaOffset-ACK-Index-MC-r10 INTEGER (0..15), + betaOffset-RI-Index-MC-r10 INTEGER (0..15), + betaOffset-CQI-Index-MC-r10 INTEGER (0..15) + } OPTIONAL, -- Need OR + groupHoppingDisabled-r10 ENUMERATED {true} OPTIONAL, -- Need OR + dmrs-WithOCC-Activated-r10 ENUMERATED {true} OPTIONAL -- Need OR +} + +PUSCH-ConfigDedicated-v1130 ::= SEQUENCE { + pusch-DMRS-r11 CHOICE { + release NULL, + setup SEQUENCE { + nPUSCH-Identity-r11 INTEGER (0..509), + nDMRS-CSH-Identity-r11 INTEGER (0..509) + } + } +} + +PUSCH-ConfigDedicated-v1250::= SEQUENCE { + uciOnPUSCH CHOICE { + release NULL, + setup SEQUENCE { + betaOffset-ACK-Index-SubframeSet2-r12 INTEGER (0..15), + betaOffset-RI-Index-SubframeSet2-r12 INTEGER (0..15), + betaOffset-CQI-Index-SubframeSet2-r12 INTEGER (0..15), + betaOffsetMC-r12 SEQUENCE { + betaOffset-ACK-Index-MC-SubframeSet2-r12 INTEGER (0..15), + betaOffset-RI-Index-MC-SubframeSet2-r12 INTEGER (0..15), + betaOffset-CQI-Index-MC-SubframeSet2-r12 INTEGER (0..15) + } OPTIONAL -- Need OR + } + } +} +PUSCH-ConfigDedicated-r13 ::= SEQUENCE { + betaOffset-ACK-Index-r13 INTEGER (0..15), + betaOffset2-ACK-Index-r13 INTEGER (0..15) OPTIONAL, -- Need OR + betaOffset-RI-Index-r13 INTEGER (0..15), + betaOffset-CQI-Index-r13 INTEGER (0..15), + betaOffsetMC-r13 SEQUENCE { + betaOffset-ACK-Index-MC-r13 INTEGER (0..15), + betaOffset2-ACK-Index-MC-r13 INTEGER (0..15) OPTIONAL, -- Need OR + betaOffset-RI-Index-MC-r13 INTEGER (0..15), + betaOffset-CQI-Index-MC-r13 INTEGER (0..15) + } OPTIONAL, -- Need OR + groupHoppingDisabled-r13 ENUMERATED {true} OPTIONAL, -- Need OR + dmrs-WithOCC-Activated-r13 ENUMERATED {true} OPTIONAL, -- Need OR + pusch-DMRS-r11 CHOICE { + release NULL, + setup SEQUENCE { + nPUSCH-Identity-r13 INTEGER (0..509), + nDMRS-CSH-Identity-r13 INTEGER (0..509) + } + } OPTIONAL, -- Need ON + uciOnPUSCH CHOICE { + release NULL, + setup SEQUENCE { + betaOffset-ACK-Index-SubframeSet2-r13 INTEGER (0..15), + betaOffset2-ACK-Index-SubframeSet2-r13 INTEGER (0..15) OPTIONAL, -- Need OR + betaOffset-RI-Index-SubframeSet2-r13 INTEGER (0..15), + betaOffset-CQI-Index-SubframeSet2-r13 INTEGER (0..15), + betaOffsetMC-r12 SEQUENCE { + betaOffset-ACK-Index-MC-SubframeSet2-r13 INTEGER (0..15), + betaOffset2-ACK-Index-MC-SubframeSet2-r13 INTEGER (0..15) OPTIONAL, -- Need OR + betaOffset-RI-Index-MC-SubframeSet2-r13 INTEGER (0..15), + betaOffset-CQI-Index-MC-SubframeSet2-r13 INTEGER (0..15) + } OPTIONAL -- Need OR + } + } OPTIONAL, -- Need ON + pusch-HoppingConfig-r13 ENUMERATED {on} OPTIONAL -- Need OR +} + +PUSCH-ConfigDedicated-v1430 ::= SEQUENCE { + ce-PUSCH-NB-MaxTBS-r14 ENUMERATED {on} OPTIONAL, -- Need OR + ce-PUSCH-MaxBandwidth-r14 ENUMERATED {bw5} OPTIONAL, -- Need OR + tdd-PUSCH-UpPTS-r14 TDD-PUSCH-UpPTS-r14 OPTIONAL, -- Need ON + ul-DMRS-IFDMA-r14 BOOLEAN, + enable256QAM-r14 Enable256QAM-r14 OPTIONAL -- Need ON +} + +PUSCH-ConfigDedicated-v1530 ::= SEQUENCE { + ce-PUSCH-FlexibleStartPRB-AllocConfig-r15 CHOICE { + release NULL, + setup SEQUENCE { + offsetCE-ModeB-r15 INTEGER (-1..3) OPTIONAL -- Cond CE-ModeB + } + }, + ce-PUSCH-SubPRB-Config-r15 CHOICE { + release NULL, + setup SEQUENCE { + locationCE-ModeB-r15 INTEGER (0..5) OPTIONAL, -- Cond CE-ModeB + sixToneCyclicShift-r15 INTEGER (0..3), + threeToneCyclicShift-r15 INTEGER (0..2) + } + } OPTIONAL -- Need ON +} + +PUSCH-ConfigDedicated-v1610 ::= SEQUENCE { + ce-PUSCH-MultiTB-Config-r16 SetupRelease {CE-PUSCH-MultiTB-Config-r16} +} + +PUSCH-ConfigDedicatedSCell-r10 ::= SEQUENCE { + groupHoppingDisabled-r10 ENUMERATED {true} OPTIONAL, -- Need OR + dmrs-WithOCC-Activated-r10 ENUMERATED {true} OPTIONAL -- Need OR +} + +PUSCH-ConfigDedicatedSCell-v1430 ::= SEQUENCE { + enable256QAM-r14 Enable256QAM-r14 OPTIONAL -- Need OR +} + +PUSCH-ConfigDedicatedScell-v1530 ::= SEQUENCE { + uci-OnPUSCH-r15 CHOICE { + release NULL, + setup SEQUENCE { + betaOffsetAUL-r15 INTEGER (0..15) + } + } +} + +TDD-PUSCH-UpPTS-r14 ::= CHOICE { + release NULL, + setup SEQUENCE { + symPUSCH-UpPTS-r14 ENUMERATED {sym1, sym2, sym3, sym4, sym5, sym6} OPTIONAL, -- Need ON + dmrs-LessUpPTS-Config-r14 ENUMERATED {true} OPTIONAL -- Need OR + } +} + +CE-PUSCH-MultiTB-Config-r16 ::= SEQUENCE { + interleaving-r16 ENUMERATED {on} OPTIONAL -- Need OR +} + +Enable256QAM-r14 ::= CHOICE { + release NULL, + setup CHOICE { + tpc-SubframeSet-Configured-r14 SEQUENCE { + subframeSet1-DCI-Format0-r14 BOOLEAN, + subframeSet1-DCI-Format4-r14 BOOLEAN, + subframeSet2-DCI-Format0-r14 BOOLEAN, + subframeSet2-DCI-Format4-r14 BOOLEAN + }, + tpc-SubframeSet-NotConfigured-r14 SEQUENCE { + dci-Format0-r14 BOOLEAN, + dci-Format4-r14 BOOLEAN + } + } +} + +PUSCH-EnhancementsConfig-r14 ::= CHOICE { + release NULL, + setup SEQUENCE { + pusch-HoppingOffsetPUSCH-Enh-r14 INTEGER (1..100) OPTIONAL, -- Need ON + interval-ULHoppingPUSCH-Enh-r14 CHOICE { + interval-FDD-PUSCH-Enh-r14 ENUMERATED {int1, int2, int4, int8}, + interval-TDD-PUSCH-Enh-r14 ENUMERATED {int1, int5, int10, int20} + } OPTIONAL -- Need ON + } +} + +UL-ReferenceSignalsPUSCH ::= SEQUENCE { + groupHoppingEnabled BOOLEAN, + groupAssignmentPUSCH INTEGER (0..29), + sequenceHoppingEnabled BOOLEAN, + cyclicShift INTEGER (0..7) +} + + +RACH-ConfigCommon ::= SEQUENCE { + preambleInfo SEQUENCE { + numberOfRA-Preambles ENUMERATED { + n4, n8, n12, n16, n20, n24, n28, + n32, n36, n40, n44, n48, n52, n56, + n60, n64}, + preamblesGroupAConfig SEQUENCE { + sizeOfRA-PreamblesGroupA ENUMERATED { + n4, n8, n12, n16, n20, n24, n28, + n32, n36, n40, n44, n48, n52, n56, + n60}, + messageSizeGroupA ENUMERATED {b56, b144, b208, b256}, + messagePowerOffsetGroupB ENUMERATED { + minusinfinity, dB0, dB5, dB8, dB10, dB12, + dB15, dB18}, + ... + } OPTIONAL -- Need OP + }, + powerRampingParameters PowerRampingParameters, + ra-SupervisionInfo SEQUENCE { + preambleTransMax PreambleTransMax, + ra-ResponseWindowSize ENUMERATED { + sf2, sf3, sf4, sf5, sf6, sf7, + sf8, sf10}, + mac-ContentionResolutionTimer ENUMERATED { + sf8, sf16, sf24, sf32, sf40, sf48, + sf56, sf64} + }, + maxHARQ-Msg3Tx INTEGER (1..8), + ..., + [[ preambleTransMax-CE-r13 PreambleTransMax OPTIONAL, -- Need OR + rach-CE-LevelInfoList-r13 RACH-CE-LevelInfoList-r13 OPTIONAL -- Need OR + ]], + [[ edt-SmallTBS-Subset-r15 ENUMERATED {true} OPTIONAL -- Cond EDT-OR + ]] +} + +RACH-ConfigCommon-v1250 ::= SEQUENCE { + txFailParams-r12 SEQUENCE { + connEstFailCount-r12 ENUMERATED {n1, n2, n3, n4}, + connEstFailOffsetValidity-r12 ENUMERATED {s30, s60, s120, s240, + s300, s420, s600, s900}, + connEstFailOffset-r12 INTEGER (0..15) OPTIONAL -- Need OP + } +} + +RACH-ConfigCommonSCell-r11 ::= SEQUENCE { + powerRampingParameters-r11 PowerRampingParameters, + ra-SupervisionInfo-r11 SEQUENCE { + preambleTransMax-r11 PreambleTransMax + }, + ... +} + +RACH-CE-LevelInfoList-r13 ::= SEQUENCE (SIZE (1..maxCE-Level-r13)) OF RACH-CE-LevelInfo-r13 + +RACH-CE-LevelInfo-r13 ::= SEQUENCE { + preambleMappingInfo-r13 SEQUENCE { + firstPreamble-r13 INTEGER(0..63), + lastPreamble-r13 INTEGER(0..63) + }, + ra-ResponseWindowSize-r13 ENUMERATED {sf20, sf50, sf80, sf120, sf180, + sf240, sf320, sf400}, + + mac-ContentionResolutionTimer-r13 ENUMERATED {sf80, sf100, sf120, + sf160, sf200, sf240, sf480, sf960}, + rar-HoppingConfig-r13 ENUMERATED {on,off}, + ..., + [[ edt-Parameters-r15 SEQUENCE { + edt-LastPreamble-r15 INTEGER(0..63), + edt-SmallTBS-Enabled-r15 BOOLEAN, + edt-TBS-r15 ENUMERATED {b328, b408, b504, b600, b712, + b808, b936, b1000or456}, + mac-ContentionResolutionTimer-r15 ENUMERATED {sf240, sf480, sf960, + sf1920, sf3840, sf5760, sf7680, sf10240} OPTIONAL -- Need OP + } OPTIONAL -- Cond EDT + ]] +} + +PowerRampingParameters ::= SEQUENCE { + powerRampingStep ENUMERATED {dB0, dB2,dB4, dB6}, + preambleInitialReceivedTargetPower ENUMERATED { + dBm-120, dBm-118, dBm-116, dBm-114, dBm-112, + dBm-110, dBm-108, dBm-106, dBm-104, dBm-102, + dBm-100, dBm-98, dBm-96, dBm-94, + dBm-92, dBm-90} +} + +PreambleTransMax ::= ENUMERATED { + n3, n4, n5, n6, n7, n8, n10, n20, n50, + n100, n200} + + +RACH-ConfigDedicated ::= SEQUENCE { + ra-PreambleIndex INTEGER (0..63), + ra-PRACH-MaskIndex INTEGER (0..15) +} + + +RadioResourceConfigCommonSIB ::= SEQUENCE { + rach-ConfigCommon RACH-ConfigCommon, + bcch-Config BCCH-Config, + pcch-Config PCCH-Config, + prach-Config PRACH-ConfigSIB, + pdsch-ConfigCommon PDSCH-ConfigCommon, + pusch-ConfigCommon PUSCH-ConfigCommon, + pucch-ConfigCommon PUCCH-ConfigCommon, + soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon, + uplinkPowerControlCommon UplinkPowerControlCommon, + ul-CyclicPrefixLength UL-CyclicPrefixLength, + ..., + [[ uplinkPowerControlCommon-v1020 UplinkPowerControlCommon-v1020 OPTIONAL -- Need OR + ]], + [[ rach-ConfigCommon-v1250 RACH-ConfigCommon-v1250 OPTIONAL -- Need OR + ]], + [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR + ]], + [[ bcch-Config-v1310 BCCH-Config-v1310 OPTIONAL, -- Need OR + pcch-Config-v1310 PCCH-Config-v1310 OPTIONAL, -- Need OR + freqHoppingParameters-r13 FreqHoppingParameters-r13 OPTIONAL, -- Need OR + pdsch-ConfigCommon-v1310 PDSCH-ConfigCommon-v1310 OPTIONAL, -- Need OR + pusch-ConfigCommon-v1310 PUSCH-ConfigCommon-v1310 OPTIONAL, -- Need OR + prach-ConfigCommon-v1310 PRACH-ConfigSIB-v1310 OPTIONAL, -- Need OR + pucch-ConfigCommon-v1310 PUCCH-ConfigCommon-v1310 OPTIONAL -- Need OR + ]], + [[ highSpeedConfig-r14 HighSpeedConfig-r14 OPTIONAL, -- Need OR + prach-Config-v1430 PRACH-Config-v1430 OPTIONAL, -- Need OR + pucch-ConfigCommon-v1430 PUCCH-ConfigCommon-v1430 OPTIONAL -- Need OR + ]], + [[ prach-Config-v1530 PRACH-ConfigSIB-v1530 OPTIONAL, -- Cond EDT + ce-RSS-Config-r15 RSS-Config-r15 OPTIONAL, -- Need OR + wus-Config-r15 WUS-Config-r15 OPTIONAL, -- Need OR + highSpeedConfig-v1530 HighSpeedConfig-v1530 OPTIONAL -- Need OR + ]], + [[ uplinkPowerControlCommon-v1540 UplinkPowerControlCommon-v1530 OPTIONAL -- Need OR + ]], + [[ wus-Config-v1560 WUS-Config-v1560 OPTIONAL -- Need OR + ]], + [[ + wus-Config-v1610 WUS-Config-v1610 OPTIONAL, -- Need OR + highSpeedConfig-v1610 HighSpeedConfig-v1610 OPTIONAL, -- Need OR + crs-ChEstMPDCCH-ConfigCommon-r16 CRS-ChEstMPDCCH-ConfigCommon-r16 OPTIONAL, -- Need OR + gwus-Config-r16 GWUS-Config-r16 OPTIONAL, -- Need OR + uplinkPowerControlCommon-v1610 UplinkPowerControlCommon-v1610 OPTIONAL, -- Need OR + rss-MeasConfig-r16 ENUMERATED {enabled} OPTIONAL, -- Need OR + rss-MeasNonNCL-r16 ENUMERATED {enabled} OPTIONAL, -- Need OR + puncturedSubcarriersDL-r16 BIT STRING (SIZE (2)) OPTIONAL, -- Need OR + highSpeedInterRAT-NR-r16 BOOLEAN OPTIONAL -- Need OR + ]] +} + +RadioResourceConfigCommon ::= SEQUENCE { + rach-ConfigCommon RACH-ConfigCommon OPTIONAL, -- Need ON + prach-Config PRACH-Config, + pdsch-ConfigCommon PDSCH-ConfigCommon OPTIONAL, -- Need ON + pusch-ConfigCommon PUSCH-ConfigCommon, + phich-Config PHICH-Config OPTIONAL, -- Need ON + pucch-ConfigCommon PUCCH-ConfigCommon OPTIONAL, -- Need ON + soundingRS-UL-ConfigCommon SoundingRS-UL-ConfigCommon OPTIONAL, -- Need ON + uplinkPowerControlCommon UplinkPowerControlCommon OPTIONAL, -- Need ON + antennaInfoCommon AntennaInfoCommon OPTIONAL, -- Need ON + p-Max P-Max OPTIONAL, -- Need OP + tdd-Config TDD-Config OPTIONAL, -- Cond TDD + ul-CyclicPrefixLength UL-CyclicPrefixLength, + ..., + [[ uplinkPowerControlCommon-v1020 UplinkPowerControlCommon-v1020 OPTIONAL -- Need ON + ]], + [[ tdd-Config-v1130 TDD-Config-v1130 OPTIONAL -- Cond TDD3 + ]], + [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR + ]], + [[ + prach-Config-v1310 PRACH-Config-v1310 OPTIONAL, -- Need ON + freqHoppingParameters-r13 FreqHoppingParameters-r13 OPTIONAL, -- Need ON + pdsch-ConfigCommon-v1310 PDSCH-ConfigCommon-v1310 OPTIONAL, -- Need ON + pucch-ConfigCommon-v1310 PUCCH-ConfigCommon-v1310 OPTIONAL, -- Need ON + pusch-ConfigCommon-v1310 PUSCH-ConfigCommon-v1310 OPTIONAL, -- Need ON + uplinkPowerControlCommon-v1310 UplinkPowerControlCommon-v1310 OPTIONAL -- Need ON + ]], + [[ highSpeedConfig-r14 HighSpeedConfig-r14 OPTIONAL, -- Need OR + prach-Config-v1430 PRACH-Config-v1430 OPTIONAL, -- Need OR + pucch-ConfigCommon-v1430 PUCCH-ConfigCommon-v1430 OPTIONAL, -- Need OR + tdd-Config-v1430 TDD-Config-v1430 OPTIONAL -- Cond TDD3 + ]], + [[ + tdd-Config-v1450 TDD-Config-v1450 OPTIONAL -- Cond TDD3 + ]], + [[ uplinkPowerControlCommon-v1530 UplinkPowerControlCommon-v1530 OPTIONAL, -- Need ON + highSpeedConfig-v1530 HighSpeedConfig-v1530 OPTIONAL -- Need OR + ]], + [[ + highSpeedConfig-v1610 HighSpeedConfig-v1610 OPTIONAL, -- Need OR + uplinkPowerControlCommon-v1610 UplinkPowerControlCommon-v1610 OPTIONAL, -- Need OR + highSpeedInterRAT-NR-r16 BOOLEAN OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigCommonPSCell-r12 ::= SEQUENCE { + basicFields-r12 RadioResourceConfigCommonSCell-r10, + pucch-ConfigCommon-r12 PUCCH-ConfigCommon, + rach-ConfigCommon-r12 RACH-ConfigCommon, + uplinkPowerControlCommonPSCell-r12 UplinkPowerControlCommonPSCell-r12, + ..., + [[ uplinkPowerControlCommonPSCell-v1310 + UplinkPowerControlCommon-v1310 OPTIONAL -- Need ON + ]], + [[ uplinkPowerControlCommonPSCell-v1530 + UplinkPowerControlCommon-v1530 OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigCommonPSCell-v12f0 ::= SEQUENCE { + basicFields-v12f0 RadioResourceConfigCommonSCell-v10l0 +} + +RadioResourceConfigCommonPSCell-v1440 ::= SEQUENCE { + basicFields-v1440 RadioResourceConfigCommonSCell-v1440 +} + +RadioResourceConfigCommonSCell-r10 ::= SEQUENCE { + -- DL configuration as well as configuration applicable for DL and UL + nonUL-Configuration-r10 SEQUENCE { + -- 1: Cell characteristics + dl-Bandwidth-r10 ENUMERATED {n6, n15, n25, n50, n75, n100}, + -- 2: Physical configuration, general + antennaInfoCommon-r10 AntennaInfoCommon, + mbsfn-SubframeConfigList-r10 MBSFN-SubframeConfigList OPTIONAL, -- Need OR + -- 3: Physical configuration, control + phich-Config-r10 PHICH-Config, + -- 4: Physical configuration, physical channels + pdsch-ConfigCommon-r10 PDSCH-ConfigCommon, + tdd-Config-r10 TDD-Config OPTIONAL -- Cond TDDSCell + }, + -- UL configuration + ul-Configuration-r10 SEQUENCE { + ul-FreqInfo-r10 SEQUENCE { + ul-CarrierFreq-r10 ARFCN-ValueEUTRA OPTIONAL, -- Need OP + ul-Bandwidth-r10 ENUMERATED {n6, n15, + n25, n50, n75, n100} OPTIONAL, -- Need OP + additionalSpectrumEmissionSCell-r10 AdditionalSpectrumEmission + }, + p-Max-r10 P-Max OPTIONAL, -- Need OP + uplinkPowerControlCommonSCell-r10 UplinkPowerControlCommonSCell-r10, + -- A special version of IE UplinkPowerControlCommon may be introduced + -- 3: Physical configuration, control + soundingRS-UL-ConfigCommon-r10 SoundingRS-UL-ConfigCommon, + ul-CyclicPrefixLength-r10 UL-CyclicPrefixLength, + -- 4: Physical configuration, physical channels + prach-ConfigSCell-r10 PRACH-ConfigSCell-r10 OPTIONAL, -- Cond TDD-OR-NoR11 + pusch-ConfigCommon-r10 PUSCH-ConfigCommon + } OPTIONAL, -- Need OR + ..., + [[ ul-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Need OP + ]], + [[ rach-ConfigCommonSCell-r11 RACH-ConfigCommonSCell-r11 OPTIONAL, -- Cond ULSCell + prach-ConfigSCell-r11 PRACH-Config OPTIONAL, -- Cond UL + tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD2 + uplinkPowerControlCommonSCell-v1130 + UplinkPowerControlCommonSCell-v1130 OPTIONAL -- Cond UL + ]], + [[ pusch-ConfigCommon-v1270 PUSCH-ConfigCommon-v1270 OPTIONAL -- Need OR + ]], + [[ pucch-ConfigCommon-r13 PUCCH-ConfigCommon OPTIONAL, -- Cond UL + uplinkPowerControlCommonSCell-v1310 + UplinkPowerControlCommonSCell-v1310 OPTIONAL -- Cond UL + ]], + [[ highSpeedConfigSCell-r14 HighSpeedConfigSCell-r14 OPTIONAL, -- Need OR + prach-Config-v1430 PRACH-Config-v1430 OPTIONAL, -- Cond UL + ul-Configuration-r14 SEQUENCE { + ul-FreqInfo-r14 SEQUENCE { + ul-CarrierFreq-r14 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Need OP + ul-Bandwidth-r14 ENUMERATED {n6, n15, + n25, n50, n75, n100} OPTIONAL, -- Need OP + additionalSpectrumEmissionSCell-r14 AdditionalSpectrumEmission + }, + p-Max-r14 P-Max OPTIONAL, -- Need OP + soundingRS-UL-ConfigCommon-r14 SoundingRS-UL-ConfigCommon, + ul-CyclicPrefixLength-r14 UL-CyclicPrefixLength, + prach-ConfigSCell-r14 PRACH-ConfigSCell-r10 OPTIONAL, -- Cond TDD-OR-NoR11 + uplinkPowerControlCommonPUSCH-LessCell-v1430 + UplinkPowerControlCommonPUSCH-LessCell-v1430 OPTIONAL -- Need OR +} OPTIONAL, -- Cond ULSRS + harq-ReferenceConfig-r14 ENUMERATED {sa2,sa4,sa5} OPTIONAL, -- Need OR + soundingRS-FlexibleTiming-r14 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ mbsfn-SubframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 OPTIONAL -- Need ON + ]], + [[ uplinkPowerControlCommonSCell-v1530 UplinkPowerControlCommon-v1530 OPTIONAL -- Need ON + ]], + [[ highSpeedEnhMeasFlagSCell-r16 BOOLEAN OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigCommonSCell-v10l0 ::= SEQUENCE { + -- UL configuration + ul-Configuration-v10l0 SEQUENCE { + additionalSpectrumEmissionSCell-v10l0 AdditionalSpectrumEmission-v10l0 + } +} + +RadioResourceConfigCommonSCell-v1440 ::= SEQUENCE { + ul-Configuration-v1440 SEQUENCE { + ul-FreqInfo-v1440 SEQUENCE { + additionalSpectrumEmissionSCell-v1440 AdditionalSpectrumEmission-v10l0 + } + } +} + +BCCH-Config ::= SEQUENCE { + modificationPeriodCoeff ENUMERATED {n2, n4, n8, n16} +} + +BCCH-Config-v1310 ::= SEQUENCE { + modificationPeriodCoeff-v1310 ENUMERATED {n64} +} + +FreqHoppingParameters-r13 ::= SEQUENCE { + dummy ENUMERATED {nb2, nb4} OPTIONAL, + dummy2 CHOICE { + interval-FDD-r13 ENUMERATED {int1, int2, int4, int8}, + interval-TDD-r13 ENUMERATED {int1, int5, int10, int20} + } OPTIONAL, + dummy3 CHOICE { + interval-FDD-r13 ENUMERATED {int2, int4, int8, int16}, + interval-TDD-r13 ENUMERATED { int5, int10, int20, int40} + } OPTIONAL, + interval-ULHoppingConfigCommonModeA-r13 CHOICE { + interval-FDD-r13 ENUMERATED {int1, int2, int4, int8}, + interval-TDD-r13 ENUMERATED {int1, int5, int10, int20} + } OPTIONAL, -- Cond MP-A + interval-ULHoppingConfigCommonModeB-r13 CHOICE { + interval-FDD-r13 ENUMERATED {int2, int4, int8, int16}, + interval-TDD-r13 ENUMERATED { int5, int10, int20, int40} + } OPTIONAL, -- Cond MP-B + dummy4 INTEGER (1..maxAvailNarrowBands-r13) OPTIONAL +} + +PCCH-Config ::= SEQUENCE { + defaultPagingCycle ENUMERATED { + rf32, rf64, rf128, rf256}, + nB ENUMERATED { + fourT, twoT, oneT, halfT, quarterT, oneEighthT, + oneSixteenthT, oneThirtySecondT} +} + +PCCH-Config-v1310 ::= SEQUENCE { + paging-narrowBands-r13 INTEGER (1..maxAvailNarrowBands-r13), + mpdcch-NumRepetition-Paging-r13 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, r256}, + nB-v1310 ENUMERATED {one64thT, one128thT, one256thT} + OPTIONAL -- Need OR +} + +UL-CyclicPrefixLength ::= ENUMERATED {len1, len2} + +HighSpeedConfig-r14 ::= SEQUENCE { + highSpeedEnhancedMeasFlag-r14 ENUMERATED {true} OPTIONAL, -- Need OR + highSpeedEnhancedDemodulationFlag-r14 ENUMERATED {true} OPTIONAL -- Need OR +} + +HighSpeedConfig-v1530 ::= SEQUENCE { + highSpeedMeasGapCE-ModeA-r15 ENUMERATED {true} +} + +HighSpeedConfigSCell-r14 ::= SEQUENCE { + highSpeedEnhancedDemodulationFlag-r14 ENUMERATED {true} OPTIONAL -- Need OR +} + +HighSpeedConfig-v1610 ::= SEQUENCE { + highSpeedEnhMeasFlag2-r16 ENUMERATED {true} OPTIONAL, -- Need OR + highSpeedEnhDemodFlag2-r16 ENUMERATED {true} OPTIONAL -- Need OR +} + + +RadioResourceConfigDedicated ::= SEQUENCE { + srb-ToAddModList SRB-ToAddModList OPTIONAL, -- Cond HO-Conn + drb-ToAddModList DRB-ToAddModList OPTIONAL, -- Cond HO-toEUTRA + drb-ToReleaseList DRB-ToReleaseList OPTIONAL, -- Need ON + mac-MainConfig CHOICE { + explicitValue MAC-MainConfig, + defaultValue NULL + } OPTIONAL, -- Cond HO-toEUTRA2 + sps-Config SPS-Config OPTIONAL, -- Need ON + physicalConfigDedicated PhysicalConfigDedicated OPTIONAL, -- Need ON + ..., + [[ rlf-TimersAndConstants-r9 RLF-TimersAndConstants-r9 OPTIONAL -- Need ON + ]], + [[ measSubframePatternPCell-r10 MeasSubframePatternPCell-r10 OPTIONAL -- Need ON + ]], + [[ neighCellsCRS-Info-r11 NeighCellsCRS-Info-r11 OPTIONAL -- Need ON + ]], + [[ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON + ]], + [[ neighCellsCRS-Info-r13 NeighCellsCRS-Info-r13 OPTIONAL, -- Cond CRSIM + rlf-TimersAndConstants-r13 RLF-TimersAndConstants-r13 OPTIONAL -- Need ON + ]], + [[ sps-Config-v1430 SPS-Config-v1430 OPTIONAL -- Cond SPS + ]], + [[ srb-ToAddModListExt-r15 SRB-ToAddModListExt-r15 OPTIONAL, -- Need ON + srb-ToReleaseListExt-r15 INTEGER (4) OPTIONAL, -- Need ON + + sps-Config-v1530 SPS-Config-v1530 OPTIONAL, -- Need ON + + crs-IntfMitigConfig-r15 CHOICE { + release NULL, + setup CHOICE { + crs-IntfMitigEnabled NULL, + crs-IntfMitigNumPRBs ENUMERATED {n6, n24} + } + } OPTIONAL, -- Need ON + neighCellsCRS-Info-r15 NeighCellsCRS-Info-r15 OPTIONAL, -- Need ON + drb-ToAddModList-r15 DRB-ToAddModList-r15 OPTIONAL, -- Need ON + drb-ToReleaseList-r15 DRB-ToReleaseList-r15 OPTIONAL, -- Need ON + dummy SEQUENCE (SIZE (1..2)) OF INTEGER (1..2) OPTIONAL -- Need ON + ]], + [[ sps-Config-v1540 SPS-Config-v1540 OPTIONAL -- Need ON + ]], + [[ + rlf-TimersAndConstantsMCG-Failure-r16 RLF-TimersAndConstantsMCG-Failure-r16 + OPTIONAL, -- Cond Split-SRB1-SRB3 + crs-ChEstMPDCCH-ConfigDedicated-r16 SetupRelease{CRS-ChEstMPDCCH-ConfigDedicated-r16} OPTIONAL, -- Need ON + newUE-Identity-r16 C-RNTI OPTIONAL -- Need OP + ]] +} + +RadioResourceConfigDedicated-v1370 ::= SEQUENCE { + physicalConfigDedicated-v1370 PhysicalConfigDedicated-v1370 OPTIONAL -- Need ON +} + +RadioResourceConfigDedicated-v13c0 ::= SEQUENCE { + physicalConfigDedicated-v13c0 PhysicalConfigDedicated-v13c0 +} + +RadioResourceConfigDedicatedPSCell-r12 ::= SEQUENCE { + -- UE specific configuration extensions applicable for an PSCell + physicalConfigDedicatedPSCell-r12 PhysicalConfigDedicated OPTIONAL, -- Need ON + sps-Config-r12 SPS-Config OPTIONAL, -- Need ON + naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL, -- Need ON + ..., + [[ neighCellsCRS-InfoPSCell-r13 NeighCellsCRS-Info-r13 OPTIONAL -- Need ON + ]], + [[ sps-Config-v1430 SPS-Config-v1430 OPTIONAL -- Cond SPS2 + ]], + [[ sps-Config-v1530 SPS-Config-v1530 OPTIONAL, -- Need ON + crs-IntfMitigEnabled-r15 BOOLEAN OPTIONAL, -- Need ON + neighCellsCRS-Info-r15 NeighCellsCRS-Info-r15 OPTIONAL -- Need ON + ]], + [[ sps-Config-v1540 SPS-Config-v1540 OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigDedicatedPSCell-v1370 ::= SEQUENCE { + physicalConfigDedicatedPSCell-v1370 PhysicalConfigDedicated-v1370 OPTIONAL -- Need ON +} + +RadioResourceConfigDedicatedPSCell-v13c0 ::= SEQUENCE { + physicalConfigDedicatedPSCell-v13c0 PhysicalConfigDedicated-v13c0 +} + +RadioResourceConfigDedicatedSCG-r12 ::= SEQUENCE { + drb-ToAddModListSCG-r12 DRB-ToAddModListSCG-r12 OPTIONAL, -- Need ON + mac-MainConfigSCG-r12 MAC-MainConfig OPTIONAL, -- Need ON + rlf-TimersAndConstantsSCG-r12 RLF-TimersAndConstantsSCG-r12 OPTIONAL, -- Need ON + ..., + [[ drb-ToAddModListSCG-r15 DRB-ToAddModListSCG-r15 OPTIONAL -- Need ON + ]], + [[ srb-ToAddModListSCG-r15 SRB-ToAddModList OPTIONAL, -- Need ON + srb-ToReleaseListSCG-r15 SRB-ToReleaseList-r15 OPTIONAL -- Need ON + ]], + [[ -- NE-DC additions for release of RLC bearer config for DRBs + drb-ToReleaseListSCG-r15 DRB-ToReleaseList-r15 OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigDedicatedSCell-r10 ::= SEQUENCE { + -- UE specific configuration extensions applicable for an SCell + physicalConfigDedicatedSCell-r10 PhysicalConfigDedicatedSCell-r10 OPTIONAL, -- Need ON + ..., + [[ mac-MainConfigSCell-r11 MAC-MainConfigSCell-r11 OPTIONAL -- Cond SCellAdd + ]], + [[ naics-Info-r12 NAICS-AssistanceInfo-r12 OPTIONAL -- Need ON + ]], + [[ neighCellsCRS-InfoSCell-r13 NeighCellsCRS-Info-r13 OPTIONAL -- Need ON + ]], + [[ physicalConfigDedicatedSCell-v1370 PhysicalConfigDedicatedSCell-v1370 OPTIONAL -- Need ON + ]], + [[ crs-IntfMitigEnabled-r15 BOOLEAN OPTIONAL, -- Need ON + neighCellsCRS-Info-r15 NeighCellsCRS-Info-r15 OPTIONAL, -- Need ON + sps-Config-v1530 SPS-Config-v1530 OPTIONAL -- Need ON + ]] +} + +RadioResourceConfigDedicatedSCell-v13c0 ::= SEQUENCE { + physicalConfigDedicatedSCell-v13c0 PhysicalConfigDedicatedSCell-v13c0 +} + +SRB-ToAddModList ::= SEQUENCE (SIZE (1..2)) OF SRB-ToAddMod + +SRB-ToAddModListExt-r15 ::= SEQUENCE (SIZE (1)) OF SRB-ToAddMod + +SRB-ToAddMod ::= SEQUENCE { + srb-Identity INTEGER (1..2), + rlc-Config CHOICE { + explicitValue RLC-Config, + defaultValue NULL + } OPTIONAL, -- Cond Setup + logicalChannelConfig CHOICE { + explicitValue LogicalChannelConfig, + defaultValue NULL + } OPTIONAL, -- Cond Setup + ..., + [[ pdcp-verChange-r15 ENUMERATED {true} OPTIONAL, -- Cond NR-PDCP + rlc-Config-v1530 RLC-Config-v1530 OPTIONAL, -- Need ON + rlc-BearerConfigSecondary-r15 RLC-BearerConfig-r15 OPTIONAL, -- Need ON + srb-Identity-v1530 INTEGER (4) OPTIONAL -- Need ON + ]], + [[ rlc-Config-v1560 RLC-Config-v1510 OPTIONAL -- Need ON + ]] +} + +DRB-ToAddModList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod +DRB-ToAddModList-r15 ::= SEQUENCE (SIZE (1..maxDRB-r15)) OF DRB-ToAddMod + +DRB-ToAddModListSCG-r12 ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddModSCG-r12 +DRB-ToAddModListSCG-r15 ::= SEQUENCE (SIZE (1..maxDRB-r15)) OF DRB-ToAddModSCG-r12 + +DRB-ToAddMod ::= SEQUENCE { + eps-BearerIdentity INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup + drb-Identity DRB-Identity, + pdcp-Config PDCP-Config OPTIONAL, -- Cond PDCP + rlc-Config RLC-Config OPTIONAL, -- Cond SetupM + logicalChannelIdentity INTEGER (3..10) OPTIONAL, -- Cond DRB-SetupM + logicalChannelConfig LogicalChannelConfig OPTIONAL, -- Cond SetupM + ..., + [[ drb-TypeChange-r12 ENUMERATED {toMCG} OPTIONAL, -- Need OP + rlc-Config-v1250 RLC-Config-v1250 OPTIONAL -- Need ON + ]], + [[ rlc-Config-v1310 RLC-Config-v1310 OPTIONAL, -- Need ON + drb-TypeLWA-r13 BOOLEAN OPTIONAL, -- Need ON + drb-TypeLWIP-r13 ENUMERATED {lwip, lwip-DL-only, + lwip-UL-only, eutran} OPTIONAL -- Need ON + ]], + [[ rlc-Config-v1430 RLC-Config-v1430 OPTIONAL, -- Need ON + lwip-UL-Aggregation-r14 BOOLEAN OPTIONAL, -- Cond LWIP + lwip-DL-Aggregation-r14 BOOLEAN OPTIONAL, -- Cond LWIP + lwa-WLAN-AC-r14 ENUMERATED {ac-bk, ac-be, ac-vi, ac-vo} OPTIONAL -- Cond UL-LWA + ]], + [[ rlc-Config-v1510 RLC-Config-v1510 OPTIONAL -- Need ON + ]], + [[ rlc-Config-v1530 RLC-Config-v1530 OPTIONAL, -- Need ON + rlc-BearerConfigSecondary-r15 RLC-BearerConfig-r15 OPTIONAL, -- Need ON + logicalChannelIdentity-r15 INTEGER (32..38) OPTIONAL -- Need ON + ]], + [[ daps-HO-r16 ENUMERATED {true} OPTIONAL -- Cond DAPS + ]] +} + +DRB-ToAddModSCG-r12 ::= SEQUENCE { + drb-Identity-r12 DRB-Identity, + drb-Type-r12 CHOICE { + split-r12 NULL, + scg-r12 SEQUENCE { + eps-BearerIdentity-r12 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup + pdcp-Config-r12 PDCP-Config OPTIONAL -- Cond PDCP-S + } + } OPTIONAL, -- Cond SetupS2 + rlc-ConfigSCG-r12 RLC-Config OPTIONAL, -- Cond SetupS + rlc-Config-v1250 RLC-Config-v1250 OPTIONAL, -- Need ON + logicalChannelIdentitySCG-r12 INTEGER (3..10) OPTIONAL, -- Cond DRB-SetupS + logicalChannelConfigSCG-r12 LogicalChannelConfig OPTIONAL, -- Cond SetupS + ..., + [[ rlc-Config-v1430 RLC-Config-v1430 OPTIONAL -- Need ON + ]], + [[ logicalChannelIdentitySCG-r15 INTEGER (32..38) OPTIONAL, -- Need ON + rlc-Config-v1530 RLC-Config-v1530 OPTIONAL, -- Need ON + rlc-BearerConfigSecondary-r15 RLC-BearerConfig-r15 OPTIONAL -- Need ON + ]], + [[ rlc-Config-v1560 RLC-Config-v1510 OPTIONAL -- Need ON + ]] +} + +DRB-ToReleaseList ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity +DRB-ToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxDRB-r15)) OF DRB-Identity + +SRB-ToReleaseList-r15 ::= SEQUENCE (SIZE (1..2)) OF INTEGER (1..2) + +MeasSubframePatternPCell-r10 ::= CHOICE { + release NULL, + setup MeasSubframePattern-r10 +} + +NeighCellsCRS-Info-r11 ::= CHOICE { + release NULL, + setup CRS-AssistanceInfoList-r11 +} + +CRS-AssistanceInfoList-r11 ::= SEQUENCE (SIZE (1..maxCellReport)) OF CRS-AssistanceInfo-r11 + +CRS-AssistanceInfo-r11 ::= SEQUENCE { + physCellId-r11 PhysCellId, + antennaPortsCount-r11 ENUMERATED {an1, an2, an4, spare1}, + mbsfn-SubframeConfigList-r11 MBSFN-SubframeConfigList, + ..., + [[ mbsfn-SubframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 OPTIONAL -- Need ON + ]] +} + +NeighCellsCRS-Info-r13 ::= CHOICE { + release NULL, + setup CRS-AssistanceInfoList-r13 +} + +CRS-AssistanceInfoList-r13 ::= SEQUENCE (SIZE (1..maxCellReport)) OF CRS-AssistanceInfo-r13 + +CRS-AssistanceInfo-r13 ::= SEQUENCE { + physCellId-r13 PhysCellId, + antennaPortsCount-r13 ENUMERATED {an1, an2, an4, spare1}, + mbsfn-SubframeConfigList-r13 MBSFN-SubframeConfigList OPTIONAL, -- Need ON + ..., + [[ mbsfn-SubframeConfigList-v1430 MBSFN-SubframeConfigList-v1430 OPTIONAL -- Need ON + ]] +} + +NeighCellsCRS-Info-r15 ::= CHOICE { + release NULL, + setup CRS-AssistanceInfoList-r15 +} + +CRS-AssistanceInfoList-r15 ::= SEQUENCE (SIZE (1..maxCellReport)) OF CRS-AssistanceInfo-r15 + +CRS-AssistanceInfo-r15 ::= SEQUENCE { + physCellId-r15 PhysCellId, + crs-IntfMitigEnabled-r15 ENUMERATED {enabled} OPTIONAL -- Need ON +} + +NAICS-AssistanceInfo-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + neighCellsToReleaseList-r12 NeighCellsToReleaseList-r12 OPTIONAL , -- Need ON + neighCellsToAddModList-r12 NeighCellsToAddModList-r12 OPTIONAL, -- Need ON + servCellp-a-r12 P-a OPTIONAL -- Need ON + } +} + +NeighCellsToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF PhysCellId + +NeighCellsToAddModList-r12 ::= SEQUENCE (SIZE (1..maxNeighCell-r12)) OF NeighCellsInfo-r12 + +NeighCellsInfo-r12 ::= SEQUENCE { + physCellId-r12 PhysCellId, + p-b-r12 INTEGER (0..3), + crs-PortsCount-r12 ENUMERATED {n1, n2, n4, spare}, + mbsfn-SubframeConfig-r12 MBSFN-SubframeConfigList OPTIONAL, -- Need ON + p-aList-r12 SEQUENCE (SIZE (1..maxP-a-PerNeighCell-r12)) OF P-a, + transmissionModeList-r12 BIT STRING (SIZE(8)), + resAllocGranularity-r12 INTEGER (1..4), + ... +} +P-a ::= ENUMERATED { dB-6, dB-4dot77, dB-3, dB-1dot77, + dB0, dB1, dB2, dB3} + +RLC-BearerConfig-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + rlc-Config-r15 RLC-Config-r15 OPTIONAL, -- Need ON + logicalChannelIdentityConfig-r15 CHOICE { + logicalChannelIdentity-r15 INTEGER (1..10), + logicalChannelIdentityExt-r15 INTEGER (32..38) + }, + logicalChannelConfig-r15 LogicalChannelConfig OPTIONAL -- Need ON + } +} + + +RCLWI-Configuration-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + rclwi-Config-r13 RCLWI-Config-r13 + } +} + +RCLWI-Config-r13 ::= SEQUENCE { + command CHOICE { + steerToWLAN-r13 SEQUENCE { + mobilityConfig-r13 WLAN-Id-List-r12 + }, + steerToLTE-r13 NULL + }, + ... +} + + +ResourceReservationConfigDL-r16 ::= SEQUENCE { + periodicityStartPos-r16 PeriodicityStartPos-r16, + resourceReservationFreq-r16 CHOICE { + rbg-Bitmap1dot4 BIT STRING (SIZE (6)), + rbg-Bitmap3 BIT STRING (SIZE (8)), + rbg-Bitmap5 BIT STRING (SIZE (13)), + rbg-Bitmap10 BIT STRING (SIZE (17)), + rbg-Bitmap15 BIT STRING (SIZE (19)), + rbg-Bitmap20 BIT STRING (SIZE (25)) + } OPTIONAL, -- Need OP + slotBitmap-r16 CHOICE { + slotPattern10ms BIT STRING (SIZE (20)), + slotPattern40ms BIT STRING (SIZE (80)) + }, + symbolBitmap1-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap1 + symbolBitmap2-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap2 + ... +} + +ResourceReservationConfigUL-r16 ::= SEQUENCE { + periodicityStartPos-r16 PeriodicityStartPos-r16, + slotBitmap-r16 CHOICE { + slotPattern10ms BIT STRING (SIZE (20)), + slotPattern40ms BIT STRING (SIZE (80)) + } OPTIONAL, -- Cond FDDandTDDnoDL + symbolBitmap1-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap1 + symbolBitmap2-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap2 + ... +} + +PeriodicityStartPos-r16 ::= CHOICE { + periodicity10ms NULL, + periodicity20ms INTEGER(0..1), + periodicity40ms INTEGER(0..3), + periodicity80ms INTEGER(0..7), + periodicity160ms INTEGER(0..15), + spare3 NULL, spare2 NULL, spare1 NULL +} + + +RLC-Config ::= CHOICE { + am SEQUENCE { + ul-AM-RLC UL-AM-RLC, + dl-AM-RLC DL-AM-RLC + }, + um-Bi-Directional SEQUENCE { + ul-UM-RLC UL-UM-RLC, + dl-UM-RLC DL-UM-RLC + }, + um-Uni-Directional-UL SEQUENCE { + ul-UM-RLC UL-UM-RLC + }, + um-Uni-Directional-DL SEQUENCE { + dl-UM-RLC DL-UM-RLC + }, + ... +} + +RLC-Config-v1250 ::= SEQUENCE { + ul-extended-RLC-LI-Field-r12 BOOLEAN, + dl-extended-RLC-LI-Field-r12 BOOLEAN +} + +RLC-Config-v1310 ::= SEQUENCE { + ul-extended-RLC-AM-SN-r13 BOOLEAN, + dl-extended-RLC-AM-SN-r13 BOOLEAN, + pollPDU-v1310 PollPDU-v1310 OPTIONAL -- Need OR +} + +RLC-Config-v1430 ::= CHOICE { + release NULL, + setup SEQUENCE { + pollByte-r14 PollByte-r14 + } +} + +RLC-Config-v1510 ::= SEQUENCE { + reestablishRLC-r15 ENUMERATED {true} +} + +RLC-Config-v1530 ::= CHOICE { + release NULL, + setup SEQUENCE { + rlc-OutOfOrderDelivery-r15 ENUMERATED {true} + } +} + +RLC-Config-r15 ::= SEQUENCE { + mode-r15 CHOICE { + am-r15 SEQUENCE { + ul-AM-RLC-r15 UL-AM-RLC-r15, + dl-AM-RLC-r15 DL-AM-RLC-r15 + }, + um-Bi-Directional-r15 SEQUENCE { + ul-UM-RLC-r15 UL-UM-RLC, + dl-UM-RLC-r15 DL-UM-RLC-r15 + }, + um-Uni-Directional-UL-r15 SEQUENCE { + ul-UM-RLC-r15 UL-UM-RLC + }, + um-Uni-Directional-DL-r15 SEQUENCE { + dl-UM-RLC-r15 DL-UM-RLC-r15 + } + }, + reestablishRLC-r15 ENUMERATED {true} OPTIONAL, -- Need ON + rlc-OutOfOrderDelivery-r15 ENUMERATED {true} OPTIONAL, -- Need ON + ... +} + +UL-AM-RLC ::= SEQUENCE { + t-PollRetransmit T-PollRetransmit, + pollPDU PollPDU, + pollByte PollByte, + maxRetxThreshold ENUMERATED { + t1, t2, t3, t4, t6, t8, t16, t32} +} + +UL-AM-RLC-r15 ::= SEQUENCE { + t-PollRetransmit-r15 T-PollRetransmit, + pollPDU-r15 PollPDU-r15, + pollByte-r15 PollByte-r14, + maxRetxThreshold-r15 ENUMERATED { + t1, t2, t3, t4, t6, t8, t16, t32}, + extended-RLC-LI-Field-r15 BOOLEAN +} + +DL-AM-RLC ::= SEQUENCE { + t-Reordering T-Reordering, + t-StatusProhibit T-StatusProhibit +} + +DL-AM-RLC-r15 ::= SEQUENCE { + t-Reordering-r15 T-Reordering, + t-StatusProhibit-r15 T-StatusProhibit, + extended-RLC-LI-Field-r15 BOOLEAN +} + +UL-UM-RLC ::= SEQUENCE { + sn-FieldLength SN-FieldLength +} + +DL-UM-RLC ::= SEQUENCE { + sn-FieldLength SN-FieldLength, + t-Reordering T-Reordering +} + +DL-UM-RLC-r15 ::= SEQUENCE { + sn-FieldLength-r15 SN-FieldLength-r15, + t-Reordering-r15 T-Reordering +} + +SN-FieldLength ::= ENUMERATED {size5, size10} + +SN-FieldLength-r15 ::= ENUMERATED {size5, size10, size16-r15} + +T-PollRetransmit ::= ENUMERATED { + ms5, ms10, ms15, ms20, ms25, ms30, ms35, + ms40, ms45, ms50, ms55, ms60, ms65, ms70, + ms75, ms80, ms85, ms90, ms95, ms100, ms105, + ms110, ms115, ms120, ms125, ms130, ms135, + ms140, ms145, ms150, ms155, ms160, ms165, + ms170, ms175, ms180, ms185, ms190, ms195, + ms200, ms205, ms210, ms215, ms220, ms225, + ms230, ms235, ms240, ms245, ms250, ms300, + ms350, ms400, ms450, ms500, ms800-v1310, + ms1000-v1310, ms2000-v1310, ms4000-v1310, + spare5, spare4, spare3, spare2, spare1} + +PollPDU ::= ENUMERATED { + p4, p8, p16, p32, p64, p128, p256, pInfinity} + +PollPDU-v1310 ::= ENUMERATED { + p512, p1024, p2048, p4096, p6144, p8192, p12288, p16384} + +PollPDU-r15 ::= ENUMERATED { + p4, p8, p16, p32, p64, p128, p256, p512, p1024, + p2048-r15, p4096-r15, p6144-r15, p8192-r15, + p12288-r15, p16384-r15, pInfinity} + +PollByte ::= ENUMERATED { + kB25, kB50, kB75, kB100, kB125, kB250, kB375, + kB500, kB750, kB1000, kB1250, kB1500, kB2000, + kB3000, kBinfinity, spare1} + +PollByte-r14 ::= ENUMERATED { + kB1, kB2, kB5, kB8, kB10, kB15, kB3500, + kB4000, kB4500, kB5000, kB5500, kB6000, kB6500, + kB7000, kB7500, kB8000, kB9000, kB10000, kB11000, kB12000, + kB13000, kB14000, kB15000, kB16000, kB17000, kB18000, + kB19000, kB20000, kB25000, kB30000, kB35000, kB40000} + +T-Reordering ::= ENUMERATED { + ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35, + ms40, ms45, ms50, ms55, ms60, ms65, ms70, + ms75, ms80, ms85, ms90, ms95, ms100, ms110, + ms120, ms130, ms140, ms150, ms160, ms170, + ms180, ms190, ms200, ms1600-v1310} + +T-StatusProhibit ::= ENUMERATED { + ms0, ms5, ms10, ms15, ms20, ms25, ms30, ms35, + ms40, ms45, ms50, ms55, ms60, ms65, ms70, + ms75, ms80, ms85, ms90, ms95, ms100, ms105, + ms110, ms115, ms120, ms125, ms130, ms135, + ms140, ms145, ms150, ms155, ms160, ms165, + ms170, ms175, ms180, ms185, ms190, ms195, + ms200, ms205, ms210, ms215, ms220, ms225, + ms230, ms235, ms240, ms245, ms250, ms300, + ms350, ms400, ms450, ms500, ms800-v1310, + ms1000-v1310, ms1200-v1310, ms1600-v1310, ms2000-v1310, ms2400-v1310, spare2, + spare1} + + +RLF-TimersAndConstants-r9 ::= CHOICE { + release NULL, + setup SEQUENCE { + t301-r9 ENUMERATED { + ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, + ms2000}, + t310-r9 ENUMERATED { + ms0, ms50, ms100, ms200, ms500, ms1000, ms2000}, + n310-r9 ENUMERATED { + n1, n2, n3, n4, n6, n8, n10, n20}, + t311-r9 ENUMERATED { + ms1000, ms3000, ms5000, ms10000, ms15000, + ms20000, ms30000}, + n311-r9 ENUMERATED { + n1, n2, n3, n4, n5, n6, n8, n10}, + ... + } +} + +RLF-TimersAndConstants-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + t301-v1310 ENUMERATED { + ms2500, ms3000, ms3500, ms4000, ms5000, + ms6000, ms8000, ms10000}, + ..., + [[ t310-v1330 ENUMERATED {ms4000, ms6000} OPTIONAL -- Need ON + ]] + } +} + +RLF-TimersAndConstantsSCG-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + t313-r12 ENUMERATED { + ms0, ms50, ms100, ms200, ms500, ms1000, ms2000}, + n313-r12 ENUMERATED { + n1, n2, n3, n4, n6, n8, n10, n20}, + n314-r12 ENUMERATED { + n1, n2, n3, n4, n5, n6, n8, n10}, + ... + } +} + +RLF-TimersAndConstantsMCG-Failure-r16 ::= CHOICE { + release NULL, + setup SEQUENCE { + t316-r16 ENUMERATED {ms50, ms100, ms200, ms300, ms400, + ms500, ms600, ms1000, ms1500, ms2000}, + ... + } +} + + +RN-SubframeConfig-r10 ::= SEQUENCE { + subframeConfigPattern-r10 CHOICE { + subframeConfigPatternFDD-r10 BIT STRING (SIZE(8)), + subframeConfigPatternTDD-r10 INTEGER (0..31) + } OPTIONAL, -- Need ON + rpdcch-Config-r10 SEQUENCE { + resourceAllocationType-r10 ENUMERATED {type0, type1, type2Localized, type2Distributed, + spare4, spare3, spare2, spare1}, + resourceBlockAssignment-r10 CHOICE { + type01-r10 CHOICE { + nrb6-r10 BIT STRING (SIZE(6)), + nrb15-r10 BIT STRING (SIZE(8)), + nrb25-r10 BIT STRING (SIZE(13)), + nrb50-r10 BIT STRING (SIZE(17)), + nrb75-r10 BIT STRING (SIZE(19)), + nrb100-r10 BIT STRING (SIZE(25)) + }, + type2-r10 CHOICE { + nrb6-r10 BIT STRING (SIZE(5)), + nrb15-r10 BIT STRING (SIZE(7)), + nrb25-r10 BIT STRING (SIZE(9)), + nrb50-r10 BIT STRING (SIZE(11)), + nrb75-r10 BIT STRING (SIZE(12)), + nrb100-r10 BIT STRING (SIZE(13)) + }, + ... + }, + demodulationRS-r10 CHOICE { + interleaving-r10 ENUMERATED {crs}, + noInterleaving-r10 ENUMERATED {crs, dmrs} + }, + pdsch-Start-r10 INTEGER (1..3), + pucch-Config-r10 CHOICE { + tdd CHOICE { + channelSelectionMultiplexingBundling SEQUENCE { + n1PUCCH-AN-List-r10 SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047) + }, + fallbackForFormat3 SEQUENCE { + n1PUCCH-AN-P0-r10 INTEGER (0..2047), + n1PUCCH-AN-P1-r10 INTEGER (0..2047) OPTIONAL -- Need OR + } + }, + fdd SEQUENCE { + n1PUCCH-AN-P0-r10 INTEGER (0..2047), + n1PUCCH-AN-P1-r10 INTEGER (0..2047) OPTIONAL -- Need OR + } + }, + ... + } OPTIONAL, -- Need ON + ... +} + + +RSS-Config-r15 ::= SEQUENCE { + duration-r15 ENUMERATED {sf8, sf16, sf32, sf40}, + freqLocation-r15 INTEGER (0..98), + periodicity-r15 ENUMERATED {ms160, ms320, ms640, ms1280}, + powerBoost-r15 ENUMERATED {dB0, dB3, dB4dot8, dB6}, + timeOffset-r15 INTEGER (0..31) +} + + +SchedulingRequestConfig ::= CHOICE { + release NULL, + setup SEQUENCE { + sr-PUCCH-ResourceIndex INTEGER (0..2047), + sr-ConfigIndex INTEGER (0..157), + dsr-TransMax ENUMERATED { + n4, n8, n16, n32, n64, spare3, spare2, spare1} + } +} + +SchedulingRequestConfig-v1020 ::= SEQUENCE { + sr-PUCCH-ResourceIndexP1-r10 INTEGER (0..2047) OPTIONAL -- Need OR +} + +SchedulingRequestConfigSCell-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + sr-PUCCH-ResourceIndex-r13 INTEGER (0..2047), + sr-PUCCH-ResourceIndexP1-r13 INTEGER (0..2047) OPTIONAL, -- Need OR + sr-ConfigIndex-r13 INTEGER (0..157), + dsr-TransMax-r13 ENUMERATED { + n4, n8, n16, n32, n64, spare3, spare2, spare1} + } + +} + +SchedulingRequestConfig-v1530 ::= CHOICE { + release NULL, + setup SEQUENCE { + sr-SlotSPUCCH-IndexFH-r15 INTEGER (0..1319) OPTIONAL, -- Need OR + sr-SlotSPUCCH-IndexNoFH-r15 INTEGER (0..3959) OPTIONAL, -- Need OR + sr-SubslotSPUCCH-ResourceList-r15 SR-SubslotSPUCCH-ResourceList-r15 OPTIONAL, -- Need OR + sr-ConfigIndexSlot-r15 INTEGER (0..36) OPTIONAL, -- Need OR + sr-ConfigIndexSubslot-r15 INTEGER (0..122) OPTIONAL, -- Need OR + dssr-TransMax-r15 ENUMERATED { + n4, n8, n16, n32, n64, spare3, spare2, spare1} + } +} + +SR-SubslotSPUCCH-ResourceList-r15 ::= SEQUENCE (SIZE(1..4)) OF INTEGER (0..1319) + + +SlotOrSubslotPDSCH-Config-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + altCQI-TableSTTI-r15 ENUMERATED { + allSubframes, csi-SubframeSet1, + csi-SubframeSet2, spare1} OPTIONAL, -- Need OR + altCQI-Table1024QAM-STTI-r15 ENUMERATED { + allSubframes, csi-SubframeSet1, + csi-SubframeSet2, spare1} OPTIONAL, -- Need OR + resourceAllocation-r15 ENUMERATED { + resourceAllocationType0,resourceAllocationType2} OPTIONAL, -- Need OR + tbsIndexAlt-STTI-r15 ENUMERATED {a33} OPTIONAL, -- Need OR + tbsIndexAlt2-STTI-r15 ENUMERATED {b33} OPTIONAL, -- Need OR + tbsIndexAlt3-STTI-r15 ENUMERATED {a37} OPTIONAL, -- Need OR + ... + } +} + + +SlotOrSubslotPUSCH-Config-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + betaOffsetSlot-ACK-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR + betaOffset2Slot-ACK-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR + betaOffsetSubslot-ACK-Index-r15 SEQUENCE (SIZE(1..2)) OF INTEGER(0..15) OPTIONAL, -- Need OR + betaOffset2Subslot-ACK-Index-r15 SEQUENCE (SIZE(1..2)) OF INTEGER(0..15) OPTIONAL, -- Need OR + betaOffsetSlot-RI-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR + betaOffsetSubslot-RI-Index-r15 SEQUENCE (SIZE(1..2)) OF INTEGER(0..15) OPTIONAL, -- Need OR + betaOffsetSlot-CQI-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR + betaOffsetSubslot-CQI-Index-r15 INTEGER(0..15) OPTIONAL, -- Need OR + enable256QAM-SlotOrSubslot-r15 Enable256QAM-r14 OPTIONAL, -- Need ON + resourceAllocationOffset-r15 INTEGER (1..2) OPTIONAL, -- Need OR + ul-DMRS-IFDMA-SlotOrSubslot-r15 BOOLEAN, + ... + } +} + + +SoundingRS-UL-ConfigCommon ::= CHOICE { + release NULL, + setup SEQUENCE { + srs-BandwidthConfig ENUMERATED {bw0, bw1, bw2, bw3, bw4, bw5, bw6, bw7}, + srs-SubframeConfig ENUMERATED { + sc0, sc1, sc2, sc3, sc4, sc5, sc6, sc7, + sc8, sc9, sc10, sc11, sc12, sc13, sc14, sc15}, + ackNackSRS-SimultaneousTransmission BOOLEAN, + srs-MaxUpPts ENUMERATED {true} OPTIONAL -- Cond TDD + } +} + +SoundingRS-UL-ConfigDedicated ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-Bandwidth ENUMERATED {bw0, bw1, bw2, bw3}, + srs-HoppingBandwidth ENUMERATED {hbw0, hbw1, hbw2, hbw3}, + freqDomainPosition INTEGER (0..23), + duration BOOLEAN, + srs-ConfigIndex INTEGER (0..1023), + transmissionComb INTEGER (0..1), + cyclicShift ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7} + } +} + +SoundingRS-UL-ConfigDedicated-v1020 ::= SEQUENCE { + srs-AntennaPort-r10 SRS-AntennaPort +} + +SoundingRS-UL-ConfigDedicated-v1310 ::= CHOICE{ + release NULL, + setup SEQUENCE { + transmissionComb-v1310 INTEGER (2..3) OPTIONAL, -- Need OR + cyclicShift-v1310 ENUMERATED {cs8, cs9, cs10, cs11} OPTIONAL, -- Need OR + transmissionCombNum-r13 ENUMERATED {n2, n4} OPTIONAL -- Need OR + } +} + +SoundingRS-UL-ConfigDedicatedUpPTsExt-r13 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-UpPtsAdd-r13 ENUMERATED {sym2, sym4}, + srs-Bandwidth-r13 ENUMERATED {bw0, bw1, bw2, bw3}, + srs-HoppingBandwidth-r13 ENUMERATED {hbw0, hbw1, hbw2, hbw3}, + freqDomainPosition-r13 INTEGER (0..23), + duration-r13 BOOLEAN, + srs-ConfigIndex-r13 INTEGER (0..1023), + transmissionComb-r13 INTEGER (0..3), + cyclicShift-r13 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, + cs8, cs9, cs10, cs11}, + srs-AntennaPort-r13 SRS-AntennaPort, + transmissionCombNum-r13 ENUMERATED {n2, n4} + } +} + +SoundingRS-UL-ConfigDedicatedAperiodic-r10 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-ConfigIndexAp-r10 INTEGER (0..31), + srs-ConfigApDCI-Format4-r10 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-r10 OPTIONAL,--Need ON + srs-ActivateAp-r10 CHOICE { + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format0-r10 SRS-ConfigAp-r10, + srs-ConfigApDCI-Format1a2b2c-r10 SRS-ConfigAp-r10, + ... + } + } OPTIONAL -- Need ON + } +} + +SoundingRS-UL-ConfigDedicatedAperiodic-v1310 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format4-v1310 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-v1310 OPTIONAL,--Need ON + srs-ActivateAp-v1310 CHOICE { + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format0-v1310 SRS-ConfigAp-v1310 OPTIONAL, -- Need ON + srs-ConfigApDCI-Format1a2b2c-v1310 SRS-ConfigAp-v1310 OPTIONAL -- Need ON + } + } OPTIONAL -- Need ON + } +} + +SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-UpPtsAdd-r13 ENUMERATED {sym2, sym4}, + srs-ConfigIndexAp-r13 INTEGER (0..31), + srs-ConfigApDCI-Format4-r13 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAp-r13 OPTIONAL,--Need ON + srs-ActivateAp-r13 CHOICE { + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format0-r13 SRS-ConfigAp-r13, + srs-ConfigApDCI-Format1a2b2c-r13 SRS-ConfigAp-r13 + } + } OPTIONAL -- Need ON + } +} + +SoundingRS-UL-ConfigDedicatedAperiodic-v1430 ::= CHOICE{ + release NULL, + setup SEQUENCE { + srs-SubframeIndication-r14 INTEGER (1..4) OPTIONAL -- Need ON + } +} + +SoundingRS-UL-ConfigDedicatedAdd-r16 ::= SEQUENCE { + srs-ConfigIndexAp-r16 INTEGER (0..31), + srs-ConfigApDCI-Format4-r16 SEQUENCE (SIZE (1..3)) OF SRS-ConfigAdd-r16 + OPTIONAL, --Need ON + srs-ActivateAp-r13 CHOICE { + release NULL, + setup SEQUENCE { + srs-ConfigApDCI-Format0-r16 SRS-ConfigAdd-r16, + srs-ConfigApDCI-Format1a2b2c-r16 SRS-ConfigAdd-r16 + } + } OPTIONAL --Need ON +} + +SRS-ConfigAp-r10 ::= SEQUENCE { + srs-AntennaPortAp-r10 SRS-AntennaPort, + srs-BandwidthAp-r10 ENUMERATED {bw0, bw1, bw2, bw3}, + freqDomainPositionAp-r10 INTEGER (0..23), + transmissionCombAp-r10 INTEGER (0..1), + cyclicShiftAp-r10 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7} +} + +SRS-ConfigAp-v1310 ::= SEQUENCE { + transmissionCombAp-v1310 INTEGER (2..3) OPTIONAL, -- Need OR + cyclicShiftAp-v1310 ENUMERATED {cs8, cs9, cs10, cs11} OPTIONAL, -- Need OR + transmissionCombNum-r13 ENUMERATED {n2, n4} OPTIONAL -- Need OR +} + +SRS-ConfigAp-r13 ::= SEQUENCE { + srs-AntennaPortAp-r13 SRS-AntennaPort, + srs-BandwidthAp-r13 ENUMERATED {bw0, bw1, bw2, bw3}, + freqDomainPositionAp-r13 INTEGER (0..23), + transmissionCombAp-r13 INTEGER (0..3), + cyclicShiftAp-r13 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, + cs8, cs9, cs10, cs11}, + transmissionCombNum-r13 ENUMERATED {n2, n4} +} + +SRS-AntennaPort ::= ENUMERATED {an1, an2, an4, spare1} + +SRS-ConfigAdd-r16 ::= SEQUENCE { + srs-RepNumAdd-r16 ENUMERATED {n1, n2, n3, n4, n6, n7, n8, n9, n12, n13}, + srs-BandwidthAdd-r16 ENUMERATED {bw0, bw1, bw2, bw3}, + srs-HoppingBandwidthAdd-r16 ENUMERATED {hbw0, hbw1, hbw2, hbw3}, + srs-FreqDomainPosAdd-r16 INTEGER (0..23), + srs-AntennaPortAdd-r16 SRS-AntennaPort, + srs-CyclicShiftAdd-r16 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, + cs8, cs9, cs10, cs11}, + srs-TransmissionCombNumAdd-r16 ENUMERATED {n2, n4}, + srs-TransmissionCombAdd-r16 INTEGER (0..3), + srs-StartPosAdd-r16 INTEGER (1..13), + srs-DurationAdd-r16 INTEGER (1..13), + srs-GuardSymbolAS-Add-r16 ENUMERATED {enabled} OPTIONAL, -- Need ON + srs-GuardSymbolFH-Add-r16 ENUMERATED {enabled} OPTIONAL -- Need ON +} + + +SPDCCH-Config-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + spdcch-L1-ReuseIndication-r15 ENUMERATED {n0,n1,n2} OPTIONAL, -- Need OR + spdcch-SetConfig-r15 SPDCCH-Set-r15 OPTIONAL -- Need OR + } +} + +SPDCCH-Set-r15 ::= SEQUENCE (SIZE (1..4)) OF SPDCCH-Elements-r15 + +SPDCCH-Elements-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + spdcch-SetConfigId-r15 INTEGER (0..3) OPTIONAL, -- Need OR + spdcch-SetReferenceSig-r15 ENUMERATED {crs, dmrs} OPTIONAL, -- Need OR + transmissionType-r15 ENUMERATED {localised, distributed} OPTIONAL, -- Need OR + spdcch-NoOfSymbols-r15 INTEGER (1..2) OPTIONAL, -- Need OR + dmrs-ScramblingSequenceInt-r15 INTEGER (0..503) OPTIONAL, -- Need OR + dci7-CandidatesPerAL-PDCCH-r15 SEQUENCE (SIZE(1..4)) OF + DCI7-Candidates-r15 OPTIONAL, -- Need OR + dci7-CandidateSetsPerAL-SPDCCH-r15 SEQUENCE (SIZE(1..2)) OF + DCI7-CandidatesPerAL-SPDCCH-r15 OPTIONAL, -- Need OR + resourceBlockAssignment-r15 SEQUENCE{ + numberRB-InFreq-domain-r15 INTEGER (2..100), + resourceBlockAssignment-r15 BIT STRING (SIZE(98)) + } OPTIONAL, -- Need OR + subslotApplicability-r15 BIT STRING (SIZE(5)) OPTIONAL, -- Need OR + al-StartingPointSPDCCH-r15 SEQUENCE (SIZE(1..4)) OF + INTEGER(0..49) OPTIONAL, -- Need OR + subframeType-r15 ENUMERATED {mbsfn, nonmbsfn, all} OPTIONAL, -- Need OR + rateMatchingMode-r15 ENUMERATED {m1, m2, m3, m4} OPTIONAL, -- Need OR + ... + } +} + +DCI7-Candidates-r15 ::= INTEGER (0..6) +DCI7-CandidatesPerAL-SPDCCH-r15 ::= SEQUENCE (SIZE(1..4)) OF DCI7-Candidates-r15 + + +SPS-Config ::= SEQUENCE { + semiPersistSchedC-RNTI C-RNTI OPTIONAL, -- Need OR + sps-ConfigDL SPS-ConfigDL OPTIONAL, -- Need ON + sps-ConfigUL SPS-ConfigUL OPTIONAL -- Need ON +} + +SPS-Config-v1430 ::= SEQUENCE { + ul-SPS-V-RNTI-r14 C-RNTI OPTIONAL, -- Need OR + sl-SPS-V-RNTI-r14 C-RNTI OPTIONAL, -- Need OR + sps-ConfigUL-ToAddModList-r14 SPS-ConfigUL-ToAddModList-r14 OPTIONAL, -- Need ON + sps-ConfigUL-ToReleaseList-r14 SPS-ConfigUL-ToReleaseList-r14 OPTIONAL, -- Need ON + sps-ConfigSL-ToAddModList-r14 SPS-ConfigSL-ToAddModList-r14 OPTIONAL, -- Need ON + sps-ConfigSL-ToReleaseList-r14 SPS-ConfigSL-ToReleaseList-r14 OPTIONAL -- Need ON +} + +SPS-ConfigUL-ToAddModList-r14 ::= SEQUENCE (SIZE (1..maxConfigSPS-r14)) OF SPS-ConfigUL + +SPS-ConfigUL-ToReleaseList-r14 ::= SEQUENCE (SIZE (1..maxConfigSPS-r14)) OF SPS-ConfigIndex-r14 + +SPS-ConfigSL-ToAddModList-r14 ::= SEQUENCE (SIZE (1..maxConfigSPS-r14)) OF SPS-ConfigSL-r14 + +SPS-ConfigSL-ToReleaseList-r14 ::= SEQUENCE (SIZE (1..maxConfigSPS-r14)) OF SPS-ConfigIndex-r14 + +SPS-Config-v1530 ::= SEQUENCE { + semiPersistSchedC-RNTI-r15 C-RNTI OPTIONAL, -- Need OR + sps-ConfigDL-r15 SPS-ConfigDL OPTIONAL, -- Need ON + sps-ConfigUL-STTI-ToAddModList-r15 SPS-ConfigUL-STTI-ToAddModList-r15 OPTIONAL, -- Need ON + sps-ConfigUL-STTI-ToReleaseList-r15 SPS-ConfigUL-STTI-ToReleaseList-r15 OPTIONAL, -- Need ON + sps-ConfigUL-ToAddModList-r15 SPS-ConfigUL-ToAddModList-r15 OPTIONAL, -- Need ON + sps-ConfigUL-ToReleaseList-r15 SPS-ConfigUL-ToReleaseList-r15 OPTIONAL -- Need ON +} + +SPS-Config-v1540 ::= SEQUENCE { + sps-ConfigDL-STTI-r15 SPS-ConfigDL-STTI-r15 OPTIONAL -- Need OR +} + +SPS-ConfigUL-STTI-ToAddModList-r15 ::= SEQUENCE (SIZE (1..maxConfigSPS-r15)) OF SPS-ConfigUL-STTI-r15 + +SPS-ConfigUL-STTI-ToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxConfigSPS-r15)) OF SPS-ConfigIndex-r15 + +SPS-ConfigUL-ToAddModList-r15 ::= SEQUENCE (SIZE (1..maxConfigSPS-r15)) OF SPS-ConfigUL + +SPS-ConfigUL-ToReleaseList-r15 ::= SEQUENCE (SIZE (1..maxConfigSPS-r15)) OF SPS-ConfigIndex-r15 + +SPS-ConfigDL ::= CHOICE{ + release NULL, + setup SEQUENCE { + semiPersistSchedIntervalDL ENUMERATED { + sf10, sf20, sf32, sf40, sf64, sf80, + sf128, sf160, sf320, sf640, spare6, + spare5, spare4, spare3, spare2, + spare1}, + numberOfConfSPS-Processes INTEGER (1..8), + n1PUCCH-AN-PersistentList N1PUCCH-AN-PersistentList, + ..., + [[ twoAntennaPortActivated-r10 CHOICE { + release NULL, + setup SEQUENCE { + n1PUCCH-AN-PersistentListP1-r10 N1PUCCH-AN-PersistentList + } + } OPTIONAL -- Need ON + ]] + } +} + +SPS-ConfigUL ::= CHOICE { + release NULL, + setup SEQUENCE { + semiPersistSchedIntervalUL ENUMERATED { + sf10, sf20, sf32, sf40, sf64, sf80, + sf128, sf160, sf320, sf640, sf1-v1430, + sf2-v1430, sf3-v1430, sf4-v1430, sf5-v1430, + spare1}, + implicitReleaseAfter ENUMERATED {e2, e3, e4, e8}, + p0-Persistent SEQUENCE { + p0-NominalPUSCH-Persistent INTEGER (-126..24), + p0-UE-PUSCH-Persistent INTEGER (-8..7) + } OPTIONAL, -- Need OP + twoIntervalsConfig ENUMERATED {true} OPTIONAL, -- Cond TDD + ..., + [[ p0-PersistentSubframeSet2-r12 CHOICE { + release NULL, + setup SEQUENCE { + p0-NominalPUSCH-PersistentSubframeSet2-r12 INTEGER (-126..24), + p0-UE-PUSCH-PersistentSubframeSet2-r12 INTEGER (-8..7) + } + } OPTIONAL -- Need ON + ]], + [[ numberOfConfUlSPS-Processes-r13 INTEGER (1..8) OPTIONAL -- Need OR + ]], + [[ fixedRV-NonAdaptive-r14 ENUMERATED {true} OPTIONAL, -- Need OR + sps-ConfigIndex-r14 SPS-ConfigIndex-r14 OPTIONAL, -- Need OR + semiPersistSchedIntervalUL-v1430 ENUMERATED { + sf50, sf100, sf200, sf300, sf400, sf500, + sf600, sf700, sf800, sf900, sf1000, spare5, + spare4, spare3, spare2, spare1} OPTIONAL -- Need OR + + ]], + [[ cyclicShiftSPS-r15 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7} + OPTIONAL, -- Need ON + harq-ProcID-Offset-r15 INTEGER (0..7) OPTIONAL, -- Need ON + rv-SPS-UL-Repetitions-r15 ENUMERATED {ulrvseq1, ulrvseq2, ulrvseq3} OPTIONAL, -- Need ON + tpc-PDCCH-ConfigPUSCH-SPS-r15 TPC-PDCCH-Config OPTIONAL, -- Need ON + totalNumberPUSCH-SPS-UL-Repetitions-r15 ENUMERATED {n2,n3,n4,n6} OPTIONAL, -- Need ON + sps-ConfigIndex-r15 SPS-ConfigIndex-r15 OPTIONAL -- Cond SPS + ]] + } +} + +SPS-ConfigSL-r14 ::= SEQUENCE { + sps-ConfigIndex-r14 SPS-ConfigIndex-r14, + semiPersistSchedIntervalSL-r14 ENUMERATED { + sf20, sf50, sf100, sf200, sf300, sf400, + sf500, sf600, sf700, sf800, sf900, sf1000, + spare4, spare3, spare2, spare1} +} + +SPS-ConfigIndex-r14 ::= INTEGER (1..maxConfigSPS-r14) + +SPS-ConfigIndex-r15 ::= INTEGER (1..maxConfigSPS-r15) + +N1PUCCH-AN-PersistentList ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047) + +N1SPUCCH-AN-PersistentList-r15 ::= SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047) + +SPS-ConfigDL-STTI-r15 ::= CHOICE{ + release NULL, + setup SEQUENCE { + semiPersistSchedIntervalDL-STTI-r15 ENUMERATED { + sTTI1, sTTI2, sTTI3, sTTI4, sTTI6, sTTI8, sTTI12, sTTI16, + sTTI20, sTTI40, sTTI60, sTTI80, sTTI120, sTTI240, + spare2, spare1}, + numberOfConfSPS-Processes-STTI-r15 INTEGER (1..12), + twoAntennaPortActivated-r15 CHOICE { + release NULL, + setup SEQUENCE { + n1SPUCCH-AN-PersistentListP1-r15 N1SPUCCH-AN-PersistentList-r15 + } + } OPTIONAL, -- Need ON + sTTI-StartTimeDL-r15 INTEGER (0..5), + tpc-PDCCH-ConfigPUCCH-SPS-r15 TPC-PDCCH-Config OPTIONAL, -- Need ON + ... + } +} + +SPS-ConfigUL-STTI-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + semiPersistSchedIntervalUL-STTI-r15 ENUMERATED { + sTTI1, sTTI2, sTTI3, sTTI4, sTTI6, sTTI8, sTTI12, sTTI16, + sTTI20, sTTI40, sTTI60, sTTI80, sTTI120, sTTI240, + spare2, spare1}, + implicitReleaseAfter ENUMERATED {e2, e3, e4, e8}, + p0-Persistent-r15 SEQUENCE { + p0-NominalSPUSCH-Persistent-r15 INTEGER (-126..24), + p0-UE-SPUSCH-Persistent-r15 INTEGER (-8..7) + } OPTIONAL, -- Need OP + twoIntervalsConfig-r15 ENUMERATED {true} OPTIONAL, -- Cond TDD + p0-PersistentSubframeSet2-r15 CHOICE { + release NULL, + setup SEQUENCE { + p0-NominalSPUSCH-PersistentSubframeSet2-r15 INTEGER (-126..24), + p0-UE-SPUSCH-PersistentSubframeSet2-r15 INTEGER (-8..7) + } + } OPTIONAL, -- Need ON + numberOfConfUL-SPS-Processes-STTI-r15 INTEGER (1..12) OPTIONAL, -- Need OR + sTTI-StartTimeUL-r15 INTEGER (0..5), + tpc-PDCCH-ConfigPUSCH-SPS-r15 TPC-PDCCH-Config OPTIONAL, -- Need ON + cyclicShiftSPS-sTTI-r15 ENUMERATED {cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7} OPTIONAL, -- Need ON + ifdma-Config-SPS-r15 BOOLEAN OPTIONAL, -- Need ON + harq-ProcID-offset-r15 INTEGER (0..15) OPTIONAL, -- Need ON + rv-SPS-STTI-UL-Repetitions-r15 ENUMERATED {ulrvseq1, ulrvseq2, ulrvseq3} OPTIONAL, -- Need ON + sps-ConfigIndex-r15 SPS-ConfigIndex-r15 OPTIONAL, -- Need OR + tbs-scalingFactorSubslotSPS-UL-Repetitions-r15 ENUMERATED {n6, n12} OPTIONAL, -- Need ON + totalNumberPUSCH-SPS-STTI-UL-Repetitions-r15 ENUMERATED {n2,n3,n4,n6} OPTIONAL, -- Need ON + ... + } +} + + + +SPUCCH-Config-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + spucch-Set-r15 SPUCCH-Set-r15 OPTIONAL, -- Need ON + twoAntennaPortActivatedSPUCCH-Format1a1b-r15 ENUMERATED {true} OPTIONAL, -- Need OR + dummy SEQUENCE { + n3SPUCCH-AN-List-r15 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) + } + } +} + +SPUCCH-Config-v1550 ::= CHOICE { + release NULL, + setup SEQUENCE { + twoAntennaPortActivatedSPUCCH-Format3-v1550 SEQUENCE { + n3SPUCCH-AN-List-v1550 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549) + } + } +} + +SPUCCH-Set-r15 ::= SEQUENCE (SIZE (1..4)) OF SPUCCH-Elements-r15 + +SPUCCH-Elements-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + n1SubslotSPUCCH-AN-List-r15 SEQUENCE (SIZE(1..4)) OF INTEGER (0..1319) OPTIONAL, -- Need OR + n1SlotSPUCCH-FH-AN-List-r15 INTEGER (0..1319) OPTIONAL, -- Need OR + n1SlotSPUCCH-NoFH-AN-List-r15 INTEGER (0..3959) OPTIONAL, -- Need OR + n3SPUCCH-AN-List-r15 INTEGER (0..549) OPTIONAL, -- Need OR + n4SPUCCHSlot-Resource-r15 SEQUENCE (SIZE(1..2)) OF N4SPUCCH-Resource-r15 OPTIONAL, -- Need OR + n4SPUCCHSubslot-Resource-r15 SEQUENCE (SIZE(1..2)) OF N4SPUCCH-Resource-r15 OPTIONAL, -- Need OR + n4maxCoderateSlotPUCCH-r15 INTEGER (0..7) OPTIONAL, -- Need OR + n4maxCoderateSubslotPUCCH-r15 INTEGER (0..7) OPTIONAL, -- Need OR + n4maxCoderateMultiResourceSlotPUCCH-r15 INTEGER (0..7) OPTIONAL, -- Need OR + n4maxCoderateMultiResourceSubslotPUCCH-r15 INTEGER (0..7) OPTIONAL -- Need OR + } +} + +N4SPUCCH-Resource-r15 ::= SEQUENCE { + n4startingPRB-r15 INTEGER (0..109), + n4numberOfPRB-r15 INTEGER (0..7) +} + + +SRS-TPC-PDCCH-Config-r14 ::= CHOICE { + release NULL, + setup SEQUENCE { + srs-TPC-RNTI-r14 BIT STRING (SIZE (16)), + startingBitOfFormat3B-r14 INTEGER (0..31), + fieldTypeFormat3B-r14 INTEGER (1..4), + srs-CC-SetIndexlist-r14 SEQUENCE (SIZE(1..4)) OF SRS-CC-SetIndex-r14 OPTIONAL -- Cond SRS-Trigger-TypeA + + } +} + +SRS-CC-SetIndex-r14 ::= SEQUENCE { + cc-SetIndex-r14 INTEGER (0..3), + cc-IndexInOneCC-Set-r14 INTEGER (0..7) +} + + +TDD-Config ::= SEQUENCE { + subframeAssignment ENUMERATED { + sa0, sa1, sa2, sa3, sa4, sa5, sa6}, + specialSubframePatterns ENUMERATED { + ssp0, ssp1, ssp2, ssp3, ssp4,ssp5, ssp6, ssp7, + ssp8} +} + +TDD-Config-v1130 ::= SEQUENCE { + specialSubframePatterns-v1130 ENUMERATED {ssp7,ssp9} +} + +TDD-Config-v1430 ::= SEQUENCE { + specialSubframePatterns-v1430 ENUMERATED {ssp10} +} + +TDD-Config-v1450 ::= SEQUENCE { + specialSubframePatterns-v1450 ENUMERATED {ssp10-CRS-LessDwPTS} +} + +TDD-ConfigSL-r12 ::= SEQUENCE { + subframeAssignmentSL-r12 ENUMERATED { + none, sa0, sa1, sa2, sa3, sa4, sa5, sa6} +} + + +TDM-PatternConfig-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + subframeAssignment-r15 SubframeAssignment-r15, + harq-Offset-r15 INTEGER (0..9) + } +} + +SubframeAssignment-r15 ::= ENUMERATED {sa0, sa1, sa2, sa3, sa4, sa5, sa6} + + +TimeAlignmentTimer ::= ENUMERATED { + sf500, sf750, sf1280, sf1920, sf2560, sf5120, + sf10240, infinity} + + +TimeReferenceInfo-r15 ::= SEQUENCE { + time-r15 ReferenceTime-r15, + uncertainty-r15 INTEGER (0..12) OPTIONAL, -- Need OR + timeInfoType-r15 ENUMERATED {localClock} OPTIONAL, -- Need OR + referenceSFN-r15 INTEGER (0..1023) OPTIONAL -- Cond TimeRef +} + +ReferenceTime-r15 ::= SEQUENCE { + refDays-r15 INTEGER (0..72999), + refSeconds-r15 INTEGER (0..86399), + refMilliSeconds-r15 INTEGER (0..999), + refQuarterMicroSeconds-r15 INTEGER (0..3999) +} + + +TPC-PDCCH-Config ::= CHOICE { + release NULL, + setup SEQUENCE { + tpc-RNTI BIT STRING (SIZE (16)), + tpc-Index TPC-Index + } +} + +TPC-PDCCH-ConfigSCell-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + tpc-Index-PUCCH-SCell-r13 TPC-Index + } +} + +TPC-Index ::= CHOICE { + indexOfFormat3 INTEGER (1..15), + indexOfFormat3A INTEGER (1..31) +} + + +TunnelConfigLWIP-r13 ::= SEQUENCE { + ip-Address-r13 IP-Address-r13, + ike-Identity-r13 IKE-Identity-r13, + ..., + [[ lwip-Counter-r13 INTEGER (0..65535) OPTIONAL -- Cond LWIP-Setup + ]] +} + +IKE-Identity-r13 ::= SEQUENCE { + idI-r13 OCTET STRING +} + +IP-Address-r13 ::= CHOICE { + ipv4-r13 BIT STRING (SIZE (32)), + ipv6-r13 BIT STRING (SIZE (128)) +} + + +UplinkPowerControlCommon ::= SEQUENCE { + p0-NominalPUSCH INTEGER (-126..24), + alpha Alpha-r12, + p0-NominalPUCCH INTEGER (-127..-96), + deltaFList-PUCCH DeltaFList-PUCCH, + deltaPreambleMsg3 INTEGER (-1..6) +} + +UplinkPowerControlCommon-v1020 ::= SEQUENCE { + deltaF-PUCCH-Format3-r10 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2, + deltaF3, deltaF4, deltaF5, deltaF6}, + deltaF-PUCCH-Format1bCS-r10 ENUMERATED {deltaF1, deltaF2, spare2, spare1} +} + +UplinkPowerControlCommon-v1310 ::= SEQUENCE { + deltaF-PUCCH-Format4-r13 ENUMERATED {deltaF16, deltaF15, deltaF14,deltaF13, deltaF12, + deltaF11, deltaF10, spare1} OPTIONAL, -- Need OR + deltaF-PUCCH-Format5-13 ENUMERATED { deltaF13, deltaF12, deltaF11, deltaF10, deltaF9, + deltaF8, deltaF7, spare1} OPTIONAL -- Need OR +} + +UplinkPowerControlCommon-v1530 ::= SEQUENCE { + deltaFList-SPUCCH-r15 DeltaFList-SPUCCH-r15 +} + +UplinkPowerControlCommon-v1610 ::= SEQUENCE { + alphaSRS-Add-r16 Alpha-r12, + p0-NominalSRS-Add-r16 INTEGER (-126..24) +} + +UplinkPowerControlCommonPSCell-r12 ::= SEQUENCE { +-- For uplink power control the additional/ missing fields are signalled (compared to SCell) + deltaF-PUCCH-Format3-r12 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2, + deltaF3, deltaF4, deltaF5, deltaF6}, + deltaF-PUCCH-Format1bCS-r12 ENUMERATED {deltaF1, deltaF2, spare2, spare1}, + p0-NominalPUCCH-r12 INTEGER (-127..-96), + deltaFList-PUCCH-r12 DeltaFList-PUCCH +} + + +UplinkPowerControlCommonSCell-r10 ::= SEQUENCE { + p0-NominalPUSCH-r10 INTEGER (-126..24), + alpha-r10 Alpha-r12 +} + +UplinkPowerControlCommonSCell-v1130 ::= SEQUENCE { + deltaPreambleMsg3-r11 INTEGER (-1..6) +} + +UplinkPowerControlCommonSCell-v1310 ::= SEQUENCE { +-- For uplink power control the additional/ missing fields are signalled (compared to SCell) + p0-NominalPUCCH INTEGER (-127..-96), + deltaFList-PUCCH DeltaFList-PUCCH, + deltaF-PUCCH-Format3-r12 ENUMERATED {deltaF-1, deltaF0, deltaF1, + deltaF2, deltaF3, deltaF4, deltaF5, + deltaF6} OPTIONAL, -- Need OR + deltaF-PUCCH-Format1bCS-r12 ENUMERATED {deltaF1, deltaF2, + spare2, spare1} OPTIONAL, -- Need OR + deltaF-PUCCH-Format4-r13 ENUMERATED {deltaF16, deltaF15, deltaF14, + deltaF13, deltaF12, deltaF11, deltaF10, + spare1} OPTIONAL, -- Need OR + deltaF-PUCCH-Format5-13 ENUMERATED { deltaF13, deltaF12, deltaF11, + deltaF10, deltaF9, deltaF8, deltaF7, + spare1} OPTIONAL -- Need OR +} + +UplinkPowerControlCommonPUSCH-LessCell-v1430 ::= SEQUENCE { + p0-Nominal-PeriodicSRS-r14 INTEGER (-126..24) OPTIONAL, -- Need OR + p0-Nominal-AperiodicSRS-r14 INTEGER (-126..24) OPTIONAL, -- Need OR + alpha-SRS-r14 Alpha-r12 OPTIONAL -- Need OR +} + +UplinkPowerControlDedicated ::= SEQUENCE { + p0-UE-PUSCH INTEGER (-8..7), + deltaMCS-Enabled ENUMERATED {en0, en1}, + accumulationEnabled BOOLEAN, + p0-UE-PUCCH INTEGER (-8..7), + pSRS-Offset INTEGER (0..15), + filterCoefficient FilterCoefficient DEFAULT fc4 +} + +UplinkPowerControlDedicated-v1020 ::= SEQUENCE { + deltaTxD-OffsetListPUCCH-r10 DeltaTxD-OffsetListPUCCH-r10 OPTIONAL, -- Need OR + pSRS-OffsetAp-r10 INTEGER (0..15) OPTIONAL -- Need OR +} + +UplinkPowerControlDedicated-v1130 ::= SEQUENCE { + pSRS-Offset-v1130 INTEGER (16..31) OPTIONAL, -- Need OR + pSRS-OffsetAp-v1130 INTEGER (16..31) OPTIONAL, -- Need OR + deltaTxD-OffsetListPUCCH-v1130 DeltaTxD-OffsetListPUCCH-v1130 OPTIONAL -- Need OR +} + +UplinkPowerControlDedicated-v1250 ::= SEQUENCE { + set2PowerControlParameter CHOICE { + release NULL, + setup SEQUENCE { + tpc-SubframeSet-r12 BIT STRING (SIZE(10)), + p0-NominalPUSCH-SubframeSet2-r12 INTEGER (-126..24), + alpha-SubframeSet2-r12 Alpha-r12, + p0-UE-PUSCH-SubframeSet2-r12 INTEGER (-8..7) + } + } +} + +UplinkPowerControlDedicated-v1530 ::= SEQUENCE { + alpha-UE-r15 Alpha-r12 OPTIONAL, -- Need OR + p0-UE-PUSCH-r15 INTEGER (-16..15) OPTIONAL -- Need OR +} + +UplinkPowerControlDedicatedSTTI-r15 ::= SEQUENCE { + accumulationEnabledSTTI-r15 BOOLEAN, + deltaTxD-OffsetListSPUCCH-r15 DeltaTxD-OffsetListSPUCCH-r15 OPTIONAL, -- Need OR + uplinkPower-CSIPayload BOOLEAN +} + +UplinkPUSCH-LessPowerControlDedicated-v1430 ::= SEQUENCE { + p0-UE-PeriodicSRS-r14 INTEGER (-8..7) OPTIONAL, -- Need OR + p0-UE-AperiodicSRS-r14 INTEGER (-8..7) OPTIONAL, -- Need OR + accumulationEnabled-r14 BOOLEAN +} + +UplinkPowerControlAddSRS-r16 ::= SEQUENCE { + tpc-IndexSRS-Add-r16 TPC-Index OPTIONAL, -- Need ON + startingBitOfFormat3B-SRS-Add-r16 INTEGER (0..31) OPTIONAL, -- Need ON + fieldTypeFormat3B-SRS-Add-r16 INTEGER (1..2) OPTIONAL, -- Need ON + p0-UE-SRS-Add-r16 INTEGER (-16..15) OPTIONAL, -- Need ON + accumulationEnabledSRS-Add-r16 BOOLEAN +} + +UplinkPowerControlDedicatedSCell-r10 ::= SEQUENCE { + p0-UE-PUSCH-r10 INTEGER (-8..7), + deltaMCS-Enabled-r10 ENUMERATED {en0, en1}, + accumulationEnabled-r10 BOOLEAN, + pSRS-Offset-r10 INTEGER (0..15), + pSRS-OffsetAp-r10 INTEGER (0..15) OPTIONAL, -- Need OR + filterCoefficient-r10 FilterCoefficient DEFAULT fc4, + pathlossReferenceLinking-r10 ENUMERATED {pCell, sCell} +} + +UplinkPowerControlDedicatedSCell-v1310 ::= SEQUENCE { +--Release 8 + p0-UE-PUCCH INTEGER (-8..7), +--Release 10 + deltaTxD-OffsetListPUCCH-r10 DeltaTxD-OffsetListPUCCH-r10 OPTIONAL -- Need OR +} + +DeltaFList-PUCCH ::= SEQUENCE { + deltaF-PUCCH-Format1 ENUMERATED {deltaF-2, deltaF0, deltaF2}, + deltaF-PUCCH-Format1b ENUMERATED {deltaF1, deltaF3, deltaF5}, + deltaF-PUCCH-Format2 ENUMERATED {deltaF-2, deltaF0, deltaF1, deltaF2}, + deltaF-PUCCH-Format2a ENUMERATED {deltaF-2, deltaF0, deltaF2}, + deltaF-PUCCH-Format2b ENUMERATED {deltaF-2, deltaF0, deltaF2} +} + +DeltaFList-SPUCCH-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + deltaF-slotSPUCCH-Format1-r15 ENUMERATED {deltaF-1, deltaF0, deltaF1, deltaF2, + deltaF3, deltaF4, deltaF5, deltaF6} OPTIONAL, --Need OR + deltaF-slotSPUCCH-Format1a-r15 ENUMERATED {deltaF1, deltaF2, deltaF3, deltaF4, + deltaF5, deltaF6, deltaF7, deltaF8} OPTIONAL, --Need OR + deltaF-slotSPUCCH-Format1b-r15 ENUMERATED {deltaF3, deltaF4, deltaF5, deltaF6, + deltaF7, deltaF8, deltaF9, deltaF10} OPTIONAL,--Need OR + deltaF-slotSPUCCH-Format3-r15 ENUMERATED {deltaF4, deltaF5, deltaF6, deltaF7, + deltaF8, deltaF9, deltaF10, deltaF11} OPTIONAL,--Need OR + deltaF-slotSPUCCH-RM-Format4-r15 ENUMERATED {deltaF13, deltaF14, deltaF15, deltaF16, + deltaF17, deltaF18, deltaF19, deltaF20} OPTIONAL, +--Need OR + deltaF-slotSPUCCH-TBCC-Format4-r15 ENUMERATED {deltaF10, deltaF11, deltaF12, deltaF13, + deltaF14, deltaF15, deltaF16, deltaF17} OPTIONAL, +--Need OR + deltaF-subslotSPUCCH-Format1and1a-r15 ENUMERATED {deltaF5, deltaF6, deltaF7, deltaF8, + deltaF9, deltaF10, deltaF11, deltaF12} OPTIONAL, +--Need OR + deltaF-subslotSPUCCH-Format1b-r15 ENUMERATED {deltaF6, deltaF7, deltaF8, deltaF9, + deltaF10, deltaF11, deltaF12, deltaF13} OPTIONAL, +--Need OR + deltaF-subslotSPUCCH-RM-Format4-r15 ENUMERATED {deltaF15, deltaF16, deltaF17, deltaF18, + deltaF19, deltaF20, deltaF21, deltaF22} OPTIONAL, +--Need OR + deltaF-subslotSPUCCH-TBCC-Format4-r15 ENUMERATED {deltaF10, deltaF11, deltaF12, deltaF13, + deltaF14, deltaF15, deltaF16, deltaF17} OPTIONAL, +--Need OR + ... + } +} + +DeltaTxD-OffsetListPUCCH-r10 ::= SEQUENCE { + deltaTxD-OffsetPUCCH-Format1-r10 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetPUCCH-Format1a1b-r10 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetPUCCH-Format22a2b-r10 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetPUCCH-Format3-r10 ENUMERATED {dB0, dB-2}, + ... + +} + +DeltaTxD-OffsetListPUCCH-v1130 ::= SEQUENCE { + deltaTxD-OffsetPUCCH-Format1bCS-r11 ENUMERATED {dB0, dB-1} +} + +DeltaTxD-OffsetListSPUCCH-r15 ::= SEQUENCE { + deltaTxD-OffsetSPUCCH-Format1-r15 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetSPUCCH-Format1a-r15 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetSPUCCH-Format1b-r15 ENUMERATED {dB0, dB-2}, + deltaTxD-OffsetSPUCCH-Format3-r15 ENUMERATED {dB0, dB-2}, + ... +} + + +WLAN-Id-List-r13 ::= SEQUENCE (SIZE (1..maxWLAN-Id-r13)) OF WLAN-Identifiers-r12 + + +WLAN-MobilityConfig-r13 ::= SEQUENCE { + wlan-ToReleaseList-r13 WLAN-Id-List-r13 OPTIONAL, -- Need ON + wlan-ToAddList-r13 WLAN-Id-List-r13 OPTIONAL, -- Need ON + associationTimer-r13 ENUMERATED {s10, s30, + s60, s120, s240} OPTIONAL, -- Need OR + successReportRequested-r13 ENUMERATED {true} OPTIONAL, -- Need OR + ..., + [[ wlan-SuspendConfig-r14 WLAN-SuspendConfig-r14 OPTIONAL -- Need ON + ]] +} + + +WUS-Config-r15 ::= SEQUENCE { + maxDurationFactor-r15 ENUMERATED {one32th, one16th, one8th, one4th}, + numPOs-r15 ENUMERATED {n1, n2, n4, spare1} DEFAULT n1, + freqLocation-r15 ENUMERATED {n0, n2, n4, spare1}, + timeOffsetDRX-r15 ENUMERATED {ms40, ms80, ms160, ms240}, + timeOffset-eDRX-Short-r15 ENUMERATED {ms40, ms80, ms160, ms240}, + timeOffset-eDRX-Long-r15 ENUMERATED {ms1000, ms2000} OPTIONAL -- Need OP +} + +WUS-Config-v1560 ::= SEQUENCE { + powerBoost-r15 ENUMERATED {dB0, dB1dot8, dB3, dB4dot8} +} + +WUS-Config-v1610 ::= SEQUENCE { + numDRX-CyclesRelaxed-r16 ENUMERATED {n1, n2, n4, n8} +} + + +NextHopChainingCount ::= INTEGER (0..7) + + +SecurityAlgorithmConfig ::= SEQUENCE { + cipheringAlgorithm CipheringAlgorithm-r12, + integrityProtAlgorithm ENUMERATED { + eia0-v920, eia1, eia2, eia3-v1130, spare4, spare3, + spare2, spare1, ...} +} + +CipheringAlgorithm-r12 ::= ENUMERATED { + eea0, eea1, eea2, eea3-v1130, spare4, spare3, + spare2, spare1, ...} + + +ShortMAC-I ::= BIT STRING (SIZE (16)) + + +AdditionalSpectrumEmission ::= INTEGER (1..32) + +AdditionalSpectrumEmission-v10l0 ::= INTEGER (33..288) + + +AdditionalSpectrumEmissionNR-r15 ::= INTEGER (0..7) + + +ARFCN-ValueCDMA2000 ::= INTEGER (0..2047) + + +ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN) + +ARFCN-ValueEUTRA-v9e0 ::= INTEGER (maxEARFCN-Plus1..maxEARFCN2) + +ARFCN-ValueEUTRA-r9 ::= INTEGER (0..maxEARFCN2) + + +ARFCN-ValueGERAN ::= INTEGER (0..1023) + + +ARFCN-ValueNR-r15 ::= INTEGER (0.. 3279165) + + +ARFCN-ValueUTRA ::= INTEGER (0..16383) + + +BandclassCDMA2000 ::= ENUMERATED { + bc0, bc1, bc2, bc3, bc4, bc5, bc6, bc7, bc8, + bc9, bc10, bc11, bc12, bc13, bc14, bc15, bc16, + bc17, bc18-v9a0, bc19-v9a0, bc20-v9a0, bc21-v9a0, + spare10, spare9, spare8, spare7, spare6, spare5, spare4, + spare3, spare2, spare1, ...} + + +BandIndicatorGERAN ::= ENUMERATED {dcs1800, pcs1900} + + +CarrierFreqCDMA2000 ::= SEQUENCE { + bandClass BandclassCDMA2000, + arfcn ARFCN-ValueCDMA2000 +} + + +CarrierFreqGERAN ::= SEQUENCE { + arfcn ARFCN-ValueGERAN, + bandIndicator BandIndicatorGERAN +} + + +CarrierFreqsGERAN ::= SEQUENCE { + startingARFCN ARFCN-ValueGERAN, + bandIndicator BandIndicatorGERAN, + followingARFCNs CHOICE { + explicitListOfARFCNs ExplicitListOfARFCNs, + equallySpacedARFCNs SEQUENCE { + arfcn-Spacing INTEGER (1..8), + numberOfFollowingARFCNs INTEGER (0..31) + }, + variableBitMapOfARFCNs OCTET STRING (SIZE (1..16)) + } +} + +ExplicitListOfARFCNs ::= SEQUENCE (SIZE (0..31)) OF ARFCN-ValueGERAN + + +CarrierFreqListMBMS-r11 ::= SEQUENCE (SIZE (1..maxFreqMBMS-r11)) OF ARFCN-ValueEUTRA-r9 + + +CDMA2000-Type ::= ENUMERATED {type1XRTT, typeHRPD} + + +CellGlobalIdNR-r16 ::= SEQUENCE { + plmn-Identity-r16 PLMN-Identity, + cellIdentity-r16 CellIdentityNR-r15, + trackingAreaCode-r16 TrackingAreaCodeNR-r15 OPTIONAL +} + + +CellIdentity ::= BIT STRING (SIZE (28)) + + +CellIndexList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellIndex + +CellIndex ::= INTEGER (1..maxCellMeas) + + +CellReselectionPriority ::= INTEGER (0..7) + + +CellSelectionInfoCE-r13 ::= SEQUENCE { + q-RxLevMinCE-r13 Q-RxLevMin, + q-QualMinRSRQ-CE-r13 Q-QualMin-r9 OPTIONAL -- Need OR +} + +CellSelectionInfoCE-v1530 ::= SEQUENCE { + powerClass14dBm-Offset-r15 ENUMERATED {dB-6, dB-3, dB3, dB6, dB9, dB12} +} + + +CellSelectionInfoCE1-r13 ::= SEQUENCE { + q-RxLevMinCE1-r13 Q-RxLevMin, + q-QualMinRSRQ-CE1-r13 Q-QualMin-r9 OPTIONAL -- Need OR +} + +CellSelectionInfoCE1-v1360 ::= SEQUENCE { + delta-RxLevMinCE1-v1360 INTEGER (-8..-1) +} + +CellReselectionSubPriority-r13 ::= ENUMERATED {oDot2, oDot4, oDot6, oDot8} + + +CSFB-RegistrationParam1XRTT ::= SEQUENCE { + sid BIT STRING (SIZE (15)), + nid BIT STRING (SIZE (16)), + multipleSID BOOLEAN, + multipleNID BOOLEAN, + homeReg BOOLEAN, + foreignSIDReg BOOLEAN, + foreignNIDReg BOOLEAN, + parameterReg BOOLEAN, + powerUpReg BOOLEAN, + registrationPeriod BIT STRING (SIZE (7)), + registrationZone BIT STRING (SIZE (12)), + totalZone BIT STRING (SIZE (3)), + zoneTimer BIT STRING (SIZE (3)) +} + +CSFB-RegistrationParam1XRTT-v920 ::= SEQUENCE { + powerDownReg-r9 ENUMERATED {true} +} + + +CellGlobalIdEUTRA ::= SEQUENCE { + plmn-Identity PLMN-Identity, + cellIdentity CellIdentity +} + + +CellGlobalIdUTRA ::= SEQUENCE { + plmn-Identity PLMN-Identity, + cellIdentity BIT STRING (SIZE (28)) +} + + +CellGlobalIdGERAN ::= SEQUENCE { + plmn-Identity PLMN-Identity, + locationAreaCode BIT STRING (SIZE (16)), + cellIdentity BIT STRING (SIZE (16)) +} + + +CellGlobalIdCDMA2000 ::= CHOICE { + cellGlobalId1XRTT BIT STRING (SIZE (47)), + cellGlobalIdHRPD BIT STRING (SIZE (128)) +} + + +CellSelectionInfoNFreq-r13 ::= SEQUENCE { + -- Cell selection information as in SIB1 + q-RxLevMin-r13 Q-RxLevMin, + q-RxLevMinOffset INTEGER (1..8) OPTIONAL, -- Need OP + -- Cell re-selection information as in SIB3 + q-Hyst-r13 ENUMERATED { + dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, + dB12, dB14, dB16, dB18, dB20, dB22, dB24}, + q-RxLevMinReselection-r13 Q-RxLevMin, + t-ReselectionEUTRA-r13 T-Reselection +} + + +ConditionalReconfiguration-r16 ::= SEQUENCE { + condReconfigurationToAddModList-r16 CondReconfigurationToAddModList-r16 OPTIONAL, -- Need ON + condReconfigurationToRemoveList-r16 CondReconfigurationToRemoveList-r16 OPTIONAL, -- Need ON + attemptCondReconf-r16 ENUMERATED {true} OPTIONAL, -- Cond CHO + ... +} + +CondReconfigurationToRemoveList-r16 ::= SEQUENCE (SIZE (1..maxCondConfig-r16)) OF CondReconfigurationId-r16 + + +CondReconfigurationId-r16 ::= INTEGER (1.. maxCondConfig-r16) + + +CondReconfigurationToAddModList-r16 ::= SEQUENCE (SIZE (1.. maxCondConfig-r16)) OF CondReconfigurationAddMod-r16 + +CondReconfigurationAddMod-r16 ::= SEQUENCE { + condReconfigurationId-r16 CondReconfigurationId-r16, + triggerCondition-r16 SEQUENCE (SIZE (1..2)) OF MeasId + OPTIONAL, -- Cond CondReconfigurationAdd + condReconfigurationToApply-r16 OCTET STRING (CONTAINING RRCConnectionReconfiguration) + OPTIONAL,-- Cond CondReconfigurationAdd + ... +} + + +CSG-Identity ::= BIT STRING (SIZE (27)) + + +FreqBandIndicator ::= INTEGER (1..maxFBI) + +FreqBandIndicator-v9e0 ::= INTEGER (maxFBI-Plus1..maxFBI2) + +FreqBandIndicator-r11 ::= INTEGER (1..maxFBI2) + + +FreqBandIndicatorNR-r15 ::= INTEGER (1.. maxFBI-NR-r15) + + +MobilityControlInfo ::= SEQUENCE { + targetPhysCellId PhysCellId, + carrierFreq CarrierFreqEUTRA OPTIONAL, -- Cond HO-toEUTRA2 + carrierBandwidth CarrierBandwidthEUTRA OPTIONAL, -- Cond HO-toEUTRA + additionalSpectrumEmission AdditionalSpectrumEmission OPTIONAL, -- Cond HO-toEUTRA + t304 ENUMERATED { + ms50, ms100, ms150, ms200, ms500, ms1000, + ms2000, ms10000-v1310}, + newUE-Identity C-RNTI, + radioResourceConfigCommon RadioResourceConfigCommon, + rach-ConfigDedicated RACH-ConfigDedicated OPTIONAL, -- Need OP + ..., + [[ carrierFreq-v9e0 CarrierFreqEUTRA-v9e0 OPTIONAL -- Need ON + ]], + [[ drb-ContinueROHC-r11 ENUMERATED {true} OPTIONAL -- Cond HO + ]], + [[ mobilityControlInfoV2X-r14 MobilityControlInfoV2X-r14 OPTIONAL, -- Need ON + handoverWithoutWT-Change-r14 ENUMERATED {keepLWA-Config, sendEndMarker} OPTIONAL, -- Cond HO + makeBeforeBreak-r14 ENUMERATED {true} OPTIONAL, -- Need OR + rach-Skip-r14 RACH-Skip-r14 OPTIONAL, -- Need OR + sameSFN-Indication-r14 ENUMERATED {true} OPTIONAL -- Cond HO-SFNsynced + ]], + [[ + mib-RepetitionStatus-r14 BOOLEAN OPTIONAL, -- Need OR + schedulingInfoSIB1-BR-r14 INTEGER (0..31) OPTIONAL -- Cond HO-SFNsynced + ]], + [[ daps-Config-r16 DAPS-Config-r16 OPTIONAL -- Cond NotFullConfigHO + ]] +} + +MobilityControlInfo-v10l0 ::= SEQUENCE { + additionalSpectrumEmission-v10l0 AdditionalSpectrumEmission-v10l0 OPTIONAL -- Need ON +} + +MobilityControlInfoSCG-r12 ::= SEQUENCE { + t307-r12 ENUMERATED { + ms50, ms100, ms150, ms200, ms500, ms1000, + ms2000, spare1}, + ue-IdentitySCG-r12 C-RNTI OPTIONAL, -- Cond SCGEst + rach-ConfigDedicated-r12 RACH-ConfigDedicated OPTIONAL, -- Need OP + cipheringAlgorithmSCG-r12 CipheringAlgorithm-r12 OPTIONAL, -- Need ON + ..., + [[ makeBeforeBreakSCG-r14 ENUMERATED {true} OPTIONAL, -- Need OR + rach-SkipSCG-r14 RACH-Skip-r14 OPTIONAL -- Need OR + ]] +} + +MobilityControlInfoV2X-r14 ::= SEQUENCE { + v2x-CommTxPoolExceptional-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need OR + v2x-CommRxPool-r14 SL-CommRxPoolListV2X-r14 OPTIONAL, -- Need OR + v2x-CommSyncConfig-r14 SL-SyncConfigListV2X-r14 OPTIONAL, -- Need OR + cbr-MobilityTxConfigList-r14 SL-CBR-CommonTxConfigList-r14 OPTIONAL -- Need OR +} + +CarrierBandwidthEUTRA ::= SEQUENCE { + dl-Bandwidth ENUMERATED { + n6, n15, n25, n50, n75, n100, spare10, + spare9, spare8, spare7, spare6, spare5, + spare4, spare3, spare2, spare1}, + ul-Bandwidth ENUMERATED { + n6, n15, n25, n50, n75, n100, spare10, + spare9, spare8, spare7, spare6, spare5, + spare4, spare3, spare2, spare1} OPTIONAL -- Need OP +} + +CarrierFreqEUTRA ::= SEQUENCE { + dl-CarrierFreq ARFCN-ValueEUTRA, + ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL -- Cond FDD +} + +CarrierFreqEUTRA-v9e0 ::= SEQUENCE { + dl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-r9, + ul-CarrierFreq-v9e0 ARFCN-ValueEUTRA-r9 OPTIONAL -- Cond FDD +} + +DAPS-Config-r16 ::= SEQUENCE { + daps-PowerCoordinationInfo-r16 DAPS-PowerCoordinationInfo-r16 OPTIONAL, -- Need ON + ... +} + +DAPS-PowerCoordinationInfo-r16 ::= SEQUENCE { + p-DAPS-Source-r16 INTEGER (1..16), + p-DAPS-Target-r16 INTEGER (1..16), + powerControlMode-r16 INTEGER (1..2) +} + +RACH-Skip-r14 ::= SEQUENCE { + targetTA-r14 CHOICE { + ta0-r14 NULL, + mcg-PTAG-r14 NULL, + scg-PTAG-r14 NULL, + mcg-STAG-r14 STAG-Id-r11, + scg-STAG-r14 STAG-Id-r11 + }, + ul-ConfigInfo-r14 SEQUENCE { + numberOfConfUL-Processes-r14 INTEGER (1..8), + ul-SchedInterval-r14 ENUMERATED {sf2, sf5, sf10}, + ul-StartSubframe-r14 INTEGER (0..9), + ul-Grant-r14 BIT STRING (SIZE (16)) + } OPTIONAL -- Need OR +} + + +MobilityParametersCDMA2000 ::= OCTET STRING + + +MobilityStateParameters ::= SEQUENCE { + t-Evaluation ENUMERATED { + s30, s60, s120, s180, s240, spare3, spare2, spare1}, + t-HystNormal ENUMERATED { + s30, s60, s120, s180, s240, spare3, spare2, spare1}, + n-CellChangeMedium INTEGER (1..16), + n-CellChangeHigh INTEGER (1..16) +} + + +MultiBandInfoList ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator + +MultiBandInfoList-v9e0 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF MultiBandInfo-v9e0 + +MultiBandInfoList-v10j0 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF NS-PmaxList-r10 + +MultiBandInfoList-v10l0 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF NS-PmaxList-v10l0 + +MultiBandInfoList-r11 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-r11 + +MultiBandInfo-v9e0 ::= SEQUENCE { + freqBandIndicator-v9e0 FreqBandIndicator-v9e0 OPTIONAL -- Need OP +} + + +MultiFrequencyBandListNR-r15 ::= SEQUENCE (SIZE (1.. maxMultiBandsNR-r15)) OF FreqBandIndicatorNR-r15 + + +NS-PmaxList-r10 ::= SEQUENCE (SIZE (1..maxNS-Pmax-r10)) OF NS-PmaxValue-r10 + +NS-PmaxList-v10l0 ::= SEQUENCE (SIZE (1..maxNS-Pmax-r10)) OF NS-PmaxValue-v10l0 + +NS-PmaxValue-r10 ::= SEQUENCE { + additionalPmax-r10 P-Max OPTIONAL, -- Need OP + additionalSpectrumEmission AdditionalSpectrumEmission +} + +NS-PmaxValue-v10l0 ::= SEQUENCE { + additionalSpectrumEmission-v10l0 AdditionalSpectrumEmission-v10l0 OPTIONAL -- Need OP +} + + +NS-PmaxListNR-r15 ::= SEQUENCE (SIZE (1..8)) OF NS-PmaxValueNR-r15 + +NS-PmaxValueNR-r15 ::= SEQUENCE { + additionalPmaxNR-r15 P-MaxNR-r15 OPTIONAL, -- Need ON + additionalSpectrumEmissionNR-r15 AdditionalSpectrumEmissionNR-r15 +} + + +PhysCellId ::= INTEGER (0..503) + + +PhysCellIdCDMA2000 ::= INTEGER (0..maxPNOffset) + + +PhysCellIdGERAN ::= SEQUENCE { + networkColourCode BIT STRING (SIZE (3)), + baseStationColourCode BIT STRING (SIZE (3)) +} + + +PhysCellIdNR-r15 ::= INTEGER (0.. 1007) + + +PhysCellIdRange ::= SEQUENCE { + start PhysCellId, + range ENUMERATED { + n4, n8, n12, n16, n24, n32, n48, n64, n84, + n96, n128, n168, n252, n504, spare2, + spare1} OPTIONAL -- Need OP +} + + +PhysCellIdRangeNR-r16 ::= SEQUENCE { + start PhysCellIdNR-r15, + range ENUMERATED { + n4, n8, n12, n16, n24, n32, n48, n64, n84, + n96, n128, n168, n252, n504, n1008, + spare1} OPTIONAL -- Need OP +} + + +PhysCellIdRangeUTRA-FDDList-r9::= SEQUENCE (SIZE (1..maxPhysCellIdRange-r9)) OF PhysCellIdRangeUTRA-FDD-r9 + +PhysCellIdRangeUTRA-FDD-r9 ::= SEQUENCE { + start-r9 PhysCellIdUTRA-FDD, + range-r9 INTEGER (2..512) OPTIONAL -- Need OP +} + + +PhysCellIdUTRA-FDD ::= INTEGER (0..511) + + +PhysCellIdUTRA-TDD ::= INTEGER (0..127) + + +PLMN-Identity ::= SEQUENCE { + mcc MCC OPTIONAL, -- Cond MCC + mnc MNC +} + +MCC ::= SEQUENCE (SIZE (3)) OF + MCC-MNC-Digit + +MNC ::= SEQUENCE (SIZE (2..3)) OF + MCC-MNC-Digit + +MCC-MNC-Digit ::= INTEGER (0..9) + + + +PLMN-IdentityList3-r11 ::= SEQUENCE (SIZE (1..16)) OF PLMN-Identity + + +P-MaxNR-r15 ::= INTEGER (-30..33) + + +PreRegistrationInfoHRPD ::= SEQUENCE { + preRegistrationAllowed BOOLEAN, + preRegistrationZoneId PreRegistrationZoneIdHRPD OPTIONAL, -- cond PreRegAllowed + secondaryPreRegistrationZoneIdList SecondaryPreRegistrationZoneIdListHRPD OPTIONAL -- Need OR +} + +SecondaryPreRegistrationZoneIdListHRPD ::= SEQUENCE (SIZE (1..2)) OF PreRegistrationZoneIdHRPD + +PreRegistrationZoneIdHRPD ::= INTEGER (0..255) + + +Q-QualMin-r9 ::= INTEGER (-34..-3) + + +Q-RxLevMin ::= INTEGER (-70..-22) + + +Q-OffsetRange ::= ENUMERATED { + dB-24, dB-22, dB-20, dB-18, dB-16, dB-14, + dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3, + dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5, + dB6, dB8, dB10, dB12, dB14, dB16, dB18, + dB20, dB22, dB24} + + +Q-OffsetRangeInterRAT ::= INTEGER (-15..15) + + +ReselectionThreshold ::= INTEGER (0..31) + + +ReselectionThresholdQ-r9 ::= INTEGER (0..31) + + +RSS-ConfigCarrierInfo-r16 ::= SEQUENCE { + narrowbandIndex-r16 BIT STRING (SIZE (1..maxAvailNarrowBands-1-r16)), + timeOffsetGranularity-r16 ENUMERATED {g1, g2, g4, g8, g16, g32, g64, g128} +} + + +RSS-MeasPowerBias-r16 ::= ENUMERATED {dB-6, dB-3, dB0, dB3, dB6, dB9, dB12, rssNotUsed} + + +SCellIndex-r10 ::= INTEGER (1..7) +SCellIndex-r13 ::= INTEGER (1..31) + + +ServCellIndex-r10 ::= INTEGER (0..7) +ServCellIndex-r13 ::= INTEGER (0..31) + + +SpeedStateScaleFactors ::= SEQUENCE { + sf-Medium ENUMERATED {oDot25, oDot5, oDot75, lDot0}, + sf-High ENUMERATED {oDot25, oDot5, oDot75, lDot0} +} + +SystemInfoListGERAN ::= SEQUENCE (SIZE (1..maxGERAN-SI)) OF + OCTET STRING (SIZE (1..23)) + + +SystemTimeInfoCDMA2000 ::= SEQUENCE { + cdma-EUTRA-Synchronisation BOOLEAN, + cdma-SystemTime CHOICE { + synchronousSystemTime BIT STRING (SIZE (39)), + asynchronousSystemTime BIT STRING (SIZE (49)) + } +} + + +ThresholdNR-r15 ::= CHOICE{ + nr-RSRP-r15 RSRP-RangeNR-r15, + nr-RSRQ-r15 RSRQ-RangeNR-r15, + nr-SINR-r15 RS-SINR-RangeNR-r15 +} + +ThresholdListNR-r15 ::= SEQUENCE{ + nr-RSRP-r15 RSRP-RangeNR-r15 OPTIONAL, -- Need OR + nr-RSRQ-r15 RSRQ-RangeNR-r15 OPTIONAL, -- Need OR + nr-SINR-r15 RS-SINR-RangeNR-r15 OPTIONAL -- Need OR +} + + +TrackingAreaCode ::= BIT STRING (SIZE (16)) +TrackingAreaCode-5GC-r15 ::= BIT STRING (SIZE (24)) + + +T-Reselection ::= INTEGER (0..7) + + +T-ReselectionEUTRA-CE-r13 ::= INTEGER (0..15) + + +AllowedMeasBandwidth ::= ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100} + + +BT-NameListConfig-r15 ::= CHOICE{ + release NULL, + setup BT-NameList-r15 +} + +BT-NameList-r15 ::= SEQUENCE (SIZE (1..maxBT-Name-r15)) OF BT-Name-r15 + +BT-Name-r15 ::= OCTET STRING (SIZE (1..248)) + + +CSI-RSRP-Range-r12 ::= INTEGER(0..97) + + +Hysteresis ::= INTEGER (0..30) + + +LocationInfo-r10 ::= SEQUENCE { + locationCoordinates-r10 CHOICE { + ellipsoid-Point-r10 OCTET STRING, + ellipsoidPointWithAltitude-r10 OCTET STRING, + ..., + ellipsoidPointWithUncertaintyCircle-r11 OCTET STRING, + ellipsoidPointWithUncertaintyEllipse-r11 OCTET STRING, + ellipsoidPointWithAltitudeAndUncertaintyEllipsoid-r11 OCTET STRING, + ellipsoidArc-r11 OCTET STRING, + polygon-r11 OCTET STRING + }, + horizontalVelocity-r10 OCTET STRING OPTIONAL, + gnss-TOD-msec-r10 OCTET STRING OPTIONAL, + ..., + [[ verticalVelocityInfo-r15 CHOICE { + verticalVelocity-r15 OCTET STRING, + verticalVelocityAndUncertainty-r15 OCTET STRING + } OPTIONAL + ]] +} + + +LogMeasResultListBT-r15 ::= SEQUENCE (SIZE (1..maxBT-IdReport-r15)) OF LogMeasResultBT-r15 + +LogMeasResultBT-r15 ::= SEQUENCE { + bt-Addr-r15 BIT STRING (SIZE (48)), + rssi-BT-r15 INTEGER (-128..127) OPTIONAL, + ... +} + + +LogMeasResultListWLAN-r15 ::= SEQUENCE (SIZE (1..maxWLAN-Id-Report-r14)) OF LogMeasResultWLAN-r15 + +LogMeasResultWLAN-r15 ::= SEQUENCE { + wlan-Identifiers-r15 WLAN-Identifiers-r12, + rssiWLAN-r15 WLAN-RSSI-Range-r13 OPTIONAL, + rtt-WLAN-r15 WLAN-RTT-r15 OPTIONAL, + ... +} + + +MaxRS-IndexCellQualNR-r15::= INTEGER (1..maxRS-IndexCellQual-r15) + + +MBSFN-RSRQ-Range-r12 ::= INTEGER(0..31) + +MeasConfig ::= SEQUENCE { + -- Measurement objects + measObjectToRemoveList MeasObjectToRemoveList OPTIONAL, -- Need ON + measObjectToAddModList MeasObjectToAddModList OPTIONAL, -- Need ON + -- Reporting configurations + reportConfigToRemoveList ReportConfigToRemoveList OPTIONAL, -- Need ON + reportConfigToAddModList ReportConfigToAddModList OPTIONAL, -- Need ON + -- Measurement identities + measIdToRemoveList MeasIdToRemoveList OPTIONAL, -- Need ON + measIdToAddModList MeasIdToAddModList OPTIONAL, -- Need ON + -- Other parameters + quantityConfig QuantityConfig OPTIONAL, -- Need ON + measGapConfig MeasGapConfig OPTIONAL, -- Need ON + s-Measure RSRP-Range OPTIONAL, -- Need ON + preRegistrationInfoHRPD PreRegistrationInfoHRPD OPTIONAL, -- Need OP + speedStatePars CHOICE { + release NULL, + setup SEQUENCE { + mobilityStateParameters MobilityStateParameters, + timeToTrigger-SF SpeedStateScaleFactors + } + } OPTIONAL, -- Need ON + ..., + [[ measObjectToAddModList-v9e0 MeasObjectToAddModList-v9e0 OPTIONAL -- Need ON + ]], + [[ allowInterruptions-r11 BOOLEAN OPTIONAL -- Need ON + ]], + [[ measScaleFactor-r12 CHOICE { + release NULL, + setup MeasScaleFactor-r12 + } OPTIONAL, -- Need ON + measIdToRemoveListExt-r12 MeasIdToRemoveListExt-r12 OPTIONAL, -- Need ON + measIdToAddModListExt-r12 MeasIdToAddModListExt-r12 OPTIONAL, -- Need ON + measRSRQ-OnAllSymbols-r12 BOOLEAN OPTIONAL -- Need ON + ]], + [[ + measObjectToRemoveListExt-r13 MeasObjectToRemoveListExt-r13 OPTIONAL, -- Need ON + measObjectToAddModListExt-r13 MeasObjectToAddModListExt-r13 OPTIONAL, -- Need ON + measIdToAddModList-v1310 MeasIdToAddModList-v1310 OPTIONAL, -- Need ON + measIdToAddModListExt-v1310 MeasIdToAddModListExt-v1310 OPTIONAL -- Need ON + ]], + [[ measGapConfigPerCC-List-r14 MeasGapConfigPerCC-List-r14 OPTIONAL, -- Need ON + measGapSharingConfig-r14 MeasGapSharingConfig-r14 OPTIONAL -- Need ON + ]], + [[ fr1-Gap-r15 BOOLEAN OPTIONAL, -- Need ON + mgta-r15 BOOLEAN OPTIONAL -- Need ON + ]], + [[ measGapConfigDensePRS-r15 MeasGapConfigDensePRS-r15 OPTIONAL, -- Need ON + heightThreshRef-r15 CHOICE { + release NULL, + setup INTEGER (0..31) + } OPTIONAL --Need ON + ]] +} + +MeasIdToRemoveList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId + +MeasIdToRemoveListExt-r12 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasId-v1250 + +MeasObjectToRemoveList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectId + +MeasObjectToRemoveListExt-r13 ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectId-v1310 + +ReportConfigToRemoveList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigId + + +MeasDS-Config-r12 ::= CHOICE { + release NULL, + setup SEQUENCE { + dmtc-PeriodOffset-r12 CHOICE { + ms40-r12 INTEGER(0..39), + ms80-r12 INTEGER(0..79), + ms160-r12 INTEGER(0..159), + ... + }, + ds-OccasionDuration-r12 CHOICE { + durationFDD-r12 INTEGER(1..maxDS-Duration-r12), + durationTDD-r12 INTEGER(2..maxDS-Duration-r12) + }, + measCSI-RS-ToRemoveList-r12 MeasCSI-RS-ToRemoveList-r12 OPTIONAL, -- Need ON + measCSI-RS-ToAddModList-r12 MeasCSI-RS-ToAddModList-r12 OPTIONAL, -- Need ON + ... + } +} + +MeasCSI-RS-ToRemoveList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Id-r12 + +MeasCSI-RS-ToAddModList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Config-r12 + +MeasCSI-RS-Id-r12 ::= INTEGER (1..maxCSI-RS-Meas-r12) + +MeasCSI-RS-Config-r12 ::= SEQUENCE { + measCSI-RS-Id-r12 MeasCSI-RS-Id-r12, + physCellId-r12 INTEGER (0..503), + scramblingIdentity-r12 INTEGER (0..503), + resourceConfig-r12 INTEGER (0..31), + subframeOffset-r12 INTEGER (0..4), + csi-RS-IndividualOffset-r12 Q-OffsetRange, + ... +} + + +MeasGapConfig ::= CHOICE { + release NULL, + setup SEQUENCE { + gapOffset CHOICE { + gp0 INTEGER (0..39), + gp1 INTEGER (0..79), + + ..., + gp2-r14 INTEGER (0..39), + gp3-r14 INTEGER (0..79), + gp-ncsg0-r14 INTEGER (0..39), + gp-ncsg1-r14 INTEGER (0..79), + gp-ncsg2-r14 INTEGER (0..39), + gp-ncsg3-r14 INTEGER (0..79), + gp-nonUniform1-r14 INTEGER (0..1279), + gp-nonUniform2-r14 INTEGER (0..2559), + gp-nonUniform3-r14 INTEGER (0..5119), + gp-nonUniform4-r14 INTEGER (0..10239), + gp4-r15 INTEGER (0..19), + gp5-r15 INTEGER (0..159), + gp6-r15 INTEGER (0..19), + gp7-r15 INTEGER (0..39), + gp8-r15 INTEGER (0..79), + gp9-r15 INTEGER (0..159), + gp10-r15 INTEGER (0..19), + gp11-r15 INTEGER (0..159) + } + } +} + + + +MeasGapConfigDensePRS-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + gapOffsetDensePRS-r15 CHOICE { + rstd0-r15 INTEGER (0..79), + rstd1-r15 INTEGER (0..159), + rstd2-r15 INTEGER (0..319), + rstd3-r15 INTEGER (0..639), + rstd4-r15 INTEGER (0..1279), + rstd5-r15 INTEGER (0..159), + rstd6-r15 INTEGER (0..319), + rstd7-r15 INTEGER (0..639), + rstd8-r15 INTEGER (0..1279), + rstd9-r15 INTEGER (0..319), + rstd10-r15 INTEGER (0..639), + rstd11-r15 INTEGER (0..1279), + rstd12-r15 INTEGER (0..319), + rstd13-r15 INTEGER (0..639), + rstd14-r15 INTEGER (0..1279), + rstd15-r15 INTEGER (0..639), + rstd16-r15 INTEGER (0..1279), + rstd17-r15 INTEGER (0..639), + rstd18-r15 INTEGER (0..1279), + rstd19-r15 INTEGER (0..639), + rstd20-r15 INTEGER (0..1279), + ... + } + } +} + + +MeasGapConfigPerCC-List-r14 ::= CHOICE { + release NULL, + setup SEQUENCE { + measGapConfigToRemoveList-r14 MeasGapConfigToRemoveList-r14 OPTIONAL, -- Need ON + measGapConfigToAddModList-r14 MeasGapConfigToAddModList-r14 OPTIONAL -- Need ON + } +} + +MeasGapConfigToRemoveList-r14 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF ServCellIndex-r13 + +MeasGapConfigToAddModList-r14 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasGapConfigPerCC-r14 + +MeasGapConfigPerCC-r14 ::= SEQUENCE { + servCellId-r14 ServCellIndex-r13, + measGapConfigCC-r14 MeasGapConfig +} + + +MeasGapSharingConfig-r14 ::= CHOICE { + release NULL, + setup SEQUENCE { + measGapSharingScheme-r14 ENUMERATED {scheme00, scheme01, scheme10, scheme11} + } +} + + +MeasId ::= INTEGER (1..maxMeasId) + +MeasId-v1250 ::= INTEGER (maxMeasId-Plus1..maxMeasId-r12) + + +MeasIdleConfigSIB-r15 ::= SEQUENCE { + measIdleCarrierListEUTRA-r15 EUTRA-CarrierList-r15, + ... +} + +MeasIdleConfigSIB-NR-r16 ::= SEQUENCE { + measIdleCarrierListNR-r16 NR-CarrierList-r16, + ... +} + +MeasIdleConfigDedicated-r15 ::= SEQUENCE { + measIdleCarrierListEUTRA-r15 EUTRA-CarrierList-r15 OPTIONAL, -- Need OR + measIdleDuration-r15 ENUMERATED {sec10, sec30, sec60, sec120, + sec180, sec240, sec300, spare}, + ..., + [[ + measIdleCarrierListNR-r16 NR-CarrierList-r16 OPTIONAL, -- Need OR + validityAreaList-r16 ValidityAreaList-r16 OPTIONAL -- Need OR + ]] +} + +EUTRA-CarrierList-r15 ::= SEQUENCE (SIZE (1..maxFreqIdle-r15)) OF MeasIdleCarrierEUTRA-r15 +NR-CarrierList-r16 ::= SEQUENCE (SIZE (1..maxFreqIdle-r15)) OF MeasIdleCarrierNR-r16 + +MeasIdleCarrierEUTRA-r15::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueEUTRA-r9, + allowedMeasBandwidth-r15 AllowedMeasBandwidth, + validityArea-r15 CellList-r15 OPTIONAL, -- Need OR + measCellList-r15 CellList-r15 OPTIONAL, -- Need OR + reportQuantities ENUMERATED {rsrp, rsrq, both}, + qualityThreshold-r15 SEQUENCE { + idleRSRP-Threshold-r15 RSRP-Range OPTIONAL, -- Need OR + idleRSRQ-Threshold-r15 RSRQ-Range-r13 OPTIONAL -- Need OR + } OPTIONAL, -- Need OP + ... +} + +ValidityAreaList-r16 ::= SEQUENCE (SIZE (1..maxFreqIdle-r15)) OF ValidityArea-r16 + +ValidityArea-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueEUTRA-r9, + validityCellList-r16 ValidityCellList-r16 OPTIONAL -- Need ON +} + +ValidityCellList-r16 ::= SEQUENCE (SIZE (1.. maxCellMeasIdle-r15)) OF PhysCellIdRange + +MeasIdleCarrierNR-r16 ::= SEQUENCE { + carrierFreqNR-r16 ARFCN-ValueNR-r15, + subcarrierSpacingSSB-r16 ENUMERATED {kHz15, kHz30, kHz120, kHz240}, + frequencyBandList MultiFrequencyBandListNR-r15 OPTIONAL, -- Need OR + measCellListNR-r16 CellListNR-r16 OPTIONAL, -- Need OR + reportQuantitiesNR-r16 ENUMERATED {rsrp, rsrq, both}, + qualityThresholdNR-r16 SEQUENCE { + idleRSRP-ThresholdNR-r16 RSRP-RangeNR-r15 OPTIONAL, -- Need OR + idleRSRQ-ThresholdNR-r16 RSRQ-RangeNR-r15 OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + ssb-MeasConfig-r16 SEQUENCE { + maxRS-IndexCellQual-r16 MaxRS-IndexCellQualNR-r15 OPTIONAL, -- Need OR + threshRS-Index-r16 ThresholdListNR-r15 OPTIONAL, -- Need OR + measTimingConfig-r16 MTC-SSB-NR-r15 OPTIONAL, -- Need OR + ssb-ToMeasure-r16 SSB-ToMeasure-r15 OPTIONAL, -- Need OR + deriveSSB-IndexFromCell-r16 BOOLEAN, + ss-RSSI-Measurement-r16 SS-RSSI-Measurement-r15 OPTIONAL -- Need OP + } OPTIONAL, -- Need OP + beamMeasConfigIdle-r16 BeamMeasConfigIdleNR-r16 OPTIONAL, -- Need OR + ... +} + +CellList-r15 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r15)) OF PhysCellIdRange +CellListNR-r16 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r15)) OF PhysCellIdRangeNR-r16 + +BeamMeasConfigIdleNR-r16 ::= SEQUENCE { + reportQuantityRS-IndexNR-r16 ENUMERATED {rsrp, rsrq, both}, + maxReportRS-Index-r16 INTEGER (0..maxRS-IndexReport-r15), + reportRS-IndexResultsNR-r16 BOOLEAN +} + + +MeasIdToAddModList ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod + +MeasIdToAddModList-v1310 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod-v1310 + +MeasIdToAddModListExt-r12 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddModExt-r12 + +MeasIdToAddModListExt-v1310 ::= SEQUENCE (SIZE (1..maxMeasId)) OF MeasIdToAddMod-v1310 + +MeasIdToAddMod ::= SEQUENCE { + measId MeasId, + measObjectId MeasObjectId, + reportConfigId ReportConfigId +} + +MeasIdToAddModExt-r12 ::= SEQUENCE { + measId-v1250 MeasId-v1250, + measObjectId-r12 MeasObjectId, + reportConfigId-r12 ReportConfigId +} + +MeasIdToAddMod-v1310 ::= SEQUENCE { + measObjectId-v1310 MeasObjectId-v1310 OPTIONAL +} + + +MeasObjectCDMA2000 ::= SEQUENCE { + cdma2000-Type CDMA2000-Type, + carrierFreq CarrierFreqCDMA2000, + searchWindowSize INTEGER (0..15) OPTIONAL, -- Need ON + offsetFreq Q-OffsetRangeInterRAT DEFAULT 0, + cellsToRemoveList CellIndexList OPTIONAL, -- Need ON + cellsToAddModList CellsToAddModListCDMA2000 OPTIONAL, -- Need ON + cellForWhichToReportCGI PhysCellIdCDMA2000 OPTIONAL, -- Need ON + ... +} + +CellsToAddModListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModCDMA2000 + +CellsToAddModCDMA2000 ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellId PhysCellIdCDMA2000 +} + + +MeasObjectEUTRA ::= SEQUENCE { + carrierFreq ARFCN-ValueEUTRA, + allowedMeasBandwidth AllowedMeasBandwidth, + presenceAntennaPort1 PresenceAntennaPort1, + neighCellConfig NeighCellConfig, + offsetFreq Q-OffsetRange DEFAULT dB0, + -- Cell list + cellsToRemoveList CellIndexList OPTIONAL, -- Need ON + cellsToAddModList CellsToAddModList OPTIONAL, -- Need ON + -- Black list + blackCellsToRemoveList CellIndexList OPTIONAL, -- Need ON + blackCellsToAddModList BlackCellsToAddModList OPTIONAL, -- Need ON + cellForWhichToReportCGI PhysCellId OPTIONAL, -- Need ON + ..., + [[measCycleSCell-r10 MeasCycleSCell-r10 OPTIONAL, -- Need ON + measSubframePatternConfigNeigh-r10 MeasSubframePatternConfigNeigh-r10 OPTIONAL -- Need ON + ]], + [[widebandRSRQ-Meas-r11 BOOLEAN OPTIONAL -- Cond WB-RSRQ + ]], + [[ altTTT-CellsToRemoveList-r12 CellIndexList OPTIONAL, -- Need ON + altTTT-CellsToAddModList-r12 AltTTT-CellsToAddModList-r12 OPTIONAL, -- Need ON + t312-r12 CHOICE { + release NULL, + setup ENUMERATED {ms0, ms50, ms100, ms200, + ms300, ms400, ms500, ms1000} + } OPTIONAL, -- Need ON + reducedMeasPerformance-r12 BOOLEAN OPTIONAL, -- Need ON + measDS-Config-r12 MeasDS-Config-r12 OPTIONAL -- Need ON + ]], + [[ + whiteCellsToRemoveList-r13 CellIndexList OPTIONAL, -- Need ON + whiteCellsToAddModList-r13 WhiteCellsToAddModList-r13 OPTIONAL, -- Need ON + rmtc-Config-r13 RMTC-Config-r13 OPTIONAL, -- Need ON + carrierFreq-r13 ARFCN-ValueEUTRA-v9e0 OPTIONAL -- Need ON + ]], + [[ + tx-ResourcePoolToRemoveList-r14 Tx-ResourcePoolMeasList-r14 OPTIONAL, -- Need ON + tx-ResourcePoolToAddList-r14 Tx-ResourcePoolMeasList-r14 OPTIONAL, -- Need ON + fembms-MixedCarrier-r14 BOOLEAN OPTIONAL -- Need ON + ]], + [[ + measSensing-Config-r15 MeasSensing-Config-r15 OPTIONAL -- Need ON + ]], + [[ + measRSS-DedicatedConfig-r16 SetupRelease {MeasRSS-DedicatedConfig-r16} OPTIONAL -- Need ON + ]] +} + +MeasObjectEUTRA-v9e0 ::= SEQUENCE { + carrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 +} + +MeasRSS-DedicatedConfig-r16 ::= SEQUENCE { + rss-ConfigCarrierInfo-r16 RSS-ConfigCarrierInfo-r16 OPTIONAL, -- Need OP + cellsToAddModList-v1610 CellsToAddModList-v1610 OPTIONAL -- Need ON +} + +CellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddMod + +CellsToAddModList-v1610 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddMod-v1610 + +CellsToAddMod ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellId PhysCellId, + cellIndividualOffset Q-OffsetRange +} + +CellsToAddMod-v1610 ::= SEQUENCE { + rss-MeasPowerBias-r16 RSS-MeasPowerBias-r16 +} + + +BlackCellsToAddModList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF BlackCellsToAddMod + +BlackCellsToAddMod ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellIdRange PhysCellIdRange +} + +MeasCycleSCell-r10 ::= ENUMERATED {sf160, sf256, sf320, sf512, + sf640, sf1024, sf1280, spare1} + +MeasSubframePatternConfigNeigh-r10 ::= CHOICE { + release NULL, + setup SEQUENCE { + measSubframePatternNeigh-r10 MeasSubframePattern-r10, + measSubframeCellList-r10 MeasSubframeCellList-r10 OPTIONAL -- Cond always + } +} + +MeasSubframeCellList-r10 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellIdRange + +AltTTT-CellsToAddModList-r12 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF AltTTT-CellsToAddMod-r12 + +AltTTT-CellsToAddMod-r12 ::= SEQUENCE { + cellIndex-r12 INTEGER (1..maxCellMeas), + physCellIdRange-r12 PhysCellIdRange +} + +WhiteCellsToAddModList-r13 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF WhiteCellsToAddMod-r13 + +WhiteCellsToAddMod-r13 ::= SEQUENCE { + cellIndex-r13 INTEGER (1..maxCellMeas), + physCellIdRange-r13 PhysCellIdRange +} + +RMTC-Config-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + rmtc-Period-r13 ENUMERATED {ms40, ms80, ms160, ms320, ms640}, + rmtc-SubframeOffset-r13 INTEGER(0..639) OPTIONAL, -- Need ON + measDuration-r13 ENUMERATED {sym1, sym14, sym28, sym42, sym70}, + ... + } +} + +Tx-ResourcePoolMeasList-r14 ::= SEQUENCE (SIZE (1..maxSL-PoolToMeasure-r14)) OF SL-V2X-TxPoolReportIdentity-r14 + + +MeasObjectGERAN ::= SEQUENCE { + carrierFreqs CarrierFreqsGERAN, + offsetFreq Q-OffsetRangeInterRAT DEFAULT 0, + ncc-Permitted BIT STRING(SIZE (8)) DEFAULT '11111111'B, + cellForWhichToReportCGI PhysCellIdGERAN OPTIONAL, -- Need ON + ... +} + + +MeasObjectId ::= INTEGER (1..maxObjectId) + +MeasObjectId-v1310 ::= INTEGER (maxObjectId-Plus1-r13..maxObjectId-r13) + +MeasObjectId-r13 ::= INTEGER (1..maxObjectId-r13) + + +MeasObjectNR-r15 ::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueNR-r15, + rs-ConfigSSB-r15 RS-ConfigSSB-NR-r15, + threshRS-Index-r15 ThresholdListNR-r15 OPTIONAL, -- Need OR + maxRS-IndexCellQual-r15 MaxRS-IndexCellQualNR-r15 OPTIONAL, -- Need OR + offsetFreq-r15 Q-OffsetRangeInterRAT DEFAULT 0, + blackCellsToRemoveList-r15 CellIndexList OPTIONAL, -- Need ON + blackCellsToAddModList-r15 CellsToAddModListNR-r15 OPTIONAL, -- Need ON + quantityConfigSet-r15 INTEGER (1.. maxQuantSetsNR-r15), + cellsForWhichToReportSFTD-r15 SEQUENCE (SIZE (1..maxCellSFTD)) OF PhysCellIdNR-r15 OPTIONAL, -- Need OR + ..., + [[ cellForWhichToReportCGI-r15 PhysCellIdNR-r15 OPTIONAL, -- Need ON + deriveSSB-IndexFromCell-r15 BOOLEAN OPTIONAL, -- Need ON + ss-RSSI-Measurement-r15 SS-RSSI-Measurement-r15 OPTIONAL, -- Need ON + bandNR-r15 CHOICE { + release NULL, + setup FreqBandIndicatorNR-r15 + } OPTIONAL -- Need ON + ]], + [[ + rmtc-ConfigNR-r16 SetupRelease {RMTC-ConfigNR-r16} OPTIONAL -- Cond SharedSpectrum + ]], + [[ + cellsToRemoveList-r16 CellIndexList OPTIONAL, -- Need ON + cellsToAddModList-r16 CellsToAddModListNR-r16 OPTIONAL -- Need ON + ]] + +} + +RS-ConfigSSB-NR-r15 ::= SEQUENCE { + measTimingConfig-r15 MTC-SSB-NR-r15, + subcarrierSpacingSSB-r15 ENUMERATED {kHz15, kHz30, kHz120, kHz240}, + ..., + [[ ssb-ToMeasure-r15 CHOICE { + release NULL, + setup SSB-ToMeasure-r15 + } OPTIONAL -- Need ON + ]], + [[ + ssb-PositionQCL-CommonNR-r16 SSB-PositionQCL-RelationNR-r16 OPTIONAL, -- Cond SharedSpectrum2 + ssb-PositionQCL-CellsToAddModListNR-r16 SSB-PositionQCL-CellsToAddModListNR-r16 OPTIONAL, -- Cond SharedSpectrum + ssb-PositionQCL-CellsToRemoveListNR-r16 SEQUENCE (SIZE (1..maxCellMeas)) OF PhysCellIdNR-r15 OPTIONAL -- Cond SharedSpectrum + ]] +} + +CellsToAddModListNR-r15 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModNR-r15 + +CellsToAddModListNR-r16 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModNR-r16 + +CellsToAddModNR-r15 ::= SEQUENCE { + cellIndex-r15 INTEGER (1..maxCellMeas), + physCellId-r15 PhysCellIdNR-r15 +} + +CellsToAddModNR-r16 ::= SEQUENCE { + cellIndex-r16 INTEGER (1..maxCellMeas), + physCellId-r16 PhysCellIdNR-r15, + cellIndividualOffset-r16 Q-OffsetRange +} + +SSB-PositionQCL-CellsToAddModListNR-r16 ::= SEQUENCE (SIZE (1..maxCellMeas)) OF SSB-PositionQCL-CellsToAddNR-r16 + + +SSB-PositionQCL-CellsToAddNR-r16 ::= SEQUENCE { + physCellId-r16 PhysCellIdNR-r15, + ssb-PositionQCL-NR-r16 SSB-PositionQCL-RelationNR-r16 +} + +RMTC-ConfigNR-r16 ::= SEQUENCE { + rmtc-PeriodicityNR-r16 ENUMERATED {ms40, ms80, ms160, ms320, ms640}, + rmtc-SubframeOffsetNR-r16 INTEGER(0..639) OPTIONAL, -- Need ON + measDurationNR-r16 ENUMERATED {sym1, sym14or12, sym28or24, sym42or36, sym70or60}, + rmtc-FrequencyNR-r16 ARFCN-ValueNR-r15, + refSCS-CP-NR-r16 ENUMERATED {kHz15, kHz30, kHz60-NCP, kHz60-ECP}, + ... +} + + +MeasObjectToAddModList ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddMod + +MeasObjectToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddModExt-r13 + +MeasObjectToAddModList-v9e0 ::= SEQUENCE (SIZE (1..maxObjectId)) OF MeasObjectToAddMod-v9e0 + +MeasObjectToAddMod ::= SEQUENCE { + measObjectId MeasObjectId, + measObject CHOICE { + measObjectEUTRA MeasObjectEUTRA, + measObjectUTRA MeasObjectUTRA, + measObjectGERAN MeasObjectGERAN, + measObjectCDMA2000 MeasObjectCDMA2000, + ..., + measObjectWLAN-r13 MeasObjectWLAN-r13, + measObjectNR-r15 MeasObjectNR-r15 + } +} + +MeasObjectToAddModExt-r13 ::= SEQUENCE { + measObjectId-r13 MeasObjectId-v1310, + measObject-r13 CHOICE { + measObjectEUTRA-r13 MeasObjectEUTRA, + measObjectUTRA-r13 MeasObjectUTRA, + measObjectGERAN-r13 MeasObjectGERAN, + measObjectCDMA2000-r13 MeasObjectCDMA2000, + ..., + measObjectWLAN-v1320 MeasObjectWLAN-r13, + measObjectNR-r15 MeasObjectNR-r15 + } +} + +MeasObjectToAddMod-v9e0 ::= SEQUENCE { + measObjectEUTRA-v9e0 MeasObjectEUTRA-v9e0 OPTIONAL -- Cond eutra +} + + +MeasObjectUTRA ::= SEQUENCE { + carrierFreq ARFCN-ValueUTRA, + offsetFreq Q-OffsetRangeInterRAT DEFAULT 0, + cellsToRemoveList CellIndexList OPTIONAL, -- Need ON + cellsToAddModList CHOICE { + cellsToAddModListUTRA-FDD CellsToAddModListUTRA-FDD, + cellsToAddModListUTRA-TDD CellsToAddModListUTRA-TDD + } OPTIONAL, -- Need ON + cellForWhichToReportCGI CHOICE { + utra-FDD PhysCellIdUTRA-FDD, + utra-TDD PhysCellIdUTRA-TDD + } OPTIONAL, -- Need ON + ..., + [[ csg-allowedReportingCells-v930 CSG-AllowedReportingCells-r9 OPTIONAL -- Need ON + ]], + [[ reducedMeasPerformance-r12 BOOLEAN OPTIONAL -- Need ON + ]] +} + +CellsToAddModListUTRA-FDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-FDD + +CellsToAddModUTRA-FDD ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellId PhysCellIdUTRA-FDD +} + +CellsToAddModListUTRA-TDD ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddModUTRA-TDD + +CellsToAddModUTRA-TDD ::= SEQUENCE { + cellIndex INTEGER (1..maxCellMeas), + physCellId PhysCellIdUTRA-TDD +} + +CSG-AllowedReportingCells-r9 ::= SEQUENCE { + physCellIdRangeUTRA-FDDList-r9 PhysCellIdRangeUTRA-FDDList-r9 OPTIONAL -- Need OR +} + +MeasObjectWLAN-r13 ::= SEQUENCE { + carrierFreq-r13 CHOICE { + bandIndicatorListWLAN-r13 SEQUENCE (SIZE (1..maxWLAN-Bands-r13)) OF WLAN-BandIndicator-r13, + carrierInfoListWLAN-r13 SEQUENCE (SIZE (1..maxWLAN-CarrierInfo-r13)) OF WLAN-CarrierInfo-r13 + } OPTIONAL, -- Need ON + wlan-ToAddModList-r13 WLAN-Id-List-r13 OPTIONAL, -- Need ON + wlan-ToRemoveList-r13 WLAN-Id-List-r13 OPTIONAL, -- Need ON + ... +} + +WLAN-BandIndicator-r13 ::= ENUMERATED {band2dot4, band5, band60-v1430, spare5, spare4, spare3, spare2, spare1, ...} + + +MeasResults ::= SEQUENCE { + measId MeasId, + measResultPCell SEQUENCE { + rsrpResult RSRP-Range, + rsrqResult RSRQ-Range + }, + measResultNeighCells CHOICE { + measResultListEUTRA MeasResultListEUTRA, + measResultListUTRA MeasResultListUTRA, + measResultListGERAN MeasResultListGERAN, + measResultsCDMA2000 MeasResultsCDMA2000, + ..., + measResultNeighCellListNR-r15 MeasResultCellListNR-r15 + } OPTIONAL, + ..., + [[ measResultForECID-r9 MeasResultForECID-r9 OPTIONAL + ]], + [[ locationInfo-r10 LocationInfo-r10 OPTIONAL, + measResultServFreqList-r10 MeasResultServFreqList-r10 OPTIONAL + ]], + [[ measId-v1250 MeasId-v1250 OPTIONAL, + measResultPCell-v1250 RSRQ-Range-v1250 OPTIONAL, + measResultCSI-RS-List-r12 MeasResultCSI-RS-List-r12 OPTIONAL + ]], + [[ measResultForRSSI-r13 MeasResultForRSSI-r13 OPTIONAL, + measResultServFreqListExt-r13 MeasResultServFreqListExt-r13 OPTIONAL, + measResultSSTD-r13 MeasResultSSTD-r13 OPTIONAL, + measResultPCell-v1310 SEQUENCE { + rs-sinr-Result-r13 RS-SINR-Range-r13 + } OPTIONAL, + ul-PDCP-DelayResultList-r13 UL-PDCP-DelayResultList-r13 OPTIONAL, + measResultListWLAN-r13 MeasResultListWLAN-r13 OPTIONAL + ]], + [[ measResultPCell-v1360 RSRP-Range-v1360 OPTIONAL + ]], + [[ measResultListCBR-r14 MeasResultListCBR-r14 OPTIONAL, + measResultListWLAN-r14 MeasResultListWLAN-r14 OPTIONAL + ]], + [[ measResultServFreqListNR-r15 MeasResultServFreqListNR-r15 OPTIONAL, + measResultCellListSFTD-r15 MeasResultCellListSFTD-r15 OPTIONAL + ]], + [[ logMeasResultListBT-r15 LogMeasResultListBT-r15 OPTIONAL, + logMeasResultListWLAN-r15 LogMeasResultListWLAN-r15 OPTIONAL, + measResultSensing-r15 MeasResultSensing-r15 OPTIONAL, + heightUE-r15 INTEGER (-400..8880) OPTIONAL + ]], + [[ ul-PDCP-DelayValueResultList-r16 UL-PDCP-DelayValueResultList-r16 OPTIONAL, + measResultForRSSI-NR-r16 MeasResultForRSSI-NR-r16 OPTIONAL + ]] +} + +MeasResultListEUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultEUTRA + +MeasResultEUTRA ::= SEQUENCE { + physCellId PhysCellId, + cgi-Info SEQUENCE { + cellGlobalId CellGlobalIdEUTRA, + trackingAreaCode TrackingAreaCode, + plmn-IdentityList PLMN-IdentityList2 OPTIONAL + } OPTIONAL, + measResult SEQUENCE { + rsrpResult RSRP-Range OPTIONAL, + rsrqResult RSRQ-Range OPTIONAL, + ..., + [[ additionalSI-Info-r9 AdditionalSI-Info-r9 OPTIONAL + ]], + [[ primaryPLMN-Suitable-r12 ENUMERATED {true} OPTIONAL, + measResult-v1250 RSRQ-Range-v1250 OPTIONAL + ]], + [[ rs-sinr-Result-r13 RS-SINR-Range-r13 OPTIONAL, + cgi-Info-v1310 SEQUENCE { + freqBandIndicator-r13 FreqBandIndicator-r11 OPTIONAL, + multiBandInfoList-r13 MultiBandInfoList-r11 OPTIONAL, + freqBandIndicatorPriority-r13 ENUMERATED {true} OPTIONAL + } OPTIONAL + ]], + [[ + measResult-v1360 RSRP-Range-v1360 OPTIONAL + ]], + [[ + cgi-Info-5GC-r15 SEQUENCE (SIZE (1..maxPLMN-r11)) OF CellAccessRelatedInfo-5GC-r15 OPTIONAL + ]] + } +} + +MeasResultListIdle-r15 ::= SEQUENCE (SIZE (1..maxIdleMeasCarriers-r15)) OF MeasResultIdle-r15 + +MeasResultIdle-r15 ::= SEQUENCE { + measResultServingCell-r15 SEQUENCE { + rsrpResult-r15 RSRP-Range, + rsrqResult-r15 RSRQ-Range-r13 + }, + measResultNeighCells-r15 CHOICE { + measResultIdleListEUTRA-r15 MeasResultIdleListEUTRA-r15, + ... + } OPTIONAL, + ... +} + +MeasResultIdleListEUTRA-r15 ::= SEQUENCE (SIZE (1..maxCellMeasIdle-r15)) OF MeasResultIdleEUTRA-r15 + +MeasResultIdleEUTRA-r15 ::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueEUTRA-r9, + physCellId-r15 PhysCellId, + measResult-r15 SEQUENCE { + rsrpResult-r15 RSRP-Range, + rsrqResult-r15 RSRQ-Range-r13 + }, + ... +} + +MeasResultListExtIdle-r16 ::= SEQUENCE(SIZE (1..maxIdleMeasCarriersExt-r16)) OF MeasResultIdleListEUTRA-r15 + +MeasResultListIdleNR-r16 ::= SEQUENCE(SIZE (1..maxIdleMeasCarriers-r16)) OF MeasResultIdleNR-r16 + +MeasResultIdleNR-r16 ::= SEQUENCE { + carrierFreqNR-r16 ARFCN-ValueNR-r15, + measResultsPerCellListIdleNR-r16 SEQUENCE (SIZE (1..maxCellMeasIdle-r15)) OF MeasResultsPerCellIdleNR-r16, + ... +} + +MeasResultsPerCellIdleNR-r16 ::= SEQUENCE { + physCellIdNR-r16 PhysCellIdNR-r15, + measIdleResultNR-r16 SEQUENCE { + rsrpResultNR-r16 RSRP-RangeNR-r15 OPTIONAL, + rsrqResultNR-r16 RSRQ-RangeNR-r15 OPTIONAL, + resultRS-IndexList-r16 ResultsPerSSB-IndexList-r16 OPTIONAL + }, + ... +} + +ResultsPerSSB-IndexList-r16 ::= SEQUENCE (SIZE (1..maxRS-IndexReport-r15)) OF ResultsPerSSB-IndexIdle-r16 + +ResultsPerSSB-IndexIdle-r16 ::= SEQUENCE { + ssb-Index-r16 RS-IndexNR-r15, + ssb-Results-r16 SEQUENCE { + ssb-RSRP-Result-r16 RSRP-RangeNR-r15 OPTIONAL, + ssb-RSRQ-Result-r16 RSRQ-RangeNR-r15 OPTIONAL + } OPTIONAL +} + +MeasResultServFreqListNR-r15 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasResultServFreqNR-r15 + +MeasResultServFreqNR-r15 ::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueNR-r15, + measResultSCell-r15 MeasResultCellNR-r15 OPTIONAL, + measResultBestNeighCell-r15 MeasResultCellNR-r15 OPTIONAL, + ... +} + +MeasResultCellListNR-r15::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCellNR-r15 + +MeasResultCellNR-r15 ::= SEQUENCE { + pci-r15 PhysCellIdNR-r15, + measResultCell-r15 MeasResultNR-r15, + measResultRS-IndexList-r15 MeasResultSSB-IndexList-r15 OPTIONAL, + ..., + [[ cgi-Info-r15 CGI-InfoNR-r15 OPTIONAL + ]] +} + +MeasResultNR-r15 ::= SEQUENCE { + rsrpResult-r15 RSRP-RangeNR-r15 OPTIONAL, + rsrqResult-r15 RSRQ-RangeNR-r15 OPTIONAL, + rs-sinr-Result-r15 RS-SINR-RangeNR-r15 OPTIONAL, + ... +} + +MeasResultSSB-IndexList-r15::= SEQUENCE (SIZE (1..maxRS-IndexReport-r15)) OF MeasResultSSB-Index-r15 + +MeasResultSSB-Index-r15 ::= SEQUENCE { + ssb-Index-r15 RS-IndexNR-r15, + measResultSSB-Index-r15 MeasResultNR-r15 OPTIONAL, + ... +} + +MeasResultServFreqList-r10 ::= SEQUENCE (SIZE (1..maxServCell-r10)) OF MeasResultServFreq-r10 + +MeasResultServFreqListExt-r13 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasResultServFreq-r13 + +MeasResultServFreq-r10 ::= SEQUENCE { + servFreqId-r10 ServCellIndex-r10, + measResultSCell-r10 SEQUENCE { + rsrpResultSCell-r10 RSRP-Range, + rsrqResultSCell-r10 RSRQ-Range + } OPTIONAL, + measResultBestNeighCell-r10 SEQUENCE { + physCellId-r10 PhysCellId, + rsrpResultNCell-r10 RSRP-Range, + rsrqResultNCell-r10 RSRQ-Range + } OPTIONAL, + ..., + [[ measResultSCell-v1250 RSRQ-Range-v1250 OPTIONAL, + measResultBestNeighCell-v1250 RSRQ-Range-v1250 OPTIONAL + ]], + [[ measResultSCell-v1310 SEQUENCE { + rs-sinr-Result-r13 RS-SINR-Range-r13 + } OPTIONAL, + measResultBestNeighCell-v1310 SEQUENCE { + rs-sinr-Result-r13 RS-SINR-Range-r13 + } OPTIONAL + ]] +} + +MeasResultServFreq-r13 ::= SEQUENCE { + servFreqId-r13 ServCellIndex-r13, + measResultSCell-r13 SEQUENCE { + rsrpResultSCell-r13 RSRP-Range, + rsrqResultSCell-r13 RSRQ-Range-r13, + rs-sinr-Result-r13 RS-SINR-Range-r13 OPTIONAL + } OPTIONAL, + measResultBestNeighCell-r13 SEQUENCE { + physCellId-r13 PhysCellId, + rsrpResultNCell-r13 RSRP-Range, + rsrqResultNCell-r13 RSRQ-Range-r13, + rs-sinr-Result-r13 RS-SINR-Range-r13 OPTIONAL + } OPTIONAL, + ..., + [[ measResultBestNeighCell-v1360 SEQUENCE { + rsrpResultNCell-v1360 RSRP-Range-v1360 + } OPTIONAL + ]] +} + +MeasResultCSI-RS-List-r12 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCSI-RS-r12 + +MeasResultCSI-RS-r12 ::= SEQUENCE { + measCSI-RS-Id-r12 MeasCSI-RS-Id-r12, + csi-RSRP-Result-r12 CSI-RSRP-Range-r12, + ... +} + +MeasResultListUTRA ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultUTRA + +MeasResultUTRA ::= SEQUENCE { + physCellId CHOICE { + fdd PhysCellIdUTRA-FDD, + tdd PhysCellIdUTRA-TDD + }, + cgi-Info SEQUENCE { + cellGlobalId CellGlobalIdUTRA, + locationAreaCode BIT STRING (SIZE (16)) OPTIONAL, + routingAreaCode BIT STRING (SIZE (8)) OPTIONAL, + plmn-IdentityList PLMN-IdentityList2 OPTIONAL + } OPTIONAL, + measResult SEQUENCE { + utra-RSCP INTEGER (-5..91) OPTIONAL, + utra-EcN0 INTEGER (0..49) OPTIONAL, + ..., + [[ additionalSI-Info-r9 AdditionalSI-Info-r9 OPTIONAL + ]], + [[ primaryPLMN-Suitable-r12 ENUMERATED {true} OPTIONAL + ]] + } +} + +MeasResultListGERAN ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultGERAN + +MeasResultGERAN ::= SEQUENCE { + carrierFreq CarrierFreqGERAN, + physCellId PhysCellIdGERAN, + cgi-Info SEQUENCE { + cellGlobalId CellGlobalIdGERAN, + routingAreaCode BIT STRING (SIZE (8)) OPTIONAL + } OPTIONAL, + measResult SEQUENCE { + rssi INTEGER (0..63), + ... + } +} + +MeasResultsCDMA2000 ::= SEQUENCE { + preRegistrationStatusHRPD BOOLEAN, + measResultListCDMA2000 MeasResultListCDMA2000 +} + +MeasResultListCDMA2000 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultCDMA2000 + +MeasResultCDMA2000 ::= SEQUENCE { + physCellId PhysCellIdCDMA2000, + cgi-Info CellGlobalIdCDMA2000 OPTIONAL, + measResult SEQUENCE { + pilotPnPhase INTEGER (0..32767) OPTIONAL, + pilotStrength INTEGER (0..63), + ... + } +} + +MeasResultListWLAN-r13 ::= SEQUENCE (SIZE (1..maxCellReport)) OF MeasResultWLAN-r13 + +MeasResultListWLAN-r14 ::= SEQUENCE (SIZE (1..maxWLAN-Id-Report-r14)) OF MeasResultWLAN-r13 + +MeasResultWLAN-r13 ::= SEQUENCE { + wlan-Identifiers-r13 WLAN-Identifiers-r12, + carrierInfoWLAN-r13 WLAN-CarrierInfo-r13 OPTIONAL, + bandWLAN-r13 WLAN-BandIndicator-r13 OPTIONAL, + rssiWLAN-r13 WLAN-RSSI-Range-r13, + availableAdmissionCapacityWLAN-r13 INTEGER (0..31250) OPTIONAL, + backhaulDL-BandwidthWLAN-r13 WLAN-backhaulRate-r12 OPTIONAL, + backhaulUL-BandwidthWLAN-r13 WLAN-backhaulRate-r12 OPTIONAL, + channelUtilizationWLAN-r13 INTEGER (0..255) OPTIONAL, + stationCountWLAN-r13 INTEGER (0..65535) OPTIONAL, + connectedWLAN-r13 ENUMERATED {true} OPTIONAL, + ... +} + +MeasResultListCBR-r14 ::= SEQUENCE (SIZE (1..maxCBR-Report-r14)) OF MeasResultCBR-r14 + +MeasResultCBR-r14 ::= SEQUENCE { + poolIdentity-r14 SL-V2X-TxPoolReportIdentity-r14, + cbr-PSSCH-r14 SL-CBR-r14, + cbr-PSCCH-r14 SL-CBR-r14 OPTIONAL +} + +MeasResultSensing-r15 ::= SEQUENCE { + sl-SubframeRef-r15 INTEGER (0..10239), + sensingResult-r15 SEQUENCE (SIZE (0..400)) OF SensingResult-r15 +} + +SensingResult-r15 ::= SEQUENCE { + resourceIndex-r15 INTEGER (1..2000) +} + +MeasResultForECID-r9 ::= SEQUENCE { + ue-RxTxTimeDiffResult-r9 INTEGER (0..4095), + currentSFN-r9 BIT STRING (SIZE (10)) +} + +PLMN-IdentityList2 ::= SEQUENCE (SIZE (1..5)) OF PLMN-Identity + +AdditionalSI-Info-r9 ::= SEQUENCE { + csg-MemberStatus-r9 ENUMERATED {member} OPTIONAL, + csg-Identity-r9 CSG-Identity OPTIONAL +} +MeasResultForRSSI-r13 ::= SEQUENCE { + rssi-Result-r13 RSSI-Range-r13, + channelOccupancy-r13 INTEGER (0..100), + ... +} + +MeasResultForRSSI-NR-r16 ::= SEQUENCE { + rssi-ResultNR-r16 RSSI-Range-r13, + channelOccupancyNR-r16 INTEGER (0..100), + ... +} + +UL-PDCP-DelayResultList-r13 ::= SEQUENCE (SIZE (1..maxQCI-r13)) OF UL-PDCP-DelayResult-r13 + + +UL-PDCP-DelayResult-r13 ::= SEQUENCE { + qci-Id-r13 ENUMERATED {qci1, qci2, qci3, qci4, spare4, spare3, spare2, spare1}, + excessDelay-r13 INTEGER (0..31), + ... +} + +UL-PDCP-DelayValueResultList-r16 ::= SEQUENCE (SIZE (1..maxDRB)) OF UL-PDCP-DelayValueResult-r16 + +UL-PDCP-DelayValueResult-r16 ::= SEQUENCE { + drb-Id-r16 DRB-Identity, + averageDelay-r16 INTEGER (0..10000), + ... +} + +CGI-InfoNR-r15 ::= SEQUENCE { + plmn-IdentityInfoList-r15 PLMN-IdentityInfoListNR-r15 OPTIONAL, + frequencyBandList-r15 MultiFrequencyBandListNR-r15 OPTIONAL, + noSIB1-r15 SEQUENCE { + ssb-SubcarrierOffset-r15 INTEGER (0..15), + pdcch-ConfigSIB1-r15 INTEGER (0..255) + } OPTIONAL, + ... +} + +CellIdentityNR-r15 ::= BIT STRING (SIZE (36)) + +PLMN-IdentityListNR-r15 ::= SEQUENCE (SIZE (1.. maxPLMN-NR-r15)) OF PLMN-Identity + +PLMN-IdentityInfoListNR-r15 ::= SEQUENCE (SIZE (1..maxPLMN-NR-r15)) OF PLMN-IdentityInfoNR-r15 + +PLMN-IdentityInfoNR-r15 ::= SEQUENCE { + plmn-IdentityList-r15 PLMN-IdentityListNR-r15, + trackingAreaCode-r15 TrackingAreaCodeNR-r15 OPTIONAL, + ran-AreaCode-r15 RAN-AreaCode-r15 OPTIONAL, + cellIdentity-r15 CellIdentityNR-r15 +} + +TrackingAreaCodeNR-r15 ::= BIT STRING (SIZE (24)) + + +MeasResultCellListSFTD-r15 ::= SEQUENCE (SIZE (1..maxCellSFTD)) OF MeasResultCellSFTD-r15 + +MeasResultCellSFTD-r15 ::= SEQUENCE { + physCellId-r15 PhysCellIdNR-r15, + sfn-OffsetResult-r15 INTEGER (0..1023), + frameBoundaryOffsetResult-r15 INTEGER (-30720..30719), + rsrpResult-r15 RSRP-RangeNR-r15 OPTIONAL +} + + +MeasResultSCG-FailureMRDC-r15 ::= SEQUENCE { + measResultFreqListEUTRA-r15 MeasResultList3EUTRA-r15, + ..., + [[ locationInfo-r16 LocationInfo-r10 OPTIONAL, + logMeasResultListBT-r16 LogMeasResultListBT-r15 OPTIONAL, + logMeasResultListWLAN-r16 LogMeasResultListWLAN-r15 OPTIONAL + ]] +} + +MeasResultList3EUTRA-r15 ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasResult3EUTRA-r15 + +MeasResult3EUTRA-r15 ::= SEQUENCE { + carrierFreq-r15 ARFCN-ValueEUTRA-r9, + measResultServingCell-r15 MeasResultEUTRA OPTIONAL, + measResultNeighCellList-r15 MeasResultListEUTRA OPTIONAL, + ... +} + + +MeasResultSSTD-r13 ::= SEQUENCE { + sfn-OffsetResult-r13 INTEGER (0..1023), + frameBoundaryOffsetResult-r13 INTEGER (-5..4), + subframeBoundaryOffsetResult-r13 INTEGER (0..127) +} + + +MeasScaleFactor-r12 ::= ENUMERATED {sf-EUTRA-cf1, sf-EUTRA-cf2} + + +MeasSensing-Config-r15 ::= SEQUENCE { + sensingSubchannelNumber-r15 INTEGER (1..20), + sensingPeriodicity-r15 ENUMERATED {ms20, ms50, ms100, ms200, + ms300, ms400, ms500, ms600, + ms700, ms800, ms900, ms1000}, + sensingReselectionCounter-r15 INTEGER (5..75), + sensingPriority-r15 INTEGER (1..8) +} + + +MTC-SSB-NR-r15 ::= SEQUENCE { + periodicityAndOffset-r15 CHOICE { + sf5-r15 INTEGER (0..4), + sf10-r15 INTEGER (0..9), + sf20-r15 INTEGER (0..19), + sf40-r15 INTEGER (0..39), + sf80-r15 INTEGER (0..79), + sf160-r15 INTEGER (0..159) + }, + ssb-Duration-r15 ENUMERATED {sf1, sf2, sf3, sf4, sf5 } +} + +MTC-SSB2-LP-NR-r16::= SEQUENCE { + pci-List-r16 SEQUENCE (SIZE (1..maxNrofPCI-PerSMTC-r16)) OF PhysCellIdNR-r15 + OPTIONAL, -- Need OR + periodicity-r16 ENUMERATED {sf10, sf20, sf40, sf80, sf160, spare3, spare2, spare1} +} + + +QuantityConfig ::= SEQUENCE { + quantityConfigEUTRA QuantityConfigEUTRA OPTIONAL, -- Need ON + quantityConfigUTRA QuantityConfigUTRA OPTIONAL, -- Need ON + quantityConfigGERAN QuantityConfigGERAN OPTIONAL, -- Need ON + quantityConfigCDMA2000 QuantityConfigCDMA2000 OPTIONAL, -- Need ON + ..., + [[ quantityConfigUTRA-v1020 QuantityConfigUTRA-v1020 OPTIONAL -- Need ON + ]], + [[ quantityConfigEUTRA-v1250 QuantityConfigEUTRA-v1250 OPTIONAL -- Need ON + ]], + [[ quantityConfigEUTRA-v1310 QuantityConfigEUTRA-v1310 OPTIONAL, -- Need ON + quantityConfigWLAN-r13 QuantityConfigWLAN-r13 OPTIONAL -- Need ON + ]], + [[ quantityConfigNRList-r15 QuantityConfigNRList-r15 OPTIONAL -- Need ON + ]] +} + +QuantityConfigEUTRA ::= SEQUENCE { + filterCoefficientRSRP FilterCoefficient DEFAULT fc4, + filterCoefficientRSRQ FilterCoefficient DEFAULT fc4 +} + +QuantityConfigEUTRA-v1250 ::= SEQUENCE { + filterCoefficientCSI-RSRP-r12 FilterCoefficient OPTIONAL -- Need OR +} + +QuantityConfigEUTRA-v1310 ::= SEQUENCE { + filterCoefficientRS-SINR-r13 FilterCoefficient DEFAULT fc4 +} + +QuantityConfigUTRA ::= SEQUENCE { + measQuantityUTRA-FDD ENUMERATED {cpich-RSCP, cpich-EcN0}, + measQuantityUTRA-TDD ENUMERATED {pccpch-RSCP}, + filterCoefficient FilterCoefficient DEFAULT fc4 +} + +QuantityConfigUTRA-v1020 ::= SEQUENCE { + filterCoefficient2-FDD-r10 FilterCoefficient DEFAULT fc4 +} + +QuantityConfigGERAN ::= SEQUENCE { + measQuantityGERAN ENUMERATED {rssi}, + filterCoefficient FilterCoefficient DEFAULT fc2 +} + +QuantityConfigCDMA2000 ::= SEQUENCE { + measQuantityCDMA2000 ENUMERATED {pilotStrength, pilotPnPhaseAndPilotStrength} +} + +QuantityConfigNRList-r15 ::= SEQUENCE (SIZE (1..maxQuantSetsNR-r15)) OF QuantityConfigNR-r15 + +QuantityConfigNR-r15 ::= SEQUENCE { + measQuantityCellNR-r15 QuantityConfigRS-NR-r15, + measQuantityRS-IndexNR-r15 QuantityConfigRS-NR-r15 OPTIONAL +} + +QuantityConfigRS-NR-r15 ::= SEQUENCE { + filterCoeff-RSRP-r15 FilterCoefficient DEFAULT fc4, + filterCoeff-RSRQ-r15 FilterCoefficient DEFAULT fc4, + filterCoefficient-SINR-r13 FilterCoefficient DEFAULT fc4 +} + +QuantityConfigWLAN-r13 ::= SEQUENCE { + measQuantityWLAN-r13 ENUMERATED {rssiWLAN}, + filterCoefficient-r13 FilterCoefficient DEFAULT fc4 +} + + +ReportConfigEUTRA ::= SEQUENCE { + triggerType CHOICE { + event SEQUENCE { + eventId CHOICE { + eventA1 SEQUENCE { + a1-Threshold ThresholdEUTRA + }, + eventA2 SEQUENCE { + a2-Threshold ThresholdEUTRA + }, + eventA3 SEQUENCE { + a3-Offset INTEGER (-30..30), + reportOnLeave BOOLEAN + }, + eventA4 SEQUENCE { + a4-Threshold ThresholdEUTRA + }, + eventA5 SEQUENCE { + a5-Threshold1 ThresholdEUTRA, + a5-Threshold2 ThresholdEUTRA + }, + ..., + eventA6-r10 SEQUENCE { + a6-Offset-r10 INTEGER (-30..30), + a6-ReportOnLeave-r10 BOOLEAN + }, + eventC1-r12 SEQUENCE { + c1-Threshold-r12 ThresholdEUTRA-v1250, + c1-ReportOnLeave-r12 BOOLEAN + }, + eventC2-r12 SEQUENCE { + c2-RefCSI-RS-r12 MeasCSI-RS-Id-r12, + c2-Offset-r12 INTEGER (-30..30), + c2-ReportOnLeave-r12 BOOLEAN + }, + eventV1-r14 SEQUENCE { + v1-Threshold-r14 SL-CBR-r14 + }, + eventV2-r14 SEQUENCE { + v2-Threshold-r14 SL-CBR-r14 + }, + eventH1-r15 SEQUENCE { + h1-ThresholdOffset-r15 INTEGER (0..300), + h1-Hysteresis-r15 INTEGER (1..16) + }, + eventH2-r15 SEQUENCE { + h2-ThresholdOffset-r15 INTEGER (0..300), + h2-Hysteresis-r15 INTEGER (1..16) + } + }, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + periodical SEQUENCE { + purpose ENUMERATED { + reportStrongestCells, reportCGI} + } + }, + triggerQuantity ENUMERATED {rsrp, rsrq}, + reportQuantity ENUMERATED {sameAsTriggerQuantity, both}, + maxReportCells INTEGER (1..maxCellReport), + reportInterval ReportInterval, + reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + ..., + [[ si-RequestForHO-r9 ENUMERATED {setup} OPTIONAL, -- Cond reportCGI + ue-RxTxTimeDiffPeriodical-r9 ENUMERATED {setup} OPTIONAL -- Need OR + ]], + [[ includeLocationInfo-r10 ENUMERATED {true} OPTIONAL, -- Need OR + reportAddNeighMeas-r10 ENUMERATED {setup} OPTIONAL -- Need OR + ]], + [[ alternativeTimeToTrigger-r12 CHOICE { + release NULL, + setup TimeToTrigger + } OPTIONAL, -- Need ON + useT312-r12 BOOLEAN OPTIONAL, -- Need ON + usePSCell-r12 BOOLEAN OPTIONAL, -- Need ON + aN-Threshold1-v1250 RSRQ-RangeConfig-r12 OPTIONAL, -- Need ON + a5-Threshold2-v1250 RSRQ-RangeConfig-r12 OPTIONAL, -- Need ON + reportStrongestCSI-RSs-r12 BOOLEAN OPTIONAL, -- Need ON + reportCRS-Meas-r12 BOOLEAN OPTIONAL, -- Need ON + triggerQuantityCSI-RS-r12 BOOLEAN OPTIONAL -- Need ON + ]], + [[ reportSSTD-Meas-r13 BOOLEAN OPTIONAL, -- Need ON + rs-sinr-Config-r13 CHOICE { + release NULL, + setup SEQUENCE { + triggerQuantity-v1310 ENUMERATED {sinr} OPTIONAL, -- Need ON + aN-Threshold1-r13 RS-SINR-Range-r13 OPTIONAL, -- Need ON + a5-Threshold2-r13 RS-SINR-Range-r13 OPTIONAL, -- Need ON + reportQuantity-v1310 ENUMERATED {rsrpANDsinr, rsrqANDsinr, all} + } + } OPTIONAL, -- Need ON + useWhiteCellList-r13 BOOLEAN OPTIONAL, -- Need ON + measRSSI-ReportConfig-r13 MeasRSSI-ReportConfig-r13 OPTIONAL, -- Need ON + includeMultiBandInfo-r13 ENUMERATED {true} OPTIONAL, -- Cond reportCGI + ul-DelayConfig-r13 UL-DelayConfig-r13 OPTIONAL -- Need ON + ]], + [[ ue-RxTxTimeDiffPeriodicalTDD-r13 BOOLEAN OPTIONAL -- Need ON + ]], + [[ + purpose-v1430 ENUMERATED {reportLocation, sidelink, spare2, spare1} + OPTIONAL -- Need ON + ]], + [[ + maxReportRS-Index-r15 INTEGER (0..maxRS-IndexReport-r15) OPTIONAL -- Need ON + ]], + [[ includeBT-Meas-r15 BT-NameListConfig-r15 OPTIONAL, -- Need ON + includeWLAN-Meas-r15 WLAN-NameListConfig-r15 OPTIONAL, -- Need ON + purpose-r15 ENUMERATED {sensing} OPTIONAL, -- Need ON + numberOfTriggeringCells-r15 INTEGER (2..maxCellReport) OPTIONAL, -- Cond a3a4a5 + a4-a5-ReportOnLeave-r15 BOOLEAN OPTIONAL -- Cond a4a5 + ]], + [[ condReconfigurationTriggerEUTRA-r16 CondReconfigurationTriggerEUTRA-r16 OPTIONAL, +-- Need ON + ul-DelayValueConfig-r16 UL-DelayValueConfig-r16 OPTIONAL -- Need ON + ]] +} + +CondReconfigurationTriggerEUTRA-r16 ::= SEQUENCE { + condEventId-r16 CHOICE { + condEventA3-r16 SEQUENCE { + a3-Offset-r16 INTEGER (-30..30), + hysteresis-r16 Hysteresis, + timeToTrigger-r16 TimeToTrigger + }, + condEventA5-r16 SEQUENCE { + a5-Threshold1-r16 ThresholdEUTRA, + a5-Threshold2-r16 ThresholdEUTRA, + hysteresis-r16 Hysteresis, + timeToTrigger-r16 TimeToTrigger + }, + ... + } +} + +RSRQ-RangeConfig-r12 ::= CHOICE { + release NULL, + setup RSRQ-Range-v1250 +} + +ThresholdEUTRA ::= CHOICE{ + threshold-RSRP RSRP-Range, + threshold-RSRQ RSRQ-Range +} + +ThresholdEUTRA-v1250 ::= CSI-RSRP-Range-r12 + +MeasRSSI-ReportConfig-r13 ::= SEQUENCE { + channelOccupancyThreshold-r13 RSSI-Range-r13 OPTIONAL -- Need OR +} + + +ReportConfigId ::= INTEGER (1..maxReportConfigId) + + +ReportConfigInterRAT ::= SEQUENCE { + triggerType CHOICE { + event SEQUENCE { + eventId CHOICE { + eventB1 SEQUENCE { + b1-Threshold CHOICE { + b1-ThresholdUTRA ThresholdUTRA, + b1-ThresholdGERAN ThresholdGERAN, + b1-ThresholdCDMA2000 ThresholdCDMA2000 + } + }, + eventB2 SEQUENCE { + b2-Threshold1 ThresholdEUTRA, + b2-Threshold2 CHOICE { + b2-Threshold2UTRA ThresholdUTRA, + b2-Threshold2GERAN ThresholdGERAN, + b2-Threshold2CDMA2000 ThresholdCDMA2000 + } + }, + ..., + eventW1-r13 SEQUENCE { + w1-Threshold-r13 WLAN-RSSI-Range-r13 + }, + eventW2-r13 SEQUENCE { + w2-Threshold1-r13 WLAN-RSSI-Range-r13, + w2-Threshold2-r13 WLAN-RSSI-Range-r13 + }, + eventW3-r13 SEQUENCE { + w3-Threshold-r13 WLAN-RSSI-Range-r13 + }, + eventB1-NR-r15 SEQUENCE { + b1-ThresholdNR-r15 ThresholdNR-r15, + reportOnLeave-r15 BOOLEAN + }, + eventB2-NR-r15 SEQUENCE { + b2-Threshold1-r15 ThresholdEUTRA, + b2-Threshold2NR-r15 ThresholdNR-r15, + reportOnLeave-r15 BOOLEAN + } + }, + hysteresis Hysteresis, + timeToTrigger TimeToTrigger + }, + periodical SEQUENCE { + purpose ENUMERATED { + reportStrongestCells, + reportStrongestCellsForSON, + reportCGI} + } + }, + maxReportCells INTEGER (1..maxCellReport), + reportInterval ReportInterval, + reportAmount ENUMERATED {r1, r2, r4, r8, r16, r32, r64, infinity}, + ..., + [[ si-RequestForHO-r9 ENUMERATED {setup} OPTIONAL -- Cond reportCGI + ]], + [[ reportQuantityUTRA-FDD-r10 ENUMERATED {both} OPTIONAL -- Need OR + ]], + [[ includeLocationInfo-r11 BOOLEAN OPTIONAL -- Need ON + ]], + [[ b2-Threshold1-v1250 CHOICE { + release NULL, + setup RSRQ-Range-v1250 + } OPTIONAL -- Need ON + ]], + [[ reportQuantityWLAN-r13 ReportQuantityWLAN-r13 OPTIONAL -- Need ON + ]], + [[ reportAnyWLAN-r14 BOOLEAN OPTIONAL -- Need ON + ]], + [[ reportQuantityCellNR-r15 ReportQuantityNR-r15 OPTIONAL, -- Need ON + maxReportRS-Index-r15 INTEGER (0..maxRS-IndexReport-r15) OPTIONAL, -- Need ON + reportQuantityRS-IndexNR-r15 ReportQuantityNR-r15 OPTIONAL, -- Need ON + reportRS-IndexResultsNR BOOLEAN OPTIONAL, -- Need ON + reportSFTD-Meas-r15 ENUMERATED {pSCell, neighborCells } OPTIONAL -- Need ON + ]], + [[ + useAutonomousGapsNR-r16 ENUMERATED {setup} OPTIONAL, -- Cond reportCGI-NR + measRSSI-ReportConfigNR-r16 MeasRSSI-ReportConfig-r13 OPTIONAL -- Need ON + ]] +} + +ThresholdUTRA ::= CHOICE{ + utra-RSCP INTEGER (-5..91), + utra-EcN0 INTEGER (0..49) +} + +ThresholdGERAN ::= INTEGER (0..63) + +ThresholdCDMA2000 ::= INTEGER (0..63) + +ReportQuantityNR-r15::= SEQUENCE { + ss-rsrp BOOLEAN, + ss-rsrq BOOLEAN, + ss-sinr BOOLEAN +} + +ReportQuantityWLAN-r13 ::= SEQUENCE { + bandRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR + carrierInfoRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR + availableAdmissionCapacityRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR + backhaulDL-BandwidthRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR + backhaulUL-BandwidthRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR + channelUtilizationRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR + stationCountRequestWLAN-r13 ENUMERATED {true} OPTIONAL, -- Need OR + ... +} + + +ReportConfigToAddModList ::= SEQUENCE (SIZE (1..maxReportConfigId)) OF ReportConfigToAddMod + +ReportConfigToAddMod ::= SEQUENCE { + reportConfigId ReportConfigId, + reportConfig CHOICE { + reportConfigEUTRA ReportConfigEUTRA, + reportConfigInterRAT ReportConfigInterRAT + } +} + + + +ReportInterval ::= ENUMERATED { + ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, + min1, min6, min12, min30, min60, spare3, spare2, spare1} + + +RS-IndexNR-r15 ::= INTEGER (0.. maxRS-Index-1-r15) + + +RSRP-Range ::= INTEGER(0..97) + +RSRP-Range-v1360 ::= INTEGER(-17..-1) + +RSRP-RangeSL-r12 ::= INTEGER(0..13) + +RSRP-RangeSL2-r12 ::= INTEGER(0..7) + +RSRP-RangeSL3-r12 ::= INTEGER(0..11) + +RSRP-RangeSL4-r13 ::= INTEGER(0..49) + + +RSRP-RangeNR-r15 ::= INTEGER (0..127) + + +RSRQ-Range ::= INTEGER(0..34) + +RSRQ-Range-v1250 ::= INTEGER(-30..46) + +RSRQ-Range-r13 ::= INTEGER(-30..46) + + +RSRQ-RangeNR-r15 ::= INTEGER (0..127) + + +RSRQ-Type-r12 ::= SEQUENCE { + allSymbols-r12 BOOLEAN, + wideBand-r12 BOOLEAN +} + + +RS-SINR-Range-r13 ::= INTEGER(0..127) + + +RS-SINR-RangeNR-r15 ::= INTEGER (0..127) + + +RSSI-Range-r13 ::= INTEGER(0..76) + + +SS-RSSI-Measurement-r15 ::= SEQUENCE { + measurementSlots-r15 BIT STRING (SIZE(1..80)), + endSymbol-r15 INTEGER(0..3) +} + + +SSB-PositionQCL-RelationNR-r16 ::= ENUMERATED {n1, n2, n4, n8} + + +SSB-ToMeasure-r15 ::= CHOICE { + shortBitmap-r15 BIT STRING (SIZE (4)), + mediumBitmap-r15 BIT STRING (SIZE (8)), + longBitmap-r15 BIT STRING (SIZE (64)) +} + + +TimeToTrigger ::= ENUMERATED { + ms0, ms40, ms64, ms80, ms100, ms128, ms160, ms256, + ms320, ms480, ms512, ms640, ms1024, ms1280, ms2560, + ms5120} + + +UL-DelayConfig-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + delayThreshold-r13 ENUMERATED { + ms30, ms40, ms50, ms60, ms70, ms80, + ms90,ms100, ms150, ms300, ms500, ms750, spare4, + spare3, spare2, spare1} + } +} + + +UL-DelayValueConfig-r16 ::= CHOICE { + release NULL, + setup SEQUENCE { + delay-DRBlist-r16 SEQUENCE (SIZE(1..maxDRB)) OF DRB-Identity + } +} + + +WLAN-CarrierInfo-r13 ::= SEQUENCE { + operatingClass-r13 INTEGER (0..255) OPTIONAL, -- Need ON + countryCode-r13 ENUMERATED {unitedStates, europe, japan, global, ...} + OPTIONAL, -- Need ON + channelNumbers-r13 WLAN-ChannelList-r13 OPTIONAL, -- Need ON + ... +} + +WLAN-ChannelList-r13 ::= SEQUENCE (SIZE (1..maxWLAN-Channels-r13)) OF WLAN-Channel-r13 + +WLAN-Channel-r13 ::= INTEGER(0..255) + + +WLAN-NameListConfig-r15 ::= CHOICE{ + release NULL, + setup WLAN-NameList-r15 +} + +WLAN-NameList-r15 ::= SEQUENCE (SIZE (1..maxWLAN-Name-r15)) OF WLAN-Name-r15 + +WLAN-Name-r15 ::= OCTET STRING (SIZE (1..32)) + + +WLAN-RSSI-Range-r13 ::= INTEGER(0..141) + + +WLAN-RTT-r15 ::= SEQUENCE { + rttValue-r15 INTEGER (0..16777215), + rttUnits-r15 ENUMERATED { microseconds, + hundredsofnanoseconds, + tensofnanoseconds, + nanoseconds, + tenthsofnanoseconds, + ... }, + rttAccuracy-r15 INTEGER (0..255) OPTIONAL, + ... +} + + +WLAN-Status-r13 ::= ENUMERATED {successfulAssociation, failureWlanRadioLink, failureWlanUnavailable, failureTimeout} + +WLAN-Status-v1430 ::= ENUMERATED {suspended, resumed} + + +WLAN-SuspendConfig-r14 ::= SEQUENCE { + wlan-SuspendResumeAllowed-r14 BOOLEAN OPTIONAL, -- Need ON + wlan-SuspendTriggersStatusReport-r14 BOOLEAN OPTIONAL -- Need ON +} + + +AbsoluteTimeInfo-r10 ::= BIT STRING (SIZE (48)) + + +AMF-Identifier-r15 ::= BIT STRING (SIZE (24)) + + +AreaConfiguration-r10 ::= CHOICE { + cellGlobalIdList-r10 CellGlobalIdList-r10, + trackingAreaCodeList-r10 TrackingAreaCodeList-r10 +} + +AreaConfiguration-v1130 ::= SEQUENCE { + trackingAreaCodeList-v1130 TrackingAreaCodeList-v1130 +} + +CellGlobalIdList-r10 ::= SEQUENCE (SIZE (1..32)) OF CellGlobalIdEUTRA + +TrackingAreaCodeList-r10 ::= SEQUENCE (SIZE (1..8)) OF TrackingAreaCode + +TrackingAreaCodeList-v1130 ::= SEQUENCE { + plmn-Identity-perTAC-List-r11 SEQUENCE (SIZE (1..8)) OF PLMN-Identity +} + + +BandCombinationList-r14 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombination-r14 + +BandCombination-r14 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandIndication-r14 + +BandIndication-r14 ::= SEQUENCE { + bandEUTRA-r14 FreqBandIndicator-r11, + ca-BandwidthClassDL-r14 CA-BandwidthClass-r10, + ca-BandwidthClassUL-r14 CA-BandwidthClass-r10 OPTIONAL +} + + +C-RNTI ::= BIT STRING (SIZE (16)) + + +DedicatedInfoCDMA2000 ::= OCTET STRING + + +DedicatedInfoF1c-r16 ::= OCTET STRING + + +DedicatedInfoNAS ::= OCTET STRING + + +FilterCoefficient ::= ENUMERATED { + fc0, fc1, fc2, fc3, fc4, fc5, + fc6, fc7, fc8, fc9, fc11, fc13, + fc15, fc17, fc19, spare1, ...} + + +FlightPathInfoReportConfig-r15 ::= SEQUENCE { + maxWayPointNumber-r15 INTEGER (1..maxWayPoint-r15), + includeTimeStamp-r15 ENUMERATED {true} OPTIONAL +} + + +GNSS-ID-r15 ::= SEQUENCE { + gnss-id-r15 ENUMERATED{gps, sbas, qzss, galileo, glonass, bds, ..., navic-v1610}, + ... +} + + +I-RNTI-r15 ::= BIT STRING (SIZE(40)) + + +LoggingDuration-r10 ::= ENUMERATED { + min10, min20, min40, min60, min90, min120, spare2, spare1} + + +LoggingInterval-r10 ::= ENUMERATED { + ms1280, ms2560, ms5120, ms10240, ms20480, + ms30720, ms40960, ms61440} + + +MeasSubframePattern-r10 ::= CHOICE { + subframePatternFDD-r10 BIT STRING (SIZE (40)), + subframePatternTDD-r10 CHOICE { + subframeConfig1-5-r10 BIT STRING (SIZE (20)), + subframeConfig0-r10 BIT STRING (SIZE (70)), + subframeConfig6-r10 BIT STRING (SIZE (60)), + ... + }, + ... +} + + +MMEC ::= BIT STRING (SIZE (8)) + + +NeighCellConfig ::= BIT STRING (SIZE (2)) + + +NG-5G-S-TMSI-r15::= BIT STRING (SIZE (48)) + + +OtherConfig-r9 ::= SEQUENCE { + reportProximityConfig-r9 ReportProximityConfig-r9 OPTIONAL, -- Need ON + ..., + [[ idc-Config-r11 IDC-Config-r11 OPTIONAL, -- Need ON + powerPrefIndicationConfig-r11 PowerPrefIndicationConfig-r11 OPTIONAL, -- Need ON + obtainLocationConfig-r11 ObtainLocationConfig-r11 OPTIONAL -- Need ON + ]], + [[ bw-PreferenceIndicationTimer-r14 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, + s30, s60, s90, s120, s300, s600, spare3, + spare2, spare1} OPTIONAL, -- Need OR + sps-AssistanceInfoReport-r14 BOOLEAN OPTIONAL, -- Need ON + delayBudgetReportingConfig-r14 CHOICE{ + release NULL, + setup SEQUENCE{ + delayBudgetReportingProhibitTimer-r14 ENUMERATED { + s0, s0dot4, s0dot8, + s1dot6, s3, s6, s12, s30} + } + } OPTIONAL, -- Need ON + rlm-ReportConfig-r14 CHOICE { + release NULL, + setup SEQUENCE{ + rlmReportTimer-r14 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, s30, + s60, s90, s120, s300, s600, spare3, spare2, spare1}, + rlmReportRep-MPDCCH-r14 ENUMERATED {setup} OPTIONAL -- Need OR + } + } OPTIONAL -- Need ON + ]], + [[ overheatingAssistanceConfig-r14 CHOICE{ + release NULL, + setup SEQUENCE{ + overheatingIndicationProhibitTimer-r14 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, + s20, s30, s60, s90, s120, s300, s600, + spare3, spare2, spare1} + } + } OPTIONAL -- Need ON + ]], + [[ measConfigAppLayer-r15 CHOICE{ + release NULL, + setup SEQUENCE{ + measConfigAppLayerContainer-r15 OCTET STRING (SIZE(1..1000)), + serviceType-r15 ENUMERATED {qoe, qoemtsi, spare6, spare5, spare4, spare3, spare2, spare1} + } + } OPTIONAL, -- Need ON + ailc-BitConfig-r15 BOOLEAN OPTIONAL, -- Need ON + bt-NameListConfig-r15 BT-NameListConfig-r15 OPTIONAL, --Need ON + wlan-NameListConfig-r15 WLAN-NameListConfig-r15 OPTIONAL --Need ON + ]], + [[ overheatingAssistanceConfigForSCG-r16 BOOLEAN OPTIONAL -- Cond overheating + ]] +} + +IDC-Config-r11 ::= SEQUENCE { + idc-Indication-r11 ENUMERATED {setup} OPTIONAL, -- Need OR + autonomousDenialParameters-r11 SEQUENCE { + autonomousDenialSubframes-r11 ENUMERATED {n2, n5, n10, n15, + n20, n30, spare2, spare1}, + autonomousDenialValidity-r11 ENUMERATED { + sf200, sf500, sf1000, sf2000, + spare4, spare3, spare2, spare1} + } OPTIONAL, -- Need OR + ..., + [[ idc-Indication-UL-CA-r11 ENUMERATED {setup} OPTIONAL -- Cond idc-Ind + ]], + [[ idc-HardwareSharingIndication-r13 ENUMERATED {setup} OPTIONAL -- Need OR + ]], + [[ idc-Indication-MRDC-r15 CHOICE{ + release NULL, + setup CandidateServingFreqListNR-r15 + } OPTIONAL -- Cond idc-Ind + ]] +} + +ObtainLocationConfig-r11 ::= SEQUENCE { + obtainLocation-r11 ENUMERATED {setup} OPTIONAL -- Need OR +} + +PowerPrefIndicationConfig-r11 ::= CHOICE{ + release NULL, + setup SEQUENCE{ + powerPrefIndicationTimer-r11 ENUMERATED {s0, s0dot5, s1, s2, s5, s10, s20, + s30, s60, s90, s120, s300, s600, spare3, + spare2, spare1} + } +} + +ReportProximityConfig-r9 ::= SEQUENCE { + proximityIndicationEUTRA-r9 ENUMERATED {enabled} OPTIONAL, -- Need OR + proximityIndicationUTRA-r9 ENUMERATED {enabled} OPTIONAL -- Need OR +} + +CandidateServingFreqListNR-r15 ::= SEQUENCE (SIZE (1..maxFreqIDC-r11)) OF ARFCN-ValueNR-r15 + + +RAN-AreaCode-r15 ::= INTEGER (0..255) + + +RAND-CDMA2000 ::= BIT STRING (SIZE (32)) + + +RAT-Type ::= ENUMERATED { + eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT, + nr, eutra-nr, spare1, ...} + + +ResumeIdentity-r13 ::= BIT STRING (SIZE(40)) + + +RRC-TransactionIdentifier ::= INTEGER (0..3) + + +SBAS-ID-r15 ::= SEQUENCE { + sbas-id-r15 ENUMERATED {waas, egnos, msas, gagan, ...}, + ... +} + + +ShortI-RNTI-r15 ::= BIT STRING (SIZE(24)) + + +S-NSSAI-r15 ::= CHOICE{ + sst BIT STRING (SIZE (8)), + sst-SD BIT STRING (SIZE (32)) +} + + +S-TMSI ::= SEQUENCE { + mmec MMEC, + m-TMSI BIT STRING (SIZE (32)) +} + + +TraceReference-r10 ::= SEQUENCE { + plmn-Identity-r10 PLMN-Identity, + traceId-r10 OCTET STRING (SIZE (3)) +} + + +UE-CapabilityRAT-ContainerList ::=SEQUENCE (SIZE (0..maxRAT-Capabilities)) OF UE-CapabilityRAT-Container + +UE-CapabilityRAT-Container ::= SEQUENCE { + rat-Type RAT-Type, + ueCapabilityRAT-Container OCTET STRING +} + + +UE-EUTRA-Capability ::= SEQUENCE { + accessStratumRelease AccessStratumRelease, + ue-Category INTEGER (1..5), + pdcp-Parameters PDCP-Parameters, + phyLayerParameters PhyLayerParameters, + rf-Parameters RF-Parameters, + measParameters MeasParameters, + featureGroupIndicators BIT STRING (SIZE (32)) OPTIONAL, + interRAT-Parameters SEQUENCE { + utraFDD IRAT-ParametersUTRA-FDD OPTIONAL, + utraTDD128 IRAT-ParametersUTRA-TDD128 OPTIONAL, + utraTDD384 IRAT-ParametersUTRA-TDD384 OPTIONAL, + utraTDD768 IRAT-ParametersUTRA-TDD768 OPTIONAL, + geran IRAT-ParametersGERAN OPTIONAL, + cdma2000-HRPD IRAT-ParametersCDMA2000-HRPD OPTIONAL, + cdma2000-1xRTT IRAT-ParametersCDMA2000-1XRTT OPTIONAL + }, + nonCriticalExtension UE-EUTRA-Capability-v920-IEs OPTIONAL +} + +-- Late non critical extensions +UE-EUTRA-Capability-v9a0-IEs ::= SEQUENCE { + featureGroupIndRel9Add-r9 BIT STRING (SIZE (32)) OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-r9 UE-EUTRA-CapabilityAddXDD-Mode-r9 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-r9 UE-EUTRA-CapabilityAddXDD-Mode-r9 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v9c0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v9c0-IEs ::= SEQUENCE { + interRAT-ParametersUTRA-v9c0 IRAT-ParametersUTRA-v9c0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v9d0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v9d0-IEs ::= SEQUENCE { + phyLayerParameters-v9d0 PhyLayerParameters-v9d0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v9e0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v9e0-IEs ::= SEQUENCE { + rf-Parameters-v9e0 RF-Parameters-v9e0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v9h0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v9h0-IEs ::= SEQUENCE { + interRAT-ParametersUTRA-v9h0 IRAT-ParametersUTRA-v9h0 OPTIONAL, + -- Following field is only to be used for late REL-9 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v10c0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v10c0-IEs ::= SEQUENCE { + otdoa-PositioningCapabilities-r10 OTDOA-PositioningCapabilities-r10 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v10f0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v10f0-IEs ::= SEQUENCE { + rf-Parameters-v10f0 RF-Parameters-v10f0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v10i0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v10i0-IEs ::= SEQUENCE { + rf-Parameters-v10i0 RF-Parameters-v10i0 OPTIONAL, + -- Following field is only to be used for late REL-10 extensions + lateNonCriticalExtension OCTET STRING (CONTAINING UE-EUTRA-Capability-v10j0-IEs) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v11d0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v10j0-IEs ::= SEQUENCE { + rf-Parameters-v10j0 RF-Parameters-v10j0 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +UE-EUTRA-Capability-v11d0-IEs ::= SEQUENCE { + rf-Parameters-v11d0 RF-Parameters-v11d0 OPTIONAL, + otherParameters-v11d0 Other-Parameters-v11d0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v11x0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v11x0-IEs ::= SEQUENCE { + -- Following field is only to be used for late REL-11 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v12b0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v12b0-IEs ::= SEQUENCE { + rf-Parameters-v12b0 RF-Parameters-v12b0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v12x0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v12x0-IEs ::= SEQUENCE { + -- Following field is only to be used for late REL-12 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1370-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1370-IEs ::= SEQUENCE { + ce-Parameters-v1370 CE-Parameters-v1370 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1370 UE-EUTRA-CapabilityAddXDD-Mode-v1370 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1370 UE-EUTRA-CapabilityAddXDD-Mode-v1370 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1380-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1380-IEs ::= SEQUENCE { + rf-Parameters-v1380 RF-Parameters-v1380 OPTIONAL, + ce-Parameters-v1380 CE-Parameters-v1380, + fdd-Add-UE-EUTRA-Capabilities-v1380 UE-EUTRA-CapabilityAddXDD-Mode-v1380, + tdd-Add-UE-EUTRA-Capabilities-v1380 UE-EUTRA-CapabilityAddXDD-Mode-v1380, + nonCriticalExtension UE-EUTRA-Capability-v1390-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1390-IEs ::= SEQUENCE { + rf-Parameters-v1390 RF-Parameters-v1390 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v13e0a-IEs OPTIONAL +} + +UE-EUTRA-Capability-v13e0a-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING UE-EUTRA-Capability-v13e0b-IEs) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1470-IEs OPTIONAL +} + +UE-EUTRA-Capability-v13e0b-IEs ::= SEQUENCE { + phyLayerParameters-v13e0 PhyLayerParameters-v13e0, + -- Following field is only to be used for late REL-13 extensions + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +UE-EUTRA-Capability-v1470-IEs ::= SEQUENCE { + mbms-Parameters-v1470 MBMS-Parameters-v1470 OPTIONAL, + phyLayerParameters-v1470 PhyLayerParameters-v1470 OPTIONAL, + rf-Parameters-v1470 RF-Parameters-v1470 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v14a0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v14a0-IEs ::= SEQUENCE { + phyLayerParameters-v14a0 PhyLayerParameters-v14a0, + nonCriticalExtension UE-EUTRA-Capability-v14b0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v14b0-IEs ::= SEQUENCE { + rf-Parameters-v14b0 RF-Parameters-v14b0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v14x0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v14x0-IEs ::= SEQUENCE { + -- Following field is only to be used for late REL-14 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v15x0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v15x0-IEs ::= SEQUENCE { + -- Following field is only to be used for late REL-15 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v16c0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v16c0-IEs ::= SEQUENCE { + measParameters-v16c0 MeasParameters-v16c0, + -- Following field is only to be used for late REL-16 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non critical extensions +UE-EUTRA-Capability-v920-IEs ::= SEQUENCE { + phyLayerParameters-v920 PhyLayerParameters-v920, + interRAT-ParametersGERAN-v920 IRAT-ParametersGERAN-v920, + interRAT-ParametersUTRA-v920 IRAT-ParametersUTRA-v920 OPTIONAL, + interRAT-ParametersCDMA2000-v920 IRAT-ParametersCDMA2000-1XRTT-v920 OPTIONAL, + deviceType-r9 ENUMERATED {noBenFromBatConsumpOpt} OPTIONAL, + csg-ProximityIndicationParameters-r9 CSG-ProximityIndicationParameters-r9, + neighCellSI-AcquisitionParameters-r9 NeighCellSI-AcquisitionParameters-r9, + son-Parameters-r9 SON-Parameters-r9, + nonCriticalExtension UE-EUTRA-Capability-v940-IEs OPTIONAL +} + +UE-EUTRA-Capability-v940-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING UE-EUTRA-Capability-v9a0-IEs) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1020-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1020-IEs ::= SEQUENCE { + ue-Category-v1020 INTEGER (6..8) OPTIONAL, + phyLayerParameters-v1020 PhyLayerParameters-v1020 OPTIONAL, + rf-Parameters-v1020 RF-Parameters-v1020 OPTIONAL, + measParameters-v1020 MeasParameters-v1020 OPTIONAL, + featureGroupIndRel10-r10 BIT STRING (SIZE (32)) OPTIONAL, + interRAT-ParametersCDMA2000-v1020 IRAT-ParametersCDMA2000-1XRTT-v1020 OPTIONAL, + ue-BasedNetwPerfMeasParameters-r10 UE-BasedNetwPerfMeasParameters-r10 OPTIONAL, + interRAT-ParametersUTRA-TDD-v1020 IRAT-ParametersUTRA-TDD-v1020 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1060-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1060-IEs ::= SEQUENCE { + fdd-Add-UE-EUTRA-Capabilities-v1060 UE-EUTRA-CapabilityAddXDD-Mode-v1060 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1060 UE-EUTRA-CapabilityAddXDD-Mode-v1060 OPTIONAL, + rf-Parameters-v1060 RF-Parameters-v1060 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1090-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1090-IEs ::= SEQUENCE { + rf-Parameters-v1090 RF-Parameters-v1090 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1130-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1130-IEs ::= SEQUENCE { + pdcp-Parameters-v1130 PDCP-Parameters-v1130, + phyLayerParameters-v1130 PhyLayerParameters-v1130 OPTIONAL, + rf-Parameters-v1130 RF-Parameters-v1130, + measParameters-v1130 MeasParameters-v1130, + interRAT-ParametersCDMA2000-v1130 IRAT-ParametersCDMA2000-v1130, + otherParameters-r11 Other-Parameters-r11, + fdd-Add-UE-EUTRA-Capabilities-v1130 UE-EUTRA-CapabilityAddXDD-Mode-v1130 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1130 UE-EUTRA-CapabilityAddXDD-Mode-v1130 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1170-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1170-IEs ::= SEQUENCE { + phyLayerParameters-v1170 PhyLayerParameters-v1170 OPTIONAL, + ue-Category-v1170 INTEGER (9..10) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1180-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1180-IEs ::= SEQUENCE { + rf-Parameters-v1180 RF-Parameters-v1180 OPTIONAL, + mbms-Parameters-r11 MBMS-Parameters-r11 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1180 UE-EUTRA-CapabilityAddXDD-Mode-v1180 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1180 UE-EUTRA-CapabilityAddXDD-Mode-v1180 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v11a0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v11a0-IEs ::= SEQUENCE { + ue-Category-v11a0 INTEGER (11..12) OPTIONAL, + measParameters-v11a0 MeasParameters-v11a0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1250-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1250-IEs ::= SEQUENCE { + phyLayerParameters-v1250 PhyLayerParameters-v1250 OPTIONAL, + rf-Parameters-v1250 RF-Parameters-v1250 OPTIONAL, + rlc-Parameters-r12 RLC-Parameters-r12 OPTIONAL, + ue-BasedNetwPerfMeasParameters-v1250 UE-BasedNetwPerfMeasParameters-v1250 OPTIONAL, + ue-CategoryDL-r12 INTEGER (0..14) OPTIONAL, + ue-CategoryUL-r12 INTEGER (0..13) OPTIONAL, + wlan-IW-Parameters-r12 WLAN-IW-Parameters-r12 OPTIONAL, + measParameters-v1250 MeasParameters-v1250 OPTIONAL, + dc-Parameters-r12 DC-Parameters-r12 OPTIONAL, + mbms-Parameters-v1250 MBMS-Parameters-v1250 OPTIONAL, + mac-Parameters-r12 MAC-Parameters-r12 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1250 UE-EUTRA-CapabilityAddXDD-Mode-v1250 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1250 UE-EUTRA-CapabilityAddXDD-Mode-v1250 OPTIONAL, + sl-Parameters-r12 SL-Parameters-r12 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1260-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1260-IEs ::= SEQUENCE { + ue-CategoryDL-v1260 INTEGER (15..16) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1270-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1270-IEs ::= SEQUENCE { + rf-Parameters-v1270 RF-Parameters-v1270 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1280-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1280-IEs ::= SEQUENCE { + phyLayerParameters-v1280 PhyLayerParameters-v1280 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1310-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1310-IEs ::= SEQUENCE { + ue-CategoryDL-v1310 ENUMERATED {n17, m1} OPTIONAL, + ue-CategoryUL-v1310 ENUMERATED {n14, m1} OPTIONAL, + pdcp-Parameters-v1310 PDCP-Parameters-v1310, + rlc-Parameters-v1310 RLC-Parameters-v1310, + mac-Parameters-v1310 MAC-Parameters-v1310 OPTIONAL, + phyLayerParameters-v1310 PhyLayerParameters-v1310 OPTIONAL, + rf-Parameters-v1310 RF-Parameters-v1310 OPTIONAL, + measParameters-v1310 MeasParameters-v1310 OPTIONAL, + dc-Parameters-v1310 DC-Parameters-v1310 OPTIONAL, + sl-Parameters-v1310 SL-Parameters-v1310 OPTIONAL, + scptm-Parameters-r13 SCPTM-Parameters-r13 OPTIONAL, + ce-Parameters-r13 CE-Parameters-r13 OPTIONAL, + interRAT-ParametersWLAN-r13 IRAT-ParametersWLAN-r13, + laa-Parameters-r13 LAA-Parameters-r13 OPTIONAL, + lwa-Parameters-r13 LWA-Parameters-r13 OPTIONAL, + wlan-IW-Parameters-v1310 WLAN-IW-Parameters-v1310, + lwip-Parameters-r13 LWIP-Parameters-r13, + fdd-Add-UE-EUTRA-Capabilities-v1310 UE-EUTRA-CapabilityAddXDD-Mode-v1310 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1310 UE-EUTRA-CapabilityAddXDD-Mode-v1310 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1320-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1320-IEs ::= SEQUENCE { + ce-Parameters-v1320 CE-Parameters-v1320 OPTIONAL, + phyLayerParameters-v1320 PhyLayerParameters-v1320 OPTIONAL, + rf-Parameters-v1320 RF-Parameters-v1320 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1320 UE-EUTRA-CapabilityAddXDD-Mode-v1320 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1320 UE-EUTRA-CapabilityAddXDD-Mode-v1320 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1330-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1330-IEs ::= SEQUENCE { + ue-CategoryDL-v1330 INTEGER (18..19) OPTIONAL, + phyLayerParameters-v1330 PhyLayerParameters-v1330 OPTIONAL, + ue-CE-NeedULGaps-r13 ENUMERATED {true} OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1340-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1340-IEs ::= SEQUENCE { + ue-CategoryUL-v1340 INTEGER (15) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1350-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1350-IEs ::= SEQUENCE { + ue-CategoryDL-v1350 ENUMERATED {oneBis} OPTIONAL, + ue-CategoryUL-v1350 ENUMERATED {oneBis} OPTIONAL, + ce-Parameters-v1350 CE-Parameters-v1350, + nonCriticalExtension UE-EUTRA-Capability-v1360-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1360-IEs ::= SEQUENCE { + other-Parameters-v1360 Other-Parameters-v1360 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1430-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1430-IEs ::= SEQUENCE { + phyLayerParameters-v1430 PhyLayerParameters-v1430, + ue-CategoryDL-v1430 ENUMERATED {m2} OPTIONAL, + ue-CategoryUL-v1430 ENUMERATED {n16, n17, n18, n19, n20, m2} OPTIONAL, + ue-CategoryUL-v1430b ENUMERATED {n21} OPTIONAL, + mac-Parameters-v1430 MAC-Parameters-v1430 OPTIONAL, + measParameters-v1430 MeasParameters-v1430 OPTIONAL, + pdcp-Parameters-v1430 PDCP-Parameters-v1430 OPTIONAL, + rlc-Parameters-v1430 RLC-Parameters-v1430, + rf-Parameters-v1430 RF-Parameters-v1430 OPTIONAL, + laa-Parameters-v1430 LAA-Parameters-v1430 OPTIONAL, + lwa-Parameters-v1430 LWA-Parameters-v1430 OPTIONAL, + lwip-Parameters-v1430 LWIP-Parameters-v1430 OPTIONAL, + otherParameters-v1430 Other-Parameters-v1430, + mmtel-Parameters-r14 MMTEL-Parameters-r14 OPTIONAL, + mobilityParameters-r14 MobilityParameters-r14 OPTIONAL, + ce-Parameters-v1430 CE-Parameters-v1430, + fdd-Add-UE-EUTRA-Capabilities-v1430 UE-EUTRA-CapabilityAddXDD-Mode-v1430 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1430 UE-EUTRA-CapabilityAddXDD-Mode-v1430 OPTIONAL, + mbms-Parameters-v1430 MBMS-Parameters-v1430 OPTIONAL, + sl-Parameters-v1430 SL-Parameters-v1430 OPTIONAL, + ue-BasedNetwPerfMeasParameters-v1430 UE-BasedNetwPerfMeasParameters-v1430 OPTIONAL, + highSpeedEnhParameters-r14 HighSpeedEnhParameters-r14 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1440-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1440-IEs ::= SEQUENCE { + lwa-Parameters-v1440 LWA-Parameters-v1440, + mac-Parameters-v1440 MAC-Parameters-v1440, + nonCriticalExtension UE-EUTRA-Capability-v1450-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1450-IEs ::= SEQUENCE { + phyLayerParameters-v1450 PhyLayerParameters-v1450 OPTIONAL, + rf-Parameters-v1450 RF-Parameters-v1450 OPTIONAL, + otherParameters-v1450 OtherParameters-v1450, + ue-CategoryDL-v1450 INTEGER (20) OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1460-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1460-IEs ::= SEQUENCE { + ue-CategoryDL-v1460 INTEGER (21) OPTIONAL, + otherParameters-v1460 Other-Parameters-v1460, + nonCriticalExtension UE-EUTRA-Capability-v1510-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1510-IEs ::= SEQUENCE { + irat-ParametersNR-r15 IRAT-ParametersNR-r15 OPTIONAL, + featureSetsEUTRA-r15 FeatureSetsEUTRA-r15 OPTIONAL, + pdcp-ParametersNR-r15 PDCP-ParametersNR-r15 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1510 UE-EUTRA-CapabilityAddXDD-Mode-v1510 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1510 UE-EUTRA-CapabilityAddXDD-Mode-v1510 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1520-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1520-IEs ::= SEQUENCE { + measParameters-v1520 MeasParameters-v1520, + nonCriticalExtension UE-EUTRA-Capability-v1530-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1530-IEs ::= SEQUENCE { + measParameters-v1530 MeasParameters-v1530 OPTIONAL, + otherParameters-v1530 Other-Parameters-v1530 OPTIONAL, + neighCellSI-AcquisitionParameters-v1530 NeighCellSI-AcquisitionParameters-v1530 OPTIONAL, + mac-Parameters-v1530 MAC-Parameters-v1530 OPTIONAL, + phyLayerParameters-v1530 PhyLayerParameters-v1530 OPTIONAL, + rf-Parameters-v1530 RF-Parameters-v1530 OPTIONAL, + pdcp-Parameters-v1530 PDCP-Parameters-v1530 OPTIONAL, + ue-CategoryDL-v1530 INTEGER (22..26) OPTIONAL, + ue-BasedNetwPerfMeasParameters-v1530 UE-BasedNetwPerfMeasParameters-v1530 OPTIONAL, + rlc-Parameters-v1530 RLC-Parameters-v1530 OPTIONAL, + sl-Parameters-v1530 SL-Parameters-v1530 OPTIONAL, + extendedNumberOfDRBs-r15 ENUMERATED {supported} OPTIONAL, + reducedCP-Latency-r15 ENUMERATED {supported} OPTIONAL, + laa-Parameters-v1530 LAA-Parameters-v1530 OPTIONAL, + ue-CategoryUL-v1530 INTEGER (22..26) OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1530 UE-EUTRA-CapabilityAddXDD-Mode-v1530 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1530 UE-EUTRA-CapabilityAddXDD-Mode-v1530 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1540-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1540-IEs ::= SEQUENCE { + phyLayerParameters-v1540 PhyLayerParameters-v1540 OPTIONAL, + otherParameters-v1540 Other-Parameters-v1540, + fdd-Add-UE-EUTRA-Capabilities-v1540 UE-EUTRA-CapabilityAddXDD-Mode-v1540 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1540 UE-EUTRA-CapabilityAddXDD-Mode-v1540 OPTIONAL, + sl-Parameters-v1540 SL-Parameters-v1540 OPTIONAL, + irat-ParametersNR-v1540 IRAT-ParametersNR-v1540 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1550-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1550-IEs ::= SEQUENCE { + neighCellSI-AcquisitionParameters-v1550 NeighCellSI-AcquisitionParameters-v1550 OPTIONAL, + phyLayerParameters-v1550 PhyLayerParameters-v1550, + mac-Parameters-v1550 MAC-Parameters-v1550, + fdd-Add-UE-EUTRA-Capabilities-v1550 UE-EUTRA-CapabilityAddXDD-Mode-v1550, + tdd-Add-UE-EUTRA-Capabilities-v1550 UE-EUTRA-CapabilityAddXDD-Mode-v1550, + nonCriticalExtension UE-EUTRA-Capability-v1560-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1560-IEs ::= SEQUENCE { + pdcp-ParametersNR-v1560 PDCP-ParametersNR-v1560, + irat-ParametersNR-v1560 IRAT-ParametersNR-v1560, + appliedCapabilityFilterCommon-r15 OCTET STRING OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1560 UE-EUTRA-CapabilityAddXDD-Mode-v1560, + tdd-Add-UE-EUTRA-Capabilities-v1560 UE-EUTRA-CapabilityAddXDD-Mode-v1560, + nonCriticalExtension UE-EUTRA-Capability-v1570-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1570-IEs ::= SEQUENCE { + rf-Parameters-v1570 RF-Parameters-v1570 OPTIONAL, + irat-ParametersNR-v1570 IRAT-ParametersNR-v1570 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v15a0-IEs OPTIONAL +} + +UE-EUTRA-Capability-v15a0-IEs ::= SEQUENCE { + neighCellSI-AcquisitionParameters-v15a0 NeighCellSI-AcquisitionParameters-v15a0, + eutra-5GC-Parameters-r15 EUTRA-5GC-Parameters-r15 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v15a0 UE-EUTRA-CapabilityAddXDD-Mode-v15a0 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v15a0 UE-EUTRA-CapabilityAddXDD-Mode-v15a0 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1610-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1610-IEs ::= SEQUENCE { + highSpeedEnhParameters-v1610 HighSpeedEnhParameters-v1610 OPTIONAL, + neighCellSI-AcquisitionParameters-v1610 NeighCellSI-AcquisitionParameters-v1610 OPTIONAL, + mbms-Parameters-v1610 MBMS-Parameters-v1610 OPTIONAL, + pdcp-Parameters-v1610 PDCP-Parameters-v1610 OPTIONAL, + mac-Parameters-v1610 MAC-Parameters-v1610 OPTIONAL, + phyLayerParameters-v1610 PhyLayerParameters-v1610 OPTIONAL, + measParameters-v1610 MeasParameters-v1610 OPTIONAL, + pur-Parameters-r16 PUR-Parameters-r16 OPTIONAL, + eutra-5GC-Parameters-v1610 EUTRA-5GC-Parameters-v1610 OPTIONAL, + otherParameters-v1610 Other-Parameters-v1610 OPTIONAL, + dl-DedicatedMessageSegmentation-r16 ENUMERATED {supported} OPTIONAL, + mmtel-Parameters-v1610 MMTEL-Parameters-v1610, + irat-ParametersNR-v1610 IRAT-ParametersNR-v1610 OPTIONAL, + rf-Parameters-v1610 RF-Parameters-v1610 OPTIONAL, + mobilityParameters-v1610 MobilityParameters-v1610 OPTIONAL, + ue-BasedNetwPerfMeasParameters-v1610 UE-BasedNetwPerfMeasParameters-v1610, + sl-Parameters-v1610 SL-Parameters-v1610 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1610 UE-EUTRA-CapabilityAddXDD-Mode-v1610 OPTIONAL, + tdd-Add-UE-EUTRA-Capabilities-v1610 UE-EUTRA-CapabilityAddXDD-Mode-v1610 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1630-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1630-IEs ::= SEQUENCE { + rf-Parameters-v1630 RF-Parameters-v1630 OPTIONAL, + sl-Parameters-v1630 SL-Parameters-v1630 OPTIONAL, + earlySecurityReactivation-r16 ENUMERATED {supported} OPTIONAL, + mac-Parameters-v1630 MAC-Parameters-v1630, + measParameters-v1630 MeasParameters-v1630 OPTIONAL, + fdd-Add-UE-EUTRA-Capabilities-v1630 UE-EUTRA-CapabilityAddXDD-Mode-v1630, + tdd-Add-UE-EUTRA-Capabilities-v1630 UE-EUTRA-CapabilityAddXDD-Mode-v1630, + nonCriticalExtension UE-EUTRA-Capability-v1650-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1650-IEs ::= SEQUENCE { + otherParameters-v1650 Other-Parameters-v1650 OPTIONAL, + nonCriticalExtension UE-EUTRA-Capability-v1660-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1660-IEs ::= SEQUENCE { + irat-ParametersNR-v1660 IRAT-ParametersNR-v1660, + nonCriticalExtension UE-EUTRA-Capability-v1690-IEs OPTIONAL +} + +UE-EUTRA-Capability-v1690-IEs ::= SEQUENCE { + other-Parameters-v1690 Other-Parameters-v1690, + nonCriticalExtension SEQUENCE{} OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-r9 ::= SEQUENCE { + phyLayerParameters-r9 PhyLayerParameters OPTIONAL, + featureGroupIndicators-r9 BIT STRING (SIZE (32)) OPTIONAL, + featureGroupIndRel9Add-r9 BIT STRING (SIZE (32)) OPTIONAL, + interRAT-ParametersGERAN-r9 IRAT-ParametersGERAN OPTIONAL, + interRAT-ParametersUTRA-r9 IRAT-ParametersUTRA-v920 OPTIONAL, + interRAT-ParametersCDMA2000-r9 IRAT-ParametersCDMA2000-1XRTT-v920 OPTIONAL, + neighCellSI-AcquisitionParameters-r9 NeighCellSI-AcquisitionParameters-r9 OPTIONAL, + ... +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1060 ::= SEQUENCE { + phyLayerParameters-v1060 PhyLayerParameters-v1020 OPTIONAL, + featureGroupIndRel10-v1060 BIT STRING (SIZE (32)) OPTIONAL, + interRAT-ParametersCDMA2000-v1060 IRAT-ParametersCDMA2000-1XRTT-v1020 OPTIONAL, + interRAT-ParametersUTRA-TDD-v1060 IRAT-ParametersUTRA-TDD-v1020 OPTIONAL, + ..., + [[ otdoa-PositioningCapabilities-r10 OTDOA-PositioningCapabilities-r10 OPTIONAL + ]] +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1130 ::= SEQUENCE { + phyLayerParameters-v1130 PhyLayerParameters-v1130 OPTIONAL, + measParameters-v1130 MeasParameters-v1130 OPTIONAL, + otherParameters-r11 Other-Parameters-r11 OPTIONAL, + ... +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1180 ::= SEQUENCE { + mbms-Parameters-r11 MBMS-Parameters-r11 +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1250 ::= SEQUENCE { + phyLayerParameters-v1250 PhyLayerParameters-v1250 OPTIONAL, + measParameters-v1250 MeasParameters-v1250 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1310 ::= SEQUENCE { + phyLayerParameters-v1310 PhyLayerParameters-v1310 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1320 ::= SEQUENCE { + phyLayerParameters-v1320 PhyLayerParameters-v1320 OPTIONAL, + scptm-Parameters-r13 SCPTM-Parameters-r13 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1370 ::= SEQUENCE { + ce-Parameters-v1370 CE-Parameters-v1370 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1380 ::= SEQUENCE { + ce-Parameters-v1380 CE-Parameters-v1380 +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1430 ::= SEQUENCE { + phyLayerParameters-v1430 PhyLayerParameters-v1430 OPTIONAL, + mmtel-Parameters-r14 MMTEL-Parameters-r14 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1510 ::= SEQUENCE { + pdcp-ParametersNR-r15 PDCP-ParametersNR-r15 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1530 ::= SEQUENCE { + neighCellSI-AcquisitionParameters-v1530 NeighCellSI-AcquisitionParameters-v1530 OPTIONAL, + reducedCP-Latency-r15 ENUMERATED {supported} OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1540 ::= SEQUENCE { + eutra-5GC-Parameters-r15 EUTRA-5GC-Parameters-r15 OPTIONAL, + irat-ParametersNR-v1540 IRAT-ParametersNR-v1540 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1550 ::= SEQUENCE { + neighCellSI-AcquisitionParameters-v1550 NeighCellSI-AcquisitionParameters-v1550 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1560 ::= SEQUENCE { + pdcp-ParametersNR-v1560 PDCP-ParametersNR-v1560 +} + + +UE-EUTRA-CapabilityAddXDD-Mode-v15a0 ::= SEQUENCE { + phyLayerParameters-v1530 PhyLayerParameters-v1530 OPTIONAL, + phyLayerParameters-v1540 PhyLayerParameters-v1540 OPTIONAL, + phyLayerParameters-v1550 PhyLayerParameters-v1550 OPTIONAL, + neighCellSI-AcquisitionParameters-v15a0 NeighCellSI-AcquisitionParameters-v15a0 +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1610 ::= SEQUENCE { + phyLayerParameters-v1610 PhyLayerParameters-v1610 OPTIONAL, + pur-Parameters-r16 PUR-Parameters-r16 OPTIONAL, + measParameters-v1610 MeasParameters-v1610 OPTIONAL, + eutra-5GC-Parameters-v1610 EUTRA-5GC-Parameters-v1610 OPTIONAL, + irat-ParametersNR-v1610 IRAT-ParametersNR-v1610 OPTIONAL, + neighCellSI-AcquisitionParameters-v1610 NeighCellSI-AcquisitionParameters-v1610 OPTIONAL, + mobilityParameters-v1610 MobilityParameters-v1610 OPTIONAL +} + +UE-EUTRA-CapabilityAddXDD-Mode-v1630 ::= SEQUENCE { + measParameters-v1630 MeasParameters-v1630 +} + +AccessStratumRelease ::= ENUMERATED { + rel8, rel9, rel10, rel11, rel12, rel13, + rel14, rel15, ..., rel16} + +FeatureSetsEUTRA-r15 ::= SEQUENCE { + featureSetsDL-r15 SEQUENCE (SIZE (1..maxFeatureSets-r15)) OF FeatureSetDL-r15 OPTIONAL, + featureSetsDL-PerCC-r15 SEQUENCE (SIZE (1..maxPerCC-FeatureSets-r15)) OF FeatureSetDL-PerCC-r15 OPTIONAL, + featureSetsUL-r15 SEQUENCE (SIZE (1..maxFeatureSets-r15)) OF FeatureSetUL-r15 OPTIONAL, + featureSetsUL-PerCC-r15 SEQUENCE (SIZE (1..maxPerCC-FeatureSets-r15)) OF FeatureSetUL-PerCC-r15 OPTIONAL, + ..., + [[ featureSetsDL-v1550 SEQUENCE (SIZE (1..maxFeatureSets-r15)) OF FeatureSetDL-v1550 OPTIONAL + ]] + +} + +MobilityParameters-r14 ::= SEQUENCE { + makeBeforeBreak-r14 ENUMERATED {supported} OPTIONAL, + rach-Less-r14 ENUMERATED {supported} OPTIONAL +} + +MobilityParameters-v1610 ::= SEQUENCE { + cho-r16 ENUMERATED {supported} OPTIONAL, + cho-FDD-TDD-r16 ENUMERATED {supported} OPTIONAL, + cho-Failure-r16 ENUMERATED {supported} OPTIONAL, + cho-TwoTriggerEvents-r16 ENUMERATED {supported} OPTIONAL +} + +DC-Parameters-r12 ::= SEQUENCE { + drb-TypeSplit-r12 ENUMERATED {supported} OPTIONAL, + drb-TypeSCG-r12 ENUMERATED {supported} OPTIONAL +} + +DC-Parameters-v1310 ::= SEQUENCE { + pdcp-TransferSplitUL-r13 ENUMERATED {supported} OPTIONAL, + ue-SSTD-Meas-r13 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-r12 ::= SEQUENCE { + logicalChannelSR-ProhibitTimer-r12 ENUMERATED {supported} OPTIONAL, + longDRX-Command-r12 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-v1310 ::= SEQUENCE { + extendedMAC-LengthField-r13 ENUMERATED {supported} OPTIONAL, + extendedLongDRX-r13 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-v1430 ::= SEQUENCE { + shortSPS-IntervalFDD-r14 ENUMERATED {supported} OPTIONAL, + shortSPS-IntervalTDD-r14 ENUMERATED {supported} OPTIONAL, + skipUplinkDynamic-r14 ENUMERATED {supported} OPTIONAL, + skipUplinkSPS-r14 ENUMERATED {supported} OPTIONAL, + multipleUplinkSPS-r14 ENUMERATED {supported} OPTIONAL, + dataInactMon-r14 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-v1440 ::= SEQUENCE { + rai-Support-r14 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-v1530 ::= SEQUENCE { + min-Proc-TimelineSubslot-r15 SEQUENCE (SIZE(1..3)) OF ProcessingTimelineSet-r15 OPTIONAL, + skipSubframeProcessing-r15 SkipSubframeProcessing-r15 OPTIONAL, + earlyData-UP-r15 ENUMERATED {supported} OPTIONAL, + dormantSCellState-r15 ENUMERATED {supported} OPTIONAL, + directSCellActivation-r15 ENUMERATED {supported} OPTIONAL, + directSCellHibernation-r15 ENUMERATED {supported} OPTIONAL, + extendedLCID-Duplication-r15 ENUMERATED {supported} OPTIONAL, + sps-ServingCell-r15 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-v1550 ::= SEQUENCE { + eLCID-Support-r15 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-v1610 ::= SEQUENCE { + directMCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL, + directSCG-SCellActivationResume-r16 ENUMERATED {supported} OPTIONAL, + earlyData-UP-5GC-r16 ENUMERATED {supported} OPTIONAL, + rai-SupportEnh-r16 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-v1630 ::= SEQUENCE { + directSCG-SCellActivationNEDC-r16 ENUMERATED {supported} OPTIONAL +} + +ProcessingTimelineSet-r15 ::= ENUMERATED {set1, set2} + +RLC-Parameters-r12 ::= SEQUENCE { + extended-RLC-LI-Field-r12 ENUMERATED {supported} +} + +RLC-Parameters-v1310 ::= SEQUENCE { + extendedRLC-SN-SO-Field-r13 ENUMERATED {supported} OPTIONAL +} + +RLC-Parameters-v1430 ::= SEQUENCE { + extendedPollByte-r14 ENUMERATED {supported} OPTIONAL +} + +RLC-Parameters-v1530 ::= SEQUENCE { + flexibleUM-AM-Combinations-r15 ENUMERATED {supported} OPTIONAL, + rlc-AM-Ooo-Delivery-r15 ENUMERATED {supported} OPTIONAL, + rlc-UM-Ooo-Delivery-r15 ENUMERATED {supported} OPTIONAL +} + +PDCP-Parameters ::= SEQUENCE { + supportedROHC-Profiles ROHC-ProfileSupportList-r15, + maxNumberROHC-ContextSessions ENUMERATED { + cs2, cs4, cs8, cs12, cs16, cs24, cs32, + cs48, cs64, cs128, cs256, cs512, cs1024, + cs16384, spare2, spare1} DEFAULT cs16, + ... +} + +PDCP-Parameters-v1130 ::= SEQUENCE { + pdcp-SN-Extension-r11 ENUMERATED {supported} OPTIONAL, + supportRohcContextContinue-r11 ENUMERATED {supported} OPTIONAL +} + +PDCP-Parameters-v1310 ::= SEQUENCE { + pdcp-SN-Extension-18bits-r13 ENUMERATED {supported} OPTIONAL +} + +PDCP-Parameters-v1430 ::= SEQUENCE { + supportedUplinkOnlyROHC-Profiles-r14 SEQUENCE { + profile0x0006-r14 BOOLEAN + }, + maxNumberROHC-ContextSessions-r14 ENUMERATED { + cs2, cs4, cs8, cs12, cs16, cs24, cs32, + cs48, cs64, cs128, cs256, cs512, cs1024, + cs16384, spare2, spare1} DEFAULT cs16 +} + +PDCP-Parameters-v1530 ::= SEQUENCE { + supportedUDC-r15 SupportedUDC-r15 OPTIONAL, + pdcp-Duplication-r15 ENUMERATED {supported} OPTIONAL +} + +PDCP-Parameters-v1610 ::= SEQUENCE { + pdcp-VersionChangeWithoutHO-r16 ENUMERATED {supported} OPTIONAL, + ehc-r16 ENUMERATED {supported} OPTIONAL, + continueEHC-Context-r16 ENUMERATED {supported} OPTIONAL, + maxNumberEHC-Contexts-r16 ENUMERATED {cs2, cs4, cs8, cs16, cs32, cs64, cs128, cs256, + cs512, cs1024, cs2048, cs4096, cs8192, cs16384, + cs32768, cs65536} OPTIONAL, + jointEHC-ROHC-Config-r16 ENUMERATED {supported} OPTIONAL +} + +SupportedUDC-r15 ::= SEQUENCE { + supportedStandardDic-r15 ENUMERATED {supported} OPTIONAL, + supportedOperatorDic-r15 SupportedOperatorDic-r15 OPTIONAL +} + +SupportedOperatorDic-r15 ::= SEQUENCE { + versionOfDictionary-r15 INTEGER (0..15), + associatedPLMN-ID-r15 PLMN-Identity +} + +PhyLayerParameters ::= SEQUENCE { + ue-TxAntennaSelectionSupported BOOLEAN, + ue-SpecificRefSigsSupported BOOLEAN +} + +PhyLayerParameters-v920 ::= SEQUENCE { + enhancedDualLayerFDD-r9 ENUMERATED {supported} OPTIONAL, + enhancedDualLayerTDD-r9 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v9d0 ::= SEQUENCE { + tm5-FDD-r9 ENUMERATED {supported} OPTIONAL, + tm5-TDD-r9 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1020 ::= SEQUENCE { + twoAntennaPortsForPUCCH-r10 ENUMERATED {supported} OPTIONAL, + tm9-With-8Tx-FDD-r10 ENUMERATED {supported} OPTIONAL, + pmi-Disabling-r10 ENUMERATED {supported} OPTIONAL, + crossCarrierScheduling-r10 ENUMERATED {supported} OPTIONAL, + simultaneousPUCCH-PUSCH-r10 ENUMERATED {supported} OPTIONAL, + multiClusterPUSCH-WithinCC-r10 ENUMERATED {supported} OPTIONAL, + nonContiguousUL-RA-WithinCC-List-r10 NonContiguousUL-RA-WithinCC-List-r10 OPTIONAL +} + +PhyLayerParameters-v1130 ::= SEQUENCE { + crs-InterfHandl-r11 ENUMERATED {supported} OPTIONAL, + ePDCCH-r11 ENUMERATED {supported} OPTIONAL, + multiACK-CSI-Reporting-r11 ENUMERATED {supported} OPTIONAL, + ss-CCH-InterfHandl-r11 ENUMERATED {supported} OPTIONAL, + tdd-SpecialSubframe-r11 ENUMERATED {supported} OPTIONAL, + txDiv-PUCCH1b-ChSelect-r11 ENUMERATED {supported} OPTIONAL, + ul-CoMP-r11 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1170 ::= SEQUENCE { + interBandTDD-CA-WithDifferentConfig-r11 BIT STRING (SIZE (2)) OPTIONAL +} + +PhyLayerParameters-v1250 ::= SEQUENCE { + e-HARQ-Pattern-FDD-r12 ENUMERATED {supported} OPTIONAL, + enhanced-4TxCodebook-r12 ENUMERATED {supported} OPTIONAL, + tdd-FDD-CA-PCellDuplex-r12 BIT STRING (SIZE (2)) OPTIONAL, + phy-TDD-ReConfig-TDD-PCell-r12 ENUMERATED {supported} OPTIONAL, + phy-TDD-ReConfig-FDD-PCell-r12 ENUMERATED {supported} OPTIONAL, + pusch-FeedbackMode-r12 ENUMERATED {supported} OPTIONAL, + pusch-SRS-PowerControl-SubframeSet-r12 ENUMERATED {supported} OPTIONAL, + csi-SubframeSet-r12 ENUMERATED {supported} OPTIONAL, + noResourceRestrictionForTTIBundling-r12 ENUMERATED {supported} OPTIONAL, + discoverySignalsInDeactSCell-r12 ENUMERATED {supported} OPTIONAL, + naics-Capability-List-r12 NAICS-Capability-List-r12 OPTIONAL +} + +PhyLayerParameters-v1280 ::= SEQUENCE { + alternativeTBS-Indices-r12 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1310 ::= SEQUENCE { + aperiodicCSI-Reporting-r13 BIT STRING (SIZE (2)) OPTIONAL, + codebook-HARQ-ACK-r13 BIT STRING (SIZE (2)) OPTIONAL, + crossCarrierScheduling-B5C-r13 ENUMERATED {supported} OPTIONAL, + fdd-HARQ-TimingTDD-r13 ENUMERATED {supported} OPTIONAL, + maxNumberUpdatedCSI-Proc-r13 INTEGER(5..32) OPTIONAL, + pucch-Format4-r13 ENUMERATED {supported} OPTIONAL, + pucch-Format5-r13 ENUMERATED {supported} OPTIONAL, + pucch-SCell-r13 ENUMERATED {supported} OPTIONAL, + spatialBundling-HARQ-ACK-r13 ENUMERATED {supported} OPTIONAL, + supportedBlindDecoding-r13 SEQUENCE { + maxNumberDecoding-r13 INTEGER(1..32) OPTIONAL, + pdcch-CandidateReductions-r13 ENUMERATED {supported} OPTIONAL, + skipMonitoringDCI-Format0-1A-r13 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + uci-PUSCH-Ext-r13 ENUMERATED {supported} OPTIONAL, + crs-InterfMitigationTM10-r13 ENUMERATED {supported} OPTIONAL, + pdsch-CollisionHandling-r13 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1320 ::= SEQUENCE { + mimo-UE-Parameters-r13 MIMO-UE-Parameters-r13 OPTIONAL +} + +PhyLayerParameters-v1330 ::= SEQUENCE { + cch-InterfMitigation-RefRecTypeA-r13 ENUMERATED {supported} OPTIONAL, + cch-InterfMitigation-RefRecTypeB-r13 ENUMERATED {supported} OPTIONAL, + cch-InterfMitigation-MaxNumCCs-r13 INTEGER (1.. maxServCell-r13) OPTIONAL, + crs-InterfMitigationTM1toTM9-r13 INTEGER (1.. maxServCell-r13) OPTIONAL +} + +PhyLayerParameters-v13e0 ::= SEQUENCE { + mimo-UE-Parameters-v13e0 MIMO-UE-Parameters-v13e0 +} + +PhyLayerParameters-v1430 ::= SEQUENCE { + ce-PUSCH-NB-MaxTBS-r14 ENUMERATED {supported} OPTIONAL, + ce-PDSCH-PUSCH-MaxBandwidth-r14 ENUMERATED {bw5, bw20} OPTIONAL, + ce-HARQ-AckBundling-r14 ENUMERATED {supported} OPTIONAL, + ce-PDSCH-TenProcesses-r14 ENUMERATED {supported} OPTIONAL, + ce-RetuningSymbols-r14 ENUMERATED {n0, n1} OPTIONAL, + ce-PDSCH-PUSCH-Enhancement-r14 ENUMERATED {supported} OPTIONAL, + ce-SchedulingEnhancement-r14 ENUMERATED {supported} OPTIONAL, + ce-SRS-Enhancement-r14 ENUMERATED {supported} OPTIONAL, + ce-PUCCH-Enhancement-r14 ENUMERATED {supported} OPTIONAL, + ce-ClosedLoopTxAntennaSelection-r14 ENUMERATED {supported} OPTIONAL, + tdd-SpecialSubframe-r14 ENUMERATED {supported} OPTIONAL, + tdd-TTI-Bundling-r14 ENUMERATED {supported} OPTIONAL, + dmrs-LessUpPTS-r14 ENUMERATED {supported} OPTIONAL, + mimo-UE-Parameters-v1430 MIMO-UE-Parameters-v1430 OPTIONAL, + alternativeTBS-Index-r14 ENUMERATED {supported} OPTIONAL, + feMBMS-Unicast-Parameters-r14 FeMBMS-Unicast-Parameters-r14 OPTIONAL +} + +PhyLayerParameters-v1450 ::= SEQUENCE { + ce-SRS-EnhancementWithoutComb4-r14 ENUMERATED {supported} OPTIONAL, + crs-LessDwPTS-r14 ENUMERATED {supported} OPTIONAL} + +PhyLayerParameters-v1470 ::= SEQUENCE { + mimo-UE-Parameters-v1470 MIMO-UE-Parameters-v1470 OPTIONAL, + srs-UpPTS-6sym-r14 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v14a0 ::= SEQUENCE { + ssp10-TDD-Only-r14 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1530 ::= SEQUENCE { + stti-SPT-Capabilities-r15 SEQUENCE { + aperiodicCsi-ReportingSTTI-r15 ENUMERATED {supported} OPTIONAL, + dmrs-BasedSPDCCH-MBSFN-r15 ENUMERATED {supported} OPTIONAL, + dmrs-BasedSPDCCH-nonMBSFN-r15 ENUMERATED {supported} OPTIONAL, + dmrs-PositionPattern-r15 ENUMERATED {supported} OPTIONAL, + dmrs-SharingSubslotPDSCH-r15 ENUMERATED {supported} OPTIONAL, + dmrs-RepetitionSubslotPDSCH-r15 ENUMERATED {supported} OPTIONAL, + epdcch-SPT-differentCells-r15 ENUMERATED {supported} OPTIONAL, + epdcch-STTI-differentCells-r15 ENUMERATED {supported} OPTIONAL, + maxLayersSlotOrSubslotPUSCH-r15 ENUMERATED {oneLayer,twoLayers,fourLayers} + OPTIONAL, + maxNumberUpdatedCSI-Proc-SPT-r15 INTEGER(5..32) OPTIONAL, + maxNumberUpdatedCSI-Proc-STTI-Comb77-r15 INTEGER(1..32) OPTIONAL, + maxNumberUpdatedCSI-Proc-STTI-Comb27-r15 INTEGER(1..32) OPTIONAL, + maxNumberUpdatedCSI-Proc-STTI-Comb22-Set1-r15 INTEGER(1..32) OPTIONAL, + maxNumberUpdatedCSI-Proc-STTI-Comb22-Set2-r15 INTEGER(1..32) OPTIONAL, + mimo-UE-ParametersSTTI-r15 MIMO-UE-Parameters-r13 OPTIONAL, + mimo-UE-ParametersSTTI-v1530 MIMO-UE-Parameters-v1430 OPTIONAL, + numberOfBlindDecodesUSS-r15 INTEGER(4..32) OPTIONAL, + pdsch-SlotSubslotPDSCH-Decoding-r15 ENUMERATED {supported} OPTIONAL, + powerUCI-SlotPUSCH ENUMERATED {supported} OPTIONAL, + powerUCI-SubslotPUSCH ENUMERATED {supported} OPTIONAL, + slotPDSCH-TxDiv-TM9and10 ENUMERATED {supported} OPTIONAL, + subslotPDSCH-TxDiv-TM9and10 ENUMERATED {supported} OPTIONAL, + spdcch-differentRS-types-r15 ENUMERATED {supported} OPTIONAL, + srs-DCI7-TriggeringFS2-r15 ENUMERATED {supported} OPTIONAL, + sps-cyclicShift-r15 ENUMERATED {supported} OPTIONAL, + spdcch-Reuse-r15 ENUMERATED {supported} OPTIONAL, + sps-STTI-r15 ENUMERATED {slot, subslot, slotAndSubslot} + OPTIONAL, + tm8-slotPDSCH-r15 ENUMERATED {supported} OPTIONAL, + tm9-slotSubslot-r15 ENUMERATED {supported} OPTIONAL, + tm9-slotSubslotMBSFN-r15 ENUMERATED {supported} OPTIONAL, + tm10-slotSubslot-r15 ENUMERATED {supported} OPTIONAL, + tm10-slotSubslotMBSFN-r15 ENUMERATED {supported} OPTIONAL, + txDiv-SPUCCH-r15 ENUMERATED {supported} OPTIONAL, + ul-AsyncHarqSharingDiff-TTI-Lengths-r15 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + ce-Capabilities-r15 SEQUENCE { + ce-CRS-IntfMitig-r15 ENUMERATED {supported} OPTIONAL, + ce-CQI-AlternativeTable-r15 ENUMERATED {supported} OPTIONAL, + ce-PDSCH-FlexibleStartPRB-CE-ModeA-r15 ENUMERATED {supported} OPTIONAL, + ce-PDSCH-FlexibleStartPRB-CE-ModeB-r15 ENUMERATED {supported} OPTIONAL, + ce-PDSCH-64QAM-r15 ENUMERATED {supported} OPTIONAL, + ce-PUSCH-FlexibleStartPRB-CE-ModeA-r15 ENUMERATED {supported} OPTIONAL, + ce-PUSCH-FlexibleStartPRB-CE-ModeB-r15 ENUMERATED {supported} OPTIONAL, + ce-PUSCH-SubPRB-Allocation-r15 ENUMERATED {supported} OPTIONAL, + ce-UL-HARQ-ACK-Feedback-r15 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + shortCQI-ForSCellActivation-r15 ENUMERATED {supported} OPTIONAL, + mimo-CBSR-AdvancedCSI-r15 ENUMERATED {supported} OPTIONAL, + crs-IntfMitig-r15 ENUMERATED {supported} OPTIONAL, + ul-PowerControlEnhancements-r15 ENUMERATED {supported} OPTIONAL, + urllc-Capabilities-r15 SEQUENCE { + pdsch-RepSubframe-r15 ENUMERATED {supported} OPTIONAL, + pdsch-RepSlot-r15 ENUMERATED {supported} OPTIONAL, + pdsch-RepSubslot-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-MultiConfigSubframe-r15 INTEGER (0..6) OPTIONAL, + pusch-SPS-MaxConfigSubframe-r15 INTEGER (0..31) OPTIONAL, + pusch-SPS-MultiConfigSlot-r15 INTEGER (0..6) OPTIONAL, + pusch-SPS-MaxConfigSlot-r15 INTEGER (0..31) OPTIONAL, + pusch-SPS-MultiConfigSubslot-r15 INTEGER (0..6) OPTIONAL, + pusch-SPS-MaxConfigSubslot-r15 INTEGER (0..31) OPTIONAL, + pusch-SPS-SlotRepPCell-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-SlotRepPSCell-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-SlotRepSCell-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-SubframeRepPCell-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-SubframeRepPSCell-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-SubframeRepSCell-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-SubslotRepPCell-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-SubslotRepPSCell-r15 ENUMERATED {supported} OPTIONAL, + pusch-SPS-SubslotRepSCell-r15 ENUMERATED {supported} OPTIONAL, + semiStaticCFI-r15 ENUMERATED {supported} OPTIONAL, + semiStaticCFI-Pattern-r15 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + altMCS-Table-r15 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1540 ::= SEQUENCE { + stti-SPT-Capabilities-v1540 SEQUENCE { + slotPDSCH-TxDiv-TM8-r15 ENUMERATED {supported} + } OPTIONAL, + crs-IM-TM1-toTM9-OneRX-Port-v1540 ENUMERATED {supported} OPTIONAL, + cch-IM-RefRecTypeA-OneRX-Port-v1540 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1550 ::= SEQUENCE { + dmrs-OverheadReduction-r15 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-v1610 ::= SEQUENCE { + ce-Capabilities-v1610 SEQUENCE { + ce-CSI-RS-Feedback-r16 ENUMERATED {supported} OPTIONAL, + ce-CSI-RS-FeedbackCodebookRestriction-r16 ENUMERATED {supported} OPTIONAL, + crs-ChEstMPDCCH-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + crs-ChEstMPDCCH-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + crs-ChEstMPDCCH-CSI-r16 ENUMERATED {supported} OPTIONAL, + crs-ChEstMPDCCH-ReciprocityTDD-r16 ENUMERATED {supported} OPTIONAL, + etws-CMAS-RxInConnCE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + etws-CMAS-RxInConnCE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + mpdcch-InLteControlRegionCE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + mpdcch-InLteControlRegionCE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + pdsch-InLteControlRegionCE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + pdsch-InLteControlRegionCE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + multiTB-Parameters-r16 CE-MultiTB-Parameters-r16 OPTIONAL, + resourceResvParameters-r16 CE-ResourceResvParameters-r16 OPTIONAL + } OPTIONAL, + widebandPRG-Slot-r16 ENUMERATED {supported} OPTIONAL, + widebandPRG-Subslot-r16 ENUMERATED {supported} OPTIONAL, + widebandPRG-Subframe-r16 ENUMERATED {supported} OPTIONAL, + addSRS-r16 SEQUENCE { + addSRS-FrequencyHopping-r16 ENUMERATED {supported} OPTIONAL, + addSRS-AntennaSwitching-r16 ENUMERATED {useBasic} OPTIONAL, + addSRS-CarrierSwitching-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + virtualCellID-BasicSRS-r16 ENUMERATED {supported} OPTIONAL, + virtualCellID-AddSRS-r16 ENUMERATED {supported} OPTIONAL +} + +MIMO-UE-Parameters-r13 ::= SEQUENCE { + parametersTM9-r13 MIMO-UE-ParametersPerTM-r13 OPTIONAL, + parametersTM10-r13 MIMO-UE-ParametersPerTM-r13 OPTIONAL, + srs-EnhancementsTDD-r13 ENUMERATED {supported} OPTIONAL, + srs-Enhancements-r13 ENUMERATED {supported} OPTIONAL, + interferenceMeasRestriction-r13 ENUMERATED {supported} OPTIONAL +} + +MIMO-UE-Parameters-v13e0 ::= SEQUENCE { + mimo-WeightedLayersCapabilities-r13 MIMO-WeightedLayersCapabilities-r13 OPTIONAL +} + +MIMO-UE-Parameters-v1430 ::= SEQUENCE { + parametersTM9-v1430 MIMO-UE-ParametersPerTM-v1430 OPTIONAL, + parametersTM10-v1430 MIMO-UE-ParametersPerTM-v1430 OPTIONAL +} + +MIMO-UE-Parameters-v1470 ::= SEQUENCE { + parametersTM9-v1470 MIMO-UE-ParametersPerTM-v1470, + parametersTM10-v1470 MIMO-UE-ParametersPerTM-v1470 +} + +MIMO-UE-ParametersPerTM-r13 ::= SEQUENCE { + nonPrecoded-r13 MIMO-NonPrecodedCapabilities-r13 OPTIONAL, + beamformed-r13 MIMO-UE-BeamformedCapabilities-r13 OPTIONAL, + channelMeasRestriction-r13 ENUMERATED {supported} OPTIONAL, + dmrs-Enhancements-r13 ENUMERATED {supported} OPTIONAL, + csi-RS-EnhancementsTDD-r13 ENUMERATED {supported} OPTIONAL +} + +MIMO-UE-ParametersPerTM-v1430 ::= SEQUENCE { + nzp-CSI-RS-AperiodicInfo-r14 SEQUENCE { + nMaxProc-r14 INTEGER(5..32), + nMaxResource-r14 ENUMERATED {n1, n2, n4, n8} + } OPTIONAL, + nzp-CSI-RS-PeriodicInfo-r14 SEQUENCE { + nMaxResource-r14 ENUMERATED {n1, n2, n4, n8} + } OPTIONAL, + zp-CSI-RS-AperiodicInfo-r14 ENUMERATED {supported} OPTIONAL, + ul-dmrs-Enhancements-r14 ENUMERATED {supported} OPTIONAL, + densityReductionNP-r14 ENUMERATED {supported} OPTIONAL, + densityReductionBF-r14 ENUMERATED {supported} OPTIONAL, + hybridCSI-r14 ENUMERATED {supported} OPTIONAL, + semiOL-r14 ENUMERATED {supported} OPTIONAL, + csi-ReportingNP-r14 ENUMERATED {supported} OPTIONAL, + csi-ReportingAdvanced-r14 ENUMERATED {supported} OPTIONAL +} + +MIMO-UE-ParametersPerTM-v1470 ::= SEQUENCE { + csi-ReportingAdvancedMaxPorts-r14 ENUMERATED {n8, n12, n16, n20, n24, n28} OPTIONAL +} + +MIMO-CA-ParametersPerBoBC-r13 ::= SEQUENCE { + parametersTM9-r13 MIMO-CA-ParametersPerBoBCPerTM-r13 OPTIONAL, + parametersTM10-r13 MIMO-CA-ParametersPerBoBCPerTM-r13 OPTIONAL +} + +MIMO-CA-ParametersPerBoBC-r15 ::= SEQUENCE { + parametersTM9-r15 MIMO-CA-ParametersPerBoBCPerTM-r15 OPTIONAL, + parametersTM10-r15 MIMO-CA-ParametersPerBoBCPerTM-r15 OPTIONAL +} + +MIMO-CA-ParametersPerBoBC-v1430 ::= SEQUENCE { + parametersTM9-v1430 MIMO-CA-ParametersPerBoBCPerTM-v1430 OPTIONAL, + parametersTM10-v1430 MIMO-CA-ParametersPerBoBCPerTM-v1430 OPTIONAL +} + +MIMO-CA-ParametersPerBoBC-v1470 ::= SEQUENCE { + parametersTM9-v1470 MIMO-CA-ParametersPerBoBCPerTM-v1470, + parametersTM10-v1470 MIMO-CA-ParametersPerBoBCPerTM-v1470 +} + +MIMO-CA-ParametersPerBoBCPerTM-r13 ::= SEQUENCE { + nonPrecoded-r13 MIMO-NonPrecodedCapabilities-r13 OPTIONAL, + beamformed-r13 MIMO-BeamformedCapabilityList-r13 OPTIONAL, + dmrs-Enhancements-r13 ENUMERATED {different} OPTIONAL +} + +MIMO-CA-ParametersPerBoBCPerTM-v1430 ::= SEQUENCE { + csi-ReportingNP-r14 ENUMERATED {different} OPTIONAL, + csi-ReportingAdvanced-r14 ENUMERATED {different} OPTIONAL +} + +MIMO-CA-ParametersPerBoBCPerTM-v1470 ::= SEQUENCE { + csi-ReportingAdvancedMaxPorts-r14 ENUMERATED {n8, n12, n16, n20, n24, n28} OPTIONAL +} + +MIMO-CA-ParametersPerBoBCPerTM-r15 ::= SEQUENCE { + nonPrecoded-r13 MIMO-NonPrecodedCapabilities-r13 OPTIONAL, + beamformed-r13 MIMO-BeamformedCapabilityList-r13 OPTIONAL, + dmrs-Enhancements-r13 ENUMERATED {different} OPTIONAL, + csi-ReportingNP-r14 ENUMERATED {different} OPTIONAL, + csi-ReportingAdvanced-r14 ENUMERATED {different} OPTIONAL +} + +MIMO-NonPrecodedCapabilities-r13 ::= SEQUENCE { + config1-r13 ENUMERATED {supported} OPTIONAL, + config2-r13 ENUMERATED {supported} OPTIONAL, + config3-r13 ENUMERATED {supported} OPTIONAL, + config4-r13 ENUMERATED {supported} OPTIONAL +} + +MIMO-UE-BeamformedCapabilities-r13 ::= SEQUENCE { + altCodebook-r13 ENUMERATED {supported} OPTIONAL, + mimo-BeamformedCapabilities-r13 MIMO-BeamformedCapabilityList-r13 +} + +MIMO-BeamformedCapabilityList-r13 ::= SEQUENCE (SIZE (1..maxCSI-Proc-r11)) OF MIMO-BeamformedCapabilities-r13 + +MIMO-BeamformedCapabilities-r13 ::= SEQUENCE { + k-Max-r13 INTEGER (1..8), + n-MaxList-r13 BIT STRING (SIZE (1..7)) OPTIONAL +} + +MIMO-WeightedLayersCapabilities-r13 ::= SEQUENCE { + relWeightTwoLayers-r13 ENUMERATED {v1, v1dot25, v1dot5, v1dot75, v2, v2dot5, v3, v4}, + relWeightFourLayers-r13 ENUMERATED {v1, v1dot25, v1dot5, v1dot75, v2, v2dot5, v3, v4} OPTIONAL, + relWeightEightLayers-r13 ENUMERATED {v1, v1dot25, v1dot5, v1dot75, v2, v2dot5, v3, v4} OPTIONAL, + totalWeightedLayers-r13 INTEGER (2..128) +} + +NonContiguousUL-RA-WithinCC-List-r10 ::= SEQUENCE (SIZE (1..maxBands)) OF NonContiguousUL-RA-WithinCC-r10 + +NonContiguousUL-RA-WithinCC-r10 ::= SEQUENCE { + nonContiguousUL-RA-WithinCC-Info-r10 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters ::= SEQUENCE { + supportedBandListEUTRA SupportedBandListEUTRA +} + +RF-Parameters-v9e0 ::= SEQUENCE { + supportedBandListEUTRA-v9e0 SupportedBandListEUTRA-v9e0 OPTIONAL +} + +RF-Parameters-v1020 ::= SEQUENCE { + supportedBandCombination-r10 SupportedBandCombination-r10 +} + +RF-Parameters-v1060 ::= SEQUENCE { + supportedBandCombinationExt-r10 SupportedBandCombinationExt-r10 +} + +RF-Parameters-v1090 ::= SEQUENCE { + supportedBandCombination-v1090 SupportedBandCombination-v1090 OPTIONAL +} + +RF-Parameters-v10f0 ::= SEQUENCE { + modifiedMPR-Behavior-r10 BIT STRING (SIZE (32)) OPTIONAL +} + +RF-Parameters-v10i0 ::= SEQUENCE { + supportedBandCombination-v10i0 SupportedBandCombination-v10i0 OPTIONAL +} + +RF-Parameters-v10j0 ::= SEQUENCE { + multiNS-Pmax-r10 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters-v1130 ::= SEQUENCE { + supportedBandCombination-v1130 SupportedBandCombination-v1130 OPTIONAL +} + +RF-Parameters-v1180 ::= SEQUENCE { + freqBandRetrieval-r11 ENUMERATED {supported} OPTIONAL, + requestedBands-r11 SEQUENCE (SIZE (1.. maxBands)) OF FreqBandIndicator-r11 OPTIONAL, + supportedBandCombinationAdd-r11 SupportedBandCombinationAdd-r11 OPTIONAL +} + +RF-Parameters-v11d0 ::= SEQUENCE { + supportedBandCombinationAdd-v11d0 SupportedBandCombinationAdd-v11d0 OPTIONAL +} + +RF-Parameters-v1250 ::= SEQUENCE { + supportedBandListEUTRA-v1250 SupportedBandListEUTRA-v1250 OPTIONAL, + supportedBandCombination-v1250 SupportedBandCombination-v1250 OPTIONAL, + supportedBandCombinationAdd-v1250 SupportedBandCombinationAdd-v1250 OPTIONAL, + freqBandPriorityAdjustment-r12 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters-v1270 ::= SEQUENCE { + supportedBandCombination-v1270 SupportedBandCombination-v1270 OPTIONAL, + supportedBandCombinationAdd-v1270 SupportedBandCombinationAdd-v1270 OPTIONAL +} + +RF-Parameters-v1310 ::= SEQUENCE { + eNB-RequestedParameters-r13 SEQUENCE { + reducedIntNonContCombRequested-r13 ENUMERATED {true} OPTIONAL, + requestedCCsDL-r13 INTEGER (2..32) OPTIONAL, + requestedCCsUL-r13 INTEGER (2..32) OPTIONAL, + skipFallbackCombRequested-r13 ENUMERATED {true} OPTIONAL + } OPTIONAL, + maximumCCsRetrieval-r13 ENUMERATED {supported} OPTIONAL, + skipFallbackCombinations-r13 ENUMERATED {supported} OPTIONAL, + reducedIntNonContComb-r13 ENUMERATED {supported} OPTIONAL, + supportedBandListEUTRA-v1310 SupportedBandListEUTRA-v1310 OPTIONAL, + supportedBandCombinationReduced-r13 SupportedBandCombinationReduced-r13 OPTIONAL +} + +RF-Parameters-v1320 ::= SEQUENCE { + supportedBandListEUTRA-v1320 SupportedBandListEUTRA-v1320 OPTIONAL, + supportedBandCombination-v1320 SupportedBandCombination-v1320 OPTIONAL, + supportedBandCombinationAdd-v1320 SupportedBandCombinationAdd-v1320 OPTIONAL, + supportedBandCombinationReduced-v1320 SupportedBandCombinationReduced-v1320 OPTIONAL +} + +RF-Parameters-v1380 ::= SEQUENCE { + supportedBandCombination-v1380 SupportedBandCombination-v1380 OPTIONAL, + supportedBandCombinationAdd-v1380 SupportedBandCombinationAdd-v1380 OPTIONAL, + supportedBandCombinationReduced-v1380 SupportedBandCombinationReduced-v1380 OPTIONAL +} + +RF-Parameters-v1390 ::= SEQUENCE { + supportedBandCombination-v1390 SupportedBandCombination-v1390 OPTIONAL, + supportedBandCombinationAdd-v1390 SupportedBandCombinationAdd-v1390 OPTIONAL, + supportedBandCombinationReduced-v1390 SupportedBandCombinationReduced-v1390 OPTIONAL +} + +RF-Parameters-v12b0 ::= SEQUENCE { + maxLayersMIMO-Indication-r12 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters-v1430 ::= SEQUENCE { + supportedBandCombination-v1430 SupportedBandCombination-v1430 OPTIONAL, + supportedBandCombinationAdd-v1430 SupportedBandCombinationAdd-v1430 OPTIONAL, + supportedBandCombinationReduced-v1430 SupportedBandCombinationReduced-v1430 OPTIONAL, + eNB-RequestedParameters-v1430 SEQUENCE { + requestedDiffFallbackCombList-r14 BandCombinationList-r14 + } OPTIONAL, + diffFallbackCombReport-r14 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters-v1450 ::= SEQUENCE { + supportedBandCombination-v1450 SupportedBandCombination-v1450 OPTIONAL, + supportedBandCombinationAdd-v1450 SupportedBandCombinationAdd-v1450 OPTIONAL, + supportedBandCombinationReduced-v1450 SupportedBandCombinationReduced-v1450 OPTIONAL +} + +RF-Parameters-v1470 ::= SEQUENCE { + supportedBandCombination-v1470 SupportedBandCombination-v1470 OPTIONAL, + supportedBandCombinationAdd-v1470 SupportedBandCombinationAdd-v1470 OPTIONAL, + supportedBandCombinationReduced-v1470 SupportedBandCombinationReduced-v1470 OPTIONAL +} + +RF-Parameters-v14b0 ::= SEQUENCE { + supportedBandCombination-v14b0 SupportedBandCombination-v14b0 OPTIONAL, + supportedBandCombinationAdd-v14b0 SupportedBandCombinationAdd-v14b0 OPTIONAL, + supportedBandCombinationReduced-v14b0 SupportedBandCombinationReduced-v14b0 OPTIONAL +} + +RF-Parameters-v1530 ::= SEQUENCE { + sTTI-SPT-Supported-r15 ENUMERATED {supported} OPTIONAL, + supportedBandCombination-v1530 SupportedBandCombination-v1530 OPTIONAL, + supportedBandCombinationAdd-v1530 SupportedBandCombinationAdd-v1530 OPTIONAL, + supportedBandCombinationReduced-v1530 SupportedBandCombinationReduced-v1530 OPTIONAL, + powerClass-14dBm-r15 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters-v1570 ::= SEQUENCE { + dl-1024QAM-ScalingFactor-r15 ENUMERATED {v1, v1dot2, v1dot25}, + dl-1024QAM-TotalWeightedLayers-r15 INTEGER (0..10) +} + +RF-Parameters-v1610 ::= SEQUENCE { + supportedBandCombination-v1610 SupportedBandCombination-v1610 OPTIONAL, + supportedBandCombinationAdd-v1610 SupportedBandCombinationAdd-v1610 OPTIONAL, + supportedBandCombinationReduced-v1610 SupportedBandCombinationReduced-v1610 OPTIONAL +} + +RF-Parameters-v1630 ::= SEQUENCE { + supportedBandCombination-v1630 SupportedBandCombination-v1630 OPTIONAL, + supportedBandCombinationAdd-v1630 SupportedBandCombinationAdd-v1630 OPTIONAL, + supportedBandCombinationReduced-v1630 SupportedBandCombinationReduced-v1630 OPTIONAL +} + +SkipSubframeProcessing-r15 ::= SEQUENCE { + skipProcessingDL-Slot-r15 INTEGER (0..3) OPTIONAL, + skipProcessingDL-SubSlot-r15 INTEGER (0..3) OPTIONAL, + skipProcessingUL-Slot-r15 INTEGER (0..3) OPTIONAL, + skipProcessingUL-SubSlot-r15 INTEGER (0..3) OPTIONAL +} + +SPT-Parameters-r15 ::= SEQUENCE { + frameStructureType-SPT-r15 BIT STRING (SIZE (3)) OPTIONAL, + maxNumberCCs-SPT-r15 INTEGER (1..32) OPTIONAL +} + +STTI-SPT-BandParameters-r15 ::= SEQUENCE { + dl-1024QAM-Slot-r15 ENUMERATED {supported} OPTIONAL, + dl-1024QAM-SubslotTA-1-r15 ENUMERATED {supported} OPTIONAL, + dl-1024QAM-SubslotTA-2-r15 ENUMERATED {supported} OPTIONAL, + simultaneousTx-differentTx-duration-r15 ENUMERATED {supported} OPTIONAL, + sTTI-CA-MIMO-ParametersDL-r15 CA-MIMO-ParametersDL-r15 OPTIONAL, + sTTI-CA-MIMO-ParametersUL-r15 CA-MIMO-ParametersUL-r15, + sTTI-FD-MIMO-Coexistence ENUMERATED {supported} OPTIONAL, + sTTI-MIMO-CA-ParametersPerBoBCs-r15 MIMO-CA-ParametersPerBoBC-r13 OPTIONAL, + sTTI-MIMO-CA-ParametersPerBoBCs-v1530 MIMO-CA-ParametersPerBoBC-v1430 OPTIONAL, + sTTI-SupportedCombinations-r15 STTI-SupportedCombinations-r15 OPTIONAL, + sTTI-SupportedCSI-Proc-r15 ENUMERATED {n1, n3, n4} OPTIONAL, + ul-256QAM-Slot-r15 ENUMERATED {supported} OPTIONAL, + ul-256QAM-Subslot-r15 ENUMERATED {supported} OPTIONAL, + ... +} + +STTI-SupportedCombinations-r15 ::= SEQUENCE { + combination-22-r15 DL-UL-CCs-r15 OPTIONAL, + combination-77-r15 DL-UL-CCs-r15 OPTIONAL, + combination-27-r15 DL-UL-CCs-r15 OPTIONAL, + combination-22-27-r15 SEQUENCE (SIZE (1..2)) OF DL-UL-CCs-r15 OPTIONAL, + combination-77-22-r15 SEQUENCE (SIZE (1..2)) OF DL-UL-CCs-r15 OPTIONAL, + combination-77-27-r15 SEQUENCE (SIZE (1..2)) OF DL-UL-CCs-r15 OPTIONAL +} + +DL-UL-CCs-r15 ::= SEQUENCE { + maxNumberDL-CCs-r15 INTEGER (1..32) OPTIONAL, + maxNumberUL-CCs-r15 INTEGER (1..32) OPTIONAL +} + +SupportedBandCombination-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-r10 + +SupportedBandCombinationExt-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParametersExt-r10 + +SupportedBandCombination-v1090 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1090 + +SupportedBandCombination-v10i0 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v10i0 + +SupportedBandCombination-v1130 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1130 + +SupportedBandCombination-v1250 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1250 + +SupportedBandCombination-v1270 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1270 + +SupportedBandCombination-v1320 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1320 + +SupportedBandCombination-v1380 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1380 + +SupportedBandCombination-v1390 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1390 + +SupportedBandCombination-v1430 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1430 + +SupportedBandCombination-v1450 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1450 + +SupportedBandCombination-v1470 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1470 + +SupportedBandCombination-v14b0 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v14b0 + +SupportedBandCombination-v1530 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1530 + +SupportedBandCombination-v1610 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1610 + +SupportedBandCombination-v1630 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandCombinationParameters-v1630 + +SupportedBandCombinationAdd-r11 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-r11 + +SupportedBandCombinationAdd-v11d0 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v10i0 + +SupportedBandCombinationAdd-v1250 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1250 + +SupportedBandCombinationAdd-v1270 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1270 + +SupportedBandCombinationAdd-v1320 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1320 + +SupportedBandCombinationAdd-v1380 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1380 + +SupportedBandCombinationAdd-v1390 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1390 + +SupportedBandCombinationAdd-v1430 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1430 + +SupportedBandCombinationAdd-v1450 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1450 + +SupportedBandCombinationAdd-v1470 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1470 + +SupportedBandCombinationAdd-v14b0 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v14b0 + +SupportedBandCombinationAdd-v1530 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1530 + +SupportedBandCombinationAdd-v1610 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1610 + +SupportedBandCombinationAdd-v1630 ::= SEQUENCE (SIZE (1..maxBandComb-r11)) OF BandCombinationParameters-v1630 + +SupportedBandCombinationReduced-r13 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-r13 + +SupportedBandCombinationReduced-v1320 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1320 + +SupportedBandCombinationReduced-v1380 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1380 + +SupportedBandCombinationReduced-v1390 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1390 + +SupportedBandCombinationReduced-v1430 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1430 + +SupportedBandCombinationReduced-v1450 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1450 + +SupportedBandCombinationReduced-v1470 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1470 + +SupportedBandCombinationReduced-v14b0 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v14b0 + +SupportedBandCombinationReduced-v1530 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1530 + +SupportedBandCombinationReduced-v1610 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1610 + +SupportedBandCombinationReduced-v1630 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1630 + +BandCombinationParameters-r10 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-r10 + +BandCombinationParametersExt-r10 ::= SEQUENCE { + supportedBandwidthCombinationSet-r10 SupportedBandwidthCombinationSet-r10 OPTIONAL +} + +BandCombinationParameters-v1090 ::= SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1090 + +BandCombinationParameters-v10i0::= SEQUENCE { + bandParameterList-v10i0 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v10i0 OPTIONAL +} + +BandCombinationParameters-v1130 ::= SEQUENCE { + multipleTimingAdvance-r11 ENUMERATED {supported} OPTIONAL, + simultaneousRx-Tx-r11 ENUMERATED {supported} OPTIONAL, + bandParameterList-r11 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1130 OPTIONAL, + ... +} + +BandCombinationParameters-r11 ::= SEQUENCE { + bandParameterList-r11 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-r11, + supportedBandwidthCombinationSet-r11 SupportedBandwidthCombinationSet-r10 OPTIONAL, + multipleTimingAdvance-r11 ENUMERATED {supported} OPTIONAL, + simultaneousRx-Tx-r11 ENUMERATED {supported} OPTIONAL, + bandInfoEUTRA-r11 BandInfoEUTRA, + ... +} + +BandCombinationParameters-v1250::= SEQUENCE { + dc-Support-r12 SEQUENCE { + asynchronous-r12 ENUMERATED {supported} OPTIONAL, + supportedCellGrouping-r12 CHOICE { + threeEntries-r12 BIT STRING (SIZE(3)), + fourEntries-r12 BIT STRING (SIZE(7)), + fiveEntries-r12 BIT STRING (SIZE(15)) + } OPTIONAL + } OPTIONAL, + supportedNAICS-2CRS-AP-r12 BIT STRING (SIZE (1..maxNAICS-Entries-r12)) OPTIONAL, + commSupportedBandsPerBC-r12 BIT STRING (SIZE (1.. maxBands)) OPTIONAL, + ... +} + +BandCombinationParameters-v1270 ::= SEQUENCE { + bandParameterList-v1270 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v1270 OPTIONAL +} + +BandCombinationParameters-r13 ::= SEQUENCE { + differentFallbackSupported-r13 ENUMERATED {true} OPTIONAL, + bandParameterList-r13 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-r13, + supportedBandwidthCombinationSet-r13 SupportedBandwidthCombinationSet-r10 OPTIONAL, + multipleTimingAdvance-r13 ENUMERATED {supported} OPTIONAL, + simultaneousRx-Tx-r13 ENUMERATED {supported} OPTIONAL, + bandInfoEUTRA-r13 BandInfoEUTRA, + dc-Support-r13 SEQUENCE { + asynchronous-r13 ENUMERATED {supported} OPTIONAL, + supportedCellGrouping-r13 CHOICE { + threeEntries-r13 BIT STRING (SIZE(3)), + fourEntries-r13 BIT STRING (SIZE(7)), + fiveEntries-r13 BIT STRING (SIZE(15)) + } OPTIONAL + } OPTIONAL, + supportedNAICS-2CRS-AP-r13 BIT STRING (SIZE (1..maxNAICS-Entries-r12)) OPTIONAL, + commSupportedBandsPerBC-r13 BIT STRING (SIZE (1.. maxBands)) OPTIONAL +} + +BandCombinationParameters-v1320 ::= SEQUENCE { + bandParameterList-v1320 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v1320 OPTIONAL, + additionalRx-Tx-PerformanceReq-r13 ENUMERATED {supported} OPTIONAL +} + +BandCombinationParameters-v1380 ::= SEQUENCE { + bandParameterList-v1380 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v1380 OPTIONAL +} + +BandCombinationParameters-v1390 ::= SEQUENCE { + ue-CA-PowerClass-N-r13 ENUMERATED {class2} OPTIONAL +} + +BandCombinationParameters-v1430 ::= SEQUENCE { + bandParameterList-v1430 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v1430 OPTIONAL, + v2x-SupportedTxBandCombListPerBC-r14 BIT STRING (SIZE (1.. maxBandComb-r13)) OPTIONAL, + v2x-SupportedRxBandCombListPerBC-r14 BIT STRING (SIZE (1.. maxBandComb-r13)) OPTIONAL +} + +BandCombinationParameters-v1450 ::= SEQUENCE { + bandParameterList-v1450 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v1450 OPTIONAL +} + +BandCombinationParameters-v1470 ::= SEQUENCE { + bandParameterList-v1470 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v1470 OPTIONAL, + srs-MaxSimultaneousCCs-r14 INTEGER (1..31) OPTIONAL +} + +BandCombinationParameters-v14b0 ::= SEQUENCE { + bandParameterList-v14b0 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + BandParameters-v14b0 OPTIONAL +} + +BandCombinationParameters-v1530 ::= SEQUENCE { + bandParameterList-v1530 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1530 OPTIONAL, + spt-Parameters-r15 SPT-Parameters-r15 OPTIONAL +} + +-- If an additional band combination parameter is defined, which is supported for MR-DC, +-- it shall be defined in the IE CA-ParametersEUTRA in TS 38.331 [82]. + +BandCombinationParameters-v1610 ::= SEQUENCE { + measGapInfoNR-r16 MeasGapInfoNR-r16 OPTIONAL, + bandParameterList-v1610 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF BandParameters-v1610 OPTIONAL, + interFreqDAPS-r16 SEQUENCE { + interFreqAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL, + interFreqMultiUL-TransmissionDAPS-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL +} + +BandCombinationParameters-v1630 ::= SEQUENCE { + v2x-SupportedTxBandCombListPerBC-v1630 BIT STRING (SIZE (1..maxBandCombSidelinkNR-r16)) OPTIONAL, + v2x-SupportedRxBandCombListPerBC-v1630 BIT STRING (SIZE (1..maxBandCombSidelinkNR-r16)) OPTIONAL, + scalingFactorTxSidelink-r16 SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF ScalingFactorSidelink-r16 OPTIONAL, + scalingFactorRxSidelink-r16 SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF ScalingFactorSidelink-r16 OPTIONAL, + interBandPowerSharingSyncDAPS-r16 ENUMERATED {supported} OPTIONAL, + interBandPowerSharingAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL +} + +ScalingFactorSidelink-r16 ::= ENUMERATED {f0p4, f0p75, f0p8, f1} + +SupportedBandwidthCombinationSet-r10 ::= BIT STRING (SIZE (1..maxBandwidthCombSet-r10)) + +BandParameters-r10 ::= SEQUENCE { + bandEUTRA-r10 FreqBandIndicator, + bandParametersUL-r10 BandParametersUL-r10 OPTIONAL, + bandParametersDL-r10 BandParametersDL-r10 OPTIONAL +} + +BandParameters-v1090 ::= SEQUENCE { + bandEUTRA-v1090 FreqBandIndicator-v9e0 OPTIONAL, + ... +} + +BandParameters-v10i0::= SEQUENCE { + bandParametersDL-v10i0 SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-v10i0 +} + +BandParameters-v1130 ::= SEQUENCE { + supportedCSI-Proc-r11 ENUMERATED {n1, n3, n4} +} + +BandParameters-r11 ::= SEQUENCE { + bandEUTRA-r11 FreqBandIndicator-r11, + bandParametersUL-r11 BandParametersUL-r10 OPTIONAL, + bandParametersDL-r11 BandParametersDL-r10 OPTIONAL, + supportedCSI-Proc-r11 ENUMERATED {n1, n3, n4} OPTIONAL +} + +BandParameters-v1270 ::= SEQUENCE { + bandParametersDL-v1270 SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-v1270 +} + +BandParameters-r13 ::= SEQUENCE { + bandEUTRA-r13 FreqBandIndicator-r11, + bandParametersUL-r13 BandParametersUL-r13 OPTIONAL, + bandParametersDL-r13 BandParametersDL-r13 OPTIONAL, + supportedCSI-Proc-r13 ENUMERATED {n1, n3, n4} OPTIONAL +} + +BandParameters-v1320 ::= SEQUENCE { + bandParametersDL-v1320 MIMO-CA-ParametersPerBoBC-r13 +} + +BandParameters-v1380 ::= SEQUENCE { + txAntennaSwitchDL-r13 INTEGER (1..32) OPTIONAL, + txAntennaSwitchUL-r13 INTEGER (1..32) OPTIONAL +} + +BandParameters-v1430 ::= SEQUENCE { + bandParametersDL-v1430 MIMO-CA-ParametersPerBoBC-v1430 OPTIONAL, + ul-256QAM-r14 ENUMERATED {supported} OPTIONAL, + ul-256QAM-perCC-InfoList-r14 SEQUENCE (SIZE (2..maxServCell-r13)) OF UL-256QAM-perCC-Info-r14 OPTIONAL, + srs-CapabilityPerBandPairList-r14 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + SRS-CapabilityPerBandPair-r14 OPTIONAL +} + +BandParameters-v1450 ::= SEQUENCE { + must-CapabilityPerBand-r14 MUST-Parameters-r14 OPTIONAL +} + +BandParameters-v1470 ::= SEQUENCE { + bandParametersDL-v1470 MIMO-CA-ParametersPerBoBC-v1470 OPTIONAL +} + +BandParameters-v14b0 ::= SEQUENCE { + srs-CapabilityPerBandPairList-v14b0 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF SRS-CapabilityPerBandPair-v14b0 OPTIONAL +} + +BandParameters-v1530 ::= SEQUENCE { + ue-TxAntennaSelection-SRS-1T4R-r15 ENUMERATED {supported} OPTIONAL, + ue-TxAntennaSelection-SRS-2T4R-2Pairs-r15 ENUMERATED {supported} OPTIONAL, + ue-TxAntennaSelection-SRS-2T4R-3Pairs-r15 ENUMERATED {supported} OPTIONAL, + dl-1024QAM-r15 ENUMERATED {supported} OPTIONAL, + qcl-TypeC-Operation-r15 ENUMERATED {supported} OPTIONAL, + qcl-CRI-BasedCSI-Reporting-r15 ENUMERATED {supported} OPTIONAL, + stti-SPT-BandParameters-r15 STTI-SPT-BandParameters-r15 OPTIONAL +} + +BandParameters-v1610 ::= SEQUENCE { + intraFreqDAPS-r16 SEQUENCE { + intraFreqAsyncDAPS-r16 ENUMERATED {supported} OPTIONAL, + dummy ENUMERATED {supported} OPTIONAL, + intraFreqTwoTAGs-DAPS-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + addSRS-FrequencyHopping-r16 ENUMERATED {supported} OPTIONAL, + addSRS-AntennaSwitching-r16 SEQUENCE { + addSRS-1T2R-r16 ENUMERATED {supported} OPTIONAL, + addSRS-1T4R-r16 ENUMERATED {supported} OPTIONAL, + addSRS-2T4R-2pairs-r16 ENUMERATED {supported} OPTIONAL, + addSRS-2T4R-3pairs-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL, + srs-CapabilityPerBandPairList-v1610 SEQUENCE (SIZE (1..maxSimultaneousBands-r10)) OF + SRS-CapabilityPerBandPair-v1610 OPTIONAL +} + +V2X-BandParameters-r14 ::= SEQUENCE { + v2x-FreqBandEUTRA-r14 FreqBandIndicator-r11, + bandParametersTxSL-r14 BandParametersTxSL-r14 OPTIONAL, + bandParametersRxSL-r14 BandParametersRxSL-r14 OPTIONAL +} + +V2X-BandParameters-v1530 ::= SEQUENCE { + v2x-EnhancedHighReception-r15 ENUMERATED {supported} OPTIONAL +} + +BandParametersTxSL-r14 ::= SEQUENCE { + v2x-BandwidthClassTxSL-r14 V2X-BandwidthClassSL-r14, + v2x-eNB-Scheduled-r14 ENUMERATED {supported} OPTIONAL, + v2x-HighPower-r14 ENUMERATED {supported} OPTIONAL +} + +BandParametersRxSL-r14 ::= SEQUENCE { + v2x-BandwidthClassRxSL-r14 V2X-BandwidthClassSL-r14, + v2x-HighReception-r14 ENUMERATED {supported} OPTIONAL +} + +V2X-BandwidthClassSL-r14 ::= SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF V2X-BandwidthClass-r14 + +UL-256QAM-perCC-Info-r14 ::= SEQUENCE { + ul-256QAM-perCC-r14 ENUMERATED {supported} OPTIONAL +} + +FeatureSetDL-r15 ::= SEQUENCE { + mimo-CA-ParametersPerBoBC-r15 MIMO-CA-ParametersPerBoBC-r15 OPTIONAL, + featureSetPerCC-ListDL-r15 SEQUENCE (SIZE (1..maxServCell-r13)) OF FeatureSetDL-PerCC-Id-r15 +} + +FeatureSetDL-v1550 ::= SEQUENCE { + dl-1024QAM-r15 ENUMERATED {supported} OPTIONAL +} + +FeatureSetDL-PerCC-r15 ::= SEQUENCE { + fourLayerTM3-TM4-r15 ENUMERATED {supported} OPTIONAL, + supportedMIMO-CapabilityDL-MRDC-r15 MIMO-CapabilityDL-r10 OPTIONAL, + supportedCSI-Proc-r15 ENUMERATED {n1, n3, n4} OPTIONAL +} + +FeatureSetUL-r15 ::= SEQUENCE { + featureSetPerCC-ListUL-r15 SEQUENCE (SIZE(1..maxServCell-r13)) OF FeatureSetUL-PerCC-Id-r15 +} + +FeatureSetUL-PerCC-r15 ::= SEQUENCE { + supportedMIMO-CapabilityUL-r15 MIMO-CapabilityUL-r10 OPTIONAL, + ul-256QAM-r15 ENUMERATED {supported} OPTIONAL +} + +FeatureSetDL-PerCC-Id-r15 ::= INTEGER (0..maxPerCC-FeatureSets-r15) + +FeatureSetUL-PerCC-Id-r15 ::= INTEGER (0..maxPerCC-FeatureSets-r15) + +BandParametersUL-r10 ::= SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersUL-r10 + +BandParametersUL-r13 ::= CA-MIMO-ParametersUL-r10 + +CA-MIMO-ParametersUL-r10 ::= SEQUENCE { + ca-BandwidthClassUL-r10 CA-BandwidthClass-r10, + supportedMIMO-CapabilityUL-r10 MIMO-CapabilityUL-r10 OPTIONAL +} + +CA-MIMO-ParametersUL-r15 ::= SEQUENCE { + supportedMIMO-CapabilityUL-r15 MIMO-CapabilityUL-r10 OPTIONAL +} + +BandParametersDL-r10 ::= SEQUENCE (SIZE (1..maxBandwidthClass-r10)) OF CA-MIMO-ParametersDL-r10 + +BandParametersDL-r13 ::= CA-MIMO-ParametersDL-r13 + +CA-MIMO-ParametersDL-r10 ::= SEQUENCE { + ca-BandwidthClassDL-r10 CA-BandwidthClass-r10, + supportedMIMO-CapabilityDL-r10 MIMO-CapabilityDL-r10 OPTIONAL +} + +CA-MIMO-ParametersDL-v10i0 ::= SEQUENCE { + fourLayerTM3-TM4-r10 ENUMERATED {supported} OPTIONAL +} + +CA-MIMO-ParametersDL-v1270 ::= SEQUENCE { + intraBandContiguousCC-InfoList-r12 SEQUENCE (SIZE (1..maxServCell-r10)) OF IntraBandContiguousCC-Info-r12 +} + +CA-MIMO-ParametersDL-r13 ::= SEQUENCE { + ca-BandwidthClassDL-r13 CA-BandwidthClass-r10, + supportedMIMO-CapabilityDL-r13 MIMO-CapabilityDL-r10 OPTIONAL, + fourLayerTM3-TM4-r13 ENUMERATED {supported} OPTIONAL, + intraBandContiguousCC-InfoList-r13 SEQUENCE (SIZE (1..maxServCell-r13)) OF IntraBandContiguousCC-Info-r12 +} + +CA-MIMO-ParametersDL-r15 ::= SEQUENCE { + supportedMIMO-CapabilityDL-r15 MIMO-CapabilityDL-r10 OPTIONAL, + fourLayerTM3-TM4-r15 ENUMERATED {supported} OPTIONAL, + intraBandContiguousCC-InfoList-r15 SEQUENCE (SIZE (1..maxServCell-r13)) OF + IntraBandContiguousCC-Info-r12 OPTIONAL +} + +IntraBandContiguousCC-Info-r12 ::= SEQUENCE { + fourLayerTM3-TM4-perCC-r12 ENUMERATED {supported} OPTIONAL, + supportedMIMO-CapabilityDL-r12 MIMO-CapabilityDL-r10 OPTIONAL, + supportedCSI-Proc-r12 ENUMERATED {n1, n3, n4} OPTIONAL +} + +CA-BandwidthClass-r10 ::= ENUMERATED {a, b, c, d, e, f, ...} + +V2X-BandwidthClass-r14 ::= ENUMERATED {a, b, c, d, e, f, ..., c1-v1530} + +MIMO-CapabilityUL-r10 ::= ENUMERATED {twoLayers, fourLayers} + +MIMO-CapabilityDL-r10 ::= ENUMERATED {twoLayers, fourLayers, eightLayers} + +MUST-Parameters-r14 ::= SEQUENCE { + must-TM234-UpTo2Tx-r14 ENUMERATED {supported} OPTIONAL, + must-TM89-UpToOneInterferingLayer-r14 ENUMERATED {supported} OPTIONAL, + must-TM10-UpToOneInterferingLayer-r14 ENUMERATED {supported} OPTIONAL, + must-TM89-UpToThreeInterferingLayers-r14 ENUMERATED {supported} OPTIONAL, + must-TM10-UpToThreeInterferingLayers-r14 ENUMERATED {supported} OPTIONAL +} + +SupportedBandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA + +SupportedBandListEUTRA-v9e0::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v9e0 + +SupportedBandListEUTRA-v1250 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v1250 + +SupportedBandListEUTRA-v1310 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v1310 + +SupportedBandListEUTRA-v1320 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v1320 + +SupportedBandEUTRA ::= SEQUENCE { + bandEUTRA FreqBandIndicator, + halfDuplex BOOLEAN +} + +SupportedBandEUTRA-v9e0 ::= SEQUENCE { + bandEUTRA-v9e0 FreqBandIndicator-v9e0 OPTIONAL +} + +SupportedBandEUTRA-v1250 ::= SEQUENCE { + dl-256QAM-r12 ENUMERATED {supported} OPTIONAL, + ul-64QAM-r12 ENUMERATED {supported} OPTIONAL +} + +SupportedBandEUTRA-v1310 ::= SEQUENCE { + ue-PowerClass-5-r13 ENUMERATED {supported} OPTIONAL +} +SupportedBandEUTRA-v1320 ::= SEQUENCE { + intraFreq-CE-NeedForGaps-r13 ENUMERATED {supported} OPTIONAL, + ue-PowerClass-N-r13 ENUMERATED {class1, class2, class4} OPTIONAL +} + +MeasParameters ::= SEQUENCE { + bandListEUTRA BandListEUTRA +} + +MeasParameters-v1020 ::= SEQUENCE { + bandCombinationListEUTRA-r10 BandCombinationListEUTRA-r10 +} + +MeasParameters-v1130 ::= SEQUENCE { + rsrqMeasWideband-r11 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v11a0 ::= SEQUENCE { + benefitsFromInterruption-r11 ENUMERATED {true} OPTIONAL +} + +MeasParameters-v1250 ::= SEQUENCE { + timerT312-r12 ENUMERATED {supported} OPTIONAL, + alternativeTimeToTrigger-r12 ENUMERATED {supported} OPTIONAL, + incMonEUTRA-r12 ENUMERATED {supported} OPTIONAL, + incMonUTRA-r12 ENUMERATED {supported} OPTIONAL, + extendedMaxMeasId-r12 ENUMERATED {supported} OPTIONAL, + extendedRSRQ-LowerRange-r12 ENUMERATED {supported} OPTIONAL, + rsrq-OnAllSymbols-r12 ENUMERATED {supported} OPTIONAL, + crs-DiscoverySignalsMeas-r12 ENUMERATED {supported} OPTIONAL, + csi-RS-DiscoverySignalsMeas-r12 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v1310 ::= SEQUENCE { + rs-SINR-Meas-r13 ENUMERATED {supported} OPTIONAL, + whiteCellList-r13 ENUMERATED {supported} OPTIONAL, + extendedMaxObjectId-r13 ENUMERATED {supported} OPTIONAL, + ul-PDCP-Delay-r13 ENUMERATED {supported} OPTIONAL, + extendedFreqPriorities-r13 ENUMERATED {supported} OPTIONAL, + multiBandInfoReport-r13 ENUMERATED {supported} OPTIONAL, + rssi-AndChannelOccupancyReporting-r13 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v1430 ::= SEQUENCE { + ceMeasurements-r14 ENUMERATED {supported} OPTIONAL, + ncsg-r14 ENUMERATED {supported} OPTIONAL, + shortMeasurementGap-r14 ENUMERATED {supported} OPTIONAL, + perServingCellMeasurementGap-r14 ENUMERATED {supported} OPTIONAL, + nonUniformGap-r14 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v1520 ::= SEQUENCE { + measGapPatterns-r15 BIT STRING (SIZE (8)) OPTIONAL +} + +MeasParameters-v1530 ::= SEQUENCE { + qoe-MeasReport-r15 ENUMERATED {supported} OPTIONAL, + qoe-MTSI-MeasReport-r15 ENUMERATED {supported} OPTIONAL, + ca-IdleModeMeasurements-r15 ENUMERATED {supported} OPTIONAL, + ca-IdleModeValidityArea-r15 ENUMERATED {supported} OPTIONAL, + heightMeas-r15 ENUMERATED {supported} OPTIONAL, + multipleCellsMeasExtension-r15 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v1610 ::= SEQUENCE { + bandInfoNR-v1610 SEQUENCE (SIZE (1..maxBands)) OF MeasGapInfoNR-r16 OPTIONAL, + altFreqPriority-r16 ENUMERATED {supported} OPTIONAL, + ce-DL-ChannelQualityReporting-r16 ENUMERATED {supported} OPTIONAL, + ce-MeasRSS-Dedicated-r16 ENUMERATED {supported} OPTIONAL, + eutra-IdleInactiveMeasurements-r16 ENUMERATED {supported} OPTIONAL, + nr-IdleInactiveMeasFR1-r16 ENUMERATED {supported} OPTIONAL, + nr-IdleInactiveMeasFR2-r16 ENUMERATED {supported} OPTIONAL, + idleInactiveValidityAreaList-r16 ENUMERATED {supported} OPTIONAL, + measGapPatterns-NRonly-r16 ENUMERATED {supported} OPTIONAL, + measGapPatterns-NRonly-ENDC-r16 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v1630 ::= SEQUENCE { + nr-IdleInactiveBeamMeasFR1-r16 ENUMERATED {supported} OPTIONAL, + nr-IdleInactiveBeamMeasFR2-r16 ENUMERATED {supported} OPTIONAL, + ce-MeasRSS-DedicatedSameRBs-r16 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-v16c0 ::= SEQUENCE { + nr-CellIndividualOffset-r16 ENUMERATED {supported} OPTIONAL +} + +MeasGapInfoNR-r16 ::= SEQUENCE { + interRAT-BandListNR-EN-DC-r16 InterRAT-BandListNR-r16 OPTIONAL, + interRAT-BandListNR-SA-r16 InterRAT-BandListNR-r16 OPTIONAL +} + +BandListEUTRA ::= SEQUENCE (SIZE (1..maxBands)) OF BandInfoEUTRA + +BandCombinationListEUTRA-r10 ::= SEQUENCE (SIZE (1..maxBandComb-r10)) OF BandInfoEUTRA + +BandInfoEUTRA ::= SEQUENCE { + interFreqBandList InterFreqBandList, + interRAT-BandList InterRAT-BandList OPTIONAL +} + +InterFreqBandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterFreqBandInfo + +InterFreqBandInfo ::= SEQUENCE { + interFreqNeedForGaps BOOLEAN +} + +InterRAT-BandList ::= SEQUENCE (SIZE (1..maxBands)) OF InterRAT-BandInfo + +InterRAT-BandListNR-r16 ::= SEQUENCE (SIZE (1..maxBandsNR-r15)) OF InterRAT-BandInfoNR-r16 + +InterRAT-BandInfo ::= SEQUENCE { + interRAT-NeedForGaps BOOLEAN +} + +InterRAT-BandInfoNR-r16 ::= SEQUENCE { + interRAT-NeedForGapsNR-r16 BOOLEAN +} + +IRAT-ParametersNR-r15 ::= SEQUENCE { + en-DC-r15 ENUMERATED {supported} OPTIONAL, + eventB2-r15 ENUMERATED {supported} OPTIONAL, + supportedBandListEN-DC-r15 SupportedBandListNR-r15 OPTIONAL +} + +IRAT-ParametersNR-v1540 ::= SEQUENCE { + eutra-5GC-HO-ToNR-FDD-FR1-r15 ENUMERATED {supported} OPTIONAL, + eutra-5GC-HO-ToNR-TDD-FR1-r15 ENUMERATED {supported} OPTIONAL, + eutra-5GC-HO-ToNR-FDD-FR2-r15 ENUMERATED {supported} OPTIONAL, + eutra-5GC-HO-ToNR-TDD-FR2-r15 ENUMERATED {supported} OPTIONAL, + eutra-EPC-HO-ToNR-FDD-FR1-r15 ENUMERATED {supported} OPTIONAL, + eutra-EPC-HO-ToNR-TDD-FR1-r15 ENUMERATED {supported} OPTIONAL, + eutra-EPC-HO-ToNR-FDD-FR2-r15 ENUMERATED {supported} OPTIONAL, + eutra-EPC-HO-ToNR-TDD-FR2-r15 ENUMERATED {supported} OPTIONAL, + ims-VoiceOverNR-FR1-r15 ENUMERATED {supported} OPTIONAL, + ims-VoiceOverNR-FR2-r15 ENUMERATED {supported} OPTIONAL, + sa-NR-r15 ENUMERATED {supported} OPTIONAL, + supportedBandListNR-SA-r15 SupportedBandListNR-r15 OPTIONAL +} + +IRAT-ParametersNR-v1560 ::= SEQUENCE { + ng-EN-DC-r15 ENUMERATED {supported} OPTIONAL +} + +IRAT-ParametersNR-v1570 ::= SEQUENCE { + ss-SINR-Meas-NR-FR1-r15 ENUMERATED {supported} OPTIONAL, + ss-SINR-Meas-NR-FR2-r15 ENUMERATED {supported} OPTIONAL +} + +IRAT-ParametersNR-v1610 ::= SEQUENCE { + nr-HO-ToEN-DC-r16 ENUMERATED {supported} OPTIONAL, + ce-EUTRA-5GC-HO-ToNR-FDD-FR1-r16 ENUMERATED {supported} OPTIONAL, + ce-EUTRA-5GC-HO-ToNR-TDD-FR1-r16 ENUMERATED {supported} OPTIONAL, + ce-EUTRA-5GC-HO-ToNR-FDD-FR2-r16 ENUMERATED {supported} OPTIONAL, + ce-EUTRA-5GC-HO-ToNR-TDD-FR2-r16 ENUMERATED {supported} OPTIONAL +} + +IRAT-ParametersNR-v1660 ::= SEQUENCE { + extendedBand-n77-r16 ENUMERATED {supported} OPTIONAL +} + +EUTRA-5GC-Parameters-r15 ::= SEQUENCE { + eutra-5GC-r15 ENUMERATED {supported} OPTIONAL, + eutra-EPC-HO-EUTRA-5GC-r15 ENUMERATED {supported} OPTIONAL, + ho-EUTRA-5GC-FDD-TDD-r15 ENUMERATED {supported} OPTIONAL, + ho-InterfreqEUTRA-5GC-r15 ENUMERATED {supported} OPTIONAL, + ims-VoiceOverMCG-BearerEUTRA-5GC-r15 ENUMERATED {supported} OPTIONAL, + inactiveState-r15 ENUMERATED {supported} OPTIONAL, + reflectiveQoS-r15 ENUMERATED {supported} OPTIONAL +} + +EUTRA-5GC-Parameters-v1610 ::= SEQUENCE { + ce-InactiveState-r16 ENUMERATED {supported} OPTIONAL, + ce-EUTRA-5GC-r16 ENUMERATED {supported} OPTIONAL +} + +PDCP-ParametersNR-r15 ::= SEQUENCE { + rohc-Profiles-r15 ROHC-ProfileSupportList-r15, + rohc-ContextMaxSessions-r15 ENUMERATED { + cs2, cs4, cs8, cs12, cs16, cs24, cs32, + cs48, cs64, cs128, cs256, cs512, cs1024, + cs16384, spare2, spare1} DEFAULT cs16, + rohc-ProfilesUL-Only-r15 SEQUENCE { + profile0x0006-r15 BOOLEAN + }, + rohc-ContextContinue-r15 ENUMERATED {supported} OPTIONAL, + outOfOrderDelivery-r15 ENUMERATED {supported} OPTIONAL, + sn-SizeLo-r15 ENUMERATED {supported} OPTIONAL, + ims-VoiceOverNR-PDCP-MCG-Bearer-r15 ENUMERATED {supported} OPTIONAL, + ims-VoiceOverNR-PDCP-SCG-Bearer-r15 ENUMERATED {supported} OPTIONAL +} + +PDCP-ParametersNR-v1560 ::= SEQUENCE { + ims-VoNR-PDCP-SCG-NGENDC-r15 ENUMERATED {supported} OPTIONAL +} + +ROHC-ProfileSupportList-r15 ::= SEQUENCE { + profile0x0001-r15 BOOLEAN, + profile0x0002-r15 BOOLEAN, + profile0x0003-r15 BOOLEAN, + profile0x0004-r15 BOOLEAN, + profile0x0006-r15 BOOLEAN, + profile0x0101-r15 BOOLEAN, + profile0x0102-r15 BOOLEAN, + profile0x0103-r15 BOOLEAN, + profile0x0104-r15 BOOLEAN +} + +SupportedBandListNR-r15 ::= SEQUENCE (SIZE (1..maxBandsNR-r15)) OF SupportedBandNR-r15 + +SupportedBandNR-r15 ::= SEQUENCE { + bandNR-r15 FreqBandIndicatorNR-r15 +} + +IRAT-ParametersUTRA-FDD ::= SEQUENCE { + supportedBandListUTRA-FDD SupportedBandListUTRA-FDD +} + +IRAT-ParametersUTRA-v920 ::= SEQUENCE { + e-RedirectionUTRA-r9 ENUMERATED {supported} +} + +IRAT-ParametersUTRA-v9c0 ::= SEQUENCE { + voiceOverPS-HS-UTRA-FDD-r9 ENUMERATED {supported} OPTIONAL, + voiceOverPS-HS-UTRA-TDD128-r9 ENUMERATED {supported} OPTIONAL, + srvcc-FromUTRA-FDD-ToUTRA-FDD-r9 ENUMERATED {supported} OPTIONAL, + srvcc-FromUTRA-FDD-ToGERAN-r9 ENUMERATED {supported} OPTIONAL, + srvcc-FromUTRA-TDD128-ToUTRA-TDD128-r9 ENUMERATED {supported} OPTIONAL, + srvcc-FromUTRA-TDD128-ToGERAN-r9 ENUMERATED {supported} OPTIONAL +} + +IRAT-ParametersUTRA-v9h0 ::= SEQUENCE { + mfbi-UTRA-r9 ENUMERATED {supported} +} + +SupportedBandListUTRA-FDD ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-FDD + +SupportedBandUTRA-FDD ::= ENUMERATED { + bandI, bandII, bandIII, bandIV, bandV, bandVI, + bandVII, bandVIII, bandIX, bandX, bandXI, + bandXII, bandXIII, bandXIV, bandXV, bandXVI, ..., + bandXVII-8a0, bandXVIII-8a0, bandXIX-8a0, bandXX-8a0, + bandXXI-8a0, bandXXII-8a0, bandXXIII-8a0, bandXXIV-8a0, + bandXXV-8a0, bandXXVI-8a0, bandXXVII-8a0, bandXXVIII-8a0, + bandXXIX-8a0, bandXXX-8a0, bandXXXI-8a0, bandXXXII-8a0} + +IRAT-ParametersUTRA-TDD128 ::= SEQUENCE { + supportedBandListUTRA-TDD128 SupportedBandListUTRA-TDD128 +} + +SupportedBandListUTRA-TDD128 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD128 + +SupportedBandUTRA-TDD128 ::= ENUMERATED { + a, b, c, d, e, f, g, h, i, j, k, l, m, n, + o, p, ...} + +IRAT-ParametersUTRA-TDD384 ::= SEQUENCE { + supportedBandListUTRA-TDD384 SupportedBandListUTRA-TDD384 +} + +SupportedBandListUTRA-TDD384 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD384 + +SupportedBandUTRA-TDD384 ::= ENUMERATED { + a, b, c, d, e, f, g, h, i, j, k, l, m, n, + o, p, ...} + +IRAT-ParametersUTRA-TDD768 ::= SEQUENCE { + supportedBandListUTRA-TDD768 SupportedBandListUTRA-TDD768 +} + +SupportedBandListUTRA-TDD768 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandUTRA-TDD768 + +SupportedBandUTRA-TDD768 ::= ENUMERATED { + a, b, c, d, e, f, g, h, i, j, k, l, m, n, + o, p, ...} + +IRAT-ParametersUTRA-TDD-v1020 ::= SEQUENCE { + e-RedirectionUTRA-TDD-r10 ENUMERATED {supported} +} + +IRAT-ParametersGERAN ::= SEQUENCE { + supportedBandListGERAN SupportedBandListGERAN, + interRAT-PS-HO-ToGERAN BOOLEAN +} + +IRAT-ParametersGERAN-v920 ::= SEQUENCE { + dtm-r9 ENUMERATED {supported} OPTIONAL, + e-RedirectionGERAN-r9 ENUMERATED {supported} OPTIONAL +} + +SupportedBandListGERAN ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandGERAN + +SupportedBandGERAN ::= ENUMERATED { + gsm450, gsm480, gsm710, gsm750, gsm810, gsm850, + gsm900P, gsm900E, gsm900R, gsm1800, gsm1900, + spare5, spare4, spare3, spare2, spare1, ...} + +IRAT-ParametersCDMA2000-HRPD ::= SEQUENCE { + supportedBandListHRPD SupportedBandListHRPD, + tx-ConfigHRPD ENUMERATED {single, dual}, + rx-ConfigHRPD ENUMERATED {single, dual} +} + +SupportedBandListHRPD ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000 + +IRAT-ParametersCDMA2000-1XRTT ::= SEQUENCE { + supportedBandList1XRTT SupportedBandList1XRTT, + tx-Config1XRTT ENUMERATED {single, dual}, + rx-Config1XRTT ENUMERATED {single, dual} +} + +IRAT-ParametersCDMA2000-1XRTT-v920 ::= SEQUENCE { + e-CSFB-1XRTT-r9 ENUMERATED {supported}, + e-CSFB-ConcPS-Mob1XRTT-r9 ENUMERATED {supported} OPTIONAL +} + +IRAT-ParametersCDMA2000-1XRTT-v1020 ::= SEQUENCE { + e-CSFB-dual-1XRTT-r10 ENUMERATED {supported} +} + +IRAT-ParametersCDMA2000-v1130 ::= SEQUENCE { + cdma2000-NW-Sharing-r11 ENUMERATED {supported} OPTIONAL +} + +SupportedBandList1XRTT ::= SEQUENCE (SIZE (1..maxCDMA-BandClass)) OF BandclassCDMA2000 + +IRAT-ParametersWLAN-r13 ::= SEQUENCE { + supportedBandListWLAN-r13 SEQUENCE (SIZE (1..maxWLAN-Bands-r13)) OF WLAN-BandIndicator-r13 OPTIONAL +} + +CSG-ProximityIndicationParameters-r9 ::= SEQUENCE { + intraFreqProximityIndication-r9 ENUMERATED {supported} OPTIONAL, + interFreqProximityIndication-r9 ENUMERATED {supported} OPTIONAL, + utran-ProximityIndication-r9 ENUMERATED {supported} OPTIONAL +} + +NeighCellSI-AcquisitionParameters-r9 ::= SEQUENCE { + intraFreqSI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL, + interFreqSI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL, + utran-SI-AcquisitionForHO-r9 ENUMERATED {supported} OPTIONAL +} + +NeighCellSI-AcquisitionParameters-v1530 ::= SEQUENCE { + reportCGI-NR-EN-DC-r15 ENUMERATED {supported} OPTIONAL, + reportCGI-NR-NoEN-DC-r15 ENUMERATED {supported} OPTIONAL +} + +NeighCellSI-AcquisitionParameters-v1550 ::= SEQUENCE { + eutra-CGI-Reporting-ENDC-r15 ENUMERATED {supported} OPTIONAL, + utra-GERAN-CGI-Reporting-ENDC-r15 ENUMERATED {supported} OPTIONAL +} + +NeighCellSI-AcquisitionParameters-v15a0 ::= SEQUENCE { + eutra-CGI-Reporting-NEDC-r15 ENUMERATED {supported} OPTIONAL +} + +NeighCellSI-AcquisitionParameters-v1610 ::= SEQUENCE { + eutra-SI-AcquisitionForHO-ENDC-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGaps-ENDC-FR1-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGaps-ENDC-FR2-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGaps-FR1-r16 ENUMERATED {supported} OPTIONAL, + nr-AutonomousGaps-FR2-r16 ENUMERATED {supported} OPTIONAL +} + +SON-Parameters-r9 ::= SEQUENCE { + rach-Report-r9 ENUMERATED {supported} OPTIONAL +} + +PUR-Parameters-r16 ::= SEQUENCE { + pur-CP-5GC-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + pur-CP-5GC-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + pur-UP-5GC-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + pur-UP-5GC-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + pur-CP-EPC-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + pur-CP-EPC-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + pur-UP-EPC-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + pur-UP-EPC-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + pur-CP-L1Ack-r16 ENUMERATED {supported} OPTIONAL, + pur-FrequencyHopping-r16 ENUMERATED {supported} OPTIONAL, + pur-PUSCH-NB-MaxTBS-r16 ENUMERATED {supported} OPTIONAL, + pur-RSRP-Validation-r16 ENUMERATED {supported} OPTIONAL, + pur-SubPRB-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + pur-SubPRB-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL +} + +UE-BasedNetwPerfMeasParameters-r10 ::= SEQUENCE { + loggedMeasurementsIdle-r10 ENUMERATED {supported} OPTIONAL, + standaloneGNSS-Location-r10 ENUMERATED {supported} OPTIONAL +} + +UE-BasedNetwPerfMeasParameters-v1250 ::= SEQUENCE { + loggedMBSFNMeasurements-r12 ENUMERATED {supported} +} + +UE-BasedNetwPerfMeasParameters-v1430 ::= SEQUENCE { + locationReport-r14 ENUMERATED {supported} OPTIONAL +} + +UE-BasedNetwPerfMeasParameters-v1530 ::= SEQUENCE { + loggedMeasBT-r15 ENUMERATED {supported} OPTIONAL, + loggedMeasWLAN-r15 ENUMERATED {supported} OPTIONAL, + immMeasBT-r15 ENUMERATED {supported} OPTIONAL, + immMeasWLAN-r15 ENUMERATED {supported} OPTIONAL +} + +UE-BasedNetwPerfMeasParameters-v1610 ::= SEQUENCE { + ul-PDCP-AvgDelay-r16 ENUMERATED {supported} OPTIONAL +} + +OTDOA-PositioningCapabilities-r10 ::= SEQUENCE { + otdoa-UE-Assisted-r10 ENUMERATED {supported}, + interFreqRSTD-Measurement-r10 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-r11 ::= SEQUENCE { + inDeviceCoexInd-r11 ENUMERATED {supported} OPTIONAL, + powerPrefInd-r11 ENUMERATED {supported} OPTIONAL, + ue-Rx-TxTimeDiffMeasurements-r11 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v11d0 ::= SEQUENCE { + inDeviceCoexInd-UL-CA-r11 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v1360 ::= SEQUENCE { + inDeviceCoexInd-HardwareSharingInd-r13 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v1430 ::= SEQUENCE { + bwPrefInd-r14 ENUMERATED {supported} OPTIONAL, + rlm-ReportSupport-r14 ENUMERATED {supported} OPTIONAL +} + +OtherParameters-v1450 ::= SEQUENCE { + overheatingInd-r14 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v1460 ::= SEQUENCE { + nonCSG-SI-Reporting-r14 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v1530 ::= SEQUENCE { + assistInfoBitForLC-r15 ENUMERATED {supported} OPTIONAL, + timeReferenceProvision-r15 ENUMERATED {supported} OPTIONAL, + flightPathPlan-r15 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v1540 ::= SEQUENCE { + inDeviceCoexInd-ENDC-r15 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v1610 ::= SEQUENCE { + resumeWithStoredMCG-SCells-r16 ENUMERATED {supported} OPTIONAL, + resumeWithMCG-SCellConfig-r16 ENUMERATED {supported} OPTIONAL, + resumeWithStoredSCG-r16 ENUMERATED {supported} OPTIONAL, + resumeWithSCG-Config-r16 ENUMERATED {supported} OPTIONAL, + mcgRLF-RecoveryViaSCG-r16 ENUMERATED {supported} OPTIONAL, + overheatingIndForSCG-r16 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v1650 ::= SEQUENCE { + mpsPriorityIndication-r16 ENUMERATED {supported} OPTIONAL +} + +Other-Parameters-v1690 ::= SEQUENCE { + ul-RRC-Segmentation-r16 ENUMERATED {supported} OPTIONAL +} +MBMS-Parameters-r11 ::= SEQUENCE { + mbms-SCell-r11 ENUMERATED {supported} OPTIONAL, + mbms-NonServingCell-r11 ENUMERATED {supported} OPTIONAL +} + +MBMS-Parameters-v1250 ::= SEQUENCE { + mbms-AsyncDC-r12 ENUMERATED {supported} OPTIONAL +} + +MBMS-Parameters-v1430 ::= SEQUENCE { + fembmsDedicatedCell-r14 ENUMERATED {supported} OPTIONAL, + fembmsMixedCell-r14 ENUMERATED {supported} OPTIONAL, + subcarrierSpacingMBMS-khz7dot5-r14 ENUMERATED {supported} OPTIONAL, + subcarrierSpacingMBMS-khz1dot25-r14 ENUMERATED {supported} OPTIONAL +} + +MBMS-Parameters-v1470 ::= SEQUENCE { + mbms-MaxBW-r14 CHOICE { + implicitValue NULL, + explicitValue INTEGER(2..20) + }, + mbms-ScalingFactor1dot25-r14 ENUMERATED {n3, n6, n9, n12} OPTIONAL, + mbms-ScalingFactor7dot5-r14 ENUMERATED {n1, n2, n3, n4} OPTIONAL +} + +MBMS-Parameters-v1610 ::= SEQUENCE { + mbms-ScalingFactor2dot5-r16 ENUMERATED {n2, n4, n6, n8} OPTIONAL, + mbms-ScalingFactor0dot37-r16 ENUMERATED {n12, n16, n20, n24} OPTIONAL, + mbms-SupportedBandInfoList-r16 SEQUENCE (SIZE (1..maxBands)) OF MBMS-SupportedBandInfo-r16 +} + +MBMS-SupportedBandInfo-r16 ::= SEQUENCE { + subcarrierSpacingMBMS-khz2dot5-r16 ENUMERATED {supported} OPTIONAL, + subcarrierSpacingMBMS-khz0dot37-r16 SEQUENCE { + timeSeparationSlot2-r16 ENUMERATED {supported} OPTIONAL, + timeSeparationSlot4-r16 ENUMERATED {supported} OPTIONAL + } OPTIONAL +} + +FeMBMS-Unicast-Parameters-r14 ::= SEQUENCE { + unicast-fembmsMixedSCell-r14 ENUMERATED {supported} OPTIONAL, + emptyUnicastRegion-r14 ENUMERATED {supported} OPTIONAL +} + +SCPTM-Parameters-r13 ::= SEQUENCE { + scptm-ParallelReception-r13 ENUMERATED {supported} OPTIONAL, + scptm-SCell-r13 ENUMERATED {supported} OPTIONAL, + scptm-NonServingCell-r13 ENUMERATED {supported} OPTIONAL, + scptm-AsyncDC-r13 ENUMERATED {supported} OPTIONAL +} + +CE-Parameters-r13 ::= SEQUENCE { + ce-ModeA-r13 ENUMERATED {supported} OPTIONAL, + ce-ModeB-r13 ENUMERATED {supported} OPTIONAL +} + +CE-Parameters-v1320 ::= SEQUENCE { + intraFreqA3-CE-ModeA-r13 ENUMERATED {supported} OPTIONAL, + intraFreqA3-CE-ModeB-r13 ENUMERATED {supported} OPTIONAL, + intraFreqHO-CE-ModeA-r13 ENUMERATED {supported} OPTIONAL, + intraFreqHO-CE-ModeB-r13 ENUMERATED {supported} OPTIONAL +} + +CE-Parameters-v1350 ::= SEQUENCE { + unicastFrequencyHopping-r13 ENUMERATED {supported} OPTIONAL +} + +CE-Parameters-v1370 ::= SEQUENCE { + tm9-CE-ModeA-r13 ENUMERATED {supported} OPTIONAL, + tm9-CE-ModeB-r13 ENUMERATED {supported} OPTIONAL +} + +CE-Parameters-v1380 ::= SEQUENCE { + tm6-CE-ModeA-r13 ENUMERATED {supported} OPTIONAL +} + +CE-Parameters-v1430 ::= SEQUENCE { + ce-SwitchWithoutHO-r14 ENUMERATED {supported} OPTIONAL +} + +CE-MultiTB-Parameters-r16 ::= SEQUENCE { + pdsch-MultiTB-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + pdsch-MultiTB-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + pusch-MultiTB-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + pusch-MultiTB-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + ce-MultiTB-64QAM-r16 ENUMERATED {supported} OPTIONAL, + ce-MultiTB-EarlyTermination-r16 ENUMERATED {supported} OPTIONAL, + ce-MultiTB-FrequencyHopping-r16 ENUMERATED {supported} OPTIONAL, + ce-MultiTB-HARQ-AckBundling-r16 ENUMERATED {supported} OPTIONAL, + ce-MultiTB-Interleaving-r16 ENUMERATED {supported} OPTIONAL, + ce-MultiTB-SubPRB-r16 ENUMERATED {supported} OPTIONAL +} + +CE-ResourceResvParameters-r16 ::= SEQUENCE { + subframeResourceResvDL-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + subframeResourceResvDL-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + subframeResourceResvUL-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + subframeResourceResvUL-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + slotSymbolResourceResvDL-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + slotSymbolResourceResvDL-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + slotSymbolResourceResvUL-CE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + slotSymbolResourceResvUL-CE-ModeB-r16 ENUMERATED {supported} OPTIONAL, + subcarrierPuncturingCE-ModeA-r16 ENUMERATED {supported} OPTIONAL, + subcarrierPuncturingCE-ModeB-r16 ENUMERATED {supported} OPTIONAL +} + +LAA-Parameters-r13 ::= SEQUENCE { + crossCarrierSchedulingLAA-DL-r13 ENUMERATED {supported} OPTIONAL, + csi-RS-DRS-RRM-MeasurementsLAA-r13 ENUMERATED {supported} OPTIONAL, + downlinkLAA-r13 ENUMERATED {supported} OPTIONAL, + endingDwPTS-r13 ENUMERATED {supported} OPTIONAL, + secondSlotStartingPosition-r13 ENUMERATED {supported} OPTIONAL, + tm9-LAA-r13 ENUMERATED {supported} OPTIONAL, + tm10-LAA-r13 ENUMERATED {supported} OPTIONAL +} + +LAA-Parameters-v1430 ::= SEQUENCE { + crossCarrierSchedulingLAA-UL-r14 ENUMERATED {supported} OPTIONAL, + uplinkLAA-r14 ENUMERATED {supported} OPTIONAL, + twoStepSchedulingTimingInfo-r14 ENUMERATED {nPlus1, nPlus2, nPlus3} OPTIONAL, + uss-BlindDecodingAdjustment-r14 ENUMERATED {supported} OPTIONAL, + uss-BlindDecodingReduction-r14 ENUMERATED {supported} OPTIONAL, + outOfSequenceGrantHandling-r14 ENUMERATED {supported} OPTIONAL +} + +LAA-Parameters-v1530 ::= SEQUENCE { + aul-r15 ENUMERATED {supported} OPTIONAL, + laa-PUSCH-Mode1-r15 ENUMERATED {supported} OPTIONAL, + laa-PUSCH-Mode2-r15 ENUMERATED {supported} OPTIONAL, + laa-PUSCH-Mode3-r15 ENUMERATED {supported} OPTIONAL +} + +WLAN-IW-Parameters-r12 ::= SEQUENCE { + wlan-IW-RAN-Rules-r12 ENUMERATED {supported} OPTIONAL, + wlan-IW-ANDSF-Policies-r12 ENUMERATED {supported} OPTIONAL +} + +LWA-Parameters-r13 ::= SEQUENCE { + lwa-r13 ENUMERATED {supported} OPTIONAL, + lwa-SplitBearer-r13 ENUMERATED {supported} OPTIONAL, + wlan-MAC-Address-r13 OCTET STRING (SIZE (6)) OPTIONAL, + lwa-BufferSize-r13 ENUMERATED {supported} OPTIONAL +} + +LWA-Parameters-v1430 ::= SEQUENCE { + lwa-HO-WithoutWT-Change-r14 ENUMERATED {supported} OPTIONAL, + lwa-UL-r14 ENUMERATED {supported} OPTIONAL, + wlan-PeriodicMeas-r14 ENUMERATED {supported} OPTIONAL, + wlan-ReportAnyWLAN-r14 ENUMERATED {supported} OPTIONAL, + wlan-SupportedDataRate-r14 INTEGER (1..2048) OPTIONAL +} + +LWA-Parameters-v1440 ::= SEQUENCE { + lwa-RLC-UM-r14 ENUMERATED {supported} OPTIONAL +} + +WLAN-IW-Parameters-v1310 ::= SEQUENCE { + rclwi-r13 ENUMERATED {supported} OPTIONAL +} + +LWIP-Parameters-r13 ::= SEQUENCE { + lwip-r13 ENUMERATED {supported} OPTIONAL +} + +LWIP-Parameters-v1430 ::= SEQUENCE { + lwip-Aggregation-DL-r14 ENUMERATED {supported} OPTIONAL, + lwip-Aggregation-UL-r14 ENUMERATED {supported} OPTIONAL +} + +NAICS-Capability-List-r12 ::= SEQUENCE (SIZE (1..maxNAICS-Entries-r12)) OF NAICS-Capability-Entry-r12 + + +NAICS-Capability-Entry-r12 ::= SEQUENCE { + numberOfNAICS-CapableCC-r12 INTEGER(1..5), + numberOfAggregatedPRB-r12 ENUMERATED { + n50, n75, n100, n125, n150, n175, + n200, n225, n250, n275, n300, n350, + n400, n450, n500, spare}, + ... +} + +SL-Parameters-r12 ::= SEQUENCE { + commSimultaneousTx-r12 ENUMERATED {supported} OPTIONAL, + commSupportedBands-r12 FreqBandIndicatorListEUTRA-r12 OPTIONAL, + discSupportedBands-r12 SupportedBandInfoList-r12 OPTIONAL, + discScheduledResourceAlloc-r12 ENUMERATED {supported} OPTIONAL, + disc-UE-SelectedResourceAlloc-r12 ENUMERATED {supported} OPTIONAL, + disc-SLSS-r12 ENUMERATED {supported} OPTIONAL, + discSupportedProc-r12 ENUMERATED {n50, n400} OPTIONAL +} + +SL-Parameters-v1310 ::= SEQUENCE { + discSysInfoReporting-r13 ENUMERATED {supported} OPTIONAL, + commMultipleTx-r13 ENUMERATED {supported} OPTIONAL, + discInterFreqTx-r13 ENUMERATED {supported} OPTIONAL, + discPeriodicSLSS-r13 ENUMERATED {supported} OPTIONAL +} + +SL-Parameters-v1430 ::= SEQUENCE { + zoneBasedPoolSelection-r14 ENUMERATED {supported} OPTIONAL, + ue-AutonomousWithFullSensing-r14 ENUMERATED {supported} OPTIONAL, + ue-AutonomousWithPartialSensing-r14 ENUMERATED {supported} OPTIONAL, + sl-CongestionControl-r14 ENUMERATED {supported} OPTIONAL, + v2x-TxWithShortResvInterval-r14 ENUMERATED {supported} OPTIONAL, + v2x-numberTxRxTiming-r14 INTEGER(1..16) OPTIONAL, + v2x-nonAdjacentPSCCH-PSSCH-r14 ENUMERATED {supported} OPTIONAL, + slss-TxRx-r14 ENUMERATED {supported} OPTIONAL, + v2x-SupportedBandCombinationList-r14 V2X-SupportedBandCombination-r14 OPTIONAL +} + +SL-Parameters-v1530 ::= SEQUENCE { + slss-SupportedTxFreq-r15 ENUMERATED {single, multiple} OPTIONAL, + sl-64QAM-Tx-r15 ENUMERATED {supported} OPTIONAL, + sl-TxDiversity-r15 ENUMERATED {supported} OPTIONAL, + ue-CategorySL-r15 UE-CategorySL-r15 OPTIONAL, + v2x-SupportedBandCombinationList-v1530 V2X-SupportedBandCombination-v1530 OPTIONAL +} + +SL-Parameters-v1540 ::= SEQUENCE { + sl-64QAM-Rx-r15 ENUMERATED {supported} OPTIONAL, + sl-RateMatchingTBSScaling-r15 ENUMERATED {supported} OPTIONAL, + sl-LowT2min-r15 ENUMERATED {supported} OPTIONAL, + v2x-SensingReportingMode3-r15 ENUMERATED {supported} OPTIONAL +} + +SL-Parameters-v1610 ::= SEQUENCE { + sl-ParameterNR-r16 OCTET STRING OPTIONAL, + dummy V2X-SupportedBandCombinationEUTRA-NR-r16 OPTIONAL +} + +SL-Parameters-v1630 ::= SEQUENCE { + v2x-SupportedBandCombinationListEUTRA-NR-r16 V2X-SupportedBandCombinationEUTRA-NR-v1630 OPTIONAL +} + +UE-CategorySL-r15 ::= SEQUENCE { + ue-CategorySL-C-TX-r15 INTEGER(1..5), + ue-CategorySL-C-RX-r15 INTEGER(1..4) +} + +V2X-SupportedBandCombination-r14 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF V2X-BandCombinationParameters-r14 + +V2X-SupportedBandCombination-v1530 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF V2X-BandCombinationParameters-v1530 + +V2X-BandCombinationParameters-r14 ::= SEQUENCE (SIZE (1.. maxSimultaneousBands-r10)) OF V2X-BandParameters-r14 + +V2X-BandCombinationParameters-v1530 ::= SEQUENCE (SIZE (1.. maxSimultaneousBands-r10)) OF V2X-BandParameters-v1530 + +V2X-SupportedBandCombinationEUTRA-NR-r16 ::= SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF V2X-BandParametersEUTRA-NR-r16 + +V2X-SupportedBandCombinationEUTRA-NR-v1630 ::= SEQUENCE (SIZE (1..maxBandCombSidelinkNR-r16)) OF V2X-BandCombinationParametersEUTRA-NR-v1630 + +V2X-BandCombinationParametersEUTRA-NR-v1630 ::= SEQUENCE { + bandListSidelinkEUTRA-NR-r16 SEQUENCE (SIZE (1.. maxSimultaneousBands-r10)) OF V2X-BandParametersEUTRA-NR-r16, + bandListSidelinkEUTRA-NR-v1630 SEQUENCE (SIZE (1.. maxSimultaneousBands-r10)) OF V2X-BandParametersEUTRA-NR-v1630 +} + +V2X-BandParametersEUTRA-NR-r16 ::= CHOICE { + eutra SEQUENCE { + v2x-BandParameters1-r16 V2X-BandParameters-r14 OPTIONAL, + v2x-BandParameters2-r16 V2X-BandParameters-v1530 OPTIONAL + }, + nr SEQUENCE { + v2x-BandParametersNR-r16 OCTET STRING OPTIONAL + } +} + +V2X-BandParametersEUTRA-NR-v1630 ::= CHOICE { + eutra NULL, + nr SEQUENCE { + tx-Sidelink-r16 ENUMERATED {supported} OPTIONAL, + rx-Sidelink-r16 ENUMERATED {supported} OPTIONAL + } +} + +SupportedBandInfoList-r12 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBandInfo-r12 + +SupportedBandInfo-r12 ::= SEQUENCE { + support-r12 ENUMERATED {supported} OPTIONAL +} + +FreqBandIndicatorListEUTRA-r12 ::= SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicator-r11 + +MMTEL-Parameters-r14 ::= SEQUENCE { + delayBudgetReporting-r14 ENUMERATED {supported} OPTIONAL, + pusch-Enhancements-r14 ENUMERATED {supported} OPTIONAL, + recommendedBitRate-r14 ENUMERATED {supported} OPTIONAL, + recommendedBitRateQuery-r14 ENUMERATED {supported} OPTIONAL +} + +MMTEL-Parameters-v1610 ::= SEQUENCE { + recommendedBitRateMultiplier-r16 ENUMERATED {supported} OPTIONAL +} + +SRS-CapabilityPerBandPair-r14 ::= SEQUENCE { + retuningInfo SEQUENCE { + rf-RetuningTimeDL-r14 ENUMERATED {n0, n0dot5, n1, n1dot5, n2, n2dot5, n3, + n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5, + n7, spare1} OPTIONAL, + rf-RetuningTimeUL-r14 ENUMERATED {n0, n0dot5, n1, n1dot5, n2, n2dot5, n3, + n3dot5, n4, n4dot5, n5, n5dot5, n6, n6dot5, + n7, spare1} OPTIONAL + } +} + +SRS-CapabilityPerBandPair-v14b0 ::= SEQUENCE { + srs-FlexibleTiming-r14 ENUMERATED {supported} OPTIONAL, + srs-HARQ-ReferenceConfig-r14 ENUMERATED {supported} OPTIONAL +} + +SRS-CapabilityPerBandPair-v1610::= SEQUENCE { + addSRS-CarrierSwitching-r16 ENUMERATED {supported} OPTIONAL +} + +HighSpeedEnhParameters-r14 ::= SEQUENCE { + measurementEnhancements-r14 ENUMERATED {supported} OPTIONAL, + demodulationEnhancements-r14 ENUMERATED {supported} OPTIONAL, + prach-Enhancements-r14 ENUMERATED {supported} OPTIONAL +} + +HighSpeedEnhParameters-v1610 ::= SEQUENCE { + measurementEnhancementsSCell-r16 ENUMERATED {supported} OPTIONAL, + measurementEnhancements2-r16 ENUMERATED {supported} OPTIONAL, + demodulationEnhancements2-r16 ENUMERATED {supported} OPTIONAL, + interRAT-enhancementNR-r16 ENUMERATED {supported} OPTIONAL +} + + +UE-RadioPagingInfo-r12 ::= SEQUENCE { + ue-Category-v1250 INTEGER (0) OPTIONAL, + ..., + [[ ue-CategoryDL-v1310 ENUMERATED {m1} OPTIONAL, + ce-ModeA-r13 ENUMERATED {true} OPTIONAL, + ce-ModeB-r13 ENUMERATED {true} OPTIONAL + ]], + [[ wakeUpSignal-r15 ENUMERATED {true} OPTIONAL, + wakeUpSignal-TDD-r15 ENUMERATED {true} OPTIONAL, + wakeUpSignalMinGap-eDRX-r15 ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL, + wakeUpSignalMinGap-eDRX-TDD-r15 ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL + ]], + [[ ue-CategoryDL-v1610 ENUMERATED {m2} OPTIONAL, + groupWakeUpSignal-r16 ENUMERATED {true} OPTIONAL, + groupWakeUpSignalTDD-r16 ENUMERATED {true} OPTIONAL, + groupWakeUpSignalAlternation-r16 ENUMERATED {true} OPTIONAL, + groupWakeUpSignalAlternationTDD-r16 ENUMERATED {true} OPTIONAL + ]] +} + + +UE-TimersAndConstants ::= SEQUENCE { + t300 ENUMERATED { + ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, + ms2000}, + t301 ENUMERATED { + ms100, ms200, ms300, ms400, ms600, ms1000, ms1500, + ms2000}, + t310 ENUMERATED { + ms0, ms50, ms100, ms200, ms500, ms1000, ms2000}, + n310 ENUMERATED { + n1, n2, n3, n4, n6, n8, n10, n20}, + t311 ENUMERATED { + ms1000, ms3000, ms5000, ms10000, ms15000, + ms20000, ms30000}, + n311 ENUMERATED { + n1, n2, n3, n4, n5, n6, n8, n10}, + ..., + [[ t300-v1310 ENUMERATED { + ms2500, ms3000, ms3500, ms4000, ms5000, ms6000, ms8000, + ms10000} OPTIONAL, -- Need OR + t301-v1310 ENUMERATED { + ms2500, ms3000, ms3500, ms4000, ms5000, ms6000, ms8000, + ms10000} OPTIONAL -- Need OR + ]], + [[ t310-v1330 ENUMERATED {ms4000, ms6000} + OPTIONAL -- Need OR + ]], + [[ t300-r15 ENUMERATED {ms4000, ms6000, ms8000, ms10000, ms15000, + ms25000, ms40000, ms60000} OPTIONAL -- Cond EDTorPUR + ]] +} + + +VisitedCellInfoList-r12 ::= SEQUENCE (SIZE (1..maxCellHistory-r12)) OF VisitedCellInfo-r12 + +VisitedCellInfo-r12 ::= SEQUENCE { + visitedCellId-r12 CHOICE { + cellGlobalId-r12 CellGlobalIdEUTRA, + pci-arfcn-r12 SEQUENCE { + physCellId-r12 PhysCellId, + carrierFreq-r12 ARFCN-ValueEUTRA-r9 + } + } OPTIONAL, + timeSpent-r12 INTEGER (0..4095), + ... +} + + +WLAN-OffloadConfig-r12 ::= SEQUENCE { + thresholdRSRP-r12 SEQUENCE { + thresholdRSRP-Low-r12 RSRP-Range, + thresholdRSRP-High-r12 RSRP-Range + } OPTIONAL, -- Need OR + thresholdRSRQ-r12 SEQUENCE { + thresholdRSRQ-Low-r12 RSRQ-Range, + thresholdRSRQ-High-r12 RSRQ-Range + } OPTIONAL, -- Need OR + thresholdRSRQ-OnAllSymbolsWithWB-r12 SEQUENCE { + thresholdRSRQ-OnAllSymbolsWithWB-Low-r12 RSRQ-Range, + thresholdRSRQ-OnAllSymbolsWithWB-High-r12 RSRQ-Range + } OPTIONAL, -- Need OP + thresholdRSRQ-OnAllSymbols-r12 SEQUENCE { + thresholdRSRQ-OnAllSymbolsLow-r12 RSRQ-Range, + thresholdRSRQ-OnAllSymbolsHigh-r12 RSRQ-Range + } OPTIONAL, -- Need OP + thresholdRSRQ-WB-r12 SEQUENCE { + thresholdRSRQ-WB-Low-r12 RSRQ-Range, + thresholdRSRQ-WB-High-r12 RSRQ-Range + } OPTIONAL, -- Need OP + + thresholdChannelUtilization-r12 SEQUENCE { + thresholdChannelUtilizationLow-r12 INTEGER (0..255), + thresholdChannelUtilizationHigh-r12 INTEGER (0..255) + } OPTIONAL, -- Need OR + thresholdBackhaul-Bandwidth-r12 SEQUENCE { + thresholdBackhaulDL-BandwidthLow-r12 WLAN-backhaulRate-r12, + thresholdBackhaulDL-BandwidthHigh-r12 WLAN-backhaulRate-r12, + thresholdBackhaulUL-BandwidthLow-r12 WLAN-backhaulRate-r12, + thresholdBackhaulUL-BandwidthHigh-r12 WLAN-backhaulRate-r12 + } OPTIONAL, -- Need OR + thresholdWLAN-RSSI-r12 SEQUENCE { + thresholdWLAN-RSSI-Low-r12 INTEGER (0..255), + thresholdWLAN-RSSI-High-r12 INTEGER (0..255) + } OPTIONAL, -- Need OR + offloadPreferenceIndicator-r12 BIT STRING (SIZE (16)) OPTIONAL, -- Need OR + t-SteeringWLAN-r12 T-Reselection OPTIONAL, -- Need OR + ... +} + +WLAN-backhaulRate-r12 ::= ENUMERATED + {r0, r4, r8, r16, r32, r64, r128, r256, r512, + r1024, r2048, r4096, r8192, r16384, r32768, r65536, r131072, + r262144, r524288, r1048576, r2097152, r4194304, r8388608, + r16777216, r33554432, r67108864, r134217728, r268435456, + r536870912, r1073741824, r2147483648, r4294967296} + + +MBMS-NotificationConfig-r9 ::= SEQUENCE { + notificationRepetitionCoeff-r9 ENUMERATED {n2, n4}, + notificationOffset-r9 INTEGER (0..10), + notificationSF-Index-r9 INTEGER (1..6) +} + +MBMS-NotificationConfig-v1430 ::= SEQUENCE { + notificationSF-Index-v1430 INTEGER (7..10) +} + + +MBMS-ServiceList-r13 ::= SEQUENCE (SIZE (0..maxMBMS-ServiceListPerUE-r13)) OF MBMS-ServiceInfo-r13 + +MBMS-ServiceInfo-r13 ::= SEQUENCE { + tmgi-r13 TMGI-r9 +} + + +MBSFN-AreaId-r12 ::= INTEGER (0..255) + + +MBSFN-AreaInfoList-r9 ::= SEQUENCE (SIZE(1..maxMBSFN-Area)) OF MBSFN-AreaInfo-r9 + +MBSFN-AreaInfo-r9 ::= SEQUENCE { + mbsfn-AreaId-r9 MBSFN-AreaId-r12, + non-MBSFNregionLength ENUMERATED {s1, s2}, + notificationIndicator-r9 INTEGER (0..7), + mcch-Config-r9 SEQUENCE { + mcch-RepetitionPeriod-r9 ENUMERATED {rf32, rf64, rf128, rf256}, + mcch-Offset-r9 INTEGER (0..10), + mcch-ModificationPeriod-r9 ENUMERATED {rf512, rf1024}, + sf-AllocInfo-r9 BIT STRING (SIZE(6)), + signallingMCS-r9 ENUMERATED {n2, n7, n13, n19} + }, + ..., + [[ mcch-Config-r14 SEQUENCE { + mcch-RepetitionPeriod-v1430 ENUMERATED {rf1, rf2, rf4, rf8, + rf16 } OPTIONAL, -- Need OR + mcch-ModificationPeriod-v1430 ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64, rf128, + rf256, spare7} OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + subcarrierSpacingMBMS-r14 ENUMERATED {kHz7dot5, kHz1dot25} OPTIONAL -- Need OR + ]] +} + +MBSFN-AreaInfoList-r16 ::= SEQUENCE (SIZE(1..maxMBSFN-Area)) OF MBSFN-AreaInfo-r16 + +MBSFN-AreaInfo-r16 ::= SEQUENCE { + mbsfn-AreaId-r16 MBSFN-AreaId-r12, + notificationIndicator-r16 INTEGER (0..7), + mcch-Config-r16 SEQUENCE { + mcch-RepetitionPeriod-r16 ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64, + rf128, rf256, spare7, spare6, spare5, + spare4, spare3, spare2, spare1}, + mcch-ModificationPeriod-r16 ENUMERATED {rf1, rf2, rf4, rf8, rf16, rf32, rf64, rf128, + rf256, rf512, rf1024, spare5, spare4, + spare3,spare2, spare1}, + mcch-Offset-r16 INTEGER (0..10), + sf-AllocInfo-r16 BIT STRING (SIZE(10)), + signallingMCS-r16 ENUMERATED {n2, n7, n13, n19} + }, + subcarrierSpacingMBMS-r16 ENUMERATED {kHz7dot5, kHz2dot5, kHz1dot25, kHz0dot37, + spare4, spare3, spare2, spare1}, + timeSeparation-r16 ENUMERATED {sl2, sl4} OPTIONAL, -- Need OR + ... +} + + +MBSFN-SubframeConfig ::= SEQUENCE { + radioframeAllocationPeriod ENUMERATED {n1, n2, n4, n8, n16, n32}, + radioframeAllocationOffset INTEGER (0..7), + subframeAllocation CHOICE { + oneFrame BIT STRING (SIZE(6)), + fourFrames BIT STRING (SIZE(24)) + } +} + +MBSFN-SubframeConfig-v1430 ::= SEQUENCE { + subframeAllocation-v1430 CHOICE { + oneFrame-v1430 BIT STRING (SIZE(2)), + fourFrames-v1430 BIT STRING (SIZE(8)) + } +} + +MBSFN-SubframeConfig-v1610 ::= SEQUENCE { + subframeAllocation-v1610 CHOICE { + oneFrame-v1610 BIT STRING (SIZE(2)), + fourFrames-v1610 BIT STRING (SIZE(8)) + } +} + + +PMCH-InfoList-r9 ::= SEQUENCE (SIZE (0..maxPMCH-PerMBSFN)) OF PMCH-Info-r9 + +PMCH-InfoListExt-r12 ::= SEQUENCE (SIZE (0..maxPMCH-PerMBSFN)) OF PMCH-InfoExt-r12 + +PMCH-Info-r9 ::= SEQUENCE { + pmch-Config-r9 PMCH-Config-r9, + mbms-SessionInfoList-r9 MBMS-SessionInfoList-r9, + ... +} + +PMCH-InfoExt-r12 ::= SEQUENCE { + pmch-Config-r12 PMCH-Config-r12, + mbms-SessionInfoList-r12 MBMS-SessionInfoList-r9, + ... +} + +MBMS-SessionInfoList-r9 ::= SEQUENCE (SIZE (0..maxSessionPerPMCH)) OF MBMS-SessionInfo-r9 + +MBMS-SessionInfo-r9 ::= SEQUENCE { + tmgi-r9 TMGI-r9, + sessionId-r9 OCTET STRING (SIZE (1)) OPTIONAL, -- Need OR + logicalChannelIdentity-r9 INTEGER (0..maxSessionPerPMCH-1), + ... +} + +PMCH-Config-r9 ::= SEQUENCE { + sf-AllocEnd-r9 INTEGER (0..1535), + dataMCS-r9 INTEGER (0..28), + mch-SchedulingPeriod-r9 ENUMERATED { + rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024}, + ... +} + +PMCH-Config-r12 ::= SEQUENCE { + sf-AllocEnd-r12 INTEGER (0..1535), + dataMCS-r12 CHOICE { + normal-r12 INTEGER (0..28), + higerOrder-r12 INTEGER (0..27) + }, + mch-SchedulingPeriod-r12 ENUMERATED { + rf4, rf8, rf16, rf32, rf64, rf128, rf256, rf512, rf1024}, + ..., + [[ mch-SchedulingPeriod-v1430 ENUMERATED {rf1, rf2} OPTIONAL -- Need OR + ]] +} + +TMGI-r9 ::= SEQUENCE { + plmn-Id-r9 CHOICE { + plmn-Index-r9 INTEGER (1..maxPLMN-r11), + explicitValue-r9 PLMN-Identity + }, + serviceId-r9 OCTET STRING (SIZE (3)) +} + + +SC-MTCH-InfoList-r13 ::= SEQUENCE (SIZE (0..maxSC-MTCH-r13)) OF SC-MTCH-Info-r13 + +SC-MTCH-Info-r13 ::= SEQUENCE { + mbmsSessionInfo-r13 MBMSSessionInfo-r13, + g-RNTI-r13 BIT STRING(SIZE(16)), + sc-mtch-schedulingInfo-r13 SC-MTCH-SchedulingInfo-r13 OPTIONAL, -- Need OP + sc-mtch-neighbourCell-r13 BIT STRING (SIZE(maxNeighCell-SCPTM-r13)) OPTIONAL, -- Need OP + ..., + [[ p-a-r13 ENUMERATED { + dB-6, dB-4dot77, dB-3, dB-1dot77, + dB0, dB1, dB2, dB3} OPTIONAL -- Need ON + ]] +} + +MBMSSessionInfo-r13 ::= SEQUENCE { + tmgi-r13 TMGI-r9, + sessionId-r13 OCTET STRING (SIZE (1)) OPTIONAL -- Need OR +} + +SC-MTCH-SchedulingInfo-r13::= SEQUENCE { + onDurationTimerSCPTM-r13 ENUMERATED { + psf1, psf2, psf3, psf4, psf5, psf6, + psf8, psf10, psf20, psf30, psf40, + psf50, psf60, psf80, psf100, + psf200}, + drx-InactivityTimerSCPTM-r13 ENUMERATED { + psf0, psf1, psf2, psf4, psf8, + psf10, psf20, psf40, + psf80, psf160, ps320, + psf640, psf960, + psf1280, psf1920, psf2560}, + schedulingPeriodStartOffsetSCPTM-r13 CHOICE { + sf10 INTEGER(0..9), + sf20 INTEGER(0..19), + sf32 INTEGER(0..31), + sf40 INTEGER(0..39), + sf64 INTEGER(0..63), + sf80 INTEGER(0..79), + sf128 INTEGER(0..127), + sf160 INTEGER(0..159), + sf256 INTEGER(0..255), + sf320 INTEGER(0..319), + sf512 INTEGER(0..511), + sf640 INTEGER(0..639), + sf1024 INTEGER(0..1023), + sf2048 INTEGER(0..2048), + sf4096 INTEGER(0..4096), + sf8192 INTEGER(0..8192) + }, + ... +} + + +SC-MTCH-InfoList-BR-r14 ::= SEQUENCE (SIZE (0..maxSC-MTCH-BR-r14)) OF SC-MTCH-Info-BR-r14 + +SC-MTCH-Info-BR-r14 ::= SEQUENCE { + sc-mtch-CarrierFreq-r14 ARFCN-ValueEUTRA-r9, + mbmsSessionInfo-r14 MBMSSessionInfo-r13, + g-RNTI-r14 BIT STRING(SIZE(16)), + sc-mtch-schedulingInfo-r14 SC-MTCH-SchedulingInfo-BR-r14 OPTIONAL, -- Need OP + sc-mtch-neighbourCell-r14 BIT STRING (SIZE(maxNeighCell-SCPTM-r13)) OPTIONAL, -- Need OP + mpdcch-Narrowband-SC-MTCH-r14 INTEGER (1.. maxAvailNarrowBands-r13), + mpdcch-NumRepetition-SC-MTCH-r14 ENUMERATED {r1, r2, r4, r8, r16, + r32, r64, r128, r256}, + mpdcch-StartSF-SC-MTCH-r14 CHOICE { + fdd-r14 ENUMERATED {v1, v1dot5, v2, v2dot5, v4, + v5, v8, v10}, + tdd-r14 ENUMERATED {v1, v2, v4, v5, v8, v10, + v20} + }, + mpdcch-PDSCH-HoppingConfig-SC-MTCH-r14 ENUMERATED {on, off}, + mpdcch-PDSCH-CEmodeConfig-SC-MTCH-r14 ENUMERATED {ce-ModeA, ce-ModeB}, + mpdcch-PDSCH-MaxBandwidth-SC-MTCH-r14 ENUMERATED {bw1dot4, bw5}, + mpdcch-Offset-SC-MTCH-r14 ENUMERATED {zero, oneEighth, oneQuarter, + threeEighth, oneHalf, fiveEighth, + threeQuarter, sevenEighth}, + + p-a-r14 ENUMERATED { dB-6, dB-4dot77, dB-3, + dB-1dot77, dB0, dB1, dB2, + dB3} OPTIONAL,-- Need OR + ... +} + +SC-MTCH-SchedulingInfo-BR-r14::= SEQUENCE { + onDurationTimerSCPTM-r14 ENUMERATED { + psf300, psf400, psf500, psf600, + psf800, psf1000, psf1200, psf1600}, + drx-InactivityTimerSCPTM-r14 ENUMERATED { + psf0, psf1, psf2, psf4, psf8, psf16, + psf32, psf64, psf128, psf256, ps512, + psf1024, psf2048, psf4096, psf8192, psf16384}, + schedulingPeriodStartOffsetSCPTM-r14 CHOICE { + sf10 INTEGER(0..9), + sf20 INTEGER(0..19), + sf32 INTEGER(0..31), + sf40 INTEGER(0..39), + sf64 INTEGER(0..63), + sf80 INTEGER(0..79), + sf128 INTEGER(0..127), + sf160 INTEGER(0..159), + sf256 INTEGER(0..255), + sf320 INTEGER(0..319), + sf512 INTEGER(0..511), + sf640 INTEGER(0..639), + sf1024 INTEGER(0..1023), + sf2048 INTEGER(0..2047), + sf4096 INTEGER(0..4095), + sf8192 INTEGER(0..8191) + }, + ... +} + + +SCPTM-NeighbourCellList-r13 ::= SEQUENCE (SIZE (1..maxNeighCell-SCPTM-r13)) OF PCI-ARFCN-r13 + +PCI-ARFCN-r13 ::= SEQUENCE { + physCellId-r13 PhysCellId, + carrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL +} + + +SL-AnchorCarrierFreqList-V2X-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF ARFCN-ValueEUTRA-r9 + + +SL-CBR-CommonTxConfigList-r14 ::= SEQUENCE { + cbr-RangeCommonConfigList-r14 SEQUENCE (SIZE (1..maxSL-V2X-CBRConfig-r14)) OF SL-CBR-Levels-Config-r14, + sl-CBR-PSSCH-TxConfigList-r14 SEQUENCE (SIZE (1..maxSL-V2X-TxConfig-r14)) OF SL-CBR-PSSCH-TxConfig-r14 +} + +SL-CBR-Levels-Config-r14 ::= SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF SL-CBR-r14 + + +SL-CBR-PSSCH-TxConfig-r14 ::= SEQUENCE { + cr-Limit-r14 INTEGER(0..10000), + tx-Parameters-r14 SL-PSSCH-TxParameters-r14 +} + +SL-CBR-r14 ::= INTEGER(0..100) + + +SL-CBR-PPPP-TxConfigList-r14 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxConfigIndex-r14 + +SL-PPPP-TxConfigIndex-r14 ::= SEQUENCE { + priorityThreshold-r14 SL-Priority-r13, + defaultTxConfigIndex-r14 INTEGER(0..maxCBR-Level-1-r14), + cbr-ConfigIndex-r14 INTEGER(0..maxSL-V2X-CBRConfig-1-r14), + tx-ConfigIndexList-r14 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF Tx-ConfigIndex-r14 +} + +Tx-ConfigIndex-r14 ::= INTEGER(0..maxSL-V2X-TxConfig-1-r14) + +SL-CBR-PPPP-TxConfigList-v1530 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxConfigIndex-v1530 + +SL-PPPP-TxConfigIndex-v1530 ::= SEQUENCE { + mcs-PSSCH-RangeList-r15 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF MCS-PSSCH-Range-r15 OPTIONAL --Need OR +} + +MCS-PSSCH-Range-r15 ::= SEQUENCE{ + minMCS-PSSCH-r15 INTEGER (0..31), + maxMCS-PSSCH-r15 INTEGER (0..31) +} + +SL-CBR-PPPP-TxConfigList-r15 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxConfigIndex-r15 + +SL-PPPP-TxConfigIndex-r15 ::= SEQUENCE { + priorityThreshold-r15 SL-Priority-r13, + defaultTxConfigIndex-r15 INTEGER(0..maxCBR-Level-1-r14), + cbr-ConfigIndex-r15 INTEGER(0..maxSL-V2X-CBRConfig-1-r14), + tx-ConfigIndexList-r15 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF Tx-ConfigIndex-r14, + mcs-PSSCH-RangeList-r15 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF MCS-PSSCH-Range-r15 +} + + +SL-CommConfig-r12 ::= SEQUENCE { + commTxResources-r12 CHOICE { + release NULL, + setup CHOICE { + scheduled-r12 SEQUENCE { + sl-RNTI-r12 C-RNTI, + mac-MainConfig-r12 MAC-MainConfigSL-r12, + sc-CommTxConfig-r12 SL-CommResourcePool-r12, + mcs-r12 INTEGER (0..28) OPTIONAL -- Need OP + }, + ue-Selected-r12 SEQUENCE { + -- Pool for normal usage + commTxPoolNormalDedicated-r12 SEQUENCE { + poolToReleaseList-r12 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON + poolToAddModList-r12 SL-CommTxPoolToAddModList-r12 OPTIONAL -- Need ON + } + } + } + } OPTIONAL, -- Need ON + ..., + [[ commTxResources-v1310 CHOICE { + release NULL, + setup CHOICE { + scheduled-v1310 SEQUENCE { + logicalChGroupInfoList-r13 LogicalChGroupInfoList-r13, + multipleTx-r13 BOOLEAN + }, + ue-Selected-v1310 SEQUENCE { + commTxPoolNormalDedicatedExt-r13 SEQUENCE { + poolToReleaseListExt-r13 SL-TxPoolToReleaseListExt-r13 OPTIONAL, -- Need ON + poolToAddModListExt-r13 SL-CommTxPoolToAddModListExt-r13 OPTIONAL -- Need ON + } + } + } + } OPTIONAL, -- Need ON + commTxAllowRelayDedicated-r13 BOOLEAN OPTIONAL -- Need ON + ]] +} + +LogicalChGroupInfoList-r13 ::= SEQUENCE (SIZE (1..maxLCG-r13)) OF SL-PriorityList-r13 + +SL-CommTxPoolToAddModList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-CommTxPoolToAddMod-r12 + +SL-CommTxPoolToAddModListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-TxPool-v1310)) OF SL-CommTxPoolToAddModExt-r13 + +SL-CommTxPoolToAddMod-r12 ::= SEQUENCE { + poolIdentity-r12 SL-TxPoolIdentity-r12, + pool-r12 SL-CommResourcePool-r12 +} + +SL-CommTxPoolToAddModExt-r13 ::= SEQUENCE { + poolIdentity-v1310 SL-TxPoolIdentity-v1310, + pool-r13 SL-CommResourcePool-r12 +} + +MAC-MainConfigSL-r12 ::= SEQUENCE { + periodic-BSR-TimerSL PeriodicBSR-Timer-r12 OPTIONAL, -- Need ON + retx-BSR-TimerSL RetxBSR-Timer-r12 +} + + +SL-CommTxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-CommResourcePool-r12 + +SL-CommTxPoolListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-TxPool-v1310)) OF SL-CommResourcePool-r12 + +SL-CommTxPoolListV2X-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-TxPool-r14)) OF SL-CommResourcePoolV2X-r14 + +SL-CommRxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-RxPool-r12)) OF SL-CommResourcePool-r12 + +SL-CommRxPoolListV2X-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-RxPool-r14)) OF SL-CommResourcePoolV2X-r14 + +SL-CommResourcePool-r12 ::= SEQUENCE { + sc-CP-Len-r12 SL-CP-Len-r12, + sc-Period-r12 SL-PeriodComm-r12, + sc-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + data-CP-Len-r12 SL-CP-Len-r12, + dataHoppingConfig-r12 SL-HoppingConfigComm-r12, + ue-SelectedResourceConfig-r12 SEQUENCE { + data-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + trpt-Subset-r12 SL-TRPT-Subset-r12 OPTIONAL -- Need OP + } OPTIONAL, -- Need OR + rxParametersNCell-r12 SEQUENCE { + tdd-Config-r12 TDD-Config OPTIONAL, -- Need OP + syncConfigIndex-r12 INTEGER (0..15) + } OPTIONAL, -- Need OR + txParameters-r12 SEQUENCE { + sc-TxParameters-r12 SL-TxParameters-r12, + dataTxParameters-r12 SL-TxParameters-r12 + } OPTIONAL, -- Cond Tx + ..., + [[ priorityList-r13 SL-PriorityList-r13 OPTIONAL -- Cond Tx + ]] + +} + +SL-CommResourcePoolV2X-r14 ::= SEQUENCE { + sl-OffsetIndicator-r14 SL-OffsetIndicator-r12 OPTIONAL, -- Need OR + sl-Subframe-r14 SubframeBitmapSL-r14, + adjacencyPSCCH-PSSCH-r14 BOOLEAN, + sizeSubchannel-r14 ENUMERATED { + n4, n5, n6, n8, n9, n10, n12, n15, n16, n18, n20, n25, n30, + n48, n50, n72, n75, n96, n100, spare13, spare12, spare11, + spare10, spare9, spare8, spare7, spare6, spare5, spare4, + spare3, spare2, spare1}, + numSubchannel-r14 ENUMERATED {n1, n3, n5, n8, n10, n15, n20, spare1}, + startRB-Subchannel-r14 INTEGER (0..99), + startRB-PSCCH-Pool-r14 INTEGER (0..99) OPTIONAL, -- Need OR + rxParametersNCell-r14 SEQUENCE { + tdd-Config-r14 TDD-Config OPTIONAL, -- Need OP + syncConfigIndex-r14 INTEGER (0..15) + } OPTIONAL, -- Need OR + dataTxParameters-r14 SL-TxParameters-r12 OPTIONAL, -- Cond Tx + zoneID-r14 INTEGER (0..7) OPTIONAL, -- Need OR + threshS-RSSI-CBR-r14 INTEGER (0..45) OPTIONAL, -- Need OR + poolReportId-r14 SL-V2X-TxPoolReportIdentity-r14 OPTIONAL, -- Need OR + cbr-pssch-TxConfigList-r14 SL-CBR-PPPP-TxConfigList-r14 OPTIONAL, -- Need OR + resourceSelectionConfigP2X-r14 SL-P2X-ResourceSelectionConfig-r14 OPTIONAL, -- Cond P2X + syncAllowed-r14 SL-SyncAllowed-r14 OPTIONAL, -- Need OR + restrictResourceReservationPeriod-r14 SL-RestrictResourceReservationPeriodList-r14 OPTIONAL, -- Need OR + ..., + [[ sl-MinT2ValueList-r15 SL-MinT2ValueList-r15 OPTIONAL, -- Need OR + cbr-pssch-TxConfigList-v1530 SL-CBR-PPPP-TxConfigList-v1530 OPTIONAL -- Need OR + ]] +} + +SL-TRPT-Subset-r12 ::= BIT STRING (SIZE (3..5)) + +SL-V2X-TxPoolReportIdentity-r14::= INTEGER (1..maxSL-PoolToMeasure-r14) + +SL-MinT2ValueList-r15 ::= SEQUENCE (SIZE (1..maxSL-Prio-r13)) OF SL-MinT2Value-r15 + +SL-MinT2Value-r15 ::= SEQUENCE { + priorityList-r15 SL-PriorityList-r13, + minT2Value-r15 INTEGER (10..20) +} + + +SL-CommTxPoolSensingConfig-r14 ::= SEQUENCE { + pssch-TxConfigList-r14 SL-PSSCH-TxConfigList-r14, + thresPSSCH-RSRP-List-r14 SL-ThresPSSCH-RSRP-List-r14, + restrictResourceReservationPeriod-r14 SL-RestrictResourceReservationPeriodList-r14 OPTIONAL, -- Need OR + probResourceKeep-r14 ENUMERATED {v0, v0dot2, v0dot4, v0dot6, v0dot8, + spare3,spare2, spare1}, + p2x-SensingConfig-r14 SEQUENCE { + minNumCandidateSF-r14 INTEGER (1..13), + gapCandidateSensing-r14 BIT STRING (SIZE (10)) + } OPTIONAL, -- Need OR + sl-ReselectAfter-r14 ENUMERATED {n1, n2, n3, n4, n5, n6, n7, n8, n9, + spare7, spare6, spare5, spare4, spare3, spare2, + spare1} OPTIONAL -- Need OR +} + + +SL-CP-Len-r12 ::= ENUMERATED {normal, extended} + + +SL-DiscConfig-r12 ::= SEQUENCE { + discTxResources-r12 CHOICE { + release NULL, + setup CHOICE { + scheduled-r12 SEQUENCE { + discTxConfig-r12 SL-DiscResourcePool-r12 OPTIONAL, -- Need ON + discTF-IndexList-r12 SL-TF-IndexPairList-r12 OPTIONAL, -- Need ON + discHoppingConfig-r12 SL-HoppingConfigDisc-r12 + OPTIONAL -- Need ON + }, + ue-Selected-r12 SEQUENCE { + discTxPoolDedicated-r12 SEQUENCE { + poolToReleaseList-r12 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON + poolToAddModList-r12 SL-DiscTxPoolToAddModList-r12 OPTIONAL -- Need ON + } OPTIONAL -- Need ON + } + } + } OPTIONAL, -- Need ON + ..., + [[ discTF-IndexList-v1260 CHOICE { + release NULL, + setup SEQUENCE { + discTF-IndexList-r12b SL-TF-IndexPairList-r12b + } + } OPTIONAL -- Need ON + ]], + [[ discTxResourcesPS-r13 CHOICE { + release NULL, + setup CHOICE { + scheduled-r13 SL-DiscTxConfigScheduled-r13, + ue-Selected-r13 SEQUENCE { + discTxPoolPS-Dedicated-r13 SL-DiscTxPoolDedicated-r13 + } + } + } OPTIONAL, -- Need ON + discTxInterFreqInfo-r13 CHOICE { + release NULL, + setup SEQUENCE { + discTxCarrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Need OR + discTxRefCarrierDedicated-r13 SL-DiscTxRefCarrierDedicated-r13 OPTIONAL, -- Need OR + discTxInfoInterFreqListAdd-r13 SL-DiscTxInfoInterFreqListAdd-r13 OPTIONAL -- Need ON + } + } OPTIONAL, -- Need ON + gapRequestsAllowedDedicated-r13 BOOLEAN OPTIONAL, -- Need ON + discRxGapConfig-r13 CHOICE { + release NULL, + setup SL-GapConfig-r13 + } OPTIONAL, -- Need ON + discTxGapConfig-r13 CHOICE { + release NULL, + setup SL-GapConfig-r13 + } OPTIONAL, -- Need ON + discSysInfoToReportConfig-r13 CHOICE { + release NULL, + setup SL-DiscSysInfoToReportFreqList-r13 + } OPTIONAL -- Need ON + ]] +} + +SL-DiscSysInfoToReportFreqList-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF ARFCN-ValueEUTRA-r9 + +SL-DiscTxInfoInterFreqListAdd-r13 ::= SEQUENCE { + discTxFreqToAddModList-r13 SEQUENCE (SIZE (1..maxFreq)) OF SL-DiscTxResourceInfoPerFreq-r13 OPTIONAL, -- Need ON + discTxFreqToReleaseList-r13 SEQUENCE (SIZE (1..maxFreq)) OF ARFCN-ValueEUTRA-r9 OPTIONAL, -- Need ON + ... +} + +SL-DiscTxResourceInfoPerFreq-r13 ::= SEQUENCE { + discTxCarrierFreq-r13 ARFCN-ValueEUTRA-r9, + discTxResources-r13 SL-DiscTxResource-r13 OPTIONAL, -- Need OR + discTxResourcesPS-r13 SL-DiscTxResource-r13 OPTIONAL, -- Need OR + discTxRefCarrierDedicated-r13 SL-DiscTxRefCarrierDedicated-r13 OPTIONAL, -- Need OR + discCellSelectionInfo-r13 CellSelectionInfoNFreq-r13 OPTIONAL, -- Need OR + ... +} + +SL-DiscTxResource-r13 ::= CHOICE { + release NULL, + setup CHOICE { + scheduled-r13 SL-DiscTxConfigScheduled-r13, + ue-Selected-r13 SL-DiscTxPoolDedicated-r13 + } +} + +SL-DiscTxPoolToAddModList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-DiscTxPoolToAddMod-r12 + +SL-DiscTxPoolToAddMod-r12 ::= SEQUENCE { + poolIdentity-r12 SL-TxPoolIdentity-r12, + pool-r12 SL-DiscResourcePool-r12 +} + +SL-DiscTxConfigScheduled-r13 ::= SEQUENCE { + discTxConfig-r13 SL-DiscResourcePool-r12 OPTIONAL, -- Need ON + discTF-IndexList-r13 SL-TF-IndexPairList-r12b OPTIONAL, -- Need ON + discHoppingConfig-r13 SL-HoppingConfigDisc-r12 OPTIONAL,-- Need ON + ... +} + +SL-DiscTxPoolDedicated-r13 ::= SEQUENCE { + poolToReleaseList-r13 SL-TxPoolToReleaseList-r12 OPTIONAL, -- Need ON + poolToAddModList-r13 SL-DiscTxPoolToAddModList-r12 OPTIONAL -- Need ON +} + +SL-TF-IndexPairList-r12 ::= SEQUENCE (SIZE (1..maxSL-TF-IndexPair-r12)) OF SL-TF-IndexPair-r12 + +SL-TF-IndexPair-r12 ::= SEQUENCE { + discSF-Index-r12 INTEGER (1.. 200) OPTIONAL, -- Need ON + discPRB-Index-r12 INTEGER (1.. 50) OPTIONAL -- Need ON +} + +SL-TF-IndexPairList-r12b ::= SEQUENCE (SIZE (1..maxSL-TF-IndexPair-r12)) OF SL-TF-IndexPair-r12b + +SL-TF-IndexPair-r12b ::= SEQUENCE { + discSF-Index-r12b INTEGER (0..209) OPTIONAL, -- Need ON + discPRB-Index-r12b INTEGER (0..49) OPTIONAL -- Need ON +} + +SL-DiscTxRefCarrierDedicated-r13 ::= CHOICE { + pCell NULL, + sCell SCellIndex-r10 +} + + +SL-DiscTxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-DiscResourcePool-r12 + +SL-DiscRxPoolList-r12 ::= SEQUENCE (SIZE (1..maxSL-RxPool-r12)) OF SL-DiscResourcePool-r12 + +SL-DiscResourcePool-r12 ::= SEQUENCE { + cp-Len-r12 SL-CP-Len-r12, + discPeriod-r12 ENUMERATED {rf32, rf64, rf128, + rf256, rf512, rf1024, rf16-v1310, spare}, + numRetx-r12 INTEGER (0..3), + numRepetition-r12 INTEGER (1..50), + tf-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + txParameters-r12 SEQUENCE { + txParametersGeneral-r12 SL-TxParameters-r12, + ue-SelectedResourceConfig-r12 SEQUENCE { + poolSelection-r12 CHOICE { + rsrpBased-r12 SL-PoolSelectionConfig-r12, + random-r12 NULL + }, + txProbability-r12 ENUMERATED {p25, p50, p75, p100} + } OPTIONAL -- Need OR + } OPTIONAL, -- Cond Tx + rxParameters-r12 SEQUENCE { + tdd-Config-r12 TDD-Config OPTIONAL, -- Need OR + syncConfigIndex-r12 INTEGER (0..15) + } OPTIONAL, -- Need OR + ..., + [[ discPeriod-v1310 CHOICE { + release NULL, + setup ENUMERATED {rf4, rf6, rf7, rf8, + rf12, rf14, rf24, rf28} + } OPTIONAL, -- Need ON + rxParamsAddNeighFreq-r13 CHOICE { + release NULL, + setup SEQUENCE { + physCellId-r13 PhysCellIdList-r13 + } + } OPTIONAL, -- Need ON + txParamsAddNeighFreq-r13 CHOICE { + release NULL, + setup SEQUENCE { + physCellId-r13 PhysCellIdList-r13, + p-Max P-Max OPTIONAL, -- Need OP + tdd-Config-r13 TDD-Config OPTIONAL, -- Cond TDD-OR + tdd-Config-v1130 TDD-Config-v1130 OPTIONAL, -- Cond TDD-OR + freqInfo SEQUENCE { + ul-CarrierFreq ARFCN-ValueEUTRA OPTIONAL, -- Need OP + ul-Bandwidth ENUMERATED {n6, n15, n25, n50, n75, n100} + OPTIONAL, -- Need OP + additionalSpectrumEmission AdditionalSpectrumEmission + }, + referenceSignalPower INTEGER (-60..50), + syncConfigIndex-r13 INTEGER (0..15) OPTIONAL -- Need OR + } + } OPTIONAL -- Need ON + ]], + [[ txParamsAddNeighFreq-v1370 CHOICE { + release NULL, + setup SEQUENCE { + freqInfo-v1370 SEQUENCE { + additionalSpectrumEmission-v1370 AdditionalSpectrumEmission-v10l0 + } + } + } OPTIONAL -- Need ON + ]] +} + +PhysCellIdList-r13 ::= SEQUENCE (SIZE (1.. maxSL-DiscCells-r13)) OF PhysCellId + +SL-PoolSelectionConfig-r12 ::= SEQUENCE { + threshLow-r12 RSRP-RangeSL2-r12, + threshHigh-r12 RSRP-RangeSL2-r12 +} + + +SL-DiscSysInfoReport-r13 ::= SEQUENCE { + plmn-IdentityList-r13 PLMN-IdentityList OPTIONAL, + cellIdentity-13 CellIdentity OPTIONAL, + carrierFreqInfo-13 ARFCN-ValueEUTRA-r9 OPTIONAL, + discRxResources-r13 SL-DiscRxPoolList-r12 OPTIONAL, + discTxPoolCommon-r13 SL-DiscTxPoolList-r12 OPTIONAL, + discTxPowerInfo-r13 SL-DiscTxPowerInfoList-r12 OPTIONAL, + discSyncConfig-r13 SL-SyncConfigNFreq-r13 OPTIONAL, + discCellSelectionInfo-r13 SEQUENCE { + q-RxLevMin-r13 Q-RxLevMin, + q-RxLevMinOffset-r13 INTEGER (1..8) OPTIONAL + } OPTIONAL, + cellReselectionInfo-r13 SEQUENCE { + q-Hyst-r13 ENUMERATED { + dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, + dB12, dB14, dB16, dB18, dB20, dB22, dB24}, + q-RxLevMin-r13 Q-RxLevMin, + t-ReselectionEUTRA-r13 T-Reselection + } OPTIONAL, + tdd-Config-r13 TDD-Config OPTIONAL, + freqInfo-r13 SEQUENCE { + ul-CarrierFreq-r13 ARFCN-ValueEUTRA OPTIONAL, + ul-Bandwidth-r13 ENUMERATED {n6, n15, n25, n50, n75, n100} + OPTIONAL, + additionalSpectrumEmission-r13 AdditionalSpectrumEmission OPTIONAL + } OPTIONAL, + p-Max-r13 P-Max OPTIONAL, + referenceSignalPower-r13 INTEGER (-60..50) OPTIONAL, + ..., + [[ + freqInfo-v1370 SEQUENCE { + additionalSpectrumEmission-v1370 AdditionalSpectrumEmission-v10l0 + } OPTIONAL + ]] +} + + +SL-DiscTxPowerInfoList-r12 ::= SEQUENCE (SIZE (maxSL-DiscPowerClass-r12)) OF SL-DiscTxPowerInfo-r12 + +SL-DiscTxPowerInfo-r12 ::= SEQUENCE { + discMaxTxPower-r12 P-Max, + ... +} + + +SL-GapConfig-r13 ::= SEQUENCE { + gapPatternList-r13 SL-GapPatternList-r13 +} + +SL-GapPatternList-r13 ::= SEQUENCE (SIZE (1..maxSL-GP-r13)) OF SL-GapPattern-r13 + +SL-GapPattern-r13 ::= SEQUENCE { + gapPeriod-r13 ENUMERATED {sf40, sf60, sf70, sf80, sf120, sf140, sf160, + sf240, sf280, sf320, sf640, sf1280, sf2560, sf5120, + sf10240}, + gapOffset-r12 SL-OffsetIndicator-r12, + gapSubframeBitmap-r13 BIT STRING (SIZE (1..10240)), + ... +} + + +SL-GapRequest-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF SL-GapFreqInfo-r13 + +SL-GapFreqInfo-r13 ::= SEQUENCE { + carrierFreq-r13 ARFCN-ValueEUTRA-r9 OPTIONAL, + gapPatternList-r13 SL-GapPatternList-r13 +} + + +SL-HoppingConfigComm-r12 ::= SEQUENCE { + hoppingParameter-r12 INTEGER (0..504), + numSubbands-r12 ENUMERATED {ns1, ns2, ns4}, + rb-Offset-r12 INTEGER (0..110) +} + +SL-HoppingConfigDisc-r12 ::= SEQUENCE { + a-r12 INTEGER (1..200), + b-r12 INTEGER (1..10), + c-r12 ENUMERATED {n1, n5} +} + + +SL-InterFreqInfoListV2X-r14 ::= SEQUENCE (SIZE (0..maxFreqV2X-1-r14)) OF SL-InterFreqInfoV2X-r14 + +SL-InterFreqInfoV2X-r14 ::= SEQUENCE { + plmn-IdentityList-r14 PLMN-IdentityList OPTIONAL, -- Need OP + v2x-CommCarrierFreq-r14 ARFCN-ValueEUTRA-r9, + sl-MaxTxPower-r14 P-Max OPTIONAL, -- Need OR + sl-Bandwidth-r14 ENUMERATED {n6, n15, n25, n50, n75, n100} OPTIONAL, -- Need OR + v2x-SchedulingPool-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need OR + v2x-UE-ConfigList-r14 SL-V2X-UE-ConfigList-r14 OPTIONAL, -- Need OR + ..., + [[ additionalSpectrumEmissionV2X-r14 CHOICE { + additionalSpectrumEmission-r14 AdditionalSpectrumEmission, + additionalSpectrumEmission-v1440 AdditionalSpectrumEmission-v10l0 + } OPTIONAL -- Need ON + ]], + [[ v2x-FreqSelectionConfigList-r15 SL-V2X-FreqSelectionConfigList-r15 OPTIONAL --Need OR + ]] +} + + +SL-NR-AnchorCarrierFreqList-r16 ::= SEQUENCE (SIZE (1..maxFreqSL-NR-r16)) OF ARFCN-ValueNR-r15 + + +SL-V2X-UE-ConfigList-r14 ::= SEQUENCE (SIZE (1.. maxCellIntra)) OF SL-V2X-InterFreqUE-Config-r14 + +SL-V2X-InterFreqUE-Config-r14 ::= SEQUENCE { + physCellIdList-r14 PhysCellIdList-r13 OPTIONAL, -- Need OR + typeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, -- Need OR + v2x-SyncConfig-r14 SL-SyncConfigListNFreqV2X-r14 OPTIONAL, -- Need OR + v2x-CommRxPool-r14 SL-CommRxPoolListV2X-r14 OPTIONAL, -- Need OR + v2x-CommTxPoolNormal-r14 SL-CommTxPoolListV2X-r14 OPTIONAL, -- Need OR + p2x-CommTxPoolNormal-r14 SL-CommTxPoolListV2X-r14 OPTIONAL, -- Need OR + v2x-CommTxPoolExceptional-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need OR + v2x-ResourceSelectionConfig-r14 SL-CommTxPoolSensingConfig-r14 OPTIONAL, -- Need OR + zoneConfig-r14 SL-ZoneConfig-r14 OPTIONAL, -- Need OR + offsetDFN-r14 INTEGER (0..1000) OPTIONAL, -- Need OR + ... +} + + +SL-OffsetIndicator-r12 ::= CHOICE { + small-r12 INTEGER (0..319), + large-r12 INTEGER (0..10239) +} + +SL-OffsetIndicatorSync-r12 ::= INTEGER (0..39) + +SL-OffsetIndicatorSync-v1430 ::= INTEGER (40..159) + +SL-OffsetIndicatorSync-r14 ::= INTEGER (0..159) + + +SL-P2X-ResourceSelectionConfig-r14 ::= SEQUENCE { + partialSensing-r14 ENUMERATED {true} OPTIONAL, -- Need OR + randomSelection-r14 ENUMERATED {true} OPTIONAL -- Need OR +} + + +SL-PeriodComm-r12 ::= ENUMERATED {sf40, sf60, sf70, sf80, sf120, sf140, + sf160, sf240, sf280, sf320, spare6, spare5, + spare4, spare3, spare2, spare} + + +SL-PriorityList-r13 ::= SEQUENCE (SIZE (1..maxSL-Prio-r13)) OF SL-Priority-r13 + +SL-Priority-r13 ::= INTEGER (1..8) + + +SL-PSSCH-TxConfigList-r14 ::= SEQUENCE (SIZE (1..maxPSSCH-TxConfig-r14)) OF SL-PSSCH-TxConfig-r14 + +SL-PSSCH-TxConfig-r14 ::= SEQUENCE { + typeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, -- Need OR + thresUE-Speed-r14 ENUMERATED {kmph60, kmph80, kmph100, kmph120, + kmph140, kmph160, kmph180, kmph200}, + parametersAboveThres-r14 SL-PSSCH-TxParameters-r14, + parametersBelowThres-r14 SL-PSSCH-TxParameters-r14, + ..., + [[ parametersAboveThres-v1530 SL-PSSCH-TxParameters-v1530 OPTIONAL, -- Need OR + parametersBelowThres-v1530 SL-PSSCH-TxParameters-v1530 OPTIONAL -- Need OR + ]] +} + +SL-PSSCH-TxParameters-r14 ::= SEQUENCE { + minMCS-PSSCH-r14 INTEGER (0..31), + maxMCS-PSSCH-r14 INTEGER (0..31), + minSubChannel-NumberPSSCH-r14 INTEGER (1..20), + maxSubchannel-NumberPSSCH-r14 INTEGER (1..20), + allowedRetxNumberPSSCH-r14 ENUMERATED {n0, n1, both, spare1}, + maxTxPower-r14 SL-TxPower-r14 OPTIONAL -- Cond CBR +} + +SL-PSSCH-TxParameters-v1530 ::= SEQUENCE { + minMCS-PSSCH-r15 INTEGER (0..31), + maxMCS-PSSCH-r15 INTEGER (0..31) +} + + +SL-ReliabilityList-r15 ::= SEQUENCE (SIZE (1..maxSL-Reliability-r15)) OF SL-Reliability-r15 + +SL-Reliability-r15 ::= INTEGER (1..8) + + +SL-RestrictResourceReservationPeriodList-r14 ::= SEQUENCE (SIZE (1..maxReservationPeriod-r14)) OF SL-RestrictResourceReservationPeriod-r14 + +SL-RestrictResourceReservationPeriod-r14 ::= ENUMERATED {v0dot2, v0dot5, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, spare4,spare3, spare2, spare1} + + +SLSSID-r12 ::= INTEGER (0..167) + + +SL-SyncAllowed-r14 ::= SEQUENCE { + gnss-Sync-r14 ENUMERATED {true} OPTIONAL, -- Need OR + enb-Sync-r14 ENUMERATED {true} OPTIONAL, -- Need OR + ue-Sync-r14 ENUMERATED {true} OPTIONAL -- Need OR +} + + +SL-SyncConfigList-r12 ::= SEQUENCE (SIZE (1..maxSL-SyncConfig-r12)) OF SL-SyncConfig-r12 + +SL-SyncConfigListV2X-r14 ::= SEQUENCE (SIZE (1.. maxSL-V2X-SyncConfig-r14)) OF SL-SyncConfig-r12 + +SL-SyncConfig-r12 ::= SEQUENCE { + syncCP-Len-r12 SL-CP-Len-r12, + syncOffsetIndicator-r12 SL-OffsetIndicatorSync-r12, + slssid-r12 SLSSID-r12, + txParameters-r12 SEQUENCE { + syncTxParameters-r12 SL-TxParameters-r12, + syncTxThreshIC-r12 RSRP-RangeSL-r12, + syncInfoReserved-r12 BIT STRING (SIZE (19)) OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + rxParamsNCell-r12 SEQUENCE { + physCellId-r12 PhysCellId, + discSyncWindow-r12 ENUMERATED {w1, w2} + } OPTIONAL, -- Need OR + ..., + [[ syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ syncOffsetIndicator-v1430 SL-OffsetIndicatorSync-v1430 OPTIONAL, -- Need OR + gnss-Sync-r14 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ syncOffsetIndicator2-r14 SL-OffsetIndicatorSync-r14 OPTIONAL, -- Need OR + syncOffsetIndicator3-r14 SL-OffsetIndicatorSync-r14 OPTIONAL -- Need OR + ]], + [[ slss-TxDisabled-r15 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + +SL-SyncConfigListNFreq-r13 ::= SEQUENCE (SIZE (1..maxSL-SyncConfig-r12)) OF SL-SyncConfigNFreq-r13 + +SL-SyncConfigListNFreqV2X-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-SyncConfig-r14)) OF SL-SyncConfigNFreq-r13 + +SL-SyncConfigNFreq-r13 ::= SEQUENCE { + asyncParameters-r13 SEQUENCE { + syncCP-Len-r13 SL-CP-Len-r12, + syncOffsetIndicator-r13 SL-OffsetIndicatorSync-r12, + slssid-r13 SLSSID-r12 + } OPTIONAL, -- Need OR + txParameters-r13 SEQUENCE { + syncTxParameters-r13 SL-TxParameters-r12, + syncTxThreshIC-r13 RSRP-RangeSL-r12, + syncInfoReserved-r13 BIT STRING (SIZE (19)) OPTIONAL, -- Need OR + syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + rxParameters-r13 SEQUENCE { + discSyncWindow-r13 ENUMERATED {w1, w2} + } OPTIONAL, -- Need OR + ..., + [[ syncOffsetIndicator-v1430 SL-OffsetIndicatorSync-v1430 OPTIONAL, -- Need OR + gnss-Sync-r14 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ syncOffsetIndicator2-r14 SL-OffsetIndicatorSync-r14 OPTIONAL, -- Need OR + syncOffsetIndicator3-r14 SL-OffsetIndicatorSync-r14 OPTIONAL -- Need OR + ]], + [[ slss-TxDisabled-r15 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + + +SL-TF-ResourceConfig-r12 ::= SEQUENCE { + prb-Num-r12 INTEGER (1..100), + prb-Start-r12 INTEGER (0..99), + prb-End-r12 INTEGER (0..99), + offsetIndicator-r12 SL-OffsetIndicator-r12, + subframeBitmap-r12 SubframeBitmapSL-r12 +} + +SubframeBitmapSL-r12 ::= CHOICE { + bs4-r12 BIT STRING (SIZE (4)), + bs8-r12 BIT STRING (SIZE (8)), + bs12-r12 BIT STRING (SIZE (12)), + bs16-r12 BIT STRING (SIZE (16)), + bs30-r12 BIT STRING (SIZE (30)), + bs40-r12 BIT STRING (SIZE (40)), + bs42-r12 BIT STRING (SIZE (42)) +} + +SubframeBitmapSL-r14 ::= CHOICE { + bs10-r14 BIT STRING (SIZE (10)), + bs16-r14 BIT STRING (SIZE (16)), + bs20-r14 BIT STRING (SIZE (20)), + bs30-r14 BIT STRING (SIZE (30)), + bs40-r14 BIT STRING (SIZE (40)), + bs50-r14 BIT STRING (SIZE (50)), + bs60-r14 BIT STRING (SIZE (60)), + bs100-r14 BIT STRING (SIZE (100)) +} + + +SL-TxPower-r14 ::= CHOICE { + minusinfinity-r14 NULL, + txPower-r14 INTEGER (-41..31) +} + + +SL-TypeTxSync-r14 ::= ENUMERATED {gnss, enb, ue} + + +SL-ThresPSSCH-RSRP-List-r14 ::= SEQUENCE (SIZE (64)) OF SL-ThresPSSCH-RSRP-r14 + +SL-ThresPSSCH-RSRP-r14 ::= INTEGER (0..66) + + +SL-TxParameters-r12 ::= SEQUENCE { + alpha-r12 Alpha-r12, + p0-r12 P0-SL-r12 +} + +P0-SL-r12 ::= INTEGER (-126..31) + + +SL-TxPoolIdentity-r12 ::= INTEGER (1.. maxSL-TxPool-r12) + +SL-TxPoolIdentity-v1310 ::= INTEGER (maxSL-TxPool-r12Plus1-r13.. maxSL-TxPool-r13) + +SL-V2X-TxPoolIdentity-r14 ::= INTEGER (1.. maxSL-V2X-TxPool-r14) + + +SL-TxPoolToReleaseList-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-TxPoolIdentity-r12 + +SL-TxPoolToReleaseListExt-r13 ::= SEQUENCE (SIZE (1..maxSL-TxPool-v1310)) OF SL-TxPoolIdentity-v1310 + + +SL-V2X-ConfigDedicated-r14 ::= SEQUENCE { + commTxResources-r14 CHOICE { + release NULL, + setup CHOICE { + scheduled-r14 SEQUENCE { + sl-V-RNTI-r14 C-RNTI, + mac-MainConfig-r14 MAC-MainConfigSL-r12, + v2x-SchedulingPool-r14 SL-CommResourcePoolV2X-r14 OPTIONAL, -- Need ON + mcs-r14 INTEGER (0..31) OPTIONAL, -- Need OR + logicalChGroupInfoList-r14 LogicalChGroupInfoList-r13 + }, + ue-Selected-r14 SEQUENCE { + -- Pool for normal usage + v2x-CommTxPoolNormalDedicated-r14 SEQUENCE { + poolToReleaseList-r14 SL-TxPoolToReleaseListV2X-r14 OPTIONAL, -- Need ON + poolToAddModList-r14 SL-TxPoolToAddModListV2X-r14 OPTIONAL, -- Need ON + v2x-CommTxPoolSensingConfig-r14 SL-CommTxPoolSensingConfig-r14 + OPTIONAL -- Need ON + } + } + } + } OPTIONAL, -- Need ON + v2x-InterFreqInfoList-r14 SL-InterFreqInfoListV2X-r14 OPTIONAL, -- Need ON + thresSL-TxPrioritization-r14 SL-Priority-r13 OPTIONAL, -- Need OR + typeTxSync-r14 SL-TypeTxSync-r14 OPTIONAL, -- Need OR + cbr-DedicatedTxConfigList-r14 SL-CBR-CommonTxConfigList-r14 OPTIONAL, -- Need OR + ..., + [[ commTxResources-v1530 CHOICE { + release NULL, + setup CHOICE { + scheduled-v1530 SEQUENCE { + logicalChGroupInfoList-v1530 LogicalChGroupInfoList-v1530 OPTIONAL, -- Need OR + mcs-r15 INTEGER (0..31) OPTIONAL -- Need OR + }, + ue-Selected-v1530 SEQUENCE { + v2x-FreqSelectionConfigList-r15 SL-V2X-FreqSelectionConfigList-r15 OPTIONAL --Need OR + } + } + } OPTIONAL, -- Need ON + v2x-PacketDuplicationConfig-r15 SL-V2X-PacketDuplicationConfig-r15 OPTIONAL, -- Need OR + syncFreqList-r15 SL-V2X-SyncFreqList-r15 OPTIONAL, -- Need OR + slss-TxMultiFreq-r15 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ + slss-TxDisabled-r15 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + +LogicalChGroupInfoList-v1530 ::= SEQUENCE (SIZE (1..maxLCG-r13)) OF SL-ReliabilityList-r15 + +SL-TxPoolToAddModListV2X-r14 ::= SEQUENCE (SIZE (1.. maxSL-V2X-TxPool-r14)) OF SL-TxPoolToAddMod-r14 + +SL-TxPoolToAddMod-r14 ::= SEQUENCE { + poolIdentity-r14 SL-V2X-TxPoolIdentity-r14, + pool-r14 SL-CommResourcePoolV2X-r14 +} + +SL-TxPoolToReleaseListV2X-r14 ::= SEQUENCE (SIZE (1.. maxSL-V2X-TxPool-r14)) OF SL-V2X-TxPoolIdentity-r14 + + +SL-V2X-FreqSelectionConfigList-r15 ::= SEQUENCE (SIZE (1..8)) OF SL-V2X-FreqSelectionConfig-r15 + +SL-V2X-FreqSelectionConfig-r15 ::= SEQUENCE { + priorityList-r15 SL-PriorityList-r13, + threshCBR-FreqReselection-r15 SL-CBR-r14 OPTIONAL, -- Need OR + threshCBR-FreqKeeping-r15 SL-CBR-r14 OPTIONAL -- Need OR +} + + +SL-V2X-PacketDuplicationConfig-r15 ::= SEQUENCE { + threshSL-Reliability-r15 SL-Reliability-r15, + allowedCarrierFreqConfig-r15 SL-PPPR-Dest-CarrierFreqList-r15 OPTIONAL, -- Need OR + ... +} + +SL-PPPR-Dest-CarrierFreqList-r15 ::= SEQUENCE (SIZE (1..maxSL-Dest-r12)) OF SL-PPPR-Dest-CarrierFreq + +SL-PPPR-Dest-CarrierFreq ::= SEQUENCE { + destinationInfoList-r15 SL-DestinationInfoList-r12 OPTIONAL, -- Need OR + allowedCarrierFreqList-r15 SL-AllowedCarrierFreqList-r15 OPTIONAL -- Need OR +} + +SL-AllowedCarrierFreqList-r15 ::= SEQUENCE { + allowedCarrierFreqSet1 SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF ARFCN-ValueEUTRA-r9, + allowedCarrierFreqSet2 SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF ARFCN-ValueEUTRA-r9 +} + + +SL-V2X-SyncFreqList-r15 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF ARFCN-ValueEUTRA-r9 + + +SL-ZoneConfig-r14 ::= SEQUENCE { + zoneLength-r14 ENUMERATED { m5, m10, m20, m50, m100, m200, m500, spare1}, + zoneWidth-r14 ENUMERATED { m5, m10, m20, m50, m100, m200, m500, spare1}, + zoneIdLongiMod-r14 INTEGER (1..4), + zoneIdLatiMod-r14 INTEGER (1..4) +} + + +maxAccessCat-1-r15 INTEGER ::= 63 -- Maximum number of Access Categories - 1 +maxACDC-Cat-r13 INTEGER ::= 16 -- Maximum number of ACDC categories (per PLMN) +maxAvailNarrowBands-r13 INTEGER ::= 16 -- Maximum number of narrowbands +maxAvailNarrowBands-1-r16 INTEGER ::= 15 -- Maximum number of narrowbands minus one +maxBandComb-r10 INTEGER ::= 128 -- Maximum number of band combinations. +maxBandComb-r11 INTEGER ::= 256 -- Maximum number of additional band combinations. +maxBandComb-r13 INTEGER ::= 384 -- Maximum number of band combinations in Rel-13 +maxBandCombSidelinkNR-r16 INTEGER ::= 512 -- Maximum number of NR sidelink band combinations +maxBands INTEGER ::= 64 -- Maximum number of bands listed in EUTRA UE caps +maxBandsNR-r15 INTEGER ::= 1024 -- Maximum number of NR bands listed in EUTRA UE caps +maxBandsENDC-r16 INTEGER ::= 10 -- Maximum number of NR bands from across all the PLMNs + -- sharing the serving cell in EN-DC for the forwarding + -- of upperLayerIndication. +maxBandwidthClass-r10 INTEGER ::= 16 -- Maximum number of supported CA BW classes per band +maxBandwidthCombSet-r10 INTEGER ::= 32 -- Maximum number of bandwidth combination sets per + -- supported band combination +maxBarringInfoSet-r15 INTEGER ::= 8 -- Maximum number of UAC barring information sets +maxBT-IdReport-r15 INTEGER ::= 32 -- Maximum number of Bluetooth IDs to report +maxBT-Name-r15 INTEGER ::= 4 -- Maximum number of Bluetooth name +maxCBR-Level-r14 INTEGER ::= 16 -- Maximum number of CBR levels +maxCBR-Level-1-r14 INTEGER ::= 15 +maxCBR-Report-r14 INTEGER ::= 72 -- Maximum number of CBR results in a report +maxCDMA-BandClass INTEGER ::= 32 -- Maximum value of the CDMA band classes +maxCE-Level-r13 INTEGER ::= 4 -- Maximum number of CE levels +maxCellBlack INTEGER ::= 16 -- Maximum number of blacklisted physical cell identity + -- ranges listed in SIB type 4 and 5 +maxCellHistory-r12 INTEGER ::= 16 -- Maximum number of visited EUTRA cells reported +maxCellInfoGERAN-r9 INTEGER ::= 32 -- Maximum number of GERAN cells for which system in- + -- formation can be provided as redirection assistance +maxCellInfoUTRA-r9 INTEGER ::= 16 -- Maximum number of UTRA cells for which system + -- information can be provided as redirection + -- assistance +maxCellMeasIdle-r15 INTEGER ::= 8 -- Maximum number of neighbouring inter-frequency + -- cells per carrier measured in RRC_IDLE and RRC_INACTIVE +maxCombIDC-r11 INTEGER ::= 128 -- Maximum number of reported UL CA or + -- MR-DC combinations +maxCSI-IM-r11 INTEGER ::= 3 -- Maximum number of CSI-IM configurations + -- (per carrier frequency) +maxCSI-IM-r12 INTEGER ::= 4 -- Maximum number of CSI-IM configurations + -- (per carrier frequency) +minCSI-IM-r13 INTEGER ::= 5 -- Minimum number of CSI IM configurations from which + -- REL-13 extension is used +maxCSI-IM-r13 INTEGER ::= 24 -- Maximum number of CSI-IM configurations + -- (per carrier frequency) +maxCSI-IM-v1310 INTEGER ::= 20 -- Maximum number of additional CSI-IM configurations + -- (per carrier frequency) +maxCSI-Proc-r11 INTEGER ::= 4 -- Maximum number of CSI processes (per carrier + -- frequency) +maxCSI-RS-NZP-r11 INTEGER ::= 3 -- Maximum number of CSI RS resource + -- configurations using non-zero Tx power + -- (per carrier frequency) +minCSI-RS-NZP-r13 INTEGER ::= 4 -- Minimum number of CSI RS resource from which + -- REL-13 extension is used +maxCSI-RS-NZP-r13 INTEGER ::= 24 -- Maximum number of CSI RS resource + -- configurations using non-zero Tx power + -- (per carrier frequency) +maxCSI-RS-NZP-v1310 INTEGER ::= 21 -- Maximum number of additional CSI RS resource + -- configurations using non-zero Tx power + -- (per carrier frequency) +maxCSI-RS-ZP-r11 INTEGER ::= 4 -- Maximum number of CSI RS resource + -- configurations using zero Tx power(per carrier + -- frequency) +maxCQI-ProcExt-r11 INTEGER ::= 3 -- Maximum number of additional periodic CQI + -- configurations (per carrier frequency) +maxFreqUTRA-TDD-r10 INTEGER ::= 6 -- Maximum number of UTRA TDD carrier frequencies for + -- which system information can be provided as + -- redirection assistance +maxCellInter INTEGER ::= 16 -- Maximum number of neighbouring inter-frequency + -- cells listed in SIB type 5 +maxCellIntra INTEGER ::= 16 -- Maximum number of neighbouring intra-frequency + -- cells listed in SIB type 4 +maxCellListGERAN INTEGER ::= 3 -- Maximum number of lists of GERAN cells +maxCellMeas INTEGER ::= 32 -- Maximum number of entries in each of the + -- cell lists in a measurement object +maxCellReport INTEGER ::= 8 -- Maximum number of reported cells/CSI-RS resources +maxCellSFTD INTEGER ::= 3 -- Maximum number of cells for SFTD reporting +maxCellWhiteNR-r16 INTEGER ::= 16 -- Maximum number of whitelisted NR cells in SIB24 +maxCondConfig-r16 INTEGER ::= 8 -- Maximum number of conditional configurations +maxConfigSPS-r14 INTEGER ::= 8 -- Maximum number of simultaneous SPS configurations +maxConfigSPS-r15 INTEGER ::= 6 -- Maximum number of simultaneous SPS configurations + -- configured with SPS C-RNTI +maxCSI-RS-Meas-r12 INTEGER ::= 96 -- Maximum number of entries in the CSI-RS list + -- in a measurement object +maxDRB INTEGER ::= 11 -- Maximum number of Data Radio Bearers +maxDRBExt-r15 INTEGER ::= 4 -- Maximum number of additional DRBs +maxDRB-r15 INTEGER ::= 15 -- Highest value of extended maximum number of DRBs +maxDS-Duration-r12 INTEGER ::= 5 -- Maximum number of subframes in a discovery signals + -- occasion +maxDS-ZTP-CSI-RS-r12 INTEGER ::= 5 -- Maximum number of zero transmission power CSI-RS for + -- a serving cell concerning discovery signals +maxEARFCN INTEGER ::= 65535 -- Maximum value of EUTRA carrier frequency +maxEARFCN-Plus1 INTEGER ::= 65536 -- Lowest value extended EARFCN range +maxEARFCN2 INTEGER ::= 262143 -- Highest value extended EARFCN range +maxEPDCCH-Set-r11 INTEGER ::= 2 -- Maximum number of EPDCCH sets +maxFBI INTEGER ::= 64 -- Maximum value of fequency band indicator +maxFBI-NR-r15 INTEGER ::= 1024 -- Highest value FBI range for NR. +maxFBI-Plus1 INTEGER ::= 65 -- Lowest value extended FBI range +maxFBI2 INTEGER ::= 256 -- Highest value extended FBI range +maxFeatureSets-r15 INTEGER ::= 256 -- Total number of feature sets (size of pool) +maxPerCC-FeatureSets-r15 INTEGER ::= 32 -- Total number of CC-specific feature sets + -- (size of the pool) +maxFreq INTEGER ::= 8 -- Maximum number of carrier frequencies +maxFreq-1-r16 INTEGER ::= 7 -- Maximum number of carrier frequencies +maxFreqIDC-r11 INTEGER ::= 32 -- Maximum number of carrier frequencies that are + -- affected by the IDC problems +maxFreqIdle-r15 INTEGER ::= 8 -- Maximum number of carrier frequencies for + -- IDLE mode measurements configured by eNB +maxFreqMBMS-r11 INTEGER ::= 5 -- Maximum number of carrier frequencies for which an + -- MBMS capable UE may indicate an interest +maxFreqNBIOT-r16 INTEGER ::= 8 -- Maximum number of NB-IoT carrier frequencies that can + -- be provided as assistance information for inter-RAT + -- cell selection +maxFreqNR-r15 INTEGER ::= 5 -- Maximum number of NR carrier frequencies for + -- which a UE may provide measurement results upon + -- NR SCG failure +maxFreqSL-NR-r16 INTEGER ::= 8 -- Maximum number of NR anchor carrier frequencies on + -- which configurations for V2X sidelink communication + -- are provided +maxFreqV2X-r14 INTEGER ::= 8 -- Maximum number of carrier frequencies for which V2X + -- sidelink communication can be configured +maxFreqV2X-1-r14 INTEGER ::= 7 -- Highest index of frequencies +maxGERAN-SI INTEGER ::= 10 -- Maximum number of GERAN SI blocks that can be + -- provided as part of NACC information +maxGNFG INTEGER ::= 16 -- Maximum number of GERAN neighbour freq groups +maxGWUS-Groups-1-r16 INTEGER ::= 31 -- Maximum number of groups minus one for each + -- probability group +maxGWUS-Resources-r16 INTEGER ::= 4 -- Maximum number of GWUS resources for each group +maxGWUS-ProbThresholds-r16 INTEGER ::= 3 -- Maximum number of paging probability thresholds +maxIdleMeasCarriers-r15 INTEGER ::= 3 -- Maximum number of neighbouring inter- + -- frequency carriers measured in RRC_IDLE and RRC_INACTIVE +maxIdleMeasCarriersExt-r16 INTEGER ::= 5 --Additional number of neighbouring inter- + -- frequency carriers measured in RRC_IDLE and RRC_INACTIVE +maxIdleMeasCarriers-r16 INTEGER ::= 8 -- Maximum number of neighbouring inter- + -- frequency/inter-RAT carriers measured in RRC_IDLE and RRC_INACTIVE +maxLCG-r13 INTEGER ::= 4 -- Maximum number of logical channel groups +maxLogMeasReport-r10 INTEGER ::= 520 -- Maximum number of logged measurement entries + -- that can be reported by the UE in one message +maxMBSFN-Allocations INTEGER ::= 8 -- Maximum number of MBSFN frame allocations with + -- different offset +maxMBSFN-Area INTEGER ::= 8 +maxMBSFN-Area-1 INTEGER ::= 7 +maxMBMS-ServiceListPerUE-r13 INTEGER ::= 15 -- Maximum number of services which the UE can + -- include in the MBMS interest indication +maxMeasId INTEGER ::= 32 +maxMeasId-Plus1 INTEGER ::= 33 +maxMeasId-r12 INTEGER ::= 64 +maxMultiBands INTEGER ::= 8 -- Maximum number of additional frequency bands + -- that a cell belongs to +maxMultiBandsNR-r15 INTEGER ::= 32 -- Maximum number of additional NR frequency bands + -- that a cell belongs to +maxMultiBandsNR-1-r15 INTEGER ::= 31 +maxNS-Pmax-r10 INTEGER ::= 8 -- Maximum number of NS and P-Max values per band +maxNAICS-Entries-r12 INTEGER ::= 8 -- Maximum number of supported NAICS combination(s) +maxNeighCell-r12 INTEGER ::= 8 -- Maximum number of neighbouring cells in NAICS + -- configuration (per carrier frequency) +maxNeighCell-SCPTM-r13 INTEGER ::= 8 -- Maximum number of SCPTM neighbour cells +maxNrofPCI-PerSMTC-r16 INTEGER ::= 64 -- Maximum number of PCIs per SMTC +maxNrofS-NSSAI-r15 INTEGER ::= 8 -- Maximum number of S-NSSAI +maxObjectId INTEGER ::= 32 +maxObjectId-Plus1-r13 INTEGER ::= 33 +maxObjectId-r13 INTEGER ::= 64 +maxP-a-PerNeighCell-r12 INTEGER ::= 3 -- Maximum number of power offsets for a neighbour cell + -- in NAICS configuration +maxPageRec INTEGER ::= 16 -- +maxPhysCellIdRange-r9 INTEGER ::= 4 -- Maximum number of physical cell identity ranges +maxPLMN-r11 INTEGER ::= 6 -- Maximum number of PLMNs +maxPLMN-1-r14 INTEGER ::= 5 -- Maximum number of PLMNs minus one +maxPLMN-r15 INTEGER ::= 8 -- Maximum number of PLMNs for RNA configuration +maxPLMN-NR-r15 INTEGER ::= 12 -- Maximum number of NR PLMNs +maxPNOffset INTEGER ::= 511 -- Maximum number of CDMA2000 PNOffsets +maxPMCH-PerMBSFN INTEGER ::= 15 +maxPSSCH-TxConfig-r14 INTEGER ::= 16 -- Maximum number of PSSCH TX configurations +maxQuantSetsNR-r15 INTEGER ::= 2 -- Maximum number of NR quantity configuration sets +maxQCI-r13 INTEGER ::= 6 -- Maximum number of QCIs +maxRAT-Capabilities INTEGER ::= 8 -- Maximum number of interworking RATs (incl EUTRA) +maxRE-MapQCL-r11 INTEGER ::= 4 -- Maximum number of PDSCH RE Mapping configurations + -- (per carrier frequency) +maxReportConfigId INTEGER ::= 32 +maxReservationPeriod-r14 INTEGER ::= 16 -- Maximum number of resource reservation periodicities + -- for sidelink V2X communication +maxRS-Index-r15 INTEGER ::= 64 -- Maximum number of RS indices +maxRS-Index-1-r15 INTEGER ::= 63 -- Highest value of RS index as used to identify + -- RS index in RRM reports. +maxRS-IndexCellQual-r15 INTEGER ::= 16 -- Maximum number of RS indices averaged to derive + -- cell quality for RRM. +maxRS-IndexReport-r15 INTEGER ::= 32 -- Maximum number of RS indices for RRM. +maxRSTD-Freq-r10 INTEGER ::= 3 -- Maximum number of frequency layers for RSTD + -- measurement +maxSAI-MBMS-r11 INTEGER ::= 64 -- Maximum number of MBMS service area identities + -- broadcast per carrier frequency +maxSCell-r10 INTEGER ::= 4 -- Maximum number of SCells +maxSCell-r13 INTEGER ::= 31 -- Highest value of extended number range of SCells +maxSCellGroups-r15 INTEGER ::= 4 -- Maximum number of SCell common parameter groups +maxSC-MTCH-r13 INTEGER ::= 1023 -- Maximum number of SC-MTCHs in one cell +maxSC-MTCH-BR-r14 INTEGER ::= 128 -- Maximum number of SC-MTCHs in one cell for feMTC +maxSL-CommRxPoolNFreq-r13 INTEGER ::= 32 -- Maximum number of individual sidelink communication + -- Rx resource pools on neighbouring freq +maxSL-CommRxPoolPreconf-v1310 INTEGER ::= 12 -- Maximum number of additional preconfigured + -- sidelink communication Rx resource pool entries +maxSL-TxPool-r12Plus1-r13 INTEGER ::= 5 -- First additional individual sidelink + -- Tx resource pool +maxSL-TxPool-v1310 INTEGER ::= 4 -- Maximum number of additional sidelink + -- Tx resource pool entries +maxSL-TxPool-r13 INTEGER ::= 8 -- Maximum number of individual sidelink + -- Tx resource pools +maxSL-CommTxPoolPreconf-v1310 INTEGER ::= 7 -- Maximum number of additional preconfigured + -- sidelink Tx resource pool entries +maxSL-Dest-r12 INTEGER ::= 16 -- Maximum number of sidelink destinations +maxSL-DiscCells-r13 INTEGER ::= 16 -- Maximum number of cells with similar sidelink + -- configurations +maxSL-DiscPowerClass-r12 INTEGER ::= 3 -- Maximum number of sidelink power classes +maxSL-DiscRxPoolPreconf-r13 INTEGER ::= 16 -- Maximum number of preconfigured sidelink + -- discovery Rx resource pool entries +maxSL-DiscSysInfoReportFreq-r13 INTEGER ::= 8 -- Maximum number of frequencies to include in a + -- SidelinkUEInformation for SI reporting +maxSL-DiscTxPoolPreconf-r13 INTEGER ::= 4 -- Maximum number of preconfigured sidelink + -- discovery Tx resource pool entries +maxSL-GP-r13 INTEGER ::= 8 -- Maximum number of gap patterns that can be requested + -- for a frequency or assigned +maxSL-PoolToMeasure-r14 INTEGER ::= 72 -- Maximum number of TX resource pools for CBR + -- measurement and report + +maxSL-Prio-r13 INTEGER ::= 8 -- Maximum number of entries in sidelink priority list +maxSL-RxPool-r12 INTEGER ::= 16 -- Maximum number of individual sidelink Rx resource pools +maxSL-Reliability-r15 INTEGER ::= 8 -- Maximum number of entries in sidelink reliability list +maxSL-SyncConfig-r12 INTEGER ::= 16 -- Maximum number of sidelink Sync configurations +maxSL-TF-IndexPair-r12 INTEGER ::= 64 -- Maximum number of sidelink Time Freq resource index + -- pairs +maxSL-TxPool-r12 INTEGER ::= 4 -- Maximum number of individual sidelink Tx resource pools +maxSL-V2X-RxPool-r14 INTEGER ::= 16 -- Maximum number of RX resource pools for + -- V2X sidelink communication +maxSL-V2X-RxPoolPreconf-r14 INTEGER ::= 16 -- Maximum number of RX resource pools for + -- V2X sidelink communication +maxSL-V2X-TxPool-r14 INTEGER ::= 8 -- Maximum number of TX resource pools for + -- V2X sidelink communication +maxSL-V2X-TxPoolPreconf-r14 INTEGER ::= 8 -- Maximum number of TX resource pools for + -- V2X sidelink communication +maxSL-V2X-SyncConfig-r14 INTEGER ::= 16 -- Maximum number of sidelink Sync configurations + -- for V2X sidelink communication +maxSL-V2X-CBRConfig-r14 INTEGER ::= 4 -- Maximum number of CBR range configurations + -- for V2X sidelink communication congestion + -- control +maxSL-V2X-CBRConfig-1-r14 INTEGER ::= 3 +maxSL-V2X-TxConfig-r14 INTEGER ::= 64 -- Maximum number of TX parameter configurations + -- for V2X sidelink communication congestion + -- control +maxSL-V2X-TxConfig-1-r14 INTEGER ::= 63 +maxSL-V2X-CBRConfig2-r14 INTEGER ::= 8 -- Maximum number of CBR range configurations in + -- pre-configuration for V2X sidelink + -- communication congestion control +maxSL-V2X-CBRConfig2-1-r14 INTEGER ::= 7 +maxSL-V2X-TxConfig2-r14 INTEGER ::= 128 -- Maximum number of TX parameter + -- configurations in pre-configuration for V2X + -- sidelink communication congestion control +maxSL-V2X-TxConfig2-1-r14 INTEGER ::= 127 +maxSTAG-r11 INTEGER ::= 3 -- Maximum number of STAGs +maxServCell-r10 INTEGER ::= 5 -- Maximum number of Serving cells +maxServCell-r13 INTEGER ::= 32 -- Highest value of extended number range of Serving cells +maxServCellNR-r15 INTEGER ::= 16 -- Maximum number of NR serving cells +maxServiceCount INTEGER ::= 16 -- Maximum number of MBMS services that can be included + -- in an MBMS counting request and response +maxServiceCount-1 INTEGER ::= 15 +maxSessionPerPMCH INTEGER ::= 29 +maxSessionPerPMCH-1 INTEGER ::= 28 +maxSIB INTEGER ::= 32 -- Maximum number of SIBs +maxSIB-1 INTEGER ::= 31 +maxSI-Message INTEGER ::= 32 -- Maximum number of SI messages +maxSimultaneousBands-r10 INTEGER ::= 64 -- Maximum number of simultaneously aggregated bands +maxSubframePatternIDC-r11 INTEGER ::= 8 -- Maximum number of subframe reservation patterns + -- that the UE can simultaneously recommend to the + -- E-UTRAN for use. +maxTrafficPattern-r14 INTEGER ::= 8 -- Maximum number of periodical traffic patterns + -- that the UE can simultaneously report to the + -- E-UTRAN. +maxUTRA-FDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA FDD carrier frequencies +maxUTRA-TDD-Carrier INTEGER ::= 16 -- Maximum number of UTRA TDD carrier frequencies +maxWayPoint-r15 INTEGER ::= 20 -- Maximum number of flight path information waypoints +maxWLAN-Id-r12 INTEGER ::= 16 -- Maximum number of WLAN identifiers +maxWLAN-Bands-r13 INTEGER ::= 8 -- Maximum number of WLAN bands +maxWLAN-Id-r13 INTEGER ::= 32 -- Maximum number of WLAN identifiers +maxWLAN-Channels-r13 INTEGER ::= 16 -- maximum number of WLAN channels used in + -- WLAN-CarrierInfo +maxWLAN-CarrierInfo-r13 INTEGER ::= 8 -- Maximum number of WLAN Carrier Information +maxWLAN-Id-Report-r14 INTEGER ::= 32 -- Maximum number of WLAN IDs to report +maxWLAN-Name-r15 INTEGER ::= 4 -- Maximum number of WLAN name + + +END + + +PC5-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + TDD-ConfigSL-r12 +FROM EUTRA-RRC-Definitions; + + +SBCCH-SL-BCH-Message ::= SEQUENCE { + message SBCCH-SL-BCH-MessageType +} + +SBCCH-SL-BCH-MessageType ::= MasterInformationBlock-SL + + +SBCCH-SL-BCH-Message-V2X-r14 ::= SEQUENCE { + message SBCCH-SL-BCH-MessageType-V2X-r14 +} + +SBCCH-SL-BCH-MessageType-V2X-r14 ::= MasterInformationBlock-SL-V2X-r14 + + +MasterInformationBlock-SL ::= SEQUENCE { + sl-Bandwidth-r12 ENUMERATED { + n6, n15, n25, n50, n75, n100}, + tdd-ConfigSL-r12 TDD-ConfigSL-r12, + directFrameNumber-r12 BIT STRING (SIZE (10)), + directSubframeNumber-r12 INTEGER (0..9), + inCoverage-r12 BOOLEAN, + reserved-r12 BIT STRING (SIZE (19)) +} + + + +MasterInformationBlock-SL-V2X-r14 ::= SEQUENCE { + sl-Bandwidth-r14 ENUMERATED { + n6, n15, n25, n50, n75, n100}, + tdd-ConfigSL-r14 TDD-ConfigSL-r12, + directFrameNumber-r14 BIT STRING (SIZE (10)), + directSubframeNumber-r14 INTEGER (0..9), + inCoverage-r14 BOOLEAN, + reserved-r14 BIT STRING (SIZE (27)) +} + + + +END + + +NBIOT-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + RRCConnectionReestablishmentReject, + SecurityModeCommand, + SecurityModeComplete, + SecurityModeFailure, + AdditionalSpectrumEmission, + ARFCN-ValueEUTRA-r9, + CarrierFreqsGERAN, + CellGlobalIdEUTRA, + CellIdentity, + C-RNTI, + DedicatedInfoNAS, + DRB-Identity, + InitialUE-Identity, + IntraFreqBlackCellList, + IntraFreqNeighCellList, + I-RNTI-r15, + LocationInfo-r10, + maxAccessCat-1-r15, + maxBands, + maxCellBlack, + maxCellInter, + maxCellIntra, + maxFBI2, + maxFreq, + maxMultiBands, + maxNrofS-NSSAI-r15, + maxPageRec, + maxPLMN-r11, + maxSAI-MBMS-r11, + maxSIB, + maxSIB-1, + MBMS-SAI-r11, + MBMS-SAI-List-r11, + MBMSSessionInfo-r13, + NextHopChainingCount, + NG-5G-S-TMSI-r15, + PagingUE-Identity, + PLMN-Identity, + PLMN-IdentityList2, + P-Max, + PowerRampingParameters, + PreambleTransMax, + PhysCellId, + Q-OffsetRange, + Q-QualMin-r9, + Q-RxLevMin, + ReestabUE-Identity, + RegisteredAMF-r15, + RegisteredMME, + ReselectionThreshold, + ResumeIdentity-r13, + RRC-TransactionIdentifier, + RSRP-Range, + SetupRelease, + ShortMAC-I, + S-NSSAI-r15, + S-TMSI, + SystemInformationBlockType16-r11, + SystemInfoValueTagSI-r13, + T-Reordering, + TimeAlignmentTimer, + TimeSinceFailure-r11, + TMGI-r9, + TrackingAreaCode, + TrackingAreaCode-5GC-r15, + UAC-AC1-SelectAssistInfo-r15, + DataInactivityTimer-r14 + +FROM EUTRA-RRC-Definitions; + + +BCCH-BCH-Message-NB ::= SEQUENCE { + message BCCH-BCH-MessageType-NB +} + + +BCCH-BCH-MessageType-NB::= MasterInformationBlock-NB + + + +BCCH-BCH-Message-TDD-NB ::= SEQUENCE { + message BCCH-BCH-MessageType-TDD-NB-r15 +} + + +BCCH-BCH-MessageType-TDD-NB-r15 ::= MasterInformationBlock-TDD-NB-r15 + + +BCCH-DL-SCH-Message-NB ::= SEQUENCE { + message BCCH-DL-SCH-MessageType-NB +} + +BCCH-DL-SCH-MessageType-NB ::= CHOICE { + c1 CHOICE { + systemInformation-r13 SystemInformation-NB, + systemInformationBlockType1-r13 SystemInformationBlockType1-NB + }, + messageClassExtension SEQUENCE {} +} + + +PCCH-Message-NB ::= SEQUENCE { + message PCCH-MessageType-NB +} + +PCCH-MessageType-NB ::= CHOICE { + c1 CHOICE { + paging-r13 Paging-NB + }, + messageClassExtension SEQUENCE {} +} + + +DL-CCCH-Message-NB ::= SEQUENCE { + message DL-CCCH-MessageType-NB +} + +DL-CCCH-MessageType-NB ::= CHOICE { + c1 CHOICE { + rrcConnectionReestablishment-r13 RRCConnectionReestablishment-NB, + rrcConnectionReestablishmentReject-r13 RRCConnectionReestablishmentReject, + rrcConnectionReject-r13 RRCConnectionReject-NB, + rrcConnectionSetup-r13 RRCConnectionSetup-NB, + rrcEarlyDataComplete-r15 RRCEarlyDataComplete-NB-r15, + spare3 NULL, spare2 NULL, spare1 NULL + }, + messageClassExtension SEQUENCE {} +} + + +DL-DCCH-Message-NB ::= SEQUENCE { + message DL-DCCH-MessageType-NB +} + +DL-DCCH-MessageType-NB ::= CHOICE { + c1 CHOICE { + dlInformationTransfer-r13 DLInformationTransfer-NB, + rrcConnectionReconfiguration-r13 RRCConnectionReconfiguration-NB, + rrcConnectionRelease-r13 RRCConnectionRelease-NB, + securityModeCommand-r13 SecurityModeCommand, + ueCapabilityEnquiry-r13 UECapabilityEnquiry-NB, + rrcConnectionResume-r13 RRCConnectionResume-NB, + ueInformationRequest-r16 UEInformationRequest-NB-r16, + spare1 NULL + }, + messageClassExtension SEQUENCE {} +} + + + +UL-CCCH-Message-NB ::= SEQUENCE { + message UL-CCCH-MessageType-NB +} + +UL-CCCH-MessageType-NB ::= CHOICE { + c1 CHOICE { + rrcConnectionReestablishmentRequest-r13 RRCConnectionReestablishmentRequest-NB, + rrcConnectionRequest-r13 RRCConnectionRequest-NB, + rrcConnectionResumeRequest-r13 RRCConnectionResumeRequest-NB, + rrcEarlyDataRequest-r15 RRCEarlyDataRequest-NB-r15 + }, + messageClassExtension SEQUENCE {} +} + + +SC-MCCH-Message-NB ::= SEQUENCE { + message SC-MCCH-MessageType-NB +} + + +SC-MCCH-MessageType-NB ::= CHOICE { + c1 CHOICE { + scptmConfiguration-r14 SCPTMConfiguration-NB-r14 + }, + messageClassExtension SEQUENCE {} +} + + +UL-DCCH-Message-NB ::= SEQUENCE { + message UL-DCCH-MessageType-NB +} + +UL-DCCH-MessageType-NB ::= CHOICE { + c1 CHOICE { + rrcConnectionReconfigurationComplete-r13 RRCConnectionReconfigurationComplete-NB, + rrcConnectionReestablishmentComplete-r13 RRCConnectionReestablishmentComplete-NB, + rrcConnectionSetupComplete-r13 RRCConnectionSetupComplete-NB, + securityModeComplete-r13 SecurityModeComplete, + securityModeFailure-r13 SecurityModeFailure, + ueCapabilityInformation-r13 UECapabilityInformation-NB, + ulInformationTransfer-r13 ULInformationTransfer-NB, + rrcConnectionResumeComplete-r13 RRCConnectionResumeComplete-NB, + ueInformationResponse-r16 UEInformationResponse-NB-r16, + purConfigurationRequest-r16 PURConfigurationRequest-NB-r16, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + messageClassExtension SEQUENCE {} +} + + +DLInformationTransfer-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + dlInformationTransfer-r13 DLInformationTransfer-NB-r13-IEs, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +DLInformationTransfer-NB-r13-IEs ::= SEQUENCE { + dedicatedInfoNAS-r13 DedicatedInfoNAS, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +MasterInformationBlock-NB ::= SEQUENCE { + systemFrameNumber-MSB-r13 BIT STRING (SIZE (4)), + hyperSFN-LSB-r13 BIT STRING (SIZE (2)), + schedulingInfoSIB1-r13 INTEGER (0..15), + systemInfoValueTag-r13 INTEGER (0..31), + ab-Enabled-r13 BOOLEAN, + operationModeInfo-r13 CHOICE { + inband-SamePCI-r13 Inband-SamePCI-NB-r13, + inband-DifferentPCI-r13 Inband-DifferentPCI-NB-r13, + guardband-r13 Guardband-NB-r13, + standalone-r13 Standalone-NB-r13 + }, + additionalTransmissionSIB1-r15 BOOLEAN, + ab-Enabled-5GC-r16 BOOLEAN, + spare BIT STRING (SIZE (9)) +} + +Guardband-NB-r13 ::= SEQUENCE { + rasterOffset-r13 ChannelRasterOffset-NB-r13, + spare BIT STRING (SIZE (3)) +} + +Inband-SamePCI-NB-r13 ::= SEQUENCE { + eutra-CRS-SequenceInfo-r13 INTEGER (0..31) +} + +Inband-DifferentPCI-NB-r13 ::= SEQUENCE { + eutra-NumCRS-Ports-r13 ENUMERATED {same, four}, + rasterOffset-r13 ChannelRasterOffset-NB-r13, + spare BIT STRING (SIZE (2)) +} + +Standalone-NB-r13 ::= SEQUENCE { + spare BIT STRING (SIZE (5)) +} + + +MasterInformationBlock-TDD-NB-r15 ::= SEQUENCE { + systemFrameNumber-MSB-r15 BIT STRING (SIZE (4)), + hyperSFN-LSB-r15 BIT STRING (SIZE (2)), + schedulingInfoSIB1-r15 INTEGER (0..15), + systemInfoValueTag-r15 INTEGER (0..31), + ab-Enabled-r15 BOOLEAN, + operationModeInfo-r15 CHOICE { + inband-SamePCI-r15 Inband-SamePCI-TDD-NB-r15, + inband-DifferentPCI-r15 Inband-DifferentPCI-TDD-NB-r15, + guardband-r15 GuardbandTDD-NB-r15, + standalone-r15 StandaloneTDD-NB-r15 + }, + sib1-CarrierInfo-r15 ENUMERATED {anchor, non-anchor}, + ab-Enabled-5GC-r16 BOOLEAN, + spare BIT STRING (SIZE (8)) +} + +GuardbandTDD-NB-r15 ::= SEQUENCE { + rasterOffset-r15 ChannelRasterOffset-NB-r13, + sib-GuardbandInfo-r15 CHOICE { + sib-GuardbandAnchor-r15 SIB-GuardbandAnchorTDD-NB-r15, + sib-GuardbandGuardband-r15 SIB-GuardbandGuardbandTDD-NB-r15, + sib-GuardbandInbandSamePCI-r15 SIB-GuardbandInbandSamePCI-TDD-NB-r15, + sib-GuardbandinbandDiffPCI-r15 SIB-GuardbandInbandDiffPCI-TDD-NB-r15 + }, + eutra-Bandwitdh-r15 ENUMERATED {bw5or10, bw15or20} +} + +Inband-SamePCI-TDD-NB-r15 ::= SEQUENCE { + eutra-CRS-SequenceInfo-r15 INTEGER (0..31), + sib-InbandLocation-r15 ENUMERATED {lower, higher} +} + +Inband-DifferentPCI-TDD-NB-r15 ::= SEQUENCE { + eutra-NumCRS-Ports-r15 ENUMERATED {same, four}, + rasterOffset-r15 ChannelRasterOffset-NB-r13, + sib-InbandLocation-r15 ENUMERATED {lower, higher}, + spare BIT STRING (SIZE (2)) +} + +StandaloneTDD-NB-r15 ::= SEQUENCE { + sib-StandaloneLocation-r15 ENUMERATED {lower, higher}, + spare BIT STRING (SIZE (5)) +} + +SIB-GuardbandAnchorTDD-NB-r15 ::= SEQUENCE { + spare BIT STRING (SIZE (1)) +} + +SIB-GuardbandGuardbandTDD-NB-r15 ::= SEQUENCE { + sib-GuardbandGuardbandLocation-r15 ENUMERATED {same, opposite} +} + +SIB-GuardbandInbandSamePCI-TDD-NB-r15 ::= SEQUENCE { + spare BIT STRING (SIZE (1)) +} + +SIB-GuardbandInbandDiffPCI-TDD-NB-r15 ::= SEQUENCE { + sib-EUTRA-NumCRS-Ports-r15 ENUMERATED {same, four} +} + + +Paging-NB ::= SEQUENCE { + pagingRecordList-r13 PagingRecordList-NB-r13 OPTIONAL, -- Need ON + systemInfoModification-r13 ENUMERATED {true} OPTIONAL, -- Need ON + systemInfoModification-eDRX-r13 ENUMERATED {true} OPTIONAL, -- Need ON + nonCriticalExtension Paging-NB-v1610-IEs OPTIONAL +} + +Paging-NB-v1610-IEs ::= SEQUENCE { + pagingRecordList-v1610 PagingRecordList-NB-v1610 OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PagingRecordList-NB-r13 ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord-NB-r13 + +PagingRecordList-NB-v1610 ::= SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord-NB-v1610 + +PagingRecord-NB-r13 ::= SEQUENCE { + ue-Identity-r13 PagingUE-Identity, + ... +} + +PagingRecord-NB-v1610 ::= SEQUENCE { + mt-EDT-r16 ENUMERATED {true} OPTIONAL -- Need ON +} + + +PURConfigurationRequest-NB-r16 ::= SEQUENCE { + criticalExtensions CHOICE { + purConfigurationRequest-r16 PURConfigurationRequest-NB-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +PURConfigurationRequest-NB-r16-IEs ::= SEQUENCE { + pur-ConfigRequest-r16 PUR-ConfigRequest-NB-r16 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PUR-ConfigRequest-NB-r16 ::= CHOICE{ + pur-ReleaseRequest NULL, + pur-SetupRequest SEQUENCE { + requestedNumOccasions-r16 ENUMERATED {one, infinite}, + requestedPeriodicityAndOffset-r16 PUR-PeriodicityAndOffset-NB-r16, + requestedTBS-r16 ENUMERATED {b328, b376, b424, b472, b504, b552, b584, + b616, b680, b744, b776, b808, b872, b904, + b936, b968, b1000, b1032, b1096, b1128, + b1192, b1224, b1256, b1352, b1384, b1544, + b1608, b1736, b1800, b2024, b2280, b2536}, + rrc-ACK-r16 ENUMERATED {true} OPTIONAL + } +} + + +RRCConnectionReconfiguration-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rrcConnectionReconfiguration-r13 RRCConnectionReconfiguration-NB-r13-IEs, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReconfiguration-NB-r13-IEs ::= SEQUENCE { + dedicatedInfoNASList-r13 SEQUENCE (SIZE(1..maxDRB-NB-r13)) OF + DedicatedInfoNAS OPTIONAL, -- Need ON + radioResourceConfigDedicated-r13 RadioResourceConfigDedicated-NB-r13 OPTIONAL, -- Need ON + fullConfig-r13 ENUMERATED {true} OPTIONAL, -- Cond Reestab + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReconfigurationComplete-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcConnectionReconfigurationComplete-r13 RRCConnectionReconfigurationComplete-NB-r13-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReconfigurationComplete-NB-r13-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + + +RRCConnectionReestablishment-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE{ + rrcConnectionReestablishment-r13 RRCConnectionReestablishment-NB-r13-IEs, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishment-NB-r13-IEs ::= SEQUENCE { + radioResourceConfigDedicated-r13 RadioResourceConfigDedicated-NB-r13, + nextHopChainingCount-r13 NextHopChainingCount, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReestablishment-NB-v1430-IEs OPTIONAL +} + +RRCConnectionReestablishment-NB-v1430-IEs ::= SEQUENCE { + dl-NAS-MAC BIT STRING (SIZE (16)) OPTIONAL, -- Cond Reestablish-CP + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionReestablishmentComplete-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcConnectionReestablishmentComplete-r13 RRCConnectionReestablishmentComplete-NB-r13-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReestablishmentComplete-NB-r13-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-NB-v1470-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-NB-v1470-IEs ::= SEQUENCE { + measResultServCell-r14 MeasResultServCell-NB-r14 OPTIONAL, + nonCriticalExtension RRCConnectionReestablishmentComplete-NB-v1610-IEs OPTIONAL +} + +RRCConnectionReestablishmentComplete-NB-v1610-IEs ::= SEQUENCE { + rlf-InfoAvailable-r16 ENUMERATED {true} OPTIONAL, + anr-InfoAvailable-r16 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RRCConnectionReestablishmentRequest-NB ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionReestablishmentRequest-r13 + RRCConnectionReestablishmentRequest-NB-r13-IEs, + later CHOICE { + rrcConnectionReestablishmentRequest-r14 + RRCConnectionReestablishmentRequest-NB-r14-IEs, + later CHOICE { + rrcConnectionReestablishmentRequest-r16 + RRCConnectionReestablishmentRequest-5GC-NB-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } + } + } +} + +RRCConnectionReestablishmentRequest-NB-r13-IEs ::= SEQUENCE { + ue-Identity-r13 ReestabUE-Identity, + reestablishmentCause-r13 ReestablishmentCause-NB-r13, + cqi-NPDCCH-r14 CQI-NPDCCH-NB-r14, + earlyContentionResolution-r14 BOOLEAN, + spare BIT STRING (SIZE (20)) +} + +RRCConnectionReestablishmentRequest-NB-r14-IEs ::= SEQUENCE { + ue-Identity-r14 ReestabUE-Identity-CP-NB-r14, + reestablishmentCause-r14 ReestablishmentCause-NB-r13, + cqi-NPDCCH-r14 CQI-NPDCCH-Short-NB-r14, + earlyContentionResolution-r14 BOOLEAN, + spare BIT STRING (SIZE (1)) +} + +RRCConnectionReestablishmentRequest-5GC-NB-r16-IEs ::= SEQUENCE { + ue-Identity-r16 ReestabUE-Identity-CP-5GC-NB-r16, + reestablishmentCause-r16 ReestablishmentCause-NB-r13, + cqi-NPDCCH-r16 CQI-NPDCCH-Short-NB-r14, + spare BIT STRING (SIZE (1)) +} + +ReestablishmentCause-NB-r13 ::= ENUMERATED { + reconfigurationFailure, otherFailure, + spare2, spare1} + +ReestabUE-Identity-CP-NB-r14 ::= SEQUENCE { + s-TMSI-r14 S-TMSI, + ul-NAS-MAC-r14 BIT STRING (SIZE (16)), + ul-NAS-Count-r14 BIT STRING (SIZE (5)) +} + +ReestabUE-Identity-CP-5GC-NB-r16 ::= SEQUENCE { + truncated5G-S-TMSI-r16 BIT STRING (SIZE (40)), + ul-NAS-MAC-r16 BIT STRING (SIZE (16)), + ul-NAS-Count-r16 BIT STRING (SIZE (5)) +} + + +RRCConnectionReject-NB ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionReject-r13 RRCConnectionReject-NB-r13-IEs, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionReject-NB-r13-IEs ::= SEQUENCE { + extendedWaitTime-r13 INTEGER (1..1800), + rrc-SuspendIndication-r13 ENUMERATED {true} OPTIONAL, -- Need ON + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionRelease-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionRelease-r13 RRCConnectionRelease-NB-r13-IEs, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionRelease-NB-r13-IEs ::= SEQUENCE { + releaseCause-r13 ReleaseCause-NB-r13, + resumeIdentity-r13 ResumeIdentity-r13 OPTIONAL, -- Need OR + extendedWaitTime-r13 INTEGER (1..1800) OPTIONAL, -- Need ON + redirectedCarrierInfo-r13 RedirectedCarrierInfo-NB-r13 OPTIONAL, -- Need ON + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionRelease-NB-v1430-IEs OPTIONAL +} + +RRCConnectionRelease-NB-v1430-IEs ::= SEQUENCE { + redirectedCarrierInfo-v1430 RedirectedCarrierInfo-NB-v1430 OPTIONAL, -- Cond Redirection + extendedWaitTime-CPdata-r14 INTEGER (1..1800) OPTIONAL, -- Cond NoExtendedWaitTime + nonCriticalExtension RRCConnectionRelease-NB-v1530-IEs OPTIONAL +} + +RRCConnectionRelease-NB-v1530-IEs ::= SEQUENCE { + drb-ContinueROHC-r15 ENUMERATED {true} OPTIONAL, -- Cond UP-EDT + nextHopChainingCount-r15 NextHopChainingCount OPTIONAL, -- Cond EarlySec + nonCriticalExtension RRCConnectionRelease-NB-v1550-IEs OPTIONAL +} + +RRCConnectionRelease-NB-v1550-IEs ::= SEQUENCE { + redirectedCarrierInfo-v1550 RedirectedCarrierInfo-NB-v1550 OPTIONAL, -- Cond Redirection-TDD + nonCriticalExtension RRCConnectionRelease-NB-v15b0-IEs OPTIONAL +} + +RRCConnectionRelease-NB-v15b0-IEs ::= SEQUENCE { + noLastCellUpdate-r15 ENUMERATED {true} OPTIONAL, -- Need OP + nonCriticalExtension RRCConnectionRelease-NB-v1610-IEs OPTIONAL +} + +RRCConnectionRelease-NB-v1610-IEs ::= SEQUENCE { + resumeIdentity-r16 I-RNTI-r15 OPTIONAL, -- Need OR + anr-MeasConfig-r16 ANR-MeasConfig-NB-r16 OPTIONAL, -- Need OP + pur-Config-r16 SetupRelease {PUR-Config-NB-r16} + OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +ReleaseCause-NB-r13 ::= ENUMERATED {loadBalancingTAUrequired, other, + rrc-Suspend, spare1} +RedirectedCarrierInfo-NB-r13::= CarrierFreq-NB-r13 + +RedirectedCarrierInfo-NB-v1430 ::= SEQUENCE { + redirectedCarrierOffsetDedicated-r14 ENUMERATED{ + dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, + dB12, dB14, dB16, dB18, dB20, dB22, dB24, dB26}, + t322-r14 ENUMERATED{ + min5, min10, min20, min30, min60, min120, min180, + spare1} +} + +RedirectedCarrierInfo-NB-v1550::= CarrierFreq-NB-v1550 + + +RRCConnectionRequest-NB ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionRequest-r13 RRCConnectionRequest-NB-r13-IEs, + later CHOICE { + rrcConnectionRequest-r16 RRCConnectionRequest-5GC-NB-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } + } +} + +RRCConnectionRequest-NB-r13-IEs ::= SEQUENCE { + ue-Identity-r13 InitialUE-Identity, + establishmentCause-r13 EstablishmentCause-NB-r13, + multiToneSupport-r13 ENUMERATED {true} OPTIONAL, + multiCarrierSupport-r13 ENUMERATED {true} OPTIONAL, + earlyContentionResolution-r14 BOOLEAN, + cqi-NPDCCH-r14 CQI-NPDCCH-NB-r14, + spare BIT STRING (SIZE (17)) +} + +RRCConnectionRequest-5GC-NB-r16-IEs ::= SEQUENCE { + ue-Identity-r16 InitialUE-Identity-5GC-NB-r16, + establishmentCause-r16 ENUMERATED { + mt-Access, mo-Signalling, mo-Data, mo-ExceptionData, + spare4, spare3, spare2, spare1}, + cqi-NPDCCH-r16 CQI-NPDCCH-NB-r14, + spare BIT STRING (SIZE (11)) +} + +InitialUE-Identity-5GC-NB-r16 ::= CHOICE { + ng-5G-S-TMSI-r16 NG-5G-S-TMSI-r15, + randomValue BIT STRING (SIZE (48)) +} + + +RRCConnectionResume-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionResume-r13 RRCConnectionResume-NB-r13-IEs, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionResume-NB-r13-IEs ::= SEQUENCE { + radioResourceConfigDedicated-r13 RadioResourceConfigDedicated-NB-r13 OPTIONAL, -- Need ON + nextHopChainingCount-r13 NextHopChainingCount, + drb-ContinueROHC-r13 ENUMERATED {true} OPTIONAL, -- Need OP + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionResume-NB-v1610-IEs OPTIONAL +} + +RRCConnectionResume-NB-v1610-IEs ::= SEQUENCE { + fullConfig-r16 ENUMERATED {true} OPTIONAL, -- Cond 5GC + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionResumeComplete-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + rrcConnectionResumeComplete-r13 RRCConnectionResumeComplete-NB-r13-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionResumeComplete-NB-r13-IEs ::= SEQUENCE { + selectedPLMN-Identity-r13 INTEGER (1..maxPLMN-r11) OPTIONAL, + dedicatedInfoNAS-r13 DedicatedInfoNAS OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionResumeComplete-NB-v1470-IEs OPTIONAL +} + +RRCConnectionResumeComplete-NB-v1470-IEs ::= SEQUENCE { + measResultServCell-r14 MeasResultServCell-NB-r14 OPTIONAL, + nonCriticalExtension RRCConnectionResumeComplete-NB-v1610-IEs OPTIONAL +} + +RRCConnectionResumeComplete-NB-v1610-IEs ::= SEQUENCE { + rlf-InfoAvailable-r16 ENUMERATED {true} OPTIONAL, + anr-InfoAvailable-r16 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionResumeRequest-NB ::= SEQUENCE { + criticalExtensions CHOICE { + rrcConnectionResumeRequest-r13 RRCConnectionResumeRequest-NB-r13-IEs, + later CHOICE { + rrcConnectionResumeRequest-r16 RRCConnectionResumeRequest-5GC-NB-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } + } +} + +RRCConnectionResumeRequest-NB-r13-IEs ::= SEQUENCE { + resumeID-r13 ResumeIdentity-r13, + shortResumeMAC-I-r13 ShortMAC-I, + resumeCause-r13 EstablishmentCause-NB-r13, + earlyContentionResolution-r14 BOOLEAN, + cqi-NPDCCH-r14 CQI-NPDCCH-NB-r14, + anr-InfoAvailable-r16 BOOLEAN, + spare BIT STRING (SIZE (3)) +} + +RRCConnectionResumeRequest-5GC-NB-r16-IEs ::= SEQUENCE { + resumeID-r16 I-RNTI-r15, + shortResumeMAC-I-r16 ShortMAC-I, + resumeCause-r16 EstablishmentCause-NB-r13, + cqi-NPDCCH-r16 CQI-NPDCCH-NB-r14, + spare BIT STRING (SIZE (4)) +} + + +RRCConnectionSetup-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + rrcConnectionSetup-r13 RRCConnectionSetup-NB-r13-IEs, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionSetup-NB-r13-IEs ::= SEQUENCE { + radioResourceConfigDedicated-r13 RadioResourceConfigDedicated-NB-r13, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionSetup-NB-v1610-IEs OPTIONAL +} + +RRCConnectionSetup-NB-v1610-IEs ::= SEQUENCE { + dedicatedInfoNAS-r16 DedicatedInfoNAS OPTIONAL, -- Need ON + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCConnectionSetupComplete-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE{ + rrcConnectionSetupComplete-r13 RRCConnectionSetupComplete-NB-r13-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCConnectionSetupComplete-NB-r13-IEs ::= SEQUENCE { + selectedPLMN-Identity-r13 INTEGER (1..maxPLMN-r11), + s-TMSI-r13 S-TMSI OPTIONAL, + registeredMME-r13 RegisteredMME OPTIONAL, + dedicatedInfoNAS-r13 DedicatedInfoNAS, + attachWithoutPDN-Connectivity-r13 ENUMERATED {true} OPTIONAL, + up-CIoT-EPS-Optimisation-r13 ENUMERATED {true} OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-NB-v1430-IEs OPTIONAL +} + +RRCConnectionSetupComplete-NB-v1430-IEs ::= SEQUENCE { + gummei-Type-r14 ENUMERATED { mapped} OPTIONAL, + dcn-ID-r14 INTEGER (0..65535) OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-NB-v1470-IEs OPTIONAL +} + +RRCConnectionSetupComplete-NB-v1470-IEs ::= SEQUENCE { + measResultServCell-r14 MeasResultServCell-NB-r14 OPTIONAL, + nonCriticalExtension RRCConnectionSetupComplete-NB-v1610-IEs OPTIONAL +} + +RRCConnectionSetupComplete-NB-v1610-IEs ::= SEQUENCE { + ng-5G-S-TMSI-r16 NG-5G-S-TMSI-r15 OPTIONAL, + registeredAMF-r16 RegisteredAMF-r15 OPTIONAL, + gummei-Type-v1610 ENUMERATED {mappedFrom5G} OPTIONAL, + guami-Type-r16 ENUMERATED {native, mapped} OPTIONAL, + s-NSSAI-list-r16 SEQUENCE(SIZE (1..maxNrofS-NSSAI-r15)) OF + S-NSSAI-r15 OPTIONAL, + ng-U-DataTransfer-r16 ENUMERATED {true} OPTIONAL, + up-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL, + rlf-InfoAvailable-r16 ENUMERATED {true} OPTIONAL, + anr-InfoAvailable-r16 ENUMERATED {true} OPTIONAL, + pur-ConfigID-r16 PUR-ConfigID-NB-r16 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCEarlyDataComplete-NB-r15 ::= SEQUENCE { + criticalExtensions CHOICE { + rrcEarlyDataComplete-r15 RRCEarlyDataComplete-NB-r15-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +RRCEarlyDataComplete-NB-r15-IEs ::= SEQUENCE { + dedicatedInfoNAS-r15 DedicatedInfoNAS OPTIONAL, -- Need ON + extendedWaitTime-r15 INTEGER (1..1800) OPTIONAL, -- Need ON + redirectedCarrierInfo-r15 RedirectedCarrierInfo-NB-r13 OPTIONAL, -- Need ON + redirectedCarrierInfoExt-r15 RedirectedCarrierInfo-NB-v1430 OPTIONAL, -- Cond Redirection + nonCriticalExtension RRCEarlyDataComplete-NB-v1590-IEs OPTIONAL +} + +RRCEarlyDataComplete-NB-v1590-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +RRCEarlyDataRequest-NB-r15 ::= SEQUENCE { + criticalExtensions CHOICE { + rrcEarlyDataRequest-r15 RRCEarlyDataRequest-NB-r15-IEs, + later CHOICE { + rrcEarlyDataRequest-r16 RRCEarlyDataRequest-5GC-NB-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } + } +} + +RRCEarlyDataRequest-NB-r15-IEs ::= SEQUENCE { + s-TMSI-r15 S-TMSI, + establishmentCause-r15 ENUMERATED {mo-Data, mo-ExceptionData, delayTolerantAccess, mt-Access-v1610}, + cqi-NPDCCH-r15 CQI-NPDCCH-NB-r14 OPTIONAL, + dedicatedInfoNAS-r15 DedicatedInfoNAS, + nonCriticalExtension RRCEarlyDataRequest-NB-v1590-IEs OPTIONAL +} + +RRCEarlyDataRequest-NB-v1590-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RRCEarlyDataRequest-5GC-NB-r16-IEs ::= SEQUENCE { + ng-5G-S-TMSI-r16 NG-5G-S-TMSI-r15, + establishmentCause-r16 ENUMERATED {mo-Data, mo-ExceptionData, mt-Access, spare1}, + cqi-NPDCCH-r16 CQI-NPDCCH-NB-r14 OPTIONAL, + dedicatedInfoNAS-r16 DedicatedInfoNAS, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SCPTMConfiguration-NB-r14 ::= SEQUENCE { + sc-mtch-InfoList-r14 SC-MTCH-InfoList-NB-r14, + scptm-NeighbourCellList-r14 SCPTM-NeighbourCellList-NB-r14 OPTIONAL, -- Need OP + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SCPTMConfiguration-NB-v1610 OPTIONAL +} + +SCPTMConfiguration-NB-v1610 ::= SEQUENCE { + sc-mtch-InfoListMultiTB-r16 SC-MTCH-InfoList-NB-r14, + multiTB-Gap-r16 ENUMERATED {sf16, sf32, sf64, sf128} OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SystemInformation-NB ::= SEQUENCE { + criticalExtensions CHOICE { + systemInformation-r13 SystemInformation-NB-r13-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} +SystemInformation-NB-r13-IEs ::= SEQUENCE { + sib-TypeAndInfo-r13 SEQUENCE (SIZE (1..maxSIB)) OF CHOICE { + sib2-r13 SystemInformationBlockType2-NB-r13, + sib3-r13 SystemInformationBlockType3-NB-r13, + sib4-r13 SystemInformationBlockType4-NB-r13, + sib5-r13 SystemInformationBlockType5-NB-r13, + sib14-r13 SystemInformationBlockType14-NB-r13, + sib16-r13 SystemInformationBlockType16-NB-r13, + ..., + sib15-v1430 SystemInformationBlockType15-NB-r14, + sib20-v1430 SystemInformationBlockType20-NB-r14, + sib22-v1430 SystemInformationBlockType22-NB-r14, + sib23-v1530 SystemInformationBlockType23-NB-r15, + sib27-v1610 SystemInformationBlockType27-NB-r16 + }, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SystemInformationBlockType1-NB ::= SEQUENCE { + hyperSFN-MSB-r13 BIT STRING (SIZE (8)), + cellAccessRelatedInfo-r13 SEQUENCE { + plmn-IdentityList-r13 PLMN-IdentityList-NB-r13, + trackingAreaCode-r13 TrackingAreaCode, + cellIdentity-r13 CellIdentity, + cellBarred-r13 ENUMERATED {barred, notBarred}, + intraFreqReselection-r13 ENUMERATED {allowed, notAllowed} + }, + cellSelectionInfo-r13 SEQUENCE { + q-RxLevMin-r13 Q-RxLevMin, + q-QualMin-r13 Q-QualMin-r9 + }, + p-Max-r13 P-Max OPTIONAL, -- Need OP + freqBandIndicator-r13 FreqBandIndicator-NB-r13, + freqBandInfo-r13 NS-PmaxList-NB-r13 OPTIONAL, -- Need OR + multiBandInfoList-r13 MultiBandInfoList-NB-r13 OPTIONAL, -- Need OR + downlinkBitmap-r13 DL-Bitmap-NB-r13 OPTIONAL, -- Cond SIB1 + eutraControlRegionSize-r13 ENUMERATED {n1, n2, n3} OPTIONAL, -- Cond inband + nrs-CRS-PowerOffset-r13 ENUMERATED {dB-6, dB-4dot77, dB-3, + dB-1dot77, dB0, dB1, + dB1dot23, dB2, dB3, + dB4, dB4dot23, dB5, + dB6, dB7, dB8, + dB9} OPTIONAL, -- Cond inband-SamePCI + schedulingInfoList-r13 SchedulingInfoList-NB-r13, + si-WindowLength-r13 ENUMERATED {ms160, ms320, ms480, ms640, + ms960, ms1280, ms1600, spare1}, + si-RadioFrameOffset-r13 INTEGER (1..15) OPTIONAL, -- Need OP + systemInfoValueTagList-r13 SystemInfoValueTagList-NB-r13 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SystemInformationBlockType1-NB-v1350 OPTIONAL +} + +SystemInformationBlockType1-NB-v1350 ::= SEQUENCE { + cellSelectionInfo-v1350 CellSelectionInfo-NB-v1350 OPTIONAL, -- Cond Qrxlevmin + nonCriticalExtension SystemInformationBlockType1-NB-v1430 OPTIONAL +} + +SystemInformationBlockType1-NB-v1430 ::= SEQUENCE { + cellSelectionInfo-v1430 CellSelectionInfo-NB-v1430 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-NB-v1450 OPTIONAL +} + +SystemInformationBlockType1-NB-v1450 ::= SEQUENCE { + nrs-CRS-PowerOffset-v1450 ENUMERATED {dB-6, dB-4dot77, dB-3, + dB-1dot77, dB0, dB1, + dB1dot23, dB2, dB3, + dB4, dB4dot23, dB5, + dB6, dB7, dB8, + dB9} OPTIONAL, -- Cond inband-SamePCI-ExceptAnchor + nonCriticalExtension SystemInformationBlockType1-NB-v1530 OPTIONAL +} + +SystemInformationBlockType1-NB-v1530 ::= SEQUENCE { + tdd-Parameters-r15 SEQUENCE { + tdd-Config-r15 TDD-Config-NB-r15, + tdd-SI-CarrierInfo-r15 ENUMERATED {anchor, non-anchor}, + tdd-SI-SubframesBitmap-r15 DL-Bitmap-NB-r13 OPTIONAL -- Cond TDD-SI-NonAnchor + } OPTIONAL, -- Cond TDD + schedulingInfoList-v1530 SchedulingInfoList-NB-v1530 OPTIONAL, -- Need OR + nonCriticalExtension SystemInformationBlockType1-NB-v1610 OPTIONAL +} + +SystemInformationBlockType1-NB-v1610 ::= SEQUENCE { + cellAccessRelatedInfo-5GC-r16 SEQUENCE { + plmn-IdentityList-r16 PLMN-IdentityList-5GC-NB-r16, + trackingAreaCode-5GC-r16 TrackingAreaCode-5GC-r15, + cellIdentity-r16 CellIdentity OPTIONAL, -- Need OP + cellBarred-5GC-r16 ENUMERATED {barred, notBarred} + } OPTIONAL, -- Need OR + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +PLMN-IdentityList-NB-r13 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-NB-r13 + +PLMN-IdentityList-5GC-NB-r16 ::= SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-5GC-NB-r16 + +PLMN-IdentityInfo-NB-r13 ::= SEQUENCE { + plmn-Identity-r13 PLMN-Identity, + cellReservedForOperatorUse-r13 ENUMERATED {reserved, notReserved}, + attachWithoutPDN-Connectivity-r13 ENUMERATED {true} OPTIONAL -- Need OP +} + +PLMN-IdentityInfo-5GC-NB-r16 ::= SEQUENCE { + plmn-Identity-5GC-r16 CHOICE { + plmn-Identity-r16 PLMN-Identity, + plmn-Index-r16 INTEGER (1..maxPLMN-r11) + }, + cellReservedForOperatorUse-r16 ENUMERATED {reserved, notReserved}, + ng-U-DataTransfer-r16 ENUMERATED {true} OPTIONAL, -- Need OR + up-CIoT-5GS-Optimisation-r16 ENUMERATED {true} OPTIONAL -- Need OR +} + +SchedulingInfoList-NB-r13 ::= SEQUENCE (SIZE (1..maxSI-Message-NB-r13)) OF SchedulingInfo-NB-r13 + +SchedulingInfoList-NB-v1530 ::= SEQUENCE (SIZE (1..maxSI-Message-NB-r13)) OF SchedulingInfo-NB-v1530 + +SchedulingInfo-NB-r13::= SEQUENCE { + si-Periodicity-r13 ENUMERATED {rf64, rf128, rf256, rf512, + rf1024, rf2048, rf4096, spare}, + si-RepetitionPattern-r13 ENUMERATED {every2ndRF, every4thRF, every8thRF, every16thRF}, + sib-MappingInfo-r13 SIB-MappingInfo-NB-r13, + si-TB-r13 ENUMERATED {b56, b120, b208, b256, b328, b440, b552, b680} +} + +SchedulingInfo-NB-v1530::= SEQUENCE { + sib-MappingInfo-v1530 SIB-MappingInfo-NB-v1530 OPTIONAL -- Need OR +} + +SystemInfoValueTagList-NB-r13 ::= SEQUENCE (SIZE (1.. maxSI-Message-NB-r13)) OF + SystemInfoValueTagSI-r13 + +SIB-MappingInfo-NB-r13 ::= SEQUENCE (SIZE (0..maxSIB-1)) OF SIB-Type-NB-r13 + +SIB-MappingInfo-NB-v1530 ::= SEQUENCE (SIZE (1..8)) OF SIB-Type-NB-v1530 + +SIB-Type-NB-r13 ::= ENUMERATED { + sibType3-NB-r13, sibType4-NB-r13, sibType5-NB-r13, + sibType14-NB-r13, sibType16-NB-r13, sibType15-NB-r14, + sibType20-NB-r14, sibType22-NB-r14} + +SIB-Type-NB-v1530 ::= ENUMERATED { + sibType23-NB-r15, sibType27-NB-r16, spare6, spare5, + spare4, spare3, spare2, spare1} + +CellSelectionInfo-NB-v1350 ::= SEQUENCE { + delta-RxLevMin-v1350 INTEGER (-8..-1) +} + +CellSelectionInfo-NB-v1430 ::= SEQUENCE { + powerClass14dBm-Offset-r14 ENUMERATED {dB-6, dB-3, dB3, dB6, dB9, dB12} OPTIONAL, -- Need OP + ce-authorisationOffset-r14 ENUMERATED {dB5, dB10, dB15, dB20, dB25, dB30, dB35} OPTIONAL -- Need OP +} + + +UECapabilityEnquiry-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + c1 CHOICE { + ueCapabilityEnquiry-r13 UECapabilityEnquiry-NB-r13-IEs, + spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityEnquiry-NB-r13-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UECapabilityInformation-NB ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE{ + ueCapabilityInformation-r13 UECapabilityInformation-NB-r13-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +UECapabilityInformation-NB-r13-IEs ::= SEQUENCE { + ue-Capability-r13 UE-Capability-NB-r13, + ue-RadioPagingInfo-r13 UE-RadioPagingInfo-NB-r13, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UECapabilityInformation-NB-Ext-r14-IEs OPTIONAL +} + +UECapabilityInformation-NB-Ext-r14-IEs ::= SEQUENCE { + ue-Capability-ContainerExt-r14 OCTET STRING (CONTAINING UE-Capability-NB-Ext-r14-IEs), + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UEInformationRequest-NB-r16 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + ueInformationRequest-r16 UEInformationRequest-NB-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEInformationRequest-NB-r16-IEs ::= SEQUENCE { + rach-ReportReq-r16 BOOLEAN, + rlf-ReportReq-r16 BOOLEAN, + anr-ReportReq-r16 BOOLEAN, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UEInformationResponse-NB-r16 ::= SEQUENCE { + rrc-TransactionIdentifier RRC-TransactionIdentifier, + criticalExtensions CHOICE { + ueInformationResponse-r16 UEInformationResponse-NB-r16-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEInformationResponse-NB-r16-IEs ::= SEQUENCE { + rach-Report-r16 RACH-Report-NB-r16 OPTIONAL, + rlf-Report-r16 RLF-Report-NB-r16 OPTIONAL, + anr-MeasReport-r16 ANR-MeasReport-NB-r16 OPTIONAL, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +RACH-Report-NB-r16 ::= SEQUENCE { + numberOfPreamblesSent-r16 INTEGER (1..64), + contentionDetected-r16 BOOLEAN, + initialNRSRP-Level-r16 INTEGER (0..2), + edt-Fallback-r16 BOOLEAN +} + +RLF-Report-NB-r16 ::= SEQUENCE { + failedPCellId-r16 CellGlobalIdEUTRA, + reestablishmentCellId-r16 CellGlobalIdEUTRA OPTIONAL, + locationInfo-r16 LocationInfo-r10 OPTIONAL, + measResultLastServCell-r16 SEQUENCE { + nrsrpResult-r16 NRSRP-Range-NB-r14, + nrsrqResult-r16 NRSRQ-Range-NB-r14 OPTIONAL + }, + timeSinceFailure-r16 TimeSinceFailure-r11 OPTIONAL +} + + +ULInformationTransfer-NB ::= SEQUENCE { + criticalExtensions CHOICE { + ulInformationTransfer-r13 ULInformationTransfer-NB-r13-IEs, + criticalExtensionsFuture SEQUENCE {} + } +} + +ULInformationTransfer-NB-r13-IEs ::= SEQUENCE { + dedicatedInfoNAS-r13 DedicatedInfoNAS, + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SystemInformationBlockType2-NB-r13 ::= SEQUENCE { + radioResourceConfigCommon-r13 RadioResourceConfigCommonSIB-NB-r13, + ue-TimersAndConstants-r13 UE-TimersAndConstants-NB-r13, + freqInfo-r13 SEQUENCE { + ul-CarrierFreq-r13 CarrierFreq-NB-r13 OPTIONAL, -- Need OP + additionalSpectrumEmission-r13 AdditionalSpectrumEmission + }, + timeAlignmentTimerCommon-r13 TimeAlignmentTimer, + multiBandInfoList-r13 SEQUENCE (SIZE (1..maxMultiBands)) OF AdditionalSpectrumEmission OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ cp-Reestablishment-r14 ENUMERATED {true} OPTIONAL -- Need OP + ]], + [[ servingCellMeasInfo-r14 ENUMERATED {true} OPTIONAL, -- Need OR + cqi-Reporting-r14 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ enhancedPHR-r15 ENUMERATED {true} OPTIONAL, -- Need OR + freqInfo-v1530 SEQUENCE { + tdd-UL-DL-AlignmentOffset-r15 TDD-UL-DL-AlignmentOffset-NB-r15 + } OPTIONAL, -- Cond TDD + cp-EDT-r15 ENUMERATED {true} OPTIONAL, -- Need OR + up-EDT-r15 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ earlySecurityReactivation-r16 ENUMERATED {true} OPTIONAL, -- Need OR + cp-EDT-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + up-EDT-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + cp-PUR-EPC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + up-PUR-EPC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + cp-PUR-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + up-PUR-5GC-r16 ENUMERATED {true} OPTIONAL, -- Need OR + rai-ActivationEnh-r16 ENUMERATED {true} OPTIONAL -- Need OR + ]] +} + + +SystemInformationBlockType3-NB-r13 ::= SEQUENCE { + cellReselectionInfoCommon-r13 SEQUENCE { + q-Hyst-r13 ENUMERATED { + dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10, + dB12, dB14, dB16, dB18, dB20, dB22, dB24 + } + }, + cellReselectionServingFreqInfo-r13 SEQUENCE { + s-NonIntraSearch-r13 ReselectionThreshold + }, + intraFreqCellReselectionInfo-r13 SEQUENCE { + q-RxLevMin-r13 Q-RxLevMin, + q-QualMin-r13 Q-QualMin-r9 OPTIONAL, -- Need OP + p-Max-r13 P-Max OPTIONAL, -- Need OP + s-IntraSearchP-r13 ReselectionThreshold, + t-Reselection-r13 T-Reselection-NB-r13 + }, + freqBandInfo-r13 NS-PmaxList-NB-r13 OPTIONAL, -- Need OR + multiBandInfoList-r13 SEQUENCE (SIZE (1..maxMultiBands)) OF + NS-PmaxList-NB-r13 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ intraFreqCellReselectionInfo-v1350 IntraFreqCellReselectionInfo-NB-v1350 OPTIONAL -- Cond Qrxlevmin + ]], + [[ intraFreqCellReselectionInfo-v1360 IntraFreqCellReselectionInfo-NB-v1360 OPTIONAL -- Need OR + ]], + [[ intraFreqCellReselectionInfo-v1430 IntraFreqCellReselectionInfo-NB-v1430 OPTIONAL -- Need OR + ]], + [[ cellReselectionInfoCommon-v1450 CellReselectionInfoCommon-NB-v1450 OPTIONAL -- Need OR + ]], + [[ nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL, -- Need OR + npbch-RRM-Config-r15 ENUMERATED {enabled} OPTIONAL -- Need OR + ]] +} + +IntraFreqCellReselectionInfo-NB-v1350 ::= SEQUENCE { + delta-RxLevMin-v1350 INTEGER (-8..-1) +} + +IntraFreqCellReselectionInfo-NB-v1360 ::= SEQUENCE { + s-IntraSearchP-v1360 ReselectionThreshold-NB-v1360 +} + +IntraFreqCellReselectionInfo-NB-v1430 ::= SEQUENCE { + powerClass14dBm-Offset-r14 ENUMERATED {dB-6, dB-3, dB3, dB6, dB9, dB12} OPTIONAL, -- Need OP + ce-AuthorisationOffset-r14 ENUMERATED {dB5, dB10, dB15, dB20, dB25, dB30, dB35} OPTIONAL -- Need OP +} + +CellReselectionInfoCommon-NB-v1450 ::= SEQUENCE { + s-SearchDeltaP-r14 ENUMERATED {dB6, dB9, dB12, dB15} +} + + +SystemInformationBlockType4-NB-r13 ::= SEQUENCE { + intraFreqNeighCellList-r13 IntraFreqNeighCellList OPTIONAL, -- Need OR + intraFreqBlackCellList-r13 IntraFreqBlackCellList OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL, -- Need OR + intraFreqNeighCellList-v1530 IntraFreqNeighCellList-NB-v1530 OPTIONAL -- Need OR + ]] +} + +IntraFreqNeighCellList-NB-v1530 ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo-NB-v1530 + +IntraFreqNeighCellInfo-NB-v1530 ::= SEQUENCE { + nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL -- Cond NSSS-RRM +} + + +SystemInformationBlockType5-NB-r13 ::= SEQUENCE { + interFreqCarrierFreqList-r13 InterFreqCarrierFreqList-NB-r13, + t-Reselection-r13 T-Reselection-NB-r13, + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ scptm-FreqOffset-r14 INTEGER (1..8) OPTIONAL -- Need OP + ]] +} + + +InterFreqCarrierFreqList-NB-r13 ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo-NB-r13 + + +InterFreqCarrierFreqInfo-NB-r13 ::= SEQUENCE { + dl-CarrierFreq-r13 CarrierFreq-NB-r13, + q-RxLevMin-r13 Q-RxLevMin, + q-QualMin-r13 Q-QualMin-r9 OPTIONAL, -- Need OP + p-Max-r13 P-Max OPTIONAL, -- Need OP + q-OffsetFreq-r13 Q-OffsetRange DEFAULT dB0, + interFreqNeighCellList-r13 InterFreqNeighCellList-NB-r13 OPTIONAL, -- Need OR + interFreqBlackCellList-r13 InterFreqBlackCellList-NB-r13 OPTIONAL, -- Need OR + multiBandInfoList-r13 MultiBandInfoList-NB-r13 OPTIONAL, -- Need OR + ..., + [[ delta-RxLevMin-v1350 INTEGER (-8..-1) OPTIONAL -- Cond Qrxlevmin + ]], + [[ powerClass14dBm-Offset-r14 ENUMERATED {dB-6, dB-3, dB3, dB6, dB9, dB12} +OPTIONAL, -- Need OP + ce-AuthorisationOffset-r14 ENUMERATED {dB5, dB10, dB15, dB20, dB25, dB30, dB35} OPTIONAL -- Need OP + ]], + [[ nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL, -- Need OR + interFreqNeighCellList-v1530 InterFreqNeighCellList-NB-v1530 OPTIONAL -- Need OR + ]], + [[ dl-CarrierFreq-v1550 CarrierFreq-NB-v1550 OPTIONAL -- Cond TDD + ]] +} + +InterFreqNeighCellList-NB-r13 ::= SEQUENCE (SIZE (1..maxCellInter)) OF PhysCellId + +InterFreqNeighCellList-NB-v1530 ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo-NB-v1530 + +InterFreqNeighCellInfo-NB-v1530 ::= SEQUENCE { + nsss-RRM-Config-r15 NSSS-RRM-Config-NB-r15 OPTIONAL -- Cond NSSS-RRM +} + +InterFreqBlackCellList-NB-r13 ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellId + + +SystemInformationBlockType14-NB-r13 ::= SEQUENCE { + ab-Param-r13 CHOICE { + ab-Common-r13 AB-Config-NB-r13, + ab-PerPLMN-List-r13 SEQUENCE (SIZE (1..maxPLMN-r11)) OF AB-ConfigPLMN-NB-r13 + } OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ ab-PerNRSRP-r15 ENUMERATED {thresh1, thresh2} OPTIONAL -- Need OR + ]], + [[ uac-Param-r16 UAC-Param-NB-r16 OPTIONAL -- Need OR + ]] +} + +AB-ConfigPLMN-NB-r13 ::= SEQUENCE { + ab-Config-r13 AB-Config-NB-r13 OPTIONAL -- Need OR +} + +AB-Config-NB-r13 ::= SEQUENCE { + ab-Category-r13 ENUMERATED {a, b, c}, + ab-BarringBitmap-r13 BIT STRING (SIZE(10)), + ab-BarringForExceptionData-r13 ENUMERATED {true} OPTIONAL, -- Need OP + ab-BarringForSpecialAC-r13 BIT STRING (SIZE(5)) +} + +UAC-Param-NB-r16 ::= CHOICE { + uac-BarringCommon UAC-Barring-NB-r16, + uac-BarringPerPLMN-List SEQUENCE (SIZE (1..maxPLMN-r11)) OF UAC-Barring-NB-r16 +} + +UAC-Barring-NB-r16 ::= SEQUENCE { + uac-BarringPerCatList-r16 UAC-BarringPerCatList-NB-r16 OPTIONAL, -- Need OR + uac-AC1-SelectAssistInfo-r16 UAC-AC1-SelectAssistInfo-r15 OPTIONAL, -- Need OR + uac-BarringForAccessIdentity-r16 BIT STRING (SIZE(7)) +} + +UAC-BarringPerCatList-NB-r16 ::= SEQUENCE (SIZE (1..maxAccessCat-1-r15)) OF UAC-BarringPerCat-NB-r16 + +UAC-BarringPerCat-NB-r16 ::= SEQUENCE { + uac-accessCategory-r16 INTEGER (1..maxAccessCat-1-r15), + uac-BarringFactor-r16 ENUMERATED {p00, p05, p10, p15, p20, p25, p30, p40, + p50, p60, p70, p75, p80, p85, p90, p95}, + uac-BarringTime-r16 ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512} +} + + +SystemInformationBlockType15-NB-r14 ::= SEQUENCE { + mbms-SAI-IntraFreq-r14 MBMS-SAI-List-r11 OPTIONAL, -- Need OR + mbms-SAI-InterFreqList-r14 MBMS-SAI-InterFreqList-NB-r14 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +MBMS-SAI-InterFreqList-NB-r14 ::= SEQUENCE (SIZE (1..maxFreq)) OF MBMS-SAI-InterFreq-NB-r14 + +MBMS-SAI-InterFreq-NB-r14 ::= SEQUENCE { + dl-CarrierFreq-r14 CarrierFreq-NB-r13, + mbms-SAI-List-r14 MBMS-SAI-List-r11, + multiBandInfoList-r14 AdditionalBandInfoList-NB-r14 OPTIONAL -- Need OR +} + + +SystemInformationBlockType16-NB-r13 ::= SystemInformationBlockType16-r11 + + +SystemInformationBlockType20-NB-r14 ::= SEQUENCE { + npdcch-SC-MCCH-Config-r14 NPDCCH-SC-MCCH-Config-NB-r14, + sc-mcch-CarrierConfig-r14 CHOICE { + dl-CarrierConfig-r14 DL-CarrierConfigCommon-NB-r14, + dl-CarrierIndex-r14 INTEGER (0.. maxNonAnchorCarriers-NB-r14) + }, + sc-mcch-RepetitionPeriod-r14 ENUMERATED {rf32, rf128, rf512, rf1024, + rf2048, rf4096, rf8192, rf16384}, + sc-mcch-Offset-r14 INTEGER (0..10), + sc-mcch-ModificationPeriod-r14 ENUMERATED { rf32, rf128, rf256, rf512, rf1024, + rf2048, rf4096, rf8192, rf16384, rf32768, + rf65536, rf131072, rf262144, rf524288, + rf1048576, spare1}, + sc-mcch-SchedulingInfo-r14 SC-MCCH-SchedulingInfo-NB-r14 OPTIONAL, -- Need OP + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +NPDCCH-SC-MCCH-Config-NB-r14 ::= SEQUENCE { + npdcch-NumRepetitions-SC-MCCH-r14 ENUMERATED {r1, r2, r4, r8, r16, + r32, r64, r128, r256, + r512, r1024, r2048}, + npdcch-StartSF-SC-MCCH-r14 ENUMERATED {v1dot5, v2, v4, v8, + v16, v32, v48, v64}, + npdcch-Offset-SC-MCCH-r14 ENUMERATED {zero, oneEighth, oneQuarter, + threeEighth, oneHalf, fiveEighth, + threeQuarter, sevenEighth} +} + +SC-MCCH-SchedulingInfo-NB-r14::= SEQUENCE { + onDurationTimerSCPTM-r14 ENUMERATED { + pp1, pp2, pp3, pp4, + pp8, pp16, pp32, spare}, + drx-InactivityTimerSCPTM-r14 ENUMERATED { + pp0, pp1, pp2, pp3, + pp4, pp8, pp16, pp32}, + schedulingPeriodStartOffsetSCPTM-r14 CHOICE { + sf10 INTEGER(0..9), + sf20 INTEGER(0..19), + sf32 INTEGER(0..31), + sf40 INTEGER(0..39), + sf64 INTEGER(0..63), + sf80 INTEGER(0..79), + sf128 INTEGER(0..127), + sf160 INTEGER(0..159), + sf256 INTEGER(0..255), + sf320 INTEGER(0..319), + sf512 INTEGER(0..511), + sf640 INTEGER(0..639), + sf1024 INTEGER(0..1023), + sf2048 INTEGER(0..2047), + sf4096 INTEGER(0..4095), + sf8192 INTEGER(0..8191) + }, + ... +} + + +SystemInformationBlockType22-NB-r14 ::= SEQUENCE { + dl-ConfigList-r14 DL-ConfigCommonList-NB-r14 OPTIONAL, -- Need OR + ul-ConfigList-r14 UL-ConfigCommonList-NB-r14 OPTIONAL, -- Need OR + pagingWeightAnchor-r14 PagingWeight-NB-r14 OPTIONAL, -- Cond pcch-config + nprach-ProbabilityAnchorList-r14 NPRACH-ProbabilityAnchorList-NB-r14 OPTIONAL, -- Cond nprach-config + lateNonCriticalExtension OCTET STRING OPTIONAL, + ..., + [[ mixedOperationModeConfig-r15 SEQUENCE { + dl-ConfigListMixed-r15 DL-ConfigCommonList-NB-r14 OPTIONAL, -- Cond dl-ConfigList + ul-ConfigListMixed-r15 UL-ConfigCommonList-NB-r14 OPTIONAL, -- Cond ul-ConfigList + pagingDistribution-r15 ENUMERATED {true} OPTIONAL, -- Need OR + nprach-Distribution-r15 ENUMERATED {true} OPTIONAL -- Need OR + } OPTIONAL, -- Need OR + ul-ConfigList-r15 UL-ConfigCommonListTDD-NB-r15 OPTIONAL -- Cond TDD + ]] +} + +DL-ConfigCommonList-NB-r14 ::= SEQUENCE (SIZE (1.. maxNonAnchorCarriers-NB-r14)) OF + DL-ConfigCommon-NB-r14 + +UL-ConfigCommonList-NB-r14 ::= SEQUENCE (SIZE (1.. maxNonAnchorCarriers-NB-r14)) OF + UL-ConfigCommon-NB-r14 + +UL-ConfigCommonListTDD-NB-r15 ::= SEQUENCE (SIZE (1.. maxNonAnchorCarriers-NB-r14)) OF + UL-ConfigCommonTDD-NB-r15 + +DL-ConfigCommon-NB-r14 ::= SEQUENCE { + dl-CarrierConfig-r14 DL-CarrierConfigCommon-NB-r14, + pcch-Config-r14 PCCH-Config-NB-r14 OPTIONAL, -- Need OR + ..., + [[ wus-Config-r15 WUS-ConfigPerCarrier-NB-r15 OPTIONAL -- Cond WUS + ]], + [[ gwus-Config-r16 WUS-ConfigPerCarrier-NB-r15 OPTIONAL -- Cond GWUS + ]] +} + +PCCH-Config-NB-r14 ::= SEQUENCE { + npdcch-NumRepetitionPaging-r14 ENUMERATED { + r1, r2, r4, r8, r16, r32, r64, r128, + r256, r512, r1024, r2048, + spare4, spare3, spare2, spare1} OPTIONAL, -- Need OP + pagingWeight-r14 PagingWeight-NB-r14 DEFAULT w1, + ... +} + +PagingWeight-NB-r14 ::= ENUMERATED {w1, w2, w3, w4, w5, w6, w7, w8, + w9, w10, w11, w12, w13, w14, w15, w16} + +UL-ConfigCommon-NB-r14 ::= SEQUENCE { + ul-CarrierFreq-r14 CarrierFreq-NB-r13, + nprach-ParametersList-r14 NPRACH-ParametersList-NB-r14 OPTIONAL, -- Need OR + ..., + [[ nprach-ParametersListEDT-r15 NPRACH-ParametersList-NB-r14 OPTIONAL -- Cond EDT + ]], + [[ rsrp-ThresholdsPrachInfoList-r16 RSRP-ThresholdsNPRACH-InfoList-NB-r13 OPTIONAL -- Need OR + ]] +} + +UL-ConfigCommonTDD-NB-r15 ::= SEQUENCE { + tdd-UL-DL-AlignmentOffset-r15 TDD-UL-DL-AlignmentOffset-NB-r15, + nprach-ParametersListTDD-r15 NPRACH-ParametersListTDD-NB-r15 OPTIONAL, -- Need OR + ... +} + +NPRACH-ProbabilityAnchorList-NB-r14 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF + NPRACH-ProbabilityAnchor-NB-r14 + +NPRACH-ProbabilityAnchor-NB-r14 ::= SEQUENCE { + nprach-ProbabilityAnchor-r14 ENUMERATED { + zero, oneSixteenth, oneFifteenth, oneFourteenth, + oneThirteenth, oneTwelfth, oneEleventh, oneTenth, + oneNinth, oneEighth, oneSeventh, oneSixth, + oneFifth, oneFourth, oneThird, oneHalf} + OPTIONAL -- Need OP +} + + +SystemInformationBlockType23-NB-r15 ::= SEQUENCE { + ul-ConfigList-v1530 UL-ConfigCommonList-NB-v1530 OPTIONAL, -- Need OR + ul-ConfigListMixed-v1530 UL-ConfigCommonList-NB-v1530 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +UL-ConfigCommonList-NB-v1530 ::= SEQUENCE (SIZE (1.. maxNonAnchorCarriers-NB-r14)) OF + UL-ConfigCommon-NB-v1530 + +UL-ConfigCommon-NB-v1530 ::= SEQUENCE { + nprach-ParametersListFmt2-r15 NPRACH-ParametersListFmt2-NB-r15 OPTIONAL, -- Need OR + nprach-ParametersListFmt2EDT-r15 NPRACH-ParametersListFmt2-NB-r15 OPTIONAL, -- Cond EDT + ... +} + + +SystemInformationBlockType27-NB-r16 ::= SEQUENCE { + carrierFreqListEUTRA-r16 CarrierFreqListEUTRA-NB-r16 OPTIONAL, -- Need OR + carrierFreqsListGERAN-r16 CarrierFreqsListGERAN-NB-r16 OPTIONAL, -- Need OR + lateNonCriticalExtension OCTET STRING OPTIONAL, + ... +} + +CarrierFreqListEUTRA-NB-r16 ::= SEQUENCE (SIZE (1..maxFreqEUTRA-NB-r16)) OF + CarrierFreqEUTRA-NB-r16 + +CarrierFreqsListGERAN-NB-r16 ::= SEQUENCE (SIZE (1..maxFreqsGERAN-NB-r16)) OF + CarrierFreqsGERAN-NB-r16 + + +CarrierFreqEUTRA-NB-r16 ::= SEQUENCE { + carrierFreq-r16 ARFCN-ValueEUTRA-r9, + sib1-r16 ENUMERATED {supported} OPTIONAL, -- Need OR + sib1-BR-r16 ENUMERATED {supported} OPTIONAL, -- Need OR + ... +} + +CarrierFreqsGERAN-NB-r16 ::= SEQUENCE { + carrierFreqs-r16 CarrierFreqsGERAN, + ec-GSM-IOT-r16 ENUMERATED {supported} OPTIONAL, -- Need OR + peo-r16 ENUMERATED {supported} OPTIONAL, -- Need OR + ... +} + + + +CarrierConfigDedicated-NB-r13 ::= SEQUENCE { + dl-CarrierConfig-r13 DL-CarrierConfigDedicated-NB-r13, + ul-CarrierConfig-r13 UL-CarrierConfigDedicated-NB-r13 +} + +DL-CarrierConfigDedicated-NB-r13 ::= SEQUENCE { + dl-CarrierFreq-r13 CarrierFreq-NB-r13, + downlinkBitmapNonAnchor-r13 CHOICE { + useNoBitmap-r13 NULL, + useAnchorBitmap-r13 NULL, + explicitBitmapConfiguration-r13 DL-Bitmap-NB-r13, + spare NULL + } OPTIONAL, -- Need ON + dl-GapNonAnchor-r13 CHOICE { + useNoGap-r13 NULL, + useAnchorGapConfig-r13 NULL, + explicitGapConfiguration-r13 DL-GapConfig-NB-r13, + spare NULL + } OPTIONAL, -- Need ON + inbandCarrierInfo-r13 SEQUENCE { + samePCI-Indicator-r13 CHOICE { + samePCI-r13 SEQUENCE { + indexToMidPRB-r13 INTEGER (-55..54) + }, + differentPCI-r13 SEQUENCE { + eutra-NumCRS-Ports-r13 ENUMERATED {same, four} + } + } OPTIONAL, -- Cond anchor-guardband-or-standalone + eutraControlRegionSize-r13 ENUMERATED {n1, n2, n3} + } OPTIONAL, -- Cond non-anchor-inband + ..., + [[ nrs-PowerOffsetNonAnchor-v1330 ENUMERATED {dB-12, dB-10, dB-8, dB-6, + dB-4, dB-2, dB0, dB3} + OPTIONAL -- Need ON + ]], + [[ dl-GapNonAnchor-v1530 DL-GapConfig-NB-v1530 OPTIONAL -- Cond TDD1 + ]], + [[ dl-CarrierFreq-v1550 CarrierFreq-NB-v1550 OPTIONAL -- Cond TDD1 + ]] +} + +UL-CarrierConfigDedicated-NB-r13 ::= SEQUENCE { + ul-CarrierFreq-r13 CarrierFreq-NB-r13 OPTIONAL, -- Need OP + ..., + [[ tdd-UL-DL-AlignmentOffset-r15 TDD-UL-DL-AlignmentOffset-NB-r15 OPTIONAL -- Cond TDD + ]] +} + + +CarrierFreq-NB-r13 ::= SEQUENCE { + carrierFreq-r13 ARFCN-ValueEUTRA-r9, + carrierFreqOffset-r13 ENUMERATED { + v-10, v-9, v-8, v-7, v-6, v-5, v-4, v-3, v-2, v-1, v-0dot5, + v0, v1, v2, v3, v4, v5, v6, v7, v8, v9 + } OPTIONAL -- Need ON +} + +CarrierFreq-NB-v1550 ::= SEQUENCE { + carrierFreqOffset-v1550 ENUMERATED {v-8dot5, v-4dot5, v3dot5, v7dot5} +} + + +ChannelRasterOffset-NB-r13 ::= ENUMERATED {khz-7dot5, khz-2dot5, khz2dot5, khz7dot5} + + +DL-Bitmap-NB-r13 ::= CHOICE { + subframePattern10-r13 BIT STRING (SIZE (10)), + subframePattern40-r13 BIT STRING (SIZE (40)) +} + + +DL-CarrierConfigCommon-NB-r14 ::= SEQUENCE { + dl-CarrierFreq-r14 CarrierFreq-NB-r13, + downlinkBitmapNonAnchor-r14 CHOICE { + useNoBitmap-r14 NULL, + useAnchorBitmap-r14 NULL, + explicitBitmapConfiguration-r14 DL-Bitmap-NB-r13 + }, + dl-GapNonAnchor-r14 CHOICE { + useNoGap-r14 NULL, + useAnchorGapConfig-r14 NULL, + explicitGapConfiguration-r14 DL-GapConfig-NB-r13 + }, + inbandCarrierInfo-r14 SEQUENCE { + samePCI-Indicator-r14 CHOICE { + samePCI-r14 SEQUENCE { + indexToMidPRB-r14 INTEGER (-55..54) + }, + differentPCI-r14 SEQUENCE { + eutra-NumCRS-Ports-r14 ENUMERATED {same, four} + } + } OPTIONAL, -- Cond anchor-guardband-or-standalone + eutraControlRegionSize-r14 ENUMERATED {n1, n2, n3} + } OPTIONAL, -- Cond non-anchor-inband + nrs-PowerOffsetNonAnchor-r14 ENUMERATED {dB-12, dB-10, dB-8, dB-6, + dB-4, dB-2, dB0, dB3} DEFAULT dB0, + ..., + [[ dl-GapNonAnchor-v1530 DL-GapConfig-NB-v1530 OPTIONAL -- Cond TDD + ]], + [[ dl-CarrierFreq-v1550 CarrierFreq-NB-v1550 OPTIONAL -- Cond TDD + ]] +} + + + +DL-GapConfig-NB-r13 ::= SEQUENCE { + dl-GapThreshold-r13 ENUMERATED {n32, n64, n128, n256}, + dl-GapPeriodicity-r13 ENUMERATED {sf64, sf128, sf256, sf512}, + dl-GapDurationCoeff-r13 ENUMERATED {oneEighth, oneFourth, threeEighth, oneHalf} +} + +DL-GapConfig-NB-v1530 ::= SEQUENCE { + dl-GapPeriodicity-v1530 ENUMERATED {sf1024} +} + + +GWUS-Config-NB-r16 ::= SEQUENCE { + groupAlternation-r16 ENUMERATED {true} OPTIONAL, -- Need OR + commonSequence-r16 ENUMERATED {g0, g126} OPTIONAL, -- Need OR + timeParameters-r16 WUS-Config-NB-r15 OPTIONAL, -- Cond noWUSr15 + resourceConfigDRX-r16 GWUS-ResourceConfig-NB-r16, + resourceConfig-eDRX-Short-r16 GWUS-ResourceConfig-NB-r16 OPTIONAL, -- Need OP + resourceConfig-eDRX-Long-r16 GWUS-ResourceConfig-NB-r16 OPTIONAL, -- Cond timeOffset + probThreshList-r16 GWUS-ProbThreshList-NB-r16 OPTIONAL, -- Cond probabilityBased + ... +} + +GWUS-ResourceConfig-NB-r16 ::= SEQUENCE { + resourcePosition-r16 ENUMERATED {primary, secondary}, + numGroupsList-r16 GWUS-NumGroupsList-NB-r16 OPTIONAL, -- Need OP + groupsForServiceList-r16 GWUS-GroupsForServiceList-NB-r16 + OPTIONAL -- Cond probabilityBased +} + +GWUS-ProbThreshList-NB-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-NB-r16)) OF + GWUS-Paging-ProbThresh-NB-r16 + +GWUS-Paging-ProbThresh-NB-r16 ::= ENUMERATED {p20, p30, p40, p50, p60, p70, p80, p90} + +GWUS-NumGroupsList-NB-r16 ::= SEQUENCE (SIZE (1..maxGWUS-Resources-NB-r16)) OF + GWUS-NumGroups-NB-r16 + +GWUS-NumGroups-NB-r16 ::= ENUMERATED {n1, n2, n4, n8} + +GWUS-GroupsForServiceList-NB-r16 ::= SEQUENCE (SIZE (1..maxGWUS-ProbThresholds-NB-r16)) OF + INTEGER (1..maxGWUS-Groups-1-NB-r16) + + +LogicalChannelConfig-NB-r13 ::= SEQUENCE { + priority-r13 INTEGER (1..16) OPTIONAL, -- Cond UL + logicalChannelSR-Prohibit-r13 BOOLEAN OPTIONAL, -- Need ON + ... +} + + +MAC-MainConfig-NB-r13 ::= SEQUENCE { + ul-SCH-Config-r13 SEQUENCE { + periodicBSR-Timer-r13 PeriodicBSR-Timer-NB-r13 OPTIONAL, -- Need ON + retxBSR-Timer-r13 RetxBSR-Timer-NB-r13 + } OPTIONAL, -- Need ON + drx-Config-r13 DRX-Config-NB-r13 OPTIONAL, -- Need ON + timeAlignmentTimerDedicated-r13 TimeAlignmentTimer, + logicalChannelSR-Config-r13 CHOICE { + release NULL, + setup SEQUENCE { + logicalChannelSR-ProhibitTimer-r13 ENUMERATED { + pp2, pp8, pp32, pp128, pp512, + pp1024, pp2048, spare} + } + } OPTIONAL, -- Need ON + ..., + [[ rai-Activation-r14 ENUMERATED {true} OPTIONAL, -- Need OR + dataInactivityTimerConfig-r14 CHOICE { + release NULL, + setup SEQUENCE { + dataInactivityTimer-r14 DataInactivityTimer-r14 + } + } OPTIONAL -- Need ON + ]], + [[ drx-Cycle-v1430 ENUMERATED { + sf1280, sf2560, sf5120, sf10240} OPTIONAL -- Need ON + ]], + [[ ra-CFRA-Config-r14 ENUMERATED {true} OPTIONAL -- Need ON + ]] +} + +PeriodicBSR-Timer-NB-r13 ::= ENUMERATED { + pp2, pp4, pp8, pp16, pp64, pp128, infinity, spare} + +RetxBSR-Timer-NB-r13 ::= ENUMERATED { + pp4, pp16, pp64, pp128, pp256, pp512, infinity, spare} + +DRX-Config-NB-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + onDurationTimer-r13 ENUMERATED { + pp1, pp2, pp3, pp4, pp8, pp16, pp32, spare}, + drx-InactivityTimer-r13 ENUMERATED { + pp0, pp1, pp2, pp3, pp4, pp8, pp16, pp32}, + drx-RetransmissionTimer-r13 ENUMERATED { + pp0, pp1, pp2, pp4, pp6, pp8, pp16, pp24, + pp33, spare7, spare6, spare5, + spare4, spare3, spare2, spare1}, + drx-Cycle-r13 ENUMERATED { + sf256, sf512, sf1024, sf1536, sf2048, sf3072, + sf4096, sf4608, sf6144, sf7680, sf8192, sf9216, + spare4, spare3, spare2, spare1}, + drx-StartOffset-r13 INTEGER (0..255), + drx-ULRetransmissionTimer-r13 ENUMERATED { + pp0, pp1, pp2, pp4, pp6, pp8, pp16, pp24, + pp33, pp40, pp64, pp80, pp96, + pp112, pp128, pp160, pp320} + } +} + + + +NPDCCH-ConfigDedicated-NB-r13 ::= SEQUENCE { + npdcch-NumRepetitions-r13 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, + r256, r512, r1024, r2048, + spare4, spare3, spare2, spare1}, + npdcch-StartSF-USS-r13 ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64}, + npdcch-Offset-USS-r13 ENUMERATED {zero, oneEighth, oneFourth, threeEighth} +} + +NPDCCH-ConfigDedicated-NB-v1530 ::= SEQUENCE { + npdcch-StartSF-USS-v1530 ENUMERATED {v96, v128} +} + + + +NPDSCH-ConfigCommon-NB-r13 ::= SEQUENCE { + nrs-Power-r13 INTEGER (-60..50) +} + +NPDSCH-ConfigDedicated-NB-r16 ::= SEQUENCE { + npdsch-MultiTB-Config-r16 NPDSCH-MultiTB-Config-NB-r16 OPTIONAL -- Cond twoHARQ +} + +NPDSCH-MultiTB-Config-NB-r16 ::= SEQUENCE { + multiTB-Config-r16 ENUMERATED {interleaved, nonInterleaved}, + harq-AckBundling-r16 ENUMERATED {true} OPTIONAL -- Cond interleaved +} + + +NPRACH-ConfigSIB-NB-r13 ::= SEQUENCE { + nprach-CP-Length-r13 ENUMERATED {us66dot7, us266dot7}, + rsrp-ThresholdsPrachInfoList-r13 RSRP-ThresholdsNPRACH-InfoList-NB-r13 OPTIONAL, -- Need OR + nprach-ParametersList-r13 NPRACH-ParametersList-NB-r13 +} + +NPRACH-ConfigSIB-NB-v1330 ::= SEQUENCE { + nprach-ParametersList-v1330 NPRACH-ParametersList-NB-v1330 +} + +NPRACH-ConfigSIB-NB-v1450 ::= SEQUENCE { + maxNumPreambleAttemptCE-r14 ENUMERATED {n3, n4, n5, n6, n7, n8, n10, spare1} +} + +NPRACH-ConfigSIB-NB-v1530 ::= SEQUENCE { + tdd-Parameters-r15 SEQUENCE { + nprach-PreambleFormat-r15 ENUMERATED { + fmt0, fmt1, fmt2, fmt0-a, fmt1-a}, + dummy ENUMERATED { + n1, n2, n4, n8, n16, n32, n64, n128, + n256, n512, n1024}, + nprach-ParametersListTDD-r15 NPRACH-ParametersListTDD-NB-r15 + } OPTIONAL, -- Cond TDD + fmt2-Parameters-r15 SEQUENCE { + nprach-ParametersListFmt2-r15 NPRACH-ParametersListFmt2-NB-r15 OPTIONAL, -- Need OR + nprach-ParametersListFmt2EDT-r15 NPRACH-ParametersListFmt2-NB-r15 OPTIONAL -- Cond EDT2 + } OPTIONAL, -- Need OR + edt-Parameters-r15 SEQUENCE { + edt-SmallTBS-Subset-r15 ENUMERATED {true} OPTIONAL, -- Need OR + edt-TBS-InfoList-r15 EDT-TBS-InfoList-NB-r15, + nprach-ParametersListEDT-r15 NPRACH-ParametersList-NB-r14 OPTIONAL -- Need OR + } OPTIONAL -- Cond EDT1 +} + +NPRACH-ConfigSIB-NB-v1550 ::= SEQUENCE { + tdd-Parameters-v1550 SEQUENCE { + nprach-ParametersListTDD-v1550 NPRACH-ParametersListTDD-NB-v1550 + } +} + +NPRACH-ParametersList-NB-r13 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF NPRACH-Parameters-NB-r13 + +NPRACH-ParametersList-NB-v1330 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF NPRACH-Parameters-NB-v1330 + +NPRACH-Parameters-NB-r13::= SEQUENCE { + nprach-Periodicity-r13 ENUMERATED {ms40, ms80, ms160, ms240, + ms320, ms640, ms1280, ms2560}, + nprach-StartTime-r13 ENUMERATED {ms8, ms16, ms32, ms64, + ms128, ms256, ms512, ms1024}, + nprach-SubcarrierOffset-r13 ENUMERATED {n0, n12, n24, n36, n2, n18, n34, spare1}, + nprach-NumSubcarriers-r13 ENUMERATED {n12, n24, n36, n48}, + nprach-SubcarrierMSG3-RangeStart-r13 ENUMERATED {zero, oneThird, twoThird, one}, + maxNumPreambleAttemptCE-r13 ENUMERATED {n3, n4, n5, n6, n7, n8, n10, spare1}, + numRepetitionsPerPreambleAttempt-r13 ENUMERATED {n1, n2, n4, n8, n16, n32, n64, n128}, + npdcch-NumRepetitions-RA-r13 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, + r256, r512, r1024, r2048, + spare4, spare3, spare2, spare1}, + npdcch-StartSF-CSS-RA-r13 ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64}, + npdcch-Offset-RA-r13 ENUMERATED {zero, oneEighth, oneFourth, threeEighth} +} + +NPRACH-Parameters-NB-v1330 ::= SEQUENCE { + nprach-NumCBRA-StartSubcarriers-r13 ENUMERATED {n8, n10, n11, n12, n20, n22, n23, n24, + n32, n34, n35, n36, n40, n44, n46, n48} +} + +NPRACH-ParametersList-NB-r14 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF + NPRACH-Parameters-NB-r14 + +NPRACH-Parameters-NB-r14 ::= SEQUENCE { + nprach-Parameters-r14 SEQUENCE { + nprach-Periodicity-r14 ENUMERATED {ms40, ms80, ms160, ms240, + ms320, ms640, ms1280, ms2560} + OPTIONAL, -- NEED OP + nprach-StartTime-r14 ENUMERATED {ms8, ms16, ms32, ms64, + ms128, ms256, ms512, ms1024} + OPTIONAL, -- NEED OP + nprach-SubcarrierOffset-r14 ENUMERATED {n0, n12, n24, n36, n2, n18, n34, spare1} + OPTIONAL, -- NEED OP + nprach-NumSubcarriers-r14 ENUMERATED {n12, n24, n36, n48} + OPTIONAL, -- NEED OP + nprach-SubcarrierMSG3-RangeStart-r14 ENUMERATED {zero, oneThird, twoThird, one} + OPTIONAL, -- NEED OP + npdcch-NumRepetitions-RA-r14 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, + r256, r512, r1024, r2048, + spare4, spare3, spare2, spare1} + OPTIONAL, -- NEED OP + npdcch-StartSF-CSS-RA-r14 ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64} + OPTIONAL, -- NEED OP + npdcch-Offset-RA-r14 ENUMERATED {zero, oneEighth, oneFourth, threeEighth} + OPTIONAL, -- NEED OP + nprach-NumCBRA-StartSubcarriers-r14 ENUMERATED {n8, n10, n11, n12, n20, n22, n23, n24, + n32, n34, n35, n36, n40, n44, n46, n48} + OPTIONAL, -- NEED OP + npdcch-CarrierIndex-r14 INTEGER (1..maxNonAnchorCarriers-NB-r14) + OPTIONAL, -- Need OP + ... + } OPTIONAL -- Need OR +} + +NPRACH-ParametersListTDD-NB-r15 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF + NPRACH-ParametersTDD-NB-r15 + +NPRACH-ParametersTDD-NB-r15 ::= SEQUENCE { + nprach-Parameters-r15 SEQUENCE { + nprach-Periodicity-r15 ENUMERATED {ms80, ms160, ms320, ms640, + ms1280, ms2560, ms5120, ms10240} + OPTIONAL, -- NEED OP + nprach-StartTime-r15 ENUMERATED {ms10, ms20, ms40, ms80, + ms160, ms320, ms640, ms1280, + ms2560, ms5120, spare6, spare5, + spare4, spare3, spare2, spare1} + OPTIONAL, -- NEED OP + nprach-SubcarrierOffset-r15 ENUMERATED {n0, n12, n24, n36, n2, n18, n34, spare1} + OPTIONAL, -- NEED OP + nprach-NumSubcarriers-r15 ENUMERATED {n12, n24, n36, n48} + OPTIONAL, -- NEED OP + nprach-SubcarrierMSG3-RangeStart-r15 ENUMERATED {zero, oneThird, twoThird, one} + OPTIONAL, -- NEED OP + npdcch-NumRepetitions-RA-r15 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, + r256, r512, r1024, r2048, + spare4, spare3, spare2, spare1} + OPTIONAL, -- NEED OP + npdcch-StartSF-CSS-RA-r15 ENUMERATED {v4, v8, v16, v32, v48, v64, v96, v128} + OPTIONAL, -- NEED OP + npdcch-Offset-RA-r15 ENUMERATED {zero, oneEighth, oneFourth, threeEighth} + OPTIONAL, -- NEED OP + nprach-NumCBRA-StartSubcarriers-r15 ENUMERATED {n8, n10, n11, n12, n20, n22, n23, n24, + n32, n34, n35, n36, n40, n44, n46, n48} + OPTIONAL, -- NEED OP + ... + } OPTIONAL -- Need OR +} + +NPRACH-ParametersListTDD-NB-v1550 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF + NPRACH-ParametersTDD-NB-v1550 + +NPRACH-ParametersTDD-NB-v1550 ::= SEQUENCE { + maxNumPreambleAttemptCE-v1550 ENUMERATED {n3, n4, n5, n6, n7, n8, n10, spare1}, + numRepetitionsPerPreambleAttempt-v1550 ENUMERATED {n1, n2, n4, n8, n16, n32, n64, n128, + n256, n512, n1024} +} + +NPRACH-ParametersListFmt2-NB-r15 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF NPRACH-ParametersFmt2-NB-r15 + +NPRACH-ParametersFmt2-NB-r15 ::= SEQUENCE { + nprach-Parameters-r15 SEQUENCE { + nprach-Periodicity-r15 ENUMERATED {ms40, ms80, ms160, ms320, + ms640, ms1280, ms2560, ms5120} + OPTIONAL, -- NEED OP + nprach-StartTime-r15 ENUMERATED {ms8, ms16, ms32, ms64, + ms128, ms256, ms512, ms1024} + OPTIONAL, -- NEED OP + nprach-SubcarrierOffset-r15 ENUMERATED {n0, n36, n72, n108, n6, n54, n102, n42, + n78, n90, n12, n24, n48, n84, n60, n18} + OPTIONAL, -- NEED OP + nprach-NumSubcarriers-r15 ENUMERATED {n36, n72, n108, n144} + OPTIONAL, -- NEED OP + nprach-SubcarrierMSG3-RangeStart-r15 ENUMERATED {zero, oneThird, twoThird, one} + OPTIONAL, -- NEED OP + npdcch-NumRepetitions-RA-r15 ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128, + r256, r512, r1024, r2048, + spare4, spare3, spare2, spare1} + OPTIONAL, -- NEED OP + npdcch-StartSF-CSS-RA-r15 ENUMERATED {v1dot5, v2, v4, v8, v16, v32, v48, v64} + OPTIONAL, -- NEED OP + npdcch-Offset-RA-r15 ENUMERATED {zero, oneEighth, oneFourth, threeEighth} + OPTIONAL, -- NEED OP + nprach-NumCBRA-StartSubcarriers-r15 ENUMERATED { + n24, n30, n33, n36, n60, n66, n69, n72, + n96, n102, n105, n108, n120, n132, n138, n144} + OPTIONAL, -- NEED OP + npdcch-CarrierIndex-r15 INTEGER (1..maxNonAnchorCarriers-NB-r14) + OPTIONAL, -- Need OP + ... + } OPTIONAL -- Need OR +} + +RSRP-ThresholdsNPRACH-InfoList-NB-r13 ::= SEQUENCE (SIZE(1..2)) OF RSRP-Range + +EDT-TBS-InfoList-NB-r15 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF EDT-TBS-NB-r15 + +EDT-TBS-NB-r15 ::= SEQUENCE { + edt-SmallTBS-Enabled-r15 BOOLEAN, + edt-TBS-r15 ENUMERATED {b328, b408, b504, b584, b680, b808, b936, b1000} +} + + +NPUSCH-ConfigCommon-NB-r13 ::= SEQUENCE { + ack-NACK-NumRepetitions-Msg4-r13 SEQUENCE (SIZE(1.. maxNPRACH-Resources-NB-r13)) OF + ACK-NACK-NumRepetitions-NB-r13, + srs-SubframeConfig-r13 ENUMERATED { + sc0, sc1, sc2, sc3, sc4, sc5, sc6, sc7, + sc8, sc9, sc10, sc11, sc12, sc13, sc14, sc15 + } OPTIONAL, -- Need OR + dmrs-Config-r13 SEQUENCE { + threeTone-BaseSequence-r13 INTEGER (0..12) OPTIONAL, -- Need OP + threeTone-CyclicShift-r13 INTEGER (0..2), + sixTone-BaseSequence-r13 INTEGER (0..14) OPTIONAL, -- Need OP + sixTone-CyclicShift-r13 INTEGER (0..3), + twelveTone-BaseSequence-r13 INTEGER (0..30) OPTIONAL -- Need OP + } OPTIONAL, -- Need OR + ul-ReferenceSignalsNPUSCH-r13 UL-ReferenceSignalsNPUSCH-NB-r13 +} + +UL-ReferenceSignalsNPUSCH-NB-r13 ::= SEQUENCE { + groupHoppingEnabled-r13 BOOLEAN, + groupAssignmentNPUSCH-r13 INTEGER (0..29) +} + +NPUSCH-ConfigDedicated-NB-r13 ::= SEQUENCE { + ack-NACK-NumRepetitions-r13 ACK-NACK-NumRepetitions-NB-r13 OPTIONAL, -- Need ON + npusch-AllSymbols-r13 BOOLEAN OPTIONAL, -- Cond SRS + groupHoppingDisabled-r13 ENUMERATED {true} OPTIONAL -- Need OR +} + +NPUSCH-ConfigDedicated-NB-v1610 ::= SEQUENCE { + npusch-MultiTB-Config-r16 ENUMERATED {interleaved, nonInterleaved} +} + +ACK-NACK-NumRepetitions-NB-r13 ::= ENUMERATED {r1, r2, r4, r8, r16, r32, r64, r128} + + + +PDCP-Config-NB-r13 ::= SEQUENCE { + discardTimer-r13 ENUMERATED { + ms5120, ms10240, ms20480, ms40960, + ms81920, infinity, spare2, spare1 + } OPTIONAL, -- Cond Setup + headerCompression-r13 CHOICE { + notUsed NULL, + rohc SEQUENCE { + maxCID-r13 INTEGER (1..16383) DEFAULT 15, + profiles-r13 SEQUENCE { + profile0x0002 BOOLEAN, + profile0x0003 BOOLEAN, + profile0x0004 BOOLEAN, + profile0x0006 BOOLEAN, + profile0x0102 BOOLEAN, + profile0x0103 BOOLEAN, + profile0x0104 BOOLEAN + }, + ... + } + }, + ..., + [[ cipheringDisabled-r16 ENUMERATED {true} OPTIONAL -- Cond ConnectedTo5GC + ]] +} + + +PhysicalConfigDedicated-NB-r13 ::= SEQUENCE { + carrierConfigDedicated-r13 CarrierConfigDedicated-NB-r13 OPTIONAL, -- Need ON + npdcch-ConfigDedicated-r13 NPDCCH-ConfigDedicated-NB-r13 OPTIONAL, -- Need ON + npusch-ConfigDedicated-r13 NPUSCH-ConfigDedicated-NB-r13 OPTIONAL, -- Need ON + uplinkPowerControlDedicated-r13 UplinkPowerControlDedicated-NB-r13 OPTIONAL, -- Need ON + ..., + [[ twoHARQ-ProcessesConfig-r14 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ interferenceRandomisationConfig-r14 ENUMERATED {true} OPTIONAL -- Need OR + ]], + [[ npdcch-ConfigDedicated-v1530 NPDCCH-ConfigDedicated-NB-v1530 OPTIONAL -- Cond TDD + ]], + [[ additionalTxSIB1-Config-v1540 ENUMERATED {true} OPTIONAL -- Cond additionalSIB1 + ]], + [[ npusch-ConfigDedicated-v1610 NPUSCH-ConfigDedicated-NB-v1610 + OPTIONAL, -- Cond twoHARQ + npdsch-ConfigDedicated-r16 NPDSCH-ConfigDedicated-NB-r16 + OPTIONAL, -- Need ON + resourceReservationConfigDL-r16 SetupRelease {ResourceReservationConfig-NB-r16} + OPTIONAL, -- Cond dl-NonAnchor + resourceReservationConfigUL-r16 SetupRelease {ResourceReservationConfig-NB-r16} + OPTIONAL -- Cond ul-NonAnchor + ]] +} + + +PUR-Config-NB-r16 ::= SEQUENCE { + pur-ConfigID-r16 PUR-ConfigID-NB-r16 OPTIONAL, --Need OR + pur-TimeAlignmentTimer-r16 INTEGER (1..8) OPTIONAL, --Need OR + pur-NRSRP-ChangeThreshold-r16 SetupRelease {PUR-NRSRP-ChangeThreshold-NB-r16} + OPTIONAL, --Need ON + pur-ImplicitReleaseAfter-r16 ENUMERATED {n2, n4, n8, spare} OPTIONAL, --Need OR + pur-RNTI-r16 C-RNTI OPTIONAL, --Need ON + pur-ResponseWindowTimer-r16 ENUMERATED {pp1, pp2, pp3, pp4, pp8, pp16, pp32, pp64} + OPTIONAL, --Need ON + pur-StartTimeParameters-r16 SEQUENCE { + periodicityAndOffset-r16 PUR-PeriodicityAndOffset-NB-r16, + startSFN-r16 INTEGER (0..1023), + startSubframe-r16 INTEGER (0..9), + hsfn-LSB-Info-r16 BIT STRING (SIZE(1)) + } OPTIONAL, --Need ON + pur-NumOccasions-r16 ENUMERATED {one, infinite}, + pur-PhysicalConfig-r16 SEQUENCE { + carrierConfig-r16 CarrierConfigDedicated-NB-r13, + npusch-NumRUsIndex-r16 INTEGER (0..7), + npusch-NumRepetitionsIndex-r16 INTEGER (0..7), + npusch-SubCarrierSetIndex-r16 CHOICE { + khz15 INTEGER (0..18), + khz3dot75 INTEGER (0..47) + }, + npusch-MCS-r16 CHOICE { + singleTone INTEGER (0..10), + multiTone INTEGER (0..13) + }, + p0-UE-NPUSCH-r16 INTEGER (-8..7), + alpha-r16 ENUMERATED {al0, al04, al05, al06, + al07, al08, al09, al1}, + npusch-CyclicShift-r16 ENUMERATED {n0, n6}, + npdcch-Config-r16 NPDCCH-ConfigDedicated-NB-r13 + } OPTIONAL, -- Need ON + ..., + [[ + pur-PhysicalConfig-v1650 SEQUENCE { + ack-NACK-NumRepetitions-r16 ACK-NACK-NumRepetitions-NB-r13 + } OPTIONAL --Need ON + ]] +} + +PUR-NRSRP-ChangeThreshold-NB-r16 ::= SEQUENCE { + increaseThresh-r16 NRSRP-ChangeThresh-NB-r16, + decreaseThresh-r16 NRSRP-ChangeThresh-NB-r16 OPTIONAL --Need OP +} + +NRSRP-ChangeThresh-NB-r16 ::= ENUMERATED {dB4, dB6, dB8, dB10, dB14, dB18, dB22, dB26, dB30, dB34, spare6, spare5, spare4, spare3, spare2, spare1} + + +PUR-ConfigID-NB-r16 ::= BIT STRING (SIZE(20)) + + +PUR-PeriodicityAndOffset-NB-r16 ::= CHOICE { + periodicity8 INTEGER (1..7), + periodicity16 INTEGER (1..15), + periodicity32 INTEGER (1..31), + periodicity64 INTEGER (1..63), + periodicity128 INTEGER (1..127), + periodicity256 INTEGER (1..257), + periodicity512 INTEGER (1..511), + periodicity1024 INTEGER (1..1023), + periodicity2048 INTEGER (1..2047), + periodicity4096 INTEGER (1..4095), + periodicity8192 INTEGER (1..8191) +} + + +RACH-ConfigCommon-NB-r13 ::= SEQUENCE { + preambleTransMax-CE-r13 PreambleTransMax, + powerRampingParameters-r13 PowerRampingParameters, + rach-InfoList-r13 RACH-InfoList-NB-r13, + connEstFailOffset-r13 INTEGER (0..15) OPTIONAL, -- Need OP + ..., + [[ powerRampingParameters-v1450 PowerRampingParameters-NB-v1450 OPTIONAL -- Need OR + ]], + [[ rach-InfoList-v1530 RACH-InfoList-NB-v1530 OPTIONAL -- Cond EDT + ]] +} + +RACH-InfoList-NB-r13 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF RACH-Info-NB-r13 + +RACH-InfoList-NB-v1530 ::= SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF RACH-Info-NB-v1530 + +RACH-Info-NB-r13 ::= SEQUENCE { + ra-ResponseWindowSize-r13 ENUMERATED { + pp2, pp3, pp4, pp5, pp6, pp7, pp8, pp10}, + mac-ContentionResolutionTimer-r13 ENUMERATED { + pp1, pp2, pp3, pp4, pp8, pp16, pp32, pp64} +} + +RACH-Info-NB-v1530 ::= SEQUENCE { + mac-ContentionResolutionTimer-r15 ENUMERATED { + pp1, pp2, pp3, pp4, pp8, pp16, pp32, pp64} +} + +PowerRampingParameters-NB-v1450 ::= SEQUENCE { + preambleInitialReceivedTargetPower-v1450 ENUMERATED { + dBm-130, dBm-128, dBm-126, dBm-124, dBm-122, + dBm-88, dBm-86, dBm-84,dBm-82, dBm-80} + OPTIONAL, -- Need OR + powerRampingParametersCE1-r14 SEQUENCE { + powerRampingStepCE1-r14 ENUMERATED {dB0, dB2, dB4, dB6}, + preambleInitialReceivedTargetPowerCE1-r14 ENUMERATED { + dBm-130, dBm-128, dBm-126, dBm-124, dBm-122, + dBm-120, dBm-118, dBm-116, dBm-114, dBm-112, + dBm-110, dBm-108, dBm-106, dBm-104, dBm-102, + dBm-100, dBm-98, dBm-96, dBm-94, dBm-92, + dBm-90, dBm-88, dBm-86, dBm-84, dBm-82, dBm-80} + } OPTIONAL -- Need OR +} + + +RadioResourceConfigCommonSIB-NB-r13 ::= SEQUENCE { + rach-ConfigCommon-r13 RACH-ConfigCommon-NB-r13, + bcch-Config-r13 BCCH-Config-NB-r13, + pcch-Config-r13 PCCH-Config-NB-r13, + nprach-Config-r13 NPRACH-ConfigSIB-NB-r13, + npdsch-ConfigCommon-r13 NPDSCH-ConfigCommon-NB-r13, + npusch-ConfigCommon-r13 NPUSCH-ConfigCommon-NB-r13, + dl-Gap-r13 DL-GapConfig-NB-r13 OPTIONAL, -- Need OP + uplinkPowerControlCommon-r13 UplinkPowerControlCommon-NB-r13, + ..., + [[ nprach-Config-v1330 NPRACH-ConfigSIB-NB-v1330 OPTIONAL -- Need OR + ]], + [[ nprach-Config-v1450 NPRACH-ConfigSIB-NB-v1450 OPTIONAL -- Cond EnhPowerControl + ]], + [[ nprach-Config-v1530 NPRACH-ConfigSIB-NB-v1530 OPTIONAL, -- Need OR + dl-Gap-v1530 DL-GapConfig-NB-v1530 OPTIONAL, -- Cond TDD + wus-Config-r15 WUS-Config-NB-r15 OPTIONAL -- Need OR + ]], + [[ nprach-Config-v1550 NPRACH-ConfigSIB-NB-v1550 OPTIONAL -- Cond TDD1 + ]], + [[ + gwus-Config-r16 GWUS-Config-NB-r16 OPTIONAL, -- Need OR + nrs-NonAnchorConfig-r16 ENUMERATED {true} OPTIONAL, -- Need OR + ue-SpecificDRX-CycleMin-r16 ENUMERATED {rf32, rf64, rf128, rf256, rf512, + rf1024} OPTIONAL -- Need OR + ]] +} + +BCCH-Config-NB-r13 ::= SEQUENCE { + modificationPeriodCoeff-r13 ENUMERATED {n16, n32, n64, n128} +} + +PCCH-Config-NB-r13 ::= SEQUENCE { + defaultPagingCycle-r13 ENUMERATED {rf128, rf256, rf512, rf1024}, + nB-r13 ENUMERATED { + fourT, twoT, oneT, halfT, quarterT, one8thT, + one16thT, one32ndT, one64thT, + one128thT, one256thT, one512thT, one1024thT, + spare3, spare2, spare1}, + npdcch-NumRepetitionPaging-r13 ENUMERATED { + r1, r2, r4, r8, r16, r32, r64, r128, + r256, r512, r1024, r2048, + spare4, spare3, spare2, spare1} +} + + +RadioResourceConfigDedicated-NB-r13 ::= SEQUENCE { + srb-ToAddModList-r13 SRB-ToAddModList-NB-r13 OPTIONAL, -- Need ON + drb-ToAddModList-r13 DRB-ToAddModList-NB-r13 OPTIONAL, -- Need ON + drb-ToReleaseList-r13 DRB-ToReleaseList-NB-r13 OPTIONAL, -- Need ON + mac-MainConfig-r13 CHOICE { + explicitValue-r13 MAC-MainConfig-NB-r13, + defaultValue-r13 NULL + } OPTIONAL, -- Need ON + physicalConfigDedicated-r13 PhysicalConfigDedicated-NB-r13 OPTIONAL, -- Need ON + rlf-TimersAndConstants-r13 RLF-TimersAndConstants-NB-r13 OPTIONAL, -- Need ON + ..., + [[ schedulingRequestConfig-r15 SchedulingRequestConfig-NB-r15 OPTIONAL -- Need ON + ]], + [[ newUE-Identity-r16 C-RNTI OPTIONAL -- Need OP + ]] +} + +SRB-ToAddModList-NB-r13 ::= SEQUENCE (SIZE (1)) OF SRB-ToAddMod-NB-r13 + +SRB-ToAddMod-NB-r13 ::= SEQUENCE { + rlc-Config-r13 CHOICE { + explicitValue RLC-Config-NB-r13, + defaultValue NULL + } OPTIONAL, -- Cond Setup + logicalChannelConfig-r13 CHOICE { + explicitValue LogicalChannelConfig-NB-r13, + defaultValue NULL + } OPTIONAL, -- Cond Setup + ..., + [[ rlc-Config-v1430 RLC-Config-NB-v1430 OPTIONAL -- Need ON + ]] +} + +DRB-ToAddModList-NB-r13 ::= SEQUENCE (SIZE (1..maxDRB-NB-r13)) OF DRB-ToAddMod-NB-r13 + +DRB-ToAddMod-NB-r13 ::= SEQUENCE { + eps-BearerIdentity-r13 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup-EPC + drb-Identity-r13 DRB-Identity, + pdcp-Config-r13 PDCP-Config-NB-r13 OPTIONAL, -- Cond Setup + rlc-Config-r13 RLC-Config-NB-r13 OPTIONAL, -- Cond Setup + logicalChannelIdentity-r13 INTEGER (3..10) OPTIONAL, -- Cond DRB-Setup + logicalChannelConfig-r13 LogicalChannelConfig-NB-r13 OPTIONAL, -- Cond Setup + ..., + [[ rlc-Config-v1430 RLC-Config-NB-v1430 OPTIONAL -- Need ON + ]], + [[ pdu-Session-r16 PDU-SessionID-NB-r16 OPTIONAL -- Cond DRB-Setup-5GC + ]] +} + +PDU-SessionID-NB-r16 ::= INTEGER (0..255) + +DRB-ToReleaseList-NB-r13 ::= SEQUENCE (SIZE (1..maxDRB-NB-r13)) OF DRB-Identity + + +ResourceReservationConfig-NB-r16::= SEQUENCE { + periodicity-r16 ENUMERATED {ms10, ms20, ms40, ms80, ms160, spare3, spare2, spare1}, + startPosition-r16 INTEGER (0..15), + resourceReservation-r16 CHOICE { + subframeBitmap-r16 CHOICE { + subframePattern10ms BIT STRING (SIZE (10)), + subframePattern40ms BIT STRING (SIZE (40)) + }, + slotConfig-r16 SEQUENCE { + slotBitmap-r16 CHOICE { + slotPattern10ms BIT STRING (SIZE (20)), + slotPattern40ms BIT STRING (SIZE (80)) + }, + symbolBitmap-r16 CHOICE { + symbolBitmapFddDl SEQUENCE { + symbolBitmap1-r16 BIT STRING (SIZE (5)) OPTIONAL, -- Cond Bitmap1 + symbolBitmap2-r16 BIT STRING (SIZE (5)) OPTIONAL -- Cond Bitmap2 + }, + symbolBitmapFddUlOrTdd SEQUENCE { + symbolBitmap1-r16 BIT STRING (SIZE (7)) OPTIONAL, -- Cond Bitmap1 + symbolBitmap2-r16 BIT STRING (SIZE (7)) OPTIONAL -- Cond Bitmap2 + } + } + } + }, + ... +} + + +RLC-Config-NB-r13 ::= CHOICE { + am SEQUENCE { + ul-AM-RLC-r13 UL-AM-RLC-NB-r13, + dl-AM-RLC-r13 DL-AM-RLC-NB-r13 + }, + ..., + um-Bi-Directional-r15 NULL, + um-Uni-Directional-UL-r15 NULL, + um-Uni-Directional-DL-r15 NULL +} + +RLC-Config-NB-v1430 ::= SEQUENCE { + t-Reordering-r14 T-Reordering OPTIONAL -- Cond twoHARQ +} + +UL-AM-RLC-NB-r13 ::= SEQUENCE { + t-PollRetransmit-r13 T-PollRetransmit-NB-r13, + maxRetxThreshold-r13 ENUMERATED {t1, t2, t3, t4, t6, t8, t16, t32} +} + +DL-AM-RLC-NB-r13 ::= SEQUENCE { + enableStatusReportSN-Gap-r13 ENUMERATED {true} OPTIONAL +} + +T-PollRetransmit-NB-r13 ::= ENUMERATED { + ms250, ms500, ms1000, ms2000, ms3000, ms4000, + ms6000, ms10000, ms15000, ms25000, ms40000, ms60000, + ms90000, ms120000, ms180000, ms300000-v1530} + + + + +RLF-TimersAndConstants-NB-r13 ::= CHOICE { + release NULL, + setup SEQUENCE { + t301-r13 ENUMERATED { + ms2500, ms4000, ms6000, ms10000, + ms15000, ms25000, ms40000, ms60000}, + t310-r13 ENUMERATED { + ms0, ms200, ms500, ms1000, ms2000, ms4000, ms8000}, + n310-r13 ENUMERATED { + n1, n2, n3, n4, n6, n8, n10, n20}, + t311-r13 ENUMERATED { + ms1000, ms3000, ms5000, ms10000, ms15000, + ms20000, ms30000}, + n311-r13 ENUMERATED { + n1, n2, n3, n4, n5, n6, n8, n10}, + ..., + [[ t311-v1350 ENUMERATED { + ms40000, ms60000, ms90000, ms120000} + OPTIONAL -- Need OR + ]], + [[ t301-v1530 ENUMERATED { + ms80000, ms100000, ms120000} + OPTIONAL, -- Cond TDD + t311-v1530 ENUMERATED { + ms160000, ms200000} + OPTIONAL -- Cond TDD + ]] + } +} + + +SchedulingRequestConfig-NB-r15 ::= SEQUENCE { + sr-WithHARQ-ACK-Config-r15 ENUMERATED {true} OPTIONAL, + sr-WithoutHARQ-ACK-Config-r15 SR-WithoutHARQ-ACK-Config-NB-r15 OPTIONAL, -- Need ON + sr-SPS-BSR-Config-r15 SR-SPS-BSR-Config-NB-r15 OPTIONAL, -- Need ON + ... +} + +SR-WithoutHARQ-ACK-Config-NB-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + sr-ProhibitTimer-r15 INTEGER (0..7) OPTIONAL, -- Need ON + sr-NPRACH-Resource-r15 SR-NPRACH-Resource-NB-r15 OPTIONAL -- Need ON + } +} + +SR-NPRACH-Resource-NB-r15 ::= SEQUENCE { + nprach-CarrierIndex-r15 INTEGER (0..maxNonAnchorCarriers-NB-r14), + nprach-ResourceIndex-r15 INTEGER (1..maxNPRACH-Resources-NB-r13), + nprach-SubCarrierIndex-r15 CHOICE { + nprach-Fmt0Fmt1-r15 INTEGER (0..47), + nprach-Fmt2-r15 INTEGER (0..143) + }, + p0-SR-r15 INTEGER (-126..24), + alpha-r15 ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1}} + +SR-SPS-BSR-Config-NB-r15 ::= CHOICE { + release NULL, + setup SEQUENCE { + semiPersistSchedC-RNTI-r15 C-RNTI, + semiPersistSchedIntervalUL-r15 ENUMERATED {sf128, sf256, sf512, sf1024, + sf1280, sf2048, sf2560, sf5120} + } +} + + +TDD-Config-NB-r15 ::= SEQUENCE { + subframeAssignment-r15 ENUMERATED { + sa1, sa2, sa3, sa4, sa5}, + specialSubframePatterns-r15 ENUMERATED { + ssp0, ssp1, ssp2, ssp3, ssp4, ssp5, ssp6, ssp7, + ssp8, ssp9, ssp10, ssp10-CRS-LessDwPTS} +} + + +TDD-UL-DL-AlignmentOffset-NB-r15 ::= ENUMERATED { khz-7dot5, khz0, khz7dot5} + + + +UplinkPowerControlCommon-NB-r13 ::= SEQUENCE { + p0-NominalNPUSCH-r13 INTEGER (-126..24), + alpha-r13 ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1}, + deltaPreambleMsg3-r13 INTEGER (-1..6) +} + +UplinkPowerControlDedicated-NB-r13 ::= SEQUENCE { + p0-UE-NPUSCH-r13 INTEGER (-8..7) +} + + +WUS-Config-NB-r15 ::= SEQUENCE { + maxDurationFactor-r15 WUS-MaxDurationFactor-NB-r15, + numPOs-r15 ENUMERATED {n1, n2, n4} DEFAULT n1, + numDRX-CyclesRelaxed-r15 ENUMERATED {n1, n2, n4, n8}, + timeOffsetDRX-r15 ENUMERATED {ms40, ms80, ms160, ms240}, + timeOffset-eDRX-Short-r15 ENUMERATED {ms40, ms80, ms160, ms240}, + timeOffset-eDRX-Long-r15 ENUMERATED {ms1000, ms2000} OPTIONAL, -- Need OP + ... +} + +WUS-ConfigPerCarrier-NB-r15 ::= SEQUENCE { + maxDurationFactor-r15 WUS-MaxDurationFactor-NB-r15 +} + +WUS-MaxDurationFactor-NB-r15 ::= ENUMERATED {one128th, one64th, one32th, one16th, + oneEighth, oneQuarter, oneHalf} + +AdditionalBandInfoList-NB-r14 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-NB-r13 + + +FreqBandIndicator-NB-r13 ::= INTEGER (1.. maxFBI2) + + +MultiBandInfoList-NB-r13 ::= SEQUENCE (SIZE (1..maxMultiBands)) OF MultiBandInfo-NB-r13 + +MultiBandInfo-NB-r13 ::= SEQUENCE { + freqBandIndicator-r13 FreqBandIndicator-NB-r13 OPTIONAL, -- Need OR + freqBandInfo-r13 NS-PmaxList-NB-r13 OPTIONAL -- Need OR +} + + +NS-PmaxList-NB-r13 ::= SEQUENCE (SIZE (1..maxNS-Pmax-NB-r13)) OF NS-PmaxValue-NB-r13 + +NS-PmaxValue-NB-r13 ::= SEQUENCE { + additionalPmax-r13 P-Max OPTIONAL, -- Need OR + additionalSpectrumEmission-r13 AdditionalSpectrumEmission +} + + +ReselectionThreshold-NB-v1360 ::= INTEGER (32..63) + + +T-Reselection-NB-r13 ::= ENUMERATED {s0, s3, s6, s9, s12, s15, s18, s21} + + +ANR-MeasConfig-NB-r16 ::= SEQUENCE { + anr-QualityThreshold-r16 NRSRP-Range-NB-r14, + anr-CarrierList-r16 ANR-CarrierList-NB-r16, + ... +} + +ANR-CarrierList-NB-r16 ::= SEQUENCE (SIZE (1..maxFreqANR-NB-r16)) OF ANR-Carrier-NB-r16 + +ANR-Carrier-NB-r16::= SEQUENCE { + carrierFreqIndex-r16 INTEGER (1..maxFreq), + blackCellList-r16 ANR-BlackCellList-NB-r16 OPTIONAL, -- Need OP + ... +} + +ANR-BlackCellList-NB-r16 ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PhysCellId + + +ANR-MeasReport-NB-r16 ::= SEQUENCE { + servCellIdentity-r16 CellGlobalIdEUTRA OPTIONAL, + measResultServCell-r16 MeasResultServCell-NB-r14, + relativeTimeStamp-r16 INTEGER (0..95), + measResultList-r16 SEQUENCE (SIZE (1..maxFreqANR-NB-r16)) OF ANR-MeasResult-NB-r16, + ... +} + +ANR-MeasResult-NB-r16 ::= SEQUENCE { + carrierFreq-r16 CarrierFreq-NB-r13, + physCellId-r16 PhysCellId OPTIONAL, + measResultLastServCell-r16 MeasResultServCell-NB-r14, + measResult-r16 NRSRP-Range-NB-r14 OPTIONAL, + cgi-Info-r16 SEQUENCE { + cellGlobalId-r16 CellGlobalIdEUTRA, + trackingAreaCode-r16 TrackingAreaCode, + plmn-IdentityList-r16 PLMN-IdentityList2 OPTIONAL + } OPTIONAL +} + +CQI-NPDCCH-NB-r14 ::= ENUMERATED { + noMeasurements, candidateRep-A, candidateRep-B, candidateRep-C, + candidateRep-D, candidateRep-E, candidateRep-F, candidateRep-G, + candidateRep-H, candidateRep-I, candidateRep-J, candidateRep-K, + candidateRep-L} + + +CQI-NPDCCH-Short-NB-r14 ::= ENUMERATED { + noMeasurements, candidateRep-1, candidateRep-2, candidateRep-3} + + +MeasResultServCell-NB-r14 ::= SEQUENCE { + nrsrpResult-r14 NRSRP-Range-NB-r14, + nrsrqResult-r14 NRSRQ-Range-NB-r14 +} + + +NRSRP-Range-NB-r14 ::= INTEGER(0..113) + + +NRSRQ-Range-NB-r14 ::= INTEGER(-30..46) + + +NSSS-RRM-Config-NB-r15 ::= SEQUENCE { + nsss-RRM-PowerOffset-r15 ENUMERATED {dB-3, db0, dB3}, + nsss-NumOccDiffPrecoders-r15 ENUMERATED {n1, n2, n4, n8} OPTIONAL -- Need OP +} + +EstablishmentCause-NB-r13 ::= ENUMERATED { + mt-Access, mo-Signalling, mo-Data, mo-ExceptionData, + delayTolerantAccess-v1330, mt-EDT-v1610, spare2, spare1} + + +UE-Capability-NB-r13 ::= SEQUENCE { + accessStratumRelease-r13 AccessStratumRelease-NB-r13, + ue-Category-NB-r13 ENUMERATED {nb1} OPTIONAL, + multipleDRB-r13 ENUMERATED {supported} OPTIONAL, + pdcp-Parameters-r13 PDCP-Parameters-NB-r13 OPTIONAL, + phyLayerParameters-r13 PhyLayerParameters-NB-r13, + rf-Parameters-r13 RF-Parameters-NB-r13, + dummy SEQUENCE {} OPTIONAL +} + +UE-Capability-NB-Ext-r14-IEs ::= SEQUENCE { + ue-Category-NB-r14 ENUMERATED {nb2} OPTIONAL, + mac-Parameters-r14 MAC-Parameters-NB-r14 OPTIONAL, + phyLayerParameters-v1430 PhyLayerParameters-NB-v1430 OPTIONAL, + rf-Parameters-v1430 RF-Parameters-NB-v1430, + nonCriticalExtension UE-Capability-NB-v1440-IEs OPTIONAL +} + +UE-Capability-NB-v1440-IEs ::= SEQUENCE { + phyLayerParameters-v1440 PhyLayerParameters-NB-v1440 OPTIONAL, + nonCriticalExtension UE-Capability-NB-v14x0-IEs OPTIONAL +} + +UE-Capability-NB-v14x0-IEs ::= SEQUENCE { +-- Following field is only to be used for late REL-14 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-Capability-NB-v1530-IEs OPTIONAL +} + +UE-Capability-NB-v1530-IEs ::= SEQUENCE { + earlyData-UP-r15 ENUMERATED {supported} OPTIONAL, + rlc-Parameters-r15 RLC-Parameters-NB-r15, + mac-Parameters-v1530 MAC-Parameters-NB-v1530, + phyLayerParameters-v1530 PhyLayerParameters-NB-v1530 OPTIONAL, + tdd-UE-Capability-r15 TDD-UE-Capability-NB-r15 OPTIONAL, + nonCriticalExtension UE-Capability-NB-v15x0-IEs OPTIONAL +} + +UE-Capability-NB-v15x0-IEs ::= SEQUENCE { +-- Following field is only to be used for late REL-15 extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UE-Capability-NB-v1610-IEs OPTIONAL +} + +UE-Capability-NB-v1610-IEs ::= SEQUENCE { + earlySecurityReactivation-r16 ENUMERATED {supported} OPTIONAL, + earlyData-UP-5GC-r16 ENUMERATED {supported} OPTIONAL, + pur-Parameters-r16 PUR-Parameters-NB-r16 OPTIONAL, + mac-Parameters-v1610 MAC-Parameters-NB-v1610, + phyLayerParameters-v1610 PhyLayerParameters-NB-v1610 OPTIONAL, + son-Parameters-r16 SON-Parameters-NB-r16 OPTIONAL, + measParameters-r16 MeasParameters-NB-r16, + tdd-UE-Capability-v1610 TDD-UE-Capability-NB-v1610 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +TDD-UE-Capability-NB-r15 ::= SEQUENCE { + ue-Category-NB-r15 ENUMERATED {nb2} OPTIONAL, + phyLayerParametersRel13-r15 PhyLayerParameters-NB-r13 OPTIONAL, + phyLayerParametersRel14-r15 PhyLayerParameters-NB-v1430 OPTIONAL, + phyLayerParameters-v1530 PhyLayerParameters-NB-v1530 OPTIONAL, + ... +} + +TDD-UE-Capability-NB-v1610 ::= SEQUENCE { + slotSymbolResourceResvDL-r16 ENUMERATED {supported} OPTIONAL, + slotSymbolResourceResvUL-r16 ENUMERATED {supported} OPTIONAL, + subframeResourceResvDL-r16 ENUMERATED {supported} OPTIONAL, + subframeResourceResvUL-r16 ENUMERATED {supported} OPTIONAL +} + +AccessStratumRelease-NB-r13 ::= ENUMERATED {rel13, rel14, rel15, rel16, spare4, spare3, spare2, spare1, ...} + +PDCP-Parameters-NB-r13 ::= SEQUENCE { + supportedROHC-Profiles-r13 SEQUENCE { + profile0x0002 BOOLEAN, + profile0x0003 BOOLEAN, + profile0x0004 BOOLEAN, + profile0x0006 BOOLEAN, + profile0x0102 BOOLEAN, + profile0x0103 BOOLEAN, + profile0x0104 BOOLEAN + }, + maxNumberROHC-ContextSessions-r13 ENUMERATED {cs2, cs4, cs8, cs12} DEFAULT cs2, + ... +} + +RLC-Parameters-NB-r15 ::= SEQUENCE { + rlc-UM-r15 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-NB-r14 ::= SEQUENCE { + dataInactMon-r14 ENUMERATED {supported} OPTIONAL, + rai-Support-r14 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-NB-v1530 ::= SEQUENCE { + sr-SPS-BSR-r15 ENUMERATED {supported} OPTIONAL +} + +MAC-Parameters-NB-v1610 ::= SEQUENCE { + rai-SupportEnh-r16 ENUMERATED {supported} OPTIONAL +} + +MeasParameters-NB-r16 ::= SEQUENCE { + dl-ChannelQualityReporting-r16 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-NB-r13 ::= SEQUENCE { + multiTone-r13 ENUMERATED {supported} OPTIONAL, + multiCarrier-r13 ENUMERATED {supported} OPTIONAL + } + +PhyLayerParameters-NB-v1430 ::= SEQUENCE { + multiCarrier-NPRACH-r14 ENUMERATED {supported} OPTIONAL, + twoHARQ-Processes-r14 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-NB-v1440 ::= SEQUENCE { + interferenceRandomisation-r14 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-NB-v1530 ::= SEQUENCE { + mixedOperationMode-r15 ENUMERATED {supported} OPTIONAL, + sr-WithHARQ-ACK-r15 ENUMERATED {supported} OPTIONAL, + sr-WithoutHARQ-ACK-r15 ENUMERATED {supported} OPTIONAL, + nprach-Format2-r15 ENUMERATED {supported} OPTIONAL, + additionalTransmissionSIB1-r15 ENUMERATED {supported} OPTIONAL, + npusch-3dot75kHz-SCS-TDD-r15 ENUMERATED {supported} OPTIONAL +} + +PhyLayerParameters-NB-v1610 ::= SEQUENCE { + npdsch-MultiTB-r16 ENUMERATED {supported} OPTIONAL, + npdsch-MultiTB-Interleaving-r16 ENUMERATED {supported} OPTIONAL, + npusch-MultiTB-r16 ENUMERATED {supported} OPTIONAL, + npusch-MultiTB-Interleaving-r16 ENUMERATED {supported} OPTIONAL, + multiTB-HARQ-AckBundling-r16 ENUMERATED {supported} OPTIONAL, + slotSymbolResourceResvDL-r16 ENUMERATED {supported} OPTIONAL, + slotSymbolResourceResvUL-r16 ENUMERATED {supported} OPTIONAL, + subframeResourceResvDL-r16 ENUMERATED {supported} OPTIONAL, + subframeResourceResvUL-r16 ENUMERATED {supported} OPTIONAL +} + +PUR-Parameters-NB-r16 ::= SEQUENCE { + pur-CP-EPC-r16 ENUMERATED {supported} OPTIONAL, + pur-CP-5GC-r16 ENUMERATED {supported} OPTIONAL, + pur-UP-EPC-r16 ENUMERATED {supported} OPTIONAL, + pur-UP-5GC-r16 ENUMERATED {supported} OPTIONAL, + pur-NRSRP-Validation-r16 ENUMERATED {supported} OPTIONAL, + pur-CP-L1Ack-r16 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters-NB-r13 ::= SEQUENCE { + supportedBandList-r13 SupportedBandList-NB-r13, + multiNS-Pmax-r13 ENUMERATED {supported} OPTIONAL +} + +RF-Parameters-NB-v1430 ::= SEQUENCE { + powerClassNB-14dBm-r14 ENUMERATED {supported} OPTIONAL +} + +SupportedBandList-NB-r13 ::= SEQUENCE (SIZE (1..maxBands)) OF SupportedBand-NB-r13 + +SupportedBand-NB-r13 ::= SEQUENCE { + band-r13 FreqBandIndicator-NB-r13, + powerClassNB-20dBm-r13 ENUMERATED {supported} OPTIONAL +} + +SON-Parameters-NB-r16 ::= SEQUENCE { + anr-Report-r16 ENUMERATED {supported} OPTIONAL, + rach-Report-r16 ENUMERATED {supported} OPTIONAL +} + + +UE-RadioPagingInfo-NB-r13 ::= SEQUENCE { + ue-Category-NB-r13 ENUMERATED {nb1} OPTIONAL, + ..., + [[ multiCarrierPaging-r14 ENUMERATED {true} OPTIONAL + ]], + [[ mixedOperationMode-r15 ENUMERATED {supported} OPTIONAL, + wakeUpSignal-r15 ENUMERATED {true} OPTIONAL, + wakeUpSignalMinGap-eDRX-r15 ENUMERATED {ms40, ms240, ms1000, ms2000} OPTIONAL, + multiCarrierPagingTDD-r15 ENUMERATED {true} OPTIONAL + ]], + [[ ue-Category-NB-r16 ENUMERATED {nb2} OPTIONAL, + groupWakeUpSignal-r16 ENUMERATED {true} OPTIONAL, + groupWakeUpSignalAlternation-r16 ENUMERATED {true} OPTIONAL + ]] + +} + + +UE-TimersAndConstants-NB-r13 ::= SEQUENCE { + t300-r13 ENUMERATED { + ms2500, ms4000, ms6000, ms10000, + ms15000, ms25000, ms40000, ms60000}, + t301-r13 ENUMERATED { + ms2500, ms4000, ms6000, ms10000, + ms15000, ms25000, ms40000, ms60000}, + t310-r13 ENUMERATED { + ms0, ms200, ms500, ms1000, ms2000, ms4000, ms8000}, + n310-r13 ENUMERATED { + n1, n2, n3, n4, n6, n8, n10, n20}, + t311-r13 ENUMERATED { + ms1000, ms3000, ms5000, ms10000, ms15000, + ms20000, ms30000}, + n311-r13 ENUMERATED { + n1, n2, n3, n4, n5, n6, n8, n10}, + ..., + [[ t311-v1350 ENUMERATED { + ms40000, ms60000, ms90000, ms120000} + OPTIONAL -- Need OR + ]], + [[ t300-v1530 ENUMERATED { + ms80000, ms100000, ms120000} OPTIONAL, -- Cond TDD + t301-v1530 ENUMERATED { + ms80000, ms100000, ms120000} OPTIONAL, -- Cond TDD + t311-v1530 ENUMERATED { + ms160000, ms200000} OPTIONAL, -- Cond TDD + t300-r15 ENUMERATED {ms6000, ms10000, ms15000, ms25000, ms40000, + ms60000, ms80000, ms120000} OPTIONAL -- Cond EDTorPUR + ]] +} + + +SC-MTCH-InfoList-NB-r14 ::= SEQUENCE (SIZE (0.. maxSC-MTCH-NB-r14)) OF SC-MTCH-Info-NB-r14 + +SC-MTCH-Info-NB-r14 ::= SEQUENCE { + sc-mtch-CarrierConfig-r14 CHOICE { + dl-CarrierConfig-r14 DL-CarrierConfigCommon-NB-r14, + dl-CarrierIndex-r14 INTEGER (0.. maxNonAnchorCarriers-NB-r14) + }, + mbmsSessionInfo-r14 MBMSSessionInfo-r13, + g-RNTI-r14 BIT STRING(SIZE(16)), + sc-mtch-SchedulingInfo-r14 SC-MTCH-SchedulingInfo-NB-r14 OPTIONAL, -- Need OP + sc-mtch-NeighbourCell-r14 BIT STRING (SIZE(maxNeighCell-SCPTM-NB-r14)) OPTIONAL, -- Need OP + npdcch-NPDSCH-MaxTBS-SC-MTCH-r14 ENUMERATED {n680, n2536}, + npdcch-NumRepetitions-SC-MTCH-r14 ENUMERATED {r1, r2, r4, r8, r16, + r32, r64, r128, r256, + r512, r1024, r2048, spare4, + spare3, spare2, spare1}, + npdcch-StartSF-SC-MTCH-r14 ENUMERATED {v1dot5, v2, v4, v8, + v16, v32, v48, v64}, + npdcch-Offset-SC-MTCH-r14 ENUMERATED {zero, oneEighth, oneQuarter, + threeEighth, oneHalf, fiveEighth, + threeQuarter, sevenEighth}, + ... +} + +SC-MTCH-SchedulingInfo-NB-r14 ::= SEQUENCE { + onDurationTimerSCPTM-r14 ENUMERATED { + pp1, pp2, pp3, pp4, + pp8, pp16, pp32, spare}, + drx-InactivityTimerSCPTM-r14 ENUMERATED { + pp0, pp1, pp2, pp3, + pp4, pp8, pp16, pp32}, + schedulingPeriodStartOffsetSCPTM-r14 CHOICE { + sf10 INTEGER(0..9), + sf20 INTEGER(0..19), + sf32 INTEGER(0..31), + sf40 INTEGER(0..39), + sf64 INTEGER(0..63), + sf80 INTEGER(0..79), + sf128 INTEGER(0..127), + sf160 INTEGER(0..159), + sf256 INTEGER(0..255), + sf320 INTEGER(0..319), + sf512 INTEGER(0..511), + sf640 INTEGER(0..639), + sf1024 INTEGER(0..1023), + sf2048 INTEGER(0..2047), + sf4096 INTEGER(0..4095), + sf8192 INTEGER(0..8191) + }, + ... +} + + +SCPTM-NeighbourCellList-NB-r14 ::= SEQUENCE (SIZE (1..maxNeighCell-SCPTM-NB-r14)) OF PCI-ARFCN-NB-r14 + +PCI-ARFCN-NB-r14 ::= SEQUENCE { + physCellId-r14 PhysCellId, + carrierFreq-r14 CarrierFreq-NB-r13 OPTIONAL -- Need OP +} + + +maxFreqANR-NB-r16 INTEGER ::= 2 -- Maximum number of NB-IOT carrier frequencies that can + -- be configured or reported for ANR measurement +maxFreqEUTRA-NB-r16 INTEGER ::= 8 -- Maximum number of EUTRAN carrier frequencies that can + -- be provided as assistance information for inter-RAT + -- cell selection +maxFreqsGERAN-NB-r16 INTEGER ::= 8 -- Maximum number of groups of GERAN carrier frequencies + -- that can be provided as assistance information for + -- inter-RAT cell selection +maxGWUS-Groups-1-NB-r16 INTEGER ::= 15 -- Maximum number of groups for each paging probability + -- group +maxGWUS-Resources-NB-r16 INTEGER ::= 2 -- Maximum number of GWUS resources for each gap +maxGWUS-ProbThresholds-NB-r16 INTEGER ::= 3 -- Maximum number of paging probability thresholds +maxNPRACH-Resources-NB-r13 INTEGER ::= 3 -- Maximum number of NPRACH resources for NB-IoT +maxNonAnchorCarriers-NB-r14 INTEGER ::= 15 -- Maximum number of non-anchor carriers for NB-IoT +maxDRB-NB-r13 INTEGER ::= 2 -- Maximum number of Data Radio Bearers for NB-IoT +maxNeighCell-SCPTM-NB-r14 INTEGER ::= 8 -- Maximum number of SCPTM neighbour cells +maxNS-Pmax-NB-r13 INTEGER ::= 4 -- Maximum number of NS and P-Max values per band +maxSC-MTCH-NB-r14 INTEGER ::= 64 -- Maximum number of SC-MTCHs in one cell for NB-IoT +maxSI-Message-NB-r13 INTEGER ::= 8 -- Maximum number of SI messages for NB-IoT + + +END + + +EUTRA-UE-Variables DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + AbsoluteTimeInfo-r10, + AreaConfiguration-r10, + AreaConfiguration-v1130, + ARFCN-ValueNR-r15, + BT-NameList-r15, + CarrierFreqGERAN, + CellIdentity, + CellList-r15, + CondReconfigurationToAddModList-r16, + ConnEstFailReport-r11, + EUTRA-CarrierList-r15, + SpeedStateScaleFactors, + C-RNTI, + LoggingDuration-r10, + LoggingInterval-r10, + LogMeasInfo-r10, + MeasCSI-RS-Id-r12, + MeasId, + MeasId-v1250, + MeasIdToAddModList, + MeasIdToAddModListExt-r12, + MeasIdToAddModList-v1310, + MeasIdToAddModListExt-v1310, + MeasObjectToAddModList, + MeasObjectToAddModList-v9e0, + MeasObjectToAddModListExt-r13, + MeasResultListExtIdle-r16, + MeasResultListIdle-r15, + MeasResultListIdleNR-r16, + MeasScaleFactor-r12, + MobilityStateParameters, + NeighCellConfig, + NR-CarrierList-r16, + PhysCellId, + PhysCellIdCDMA2000, + PhysCellIdGERAN, + PhysCellIdUTRA-FDD, + PhysCellIdUTRA-TDD, + PLMN-Identity, + PLMN-IdentityList3-r11, + QuantityConfig, + ReportConfigToAddModList, + RLF-Report-r9, + TargetMBSFN-AreaList-r12, + TraceReference-r10, + Tx-ResourcePoolMeasList-r14, + VisitedCellInfoList-r12, + maxCellMeas, + maxCSI-RS-Meas-r12, + maxMeasId, + maxMeasId-r12, + maxRS-Index-r15, + PhysCellIdNR-r15, + RS-IndexNR-r15, + UL-DelayConfig-r13, + ValidityAreaList-r16, + WLAN-CarrierInfo-r13, + WLAN-Identifiers-r12, + WLAN-Id-List-r13, + WLAN-NameList-r15, + WLAN-Status-r13, + WLAN-Status-v1430, + WLAN-SuspendConfig-r14 + +FROM EUTRA-RRC-Definitions; + + +VarConditionalReconfiguration ::= SEQUENCE { + -- Conditional reconfigurations list + condReconfigurationList-r16 CondReconfigurationToAddModList-r16 + OPTIONAL +} + + +VarConnEstFailReport-r11 ::= SEQUENCE { + connEstFailReport-r11 ConnEstFailReport-r11, + plmn-Identity-r11 PLMN-Identity +} + + +VarLogMeasConfig-r10 ::= SEQUENCE { + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10 +} + +VarLogMeasConfig-r11 ::= SEQUENCE { + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, + areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10 +} + +VarLogMeasConfig-r12 ::= SEQUENCE { + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, + areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10, + targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL +} + +VarLogMeasConfig-r15 ::= SEQUENCE { + areaConfiguration-r10 AreaConfiguration-r10 OPTIONAL, + areaConfiguration-v1130 AreaConfiguration-v1130 OPTIONAL, + loggingDuration-r10 LoggingDuration-r10, + loggingInterval-r10 LoggingInterval-r10, + targetMBSFN-AreaList-r12 TargetMBSFN-AreaList-r12 OPTIONAL, + bt-NameList-r15 BT-NameList-r15 OPTIONAL, + wlan-NameList-r15 WLAN-NameList-r15 OPTIONAL +} + + +VarLogMeasReport-r10 ::= SEQUENCE { + traceReference-r10 TraceReference-r10, + traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), + tce-Id-r10 OCTET STRING (SIZE (1)), + plmn-Identity-r10 PLMN-Identity, + absoluteTimeInfo-r10 AbsoluteTimeInfo-r10, + logMeasInfoList-r10 LogMeasInfoList2-r10 +} + +VarLogMeasReport-r11 ::= SEQUENCE { + traceReference-r10 TraceReference-r10, + traceRecordingSessionRef-r10 OCTET STRING (SIZE (2)), + tce-Id-r10 OCTET STRING (SIZE (1)), + plmn-IdentityList-r11 PLMN-IdentityList3-r11, + absoluteTimeInfo-r10 AbsoluteTimeInfo-r10, + logMeasInfoList-r10 LogMeasInfoList2-r10 +} + +LogMeasInfoList2-r10 ::= SEQUENCE (SIZE (1..maxLogMeas-r10)) OF LogMeasInfo-r10 + + +VarMeasConfig ::= SEQUENCE { + -- Measurement identities + measIdList MeasIdToAddModList OPTIONAL, + measIdListExt-r12 MeasIdToAddModListExt-r12 OPTIONAL, + measIdList-v1310 MeasIdToAddModList-v1310 OPTIONAL, + measIdListExt-v1310 MeasIdToAddModListExt-v1310 OPTIONAL, + -- Measurement objects + measObjectList MeasObjectToAddModList OPTIONAL, + measObjectListExt-r13 MeasObjectToAddModListExt-r13 OPTIONAL, + measObjectList-v9i0 MeasObjectToAddModList-v9e0 OPTIONAL, + -- Reporting configurations + reportConfigList ReportConfigToAddModList OPTIONAL, + -- Other parameters + quantityConfig QuantityConfig OPTIONAL, + measScaleFactor-r12 MeasScaleFactor-r12 OPTIONAL, + s-Measure INTEGER (-140..-44) OPTIONAL, + speedStatePars CHOICE { + release NULL, + setup SEQUENCE { + mobilityStateParameters MobilityStateParameters, + timeToTrigger-SF SpeedStateScaleFactors + } + } OPTIONAL, + allowInterruptions-r11 BOOLEAN OPTIONAL +} + + +VarMeasIdleConfig-r15 ::= SEQUENCE { + measIdleCarrierListEUTRA-r15 EUTRA-CarrierList-r15 OPTIONAL, + measIdleDuration-r15 ENUMERATED {sec10, sec30, sec60, sec120, + sec180, sec240, sec300} +} + +VarMeasIdleConfig-r16 ::= SEQUENCE { + measIdleCarrierListNR-r16 NR-CarrierList-r16 OPTIONAL, + validityAreaList-r16 ValidityAreaList-r16 OPTIONAL +} + + +VarMeasIdleReport-r15 ::= SEQUENCE { + measReportIdle-r15 MeasResultListIdle-r15 +} + +VarMeasIdleReport-r16 ::= SEQUENCE { + measReportIdle-r16 MeasResultListExtIdle-r16 OPTIONAL, + measReportIdleNR-r16 MeasResultListIdleNR-r16 OPTIONAL +} + + +VarMeasReportList ::= SEQUENCE (SIZE (1..maxMeasId)) OF VarMeasReport +VarMeasReportList-r12 ::= SEQUENCE (SIZE (1..maxMeasId-r12)) OF VarMeasReport + +VarMeasReport ::= SEQUENCE { + -- List of measurement that have been triggered + measId MeasId, + measId-v1250 MeasId-v1250 OPTIONAL, + cellsTriggeredList CellsTriggeredList OPTIONAL, + csi-RS-TriggeredList-r12 CSI-RS-TriggeredList-r12 OPTIONAL, + poolsTriggeredList-r14 Tx-ResourcePoolMeasList-r14 OPTIONAL, + numberOfReportsSent INTEGER +} + +CellsTriggeredList ::= SEQUENCE (SIZE (1..maxCellMeas)) OF CHOICE { + physCellIdEUTRA PhysCellId, + physCellIdUTRA CHOICE { + fdd PhysCellIdUTRA-FDD, + tdd PhysCellIdUTRA-TDD + }, + physCellIdGERAN SEQUENCE { + carrierFreq CarrierFreqGERAN, + physCellId PhysCellIdGERAN + }, + physCellIdCDMA2000 PhysCellIdCDMA2000, + wlan-Identifiers-r13 WLAN-Identifiers-r12, + physCellIdNR-r15 SEQUENCE { + carrierFreq ARFCN-ValueNR-r15, + physCellId PhysCellIdNR-r15, + rs-IndexList-r15 SSB-IndexList-r15 OPTIONAL + } +} + +CSI-RS-TriggeredList-r12 ::= SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Id-r12 + +SSB-IndexList-r15::= SEQUENCE (SIZE (1..maxRS-Index-r15)) OF RS-IndexNR-r15 + +VarMobilityHistoryReport-r12 ::= VisitedCellInfoList-r12 + + +VarPendingRnaUpdate-r15 ::= SEQUENCE { + pendingRnaUpdate BOOLEAN OPTIONAL +} + + +VarRLF-Report-r10 ::= SEQUENCE { + rlf-Report-r10 RLF-Report-r9, + plmn-Identity-r10 PLMN-Identity +} + +VarRLF-Report-r11 ::= SEQUENCE { + rlf-Report-r10 RLF-Report-r9, + plmn-IdentityList-r11 PLMN-IdentityList3-r11 +} + + +VarShortINACTIVE-MAC-Input-r15 ::= SEQUENCE { + cellIdentity-r15 CellIdentity, + physCellId-r15 PhysCellId, + c-RNTI-r15 C-RNTI +} + + +VarShortMAC-Input ::= SEQUENCE { + cellIdentity CellIdentity, + physCellId PhysCellId, + c-RNTI C-RNTI +} + + +VarShortResumeMAC-Input-r13 ::= SEQUENCE { + cellIdentity-r13 CellIdentity, + physCellId-r13 PhysCellId, + c-RNTI-r13 C-RNTI, + resumeDiscriminator-r13 BIT STRING(SIZE(1)) +} + + +VarWLAN-MobilityConfig ::= SEQUENCE { + wlan-MobilitySet-r13 WLAN-Id-List-r13 OPTIONAL, + successReportRequested ENUMERATED {true} OPTIONAL, + wlan-SuspendConfig-r14 WLAN-SuspendConfig-r14 OPTIONAL +} + + +VarWLAN-Status-r13 ::= SEQUENCE { + status-r13 WLAN-Status-r13, + status-r14 WLAN-Status-v1430 OPTIONAL +} + + +maxLogMeas-r10 INTEGER ::= 4060-- Maximum number of logged measurement entries + -- that can be stored by the UE + + +END + + +NBIOT-UE-Variables DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + CellGlobalIdEUTRA, + maxFreq, + PLMN-IdentityList3-r11 + +FROM EUTRA-RRC-Definitions + VarShortMAC-Input, + VarShortResumeMAC-Input-r13 + +FROM EUTRA-UE-Variables + + ANR-CarrierList-NB-r16, + ANR-MeasResult-NB-r16, + maxFreqANR-NB-r16, + MeasResultServCell-NB-r14, + NRSRP-Range-NB-r14, + RLF-Report-NB-r16 + +FROM NBIOT-RRC-Definitions; + + + +VarANR-MeasConfig-NB-r16::= SEQUENCE { + anr-QualityThreshold-r16 NRSRP-Range-NB-r14, + anr-CarrierList-r16 ANR-CarrierList-NB-r16 +} + + +VarANR-MeasReport-NB-r16::= SEQUENCE { + plmn-IdentityList-r16 PLMN-IdentityList3-r11, + servCellIdentity-r16 CellGlobalIdEUTRA, + measResultServCell-r16 MeasResultServCell-NB-r14, + relativeTimeStamp-r16 INTEGER (0..95), + measResultList-r16 SEQUENCE (SIZE (1..maxFreqANR-NB-r16)) OF ANR-MeasResult-NB-r16 +} + + +VarRLF-Report-NB-r16 ::= SEQUENCE { + rlf-Report-r16 RLF-Report-NB-r16, + plmn-IdentityList-r16 PLMN-IdentityList3-r11 + +} + + +VarShortMAC-Input-NB-r13 ::= VarShortMAC-Input + + +VarShortResumeMAC-Input-NB-r13 ::= VarShortResumeMAC-Input-r13 + + +END + + +EUTRA-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + AdditionalSpectrumEmission, + AdditionalSpectrumEmission-v10l0, + ARFCN-ValueEUTRA-r9, + FilterCoefficient, + maxCBR-Level-r14, + maxCBR-Level-1-r14, + maxFreq, + maxFreqV2X-r14, + maxSL-TxPool-r12, + maxSL-CommRxPoolPreconf-v1310, + maxSL-CommTxPoolPreconf-v1310, + maxSL-DiscRxPoolPreconf-r13, + maxSL-DiscTxPoolPreconf-r13, + maxSL-V2X-CBRConfig2-r14, + maxSL-V2X-CBRConfig2-1-r14, + maxSL-V2X-RxPoolPreconf-r14, + maxSL-V2X-TxConfig2-r14, + maxSL-V2X-TxConfig2-1-r14, + maxSL-V2X-TxPoolPreconf-r14, + MCS-PSSCH-Range-r15, + P-Max, + ReselectionInfoRelay-r13, + SL-AnchorCarrierFreqList-V2X-r14, + SL-CBR-Levels-Config-r14, + SL-CBR-PSSCH-TxConfig-r14, + SL-CommTxPoolSensingConfig-r14, + SL-CP-Len-r12, + SL-HoppingConfigComm-r12, + SL-NR-AnchorCarrierFreqList-r16, + SL-OffsetIndicator-r12, + SL-OffsetIndicatorSync-r12, + SL-OffsetIndicatorSync-v1430, + SL-PeriodComm-r12, + RSRP-RangeSL3-r12, + SL-MinT2ValueList-r15, + SL-PriorityList-r13, + SL-TF-ResourceConfig-r12, + SL-TRPT-Subset-r12, + SL-TxParameters-r12, + SL-ZoneConfig-r14, + P0-SL-r12, + TDD-ConfigSL-r12, + SubframeBitmapSL-r14, + SL-P2X-ResourceSelectionConfig-r14, + SL-RestrictResourceReservationPeriodList-r14, + SL-SyncAllowed-r14, + SL-OffsetIndicatorSync-r14, + SL-Priority-r13, + SL-V2X-FreqSelectionConfigList-r15, + SL-V2X-PacketDuplicationConfig-r15, + SL-V2X-SyncFreqList-r15 +FROM EUTRA-RRC-Definitions; + + +SL-Preconfiguration-r12 ::= SEQUENCE { + preconfigGeneral-r12 SL-PreconfigGeneral-r12, + preconfigSync-r12 SL-PreconfigSync-r12, + preconfigComm-r12 SL-PreconfigCommPoolList4-r12, + ..., + [[ preconfigComm-v1310 SEQUENCE { + commRxPoolList-r13 SL-PreconfigCommRxPoolList-r13, + commTxPoolList-r13 SL-PreconfigCommTxPoolList-r13 OPTIONAL + } OPTIONAL, + preconfigDisc-r13 SEQUENCE { + discRxPoolList-r13 SL-PreconfigDiscRxPoolList-r13, + discTxPoolList-r13 SL-PreconfigDiscTxPoolList-r13 OPTIONAL + } OPTIONAL, + preconfigRelay-r13 SL-PreconfigRelay-r13 OPTIONAL + ]] + +} + +SL-PreconfigGeneral-r12 ::= SEQUENCE { + -- PDCP configuration + rohc-Profiles-r12 SEQUENCE { + profile0x0001-r12 BOOLEAN, + profile0x0002-r12 BOOLEAN, + profile0x0004-r12 BOOLEAN, + profile0x0006-r12 BOOLEAN, + profile0x0101-r12 BOOLEAN, + profile0x0102-r12 BOOLEAN, + profile0x0104-r12 BOOLEAN + }, + -- Physical configuration + carrierFreq-r12 ARFCN-ValueEUTRA-r9, + maxTxPower-r12 P-Max, + additionalSpectrumEmission-r12 AdditionalSpectrumEmission, + sl-bandwidth-r12 ENUMERATED {n6, n15, n25, n50, n75, n100}, + tdd-ConfigSL-r12 TDD-ConfigSL-r12, + reserved-r12 BIT STRING (SIZE (19)), + ..., + [[ additionalSpectrumEmission-v1440 AdditionalSpectrumEmission-v10l0 OPTIONAL + ]] +} + +SL-PreconfigSync-r12 ::= SEQUENCE { + syncCP-Len-r12 SL-CP-Len-r12, + syncOffsetIndicator1-r12 SL-OffsetIndicatorSync-r12, + syncOffsetIndicator2-r12 SL-OffsetIndicatorSync-r12, + syncTxParameters-r12 P0-SL-r12, + syncTxThreshOoC-r12 RSRP-RangeSL3-r12, + filterCoefficient-r12 FilterCoefficient, + syncRefMinHyst-r12 ENUMERATED {dB0, dB3, dB6, dB9, dB12}, + syncRefDiffHyst-r12 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf}, + ..., + [[ syncTxPeriodic-r13 ENUMERATED {true} OPTIONAL + ]] +} + +SL-PreconfigCommPoolList4-r12 ::= SEQUENCE (SIZE (1..maxSL-TxPool-r12)) OF SL-PreconfigCommPool-r12 + +SL-PreconfigCommRxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-CommRxPoolPreconf-v1310)) OF SL-PreconfigCommPool-r12 + +SL-PreconfigCommTxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-CommTxPoolPreconf-v1310)) OF SL-PreconfigCommPool-r12 + +SL-PreconfigCommPool-r12 ::= SEQUENCE { +-- This IE is same as SL-CommResourcePool with rxParametersNCell absent + sc-CP-Len-r12 SL-CP-Len-r12, + sc-Period-r12 SL-PeriodComm-r12, + sc-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + sc-TxParameters-r12 P0-SL-r12, + data-CP-Len-r12 SL-CP-Len-r12, + data-TF-ResourceConfig-r12 SL-TF-ResourceConfig-r12, + dataHoppingConfig-r12 SL-HoppingConfigComm-r12, + dataTxParameters-r12 P0-SL-r12, + trpt-Subset-r12 SL-TRPT-Subset-r12, + ..., + [[ priorityList-r13 SL-PriorityList-r13 OPTIONAL -- For Tx + ]] +} + +SL-PreconfigDiscRxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-DiscRxPoolPreconf-r13)) OF SL-PreconfigDiscPool-r13 + +SL-PreconfigDiscTxPoolList-r13 ::= SEQUENCE (SIZE (1..maxSL-DiscTxPoolPreconf-r13)) OF SL-PreconfigDiscPool-r13 + +SL-PreconfigDiscPool-r13 ::= SEQUENCE { +-- This IE is same as SL-DiscResourcePool with rxParameters absent + cp-Len-r13 SL-CP-Len-r12, + discPeriod-r13 ENUMERATED {rf4, rf6, rf7, rf8, rf12, rf14, rf16, rf24, rf28, + rf32, rf64, rf128, rf256, rf512, rf1024, spare}, + numRetx-r13 INTEGER (0..3), + numRepetition-r13 INTEGER (1..50), + tf-ResourceConfig-r13 SL-TF-ResourceConfig-r12, + txParameters-r13 SEQUENCE { + txParametersGeneral-r13 P0-SL-r12, + txProbability-r13 ENUMERATED {p25, p50, p75, p100} + } OPTIONAL, + ... +} + +SL-PreconfigRelay-r13 ::= SEQUENCE { + reselectionInfoOoC-r13 ReselectionInfoRelay-r13 +} + + +SL-V2X-Preconfiguration-r14 ::= SEQUENCE { + v2x-PreconfigFreqList-r14 SL-V2X-PreconfigFreqList-r14, + anchorCarrierFreqList-r14 SL-AnchorCarrierFreqList-V2X-r14 OPTIONAL, + cbr-PreconfigList-r14 SL-CBR-PreconfigTxConfigList-r14 OPTIONAL, + ..., + [[ v2x-PacketDuplicationConfig-r15 SL-V2X-PacketDuplicationConfig-r15 OPTIONAL, + syncFreqList-r15 SL-V2X-SyncFreqList-r15 OPTIONAL, + slss-TxMultiFreq-r15 ENUMERATED {true} OPTIONAL, + v2x-TxProfileList-r15 SL-V2X-TxProfileList-r15 OPTIONAL + ]], + [[ anchorCarrierFreqListNR-r16 SL-NR-AnchorCarrierFreqList-r16 OPTIONAL + ]] +} + +SL-CBR-PreconfigTxConfigList-r14 ::= SEQUENCE { + cbr-RangeCommonConfigList-r14 SEQUENCE (SIZE (1..maxSL-V2X-CBRConfig2-r14)) OF SL-CBR-Levels-Config-r14, + sl-CBR-PSSCH-TxConfigList-r14 SEQUENCE (SIZE (1..maxSL-V2X-TxConfig2-r14)) OF SL-CBR-PSSCH-TxConfig-r14 +} + +SL-V2X-PreconfigFreqList-r14 ::= SEQUENCE (SIZE (1..maxFreqV2X-r14)) OF SL-V2X-PreconfigFreqInfo-r14 + +SL-V2X-PreconfigFreqInfo-r14 ::= SEQUENCE { + v2x-CommPreconfigGeneral-r14 SL-PreconfigGeneral-r12, + v2x-CommPreconfigSync-r14 SL-PreconfigV2X-Sync-r14 OPTIONAL, + v2x-CommRxPoolList-r14 SL-PreconfigV2X-RxPoolList-r14, + v2x-CommTxPoolList-r14 SL-PreconfigV2X-TxPoolList-r14, + p2x-CommTxPoolList-r14 SL-PreconfigV2X-TxPoolList-r14, + v2x-ResourceSelectionConfig-r14 SL-CommTxPoolSensingConfig-r14 OPTIONAL, + zoneConfig-r14 SL-ZoneConfig-r14 OPTIONAL, + syncPriority-r14 ENUMERATED {gnss, enb}, + thresSL-TxPrioritization-r14 SL-Priority-r13 OPTIONAL, + offsetDFN-r14 INTEGER (0..1000) OPTIONAL, + ..., + [[ v2x-FreqSelectionConfigList-r15 SL-V2X-FreqSelectionConfigList-r15 OPTIONAL + ]] +} + +SL-PreconfigV2X-RxPoolList-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-RxPoolPreconf-r14)) OF SL-V2X-PreconfigCommPool-r14 + +SL-PreconfigV2X-TxPoolList-r14 ::= SEQUENCE (SIZE (1..maxSL-V2X-TxPoolPreconf-r14)) OF SL-V2X-PreconfigCommPool-r14 + +SL-V2X-PreconfigCommPool-r14 ::= SEQUENCE { +-- This IE is same as SL-CommResourcePoolV2X with rxParametersNCell absent + sl-OffsetIndicator-r14 SL-OffsetIndicator-r12 OPTIONAL, + sl-Subframe-r14 SubframeBitmapSL-r14, + adjacencyPSCCH-PSSCH-r14 BOOLEAN, + sizeSubchannel-r14 ENUMERATED { + n4, n5, n6, n8, n9, n10, n12, n15, n16, n18, n20, n25, n30, + n48, n50, n72, n75, n96, n100, spare13, spare12, spare11, + spare10, spare9, spare8, spare7, spare6, spare5, spare4, + spare3, spare2, spare1}, + numSubchannel-r14 ENUMERATED {n1, n3, n5, n8, n10, n15, n20, spare1}, + startRB-Subchannel-r14 INTEGER (0..99), + startRB-PSCCH-Pool-r14 INTEGER (0..99) OPTIONAL, + dataTxParameters-r14 P0-SL-r12, + zoneID-r14 INTEGER (0..7) OPTIONAL, + threshS-RSSI-CBR-r14 INTEGER (0..45) OPTIONAL, + cbr-pssch-TxConfigList-r14 SL-CBR-PPPP-TxPreconfigList-r14 OPTIONAL, + resourceSelectionConfigP2X-r14 SL-P2X-ResourceSelectionConfig-r14 OPTIONAL, + syncAllowed-r14 SL-SyncAllowed-r14 OPTIONAL, + restrictResourceReservationPeriod-r14 SL-RestrictResourceReservationPeriodList-r14 OPTIONAL, + ..., + [[ sl-MinT2ValueList-r15 SL-MinT2ValueList-r15 OPTIONAL, + cbr-pssch-TxConfigList-v1530 SL-CBR-PPPP-TxPreconfigList-v1530 OPTIONAL + ]] +} + +SL-PreconfigV2X-Sync-r14 ::= SEQUENCE { + syncOffsetIndicators-r14 SL-V2X-SyncOffsetIndicators-r14, + syncTxParameters-r14 P0-SL-r12, + syncTxThreshOoC-r14 RSRP-RangeSL3-r12, + filterCoefficient-r14 FilterCoefficient, + syncRefMinHyst-r14 ENUMERATED {dB0, dB3, dB6, dB9, dB12}, + syncRefDiffHyst-r14 ENUMERATED {dB0, dB3, dB6, dB9, dB12, dBinf}, + ..., + [[ slss-TxDisabled-r15 ENUMERATED {true} OPTIONAL + ]] +} + +SL-V2X-SyncOffsetIndicators-r14 ::= SEQUENCE { + syncOffsetIndicator1-r14 SL-OffsetIndicatorSync-r14, + syncOffsetIndicator2-r14 SL-OffsetIndicatorSync-r14, + syncOffsetIndicator3-r14 SL-OffsetIndicatorSync-r14 OPTIONAL +} + +SL-CBR-PPPP-TxPreconfigList-r14 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxPreconfigIndex-r14 + +SL-PPPP-TxPreconfigIndex-r14 ::= SEQUENCE { + priorityThreshold-r14 SL-Priority-r13, + defaultTxConfigIndex-r14 INTEGER(0..maxCBR-Level-1-r14), + cbr-ConfigIndex-r14 INTEGER(0..maxSL-V2X-CBRConfig2-1-r14), + tx-ConfigIndexList-r14 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF Tx-PreconfigIndex-r14 +} + +Tx-PreconfigIndex-r14 ::= INTEGER(0..maxSL-V2X-TxConfig2-1-r14) + +SL-CBR-PPPP-TxPreconfigList-v1530 ::= SEQUENCE (SIZE (1..8)) OF SL-PPPP-TxPreconfigIndex-v1530 + +SL-PPPP-TxPreconfigIndex-v1530 ::= SEQUENCE { + mcs-PSSCH-Range-r15 SEQUENCE (SIZE (1..maxCBR-Level-r14)) OF MCS-PSSCH-Range-r15 OPTIONAL +} + +SL-V2X-TxProfileList-r15 ::= SEQUENCE (SIZE (1..256)) OF SL-V2X-TxProfile-r15 + +SL-V2X-TxProfile-r15 ::= ENUMERATED { + rel14, rel15, spare6, spare5, spare4, + spare3, spare2, spare1, ...} + +END + + +EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + AntennaInfoCommon, + AntennaInfoDedicated-v10i0, + ARFCN-ValueEUTRA, + ARFCN-ValueEUTRA-v9e0, + ARFCN-ValueEUTRA-r9, + CellIdentity, + C-RNTI, + DAPS-PowerCoordinationInfo-r16, + DL-DCCH-Message, + DRB-Identity, + DRB-ToReleaseList, + DRB-ToReleaseList-r15, + FreqBandIndicator-r11, + InDeviceCoexIndication-r11, + LWA-Config-r13, + MasterInformationBlock, + maxBands, + maxFreq, + maxDRB, + maxDRBExt-r15, + maxDRB-r15, + maxSCell-r10, + maxSCell-r13, + maxServCell-r10, + maxServCell-r13, + MBMSInterestIndication-r11, + MeasConfig, + MeasGapConfig, + MeasGapConfigPerCC-List-r14, + MeasResultForRSSI-r13, + MeasResultListWLAN-r13, + OtherConfig-r9, + PhysCellId, + P-Max, + PowerCoordinationInfo-r12, + SidelinkUEInformation-r12, + + SL-CommConfig-r12, + SL-DiscConfig-r12, + SubframeAssignment-r15, + RadioResourceConfigDedicated, + RadioResourceConfigDedicated-v13c0, + RadioResourceConfigDedicated-v1370, + RAN-NotificationAreaInfo-r15, + RCLWI-Configuration-r13, + RSRP-Range, + RSRQ-Range, + RSRQ-Range-v1250, + RS-SINR-Range-r13, + SCellToAddModList-r10, + SCellToAddModList-v13c0, + SCellToAddModListExt-r13, + SCellToAddModListExt-v13c0, + SCG-ConfigPartSCG-r12, + SCG-ConfigPartSCG-v12f0, + SCG-ConfigPartSCG-v13c0, + SecurityAlgorithmConfig, + SCellIndex-r10, + SCellIndex-r13, + SCellToReleaseList-r10, + SCellToReleaseListExt-r13, + ServCellIndex-r10, + ServCellIndex-r13, + ShortMAC-I, + MeasResultServFreqListNR-r15, + MeasResultSSTD-r13, + SL-V2X-ConfigDedicated-r14, + SystemInformationBlockType1, + SystemInformationBlockType1-v890-IEs, + SystemInformationBlockType2, + TDM-PatternConfig-r15, + UEAssistanceInformation-r11, + UECapabilityInformation, + UE-CapabilityRAT-ContainerList, + UE-RadioPagingInfo-r12, + WLANConnectionStatusReport-r13, + WLAN-OffloadConfig-r12 +FROM EUTRA-RRC-Definitions; + + +HandoverCommand ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + handoverCommand-r8 HandoverCommand-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +HandoverCommand-r8-IEs ::= SEQUENCE { + handoverCommandMessage OCTET STRING (CONTAINING DL-DCCH-Message), + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +HandoverPreparationInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + handoverPreparationInformation-r8 HandoverPreparationInformation-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +HandoverPreparationInformation-r8-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfo UE-CapabilityRAT-ContainerList, + as-Config AS-Config OPTIONAL, -- Cond HO + rrm-Config RRM-Config OPTIONAL, + as-Context AS-Context OPTIONAL, -- Cond HO + nonCriticalExtension HandoverPreparationInformation-v920-IEs OPTIONAL +} + +HandoverPreparationInformation-v920-IEs ::= SEQUENCE { + ue-ConfigRelease-r9 ENUMERATED { + rel9, rel10, rel11, rel12, v10j0, v11e0, + v1280, rel13, ..., rel14, rel15, rel16} OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v9d0-IEs OPTIONAL +} + +HandoverPreparationInformation-v9d0-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING (CONTAINING HandoverPreparationInformation-v9j0-IEs) OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-v9e0-IEs OPTIONAL +} + +-- Late non-critical extensions: +HandoverPreparationInformation-v9j0-IEs ::= SEQUENCE { + -- Following field is only for pre REL-10 late non-critical extensions + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-v10j0-IEs OPTIONAL +} + +HandoverPreparationInformation-v10j0-IEs ::= SEQUENCE { + as-Config-v10j0 AS-Config-v10j0 OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-v10x0-IEs OPTIONAL +} + +HandoverPreparationInformation-v10x0-IEs ::= SEQUENCE { + -- Following field is only for late non-critical extensions from REL-10 to REL-12 + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-v13c0-IEs OPTIONAL +} + +HandoverPreparationInformation-v13c0-IEs ::= SEQUENCE { + as-Config-v13c0 AS-Config-v13c0 OPTIONAL, + -- Following field is only for late non-critical extensions from REL-13 + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +-- Regular non-critical extensions: +HandoverPreparationInformation-v9e0-IEs ::= SEQUENCE { + as-Config-v9e0 AS-Config-v9e0 OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v1130-IEs OPTIONAL +} + +HandoverPreparationInformation-v1130-IEs ::= SEQUENCE { + as-Context-v1130 AS-Context-v1130 OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v1250-IEs OPTIONAL +} + +HandoverPreparationInformation-v1250-IEs ::= SEQUENCE { + ue-SupportedEARFCN-r12 ARFCN-ValueEUTRA-r9 OPTIONAL, -- Cond HO3 + as-Config-v1250 AS-Config-v1250 OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v1320-IEs OPTIONAL +} + +HandoverPreparationInformation-v1320-IEs ::= SEQUENCE { + as-Config-v1320 AS-Config-v1320 OPTIONAL, -- Cond HO2 + as-Context-v1320 AS-Context-v1320 OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v1430-IEs OPTIONAL +} + +HandoverPreparationInformation-v1430-IEs ::= SEQUENCE { + as-Config-v1430 AS-Config-v1430 OPTIONAL, -- Cond HO2 + makeBeforeBreakReq-r14 ENUMERATED {true} OPTIONAL, -- Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v1530-IEs OPTIONAL +} + +HandoverPreparationInformation-v1530-IEs ::= SEQUENCE { + ran-NotificationAreaInfo-r15 RAN-NotificationAreaInfo-r15 OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-v1540-IEs OPTIONAL +} + +HandoverPreparationInformation-v1540-IEs ::= SEQUENCE { + sourceRB-ConfigIntra5GC-r15 OCTET STRING OPTIONAL, --Cond HO4 + nonCriticalExtension HandoverPreparationInformation-v1610-IEs OPTIONAL +} + +HandoverPreparationInformation-v1610-IEs ::= SEQUENCE { + as-Context-v1610 AS-Context-v1610 OPTIONAL, --Cond HO5 + nonCriticalExtension HandoverPreparationInformation-v1620-IEs OPTIONAL +} + +HandoverPreparationInformation-v1620-IEs ::= SEQUENCE { + as-Context-v1620 AS-Context-v1620 OPTIONAL, --Cond HO2 + nonCriticalExtension HandoverPreparationInformation-v1630-IEs OPTIONAL +} + +HandoverPreparationInformation-v1630-IEs ::= SEQUENCE { + as-Context-v1630 AS-Context-v1630 OPTIONAL, --Cond HO2 + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SCG-Config-r12 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + scg-Config-r12 SCG-Config-r12-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SCG-Config-r12-IEs ::= SEQUENCE { + scg-RadioConfig-r12 SCG-ConfigPartSCG-r12 OPTIONAL, + nonCriticalExtension SCG-Config-v12i0a-IEs OPTIONAL +} + +SCG-Config-v12i0a-IEs ::= SEQUENCE { + -- Following field is only for late non-critical extensions from REL-12 + lateNonCriticalExtension OCTET STRING (CONTAINING SCG-Config-v12i0b-IEs) OPTIONAL, + nonCriticalExtension SCG-Config-v13c0-IEs OPTIONAL +} + +SCG-Config-v12i0b-IEs ::= SEQUENCE { + scg-RadioConfig-v12i0 SCG-ConfigPartSCG-v12f0 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +SCG-Config-v13c0-IEs ::= SEQUENCE { + scg-RadioConfig-v13c0 SCG-ConfigPartSCG-v13c0 OPTIONAL, + -- Following field is only for late non-critical extensions from REL-13 onwards + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +SCG-ConfigInfo-r12 ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + scg-ConfigInfo-r12 SCG-ConfigInfo-r12-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +SCG-ConfigInfo-r12-IEs ::= SEQUENCE { + radioResourceConfigDedMCG-r12 RadioResourceConfigDedicated OPTIONAL, + sCellToAddModListMCG-r12 SCellToAddModList-r10 OPTIONAL, + measGapConfig-r12 MeasGapConfig OPTIONAL, + powerCoordinationInfo-r12 PowerCoordinationInfo-r12 OPTIONAL, + scg-RadioConfig-r12 SCG-ConfigPartSCG-r12 OPTIONAL, + eutra-CapabilityInfo-r12 OCTET STRING (CONTAINING UECapabilityInformation) OPTIONAL, + scg-ConfigRestrictInfo-r12 SCG-ConfigRestrictInfo-r12 OPTIONAL, + mbmsInterestIndication-r12 OCTET STRING (CONTAINING + MBMSInterestIndication-r11) OPTIONAL, + measResultServCellListSCG-r12 MeasResultServCellListSCG-r12 OPTIONAL, + drb-ToAddModListSCG-r12 DRB-InfoListSCG-r12 OPTIONAL, + drb-ToReleaseListSCG-r12 DRB-ToReleaseList OPTIONAL, + sCellToAddModListSCG-r12 SCellToAddModListSCG-r12 OPTIONAL, + sCellToReleaseListSCG-r12 SCellToReleaseList-r10 OPTIONAL, + p-Max-r12 P-Max OPTIONAL, + nonCriticalExtension SCG-ConfigInfo-v1310-IEs OPTIONAL +} + +SCG-ConfigInfo-v1310-IEs ::= SEQUENCE { + measResultSSTD-r13 MeasResultSSTD-r13 OPTIONAL, + sCellToAddModListMCG-Ext-r13 SCellToAddModListExt-r13 OPTIONAL, + measResultServCellListSCG-Ext-r13 MeasResultServCellListSCG-Ext-r13 OPTIONAL, + sCellToAddModListSCG-Ext-r13 SCellToAddModListSCG-Ext-r13 OPTIONAL, + sCellToReleaseListSCG-Ext-r13 SCellToReleaseListExt-r13 OPTIONAL, + nonCriticalExtension SCG-ConfigInfo-v1330-IEs OPTIONAL +} + +SCG-ConfigInfo-v1330-IEs ::= SEQUENCE { + measResultListRSSI-SCG-r13 MeasResultListRSSI-SCG-r13 OPTIONAL, + nonCriticalExtension SCG-ConfigInfo-v1430-IEs OPTIONAL +} + +SCG-ConfigInfo-v1430-IEs ::= SEQUENCE { + makeBeforeBreakSCG-Req-r14 ENUMERATED {true} OPTIONAL, + measGapConfigPerCC-List MeasGapConfigPerCC-List-r14 OPTIONAL, + nonCriticalExtension SCG-ConfigInfo-v1530-IEs OPTIONAL +} + +SCG-ConfigInfo-v1530-IEs ::= SEQUENCE { + drb-ToAddModListSCG-r15 DRB-InfoListSCG-r15 OPTIONAL, + drb-ToReleaseListSCG-r15 DRB-ToReleaseList-r15 OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + +DRB-InfoListSCG-r12 ::= SEQUENCE (SIZE (1..maxDRB)) OF DRB-InfoSCG-r12 +DRB-InfoListSCG-r15 ::= SEQUENCE (SIZE (1..maxDRB-r15)) OF DRB-InfoSCG-r12 + +DRB-InfoSCG-r12 ::= SEQUENCE { + eps-BearerIdentity-r12 INTEGER (0..15) OPTIONAL, -- Cond DRB-Setup + drb-Identity-r12 DRB-Identity, + drb-Type-r12 ENUMERATED {split, scg} OPTIONAL, -- Cond DRB-Setup + ... +} + +SCellToAddModListSCG-r12 ::= SEQUENCE (SIZE (1..maxSCell-r10)) OF Cell-ToAddMod-r12 + +SCellToAddModListSCG-Ext-r13 ::= SEQUENCE (SIZE (1..maxSCell-r13)) OF Cell-ToAddMod-r12 + +Cell-ToAddMod-r12 ::= SEQUENCE { + sCellIndex-r12 SCellIndex-r10, + cellIdentification-r12 SEQUENCE { + physCellId-r12 PhysCellId, + dl-CarrierFreq-r12 ARFCN-ValueEUTRA-r9 + } OPTIONAL, -- Cond SCellAdd + measResultCellToAdd-r12 SEQUENCE { + rsrpResult-r12 RSRP-Range, + rsrqResult-r12 RSRQ-Range + } OPTIONAL, -- Cond SCellAdd2 + ..., + [[ sCellIndex-r13 SCellIndex-r13 OPTIONAL, + measResultCellToAdd-v1310 SEQUENCE { + rs-sinr-Result-r13 RS-SINR-Range-r13 + } OPTIONAL -- Cond SCellAdd2 + ]] +} + +MeasResultServCellListSCG-r12 ::= SEQUENCE (SIZE (1..maxServCell-r10)) OF MeasResultServCellSCG-r12 + +MeasResultServCellListSCG-Ext-r13 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasResultServCellSCG-r12 + +MeasResultServCellSCG-r12 ::= SEQUENCE { + servCellId-r12 ServCellIndex-r10, + measResultSCell-r12 SEQUENCE { + rsrpResultSCell-r12 RSRP-Range, + rsrqResultSCell-r12 RSRQ-Range + }, + ..., + [[ servCellId-r13 ServCellIndex-r13 OPTIONAL, + measResultSCell-v1310 SEQUENCE { + rs-sinr-ResultSCell-r13 RS-SINR-Range-r13 + } OPTIONAL + ]] +} + +MeasResultListRSSI-SCG-r13 ::= SEQUENCE (SIZE (1..maxServCell-r13)) OF MeasResultRSSI-SCG-r13 + +MeasResultRSSI-SCG-r13 ::= SEQUENCE { + servCellId-r13 ServCellIndex-r13, + measResultForRSSI-r13 MeasResultForRSSI-r13 +} + +SCG-ConfigRestrictInfo-r12 ::= SEQUENCE { + maxSCH-TB-BitsDL-r12 INTEGER (1..100), + maxSCH-TB-BitsUL-r12 INTEGER (1..100) +} + + +UEPagingCoverageInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + uePagingCoverageInformation-r13 UEPagingCoverageInformation-r13-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEPagingCoverageInformation-r13-IEs ::= SEQUENCE { + mpdcch-NumRepetition-r13 INTEGER (1..256) OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UERadioAccessCapabilityInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + ueRadioAccessCapabilityInformation-r8 + UERadioAccessCapabilityInformation-r8-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UERadioAccessCapabilityInformation-r8-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfo OCTET STRING (CONTAINING UECapabilityInformation), + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UERadioPagingInformation ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + ueRadioPagingInformation-r12 UERadioPagingInformation-r12-IEs, + spare7 NULL, + spare6 NULL, spare5 NULL, spare4 NULL, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UERadioPagingInformation-r12-IEs ::= SEQUENCE { + ue-RadioPagingInfo-r12 OCTET STRING (CONTAINING UE-RadioPagingInfo-r12), + nonCriticalExtension UERadioPagingInformation-v1310-IEs OPTIONAL +} + +UERadioPagingInformation-v1310-IEs ::= SEQUENCE { + supportedBandListEUTRAForPaging-r13 SEQUENCE (SIZE (1..maxBands)) OF FreqBandIndicator-r11 OPTIONAL, + nonCriticalExtension UERadioPagingInformation-v1610-IEs OPTIONAL + +} + +UERadioPagingInformation-v1610-IEs ::= SEQUENCE { + accessStratumRelease-r16 ENUMERATED {true} OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +AS-Config ::= SEQUENCE { + sourceMeasConfig MeasConfig, + sourceRadioResourceConfig RadioResourceConfigDedicated, + sourceSecurityAlgorithmConfig SecurityAlgorithmConfig, + sourceUE-Identity C-RNTI, + sourceMasterInformationBlock MasterInformationBlock, + sourceSystemInformationBlockType1 SystemInformationBlockType1(WITH COMPONENTS + {..., nonCriticalExtension ABSENT}), + sourceSystemInformationBlockType2 SystemInformationBlockType2, + antennaInfoCommon AntennaInfoCommon, + sourceDl-CarrierFreq ARFCN-ValueEUTRA, + ..., + [[ sourceSystemInformationBlockType1Ext OCTET STRING (CONTAINING + SystemInformationBlockType1-v890-IEs) OPTIONAL, + sourceOtherConfig-r9 OtherConfig-r9 + -- sourceOtherConfig-r9 should have been optional. A target eNB compliant with this transfer + -- syntax should support receiving an AS-Config not including this extension addition group + -- e.g. from a legacy source eNB + ]], + [[ sourceSCellConfigList-r10 SCellToAddModList-r10 OPTIONAL + ]], + [[ sourceConfigSCG-r12 SCG-Config-r12 OPTIONAL + ]], + [[ as-ConfigNR-r15 AS-ConfigNR-r15 OPTIONAL + ]], + [[ as-Config-v1550 AS-Config-v1550 OPTIONAL + ]], + [[ as-ConfigNR-v1570 AS-ConfigNR-v1570 OPTIONAL + ]], + [[ as-ConfigNR-v1620 AS-ConfigNR-v1620 OPTIONAL + ]] +} + +AS-Config-v9e0 ::= SEQUENCE { + sourceDl-CarrierFreq-v9e0 ARFCN-ValueEUTRA-v9e0 +} + +AS-Config-v10j0 ::= SEQUENCE { + antennaInfoDedicatedPCell-v10i0 AntennaInfoDedicated-v10i0 OPTIONAL +} + +AS-Config-v1250 ::= SEQUENCE { + sourceWlan-OffloadConfig-r12 WLAN-OffloadConfig-r12 OPTIONAL, + sourceSL-CommConfig-r12 SL-CommConfig-r12 OPTIONAL, + sourceSL-DiscConfig-r12 SL-DiscConfig-r12 OPTIONAL +} + +AS-Config-v1320 ::= SEQUENCE { + sourceSCellConfigList-r13 SCellToAddModListExt-r13 OPTIONAL, + sourceRCLWI-Configuration-r13 RCLWI-Configuration-r13 OPTIONAL +} + +AS-Config-v13c0 ::= SEQUENCE { + radioResourceConfigDedicated-v13c01 RadioResourceConfigDedicated-v1370 OPTIONAL, + radioResourceConfigDedicated-v13c02 RadioResourceConfigDedicated-v13c0 OPTIONAL, + sCellToAddModList-v13c0 SCellToAddModList-v13c0 OPTIONAL, + sCellToAddModListExt-v13c0 SCellToAddModListExt-v13c0 OPTIONAL +} + +AS-Config-v1430 ::= SEQUENCE { + sourceSL-V2X-CommConfig-r14 SL-V2X-ConfigDedicated-r14 OPTIONAL, + sourceLWA-Config-r14 LWA-Config-r13 OPTIONAL, + sourceWLAN-MeasResult-r14 MeasResultListWLAN-r13 OPTIONAL +} + +AS-ConfigNR-r15 ::= SEQUENCE { + sourceRB-ConfigNR-r15 OCTET STRING OPTIONAL, + sourceRB-ConfigSN-NR-r15 OCTET STRING OPTIONAL, + sourceOtherConfigSN-NR-r15 OCTET STRING OPTIONAL +} + +AS-ConfigNR-v1570 ::= SEQUENCE { + sourceSCG-ConfiguredNR-r15 ENUMERATED {true} +} + +AS-Config-v1550 ::= SEQUENCE { + tdm-PatternConfig-r15 SEQUENCE { + subframeAssignment-r15 SubframeAssignment-r15, + harq-Offset-r15 INTEGER (0.. 9) + } OPTIONAL, + p-MaxEUTRA-r15 P-Max OPTIONAL +} + +AS-ConfigNR-v1620 ::= SEQUENCE { + tdm-PatternConfig2-r16 TDM-PatternConfig-r15 +} + + +AS-Context ::= SEQUENCE { + reestablishmentInfo ReestablishmentInfo OPTIONAL -- Cond HO +} + +AS-Context-v1130 ::= SEQUENCE { + idc-Indication-r11 OCTET STRING (CONTAINING + InDeviceCoexIndication-r11) OPTIONAL, -- Cond HO2 + mbmsInterestIndication-r11 OCTET STRING (CONTAINING + MBMSInterestIndication-r11) OPTIONAL, -- Cond HO2 + ueAssistanceInformation-r11 OCTET STRING (CONTAINING + UEAssistanceInformation-r11) OPTIONAL, -- Cond HO2 + ..., + [[ sidelinkUEInformation-r12 OCTET STRING (CONTAINING + SidelinkUEInformation-r12) OPTIONAL -- Cond HO2 + ]], + [[ sourceContextEN-DC-r15 OCTET STRING OPTIONAL -- Cond HO2 + ]], + [[ selectedbandCombinationInfoEN-DC-v1540 OCTET STRING OPTIONAL -- Cond HO2 + ]] +} + +AS-Context-v1320 ::= SEQUENCE { + wlanConnectionStatusReport-r13 OCTET STRING (CONTAINING + WLANConnectionStatusReport-r13) OPTIONAL -- Cond HO2 +} + +AS-Context-v1610 ::= SEQUENCE { + sidelinkUEInformationNR-r16 OCTET STRING OPTIONAL, -- Cond HO3 + ueAssistanceInformationNR-r16 OCTET STRING OPTIONAL, -- Cond HO3 + configRestrictInfoDAPS-r16 ConfigRestrictInfoDAPS-r16 OPTIONAL -- Cond HO2 +} + +AS-Context-v1620 ::= SEQUENCE { + ueAssistanceInformationNR-SCG-r16 OCTET STRING OPTIONAL -- Cond HO2 +} + +AS-Context-v1630 ::= SEQUENCE { + configRestrictInfoDAPS-v1630 ConfigRestrictInfoDAPS-v1630 OPTIONAL -- Cond HO2 +} + +ConfigRestrictInfoDAPS-r16 ::= SEQUENCE { + maxSCH-TB-BitsDL-r16 INTEGER (1..100) OPTIONAL, -- Cond HO2 + maxSCH-TB-BitsUL-r16 INTEGER (1..100) OPTIONAL -- Cond HO2 +} + +ConfigRestrictInfoDAPS-v1630 ::= SEQUENCE { + daps-PowerCoordinationInfo-r16 DAPS-PowerCoordinationInfo-r16 OPTIONAL -- Cond HO2 +} + + +ReestablishmentInfo ::= SEQUENCE { + sourcePhysCellId PhysCellId, + targetCellShortMAC-I ShortMAC-I, + additionalReestabInfoList AdditionalReestabInfoList OPTIONAL, + ... +} + +AdditionalReestabInfoList ::= SEQUENCE ( SIZE (1..maxReestabInfo) ) OF AdditionalReestabInfo + +AdditionalReestabInfo ::= SEQUENCE{ + cellIdentity CellIdentity, + key-eNodeB-Star Key-eNodeB-Star, + shortMAC-I ShortMAC-I +} + +Key-eNodeB-Star ::= BIT STRING (SIZE (256)) + + +RRM-Config ::= SEQUENCE { + ue-InactiveTime ENUMERATED { + s1, s2, s3, s5, s7, s10, s15, s20, + s25, s30, s40, s50, min1, min1s20c, min1s40, + min2, min2s30, min3, min3s30, min4, min5, min6, + min7, min8, min9, min10, min12, min14, min17, min20, + min24, min28, min33, min38, min44, min50, hr1, + hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6, + hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2, + day2hr12, day3, day4, day5, day7, day10, day14, day19, + day24, day30, dayMoreThan30} OPTIONAL, + ..., + [[ candidateCellInfoList-r10 CandidateCellInfoList-r10 OPTIONAL + ]], + [[ candidateCellInfoListNR-r15 MeasResultServFreqListNR-r15 OPTIONAL + ]] +} + +CandidateCellInfoList-r10 ::= SEQUENCE (SIZE (1..maxFreq)) OF CandidateCellInfo-r10 + +CandidateCellInfo-r10 ::= SEQUENCE { + -- cellIdentification + physCellId-r10 PhysCellId, + dl-CarrierFreq-r10 ARFCN-ValueEUTRA, + -- available measurement results + rsrpResult-r10 RSRP-Range OPTIONAL, + rsrqResult-r10 RSRQ-Range OPTIONAL, + ..., + [[ dl-CarrierFreq-v1090 ARFCN-ValueEUTRA-v9e0 OPTIONAL + ]], + [[ rsrqResult-v1250 RSRQ-Range-v1250 OPTIONAL + ]], + [[ rs-sinr-Result-r13 RS-SINR-Range-r13 OPTIONAL + ]] +} + + +maxReestabInfo INTEGER ::= 32 -- Maximum number of KeNB* and shortMAC-I forwarded + -- at handover for re-establishment preparation + + +END + + +NBIOT-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + C-RNTI, + PhysCellId, + SecurityAlgorithmConfig, + ShortMAC-I +FROM EUTRA-RRC-Definitions + + AdditionalReestabInfoList +FROM EUTRA-InterNodeDefinitions + + CarrierFreq-NB-r13, + CarrierFreq-NB-v1550, + RadioResourceConfigDedicated-NB-r13, + UECapabilityInformation-NB, + UE-Capability-NB-r13, + UE-Capability-NB-Ext-r14-IEs, + UE-RadioPagingInfo-NB-r13 +FROM NBIOT-RRC-Definitions; + + +HandoverPreparationInformation-NB ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + handoverPreparationInformation-r13 HandoverPreparationInformation-NB-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +HandoverPreparationInformation-NB-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfo-r13 UE-Capability-NB-r13, + as-Config-r13 AS-Config-NB, + rrm-Config-r13 RRM-Config-NB OPTIONAL, + as-Context-r13 AS-Context-NB OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-NB-v1380-IEs OPTIONAL +} + +HandoverPreparationInformation-NB-v1380-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension HandoverPreparationInformation-NB-Ext-r14-IEs OPTIONAL +} + +HandoverPreparationInformation-NB-Ext-r14-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfoExt-r14 OCTET STRING (CONTAINING UE-Capability-NB-Ext-r14-IEs) OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UEPagingCoverageInformation-NB ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + uePagingCoverageInformation-r13 UEPagingCoverageInformation-NB-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UEPagingCoverageInformation-NB-IEs ::= SEQUENCE { +-- the possible value(s) can differ from those sent on Uu + npdcch-NumRepetitionPaging-r13 INTEGER (1..2048) OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UERadioAccessCapabilityInformation-NB ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + ueRadioAccessCapabilityInformation-r13 + UERadioAccessCapabilityInformation-NB-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UERadioAccessCapabilityInformation-NB-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfo-r13 OCTET STRING (CONTAINING UE-Capability-NB-r13), + nonCriticalExtension UERadioAccessCapabilityInformation-NB-v1380-IEs OPTIONAL +} + +UERadioAccessCapabilityInformation-NB-v1380-IEs ::= SEQUENCE { + lateNonCriticalExtension OCTET STRING OPTIONAL, + nonCriticalExtension UERadioAccessCapabilityInformation-NB-r14-IEs OPTIONAL +} + +UERadioAccessCapabilityInformation-NB-r14-IEs ::= SEQUENCE { + ue-RadioAccessCapabilityInfo-r14 OCTET STRING (CONTAINING UECapabilityInformation-NB) OPTIONAL, + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +UERadioPagingInformation-NB ::= SEQUENCE { + criticalExtensions CHOICE { + c1 CHOICE{ + ueRadioPagingInformation-r13 UERadioPagingInformation-NB-IEs, + spare3 NULL, spare2 NULL, spare1 NULL + }, + criticalExtensionsFuture SEQUENCE {} + } +} + +UERadioPagingInformation-NB-IEs ::= SEQUENCE { + ue-RadioPagingInfo-r13 OCTET STRING (CONTAINING UE-RadioPagingInfo-NB-r13), + nonCriticalExtension SEQUENCE {} OPTIONAL +} + + +AS-Config-NB ::= SEQUENCE { + sourceRadioResourceConfig-r13 RadioResourceConfigDedicated-NB-r13, + sourceSecurityAlgorithmConfig-r13 SecurityAlgorithmConfig, + sourceUE-Identity-r13 C-RNTI, + sourceDl-CarrierFreq-r13 CarrierFreq-NB-r13, + ..., + [[ sourceDL-CarrierFreq-v1550 CarrierFreq-NB-v1550 OPTIONAL -- Cond TDD + ]] +} + + +AS-Context-NB ::= SEQUENCE { + reestablishmentInfo-r13 ReestablishmentInfo-NB OPTIONAL, + ... +} + + +ReestablishmentInfo-NB ::= SEQUENCE { + sourcePhysCellId-r13 PhysCellId, + targetCellShortMAC-I-r13 ShortMAC-I, + additionalReestabInfoList-r13 AdditionalReestabInfoList OPTIONAL, + ... +} + + + + +RRM-Config-NB ::= SEQUENCE { + ue-InactiveTime ENUMERATED { + s1, s2, s3, s5, s7, s10, s15, s20, + s25, s30, s40, s50, min1, min1s20, min1s40, + min2, min2s30, min3, min3s30, min4, min5, min6, + min7, min8, min9, min10, min12, min14, min17, min20, + min24, min28, min33, min38, min44, min50, hr1, + hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6, + hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2, + day2hr12, day3, day4, day5, day7, day10, day14, day19, + day24, day30, dayMoreThan30} OPTIONAL, + ... +} + + +END + + diff --git a/openair2/RRC/LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.cmake b/openair2/RRC/LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.cmake new file mode 100644 index 0000000000..83c0048ef3 --- /dev/null +++ b/openair2/RRC/LTE/MESSAGES/ASN.1/lte-rrc-16.13.0.cmake @@ -0,0 +1,5530 @@ +set(LTE_RRC_GRAMMAR ASN.1/lte-rrc-16.13.0.asn1) + +set(lte_rrc_source + ANY_aper.c + ANY.c + ANY_uper.c + ANY_xer.c + aper_decoder.c + aper_encoder.c + aper_opentype.c + aper_support.c + asn_application.c + asn_bit_data.c + asn_codecs_prim.c + asn_codecs_prim_xer.c + asn_internal.c + asn_random_fill.c + asn_SEQUENCE_OF.c + asn_SET_OF.c + ber_tlv_length.c + ber_tlv_tag.c + BIT_STRING.c + BIT_STRING_print.c + BIT_STRING_rfill.c + BIT_STRING_uper.c + BIT_STRING_xer.c + BOOLEAN_aper.c + BOOLEAN.c + BOOLEAN_print.c + BOOLEAN_rfill.c + BOOLEAN_uper.c + BOOLEAN_xer.c + constraints.c + constr_CHOICE_aper.c + constr_CHOICE.c + constr_CHOICE_print.c + constr_CHOICE_rfill.c + constr_CHOICE_uper.c + constr_CHOICE_xer.c + constr_SEQUENCE_aper.c + constr_SEQUENCE.c + constr_SEQUENCE_OF_aper.c + constr_SEQUENCE_OF.c + constr_SEQUENCE_OF_uper.c + constr_SEQUENCE_OF_xer.c + constr_SEQUENCE_print.c + constr_SEQUENCE_rfill.c + constr_SEQUENCE_uper.c + constr_SEQUENCE_xer.c + constr_SET_OF_aper.c + constr_SET_OF.c + constr_SET_OF_print.c + constr_SET_OF_rfill.c + constr_SET_OF_uper.c + constr_SET_OF_xer.c + constr_TYPE.c + GraphicString.c + INTEGER_aper.c + INTEGER.c + INTEGER_print.c + INTEGER_rfill.c + INTEGER_uper.c + INTEGER_xer.c + LTE_AB-Config-NB-r13.c + LTE_AB-ConfigPLMN-NB-r13.c + LTE_AbsoluteTimeInfo-r10.c + LTE_AC-BarringConfig1XRTT-r9.c + LTE_AC-BarringConfig.c + LTE_AC-BarringPerPLMN-List-r12.c + LTE_AC-BarringPerPLMN-r12.c + LTE_AccessStratumRelease.c + LTE_AccessStratumRelease-NB-r13.c + LTE_ACDC-BarringForCommon-r13.c + LTE_ACDC-BarringPerPLMN-List-r13.c + LTE_ACDC-BarringPerPLMN-r13.c + LTE_ACK-NACK-NumRepetitions-NB-r13.c + LTE_AdditionalBandInfoList-NB-r14.c + LTE_AdditionalReestabInfo.c + LTE_AdditionalReestabInfoList.c + LTE_AdditionalSI-Info-r9.c + LTE_AdditionalSpectrumEmission.c + LTE_AdditionalSpectrumEmissionNR-r15.c + LTE_AdditionalSpectrumEmission-v10l0.c + LTE_AffectedCarrierFreqCombInfoMRDC-r15.c + LTE_AffectedCarrierFreqCombList-r11.c + LTE_AffectedCarrierFreqCombList-r13.c + LTE_AffectedCarrierFreqCombNR-r15.c + LTE_AffectedCarrierFreqComb-r11.c + LTE_AffectedCarrierFreqComb-r13.c + LTE_AffectedCarrierFreqComb-r15.c + LTE_AffectedCarrierFreqList-r11.c + LTE_AffectedCarrierFreqList-v1310.c + LTE_AffectedCarrierFreq-r11.c + LTE_AffectedCarrierFreq-v1310.c + LTE_AllowedMeasBandwidth.c + LTE_Alpha-r12.c + LTE_AltTTT-CellsToAddModList-r12.c + LTE_AltTTT-CellsToAddMod-r12.c + LTE_AMF-Identifier-r15.c + LTE_ANR-BlackCellList-NB-r16.c + LTE_ANR-CarrierList-NB-r16.c + LTE_ANR-Carrier-NB-r16.c + LTE_ANR-MeasConfig-NB-r16.c + LTE_ANR-MeasReport-NB-r16.c + LTE_ANR-MeasResult-NB-r16.c + LTE_AntennaInfoCommon.c + LTE_AntennaInfoDedicated.c + LTE_AntennaInfoDedicated-r10.c + LTE_AntennaInfoDedicatedSTTI-r15.c + LTE_AntennaInfoDedicated-v10i0.c + LTE_AntennaInfoDedicated-v1250.c + LTE_AntennaInfoDedicated-v1430.c + LTE_AntennaInfoDedicated-v1530.c + LTE_AntennaInfoDedicated-v920.c + LTE_AntennaInfoUL-r10.c + LTE_AntennaInfoUL-STTI-r15.c + LTE_AreaConfiguration-r10.c + LTE_AreaConfiguration-v1130.c + LTE_ARFCN-ValueCDMA2000.c + LTE_ARFCN-ValueEUTRA.c + LTE_ARFCN-ValueEUTRA-r9.c + LTE_ARFCN-ValueEUTRA-v9e0.c + LTE_ARFCN-ValueGERAN.c + LTE_ARFCN-ValueNR-r15.c + LTE_ARFCN-ValueUTRA.c + LTE_AS-Config.c + LTE_AS-Config-NB.c + LTE_AS-ConfigNR-r15.c + LTE_AS-ConfigNR-v1570.c + LTE_AS-ConfigNR-v1620.c + LTE_AS-Config-v10j0.c + LTE_AS-Config-v1250.c + LTE_AS-Config-v1320.c + LTE_AS-Config-v13c0.c + LTE_AS-Config-v1430.c + LTE_AS-Config-v1550.c + LTE_AS-Config-v9e0.c + LTE_AS-Context.c + LTE_AS-Context-NB.c + LTE_AS-Context-v1130.c + LTE_AS-Context-v1320.c + LTE_AS-Context-v1610.c + LTE_AS-Context-v1620.c + LTE_AS-Context-v1630.c + LTE_AUL-Config-r15.c + LTE_BandclassCDMA2000.c + LTE_BandClassInfoCDMA2000.c + LTE_BandClassListCDMA2000.c + LTE_BandClassPriority1XRTT.c + LTE_BandClassPriorityHRPD.c + LTE_BandClassPriorityList1XRTT.c + LTE_BandClassPriorityListHRPD.c + LTE_BandCombinationListEUTRA-r10.c + LTE_BandCombinationList-r14.c + LTE_BandCombinationParametersExt-r10.c + LTE_BandCombinationParameters-r10.c + LTE_BandCombinationParameters-r11.c + LTE_BandCombinationParameters-r13.c + LTE_BandCombinationParameters-v1090.c + LTE_BandCombinationParameters-v10i0.c + LTE_BandCombinationParameters-v1130.c + LTE_BandCombinationParameters-v1250.c + LTE_BandCombinationParameters-v1270.c + LTE_BandCombinationParameters-v1320.c + LTE_BandCombinationParameters-v1380.c + LTE_BandCombinationParameters-v1390.c + LTE_BandCombinationParameters-v1430.c + LTE_BandCombinationParameters-v1450.c + LTE_BandCombinationParameters-v1470.c + LTE_BandCombinationParameters-v14b0.c + LTE_BandCombinationParameters-v1530.c + LTE_BandCombinationParameters-v1610.c + LTE_BandCombinationParameters-v1630.c + LTE_BandCombination-r14.c + LTE_BandIndication-r14.c + LTE_BandIndicatorGERAN.c + LTE_BandInfoEUTRA.c + LTE_BandListENDC-r16.c + LTE_BandListEUTRA.c + LTE_BandParametersDL-r10.c + LTE_BandParametersDL-r13.c + LTE_BandParameters-r10.c + LTE_BandParameters-r11.c + LTE_BandParameters-r13.c + LTE_BandParametersRxSL-r14.c + LTE_BandParametersTxSL-r14.c + LTE_BandParametersUL-r10.c + LTE_BandParametersUL-r13.c + LTE_BandParameters-v1090.c + LTE_BandParameters-v10i0.c + LTE_BandParameters-v1130.c + LTE_BandParameters-v1270.c + LTE_BandParameters-v1320.c + LTE_BandParameters-v1380.c + LTE_BandParameters-v1430.c + LTE_BandParameters-v1450.c + LTE_BandParameters-v1470.c + LTE_BandParameters-v14b0.c + LTE_BandParameters-v1530.c + LTE_BandParameters-v1610.c + LTE_BarringPerACDC-CategoryList-r13.c + LTE_BarringPerACDC-Category-r13.c + LTE_BCCH-BCH-Message.c + LTE_BCCH-BCH-Message-MBMS.c + LTE_BCCH-BCH-Message-NB.c + LTE_BCCH-BCH-Message-TDD-NB.c + LTE_BCCH-BCH-MessageType.c + LTE_BCCH-BCH-MessageType-MBMS-r14.c + LTE_BCCH-BCH-MessageType-NB.c + LTE_BCCH-BCH-MessageType-TDD-NB-r15.c + LTE_BCCH-Config.c + LTE_BCCH-Config-NB-r13.c + LTE_BCCH-Config-v1310.c + LTE_BCCH-DL-SCH-Message-BR.c + LTE_BCCH-DL-SCH-Message.c + LTE_BCCH-DL-SCH-Message-MBMS.c + LTE_BCCH-DL-SCH-Message-NB.c + LTE_BCCH-DL-SCH-MessageType-BR-r13.c + LTE_BCCH-DL-SCH-MessageType.c + LTE_BCCH-DL-SCH-MessageType-MBMS-r14.c + LTE_BCCH-DL-SCH-MessageType-NB.c + LTE_BeamMeasConfigIdleNR-r16.c + LTE_BlackCellsToAddMod.c + LTE_BlackCellsToAddModList.c + LTE_BLER-Range-r12.c + LTE_BLER-Result-r12.c + LTE_BT-NameListConfig-r15.c + LTE_BT-NameList-r15.c + LTE_BT-Name-r15.c + LTE_BW-Preference-r14.c + LTE_CA-BandwidthClass-r10.c + LTE_CA-MIMO-ParametersDL-r10.c + LTE_CA-MIMO-ParametersDL-r13.c + LTE_CA-MIMO-ParametersDL-r15.c + LTE_CA-MIMO-ParametersDL-v10i0.c + LTE_CA-MIMO-ParametersDL-v1270.c + LTE_CA-MIMO-ParametersUL-r10.c + LTE_CA-MIMO-ParametersUL-r15.c + LTE_CandidateCellInfoList-r10.c + LTE_CandidateCellInfo-r10.c + LTE_CandidateServingFreqListNR-r15.c + LTE_CarrierBandwidthEUTRA.c + LTE_CarrierConfigDedicated-NB-r13.c + LTE_CarrierFreqCDMA2000.c + LTE_CarrierFreqEUTRA.c + LTE_CarrierFreqEUTRA-NB-r16.c + LTE_CarrierFreqEUTRA-v9e0.c + LTE_CarrierFreqGERAN.c + LTE_CarrierFreqInfoUTRA-FDD-v8h0.c + LTE_CarrierFreqInfoUTRA-v1250.c + LTE_CarrierFreqListEUTRA-NB-r16.c + LTE_CarrierFreqListMBMS-r11.c + LTE_CarrierFreqListNBIOT-r16.c + LTE_CarrierFreqListNR-r15.c + LTE_CarrierFreqListNR-v1610.c + LTE_CarrierFreqListUTRA-FDD.c + LTE_CarrierFreqListUTRA-FDD-Ext-r12.c + LTE_CarrierFreqListUTRA-TDD.c + LTE_CarrierFreqListUTRA-TDD-Ext-r12.c + LTE_CarrierFreqListUTRA-TDD-r10.c + LTE_CarrierFreqNBIOT-r16.c + LTE_CarrierFreq-NB-r13.c + LTE_CarrierFreq-NB-v1550.c + LTE_CarrierFreqNR-r15.c + LTE_CarrierFreqNR-v1610.c + LTE_CarrierFreqsGERAN.c + LTE_CarrierFreqsGERAN-NB-r16.c + LTE_CarrierFreqsInfoGERAN.c + LTE_CarrierFreqsInfoListGERAN.c + LTE_CarrierFreqsListGERAN-NB-r16.c + LTE_CarrierFreqUTRA-FDD.c + LTE_CarrierFreqUTRA-FDD-Ext-r12.c + LTE_CarrierFreqUTRA-TDD.c + LTE_CarrierFreqUTRA-TDD-r12.c + LTE_CarrierInfoNR-r15.c + LTE_CDMA2000-Type.c + LTE_CellAccessRelatedInfo-5GC-r15.c + LTE_CellAccessRelatedInfo-r14.c + LTE_CellChangeOrder.c + LTE_CellGlobalIdCDMA2000.c + LTE_CellGlobalIdEUTRA.c + LTE_CellGlobalIdGERAN.c + LTE_CellGlobalIdList-r10.c + LTE_CellGlobalIdNR-r16.c + LTE_CellGlobalIdUTRA.c + LTE_CellIdentity-5GC-r15.c + LTE_CellIdentity.c + LTE_CellIdentityNR-r15.c + LTE_CellIndex.c + LTE_CellIndexList.c + LTE_CellInfoGERAN-r9.c + LTE_CellInfoListGERAN-r9.c + LTE_CellInfoListUTRA-FDD-r9.c + LTE_CellInfoListUTRA-TDD-r10.c + LTE_CellInfoListUTRA-TDD-r9.c + LTE_CellInfoUTRA-FDD-r9.c + LTE_CellInfoUTRA-TDD-r10.c + LTE_CellInfoUTRA-TDD-r9.c + LTE_CellListNR-r16.c + LTE_CellList-r15.c + LTE_CellReselectionInfoCommon-NB-v1450.c + LTE_CellReselectionInfoCommon-v1460.c + LTE_CellReselectionInfoHSDN-r15.c + LTE_CellReselectionParametersCDMA2000.c + LTE_CellReselectionParametersCDMA2000-r11.c + LTE_CellReselectionParametersCDMA2000-v920.c + LTE_CellReselectionPriority.c + LTE_CellReselectionServingFreqInfo-v1310.c + LTE_CellReselectionServingFreqInfo-v1610.c + LTE_CellReselectionSubPriority-r13.c + LTE_CellSelectionInfoCE1-r13.c + LTE_CellSelectionInfoCE1-v1360.c + LTE_CellSelectionInfoCE-r13.c + LTE_CellSelectionInfoCE-v1530.c + LTE_CellSelectionInfo-NB-v1350.c + LTE_CellSelectionInfo-NB-v1430.c + LTE_CellSelectionInfoNFreq-r13.c + LTE_CellSelectionInfo-v1130.c + LTE_CellSelectionInfo-v1250.c + LTE_CellSelectionInfo-v920.c + LTE_CellsToAddMod.c + LTE_CellsToAddModCDMA2000.c + LTE_CellsToAddModList.c + LTE_CellsToAddModListCDMA2000.c + LTE_CellsToAddModListNR-r15.c + LTE_CellsToAddModListNR-r16.c + LTE_CellsToAddModListUTRA-FDD.c + LTE_CellsToAddModListUTRA-TDD.c + LTE_CellsToAddModList-v1610.c + LTE_CellsToAddModNR-r15.c + LTE_CellsToAddModNR-r16.c + LTE_CellsToAddModUTRA-FDD.c + LTE_CellsToAddModUTRA-TDD.c + LTE_CellsToAddMod-v1610.c + LTE_CellsTriggeredList.c + LTE_Cell-ToAddMod-r12.c + LTE_CE-MultiTB-Parameters-r16.c + LTE_CE-Parameters-r13.c + LTE_CE-Parameters-v1320.c + LTE_CE-Parameters-v1350.c + LTE_CE-Parameters-v1370.c + LTE_CE-Parameters-v1380.c + LTE_CE-Parameters-v1430.c + LTE_CE-PDSCH-MultiTB-Config-r16.c + LTE_CE-PUSCH-MultiTB-Config-r16.c + LTE_CE-ResourceResvParameters-r16.c + LTE_CFI-Config-r15.c + LTE_CFI-PatternConfig-r15.c + LTE_CGI-InfoNR-r15.c + LTE_ChannelRasterOffset-NB-r13.c + LTE_CIOT-EPS-OptimisationInfo-r13.c + LTE_CIOT-OptimisationPLMN-r13.c + LTE_CipheringAlgorithm-r12.c + LTE_CommonSF-AllocPatternList-r9.c + LTE_CommonSF-AllocPatternList-v1430.c + LTE_CommonSF-AllocPatternList-v1610.c + LTE_ConditionalReconfiguration-r16.c + LTE_CondReconfigurationAddMod-r16.c + LTE_CondReconfigurationId-r16.c + LTE_CondReconfigurationToAddModList-r16.c + LTE_CondReconfigurationToRemoveList-r16.c + LTE_CondReconfigurationTriggerEUTRA-r16.c + LTE_ConfigRestrictInfoDAPS-r16.c + LTE_ConfigRestrictInfoDAPS-v1630.c + LTE_ConnEstFailReport-r11.c + LTE_CounterCheck.c + LTE_CounterCheck-r8-IEs.c + LTE_CounterCheckResponse.c + LTE_CounterCheckResponse-r8-IEs.c + LTE_CounterCheckResponse-v1530-IEs.c + LTE_CounterCheckResponse-v8a0-IEs.c + LTE_CounterCheck-v1530-IEs.c + LTE_CounterCheck-v8a0-IEs.c + LTE_CountingRequestInfo-r10.c + LTE_CountingRequestList-r10.c + LTE_CountingResponseInfo-r10.c + LTE_CountingResponseList-r10.c + LTE_CQI-NPDCCH-NB-r14.c + LTE_CQI-NPDCCH-Short-NB-r14.c + LTE_CQI-ReportAperiodicHybrid-r14.c + LTE_CQI-ReportAperiodicProc-r11.c + LTE_CQI-ReportAperiodicProc-v1310.c + LTE_CQI-ReportAperiodic-r10.c + LTE_CQI-ReportAperiodic-v1250.c + LTE_CQI-ReportAperiodic-v1310.c + LTE_CQI-ReportBothProc-r11.c + LTE_CQI-ReportBoth-r11.c + LTE_CQI-ReportBoth-v1250.c + LTE_CQI-ReportBoth-v1310.c + LTE_CQI-ReportConfig.c + LTE_CQI-ReportConfig-r10.c + LTE_CQI-ReportConfig-r15.c + LTE_CQI-ReportConfigSCell-r10.c + LTE_CQI-ReportConfigSCell-r15.c + LTE_CQI-ReportConfig-v1130.c + LTE_CQI-ReportConfig-v1250.c + LTE_CQI-ReportConfig-v1310.c + LTE_CQI-ReportConfig-v1320.c + LTE_CQI-ReportConfig-v1430.c + LTE_CQI-ReportConfig-v1530.c + LTE_CQI-ReportConfig-v920.c + LTE_CQI-ReportModeAperiodic.c + LTE_CQI-ReportPeriodic.c + LTE_CQI-ReportPeriodicProcExtId-r11.c + LTE_CQI-ReportPeriodicProcExt-r11.c + LTE_CQI-ReportPeriodicProcExtToAddModList-r11.c + LTE_CQI-ReportPeriodicProcExtToReleaseList-r11.c + LTE_CQI-ReportPeriodic-r10.c + LTE_CQI-ReportPeriodicSCell-r15.c + LTE_CQI-ReportPeriodic-v1130.c + LTE_CQI-ReportPeriodic-v1310.c + LTE_CQI-ReportPeriodic-v1320.c + LTE_CQI-ShortConfigSCell-r15.c + LTE_CRI-ConfigIndex-r13.c + LTE_CRI-ReportConfig-r13.c + LTE_C-RNTI.c + LTE_CrossCarrierSchedulingConfigLAA-UL-r14.c + LTE_CrossCarrierSchedulingConfig-r10.c + LTE_CrossCarrierSchedulingConfig-r13.c + LTE_CRS-AssistanceInfoList-r11.c + LTE_CRS-AssistanceInfoList-r13.c + LTE_CRS-AssistanceInfoList-r15.c + LTE_CRS-AssistanceInfo-r11.c + LTE_CRS-AssistanceInfo-r13.c + LTE_CRS-AssistanceInfo-r15.c + LTE_CRS-ChEstMPDCCH-ConfigCommon-r16.c + LTE_CRS-ChEstMPDCCH-ConfigDedicated-r16.c + LTE_CSFBParametersRequestCDMA2000.c + LTE_CSFBParametersRequestCDMA2000-r8-IEs.c + LTE_CSFBParametersRequestCDMA2000-v8a0-IEs.c + LTE_CSFBParametersResponseCDMA2000.c + LTE_CSFBParametersResponseCDMA2000-r8-IEs.c + LTE_CSFBParametersResponseCDMA2000-v8a0-IEs.c + LTE_CSFB-RegistrationParam1XRTT.c + LTE_CSFB-RegistrationParam1XRTT-v920.c + LTE_CSG-AllowedReportingCells-r9.c + LTE_CSG-Identity.c + LTE_CSG-ProximityIndicationParameters-r9.c + LTE_CSI-IM-ConfigExt-r12.c + LTE_CSI-IM-ConfigId-r11.c + LTE_CSI-IM-ConfigId-r12.c + LTE_CSI-IM-ConfigId-r13.c + LTE_CSI-IM-ConfigId-v1250.c + LTE_CSI-IM-ConfigId-v1310.c + LTE_CSI-IM-Config-r11.c + LTE_CSI-IM-ConfigToAddModListExt-r13.c + LTE_CSI-IM-ConfigToAddModList-r11.c + LTE_CSI-IM-ConfigToReleaseListExt-r13.c + LTE_CSI-IM-ConfigToReleaseList-r11.c + LTE_CSI-ProcessId-r11.c + LTE_CSI-Process-r11.c + LTE_CSI-ProcessToAddModList-r11.c + LTE_CSI-ProcessToReleaseList-r11.c + LTE_CSI-RS-ConfigBeamformed-r13.c + LTE_CSI-RS-ConfigBeamformed-r14.c + LTE_CSI-RS-ConfigBeamformed-v1430.c + LTE_CSI-RS-ConfigEMIMO2-r14.c + LTE_CSI-RS-ConfigEMIMO-Hybrid-r14.c + LTE_CSI-RS-ConfigEMIMO-r13.c + LTE_CSI-RS-ConfigEMIMO-v1430.c + LTE_CSI-RS-ConfigEMIMO-v1480.c + LTE_CSI-RS-ConfigEMIMO-v1530.c + LTE_CSI-RS-ConfigNonPrecoded-r13.c + LTE_CSI-RS-ConfigNonPrecoded-v1430.c + LTE_CSI-RS-ConfigNonPrecoded-v1480.c + LTE_CSI-RS-ConfigNonPrecoded-v1530.c + LTE_CSI-RS-ConfigNZP-Activation-r14.c + LTE_CSI-RS-ConfigNZP-EMIMO-r13.c + LTE_CSI-RS-ConfigNZP-EMIMO-v1430.c + LTE_CSI-RS-ConfigNZPId-r11.c + LTE_CSI-RS-ConfigNZPId-r13.c + LTE_CSI-RS-ConfigNZPId-v1310.c + LTE_CSI-RS-ConfigNZP-r11.c + LTE_CSI-RS-ConfigNZPToAddModListExt-r13.c + LTE_CSI-RS-ConfigNZPToAddModList-r11.c + LTE_CSI-RS-ConfigNZPToAddModList-r15.c + LTE_CSI-RS-ConfigNZPToReleaseListExt-r13.c + LTE_CSI-RS-ConfigNZPToReleaseList-r11.c + LTE_CSI-RS-ConfigNZPToReleaseList-r15.c + LTE_CSI-RS-Config-NZP-v1430.c + LTE_CSI-RS-Config-r10.c + LTE_CSI-RS-Config-r15.c + LTE_CSI-RS-Config-v1250.c + LTE_CSI-RS-Config-v1310.c + LTE_CSI-RS-Config-v1430.c + LTE_CSI-RS-Config-v1480.c + LTE_CSI-RS-Config-v1530.c + LTE_CSI-RS-ConfigZP-ApList-r14.c + LTE_CSI-RS-ConfigZPId-r11.c + LTE_CSI-RS-ConfigZP-r11.c + LTE_CSI-RS-ConfigZPToAddModList-r11.c + LTE_CSI-RS-ConfigZPToReleaseList-r11.c + LTE_CSI-RSRP-Range-r12.c + LTE_CSI-RS-TriggeredList-r12.c + LTE_DAPS-Config-r16.c + LTE_DAPS-PowerCoordinationInfo-r16.c + LTE_DataBLER-MCH-ResultList-r12.c + LTE_DataBLER-MCH-Result-r12.c + LTE_DataInactivityTimer-r14.c + LTE_DCI7-CandidatesPerAL-SPDCCH-r15.c + LTE_DCI7-Candidates-r15.c + LTE_DC-Parameters-r12.c + LTE_DC-Parameters-v1310.c + LTE_DedicatedInfoCDMA2000.c + LTE_DedicatedInfoF1c-r16.c + LTE_DedicatedInfoNAS.c + LTE_DelayBudgetReport-r14.c + LTE_DeltaFList-PUCCH.c + LTE_DeltaFList-SPUCCH-r15.c + LTE_DeltaTxD-OffsetListPUCCH-r10.c + LTE_DeltaTxD-OffsetListPUCCH-v1130.c + LTE_DeltaTxD-OffsetListSPUCCH-r15.c + LTE_DL-AM-RLC.c + LTE_DL-AM-RLC-NB-r13.c + LTE_DL-AM-RLC-r15.c + LTE_DL-Bitmap-NB-r13.c + LTE_DL-CarrierConfigCommon-NB-r14.c + LTE_DL-CarrierConfigDedicated-NB-r13.c + LTE_DL-CCCH-Message.c + LTE_DL-CCCH-Message-NB.c + LTE_DL-CCCH-MessageType.c + LTE_DL-CCCH-MessageType-NB.c + LTE_DL-ConfigCommonList-NB-r14.c + LTE_DL-ConfigCommon-NB-r14.c + LTE_DL-DCCH-Message.c + LTE_DL-DCCH-Message-NB.c + LTE_DL-DCCH-MessageType.c + LTE_DL-DCCH-MessageType-NB.c + LTE_DLDedicatedMessageSegment-r16.c + LTE_DLDedicatedMessageSegment-r16-IEs.c + LTE_DL-GapConfig-NB-r13.c + LTE_DL-GapConfig-NB-v1530.c + LTE_DLInformationTransfer.c + LTE_DLInformationTransfer-NB.c + LTE_DLInformationTransfer-NB-r13-IEs.c + LTE_DLInformationTransfer-r15-IEs.c + LTE_DLInformationTransfer-r8-IEs.c + LTE_DLInformationTransfer-v1610-IEs.c + LTE_DLInformationTransfer-v8a0-IEs.c + LTE_DL-UL-CCs-r15.c + LTE_DL-UM-RLC.c + LTE_DL-UM-RLC-r15.c + LTE_DMRS-Config-r11.c + LTE_DMRS-Config-v1310.c + LTE_DRB-CountInfo.c + LTE_DRB-CountInfoList.c + LTE_DRB-CountInfoListExt-r15.c + LTE_DRB-CountMSB-Info.c + LTE_DRB-CountMSB-InfoList.c + LTE_DRB-CountMSB-InfoListExt-r15.c + LTE_DRB-Identity.c + LTE_DRB-InfoListSCG-r12.c + LTE_DRB-InfoListSCG-r15.c + LTE_DRB-InfoSCG-r12.c + LTE_DRB-ToAddMod.c + LTE_DRB-ToAddModList.c + LTE_DRB-ToAddModList-NB-r13.c + LTE_DRB-ToAddModList-r15.c + LTE_DRB-ToAddModListSCG-r12.c + LTE_DRB-ToAddModListSCG-r15.c + LTE_DRB-ToAddMod-NB-r13.c + LTE_DRB-ToAddModSCG-r12.c + LTE_DRB-ToReleaseList.c + LTE_DRB-ToReleaseList-NB-r13.c + LTE_DRB-ToReleaseList-r15.c + LTE_DRX-Config.c + LTE_DRX-Config-NB-r13.c + LTE_DRX-Config-r13.c + LTE_DRX-Config-r15.c + LTE_DRX-Config-v1130.c + LTE_DRX-Config-v1310.c + LTE_EAB-ConfigPLMN-r11.c + LTE_EAB-Config-r11.c + LTE_E-CSFB-r9.c + LTE_EDT-PRACH-ParametersCE-r15.c + LTE_EDT-TBS-InfoList-NB-r15.c + LTE_EDT-TBS-NB-r15.c + LTE_EIMTA-MainConfig-r12.c + LTE_EIMTA-MainConfigServCell-r12.c + LTE_Enable256QAM-r14.c + LTE_EPDCCH-Config-r11.c + LTE_EPDCCH-SetConfigId-r11.c + LTE_EPDCCH-SetConfig-r11.c + LTE_EPDCCH-SetConfigToAddModList-r11.c + LTE_EPDCCH-SetConfigToReleaseList-r11.c + LTE_EstablishmentCause-5GC-r15.c + LTE_EstablishmentCause.c + LTE_EstablishmentCause-NB-r13.c + LTE_EthernetHeaderCompression-r16.c + LTE_EUTRA-5GC-Parameters-r15.c + LTE_EUTRA-5GC-Parameters-v1610.c + LTE_EUTRA-CarrierList-r15.c + LTE_ExplicitListOfARFCNs.c + LTE_EXTERNAL.c + LTE_FailedLogicalChannelIdentity-r16.c + LTE_FailedLogicalChannelInfo-r15.c + LTE_FailureInformation-r15.c + LTE_FailureInformation-r16.c + LTE_FailureInformation-r16-IEs.c + LTE_FailureReportMCG-r16.c + LTE_FailureReportSCG-NR-r15.c + LTE_FailureReportSCG-r12.c + LTE_FailureReportSCG-v12d0.c + LTE_FeatureSetDL-PerCC-Id-r15.c + LTE_FeatureSetDL-PerCC-r15.c + LTE_FeatureSetDL-r15.c + LTE_FeatureSetDL-v1550.c + LTE_FeatureSetsEUTRA-r15.c + LTE_FeatureSetUL-PerCC-Id-r15.c + LTE_FeatureSetUL-PerCC-r15.c + LTE_FeatureSetUL-r15.c + LTE_FeMBMS-Unicast-Parameters-r14.c + LTE_FilterCoefficient.c + LTE_FlightPathInfoReportConfig-r15.c + LTE_FlightPathInfoReport-r15.c + LTE_Format4-resource-r13.c + LTE_Format5-resource-r13.c + LTE_FreqBandIndicator.c + LTE_FreqBandIndicatorListEUTRA-r12.c + LTE_FreqBandIndicator-NB-r13.c + LTE_FreqBandIndicatorNR-r15.c + LTE_FreqBandIndicator-r11.c + LTE_FreqBandIndicator-UTRA-FDD.c + LTE_FreqBandIndicator-v9e0.c + LTE_FreqHoppingParameters-r13.c + LTE_FreqPriorityEUTRA.c + LTE_FreqPriorityEUTRA-r12.c + LTE_FreqPriorityEUTRA-v1310.c + LTE_FreqPriorityEUTRA-v9e0.c + LTE_FreqPriorityListEUTRA.c + LTE_FreqPriorityListEUTRA-v1310.c + LTE_FreqPriorityListExtEUTRA-r12.c + LTE_FreqPriorityListExtEUTRA-v1310.c + LTE_FreqPriorityListNR-r15.c + LTE_FreqPriorityListUTRA-FDD.c + LTE_FreqPriorityListUTRA-TDD.c + LTE_FreqPriorityNR-r15.c + LTE_FreqPriorityUTRA-FDD.c + LTE_FreqPriorityUTRA-TDD.c + LTE_FreqsPriorityGERAN.c + LTE_FreqsPriorityListGERAN.c + LTE_GNSS-ID-r15.c + LTE_Guardband-NB-r13.c + LTE_GuardbandTDD-NB-r15.c + LTE_GWUS-Config-NB-r16.c + LTE_GWUS-Config-r16.c + LTE_GWUS-GroupNarrowBandList-r16.c + LTE_GWUS-GroupsForServiceList-NB-r16.c + LTE_GWUS-GroupsForServiceList-r16.c + LTE_GWUS-NumGroupsList-NB-r16.c + LTE_GWUS-NumGroupsList-r16.c + LTE_GWUS-NumGroups-NB-r16.c + LTE_GWUS-NumGroups-r16.c + LTE_GWUS-Paging-ProbThresh-NB-r16.c + LTE_GWUS-PagingProbThresh-r16.c + LTE_GWUS-ProbThreshList-NB-r16.c + LTE_GWUS-ProbThreshList-r16.c + LTE_GWUS-ResourceConfig-NB-r16.c + LTE_GWUS-ResourceConfig-r16.c + LTE_GWUS-TimeParameters-r16.c + LTE_Handover.c + LTE_HandoverCommand.c + LTE_HandoverCommand-r8-IEs.c + LTE_HandoverFromEUTRAPreparationRequest.c + LTE_HandoverFromEUTRAPreparationRequest-r8-IEs.c + LTE_HandoverFromEUTRAPreparationRequest-v1020-IEs.c + LTE_HandoverFromEUTRAPreparationRequest-v890-IEs.c + LTE_HandoverFromEUTRAPreparationRequest-v920-IEs.c + LTE_HandoverPreparationInformation.c + LTE_HandoverPreparationInformation-NB.c + LTE_HandoverPreparationInformation-NB-Ext-r14-IEs.c + LTE_HandoverPreparationInformation-NB-IEs.c + LTE_HandoverPreparationInformation-NB-v1380-IEs.c + LTE_HandoverPreparationInformation-r8-IEs.c + LTE_HandoverPreparationInformation-v10j0-IEs.c + LTE_HandoverPreparationInformation-v10x0-IEs.c + LTE_HandoverPreparationInformation-v1130-IEs.c + LTE_HandoverPreparationInformation-v1250-IEs.c + LTE_HandoverPreparationInformation-v1320-IEs.c + LTE_HandoverPreparationInformation-v13c0-IEs.c + LTE_HandoverPreparationInformation-v1430-IEs.c + LTE_HandoverPreparationInformation-v1530-IEs.c + LTE_HandoverPreparationInformation-v1540-IEs.c + LTE_HandoverPreparationInformation-v1610-IEs.c + LTE_HandoverPreparationInformation-v1620-IEs.c + LTE_HandoverPreparationInformation-v1630-IEs.c + LTE_HandoverPreparationInformation-v920-IEs.c + LTE_HandoverPreparationInformation-v9d0-IEs.c + LTE_HandoverPreparationInformation-v9e0-IEs.c + LTE_HandoverPreparationInformation-v9j0-IEs.c + LTE_HighSpeedConfig-r14.c + LTE_HighSpeedConfigSCell-r14.c + LTE_HighSpeedConfig-v1530.c + LTE_HighSpeedConfig-v1610.c + LTE_HighSpeedEnhParameters-r14.c + LTE_HighSpeedEnhParameters-v1610.c + LTE_Hysteresis.c + LTE_IDC-Config-r11.c + LTE_IDC-SubframePatternList-r11.c + LTE_IDC-SubframePattern-r11.c + LTE_IdleModeMobilityControlInfo.c + LTE_IdleModeMobilityControlInfo-v9e0.c + LTE_IKE-Identity-r13.c + LTE_IMSI.c + LTE_IMSI-Digit.c + LTE_Inband-DifferentPCI-NB-r13.c + LTE_Inband-DifferentPCI-TDD-NB-r15.c + LTE_Inband-SamePCI-NB-r13.c + LTE_Inband-SamePCI-TDD-NB-r15.c + LTE_InDeviceCoexIndication-r11.c + LTE_InDeviceCoexIndication-r11-IEs.c + LTE_InDeviceCoexIndication-v11d0-IEs.c + LTE_InDeviceCoexIndication-v1310-IEs.c + LTE_InDeviceCoexIndication-v1360-IEs.c + LTE_InDeviceCoexIndication-v1530-IEs.c + LTE_InDeviceCoexIndication-v1610-IEs.c + LTE_InitialUE-Identity-5GC-NB-r16.c + LTE_InitialUE-Identity-5GC-r15.c + LTE_InitialUE-Identity.c + LTE_InterFreqBandInfo.c + LTE_InterFreqBandList.c + LTE_InterFreqBlackCellList.c + LTE_InterFreqBlackCellList-NB-r13.c + LTE_InterFreqCarrierFreqInfo.c + LTE_InterFreqCarrierFreqInfo-NB-r13.c + LTE_InterFreqCarrierFreqInfo-r12.c + LTE_InterFreqCarrierFreqInfo-v10j0.c + LTE_InterFreqCarrierFreqInfo-v10l0.c + LTE_InterFreqCarrierFreqInfo-v1250.c + LTE_InterFreqCarrierFreqInfo-v1310.c + LTE_InterFreqCarrierFreqInfo-v1350.c + LTE_InterFreqCarrierFreqInfo-v1360.c + LTE_InterFreqCarrierFreqInfo-v1530.c + LTE_InterFreqCarrierFreqInfo-v1610.c + LTE_InterFreqCarrierFreqInfo-v8h0.c + LTE_InterFreqCarrierFreqInfo-v9e0.c + LTE_InterFreqCarrierFreqList.c + LTE_InterFreqCarrierFreqListExt-r12.c + LTE_InterFreqCarrierFreqListExt-v1280.c + LTE_InterFreqCarrierFreqListExt-v1310.c + LTE_InterFreqCarrierFreqListExt-v1350.c + LTE_InterFreqCarrierFreqListExt-v1360.c + LTE_InterFreqCarrierFreqListExt-v1530.c + LTE_InterFreqCarrierFreqListExt-v1610.c + LTE_InterFreqCarrierFreqList-NB-r13.c + LTE_InterFreqCarrierFreqList-v1250.c + LTE_InterFreqCarrierFreqList-v1310.c + LTE_InterFreqCarrierFreqList-v1350.c + LTE_InterFreqCarrierFreqList-v13a0.c + LTE_InterFreqCarrierFreqList-v1530.c + LTE_InterFreqCarrierFreqList-v1610.c + LTE_InterFreqNeighCellInfo.c + LTE_InterFreqNeighCellInfo-NB-v1530.c + LTE_InterFreqNeighCellInfo-v1610.c + LTE_InterFreqNeighCellList.c + LTE_InterFreqNeighCellList-NB-r13.c + LTE_InterFreqNeighCellList-NB-v1530.c + LTE_InterFreqNeighCellList-v1610.c + LTE_InterFreqNeighHSDN-CellList-r15.c + LTE_InterFreqRSTDMeasurementIndication-r10.c + LTE_InterFreqRSTDMeasurementIndication-r10-IEs.c + LTE_InterRAT-BandInfo.c + LTE_InterRAT-BandInfoNR-r16.c + LTE_InterRAT-BandList.c + LTE_InterRAT-BandListNR-r16.c + LTE_IntraBandContiguousCC-Info-r12.c + LTE_IntraFreqBlackCellList.c + LTE_IntraFreqCellReselectionInfo-NB-v1350.c + LTE_IntraFreqCellReselectionInfo-NB-v1360.c + LTE_IntraFreqCellReselectionInfo-NB-v1430.c + LTE_IntraFreqNeighCellInfo.c + LTE_IntraFreqNeighCellInfo-NB-v1530.c + LTE_IntraFreqNeighCellInfo-v1610.c + LTE_IntraFreqNeighCellList.c + LTE_IntraFreqNeighCellList-NB-v1530.c + LTE_IntraFreqNeighCellList-v1610.c + LTE_IntraFreqNeighHSDN-CellList-r15.c + LTE_IP-Address-r13.c + LTE_IRAT-ParametersCDMA2000-1XRTT.c + LTE_IRAT-ParametersCDMA2000-1XRTT-v1020.c + LTE_IRAT-ParametersCDMA2000-1XRTT-v920.c + LTE_IRAT-ParametersCDMA2000-HRPD.c + LTE_IRAT-ParametersCDMA2000-v1130.c + LTE_IRAT-ParametersGERAN.c + LTE_IRAT-ParametersGERAN-v920.c + LTE_IRAT-ParametersNR-r15.c + LTE_IRAT-ParametersNR-v1540.c + LTE_IRAT-ParametersNR-v1560.c + LTE_IRAT-ParametersNR-v1570.c + LTE_IRAT-ParametersNR-v1610.c + LTE_IRAT-ParametersNR-v1660.c + LTE_IRAT-ParametersUTRA-FDD.c + LTE_IRAT-ParametersUTRA-TDD128.c + LTE_IRAT-ParametersUTRA-TDD384.c + LTE_IRAT-ParametersUTRA-TDD768.c + LTE_IRAT-ParametersUTRA-TDD-v1020.c + LTE_IRAT-ParametersUTRA-v920.c + LTE_IRAT-ParametersUTRA-v9c0.c + LTE_IRAT-ParametersUTRA-v9h0.c + LTE_IRAT-ParametersWLAN-r13.c + LTE_I-RNTI-r15.c + LTE_Key-eNodeB-Star.c + LTE_LAA-Parameters-r13.c + LTE_LAA-Parameters-v1430.c + LTE_LAA-Parameters-v1530.c + LTE_LAA-SCellConfiguration-r13.c + LTE_LAA-SCellConfiguration-v1430.c + LTE_LAA-SCellConfiguration-v1530.c + LTE_LBT-Config-r14.c + LTE_LocationInfo-r10.c + LTE_LoggedMeasurementConfiguration-r10.c + LTE_LoggedMeasurementConfiguration-r10-IEs.c + LTE_LoggedMeasurementConfiguration-v1080-IEs.c + LTE_LoggedMeasurementConfiguration-v1130-IEs.c + LTE_LoggedMeasurementConfiguration-v1250-IEs.c + LTE_LoggedMeasurementConfiguration-v1530-IEs.c + LTE_LoggingDuration-r10.c + LTE_LoggingInterval-r10.c + LTE_LogicalChannelConfig.c + LTE_LogicalChannelConfig-NB-r13.c + LTE_LogicalChGroupInfoList-r13.c + LTE_LogicalChGroupInfoList-v1530.c + LTE_LogMeasInfoList2-r10.c + LTE_LogMeasInfoList-r10.c + LTE_LogMeasInfo-r10.c + LTE_LogMeasReport-r10.c + LTE_LogMeasResultBT-r15.c + LTE_LogMeasResultListBT-r15.c + LTE_LogMeasResultListWLAN-r15.c + LTE_LogMeasResultWLAN-r15.c + LTE_LWA-Config-r13.c + LTE_LWA-Configuration-r13.c + LTE_LWA-Parameters-r13.c + LTE_LWA-Parameters-v1430.c + LTE_LWA-Parameters-v1440.c + LTE_LWIP-Config-r13.c + LTE_LWIP-Configuration-r13.c + LTE_LWIP-Parameters-r13.c + LTE_LWIP-Parameters-v1430.c + LTE_MAC-MainConfig.c + LTE_MAC-MainConfig-NB-r13.c + LTE_MAC-MainConfigSCell-r11.c + LTE_MAC-MainConfigSL-r12.c + LTE_MAC-Parameters-NB-r14.c + LTE_MAC-Parameters-NB-v1530.c + LTE_MAC-Parameters-NB-v1610.c + LTE_MAC-Parameters-r12.c + LTE_MAC-Parameters-v1310.c + LTE_MAC-Parameters-v1430.c + LTE_MAC-Parameters-v1440.c + LTE_MAC-Parameters-v1530.c + LTE_MAC-Parameters-v1550.c + LTE_MAC-Parameters-v1610.c + LTE_MAC-Parameters-v1630.c + LTE_MasterInformationBlock.c + LTE_MasterInformationBlock-MBMS-r14.c + LTE_MasterInformationBlock-NB.c + LTE_MasterInformationBlock-SL.c + LTE_MasterInformationBlock-SL-V2X-r14.c + LTE_MasterInformationBlock-TDD-NB-r15.c + LTE_MaxRS-IndexCellQualNR-r15.c + LTE_MBMS-CarrierType-r14.c + LTE_MBMSCountingRequest-r10.c + LTE_MBMSCountingResponse-r10.c + LTE_MBMSCountingResponse-r10-IEs.c + LTE_MBMSInterestIndication-r11.c + LTE_MBMSInterestIndication-r11-IEs.c + LTE_MBMSInterestIndication-v1310-IEs.c + LTE_MBMSInterestIndication-v1540-IEs.c + LTE_MBMSInterestIndication-v1610-IEs.c + LTE_MBMS-InterFreqCarrierTypeList-r14.c + LTE_MBMS-NotificationConfig-r9.c + LTE_MBMS-NotificationConfig-v1430.c + LTE_MBMS-Parameters-r11.c + LTE_MBMS-Parameters-v1250.c + LTE_MBMS-Parameters-v1430.c + LTE_MBMS-Parameters-v1470.c + LTE_MBMS-Parameters-v1610.c + LTE_MBMS-ROM-Info-r15.c + LTE_MBMS-ROM-Info-r16.c + LTE_MBMS-SAI-InterFreqList-NB-r14.c + LTE_MBMS-SAI-InterFreqList-r11.c + LTE_MBMS-SAI-InterFreqList-v1140.c + LTE_MBMS-SAI-InterFreq-NB-r14.c + LTE_MBMS-SAI-InterFreq-r11.c + LTE_MBMS-SAI-InterFreq-v1140.c + LTE_MBMS-SAI-List-r11.c + LTE_MBMS-SAI-r11.c + LTE_MBMS-ServiceInfo-r13.c + LTE_MBMS-ServiceList-r13.c + LTE_MBMS-SessionInfoList-r9.c + LTE_MBMSSessionInfo-r13.c + LTE_MBMS-SessionInfo-r9.c + LTE_MBMS-SupportedBandInfo-r16.c + LTE_MBSFNAreaConfiguration-r9.c + LTE_MBSFNAreaConfiguration-v1250-IEs.c + LTE_MBSFNAreaConfiguration-v1430-IEs.c + LTE_MBSFNAreaConfiguration-v1610-IEs.c + LTE_MBSFNAreaConfiguration-v930-IEs.c + LTE_MBSFN-AreaId-r12.c + LTE_MBSFN-AreaInfoList-r16.c + LTE_MBSFN-AreaInfoList-r9.c + LTE_MBSFN-AreaInfo-r16.c + LTE_MBSFN-AreaInfo-r9.c + LTE_MBSFN-RSRQ-Range-r12.c + LTE_MBSFN-SubframeConfig.c + LTE_MBSFN-SubframeConfigList.c + LTE_MBSFN-SubframeConfigList-v1430.c + LTE_MBSFN-SubframeConfig-v1430.c + LTE_MBSFN-SubframeConfig-v1610.c + LTE_MCC.c + LTE_MCCH-Message.c + LTE_MCCH-MessageType.c + LTE_MCC-MNC-Digit.c + LTE_MCGFailureInformation-r16.c + LTE_MCGFailureInformation-r16-IEs.c + LTE_MCS-PSSCH-Range-r15.c + LTE_MeasConfig.c + LTE_MeasCSI-RS-Config-r12.c + LTE_MeasCSI-RS-Id-r12.c + LTE_MeasCSI-RS-ToAddModList-r12.c + LTE_MeasCSI-RS-ToRemoveList-r12.c + LTE_MeasCycleSCell-r10.c + LTE_MeasDS-Config-r12.c + LTE_MeasGapConfig.c + LTE_MeasGapConfigDensePRS-r15.c + LTE_MeasGapConfigPerCC-List-r14.c + LTE_MeasGapConfigPerCC-r14.c + LTE_MeasGapConfigToAddModList-r14.c + LTE_MeasGapConfigToRemoveList-r14.c + LTE_MeasGapInfoNR-r16.c + LTE_MeasGapSharingConfig-r14.c + LTE_MeasId.c + LTE_MeasIdleCarrierEUTRA-r15.c + LTE_MeasIdleCarrierNR-r16.c + LTE_MeasIdleConfigDedicated-r15.c + LTE_MeasIdleConfigSIB-NR-r16.c + LTE_MeasIdleConfigSIB-r15.c + LTE_MeasIdToAddMod.c + LTE_MeasIdToAddModExt-r12.c + LTE_MeasIdToAddModList.c + LTE_MeasIdToAddModListExt-r12.c + LTE_MeasIdToAddModListExt-v1310.c + LTE_MeasIdToAddModList-v1310.c + LTE_MeasIdToAddMod-v1310.c + LTE_MeasIdToRemoveList.c + LTE_MeasIdToRemoveListExt-r12.c + LTE_MeasId-v1250.c + LTE_MeasObjectCDMA2000.c + LTE_MeasObjectEUTRA.c + LTE_MeasObjectEUTRA-v9e0.c + LTE_MeasObjectGERAN.c + LTE_MeasObjectId.c + LTE_MeasObjectId-r13.c + LTE_MeasObjectId-v1310.c + LTE_MeasObjectNR-r15.c + LTE_MeasObjectToAddMod.c + LTE_MeasObjectToAddModExt-r13.c + LTE_MeasObjectToAddModList.c + LTE_MeasObjectToAddModListExt-r13.c + LTE_MeasObjectToAddModList-v9e0.c + LTE_MeasObjectToAddMod-v9e0.c + LTE_MeasObjectToRemoveList.c + LTE_MeasObjectToRemoveListExt-r13.c + LTE_MeasObjectUTRA.c + LTE_MeasObjectWLAN-r13.c + LTE_MeasParameters.c + LTE_MeasParameters-NB-r16.c + LTE_MeasParameters-v1020.c + LTE_MeasParameters-v1130.c + LTE_MeasParameters-v11a0.c + LTE_MeasParameters-v1250.c + LTE_MeasParameters-v1310.c + LTE_MeasParameters-v1430.c + LTE_MeasParameters-v1520.c + LTE_MeasParameters-v1530.c + LTE_MeasParameters-v1610.c + LTE_MeasParameters-v1630.c + LTE_MeasParameters-v16c0.c + LTE_MeasReportAppLayer-r15.c + LTE_MeasReportAppLayer-r15-IEs.c + LTE_MeasReportAppLayer-v1590-IEs.c + LTE_MeasResult2CDMA2000-r9.c + LTE_MeasResult2EUTRA-r9.c + LTE_MeasResult2EUTRA-v1250.c + LTE_MeasResult2EUTRA-v9e0.c + LTE_MeasResult2UTRA-r9.c + LTE_MeasResult3EUTRA-r15.c + LTE_MeasResultCBR-r14.c + LTE_MeasResultCDMA2000.c + LTE_MeasResultCellListNR-r15.c + LTE_MeasResultCellListSFTD-r15.c + LTE_MeasResultCellNR-r15.c + LTE_MeasResultCellSFTD-r15.c + LTE_MeasResultCSI-RS-List-r12.c + LTE_MeasResultCSI-RS-r12.c + LTE_MeasResultEUTRA.c + LTE_MeasResultForECID-r9.c + LTE_MeasResultForRSSI-NR-r16.c + LTE_MeasResultForRSSI-r13.c + LTE_MeasResultFreqFailNR-r15.c + LTE_MeasResultFreqListFailNR-r15.c + LTE_MeasResultFreqListNR-r16.c + LTE_MeasResultGERAN.c + LTE_MeasResultIdleEUTRA-r15.c + LTE_MeasResultIdleListEUTRA-r15.c + LTE_MeasResultIdleNR-r16.c + LTE_MeasResultIdle-r15.c + LTE_MeasResultList2CDMA2000-r9.c + LTE_MeasResultList2EUTRA-r9.c + LTE_MeasResultList2EUTRA-v1250.c + LTE_MeasResultList2EUTRA-v9e0.c + LTE_MeasResultList2GERAN-r10.c + LTE_MeasResultList2UTRA-r9.c + LTE_MeasResultList3EUTRA-r15.c + LTE_MeasResultListCBR-r14.c + LTE_MeasResultListCDMA2000.c + LTE_MeasResultListEUTRA.c + LTE_MeasResultListExtIdle-r16.c + LTE_MeasResultListGERAN.c + LTE_MeasResultListIdleNR-r16.c + LTE_MeasResultListIdle-r15.c + LTE_MeasResultListMBSFN-r12.c + LTE_MeasResultListRSSI-SCG-r13.c + LTE_MeasResultListUTRA.c + LTE_MeasResultListWLAN-r13.c + LTE_MeasResultListWLAN-r14.c + LTE_MeasResultMBSFN-r12.c + LTE_MeasResultNR-r15.c + LTE_MeasResultRSSI-SCG-r13.c + LTE_MeasResults.c + LTE_MeasResultsCDMA2000.c + LTE_MeasResultSCG-FailureMRDC-r15.c + LTE_MeasResultSensing-r15.c + LTE_MeasResultServCellListSCG-Ext-r13.c + LTE_MeasResultServCellListSCG-r12.c + LTE_MeasResultServCell-NB-r14.c + LTE_MeasResultServCellSCG-r12.c + LTE_MeasResultServFreqListExt-r13.c + LTE_MeasResultServFreqListNR-r15.c + LTE_MeasResultServFreqList-r10.c + LTE_MeasResultServFreqNR-r15.c + LTE_MeasResultServFreq-r10.c + LTE_MeasResultServFreq-r13.c + LTE_MeasResultsPerCellIdleNR-r16.c + LTE_MeasResultSSB-IndexList-r15.c + LTE_MeasResultSSB-Index-r15.c + LTE_MeasResultSSTD-r13.c + LTE_MeasResultUTRA.c + LTE_MeasResultWLAN-r13.c + LTE_MeasRSS-DedicatedConfig-r16.c + LTE_MeasRSSI-ReportConfig-r13.c + LTE_MeasScaleFactor-r12.c + LTE_MeasSensing-Config-r15.c + LTE_MeasSubframeCellList-r10.c + LTE_MeasSubframePatternConfigNeigh-r10.c + LTE_MeasSubframePatternPCell-r10.c + LTE_MeasSubframePattern-r10.c + LTE_MeasurementReport.c + LTE_MeasurementReport-r8-IEs.c + LTE_MeasurementReport-v8a0-IEs.c + LTE_MIMO-BeamformedCapabilities-r13.c + LTE_MIMO-BeamformedCapabilityList-r13.c + LTE_MIMO-CapabilityDL-r10.c + LTE_MIMO-CapabilityUL-r10.c + LTE_MIMO-CA-ParametersPerBoBCPerTM-r13.c + LTE_MIMO-CA-ParametersPerBoBCPerTM-r15.c + LTE_MIMO-CA-ParametersPerBoBCPerTM-v1430.c + LTE_MIMO-CA-ParametersPerBoBCPerTM-v1470.c + LTE_MIMO-CA-ParametersPerBoBC-r13.c + LTE_MIMO-CA-ParametersPerBoBC-r15.c + LTE_MIMO-CA-ParametersPerBoBC-v1430.c + LTE_MIMO-CA-ParametersPerBoBC-v1470.c + LTE_MIMO-NonPrecodedCapabilities-r13.c + LTE_MIMO-UE-BeamformedCapabilities-r13.c + LTE_MIMO-UE-ParametersPerTM-r13.c + LTE_MIMO-UE-ParametersPerTM-v1430.c + LTE_MIMO-UE-ParametersPerTM-v1470.c + LTE_MIMO-UE-Parameters-r13.c + LTE_MIMO-UE-Parameters-v13e0.c + LTE_MIMO-UE-Parameters-v1430.c + LTE_MIMO-UE-Parameters-v1470.c + LTE_MIMO-WeightedLayersCapabilities-r13.c + LTE_MMEC.c + LTE_MMTEL-Parameters-r14.c + LTE_MMTEL-Parameters-v1610.c + LTE_MNC.c + LTE_MobilityControlInfo.c + LTE_MobilityControlInfoSCG-r12.c + LTE_MobilityControlInfo-v10l0.c + LTE_MobilityControlInfoV2X-r14.c + LTE_MobilityFromEUTRACommand.c + LTE_MobilityFromEUTRACommand-r8-IEs.c + LTE_MobilityFromEUTRACommand-r9-IEs.c + LTE_MobilityFromEUTRACommand-v1530-IEs.c + LTE_MobilityFromEUTRACommand-v8a0-IEs.c + LTE_MobilityFromEUTRACommand-v8d0-IEs.c + LTE_MobilityFromEUTRACommand-v930-IEs.c + LTE_MobilityFromEUTRACommand-v960-IEs.c + LTE_MobilityHistoryReport-r12.c + LTE_MobilityParametersCDMA2000.c + LTE_MobilityParameters-r14.c + LTE_MobilityParameters-v1610.c + LTE_MobilityStateParameters.c + LTE_MRDC-AssistanceInfo-r15.c + LTE_MTC-SSB2-LP-NR-r16.c + LTE_MTC-SSB-NR-r15.c + LTE_MultiBandInfoList.c + LTE_MultiBandInfoList-NB-r13.c + LTE_MultiBandInfoList-r11.c + LTE_MultiBandInfoList-v10j0.c + LTE_MultiBandInfoList-v10l0.c + LTE_MultiBandInfoList-v9e0.c + LTE_MultiBandInfo-NB-r13.c + LTE_MultiBandInfo-v9e0.c + LTE_MultiBandNsPmaxListNR-1-v1550.c + LTE_MultiBandNsPmaxListNR-v1550.c + LTE_MultiFrequencyBandListNR-r15.c + LTE_MUST-Parameters-r14.c + LTE_N1PUCCH-AN-CS-r10.c + LTE_N1PUCCH-AN-InfoList-r13.c + LTE_N1PUCCH-AN-PersistentList.c + LTE_N1SPUCCH-AN-PersistentList-r15.c + LTE_N4SPUCCH-Resource-r15.c + LTE_NAICS-AssistanceInfo-r12.c + LTE_NAICS-Capability-Entry-r12.c + LTE_NAICS-Capability-List-r12.c + LTE_NeighCellCDMA2000.c + LTE_NeighCellCDMA2000-r11.c + LTE_NeighCellCDMA2000-v920.c + LTE_NeighCellConfig.c + LTE_NeighCellListCDMA2000.c + LTE_NeighCellListCDMA2000-v920.c + LTE_NeighCellsCRS-Info-r11.c + LTE_NeighCellsCRS-Info-r13.c + LTE_NeighCellsCRS-Info-r15.c + LTE_NeighCellSI-AcquisitionParameters-r9.c + LTE_NeighCellSI-AcquisitionParameters-v1530.c + LTE_NeighCellSI-AcquisitionParameters-v1550.c + LTE_NeighCellSI-AcquisitionParameters-v15a0.c + LTE_NeighCellSI-AcquisitionParameters-v1610.c + LTE_NeighCellsInfo-r12.c + LTE_NeighCellsPerBandclassCDMA2000.c + LTE_NeighCellsPerBandclassCDMA2000-r11.c + LTE_NeighCellsPerBandclassCDMA2000-v920.c + LTE_NeighCellsPerBandclassListCDMA2000.c + LTE_NeighCellsPerBandclassListCDMA2000-v920.c + LTE_NeighCellsToAddModList-r12.c + LTE_NeighCellsToReleaseList-r12.c + LTE_NextHopChainingCount.c + LTE_NG-5G-S-TMSI-r15.c + LTE_NonContiguousUL-RA-WithinCC-List-r10.c + LTE_NonContiguousUL-RA-WithinCC-r10.c + LTE_NonMBSFN-SubframeConfig-r14.c + LTE_NPDCCH-ConfigDedicated-NB-r13.c + LTE_NPDCCH-ConfigDedicated-NB-v1530.c + LTE_NPDCCH-SC-MCCH-Config-NB-r14.c + LTE_NPDSCH-ConfigCommon-NB-r13.c + LTE_NPDSCH-ConfigDedicated-NB-r16.c + LTE_NPDSCH-MultiTB-Config-NB-r16.c + LTE_NPRACH-ConfigSIB-NB-r13.c + LTE_NPRACH-ConfigSIB-NB-v1330.c + LTE_NPRACH-ConfigSIB-NB-v1450.c + LTE_NPRACH-ConfigSIB-NB-v1530.c + LTE_NPRACH-ConfigSIB-NB-v1550.c + LTE_NPRACH-ParametersFmt2-NB-r15.c + LTE_NPRACH-ParametersListFmt2-NB-r15.c + LTE_NPRACH-ParametersList-NB-r13.c + LTE_NPRACH-ParametersList-NB-r14.c + LTE_NPRACH-ParametersList-NB-v1330.c + LTE_NPRACH-ParametersListTDD-NB-r15.c + LTE_NPRACH-ParametersListTDD-NB-v1550.c + LTE_NPRACH-Parameters-NB-r13.c + LTE_NPRACH-Parameters-NB-r14.c + LTE_NPRACH-Parameters-NB-v1330.c + LTE_NPRACH-ParametersTDD-NB-r15.c + LTE_NPRACH-ParametersTDD-NB-v1550.c + LTE_NPRACH-ProbabilityAnchorList-NB-r14.c + LTE_NPRACH-ProbabilityAnchor-NB-r14.c + LTE_NPUSCH-ConfigCommon-NB-r13.c + LTE_NPUSCH-ConfigDedicated-NB-r13.c + LTE_NPUSCH-ConfigDedicated-NB-v1610.c + LTE_NR-CarrierList-r16.c + LTE_NRSRP-ChangeThresh-NB-r16.c + LTE_NRSRP-Range-NB-r14.c + LTE_NRSRQ-Range-NB-r14.c + LTE_NS-PmaxList-NB-r13.c + LTE_NS-PmaxListNR-r15.c + LTE_NS-PmaxList-r10.c + LTE_NS-PmaxList-v10l0.c + LTE_NS-PmaxValue-NB-r13.c + LTE_NS-PmaxValueNR-r15.c + LTE_NS-PmaxValue-r10.c + LTE_NS-PmaxValue-v10l0.c + LTE_NSSS-RRM-Config-NB-r15.c + LTE_NumberOfPreamblesSent-r11.c + LTE_NZP-FrequencyDensity-r14.c + LTE_NZP-ResourceConfig-r13.c + LTE_NZP-TransmissionComb-r14.c + LTE_ObtainLocationConfig-r11.c + LTE_OTDOA-PositioningCapabilities-r10.c + LTE_OtherConfig-r9.c + LTE_Other-Parameters-r11.c + LTE_Other-Parameters-v11d0.c + LTE_Other-Parameters-v1360.c + LTE_Other-Parameters-v1430.c + LTE_OtherParameters-v1450.c + LTE_Other-Parameters-v1460.c + LTE_Other-Parameters-v1530.c + LTE_Other-Parameters-v1540.c + LTE_Other-Parameters-v1610.c + LTE_Other-Parameters-v1650.c + LTE_Other-Parameters-v1690.c + LTE_OverheatingAssistance-r14.c + LTE_OverheatingAssistance-v1610.c + LTE_P0-SL-r12.c + LTE_P-a.c + LTE_Paging.c + LTE_Paging-NB.c + LTE_Paging-NB-v1610-IEs.c + LTE_PagingRecord.c + LTE_PagingRecordList.c + LTE_PagingRecordList-NB-r13.c + LTE_PagingRecordList-NB-v1610.c + LTE_PagingRecordList-v1610.c + LTE_PagingRecord-NB-r13.c + LTE_PagingRecord-NB-v1610.c + LTE_PagingRecord-v1610.c + LTE_PagingUE-Identity.c + LTE_Paging-v1130-IEs.c + LTE_Paging-v1310-IEs.c + LTE_Paging-v1530-IEs.c + LTE_Paging-v1610-IEs.c + LTE_Paging-v890-IEs.c + LTE_Paging-v920-IEs.c + LTE_PagingWeight-NB-r14.c + LTE_ParametersCDMA2000-r11.c + LTE_P-C-AndCBSR-Pair-r13a.c + LTE_P-C-AndCBSR-Pair-r13.c + LTE_P-C-AndCBSR-Pair-r15.c + LTE_P-C-AndCBSR-r11.c + LTE_P-C-AndCBSR-r13.c + LTE_P-C-AndCBSR-r15.c + LTE_PCCH-Config.c + LTE_PCCH-Config-NB-r13.c + LTE_PCCH-Config-NB-r14.c + LTE_PCCH-Config-v1310.c + LTE_PCCH-Message.c + LTE_PCCH-Message-NB.c + LTE_PCCH-MessageType.c + LTE_PCCH-MessageType-NB.c + LTE_PCI-ARFCN-NB-r14.c + LTE_PCI-ARFCN-r13.c + LTE_PDCCH-CandidateReductionsLAA-UL-r14.c + LTE_PDCCH-CandidateReductions-r13.c + LTE_PDCCH-CandidateReductionValue-r13.c + LTE_PDCCH-CandidateReductionValue-r14.c + LTE_PDCCH-ConfigLAA-r14.c + LTE_PDCCH-ConfigSCell-r13.c + LTE_PDCP-Config.c + LTE_PDCP-Config-NB-r13.c + LTE_PDCP-Parameters.c + LTE_PDCP-Parameters-NB-r13.c + LTE_PDCP-ParametersNR-r15.c + LTE_PDCP-ParametersNR-v1560.c + LTE_PDCP-Parameters-v1130.c + LTE_PDCP-Parameters-v1310.c + LTE_PDCP-Parameters-v1430.c + LTE_PDCP-Parameters-v1530.c + LTE_PDCP-Parameters-v1610.c + LTE_PDSCH-ConfigCommon.c + LTE_PDSCH-ConfigCommon-v1310.c + LTE_PDSCH-ConfigDedicated.c + LTE_PDSCH-ConfigDedicatedSCell-v1430.c + LTE_PDSCH-ConfigDedicated-v1130.c + LTE_PDSCH-ConfigDedicated-v1280.c + LTE_PDSCH-ConfigDedicated-v1310.c + LTE_PDSCH-ConfigDedicated-v1430.c + LTE_PDSCH-ConfigDedicated-v1530.c + LTE_PDSCH-ConfigDedicated-v1610.c + LTE_PDSCH-RE-MappingQCL-ConfigId-r11.c + LTE_PDSCH-RE-MappingQCL-Config-r11.c + LTE_PDU-SessionID-NB-r16.c + LTE_PerCC-GapIndicationList-r14.c + LTE_PerCC-GapIndication-r14.c + LTE_PeriodicBSR-Timer-NB-r13.c + LTE_PeriodicBSR-Timer-r12.c + LTE_PeriodicityStartPos-r16.c + LTE_PHICH-Config.c + LTE_PhyLayerParameters.c + LTE_PhyLayerParameters-NB-r13.c + LTE_PhyLayerParameters-NB-v1430.c + LTE_PhyLayerParameters-NB-v1440.c + LTE_PhyLayerParameters-NB-v1530.c + LTE_PhyLayerParameters-NB-v1610.c + LTE_PhyLayerParameters-v1020.c + LTE_PhyLayerParameters-v1130.c + LTE_PhyLayerParameters-v1170.c + LTE_PhyLayerParameters-v1250.c + LTE_PhyLayerParameters-v1280.c + LTE_PhyLayerParameters-v1310.c + LTE_PhyLayerParameters-v1320.c + LTE_PhyLayerParameters-v1330.c + LTE_PhyLayerParameters-v13e0.c + LTE_PhyLayerParameters-v1430.c + LTE_PhyLayerParameters-v1450.c + LTE_PhyLayerParameters-v1470.c + LTE_PhyLayerParameters-v14a0.c + LTE_PhyLayerParameters-v1530.c + LTE_PhyLayerParameters-v1540.c + LTE_PhyLayerParameters-v1550.c + LTE_PhyLayerParameters-v1610.c + LTE_PhyLayerParameters-v920.c + LTE_PhyLayerParameters-v9d0.c + LTE_PhysCellId.c + LTE_PhysCellIdCDMA2000.c + LTE_PhysCellIdGERAN.c + LTE_PhysCellIdListCDMA2000.c + LTE_PhysCellIdListCDMA2000-v920.c + LTE_PhysCellIdList-r13.c + LTE_PhysCellIdNR-r15.c + LTE_PhysCellIdRange.c + LTE_PhysCellIdRangeNR-r16.c + LTE_PhysCellIdRangeUTRA-FDDList-r9.c + LTE_PhysCellIdRangeUTRA-FDD-r9.c + LTE_PhysCellIdUTRA-FDD.c + LTE_PhysCellIdUTRA-TDD.c + LTE_PhysicalConfigDedicated.c + LTE_PhysicalConfigDedicated-NB-r13.c + LTE_PhysicalConfigDedicatedSCell-r10.c + LTE_PhysicalConfigDedicatedSCell-v1370.c + LTE_PhysicalConfigDedicatedSCell-v13c0.c + LTE_PhysicalConfigDedicatedSTTI-r15.c + LTE_PhysicalConfigDedicated-v1370.c + LTE_PhysicalConfigDedicated-v13c0.c + LTE_PLMN-Identity.c + LTE_PLMN-IdentityInfo2-r12.c + LTE_PLMN-IdentityInfo-5GC-NB-r16.c + LTE_PLMN-IdentityInfo.c + LTE_PLMN-IdentityInfoListNR-r15.c + LTE_PLMN-IdentityInfo-NB-r13.c + LTE_PLMN-IdentityInfoNR-r15.c + LTE_PLMN-IdentityInfo-r15.c + LTE_PLMN-IdentityInfo-v1530.c + LTE_PLMN-IdentityInfo-v1610.c + LTE_PLMN-IdentityList2.c + LTE_PLMN-IdentityList3-r11.c + LTE_PLMN-IdentityList4-r12.c + LTE_PLMN-IdentityList-5GC-NB-r16.c + LTE_PLMN-IdentityList.c + LTE_PLMN-IdentityList-MBMS-r14.c + LTE_PLMN-IdentityList-NB-r13.c + LTE_PLMN-IdentityListNR-r15.c + LTE_PLMN-IdentityList-r15.c + LTE_PLMN-IdentityList-v1530.c + LTE_PLMN-IdentityList-v1610.c + LTE_PLMN-InfoList-r15.c + LTE_PLMN-InfoList-r16.c + LTE_PLMN-Info-r15.c + LTE_PLMN-Info-r16.c + LTE_PLMN-RAN-AreaCellList-r15.c + LTE_PLMN-RAN-AreaCell-r15.c + LTE_PLMN-RAN-AreaConfigList-r15.c + LTE_PLMN-RAN-AreaConfig-r15.c + LTE_P-Max.c + LTE_P-MaxNR-r15.c + LTE_PMCH-Config-r12.c + LTE_PMCH-Config-r9.c + LTE_PMCH-InfoExt-r12.c + LTE_PMCH-InfoListExt-r12.c + LTE_PMCH-InfoList-r9.c + LTE_PMCH-Info-r9.c + LTE_PollByte.c + LTE_PollByte-r14.c + LTE_PollPDU.c + LTE_PollPDU-r15.c + LTE_PollPDU-v1310.c + LTE_PosSchedulingInfoList-r15.c + LTE_PosSchedulingInfo-r15.c + LTE_PosSIB-MappingInfo-r15.c + LTE_PosSIB-Type-r15.c + LTE_PosSystemInformation-r15-IEs.c + LTE_PowerCoordinationInfo-r12.c + LTE_PowerPrefIndicationConfig-r11.c + LTE_PowerRampingParameters.c + LTE_PowerRampingParameters-NB-v1450.c + LTE_PRACH-Config.c + LTE_PRACH-ConfigInfo.c + LTE_PRACH-ConfigSCell-r10.c + LTE_PRACH-ConfigSIB.c + LTE_PRACH-ConfigSIB-v1310.c + LTE_PRACH-ConfigSIB-v1530.c + LTE_PRACH-Config-v1310.c + LTE_PRACH-Config-v1430.c + LTE_PRACH-ParametersCE-r13.c + LTE_PRACH-ParametersListCE-r13.c + LTE_PreambleTransMax.c + LTE_PreRegistrationInfoHRPD.c + LTE_PreRegistrationZoneIdHRPD.c + LTE_PresenceAntennaPort1.c + LTE_ProcessingTimelineSet-r15.c + LTE_ProximityIndication-r9.c + LTE_ProximityIndication-r9-IEs.c + LTE_ProximityIndication-v930-IEs.c + LTE_PSCellToAddMod-r12.c + LTE_PSCellToAddMod-v12f0.c + LTE_PSCellToAddMod-v1440.c + LTE_PUCCH-ConfigCommon.c + LTE_PUCCH-ConfigCommon-v1310.c + LTE_PUCCH-ConfigCommon-v1430.c + LTE_PUCCH-ConfigDedicated.c + LTE_PUCCH-ConfigDedicated-r13.c + LTE_PUCCH-ConfigDedicated-v1020.c + LTE_PUCCH-ConfigDedicated-v1130.c + LTE_PUCCH-ConfigDedicated-v1250.c + LTE_PUCCH-ConfigDedicated-v1370.c + LTE_PUCCH-ConfigDedicated-v13c0.c + LTE_PUCCH-ConfigDedicated-v1430.c + LTE_PUCCH-ConfigDedicated-v1530.c + LTE_PUCCH-Format3-Conf-r13.c + LTE_PUR-ConfigID-NB-r16.c + LTE_PUR-ConfigID-r16.c + LTE_PUR-Config-NB-r16.c + LTE_PUR-Config-r16.c + LTE_PUR-ConfigRequest-NB-r16.c + LTE_PURConfigurationRequest-NB-r16.c + LTE_PURConfigurationRequest-NB-r16-IEs.c + LTE_PURConfigurationRequest-r16.c + LTE_PURConfigurationRequest-r16-IEs.c + LTE_PUR-MPDCCH-Config-r16.c + LTE_PUR-NRSRP-ChangeThreshold-NB-r16.c + LTE_PUR-Parameters-NB-r16.c + LTE_PUR-Parameters-r16.c + LTE_PUR-PeriodicityAndOffset-NB-r16.c + LTE_PUR-PeriodicityAndOffset-r16.c + LTE_PUR-PUCCH-Config-r16.c + LTE_PUR-PUSCH-Config-r16.c + LTE_PUR-RSRP-ChangeThreshold-r16.c + LTE_PUSCH-ConfigCommon.c + LTE_PUSCH-ConfigCommon-v1270.c + LTE_PUSCH-ConfigCommon-v1310.c + LTE_PUSCH-ConfigDedicated.c + LTE_PUSCH-ConfigDedicated-r13.c + LTE_PUSCH-ConfigDedicatedSCell-r10.c + LTE_PUSCH-ConfigDedicatedSCell-v1430.c + LTE_PUSCH-ConfigDedicatedScell-v1530.c + LTE_PUSCH-ConfigDedicated-v1020.c + LTE_PUSCH-ConfigDedicated-v1130.c + LTE_PUSCH-ConfigDedicated-v1250.c + LTE_PUSCH-ConfigDedicated-v1430.c + LTE_PUSCH-ConfigDedicated-v1530.c + LTE_PUSCH-ConfigDedicated-v1610.c + LTE_PUSCH-EnhancementsConfig-r14.c + LTE_PUSCH-ModeConfigLAA-r15.c + LTE_Q-OffsetRange.c + LTE_Q-OffsetRangeInterRAT.c + LTE_Q-QualMin-r9.c + LTE_Q-RxLevMin.c + LTE_QuantityConfig.c + LTE_QuantityConfigCDMA2000.c + LTE_QuantityConfigEUTRA.c + LTE_QuantityConfigEUTRA-v1250.c + LTE_QuantityConfigEUTRA-v1310.c + LTE_QuantityConfigGERAN.c + LTE_QuantityConfigNRList-r15.c + LTE_QuantityConfigNR-r15.c + LTE_QuantityConfigRS-NR-r15.c + LTE_QuantityConfigUTRA.c + LTE_QuantityConfigUTRA-v1020.c + LTE_QuantityConfigWLAN-r13.c + LTE_RACH-CE-LevelInfoList-r13.c + LTE_RACH-CE-LevelInfo-r13.c + LTE_RACH-ConfigCommon.c + LTE_RACH-ConfigCommon-NB-r13.c + LTE_RACH-ConfigCommonSCell-r11.c + LTE_RACH-ConfigCommon-v1250.c + LTE_RACH-ConfigDedicated.c + LTE_RACH-InfoList-NB-r13.c + LTE_RACH-InfoList-NB-v1530.c + LTE_RACH-Info-NB-r13.c + LTE_RACH-Info-NB-v1530.c + LTE_RACH-Report-NB-r16.c + LTE_RACH-Report-r16.c + LTE_RACH-Report-v1610.c + LTE_RACH-Skip-r14.c + LTE_RadioResourceConfigCommon.c + LTE_RadioResourceConfigCommonPSCell-r12.c + LTE_RadioResourceConfigCommonPSCell-v12f0.c + LTE_RadioResourceConfigCommonPSCell-v1440.c + LTE_RadioResourceConfigCommonSCell-r10.c + LTE_RadioResourceConfigCommonSCell-v10l0.c + LTE_RadioResourceConfigCommonSCell-v1440.c + LTE_RadioResourceConfigCommonSIB.c + LTE_RadioResourceConfigCommonSIB-NB-r13.c + LTE_RadioResourceConfigDedicated.c + LTE_RadioResourceConfigDedicated-NB-r13.c + LTE_RadioResourceConfigDedicatedPSCell-r12.c + LTE_RadioResourceConfigDedicatedPSCell-v1370.c + LTE_RadioResourceConfigDedicatedPSCell-v13c0.c + LTE_RadioResourceConfigDedicatedSCell-r10.c + LTE_RadioResourceConfigDedicatedSCell-v13c0.c + LTE_RadioResourceConfigDedicatedSCG-r12.c + LTE_RadioResourceConfigDedicated-v1370.c + LTE_RadioResourceConfigDedicated-v13c0.c + LTE_RAN-AreaCode-r15.c + LTE_RAN-AreaConfig-r15.c + LTE_RAND-CDMA2000.c + LTE_RAN-NotificationAreaInfo-r15.c + LTE_RAT-Type.c + LTE_RCLWI-Config-r13.c + LTE_RCLWI-Configuration-r13.c + LTE_RedirectedCarrierInfo.c + LTE_RedirectedCarrierInfo-NB-r13.c + LTE_RedirectedCarrierInfo-NB-v1430.c + LTE_RedirectedCarrierInfo-NB-v1550.c + LTE_RedirectedCarrierInfo-r15-IEs.c + LTE_RedirectedCarrierInfo-v9e0.c + LTE_RedistributionFactor-r13.c + LTE_RedistributionInterFreqInfo-r13.c + LTE_RedistributionNeighCellList-r13.c + LTE_RedistributionNeighCell-r13.c + LTE_RedistributionServingInfo-r13.c + LTE_ReestablishmentCause.c + LTE_ReestablishmentCause-NB-r13.c + LTE_ReestablishmentInfo.c + LTE_ReestablishmentInfo-NB.c + LTE_ReestabUE-Identity.c + LTE_ReestabUE-Identity-CP-5GC-NB-r16.c + LTE_ReestabUE-Identity-CP-NB-r14.c + LTE_ReferenceTime-r15.c + LTE_RegisteredAMF-r15.c + LTE_RegisteredMME.c + LTE_ReleaseCause.c + LTE_ReleaseCause-NB-r13.c + LTE_RE-MappingQCLConfigToAddModList-r11.c + LTE_RE-MappingQCLConfigToReleaseList-r11.c + LTE_ReportConfigEUTRA.c + LTE_ReportConfigId.c + LTE_ReportConfigInterRAT.c + LTE_ReportConfigToAddMod.c + LTE_ReportConfigToAddModList.c + LTE_ReportConfigToRemoveList.c + LTE_ReportInterval.c + LTE_ReportProximityConfig-r9.c + LTE_ReportQuantityNR-r15.c + LTE_ReportQuantityWLAN-r13.c + LTE_ReselectionInfoRelay-r13.c + LTE_ReselectionThreshold.c + LTE_ReselectionThreshold-NB-v1360.c + LTE_ReselectionThresholdQ-r9.c + LTE_ResourceConfig-r13.c + LTE_ResourceReservationConfigDedicatedDL-r16.c + LTE_ResourceReservationConfigDedicatedUL-r16.c + LTE_ResourceReservationConfigDL-r16.c + LTE_ResourceReservationConfig-NB-r16.c + LTE_ResourceReservationConfigUL-r16.c + LTE_ResultsPerSSB-IndexIdle-r16.c + LTE_ResultsPerSSB-IndexList-r16.c + LTE_ResumeCause.c + LTE_ResumeCause-r15.c + LTE_ResumeIdentity-r13.c + LTE_RetxBSR-Timer-NB-r13.c + LTE_RetxBSR-Timer-r12.c + LTE_RF-Parameters.c + LTE_RF-Parameters-NB-r13.c + LTE_RF-Parameters-NB-v1430.c + LTE_RF-Parameters-v1020.c + LTE_RF-Parameters-v1060.c + LTE_RF-Parameters-v1090.c + LTE_RF-Parameters-v10f0.c + LTE_RF-Parameters-v10i0.c + LTE_RF-Parameters-v10j0.c + LTE_RF-Parameters-v1130.c + LTE_RF-Parameters-v1180.c + LTE_RF-Parameters-v11d0.c + LTE_RF-Parameters-v1250.c + LTE_RF-Parameters-v1270.c + LTE_RF-Parameters-v12b0.c + LTE_RF-Parameters-v1310.c + LTE_RF-Parameters-v1320.c + LTE_RF-Parameters-v1380.c + LTE_RF-Parameters-v1390.c + LTE_RF-Parameters-v1430.c + LTE_RF-Parameters-v1450.c + LTE_RF-Parameters-v1470.c + LTE_RF-Parameters-v14b0.c + LTE_RF-Parameters-v1530.c + LTE_RF-Parameters-v1570.c + LTE_RF-Parameters-v1610.c + LTE_RF-Parameters-v1630.c + LTE_RF-Parameters-v9e0.c + LTE_RLC-BearerConfig-r15.c + LTE_RLC-Config.c + LTE_RLC-Config-NB-r13.c + LTE_RLC-Config-NB-v1430.c + LTE_RLC-Config-r15.c + LTE_RLC-Config-v1250.c + LTE_RLC-Config-v1310.c + LTE_RLC-Config-v1430.c + LTE_RLC-Config-v1510.c + LTE_RLC-Config-v1530.c + LTE_RLC-Parameters-NB-r15.c + LTE_RLC-Parameters-r12.c + LTE_RLC-Parameters-v1310.c + LTE_RLC-Parameters-v1430.c + LTE_RLC-Parameters-v1530.c + LTE_RLF-Report-NB-r16.c + LTE_RLF-Report-r9.c + LTE_RLF-Report-v9e0.c + LTE_RLF-TimersAndConstantsMCG-Failure-r16.c + LTE_RLF-TimersAndConstants-NB-r13.c + LTE_RLF-TimersAndConstants-r13.c + LTE_RLF-TimersAndConstants-r9.c + LTE_RLF-TimersAndConstantsSCG-r12.c + LTE_RMTC-ConfigNR-r16.c + LTE_RMTC-Config-r13.c + LTE_RNReconfigurationComplete-r10.c + LTE_RNReconfigurationComplete-r10-IEs.c + LTE_RNReconfiguration-r10.c + LTE_RNReconfiguration-r10-IEs.c + LTE_RN-SubframeConfig-r10.c + LTE_RN-SystemInfo-r10.c + LTE_ROHC-ProfileSupportList-r15.c + LTE_RRCConnectionReconfiguration.c + LTE_RRCConnectionReconfigurationComplete.c + LTE_RRCConnectionReconfigurationComplete-NB.c + LTE_RRCConnectionReconfigurationComplete-NB-r13-IEs.c + LTE_RRCConnectionReconfigurationComplete-r8-IEs.c + LTE_RRCConnectionReconfigurationComplete-v1020-IEs.c + LTE_RRCConnectionReconfigurationComplete-v1130-IEs.c + LTE_RRCConnectionReconfigurationComplete-v1250-IEs.c + LTE_RRCConnectionReconfigurationComplete-v1430-IEs.c + LTE_RRCConnectionReconfigurationComplete-v1510-IEs.c + LTE_RRCConnectionReconfigurationComplete-v1530-IEs.c + LTE_RRCConnectionReconfigurationComplete-v8a0-IEs.c + LTE_RRCConnectionReconfiguration-NB.c + LTE_RRCConnectionReconfiguration-NB-r13-IEs.c + LTE_RRCConnectionReconfiguration-r8-IEs.c + LTE_RRCConnectionReconfiguration-v1020-IEs.c + LTE_RRCConnectionReconfiguration-v10i0-IEs.c + LTE_RRCConnectionReconfiguration-v10l0-IEs.c + LTE_RRCConnectionReconfiguration-v1130-IEs.c + LTE_RRCConnectionReconfiguration-v1250-IEs.c + LTE_RRCConnectionReconfiguration-v12f0-IEs.c + LTE_RRCConnectionReconfiguration-v1310-IEs.c + LTE_RRCConnectionReconfiguration-v1370-IEs.c + LTE_RRCConnectionReconfiguration-v13c0-IEs.c + LTE_RRCConnectionReconfiguration-v1430-IEs.c + LTE_RRCConnectionReconfiguration-v1510-IEs.c + LTE_RRCConnectionReconfiguration-v1530-IEs.c + LTE_RRCConnectionReconfiguration-v1610-IEs.c + LTE_RRCConnectionReconfiguration-v890-IEs.c + LTE_RRCConnectionReconfiguration-v8m0-IEs.c + LTE_RRCConnectionReconfiguration-v920-IEs.c + LTE_RRCConnectionReestablishment.c + LTE_RRCConnectionReestablishmentComplete.c + LTE_RRCConnectionReestablishmentComplete-NB.c + LTE_RRCConnectionReestablishmentComplete-NB-r13-IEs.c + LTE_RRCConnectionReestablishmentComplete-NB-v1470-IEs.c + LTE_RRCConnectionReestablishmentComplete-NB-v1610-IEs.c + LTE_RRCConnectionReestablishmentComplete-r8-IEs.c + LTE_RRCConnectionReestablishmentComplete-v1020-IEs.c + LTE_RRCConnectionReestablishmentComplete-v1130-IEs.c + LTE_RRCConnectionReestablishmentComplete-v1250-IEs.c + LTE_RRCConnectionReestablishmentComplete-v1530-IEs.c + LTE_RRCConnectionReestablishmentComplete-v8a0-IEs.c + LTE_RRCConnectionReestablishmentComplete-v920-IEs.c + LTE_RRCConnectionReestablishment-NB.c + LTE_RRCConnectionReestablishment-NB-r13-IEs.c + LTE_RRCConnectionReestablishment-NB-v1430-IEs.c + LTE_RRCConnectionReestablishment-r8-IEs.c + LTE_RRCConnectionReestablishmentReject.c + LTE_RRCConnectionReestablishmentReject-r8-IEs.c + LTE_RRCConnectionReestablishmentReject-v8a0-IEs.c + LTE_RRCConnectionReestablishmentRequest-5GC-NB-r16-IEs.c + LTE_RRCConnectionReestablishmentRequest.c + LTE_RRCConnectionReestablishmentRequest-NB.c + LTE_RRCConnectionReestablishmentRequest-NB-r13-IEs.c + LTE_RRCConnectionReestablishmentRequest-NB-r14-IEs.c + LTE_RRCConnectionReestablishmentRequest-r8-IEs.c + LTE_RRCConnectionReestablishment-v8a0-IEs.c + LTE_RRCConnectionReject.c + LTE_RRCConnectionReject-NB.c + LTE_RRCConnectionReject-NB-r13-IEs.c + LTE_RRCConnectionReject-r8-IEs.c + LTE_RRCConnectionReject-v1020-IEs.c + LTE_RRCConnectionReject-v1130-IEs.c + LTE_RRCConnectionReject-v1320-IEs.c + LTE_RRCConnectionReject-v8a0-IEs.c + LTE_RRCConnectionRelease.c + LTE_RRCConnectionRelease-NB.c + LTE_RRCConnectionRelease-NB-r13-IEs.c + LTE_RRCConnectionRelease-NB-v1430-IEs.c + LTE_RRCConnectionRelease-NB-v1530-IEs.c + LTE_RRCConnectionRelease-NB-v1550-IEs.c + LTE_RRCConnectionRelease-NB-v15b0-IEs.c + LTE_RRCConnectionRelease-NB-v1610-IEs.c + LTE_RRCConnectionRelease-r8-IEs.c + LTE_RRCConnectionRelease-v1020-IEs.c + LTE_RRCConnectionRelease-v1320-IEs.c + LTE_RRCConnectionRelease-v1530-IEs.c + LTE_RRCConnectionRelease-v1540-IEs.c + LTE_RRCConnectionRelease-v15b0-IEs.c + LTE_RRCConnectionRelease-v1610-IEs.c + LTE_RRCConnectionRelease-v1650-IEs.c + LTE_RRCConnectionRelease-v890-IEs.c + LTE_RRCConnectionRelease-v920-IEs.c + LTE_RRCConnectionRelease-v9e0-IEs.c + LTE_RRCConnectionRequest-5GC-NB-r16-IEs.c + LTE_RRCConnectionRequest-5GC-r15-IEs.c + LTE_RRCConnectionRequest.c + LTE_RRCConnectionRequest-NB.c + LTE_RRCConnectionRequest-NB-r13-IEs.c + LTE_RRCConnectionRequest-r8-IEs.c + LTE_RRCConnectionResumeComplete-NB.c + LTE_RRCConnectionResumeComplete-NB-r13-IEs.c + LTE_RRCConnectionResumeComplete-NB-v1470-IEs.c + LTE_RRCConnectionResumeComplete-NB-v1610-IEs.c + LTE_RRCConnectionResumeComplete-r13.c + LTE_RRCConnectionResumeComplete-r13-IEs.c + LTE_RRCConnectionResumeComplete-v1530-IEs.c + LTE_RRCConnectionResumeComplete-v1610-IEs.c + LTE_RRCConnectionResume-NB.c + LTE_RRCConnectionResume-NB-r13-IEs.c + LTE_RRCConnectionResume-NB-v1610-IEs.c + LTE_RRCConnectionResume-r13.c + LTE_RRCConnectionResume-r13-IEs.c + LTE_RRCConnectionResumeRequest-5GC-NB-r16-IEs.c + LTE_RRCConnectionResumeRequest-5GC-r15-IEs.c + LTE_RRCConnectionResumeRequest-NB.c + LTE_RRCConnectionResumeRequest-NB-r13-IEs.c + LTE_RRCConnectionResumeRequest-r13.c + LTE_RRCConnectionResumeRequest-r13-IEs.c + LTE_RRCConnectionResume-v1430-IEs.c + LTE_RRCConnectionResume-v1510-IEs.c + LTE_RRCConnectionResume-v1530-IEs.c + LTE_RRCConnectionResume-v1610-IEs.c + LTE_RRCConnectionSetup.c + LTE_RRCConnectionSetupComplete.c + LTE_RRCConnectionSetupComplete-NB.c + LTE_RRCConnectionSetupComplete-NB-r13-IEs.c + LTE_RRCConnectionSetupComplete-NB-v1430-IEs.c + LTE_RRCConnectionSetupComplete-NB-v1470-IEs.c + LTE_RRCConnectionSetupComplete-NB-v1610-IEs.c + LTE_RRCConnectionSetupComplete-r8-IEs.c + LTE_RRCConnectionSetupComplete-v1020-IEs.c + LTE_RRCConnectionSetupComplete-v1130-IEs.c + LTE_RRCConnectionSetupComplete-v1250-IEs.c + LTE_RRCConnectionSetupComplete-v1320-IEs.c + LTE_RRCConnectionSetupComplete-v1330-IEs.c + LTE_RRCConnectionSetupComplete-v1430-IEs.c + LTE_RRCConnectionSetupComplete-v1530-IEs.c + LTE_RRCConnectionSetupComplete-v1540-IEs.c + LTE_RRCConnectionSetupComplete-v1610-IEs.c + LTE_RRCConnectionSetupComplete-v1690-IEs.c + LTE_RRCConnectionSetupComplete-v8a0-IEs.c + LTE_RRCConnectionSetup-NB.c + LTE_RRCConnectionSetup-NB-r13-IEs.c + LTE_RRCConnectionSetup-NB-v1610-IEs.c + LTE_RRCConnectionSetup-r8-IEs.c + LTE_RRCConnectionSetup-v1610-IEs.c + LTE_RRCConnectionSetup-v8a0-IEs.c + LTE_RRCEarlyDataComplete-NB-r15.c + LTE_RRCEarlyDataComplete-NB-r15-IEs.c + LTE_RRCEarlyDataComplete-NB-v1590-IEs.c + LTE_RRCEarlyDataComplete-r15.c + LTE_RRCEarlyDataComplete-r15-IEs.c + LTE_RRCEarlyDataComplete-v1590-IEs.c + LTE_RRCEarlyDataRequest-5GC-NB-r16-IEs.c + LTE_RRCEarlyDataRequest-5GC-r16-IEs.c + LTE_RRCEarlyDataRequest-NB-r15.c + LTE_RRCEarlyDataRequest-NB-r15-IEs.c + LTE_RRCEarlyDataRequest-NB-v1590-IEs.c + LTE_RRCEarlyDataRequest-r15.c + LTE_RRCEarlyDataRequest-r15-IEs.c + LTE_RRCEarlyDataRequest-v1590-IEs.c + LTE_RRCEarlyDataRequest-v1610-IEs.c + LTE_RRC-InactiveConfig-r15.c + LTE_RRC-InactiveConfig-v1610.c + LTE_RRC-TransactionIdentifier.c + LTE_RRM-Config.c + LTE_RRM-Config-NB.c + LTE_RS-ConfigSSB-NR-r15.c + LTE_RS-IndexNR-r15.c + LTE_RSRP-ChangeThresh-r16.c + LTE_RSRP-Range.c + LTE_RSRP-RangeNR-r15.c + LTE_RSRP-RangeSL2-r12.c + LTE_RSRP-RangeSL3-r12.c + LTE_RSRP-RangeSL4-r13.c + LTE_RSRP-RangeSL-r12.c + LTE_RSRP-Range-v1360.c + LTE_RSRP-ThresholdsNPRACH-InfoList-NB-r13.c + LTE_RSRP-ThresholdsPrachInfoList-r13.c + LTE_RSRQ-Range.c + LTE_RSRQ-RangeConfig-r12.c + LTE_RSRQ-RangeNR-r15.c + LTE_RSRQ-Range-r13.c + LTE_RSRQ-Range-v1250.c + LTE_RSRQ-Type-r12.c + LTE_RSS-ConfigCarrierInfo-r16.c + LTE_RSS-Config-r15.c + LTE_RS-SINR-RangeNR-r15.c + LTE_RS-SINR-Range-r13.c + LTE_RSSI-Range-r13.c + LTE_RSS-MeasPowerBias-r16.c + LTE_RSTD-InterFreqInfoList-r10.c + LTE_RSTD-InterFreqInfo-r10.c + LTE_SBAS-ID-r15.c + LTE_SBCCH-SL-BCH-Message.c + LTE_SBCCH-SL-BCH-MessageType.c + LTE_SBCCH-SL-BCH-MessageType-V2X-r14.c + LTE_SBCCH-SL-BCH-Message-V2X-r14.c + LTE_ScalingFactorSidelink-r16.c + LTE_SCellConfigCommon-r15.c + LTE_SCellGroupIndex-r15.c + LTE_SCellGroupToAddModList-r15.c + LTE_SCellGroupToAddMod-r15.c + LTE_SCellGroupToReleaseList-r15.c + LTE_SCellIndex-r10.c + LTE_SCellIndex-r13.c + LTE_SCellToAddModExt-r13.c + LTE_SCellToAddModExt-v1370.c + LTE_SCellToAddModExt-v1430.c + LTE_SCellToAddModListExt-r13.c + LTE_SCellToAddModListExt-v1370.c + LTE_SCellToAddModListExt-v13c0.c + LTE_SCellToAddModListExt-v1430.c + LTE_SCellToAddModList-r10.c + LTE_SCellToAddModList-r16.c + LTE_SCellToAddModListSCG-Ext-r13.c + LTE_SCellToAddModListSCG-r12.c + LTE_SCellToAddModList-v10l0.c + LTE_SCellToAddModList-v13c0.c + LTE_SCellToAddMod-r10.c + LTE_SCellToAddMod-r16.c + LTE_SCellToAddMod-v10l0.c + LTE_SCellToAddMod-v13c0.c + LTE_SCellToReleaseListExt-r13.c + LTE_SCellToReleaseList-r10.c + LTE_SCG-ConfigInfo-r12.c + LTE_SCG-ConfigInfo-r12-IEs.c + LTE_SCG-ConfigInfo-v1310-IEs.c + LTE_SCG-ConfigInfo-v1330-IEs.c + LTE_SCG-ConfigInfo-v1430-IEs.c + LTE_SCG-ConfigInfo-v1530-IEs.c + LTE_SCG-ConfigPartSCG-r12.c + LTE_SCG-ConfigPartSCG-v12f0.c + LTE_SCG-ConfigPartSCG-v13c0.c + LTE_SCG-Config-r12.c + LTE_SCG-Config-r12-IEs.c + LTE_SCG-ConfigRestrictInfo-r12.c + LTE_SCG-Configuration-r12.c + LTE_SCG-Configuration-v12f0.c + LTE_SCG-Configuration-v13c0.c + LTE_SCG-Config-v12i0a-IEs.c + LTE_SCG-Config-v12i0b-IEs.c + LTE_SCG-Config-v13c0-IEs.c + LTE_SCGFailureInformationNR-r15.c + LTE_SCGFailureInformationNR-r15-IEs.c + LTE_SCGFailureInformationNR-v1590-IEs.c + LTE_SCGFailureInformation-r12.c + LTE_SCGFailureInformation-r12-IEs.c + LTE_SCGFailureInformation-v12d0a-IEs.c + LTE_SCGFailureInformation-v12d0b-IEs.c + LTE_SchedulingInfo-BR-r13.c + LTE_SchedulingInfo.c + LTE_SchedulingInfoExt-r12.c + LTE_SchedulingInfoList-BR-r13.c + LTE_SchedulingInfoList.c + LTE_SchedulingInfoListExt-r12.c + LTE_SchedulingInfoList-MBMS-r14.c + LTE_SchedulingInfoList-NB-r13.c + LTE_SchedulingInfoList-NB-v1530.c + LTE_SchedulingInfoList-v12j0.c + LTE_SchedulingInfo-MBMS-r14.c + LTE_SchedulingInfo-NB-r13.c + LTE_SchedulingInfo-NB-v1530.c + LTE_SchedulingInfo-v12j0.c + LTE_SchedulingRequestConfig.c + LTE_SchedulingRequestConfig-NB-r15.c + LTE_SchedulingRequestConfigSCell-r13.c + LTE_SchedulingRequestConfig-v1020.c + LTE_SchedulingRequestConfig-v1530.c + LTE_SC-MCCH-Message-NB.c + LTE_SC-MCCH-Message-r13.c + LTE_SC-MCCH-MessageType-NB.c + LTE_SC-MCCH-MessageType-r13.c + LTE_SC-MCCH-SchedulingInfo-NB-r14.c + LTE_SC-MCCH-SchedulingInfo-r14.c + LTE_SC-MTCH-Info-BR-r14.c + LTE_SC-MTCH-InfoList-BR-r14.c + LTE_SC-MTCH-InfoList-NB-r14.c + LTE_SC-MTCH-InfoList-r13.c + LTE_SC-MTCH-Info-NB-r14.c + LTE_SC-MTCH-Info-r13.c + LTE_SC-MTCH-SchedulingInfo-BR-r14.c + LTE_SC-MTCH-SchedulingInfo-NB-r14.c + LTE_SC-MTCH-SchedulingInfo-r13.c + LTE_SCPTMConfiguration-BR-r14.c + LTE_SCPTMConfiguration-BR-v1610.c + LTE_SCPTMConfiguration-NB-r14.c + LTE_SCPTMConfiguration-NB-v1610.c + LTE_SCPTMConfiguration-r13.c + LTE_SCPTMConfiguration-v1340.c + LTE_SCPTM-NeighbourCellList-NB-r14.c + LTE_SCPTM-NeighbourCellList-r13.c + LTE_SCPTM-Parameters-r13.c + LTE_SecondaryPreRegistrationZoneIdListHRPD.c + LTE_SecurityAlgorithmConfig.c + LTE_SecurityConfigHO.c + LTE_SecurityConfigHO-v1530.c + LTE_SecurityConfigSMC.c + LTE_SecurityModeCommand.c + LTE_SecurityModeCommand-r8-IEs.c + LTE_SecurityModeCommand-v8a0-IEs.c + LTE_SecurityModeComplete.c + LTE_SecurityModeComplete-r8-IEs.c + LTE_SecurityModeComplete-v8a0-IEs.c + LTE_SecurityModeFailure.c + LTE_SecurityModeFailure-r8-IEs.c + LTE_SecurityModeFailure-v8a0-IEs.c + LTE_SensingResult-r15.c + LTE_ServCellIndex-r10.c + LTE_ServCellIndex-r13.c + LTE_SetupRelease.c + LTE_ShortI-RNTI-r15.c + LTE_ShortMAC-I.c + LTE_ShortTTI-Length-r15.c + LTE_ShortTTI-r15.c + LTE_SIB8-PerPLMN-List-r11.c + LTE_SIB8-PerPLMN-r11.c + LTE_SIB-GuardbandAnchorTDD-NB-r15.c + LTE_SIB-GuardbandGuardbandTDD-NB-r15.c + LTE_SIB-GuardbandInbandDiffPCI-TDD-NB-r15.c + LTE_SIB-GuardbandInbandSamePCI-TDD-NB-r15.c + LTE_SIB-MappingInfo.c + LTE_SIB-MappingInfo-MBMS-r14.c + LTE_SIB-MappingInfo-NB-r13.c + LTE_SIB-MappingInfo-NB-v1530.c + LTE_SIB-MappingInfo-v12j0.c + LTE_SIB-Type.c + LTE_SIB-Type-MBMS-r14.c + LTE_SIB-Type-NB-r13.c + LTE_SIB-Type-NB-v1530.c + LTE_SIB-Type-v12j0.c + LTE_SidelinkUEInformation-r12.c + LTE_SidelinkUEInformation-r12-IEs.c + LTE_SidelinkUEInformation-v1310-IEs.c + LTE_SidelinkUEInformation-v1430-IEs.c + LTE_SidelinkUEInformation-v1530-IEs.c + LTE_SI-OrPSI-GERAN.c + LTE_SI-Periodicity-r12.c + LTE_SkipSubframeProcessing-r15.c + LTE_SL-AllowedCarrierFreqList-r15.c + LTE_SL-AnchorCarrierFreqList-V2X-r14.c + LTE_SL-CarrierFreqInfoList-r12.c + LTE_SL-CarrierFreqInfoList-v1310.c + LTE_SL-CarrierFreqInfo-r12.c + LTE_SL-CarrierFreqInfo-v1310.c + LTE_SL-CBR-CommonTxConfigList-r14.c + LTE_SL-CBR-Levels-Config-r14.c + LTE_SL-CBR-PPPP-TxConfigList-r14.c + LTE_SL-CBR-PPPP-TxConfigList-r15.c + LTE_SL-CBR-PPPP-TxConfigList-v1530.c + LTE_SL-CBR-PPPP-TxPreconfigList-r14.c + LTE_SL-CBR-PPPP-TxPreconfigList-v1530.c + LTE_SL-CBR-PreconfigTxConfigList-r14.c + LTE_SL-CBR-PSSCH-TxConfig-r14.c + LTE_SL-CBR-r14.c + LTE_SL-CommConfig-r12.c + LTE_SL-CommResourcePool-r12.c + LTE_SL-CommResourcePoolV2X-r14.c + LTE_SL-CommRxPoolList-r12.c + LTE_SL-CommRxPoolListV2X-r14.c + LTE_SL-CommTxPoolListExt-r13.c + LTE_SL-CommTxPoolList-r12.c + LTE_SL-CommTxPoolListV2X-r14.c + LTE_SL-CommTxPoolSensingConfig-r14.c + LTE_SL-CommTxPoolToAddModExt-r13.c + LTE_SL-CommTxPoolToAddModListExt-r13.c + LTE_SL-CommTxPoolToAddModList-r12.c + LTE_SL-CommTxPoolToAddMod-r12.c + LTE_SL-CommTxResourceReq-r12.c + LTE_SL-CP-Len-r12.c + LTE_SL-DestinationIdentity-r12.c + LTE_SL-DestinationInfoList-r12.c + LTE_SL-DiscConfigOtherInterFreq-r13.c + LTE_SL-DiscConfig-r12.c + LTE_SL-DiscConfigRelayUE-r13.c + LTE_SL-DiscConfigRemoteUE-r13.c + LTE_SL-DiscResourcePool-r12.c + LTE_SL-DiscRxPoolList-r12.c + LTE_SL-DiscSysInfoReportFreqList-r13.c + LTE_SL-DiscSysInfoReport-r13.c + LTE_SL-DiscSysInfoToReportFreqList-r13.c + LTE_SL-DiscTxConfigScheduled-r13.c + LTE_SL-DiscTxInfoInterFreqListAdd-r13.c + LTE_SL-DiscTxPoolDedicated-r13.c + LTE_SL-DiscTxPoolList-r12.c + LTE_SL-DiscTxPoolToAddModList-r12.c + LTE_SL-DiscTxPoolToAddMod-r12.c + LTE_SL-DiscTxPowerInfoList-r12.c + LTE_SL-DiscTxPowerInfo-r12.c + LTE_SL-DiscTxRefCarrierDedicated-r13.c + LTE_SL-DiscTxResourceInfoPerFreq-r13.c + LTE_SL-DiscTxResource-r13.c + LTE_SL-DiscTxResourceReqPerFreqList-r13.c + LTE_SL-DiscTxResourceReq-r13.c + LTE_SL-DiscTxResourcesInterFreq-r13.c + LTE_SL-GapConfig-r13.c + LTE_SL-GapFreqInfo-r13.c + LTE_SL-GapPatternList-r13.c + LTE_SL-GapPattern-r13.c + LTE_SL-GapRequest-r13.c + LTE_SL-HoppingConfigComm-r12.c + LTE_SL-HoppingConfigDisc-r12.c + LTE_SL-InterFreqInfoListV2X-r14.c + LTE_SL-InterFreqInfoV2X-r14.c + LTE_SL-MinT2ValueList-r15.c + LTE_SL-MinT2Value-r15.c + LTE_SL-NR-AnchorCarrierFreqList-r16.c + LTE_SL-OffsetIndicator-r12.c + LTE_SL-OffsetIndicatorSync-r12.c + LTE_SL-OffsetIndicatorSync-r14.c + LTE_SL-OffsetIndicatorSync-v1430.c + LTE_SlotOrSubslotPDSCH-Config-r15.c + LTE_SlotOrSubslotPUSCH-Config-r15.c + LTE_SL-P2X-ResourceSelectionConfig-r14.c + LTE_SL-Parameters-r12.c + LTE_SL-Parameters-v1310.c + LTE_SL-Parameters-v1430.c + LTE_SL-Parameters-v1530.c + LTE_SL-Parameters-v1540.c + LTE_SL-Parameters-v1610.c + LTE_SL-Parameters-v1630.c + LTE_SL-PeriodComm-r12.c + LTE_SL-PoolSelectionConfig-r12.c + LTE_SL-PPPP-TxConfigIndex-r14.c + LTE_SL-PPPP-TxConfigIndex-r15.c + LTE_SL-PPPP-TxConfigIndex-v1530.c + LTE_SL-PPPP-TxPreconfigIndex-r14.c + LTE_SL-PPPP-TxPreconfigIndex-v1530.c + LTE_SL-PPPR-Dest-CarrierFreq.c + LTE_SL-PPPR-Dest-CarrierFreqList-r15.c + LTE_SL-PreconfigCommPoolList4-r12.c + LTE_SL-PreconfigCommPool-r12.c + LTE_SL-PreconfigCommRxPoolList-r13.c + LTE_SL-PreconfigCommTxPoolList-r13.c + LTE_SL-PreconfigDiscPool-r13.c + LTE_SL-PreconfigDiscRxPoolList-r13.c + LTE_SL-PreconfigDiscTxPoolList-r13.c + LTE_SL-PreconfigGeneral-r12.c + LTE_SL-PreconfigRelay-r13.c + LTE_SL-PreconfigSync-r12.c + LTE_SL-Preconfiguration-r12.c + LTE_SL-PreconfigV2X-RxPoolList-r14.c + LTE_SL-PreconfigV2X-Sync-r14.c + LTE_SL-PreconfigV2X-TxPoolList-r14.c + LTE_SL-PriorityList-r13.c + LTE_SL-Priority-r13.c + LTE_SL-PSSCH-TxConfigList-r14.c + LTE_SL-PSSCH-TxConfig-r14.c + LTE_SL-PSSCH-TxParameters-r14.c + LTE_SL-PSSCH-TxParameters-v1530.c + LTE_SL-ReliabilityList-r15.c + LTE_SL-Reliability-r15.c + LTE_SL-ResourcesInterFreq-r13.c + LTE_SL-RestrictResourceReservationPeriodList-r14.c + LTE_SL-RestrictResourceReservationPeriod-r14.c + LTE_SLSSID-r12.c + LTE_SL-SyncAllowed-r14.c + LTE_SL-SyncConfigListNFreq-r13.c + LTE_SL-SyncConfigListNFreqV2X-r14.c + LTE_SL-SyncConfigList-r12.c + LTE_SL-SyncConfigListV2X-r14.c + LTE_SL-SyncConfigNFreq-r13.c + LTE_SL-SyncConfig-r12.c + LTE_SL-SyncTxControl-r12.c + LTE_SL-TF-IndexPairList-r12b.c + LTE_SL-TF-IndexPairList-r12.c + LTE_SL-TF-IndexPair-r12b.c + LTE_SL-TF-IndexPair-r12.c + LTE_SL-TF-ResourceConfig-r12.c + LTE_SL-ThresPSSCH-RSRP-List-r14.c + LTE_SL-ThresPSSCH-RSRP-r14.c + LTE_SL-TRPT-Subset-r12.c + LTE_SL-TxParameters-r12.c + LTE_SL-TxPoolIdentity-r12.c + LTE_SL-TxPoolIdentity-v1310.c + LTE_SL-TxPoolToAddModListV2X-r14.c + LTE_SL-TxPoolToAddMod-r14.c + LTE_SL-TxPoolToReleaseListExt-r13.c + LTE_SL-TxPoolToReleaseList-r12.c + LTE_SL-TxPoolToReleaseListV2X-r14.c + LTE_SL-TxPower-r14.c + LTE_SL-TypeTxSync-r14.c + LTE_SL-V2X-CommFreqList-r14.c + LTE_SL-V2X-CommTxFreqList-r14.c + LTE_SL-V2X-CommTxResourceReq-r14.c + LTE_SL-V2X-ConfigCommon-r14.c + LTE_SL-V2X-ConfigDedicated-r14.c + LTE_SL-V2X-FreqSelectionConfigList-r15.c + LTE_SL-V2X-FreqSelectionConfig-r15.c + LTE_SL-V2X-InterFreqUE-Config-r14.c + LTE_SL-V2X-PacketDuplicationConfig-r15.c + LTE_SL-V2X-PreconfigCommPool-r14.c + LTE_SL-V2X-PreconfigFreqInfo-r14.c + LTE_SL-V2X-PreconfigFreqList-r14.c + LTE_SL-V2X-Preconfiguration-r14.c + LTE_SL-V2X-SyncFreqList-r15.c + LTE_SL-V2X-SyncOffsetIndicators-r14.c + LTE_SL-V2X-TxPoolIdentity-r14.c + LTE_SL-V2X-TxPoolReportIdentity-r14.c + LTE_SL-V2X-TxProfileList-r15.c + LTE_SL-V2X-TxProfile-r15.c + LTE_SL-V2X-UE-ConfigList-r14.c + LTE_SL-ZoneConfig-r14.c + LTE_SN-FieldLength.c + LTE_SN-FieldLength-r15.c + LTE_S-NSSAI-r15.c + LTE_SON-Parameters-NB-r16.c + LTE_SON-Parameters-r9.c + LTE_SoundingRS-AperiodicSet-r14.c + LTE_SoundingRS-AperiodicSetUpPTsExt-r14.c + LTE_SoundingRS-UL-ConfigCommon.c + LTE_SoundingRS-UL-ConfigDedicatedAdd-r16.c + LTE_SoundingRS-UL-ConfigDedicatedAperiodic-r10.c + LTE_SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.c + LTE_SoundingRS-UL-ConfigDedicatedAperiodic-v1310.c + LTE_SoundingRS-UL-ConfigDedicatedAperiodic-v1430.c + LTE_SoundingRS-UL-ConfigDedicated.c + LTE_SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.c + LTE_SoundingRS-UL-ConfigDedicated-v1020.c + LTE_SoundingRS-UL-ConfigDedicated-v1310.c + LTE_SoundingRS-VirtualCellID-r16.c + LTE_SPDCCH-Config-r15.c + LTE_SPDCCH-Elements-r15.c + LTE_SPDCCH-Set-r15.c + LTE_SpeedStateScaleFactors.c + LTE_SPS-Config.c + LTE_SPS-ConfigDL.c + LTE_SPS-ConfigDL-STTI-r15.c + LTE_SPS-ConfigIndex-r14.c + LTE_SPS-ConfigIndex-r15.c + LTE_SPS-ConfigSL-r14.c + LTE_SPS-ConfigSL-ToAddModList-r14.c + LTE_SPS-ConfigSL-ToReleaseList-r14.c + LTE_SPS-ConfigUL.c + LTE_SPS-ConfigUL-STTI-r15.c + LTE_SPS-ConfigUL-STTI-ToAddModList-r15.c + LTE_SPS-ConfigUL-STTI-ToReleaseList-r15.c + LTE_SPS-ConfigUL-ToAddModList-r14.c + LTE_SPS-ConfigUL-ToAddModList-r15.c + LTE_SPS-ConfigUL-ToReleaseList-r14.c + LTE_SPS-ConfigUL-ToReleaseList-r15.c + LTE_SPS-Config-v1430.c + LTE_SPS-Config-v1530.c + LTE_SPS-Config-v1540.c + LTE_SPT-Parameters-r15.c + LTE_SPUCCH-Config-r15.c + LTE_SPUCCH-Config-v1550.c + LTE_SPUCCH-Elements-r15.c + LTE_SPUCCH-Set-r15.c + LTE_SRB-ToAddMod.c + LTE_SRB-ToAddModList.c + LTE_SRB-ToAddModListExt-r15.c + LTE_SRB-ToAddModList-NB-r13.c + LTE_SRB-ToAddMod-NB-r13.c + LTE_SRB-ToReleaseList-r15.c + LTE_SR-NPRACH-Resource-NB-r15.c + LTE_SRS-AntennaPort.c + LTE_SRS-CapabilityPerBandPair-r14.c + LTE_SRS-CapabilityPerBandPair-v14b0.c + LTE_SRS-CapabilityPerBandPair-v1610.c + LTE_SRS-CC-SetIndex-r14.c + LTE_SRS-ConfigAdd-r16.c + LTE_SRS-ConfigAp-r10.c + LTE_SRS-ConfigAp-r13.c + LTE_SRS-ConfigAp-v1310.c + LTE_SR-SPS-BSR-Config-NB-r15.c + LTE_SRS-TPC-PDCCH-Config-r14.c + LTE_SR-SubslotSPUCCH-ResourceList-r15.c + LTE_SR-WithoutHARQ-ACK-Config-NB-r15.c + LTE_SSB-IndexList-r15.c + LTE_SSB-PositionQCL-CellsToAddModListNR-r16.c + LTE_SSB-PositionQCL-CellsToAddNR-r16.c + LTE_SSB-PositionQCL-RelationNR-r16.c + LTE_SSB-ToMeasure-r15.c + LTE_SS-RSSI-Measurement-r15.c + LTE_STAG-Id-r11.c + LTE_STAG-ToAddModList-r11.c + LTE_STAG-ToAddMod-r11.c + LTE_STAG-ToReleaseList-r11.c + LTE_Standalone-NB-r13.c + LTE_StandaloneTDD-NB-r15.c + LTE_S-TMSI.c + LTE_STTI-SPT-BandParameters-r15.c + LTE_STTI-SupportedCombinations-r15.c + LTE_SubframeAssignment-r15.c + LTE_SubframeBitmapSL-r12.c + LTE_SubframeBitmapSL-r14.c + LTE_SupportedBandCombinationAdd-r11.c + LTE_SupportedBandCombinationAdd-v11d0.c + LTE_SupportedBandCombinationAdd-v1250.c + LTE_SupportedBandCombinationAdd-v1270.c + LTE_SupportedBandCombinationAdd-v1320.c + LTE_SupportedBandCombinationAdd-v1380.c + LTE_SupportedBandCombinationAdd-v1390.c + LTE_SupportedBandCombinationAdd-v1430.c + LTE_SupportedBandCombinationAdd-v1450.c + LTE_SupportedBandCombinationAdd-v1470.c + LTE_SupportedBandCombinationAdd-v14b0.c + LTE_SupportedBandCombinationAdd-v1530.c + LTE_SupportedBandCombinationAdd-v1610.c + LTE_SupportedBandCombinationAdd-v1630.c + LTE_SupportedBandCombinationExt-r10.c + LTE_SupportedBandCombination-r10.c + LTE_SupportedBandCombinationReduced-r13.c + LTE_SupportedBandCombinationReduced-v1320.c + LTE_SupportedBandCombinationReduced-v1380.c + LTE_SupportedBandCombinationReduced-v1390.c + LTE_SupportedBandCombinationReduced-v1430.c + LTE_SupportedBandCombinationReduced-v1450.c + LTE_SupportedBandCombinationReduced-v1470.c + LTE_SupportedBandCombinationReduced-v14b0.c + LTE_SupportedBandCombinationReduced-v1530.c + LTE_SupportedBandCombinationReduced-v1610.c + LTE_SupportedBandCombinationReduced-v1630.c + LTE_SupportedBandCombination-v1090.c + LTE_SupportedBandCombination-v10i0.c + LTE_SupportedBandCombination-v1130.c + LTE_SupportedBandCombination-v1250.c + LTE_SupportedBandCombination-v1270.c + LTE_SupportedBandCombination-v1320.c + LTE_SupportedBandCombination-v1380.c + LTE_SupportedBandCombination-v1390.c + LTE_SupportedBandCombination-v1430.c + LTE_SupportedBandCombination-v1450.c + LTE_SupportedBandCombination-v1470.c + LTE_SupportedBandCombination-v14b0.c + LTE_SupportedBandCombination-v1530.c + LTE_SupportedBandCombination-v1610.c + LTE_SupportedBandCombination-v1630.c + LTE_SupportedBandEUTRA.c + LTE_SupportedBandEUTRA-v1250.c + LTE_SupportedBandEUTRA-v1310.c + LTE_SupportedBandEUTRA-v1320.c + LTE_SupportedBandEUTRA-v9e0.c + LTE_SupportedBandGERAN.c + LTE_SupportedBandInfoList-r12.c + LTE_SupportedBandInfo-r12.c + LTE_SupportedBandList1XRTT.c + LTE_SupportedBandListEUTRA.c + LTE_SupportedBandListEUTRA-v1250.c + LTE_SupportedBandListEUTRA-v1310.c + LTE_SupportedBandListEUTRA-v1320.c + LTE_SupportedBandListEUTRA-v9e0.c + LTE_SupportedBandListGERAN.c + LTE_SupportedBandListHRPD.c + LTE_SupportedBandList-NB-r13.c + LTE_SupportedBandListNR-r15.c + LTE_SupportedBandListUTRA-FDD.c + LTE_SupportedBandListUTRA-TDD128.c + LTE_SupportedBandListUTRA-TDD384.c + LTE_SupportedBandListUTRA-TDD768.c + LTE_SupportedBand-NB-r13.c + LTE_SupportedBandNR-r15.c + LTE_SupportedBandUTRA-FDD.c + LTE_SupportedBandUTRA-TDD128.c + LTE_SupportedBandUTRA-TDD384.c + LTE_SupportedBandUTRA-TDD768.c + LTE_SupportedBandwidthCombinationSet-r10.c + LTE_SupportedOperatorDic-r15.c + LTE_SupportedUDC-r15.c + LTE_SystemInfoListGERAN.c + LTE_SystemInformationBlockPos-r15.c + LTE_SystemInformationBlockType10.c + LTE_SystemInformationBlockType11.c + LTE_SystemInformationBlockType12-r9.c + LTE_SystemInformationBlockType13-r9.c + LTE_SystemInformationBlockType14-NB-r13.c + LTE_SystemInformationBlockType14-r11.c + LTE_SystemInformationBlockType15-NB-r14.c + LTE_SystemInformationBlockType15-r11.c + LTE_SystemInformationBlockType16-NB-r13.c + LTE_SystemInformationBlockType16-r11.c + LTE_SystemInformationBlockType17-r12.c + LTE_SystemInformationBlockType18-r12.c + LTE_SystemInformationBlockType19-r12.c + LTE_SystemInformationBlockType1-BR-r13.c + LTE_SystemInformationBlockType1.c + LTE_SystemInformationBlockType1-MBMS-r14.c + LTE_SystemInformationBlockType1-NB.c + LTE_SystemInformationBlockType1-NB-v1350.c + LTE_SystemInformationBlockType1-NB-v1430.c + LTE_SystemInformationBlockType1-NB-v1450.c + LTE_SystemInformationBlockType1-NB-v1530.c + LTE_SystemInformationBlockType1-NB-v1610.c + LTE_SystemInformationBlockType1-v10j0-IEs.c + LTE_SystemInformationBlockType1-v10l0-IEs.c + LTE_SystemInformationBlockType1-v10x0-IEs.c + LTE_SystemInformationBlockType1-v1130-IEs.c + LTE_SystemInformationBlockType1-v1250-IEs.c + LTE_SystemInformationBlockType1-v12j0-IEs.c + LTE_SystemInformationBlockType1-v1310-IEs.c + LTE_SystemInformationBlockType1-v1320-IEs.c + LTE_SystemInformationBlockType1-v1350-IEs.c + LTE_SystemInformationBlockType1-v1360-IEs.c + LTE_SystemInformationBlockType1-v1430-IEs.c + LTE_SystemInformationBlockType1-v1450-IEs.c + LTE_SystemInformationBlockType1-v1530-IEs.c + LTE_SystemInformationBlockType1-v1540-IEs.c + LTE_SystemInformationBlockType1-v15g0-IEs.c + LTE_SystemInformationBlockType1-v1610-IEs.c + LTE_SystemInformationBlockType1-v890-IEs.c + LTE_SystemInformationBlockType1-v8h0-IEs.c + LTE_SystemInformationBlockType1-v920-IEs.c + LTE_SystemInformationBlockType1-v9e0-IEs.c + LTE_SystemInformationBlockType20-NB-r14.c + LTE_SystemInformationBlockType20-r13.c + LTE_SystemInformationBlockType21-r14.c + LTE_SystemInformationBlockType22-NB-r14.c + LTE_SystemInformationBlockType23-NB-r15.c + LTE_SystemInformationBlockType24-r15.c + LTE_SystemInformationBlockType25-r15.c + LTE_SystemInformationBlockType26a-r16.c + LTE_SystemInformationBlockType26-r15.c + LTE_SystemInformationBlockType27-NB-r16.c + LTE_SystemInformationBlockType27-r16.c + LTE_SystemInformationBlockType28-r16.c + LTE_SystemInformationBlockType29-r16.c + LTE_SystemInformationBlockType2.c + LTE_SystemInformationBlockType2-NB-r13.c + LTE_SystemInformationBlockType2-v10m0-IEs.c + LTE_SystemInformationBlockType2-v10n0-IEs.c + LTE_SystemInformationBlockType2-v13c0-IEs.c + LTE_SystemInformationBlockType2-v8h0-IEs.c + LTE_SystemInformationBlockType2-v9e0-IEs.c + LTE_SystemInformationBlockType2-v9i0-IEs.c + LTE_SystemInformationBlockType3.c + LTE_SystemInformationBlockType3-NB-r13.c + LTE_SystemInformationBlockType3-v10j0-IEs.c + LTE_SystemInformationBlockType3-v10l0-IEs.c + LTE_SystemInformationBlockType4.c + LTE_SystemInformationBlockType4-NB-r13.c + LTE_SystemInformationBlockType5.c + LTE_SystemInformationBlockType5-NB-r13.c + LTE_SystemInformationBlockType5-v10j0-IEs.c + LTE_SystemInformationBlockType5-v10l0-IEs.c + LTE_SystemInformationBlockType5-v13a0-IEs.c + LTE_SystemInformationBlockType5-v8h0-IEs.c + LTE_SystemInformationBlockType5-v9e0-IEs.c + LTE_SystemInformationBlockType6.c + LTE_SystemInformationBlockType6-v8h0-IEs.c + LTE_SystemInformationBlockType7.c + LTE_SystemInformationBlockType8.c + LTE_SystemInformationBlockType9.c + LTE_SystemInformation-BR-r13.c + LTE_SystemInformation.c + LTE_SystemInformation-MBMS-r14.c + LTE_SystemInformation-NB.c + LTE_SystemInformation-NB-r13-IEs.c + LTE_SystemInformation-r8-IEs.c + LTE_SystemInformation-v8a0-IEs.c + LTE_SystemInfoValueTagList-NB-r13.c + LTE_SystemInfoValueTagList-r13.c + LTE_SystemInfoValueTagSI-r13.c + LTE_SystemTimeInfoCDMA2000.c + LTE_TargetMBSFN-AreaList-r12.c + LTE_TargetMBSFN-Area-r12.c + LTE_TDD-Config.c + LTE_TDD-Config-NB-r15.c + LTE_TDD-ConfigSL-r12.c + LTE_TDD-Config-v1130.c + LTE_TDD-Config-v1430.c + LTE_TDD-Config-v1450.c + LTE_TDD-PUSCH-UpPTS-r14.c + LTE_TDD-UE-Capability-NB-r15.c + LTE_TDD-UE-Capability-NB-v1610.c + LTE_TDD-UL-DL-AlignmentOffset-NB-r15.c + LTE_TDM-AssistanceInfo-r11.c + LTE_TDM-PatternConfig-r15.c + LTE_ThresholdCDMA2000.c + LTE_ThresholdEUTRA.c + LTE_ThresholdEUTRA-v1250.c + LTE_ThresholdGERAN.c + LTE_ThresholdListNR-r15.c + LTE_ThresholdNR-r15.c + LTE_ThresholdUTRA.c + LTE_TimeAlignmentTimer.c + LTE_TimeReferenceInfo-r15.c + LTE_TimeSinceFailure-r11.c + LTE_TimeToTrigger.c + LTE_TimeUntilReconnection-r16.c + LTE_TMGI-r9.c + LTE_TPC-Index.c + LTE_TPC-PDCCH-Config.c + LTE_TPC-PDCCH-ConfigSCell-r13.c + LTE_T-PollRetransmit.c + LTE_T-PollRetransmit-NB-r13.c + LTE_TraceReference-r10.c + LTE_TrackingAreaCode-5GC-r15.c + LTE_TrackingAreaCode.c + LTE_TrackingAreaCodeList-r10.c + LTE_TrackingAreaCodeList-v1130.c + LTE_TrackingAreaCodeNR-r15.c + LTE_TrafficPatternInfoList-r14.c + LTE_TrafficPatternInfoList-v1530.c + LTE_TrafficPatternInfo-r14.c + LTE_TrafficPatternInfo-v1530.c + LTE_T-Reordering.c + LTE_T-Reselection.c + LTE_T-ReselectionEUTRA-CE-r13.c + LTE_T-Reselection-NB-r13.c + LTE_T-StatusProhibit.c + LTE_TunnelConfigLWIP-r13.c + LTE_Tx-ConfigIndex-r14.c + LTE_Tx-PreconfigIndex-r14.c + LTE_Tx-ResourcePoolMeasList-r14.c + LTE_UAC-AC1-SelectAssistInfo-r15.c + LTE_UAC-AC1-SelectAssistInfo-r16.c + LTE_UAC-BarringInfoSetIndex-r15.c + LTE_UAC-BarringInfoSetList-r15.c + LTE_UAC-BarringInfoSet-r15.c + LTE_UAC-Barring-NB-r16.c + LTE_UAC-BarringPerCatList-NB-r16.c + LTE_UAC-BarringPerCatList-r15.c + LTE_UAC-BarringPerCat-NB-r16.c + LTE_UAC-BarringPerCat-r15.c + LTE_UAC-BarringPerPLMN-List-r15.c + LTE_UAC-BarringPerPLMN-r15.c + LTE_UAC-Param-NB-r16.c + LTE_UDT-RestrictingPerPLMN-List-r13.c + LTE_UDT-RestrictingPerPLMN-r13.c + LTE_UDT-Restricting-r13.c + LTE_UEAssistanceInformation-r11.c + LTE_UEAssistanceInformation-r11-IEs.c + LTE_UEAssistanceInformation-v1430-IEs.c + LTE_UEAssistanceInformation-v1450-IEs.c + LTE_UEAssistanceInformation-v1530-IEs.c + LTE_UEAssistanceInformation-v1610-IEs.c + LTE_UE-BasedNetwPerfMeasParameters-r10.c + LTE_UE-BasedNetwPerfMeasParameters-v1250.c + LTE_UE-BasedNetwPerfMeasParameters-v1430.c + LTE_UE-BasedNetwPerfMeasParameters-v1530.c + LTE_UE-BasedNetwPerfMeasParameters-v1610.c + LTE_UECapabilityEnquiry.c + LTE_UECapabilityEnquiry-NB.c + LTE_UECapabilityEnquiry-NB-r13-IEs.c + LTE_UECapabilityEnquiry-r8-IEs.c + LTE_UECapabilityEnquiry-v1180-IEs.c + LTE_UECapabilityEnquiry-v1310-IEs.c + LTE_UECapabilityEnquiry-v1430-IEs.c + LTE_UECapabilityEnquiry-v1510-IEs.c + LTE_UECapabilityEnquiry-v1530-IEs.c + LTE_UECapabilityEnquiry-v1550-IEs.c + LTE_UECapabilityEnquiry-v1560-IEs.c + LTE_UECapabilityEnquiry-v1610-IEs.c + LTE_UECapabilityEnquiry-v8a0-IEs.c + LTE_UECapabilityInformation.c + LTE_UECapabilityInformation-NB.c + LTE_UECapabilityInformation-NB-Ext-r14-IEs.c + LTE_UECapabilityInformation-NB-r13-IEs.c + LTE_UECapabilityInformation-r8-IEs.c + LTE_UECapabilityInformation-v1250-IEs.c + LTE_UECapabilityInformation-v8a0-IEs.c + LTE_UE-Capability-NB-Ext-r14-IEs.c + LTE_UE-Capability-NB-r13.c + LTE_UE-Capability-NB-v1440-IEs.c + LTE_UE-Capability-NB-v14x0-IEs.c + LTE_UE-Capability-NB-v1530-IEs.c + LTE_UE-Capability-NB-v15x0-IEs.c + LTE_UE-Capability-NB-v1610-IEs.c + LTE_UE-CapabilityRAT-Container.c + LTE_UE-CapabilityRAT-ContainerList.c + LTE_UE-CapabilityRequest.c + LTE_UE-CategorySL-r15.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-r9.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1060.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1130.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1180.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1250.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1310.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1320.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1370.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1380.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1430.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1510.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1530.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1540.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1550.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1560.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v15a0.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1610.c + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1630.c + LTE_UE-EUTRA-Capability.c + LTE_UE-EUTRA-Capability-v1020-IEs.c + LTE_UE-EUTRA-Capability-v1060-IEs.c + LTE_UE-EUTRA-Capability-v1090-IEs.c + LTE_UE-EUTRA-Capability-v10c0-IEs.c + LTE_UE-EUTRA-Capability-v10f0-IEs.c + LTE_UE-EUTRA-Capability-v10i0-IEs.c + LTE_UE-EUTRA-Capability-v10j0-IEs.c + LTE_UE-EUTRA-Capability-v1130-IEs.c + LTE_UE-EUTRA-Capability-v1170-IEs.c + LTE_UE-EUTRA-Capability-v1180-IEs.c + LTE_UE-EUTRA-Capability-v11a0-IEs.c + LTE_UE-EUTRA-Capability-v11d0-IEs.c + LTE_UE-EUTRA-Capability-v11x0-IEs.c + LTE_UE-EUTRA-Capability-v1250-IEs.c + LTE_UE-EUTRA-Capability-v1260-IEs.c + LTE_UE-EUTRA-Capability-v1270-IEs.c + LTE_UE-EUTRA-Capability-v1280-IEs.c + LTE_UE-EUTRA-Capability-v12b0-IEs.c + LTE_UE-EUTRA-Capability-v12x0-IEs.c + LTE_UE-EUTRA-Capability-v1310-IEs.c + LTE_UE-EUTRA-Capability-v1320-IEs.c + LTE_UE-EUTRA-Capability-v1330-IEs.c + LTE_UE-EUTRA-Capability-v1340-IEs.c + LTE_UE-EUTRA-Capability-v1350-IEs.c + LTE_UE-EUTRA-Capability-v1360-IEs.c + LTE_UE-EUTRA-Capability-v1370-IEs.c + LTE_UE-EUTRA-Capability-v1380-IEs.c + LTE_UE-EUTRA-Capability-v1390-IEs.c + LTE_UE-EUTRA-Capability-v13e0a-IEs.c + LTE_UE-EUTRA-Capability-v13e0b-IEs.c + LTE_UE-EUTRA-Capability-v1430-IEs.c + LTE_UE-EUTRA-Capability-v1440-IEs.c + LTE_UE-EUTRA-Capability-v1450-IEs.c + LTE_UE-EUTRA-Capability-v1460-IEs.c + LTE_UE-EUTRA-Capability-v1470-IEs.c + LTE_UE-EUTRA-Capability-v14a0-IEs.c + LTE_UE-EUTRA-Capability-v14b0-IEs.c + LTE_UE-EUTRA-Capability-v14x0-IEs.c + LTE_UE-EUTRA-Capability-v1510-IEs.c + LTE_UE-EUTRA-Capability-v1520-IEs.c + LTE_UE-EUTRA-Capability-v1530-IEs.c + LTE_UE-EUTRA-Capability-v1540-IEs.c + LTE_UE-EUTRA-Capability-v1550-IEs.c + LTE_UE-EUTRA-Capability-v1560-IEs.c + LTE_UE-EUTRA-Capability-v1570-IEs.c + LTE_UE-EUTRA-Capability-v15a0-IEs.c + LTE_UE-EUTRA-Capability-v15x0-IEs.c + LTE_UE-EUTRA-Capability-v1610-IEs.c + LTE_UE-EUTRA-Capability-v1630-IEs.c + LTE_UE-EUTRA-Capability-v1650-IEs.c + LTE_UE-EUTRA-Capability-v1660-IEs.c + LTE_UE-EUTRA-Capability-v1690-IEs.c + LTE_UE-EUTRA-Capability-v16c0-IEs.c + LTE_UE-EUTRA-Capability-v920-IEs.c + LTE_UE-EUTRA-Capability-v940-IEs.c + LTE_UE-EUTRA-Capability-v9a0-IEs.c + LTE_UE-EUTRA-Capability-v9c0-IEs.c + LTE_UE-EUTRA-Capability-v9d0-IEs.c + LTE_UE-EUTRA-Capability-v9e0-IEs.c + LTE_UE-EUTRA-Capability-v9h0-IEs.c + LTE_UEInformationRequest-NB-r16.c + LTE_UEInformationRequest-NB-r16-IEs.c + LTE_UEInformationRequest-r9.c + LTE_UEInformationRequest-r9-IEs.c + LTE_UEInformationRequest-v1020-IEs.c + LTE_UEInformationRequest-v1130-IEs.c + LTE_UEInformationRequest-v1250-IEs.c + LTE_UEInformationRequest-v1530-IEs.c + LTE_UEInformationRequest-v930-IEs.c + LTE_UEInformationResponse-NB-r16.c + LTE_UEInformationResponse-NB-r16-IEs.c + LTE_UEInformationResponse-r9.c + LTE_UEInformationResponse-r9-IEs.c + LTE_UEInformationResponse-v1020-IEs.c + LTE_UEInformationResponse-v1130-IEs.c + LTE_UEInformationResponse-v1250-IEs.c + LTE_UEInformationResponse-v1530-IEs.c + LTE_UEInformationResponse-v1610-IEs.c + LTE_UEInformationResponse-v930-IEs.c + LTE_UEInformationResponse-v9e0-IEs.c + LTE_UEPagingCoverageInformation.c + LTE_UEPagingCoverageInformation-NB.c + LTE_UEPagingCoverageInformation-NB-IEs.c + LTE_UEPagingCoverageInformation-r13-IEs.c + LTE_UERadioAccessCapabilityInformation.c + LTE_UERadioAccessCapabilityInformation-NB.c + LTE_UERadioAccessCapabilityInformation-NB-IEs.c + LTE_UERadioAccessCapabilityInformation-NB-r14-IEs.c + LTE_UERadioAccessCapabilityInformation-NB-v1380-IEs.c + LTE_UERadioAccessCapabilityInformation-r8-IEs.c + LTE_UE-RadioPagingInfo-NB-r13.c + LTE_UE-RadioPagingInfo-r12.c + LTE_UERadioPagingInformation.c + LTE_UERadioPagingInformation-NB.c + LTE_UERadioPagingInformation-NB-IEs.c + LTE_UERadioPagingInformation-r12-IEs.c + LTE_UERadioPagingInformation-v1310-IEs.c + LTE_UERadioPagingInformation-v1610-IEs.c + LTE_UE-TimersAndConstants.c + LTE_UE-TimersAndConstants-NB-r13.c + LTE_UL-256QAM-perCC-Info-r14.c + LTE_UL-AM-RLC.c + LTE_UL-AM-RLC-NB-r13.c + LTE_UL-AM-RLC-r15.c + LTE_UL-CarrierConfigDedicated-NB-r13.c + LTE_UL-CCCH-Message.c + LTE_UL-CCCH-Message-NB.c + LTE_UL-CCCH-MessageType.c + LTE_UL-CCCH-MessageType-NB.c + LTE_UL-ConfigCommonList-NB-r14.c + LTE_UL-ConfigCommonList-NB-v1530.c + LTE_UL-ConfigCommonListTDD-NB-r15.c + LTE_UL-ConfigCommon-NB-r14.c + LTE_UL-ConfigCommon-NB-v1530.c + LTE_UL-ConfigCommonTDD-NB-r15.c + LTE_UL-CyclicPrefixLength.c + LTE_UL-DCCH-Message.c + LTE_UL-DCCH-Message-NB.c + LTE_UL-DCCH-MessageType.c + LTE_UL-DCCH-MessageType-NB.c + LTE_ULDedicatedMessageSegment-r16.c + LTE_ULDedicatedMessageSegment-r16-IEs.c + LTE_UL-DelayConfig-r13.c + LTE_UL-DelayValueConfig-r16.c + LTE_ULHandoverPreparationTransfer.c + LTE_ULHandoverPreparationTransfer-r8-IEs.c + LTE_ULHandoverPreparationTransfer-v8a0-IEs.c + LTE_ULInformationTransfer.c + LTE_ULInformationTransferIRAT-r16.c + LTE_ULInformationTransferIRAT-r16-IEs.c + LTE_ULInformationTransferMRDC-r15.c + LTE_ULInformationTransferMRDC-r15-IEs.c + LTE_ULInformationTransfer-NB.c + LTE_ULInformationTransfer-NB-r13-IEs.c + LTE_ULInformationTransfer-r16-IEs.c + LTE_ULInformationTransfer-r8-IEs.c + LTE_ULInformationTransfer-v8a0-IEs.c + LTE_UL-PDCP-DelayResultList-r13.c + LTE_UL-PDCP-DelayResult-r13.c + LTE_UL-PDCP-DelayValueResultList-r16.c + LTE_UL-PDCP-DelayValueResult-r16.c + LTE_UL-ReferenceSignalsNPUSCH-NB-r13.c + LTE_UL-ReferenceSignalsPUSCH.c + LTE_UL-UM-RLC.c + LTE_UplinkPowerControlAddSRS-r16.c + LTE_UplinkPowerControlCommon.c + LTE_UplinkPowerControlCommon-NB-r13.c + LTE_UplinkPowerControlCommonPSCell-r12.c + LTE_UplinkPowerControlCommonPUSCH-LessCell-v1430.c + LTE_UplinkPowerControlCommonSCell-r10.c + LTE_UplinkPowerControlCommonSCell-v1130.c + LTE_UplinkPowerControlCommonSCell-v1310.c + LTE_UplinkPowerControlCommon-v1020.c + LTE_UplinkPowerControlCommon-v1310.c + LTE_UplinkPowerControlCommon-v1530.c + LTE_UplinkPowerControlCommon-v1610.c + LTE_UplinkPowerControlDedicated.c + LTE_UplinkPowerControlDedicated-NB-r13.c + LTE_UplinkPowerControlDedicatedSCell-r10.c + LTE_UplinkPowerControlDedicatedSCell-v1310.c + LTE_UplinkPowerControlDedicatedSTTI-r15.c + LTE_UplinkPowerControlDedicated-v1020.c + LTE_UplinkPowerControlDedicated-v1130.c + LTE_UplinkPowerControlDedicated-v1250.c + LTE_UplinkPowerControlDedicated-v1530.c + LTE_UplinkPUSCH-LessPowerControlDedicated-v1430.c + LTE_V2X-BandCombinationParametersEUTRA-NR-v1630.c + LTE_V2X-BandCombinationParameters-r14.c + LTE_V2X-BandCombinationParameters-v1530.c + LTE_V2X-BandParametersEUTRA-NR-r16.c + LTE_V2X-BandParametersEUTRA-NR-v1630.c + LTE_V2X-BandParameters-r14.c + LTE_V2X-BandParameters-v1530.c + LTE_V2X-BandwidthClass-r14.c + LTE_V2X-BandwidthClassSL-r14.c + LTE_V2X-SupportedBandCombinationEUTRA-NR-r16.c + LTE_V2X-SupportedBandCombinationEUTRA-NR-v1630.c + LTE_V2X-SupportedBandCombination-r14.c + LTE_V2X-SupportedBandCombination-v1530.c + LTE_ValidityAreaList-r16.c + LTE_ValidityArea-r16.c + LTE_ValidityCellList-r16.c + LTE_VarANR-MeasConfig-NB-r16.c + LTE_VarANR-MeasReport-NB-r16.c + LTE_VarConditionalReconfiguration.c + LTE_VarConnEstFailReport-r11.c + LTE_VarLogMeasConfig-r10.c + LTE_VarLogMeasConfig-r11.c + LTE_VarLogMeasConfig-r12.c + LTE_VarLogMeasConfig-r15.c + LTE_VarLogMeasReport-r10.c + LTE_VarLogMeasReport-r11.c + LTE_VarMeasConfig.c + LTE_VarMeasIdleConfig-r15.c + LTE_VarMeasIdleConfig-r16.c + LTE_VarMeasIdleReport-r15.c + LTE_VarMeasIdleReport-r16.c + LTE_VarMeasReport.c + LTE_VarMeasReportList.c + LTE_VarMeasReportList-r12.c + LTE_VarMobilityHistoryReport-r12.c + LTE_VarPendingRnaUpdate-r15.c + LTE_VarRLF-Report-NB-r16.c + LTE_VarRLF-Report-r10.c + LTE_VarRLF-Report-r11.c + LTE_VarShortINACTIVE-MAC-Input-r15.c + LTE_VarShortMAC-Input.c + LTE_VarShortMAC-Input-NB-r13.c + LTE_VarShortResumeMAC-Input-NB-r13.c + LTE_VarShortResumeMAC-Input-r13.c + LTE_VarWLAN-MobilityConfig.c + LTE_VarWLAN-Status-r13.c + LTE_VictimSystemType-r11.c + LTE_VictimSystemType-v1610.c + LTE_VisitedCellInfoList-r12.c + LTE_VisitedCellInfo-r12.c + LTE_WayPointLocation-r15.c + LTE_WhiteCellListNR-r16.c + LTE_WhiteCellsToAddModList-r13.c + LTE_WhiteCellsToAddMod-r13.c + LTE_WidebandPRG-r16.c + LTE_WLAN-backhaulRate-r12.c + LTE_WLAN-BandIndicator-r13.c + LTE_WLAN-CarrierInfo-r13.c + LTE_WLAN-ChannelList-r13.c + LTE_WLAN-Channel-r13.c + LTE_WLANConnectionStatusReport-r13.c + LTE_WLANConnectionStatusReport-r13-IEs.c + LTE_WLANConnectionStatusReport-v1430-IEs.c + LTE_WLAN-Identifiers-r12.c + LTE_WLAN-Id-List-r12.c + LTE_WLAN-Id-List-r13.c + LTE_WLAN-IW-Parameters-r12.c + LTE_WLAN-IW-Parameters-v1310.c + LTE_WLAN-MobilityConfig-r13.c + LTE_WLAN-NameListConfig-r15.c + LTE_WLAN-NameList-r15.c + LTE_WLAN-Name-r15.c + LTE_WLAN-OffloadConfig-r12.c + LTE_WLAN-OffloadInfoPerPLMN-r12.c + LTE_WLAN-RSSI-Range-r13.c + LTE_WLAN-RTT-r15.c + LTE_WLAN-Status-r13.c + LTE_WLAN-Status-v1430.c + LTE_WLAN-SuspendConfig-r14.c + LTE_WUS-Config-NB-r15.c + LTE_WUS-ConfigPerCarrier-NB-r15.c + LTE_WUS-Config-r15.c + LTE_WUS-Config-v1560.c + LTE_WUS-Config-v1610.c + LTE_WUS-MaxDurationFactor-NB-r15.c + LTE_ZeroTxPowerCSI-RS-Conf-r12.c + LTE_ZeroTxPowerCSI-RS-r12.c + NativeEnumerated_aper.c + NativeEnumerated.c + NativeEnumerated_uper.c + NativeEnumerated_xer.c + NativeInteger_aper.c + NativeInteger.c + NativeInteger_print.c + NativeInteger_rfill.c + NativeInteger_uper.c + NativeInteger_xer.c + NULL_aper.c + NULL.c + NULL_print.c + NULL_rfill.c + NULL_uper.c + NULL_xer.c + ObjectDescriptor.c + OBJECT_IDENTIFIER.c + OBJECT_IDENTIFIER_print.c + OBJECT_IDENTIFIER_rfill.c + OBJECT_IDENTIFIER_xer.c + OCTET_STRING_aper.c + OCTET_STRING.c + OCTET_STRING_print.c + OCTET_STRING_rfill.c + OCTET_STRING_uper.c + OCTET_STRING_xer.c + OPEN_TYPE_aper.c + OPEN_TYPE.c + OPEN_TYPE_uper.c + OPEN_TYPE_xer.c + per_decoder.c + per_encoder.c + per_opentype.c + per_support.c + uper_decoder.c + uper_encoder.c + uper_opentype.c + uper_support.c + xer_decoder.c + xer_encoder.c + xer_support.c +) + +set(lte_rrc_headers + ANY.h + aper_decoder.h + aper_encoder.h + aper_opentype.h + aper_support.h + asn_application.h + asn_bit_data.h + asn_codecs.h + asn_codecs_prim.h + asn_config.h + asn_internal.h + asn_ioc.h + asn_random_fill.h + asn_SEQUENCE_OF.h + asn_SET_OF.h + asn_system.h + ber_tlv_length.h + ber_tlv_tag.h + BIT_STRING.h + BOOLEAN.h + constraints.h + constr_CHOICE.h + constr_SEQUENCE.h + constr_SEQUENCE_OF.h + constr_SET_OF.h + constr_TYPE.h + GraphicString.h + INTEGER.h + LTE_AB-Config-NB-r13.h + LTE_AB-ConfigPLMN-NB-r13.h + LTE_AbsoluteTimeInfo-r10.h + LTE_AC-BarringConfig1XRTT-r9.h + LTE_AC-BarringConfig.h + LTE_AC-BarringPerPLMN-List-r12.h + LTE_AC-BarringPerPLMN-r12.h + LTE_AccessStratumRelease.h + LTE_AccessStratumRelease-NB-r13.h + LTE_ACDC-BarringForCommon-r13.h + LTE_ACDC-BarringPerPLMN-List-r13.h + LTE_ACDC-BarringPerPLMN-r13.h + LTE_ACK-NACK-NumRepetitions-NB-r13.h + LTE_AdditionalBandInfoList-NB-r14.h + LTE_AdditionalReestabInfo.h + LTE_AdditionalReestabInfoList.h + LTE_AdditionalSI-Info-r9.h + LTE_AdditionalSpectrumEmission.h + LTE_AdditionalSpectrumEmissionNR-r15.h + LTE_AdditionalSpectrumEmission-v10l0.h + LTE_AffectedCarrierFreqCombInfoMRDC-r15.h + LTE_AffectedCarrierFreqCombList-r11.h + LTE_AffectedCarrierFreqCombList-r13.h + LTE_AffectedCarrierFreqCombNR-r15.h + LTE_AffectedCarrierFreqComb-r11.h + LTE_AffectedCarrierFreqComb-r13.h + LTE_AffectedCarrierFreqComb-r15.h + LTE_AffectedCarrierFreqList-r11.h + LTE_AffectedCarrierFreqList-v1310.h + LTE_AffectedCarrierFreq-r11.h + LTE_AffectedCarrierFreq-v1310.h + LTE_AllowedMeasBandwidth.h + LTE_Alpha-r12.h + LTE_AltTTT-CellsToAddModList-r12.h + LTE_AltTTT-CellsToAddMod-r12.h + LTE_AMF-Identifier-r15.h + LTE_ANR-BlackCellList-NB-r16.h + LTE_ANR-CarrierList-NB-r16.h + LTE_ANR-Carrier-NB-r16.h + LTE_ANR-MeasConfig-NB-r16.h + LTE_ANR-MeasReport-NB-r16.h + LTE_ANR-MeasResult-NB-r16.h + LTE_AntennaInfoCommon.h + LTE_AntennaInfoDedicated.h + LTE_AntennaInfoDedicated-r10.h + LTE_AntennaInfoDedicatedSTTI-r15.h + LTE_AntennaInfoDedicated-v10i0.h + LTE_AntennaInfoDedicated-v1250.h + LTE_AntennaInfoDedicated-v1430.h + LTE_AntennaInfoDedicated-v1530.h + LTE_AntennaInfoDedicated-v920.h + LTE_AntennaInfoUL-r10.h + LTE_AntennaInfoUL-STTI-r15.h + LTE_AreaConfiguration-r10.h + LTE_AreaConfiguration-v1130.h + LTE_ARFCN-ValueCDMA2000.h + LTE_ARFCN-ValueEUTRA.h + LTE_ARFCN-ValueEUTRA-r9.h + LTE_ARFCN-ValueEUTRA-v9e0.h + LTE_ARFCN-ValueGERAN.h + LTE_ARFCN-ValueNR-r15.h + LTE_ARFCN-ValueUTRA.h + LTE_AS-Config.h + LTE_AS-Config-NB.h + LTE_AS-ConfigNR-r15.h + LTE_AS-ConfigNR-v1570.h + LTE_AS-ConfigNR-v1620.h + LTE_AS-Config-v10j0.h + LTE_AS-Config-v1250.h + LTE_AS-Config-v1320.h + LTE_AS-Config-v13c0.h + LTE_AS-Config-v1430.h + LTE_AS-Config-v1550.h + LTE_AS-Config-v9e0.h + LTE_AS-Context.h + LTE_AS-Context-NB.h + LTE_AS-Context-v1130.h + LTE_AS-Context-v1320.h + LTE_AS-Context-v1610.h + LTE_AS-Context-v1620.h + LTE_AS-Context-v1630.h + LTE_asn_constant.h + LTE_AUL-Config-r15.h + LTE_BandclassCDMA2000.h + LTE_BandClassInfoCDMA2000.h + LTE_BandClassListCDMA2000.h + LTE_BandClassPriority1XRTT.h + LTE_BandClassPriorityHRPD.h + LTE_BandClassPriorityList1XRTT.h + LTE_BandClassPriorityListHRPD.h + LTE_BandCombinationListEUTRA-r10.h + LTE_BandCombinationList-r14.h + LTE_BandCombinationParametersExt-r10.h + LTE_BandCombinationParameters-r10.h + LTE_BandCombinationParameters-r11.h + LTE_BandCombinationParameters-r13.h + LTE_BandCombinationParameters-v1090.h + LTE_BandCombinationParameters-v10i0.h + LTE_BandCombinationParameters-v1130.h + LTE_BandCombinationParameters-v1250.h + LTE_BandCombinationParameters-v1270.h + LTE_BandCombinationParameters-v1320.h + LTE_BandCombinationParameters-v1380.h + LTE_BandCombinationParameters-v1390.h + LTE_BandCombinationParameters-v1430.h + LTE_BandCombinationParameters-v1450.h + LTE_BandCombinationParameters-v1470.h + LTE_BandCombinationParameters-v14b0.h + LTE_BandCombinationParameters-v1530.h + LTE_BandCombinationParameters-v1610.h + LTE_BandCombinationParameters-v1630.h + LTE_BandCombination-r14.h + LTE_BandIndication-r14.h + LTE_BandIndicatorGERAN.h + LTE_BandInfoEUTRA.h + LTE_BandListENDC-r16.h + LTE_BandListEUTRA.h + LTE_BandParametersDL-r10.h + LTE_BandParametersDL-r13.h + LTE_BandParameters-r10.h + LTE_BandParameters-r11.h + LTE_BandParameters-r13.h + LTE_BandParametersRxSL-r14.h + LTE_BandParametersTxSL-r14.h + LTE_BandParametersUL-r10.h + LTE_BandParametersUL-r13.h + LTE_BandParameters-v1090.h + LTE_BandParameters-v10i0.h + LTE_BandParameters-v1130.h + LTE_BandParameters-v1270.h + LTE_BandParameters-v1320.h + LTE_BandParameters-v1380.h + LTE_BandParameters-v1430.h + LTE_BandParameters-v1450.h + LTE_BandParameters-v1470.h + LTE_BandParameters-v14b0.h + LTE_BandParameters-v1530.h + LTE_BandParameters-v1610.h + LTE_BarringPerACDC-CategoryList-r13.h + LTE_BarringPerACDC-Category-r13.h + LTE_BCCH-BCH-Message.h + LTE_BCCH-BCH-Message-MBMS.h + LTE_BCCH-BCH-Message-NB.h + LTE_BCCH-BCH-Message-TDD-NB.h + LTE_BCCH-BCH-MessageType.h + LTE_BCCH-BCH-MessageType-MBMS-r14.h + LTE_BCCH-BCH-MessageType-NB.h + LTE_BCCH-BCH-MessageType-TDD-NB-r15.h + LTE_BCCH-Config.h + LTE_BCCH-Config-NB-r13.h + LTE_BCCH-Config-v1310.h + LTE_BCCH-DL-SCH-Message-BR.h + LTE_BCCH-DL-SCH-Message.h + LTE_BCCH-DL-SCH-Message-MBMS.h + LTE_BCCH-DL-SCH-Message-NB.h + LTE_BCCH-DL-SCH-MessageType-BR-r13.h + LTE_BCCH-DL-SCH-MessageType.h + LTE_BCCH-DL-SCH-MessageType-MBMS-r14.h + LTE_BCCH-DL-SCH-MessageType-NB.h + LTE_BeamMeasConfigIdleNR-r16.h + LTE_BlackCellsToAddMod.h + LTE_BlackCellsToAddModList.h + LTE_BLER-Range-r12.h + LTE_BLER-Result-r12.h + LTE_BT-NameListConfig-r15.h + LTE_BT-NameList-r15.h + LTE_BT-Name-r15.h + LTE_BW-Preference-r14.h + LTE_CA-BandwidthClass-r10.h + LTE_CA-MIMO-ParametersDL-r10.h + LTE_CA-MIMO-ParametersDL-r13.h + LTE_CA-MIMO-ParametersDL-r15.h + LTE_CA-MIMO-ParametersDL-v10i0.h + LTE_CA-MIMO-ParametersDL-v1270.h + LTE_CA-MIMO-ParametersUL-r10.h + LTE_CA-MIMO-ParametersUL-r15.h + LTE_CandidateCellInfoList-r10.h + LTE_CandidateCellInfo-r10.h + LTE_CandidateServingFreqListNR-r15.h + LTE_CarrierBandwidthEUTRA.h + LTE_CarrierConfigDedicated-NB-r13.h + LTE_CarrierFreqCDMA2000.h + LTE_CarrierFreqEUTRA.h + LTE_CarrierFreqEUTRA-NB-r16.h + LTE_CarrierFreqEUTRA-v9e0.h + LTE_CarrierFreqGERAN.h + LTE_CarrierFreqInfoUTRA-FDD-v8h0.h + LTE_CarrierFreqInfoUTRA-v1250.h + LTE_CarrierFreqListEUTRA-NB-r16.h + LTE_CarrierFreqListMBMS-r11.h + LTE_CarrierFreqListNBIOT-r16.h + LTE_CarrierFreqListNR-r15.h + LTE_CarrierFreqListNR-v1610.h + LTE_CarrierFreqListUTRA-FDD-Ext-r12.h + LTE_CarrierFreqListUTRA-FDD.h + LTE_CarrierFreqListUTRA-TDD-Ext-r12.h + LTE_CarrierFreqListUTRA-TDD.h + LTE_CarrierFreqListUTRA-TDD-r10.h + LTE_CarrierFreqNBIOT-r16.h + LTE_CarrierFreq-NB-r13.h + LTE_CarrierFreq-NB-v1550.h + LTE_CarrierFreqNR-r15.h + LTE_CarrierFreqNR-v1610.h + LTE_CarrierFreqsGERAN.h + LTE_CarrierFreqsGERAN-NB-r16.h + LTE_CarrierFreqsInfoGERAN.h + LTE_CarrierFreqsInfoListGERAN.h + LTE_CarrierFreqsListGERAN-NB-r16.h + LTE_CarrierFreqUTRA-FDD-Ext-r12.h + LTE_CarrierFreqUTRA-FDD.h + LTE_CarrierFreqUTRA-TDD.h + LTE_CarrierFreqUTRA-TDD-r12.h + LTE_CarrierInfoNR-r15.h + LTE_CDMA2000-Type.h + LTE_CellAccessRelatedInfo-5GC-r15.h + LTE_CellAccessRelatedInfo-r14.h + LTE_CellChangeOrder.h + LTE_CellGlobalIdCDMA2000.h + LTE_CellGlobalIdEUTRA.h + LTE_CellGlobalIdGERAN.h + LTE_CellGlobalIdList-r10.h + LTE_CellGlobalIdNR-r16.h + LTE_CellGlobalIdUTRA.h + LTE_CellIdentity-5GC-r15.h + LTE_CellIdentity.h + LTE_CellIdentityNR-r15.h + LTE_CellIndex.h + LTE_CellIndexList.h + LTE_CellInfoGERAN-r9.h + LTE_CellInfoListGERAN-r9.h + LTE_CellInfoListUTRA-FDD-r9.h + LTE_CellInfoListUTRA-TDD-r10.h + LTE_CellInfoListUTRA-TDD-r9.h + LTE_CellInfoUTRA-FDD-r9.h + LTE_CellInfoUTRA-TDD-r10.h + LTE_CellInfoUTRA-TDD-r9.h + LTE_CellListNR-r16.h + LTE_CellList-r15.h + LTE_CellReselectionInfoCommon-NB-v1450.h + LTE_CellReselectionInfoCommon-v1460.h + LTE_CellReselectionInfoHSDN-r15.h + LTE_CellReselectionParametersCDMA2000.h + LTE_CellReselectionParametersCDMA2000-r11.h + LTE_CellReselectionParametersCDMA2000-v920.h + LTE_CellReselectionPriority.h + LTE_CellReselectionServingFreqInfo-v1310.h + LTE_CellReselectionServingFreqInfo-v1610.h + LTE_CellReselectionSubPriority-r13.h + LTE_CellSelectionInfoCE1-r13.h + LTE_CellSelectionInfoCE1-v1360.h + LTE_CellSelectionInfoCE-r13.h + LTE_CellSelectionInfoCE-v1530.h + LTE_CellSelectionInfo-NB-v1350.h + LTE_CellSelectionInfo-NB-v1430.h + LTE_CellSelectionInfoNFreq-r13.h + LTE_CellSelectionInfo-v1130.h + LTE_CellSelectionInfo-v1250.h + LTE_CellSelectionInfo-v920.h + LTE_CellsToAddModCDMA2000.h + LTE_CellsToAddMod.h + LTE_CellsToAddModListCDMA2000.h + LTE_CellsToAddModList.h + LTE_CellsToAddModListNR-r15.h + LTE_CellsToAddModListNR-r16.h + LTE_CellsToAddModListUTRA-FDD.h + LTE_CellsToAddModListUTRA-TDD.h + LTE_CellsToAddModList-v1610.h + LTE_CellsToAddModNR-r15.h + LTE_CellsToAddModNR-r16.h + LTE_CellsToAddModUTRA-FDD.h + LTE_CellsToAddModUTRA-TDD.h + LTE_CellsToAddMod-v1610.h + LTE_CellsTriggeredList.h + LTE_Cell-ToAddMod-r12.h + LTE_CE-MultiTB-Parameters-r16.h + LTE_CE-Parameters-r13.h + LTE_CE-Parameters-v1320.h + LTE_CE-Parameters-v1350.h + LTE_CE-Parameters-v1370.h + LTE_CE-Parameters-v1380.h + LTE_CE-Parameters-v1430.h + LTE_CE-PDSCH-MultiTB-Config-r16.h + LTE_CE-PUSCH-MultiTB-Config-r16.h + LTE_CE-ResourceResvParameters-r16.h + LTE_CFI-Config-r15.h + LTE_CFI-PatternConfig-r15.h + LTE_CGI-InfoNR-r15.h + LTE_ChannelRasterOffset-NB-r13.h + LTE_CIOT-EPS-OptimisationInfo-r13.h + LTE_CIOT-OptimisationPLMN-r13.h + LTE_CipheringAlgorithm-r12.h + LTE_CommonSF-AllocPatternList-r9.h + LTE_CommonSF-AllocPatternList-v1430.h + LTE_CommonSF-AllocPatternList-v1610.h + LTE_ConditionalReconfiguration-r16.h + LTE_CondReconfigurationAddMod-r16.h + LTE_CondReconfigurationId-r16.h + LTE_CondReconfigurationToAddModList-r16.h + LTE_CondReconfigurationToRemoveList-r16.h + LTE_CondReconfigurationTriggerEUTRA-r16.h + LTE_ConfigRestrictInfoDAPS-r16.h + LTE_ConfigRestrictInfoDAPS-v1630.h + LTE_ConnEstFailReport-r11.h + LTE_CounterCheck.h + LTE_CounterCheck-r8-IEs.h + LTE_CounterCheckResponse.h + LTE_CounterCheckResponse-r8-IEs.h + LTE_CounterCheckResponse-v1530-IEs.h + LTE_CounterCheckResponse-v8a0-IEs.h + LTE_CounterCheck-v1530-IEs.h + LTE_CounterCheck-v8a0-IEs.h + LTE_CountingRequestInfo-r10.h + LTE_CountingRequestList-r10.h + LTE_CountingResponseInfo-r10.h + LTE_CountingResponseList-r10.h + LTE_CQI-NPDCCH-NB-r14.h + LTE_CQI-NPDCCH-Short-NB-r14.h + LTE_CQI-ReportAperiodicHybrid-r14.h + LTE_CQI-ReportAperiodicProc-r11.h + LTE_CQI-ReportAperiodicProc-v1310.h + LTE_CQI-ReportAperiodic-r10.h + LTE_CQI-ReportAperiodic-v1250.h + LTE_CQI-ReportAperiodic-v1310.h + LTE_CQI-ReportBothProc-r11.h + LTE_CQI-ReportBoth-r11.h + LTE_CQI-ReportBoth-v1250.h + LTE_CQI-ReportBoth-v1310.h + LTE_CQI-ReportConfig.h + LTE_CQI-ReportConfig-r10.h + LTE_CQI-ReportConfig-r15.h + LTE_CQI-ReportConfigSCell-r10.h + LTE_CQI-ReportConfigSCell-r15.h + LTE_CQI-ReportConfig-v1130.h + LTE_CQI-ReportConfig-v1250.h + LTE_CQI-ReportConfig-v1310.h + LTE_CQI-ReportConfig-v1320.h + LTE_CQI-ReportConfig-v1430.h + LTE_CQI-ReportConfig-v1530.h + LTE_CQI-ReportConfig-v920.h + LTE_CQI-ReportModeAperiodic.h + LTE_CQI-ReportPeriodic.h + LTE_CQI-ReportPeriodicProcExtId-r11.h + LTE_CQI-ReportPeriodicProcExt-r11.h + LTE_CQI-ReportPeriodicProcExtToAddModList-r11.h + LTE_CQI-ReportPeriodicProcExtToReleaseList-r11.h + LTE_CQI-ReportPeriodic-r10.h + LTE_CQI-ReportPeriodicSCell-r15.h + LTE_CQI-ReportPeriodic-v1130.h + LTE_CQI-ReportPeriodic-v1310.h + LTE_CQI-ReportPeriodic-v1320.h + LTE_CQI-ShortConfigSCell-r15.h + LTE_CRI-ConfigIndex-r13.h + LTE_CRI-ReportConfig-r13.h + LTE_C-RNTI.h + LTE_CrossCarrierSchedulingConfigLAA-UL-r14.h + LTE_CrossCarrierSchedulingConfig-r10.h + LTE_CrossCarrierSchedulingConfig-r13.h + LTE_CRS-AssistanceInfoList-r11.h + LTE_CRS-AssistanceInfoList-r13.h + LTE_CRS-AssistanceInfoList-r15.h + LTE_CRS-AssistanceInfo-r11.h + LTE_CRS-AssistanceInfo-r13.h + LTE_CRS-AssistanceInfo-r15.h + LTE_CRS-ChEstMPDCCH-ConfigCommon-r16.h + LTE_CRS-ChEstMPDCCH-ConfigDedicated-r16.h + LTE_CSFBParametersRequestCDMA2000.h + LTE_CSFBParametersRequestCDMA2000-r8-IEs.h + LTE_CSFBParametersRequestCDMA2000-v8a0-IEs.h + LTE_CSFBParametersResponseCDMA2000.h + LTE_CSFBParametersResponseCDMA2000-r8-IEs.h + LTE_CSFBParametersResponseCDMA2000-v8a0-IEs.h + LTE_CSFB-RegistrationParam1XRTT.h + LTE_CSFB-RegistrationParam1XRTT-v920.h + LTE_CSG-AllowedReportingCells-r9.h + LTE_CSG-Identity.h + LTE_CSG-ProximityIndicationParameters-r9.h + LTE_CSI-IM-ConfigExt-r12.h + LTE_CSI-IM-ConfigId-r11.h + LTE_CSI-IM-ConfigId-r12.h + LTE_CSI-IM-ConfigId-r13.h + LTE_CSI-IM-ConfigId-v1250.h + LTE_CSI-IM-ConfigId-v1310.h + LTE_CSI-IM-Config-r11.h + LTE_CSI-IM-ConfigToAddModListExt-r13.h + LTE_CSI-IM-ConfigToAddModList-r11.h + LTE_CSI-IM-ConfigToReleaseListExt-r13.h + LTE_CSI-IM-ConfigToReleaseList-r11.h + LTE_CSI-ProcessId-r11.h + LTE_CSI-Process-r11.h + LTE_CSI-ProcessToAddModList-r11.h + LTE_CSI-ProcessToReleaseList-r11.h + LTE_CSI-RS-ConfigBeamformed-r13.h + LTE_CSI-RS-ConfigBeamformed-r14.h + LTE_CSI-RS-ConfigBeamformed-v1430.h + LTE_CSI-RS-ConfigEMIMO2-r14.h + LTE_CSI-RS-ConfigEMIMO-Hybrid-r14.h + LTE_CSI-RS-ConfigEMIMO-r13.h + LTE_CSI-RS-ConfigEMIMO-v1430.h + LTE_CSI-RS-ConfigEMIMO-v1480.h + LTE_CSI-RS-ConfigEMIMO-v1530.h + LTE_CSI-RS-ConfigNonPrecoded-r13.h + LTE_CSI-RS-ConfigNonPrecoded-v1430.h + LTE_CSI-RS-ConfigNonPrecoded-v1480.h + LTE_CSI-RS-ConfigNonPrecoded-v1530.h + LTE_CSI-RS-ConfigNZP-Activation-r14.h + LTE_CSI-RS-ConfigNZP-EMIMO-r13.h + LTE_CSI-RS-ConfigNZP-EMIMO-v1430.h + LTE_CSI-RS-ConfigNZPId-r11.h + LTE_CSI-RS-ConfigNZPId-r13.h + LTE_CSI-RS-ConfigNZPId-v1310.h + LTE_CSI-RS-ConfigNZP-r11.h + LTE_CSI-RS-ConfigNZPToAddModListExt-r13.h + LTE_CSI-RS-ConfigNZPToAddModList-r11.h + LTE_CSI-RS-ConfigNZPToAddModList-r15.h + LTE_CSI-RS-ConfigNZPToReleaseListExt-r13.h + LTE_CSI-RS-ConfigNZPToReleaseList-r11.h + LTE_CSI-RS-ConfigNZPToReleaseList-r15.h + LTE_CSI-RS-Config-NZP-v1430.h + LTE_CSI-RS-Config-r10.h + LTE_CSI-RS-Config-r15.h + LTE_CSI-RS-Config-v1250.h + LTE_CSI-RS-Config-v1310.h + LTE_CSI-RS-Config-v1430.h + LTE_CSI-RS-Config-v1480.h + LTE_CSI-RS-Config-v1530.h + LTE_CSI-RS-ConfigZP-ApList-r14.h + LTE_CSI-RS-ConfigZPId-r11.h + LTE_CSI-RS-ConfigZP-r11.h + LTE_CSI-RS-ConfigZPToAddModList-r11.h + LTE_CSI-RS-ConfigZPToReleaseList-r11.h + LTE_CSI-RSRP-Range-r12.h + LTE_CSI-RS-TriggeredList-r12.h + LTE_DAPS-Config-r16.h + LTE_DAPS-PowerCoordinationInfo-r16.h + LTE_DataBLER-MCH-ResultList-r12.h + LTE_DataBLER-MCH-Result-r12.h + LTE_DataInactivityTimer-r14.h + LTE_DCI7-CandidatesPerAL-SPDCCH-r15.h + LTE_DCI7-Candidates-r15.h + LTE_DC-Parameters-r12.h + LTE_DC-Parameters-v1310.h + LTE_DedicatedInfoCDMA2000.h + LTE_DedicatedInfoF1c-r16.h + LTE_DedicatedInfoNAS.h + LTE_DelayBudgetReport-r14.h + LTE_DeltaFList-PUCCH.h + LTE_DeltaFList-SPUCCH-r15.h + LTE_DeltaTxD-OffsetListPUCCH-r10.h + LTE_DeltaTxD-OffsetListPUCCH-v1130.h + LTE_DeltaTxD-OffsetListSPUCCH-r15.h + LTE_DL-AM-RLC.h + LTE_DL-AM-RLC-NB-r13.h + LTE_DL-AM-RLC-r15.h + LTE_DL-Bitmap-NB-r13.h + LTE_DL-CarrierConfigCommon-NB-r14.h + LTE_DL-CarrierConfigDedicated-NB-r13.h + LTE_DL-CCCH-Message.h + LTE_DL-CCCH-Message-NB.h + LTE_DL-CCCH-MessageType.h + LTE_DL-CCCH-MessageType-NB.h + LTE_DL-ConfigCommonList-NB-r14.h + LTE_DL-ConfigCommon-NB-r14.h + LTE_DL-DCCH-Message.h + LTE_DL-DCCH-Message-NB.h + LTE_DL-DCCH-MessageType.h + LTE_DL-DCCH-MessageType-NB.h + LTE_DLDedicatedMessageSegment-r16.h + LTE_DLDedicatedMessageSegment-r16-IEs.h + LTE_DL-GapConfig-NB-r13.h + LTE_DL-GapConfig-NB-v1530.h + LTE_DLInformationTransfer.h + LTE_DLInformationTransfer-NB.h + LTE_DLInformationTransfer-NB-r13-IEs.h + LTE_DLInformationTransfer-r15-IEs.h + LTE_DLInformationTransfer-r8-IEs.h + LTE_DLInformationTransfer-v1610-IEs.h + LTE_DLInformationTransfer-v8a0-IEs.h + LTE_DL-UL-CCs-r15.h + LTE_DL-UM-RLC.h + LTE_DL-UM-RLC-r15.h + LTE_DMRS-Config-r11.h + LTE_DMRS-Config-v1310.h + LTE_DRB-CountInfo.h + LTE_DRB-CountInfoListExt-r15.h + LTE_DRB-CountInfoList.h + LTE_DRB-CountMSB-Info.h + LTE_DRB-CountMSB-InfoListExt-r15.h + LTE_DRB-CountMSB-InfoList.h + LTE_DRB-Identity.h + LTE_DRB-InfoListSCG-r12.h + LTE_DRB-InfoListSCG-r15.h + LTE_DRB-InfoSCG-r12.h + LTE_DRB-ToAddMod.h + LTE_DRB-ToAddModList.h + LTE_DRB-ToAddModList-NB-r13.h + LTE_DRB-ToAddModList-r15.h + LTE_DRB-ToAddModListSCG-r12.h + LTE_DRB-ToAddModListSCG-r15.h + LTE_DRB-ToAddMod-NB-r13.h + LTE_DRB-ToAddModSCG-r12.h + LTE_DRB-ToReleaseList.h + LTE_DRB-ToReleaseList-NB-r13.h + LTE_DRB-ToReleaseList-r15.h + LTE_DRX-Config.h + LTE_DRX-Config-NB-r13.h + LTE_DRX-Config-r13.h + LTE_DRX-Config-r15.h + LTE_DRX-Config-v1130.h + LTE_DRX-Config-v1310.h + LTE_EAB-ConfigPLMN-r11.h + LTE_EAB-Config-r11.h + LTE_E-CSFB-r9.h + LTE_EDT-PRACH-ParametersCE-r15.h + LTE_EDT-TBS-InfoList-NB-r15.h + LTE_EDT-TBS-NB-r15.h + LTE_EIMTA-MainConfig-r12.h + LTE_EIMTA-MainConfigServCell-r12.h + LTE_Enable256QAM-r14.h + LTE_EPDCCH-Config-r11.h + LTE_EPDCCH-SetConfigId-r11.h + LTE_EPDCCH-SetConfig-r11.h + LTE_EPDCCH-SetConfigToAddModList-r11.h + LTE_EPDCCH-SetConfigToReleaseList-r11.h + LTE_EstablishmentCause-5GC-r15.h + LTE_EstablishmentCause.h + LTE_EstablishmentCause-NB-r13.h + LTE_EthernetHeaderCompression-r16.h + LTE_EUTRA-5GC-Parameters-r15.h + LTE_EUTRA-5GC-Parameters-v1610.h + LTE_EUTRA-CarrierList-r15.h + LTE_ExplicitListOfARFCNs.h + LTE_EXTERNAL.h + LTE_FailedLogicalChannelIdentity-r16.h + LTE_FailedLogicalChannelInfo-r15.h + LTE_FailureInformation-r15.h + LTE_FailureInformation-r16.h + LTE_FailureInformation-r16-IEs.h + LTE_FailureReportMCG-r16.h + LTE_FailureReportSCG-NR-r15.h + LTE_FailureReportSCG-r12.h + LTE_FailureReportSCG-v12d0.h + LTE_FeatureSetDL-PerCC-Id-r15.h + LTE_FeatureSetDL-PerCC-r15.h + LTE_FeatureSetDL-r15.h + LTE_FeatureSetDL-v1550.h + LTE_FeatureSetsEUTRA-r15.h + LTE_FeatureSetUL-PerCC-Id-r15.h + LTE_FeatureSetUL-PerCC-r15.h + LTE_FeatureSetUL-r15.h + LTE_FeMBMS-Unicast-Parameters-r14.h + LTE_FilterCoefficient.h + LTE_FlightPathInfoReportConfig-r15.h + LTE_FlightPathInfoReport-r15.h + LTE_Format4-resource-r13.h + LTE_Format5-resource-r13.h + LTE_FreqBandIndicator.h + LTE_FreqBandIndicatorListEUTRA-r12.h + LTE_FreqBandIndicator-NB-r13.h + LTE_FreqBandIndicatorNR-r15.h + LTE_FreqBandIndicator-r11.h + LTE_FreqBandIndicator-UTRA-FDD.h + LTE_FreqBandIndicator-v9e0.h + LTE_FreqHoppingParameters-r13.h + LTE_FreqPriorityEUTRA.h + LTE_FreqPriorityEUTRA-r12.h + LTE_FreqPriorityEUTRA-v1310.h + LTE_FreqPriorityEUTRA-v9e0.h + LTE_FreqPriorityListEUTRA.h + LTE_FreqPriorityListEUTRA-v1310.h + LTE_FreqPriorityListExtEUTRA-r12.h + LTE_FreqPriorityListExtEUTRA-v1310.h + LTE_FreqPriorityListNR-r15.h + LTE_FreqPriorityListUTRA-FDD.h + LTE_FreqPriorityListUTRA-TDD.h + LTE_FreqPriorityNR-r15.h + LTE_FreqPriorityUTRA-FDD.h + LTE_FreqPriorityUTRA-TDD.h + LTE_FreqsPriorityGERAN.h + LTE_FreqsPriorityListGERAN.h + LTE_GNSS-ID-r15.h + LTE_Guardband-NB-r13.h + LTE_GuardbandTDD-NB-r15.h + LTE_GWUS-Config-NB-r16.h + LTE_GWUS-Config-r16.h + LTE_GWUS-GroupNarrowBandList-r16.h + LTE_GWUS-GroupsForServiceList-NB-r16.h + LTE_GWUS-GroupsForServiceList-r16.h + LTE_GWUS-NumGroupsList-NB-r16.h + LTE_GWUS-NumGroupsList-r16.h + LTE_GWUS-NumGroups-NB-r16.h + LTE_GWUS-NumGroups-r16.h + LTE_GWUS-Paging-ProbThresh-NB-r16.h + LTE_GWUS-PagingProbThresh-r16.h + LTE_GWUS-ProbThreshList-NB-r16.h + LTE_GWUS-ProbThreshList-r16.h + LTE_GWUS-ResourceConfig-NB-r16.h + LTE_GWUS-ResourceConfig-r16.h + LTE_GWUS-TimeParameters-r16.h + LTE_HandoverCommand.h + LTE_HandoverCommand-r8-IEs.h + LTE_HandoverFromEUTRAPreparationRequest.h + LTE_HandoverFromEUTRAPreparationRequest-r8-IEs.h + LTE_HandoverFromEUTRAPreparationRequest-v1020-IEs.h + LTE_HandoverFromEUTRAPreparationRequest-v890-IEs.h + LTE_HandoverFromEUTRAPreparationRequest-v920-IEs.h + LTE_Handover.h + LTE_HandoverPreparationInformation.h + LTE_HandoverPreparationInformation-NB-Ext-r14-IEs.h + LTE_HandoverPreparationInformation-NB.h + LTE_HandoverPreparationInformation-NB-IEs.h + LTE_HandoverPreparationInformation-NB-v1380-IEs.h + LTE_HandoverPreparationInformation-r8-IEs.h + LTE_HandoverPreparationInformation-v10j0-IEs.h + LTE_HandoverPreparationInformation-v10x0-IEs.h + LTE_HandoverPreparationInformation-v1130-IEs.h + LTE_HandoverPreparationInformation-v1250-IEs.h + LTE_HandoverPreparationInformation-v1320-IEs.h + LTE_HandoverPreparationInformation-v13c0-IEs.h + LTE_HandoverPreparationInformation-v1430-IEs.h + LTE_HandoverPreparationInformation-v1530-IEs.h + LTE_HandoverPreparationInformation-v1540-IEs.h + LTE_HandoverPreparationInformation-v1610-IEs.h + LTE_HandoverPreparationInformation-v1620-IEs.h + LTE_HandoverPreparationInformation-v1630-IEs.h + LTE_HandoverPreparationInformation-v920-IEs.h + LTE_HandoverPreparationInformation-v9d0-IEs.h + LTE_HandoverPreparationInformation-v9e0-IEs.h + LTE_HandoverPreparationInformation-v9j0-IEs.h + LTE_HighSpeedConfig-r14.h + LTE_HighSpeedConfigSCell-r14.h + LTE_HighSpeedConfig-v1530.h + LTE_HighSpeedConfig-v1610.h + LTE_HighSpeedEnhParameters-r14.h + LTE_HighSpeedEnhParameters-v1610.h + LTE_Hysteresis.h + LTE_IDC-Config-r11.h + LTE_IDC-SubframePatternList-r11.h + LTE_IDC-SubframePattern-r11.h + LTE_IdleModeMobilityControlInfo.h + LTE_IdleModeMobilityControlInfo-v9e0.h + LTE_IKE-Identity-r13.h + LTE_IMSI-Digit.h + LTE_IMSI.h + LTE_Inband-DifferentPCI-NB-r13.h + LTE_Inband-DifferentPCI-TDD-NB-r15.h + LTE_Inband-SamePCI-NB-r13.h + LTE_Inband-SamePCI-TDD-NB-r15.h + LTE_InDeviceCoexIndication-r11.h + LTE_InDeviceCoexIndication-r11-IEs.h + LTE_InDeviceCoexIndication-v11d0-IEs.h + LTE_InDeviceCoexIndication-v1310-IEs.h + LTE_InDeviceCoexIndication-v1360-IEs.h + LTE_InDeviceCoexIndication-v1530-IEs.h + LTE_InDeviceCoexIndication-v1610-IEs.h + LTE_InitialUE-Identity-5GC-NB-r16.h + LTE_InitialUE-Identity-5GC-r15.h + LTE_InitialUE-Identity.h + LTE_InterFreqBandInfo.h + LTE_InterFreqBandList.h + LTE_InterFreqBlackCellList.h + LTE_InterFreqBlackCellList-NB-r13.h + LTE_InterFreqCarrierFreqInfo.h + LTE_InterFreqCarrierFreqInfo-NB-r13.h + LTE_InterFreqCarrierFreqInfo-r12.h + LTE_InterFreqCarrierFreqInfo-v10j0.h + LTE_InterFreqCarrierFreqInfo-v10l0.h + LTE_InterFreqCarrierFreqInfo-v1250.h + LTE_InterFreqCarrierFreqInfo-v1310.h + LTE_InterFreqCarrierFreqInfo-v1350.h + LTE_InterFreqCarrierFreqInfo-v1360.h + LTE_InterFreqCarrierFreqInfo-v1530.h + LTE_InterFreqCarrierFreqInfo-v1610.h + LTE_InterFreqCarrierFreqInfo-v8h0.h + LTE_InterFreqCarrierFreqInfo-v9e0.h + LTE_InterFreqCarrierFreqListExt-r12.h + LTE_InterFreqCarrierFreqListExt-v1280.h + LTE_InterFreqCarrierFreqListExt-v1310.h + LTE_InterFreqCarrierFreqListExt-v1350.h + LTE_InterFreqCarrierFreqListExt-v1360.h + LTE_InterFreqCarrierFreqListExt-v1530.h + LTE_InterFreqCarrierFreqListExt-v1610.h + LTE_InterFreqCarrierFreqList.h + LTE_InterFreqCarrierFreqList-NB-r13.h + LTE_InterFreqCarrierFreqList-v1250.h + LTE_InterFreqCarrierFreqList-v1310.h + LTE_InterFreqCarrierFreqList-v1350.h + LTE_InterFreqCarrierFreqList-v13a0.h + LTE_InterFreqCarrierFreqList-v1530.h + LTE_InterFreqCarrierFreqList-v1610.h + LTE_InterFreqNeighCellInfo.h + LTE_InterFreqNeighCellInfo-NB-v1530.h + LTE_InterFreqNeighCellInfo-v1610.h + LTE_InterFreqNeighCellList.h + LTE_InterFreqNeighCellList-NB-r13.h + LTE_InterFreqNeighCellList-NB-v1530.h + LTE_InterFreqNeighCellList-v1610.h + LTE_InterFreqNeighHSDN-CellList-r15.h + LTE_InterFreqRSTDMeasurementIndication-r10.h + LTE_InterFreqRSTDMeasurementIndication-r10-IEs.h + LTE_InterRAT-BandInfo.h + LTE_InterRAT-BandInfoNR-r16.h + LTE_InterRAT-BandList.h + LTE_InterRAT-BandListNR-r16.h + LTE_IntraBandContiguousCC-Info-r12.h + LTE_IntraFreqBlackCellList.h + LTE_IntraFreqCellReselectionInfo-NB-v1350.h + LTE_IntraFreqCellReselectionInfo-NB-v1360.h + LTE_IntraFreqCellReselectionInfo-NB-v1430.h + LTE_IntraFreqNeighCellInfo.h + LTE_IntraFreqNeighCellInfo-NB-v1530.h + LTE_IntraFreqNeighCellInfo-v1610.h + LTE_IntraFreqNeighCellList.h + LTE_IntraFreqNeighCellList-NB-v1530.h + LTE_IntraFreqNeighCellList-v1610.h + LTE_IntraFreqNeighHSDN-CellList-r15.h + LTE_IP-Address-r13.h + LTE_IRAT-ParametersCDMA2000-1XRTT.h + LTE_IRAT-ParametersCDMA2000-1XRTT-v1020.h + LTE_IRAT-ParametersCDMA2000-1XRTT-v920.h + LTE_IRAT-ParametersCDMA2000-HRPD.h + LTE_IRAT-ParametersCDMA2000-v1130.h + LTE_IRAT-ParametersGERAN.h + LTE_IRAT-ParametersGERAN-v920.h + LTE_IRAT-ParametersNR-r15.h + LTE_IRAT-ParametersNR-v1540.h + LTE_IRAT-ParametersNR-v1560.h + LTE_IRAT-ParametersNR-v1570.h + LTE_IRAT-ParametersNR-v1610.h + LTE_IRAT-ParametersNR-v1660.h + LTE_IRAT-ParametersUTRA-FDD.h + LTE_IRAT-ParametersUTRA-TDD128.h + LTE_IRAT-ParametersUTRA-TDD384.h + LTE_IRAT-ParametersUTRA-TDD768.h + LTE_IRAT-ParametersUTRA-TDD-v1020.h + LTE_IRAT-ParametersUTRA-v920.h + LTE_IRAT-ParametersUTRA-v9c0.h + LTE_IRAT-ParametersUTRA-v9h0.h + LTE_IRAT-ParametersWLAN-r13.h + LTE_I-RNTI-r15.h + LTE_Key-eNodeB-Star.h + LTE_LAA-Parameters-r13.h + LTE_LAA-Parameters-v1430.h + LTE_LAA-Parameters-v1530.h + LTE_LAA-SCellConfiguration-r13.h + LTE_LAA-SCellConfiguration-v1430.h + LTE_LAA-SCellConfiguration-v1530.h + LTE_LBT-Config-r14.h + LTE_LocationInfo-r10.h + LTE_LoggedMeasurementConfiguration-r10.h + LTE_LoggedMeasurementConfiguration-r10-IEs.h + LTE_LoggedMeasurementConfiguration-v1080-IEs.h + LTE_LoggedMeasurementConfiguration-v1130-IEs.h + LTE_LoggedMeasurementConfiguration-v1250-IEs.h + LTE_LoggedMeasurementConfiguration-v1530-IEs.h + LTE_LoggingDuration-r10.h + LTE_LoggingInterval-r10.h + LTE_LogicalChannelConfig.h + LTE_LogicalChannelConfig-NB-r13.h + LTE_LogicalChGroupInfoList-r13.h + LTE_LogicalChGroupInfoList-v1530.h + LTE_LogMeasInfoList2-r10.h + LTE_LogMeasInfoList-r10.h + LTE_LogMeasInfo-r10.h + LTE_LogMeasReport-r10.h + LTE_LogMeasResultBT-r15.h + LTE_LogMeasResultListBT-r15.h + LTE_LogMeasResultListWLAN-r15.h + LTE_LogMeasResultWLAN-r15.h + LTE_LWA-Config-r13.h + LTE_LWA-Configuration-r13.h + LTE_LWA-Parameters-r13.h + LTE_LWA-Parameters-v1430.h + LTE_LWA-Parameters-v1440.h + LTE_LWIP-Config-r13.h + LTE_LWIP-Configuration-r13.h + LTE_LWIP-Parameters-r13.h + LTE_LWIP-Parameters-v1430.h + LTE_MAC-MainConfig.h + LTE_MAC-MainConfig-NB-r13.h + LTE_MAC-MainConfigSCell-r11.h + LTE_MAC-MainConfigSL-r12.h + LTE_MAC-Parameters-NB-r14.h + LTE_MAC-Parameters-NB-v1530.h + LTE_MAC-Parameters-NB-v1610.h + LTE_MAC-Parameters-r12.h + LTE_MAC-Parameters-v1310.h + LTE_MAC-Parameters-v1430.h + LTE_MAC-Parameters-v1440.h + LTE_MAC-Parameters-v1530.h + LTE_MAC-Parameters-v1550.h + LTE_MAC-Parameters-v1610.h + LTE_MAC-Parameters-v1630.h + LTE_MasterInformationBlock.h + LTE_MasterInformationBlock-MBMS-r14.h + LTE_MasterInformationBlock-NB.h + LTE_MasterInformationBlock-SL.h + LTE_MasterInformationBlock-SL-V2X-r14.h + LTE_MasterInformationBlock-TDD-NB-r15.h + LTE_MaxRS-IndexCellQualNR-r15.h + LTE_MBMS-CarrierType-r14.h + LTE_MBMSCountingRequest-r10.h + LTE_MBMSCountingResponse-r10.h + LTE_MBMSCountingResponse-r10-IEs.h + LTE_MBMSInterestIndication-r11.h + LTE_MBMSInterestIndication-r11-IEs.h + LTE_MBMSInterestIndication-v1310-IEs.h + LTE_MBMSInterestIndication-v1540-IEs.h + LTE_MBMSInterestIndication-v1610-IEs.h + LTE_MBMS-InterFreqCarrierTypeList-r14.h + LTE_MBMS-NotificationConfig-r9.h + LTE_MBMS-NotificationConfig-v1430.h + LTE_MBMS-Parameters-r11.h + LTE_MBMS-Parameters-v1250.h + LTE_MBMS-Parameters-v1430.h + LTE_MBMS-Parameters-v1470.h + LTE_MBMS-Parameters-v1610.h + LTE_MBMS-ROM-Info-r15.h + LTE_MBMS-ROM-Info-r16.h + LTE_MBMS-SAI-InterFreqList-NB-r14.h + LTE_MBMS-SAI-InterFreqList-r11.h + LTE_MBMS-SAI-InterFreqList-v1140.h + LTE_MBMS-SAI-InterFreq-NB-r14.h + LTE_MBMS-SAI-InterFreq-r11.h + LTE_MBMS-SAI-InterFreq-v1140.h + LTE_MBMS-SAI-List-r11.h + LTE_MBMS-SAI-r11.h + LTE_MBMS-ServiceInfo-r13.h + LTE_MBMS-ServiceList-r13.h + LTE_MBMS-SessionInfoList-r9.h + LTE_MBMSSessionInfo-r13.h + LTE_MBMS-SessionInfo-r9.h + LTE_MBMS-SupportedBandInfo-r16.h + LTE_MBSFNAreaConfiguration-r9.h + LTE_MBSFNAreaConfiguration-v1250-IEs.h + LTE_MBSFNAreaConfiguration-v1430-IEs.h + LTE_MBSFNAreaConfiguration-v1610-IEs.h + LTE_MBSFNAreaConfiguration-v930-IEs.h + LTE_MBSFN-AreaId-r12.h + LTE_MBSFN-AreaInfoList-r16.h + LTE_MBSFN-AreaInfoList-r9.h + LTE_MBSFN-AreaInfo-r16.h + LTE_MBSFN-AreaInfo-r9.h + LTE_MBSFN-RSRQ-Range-r12.h + LTE_MBSFN-SubframeConfig.h + LTE_MBSFN-SubframeConfigList.h + LTE_MBSFN-SubframeConfigList-v1430.h + LTE_MBSFN-SubframeConfig-v1430.h + LTE_MBSFN-SubframeConfig-v1610.h + LTE_MCC.h + LTE_MCCH-Message.h + LTE_MCCH-MessageType.h + LTE_MCC-MNC-Digit.h + LTE_MCGFailureInformation-r16.h + LTE_MCGFailureInformation-r16-IEs.h + LTE_MCS-PSSCH-Range-r15.h + LTE_MeasConfig.h + LTE_MeasCSI-RS-Config-r12.h + LTE_MeasCSI-RS-Id-r12.h + LTE_MeasCSI-RS-ToAddModList-r12.h + LTE_MeasCSI-RS-ToRemoveList-r12.h + LTE_MeasCycleSCell-r10.h + LTE_MeasDS-Config-r12.h + LTE_MeasGapConfigDensePRS-r15.h + LTE_MeasGapConfig.h + LTE_MeasGapConfigPerCC-List-r14.h + LTE_MeasGapConfigPerCC-r14.h + LTE_MeasGapConfigToAddModList-r14.h + LTE_MeasGapConfigToRemoveList-r14.h + LTE_MeasGapInfoNR-r16.h + LTE_MeasGapSharingConfig-r14.h + LTE_MeasId.h + LTE_MeasIdleCarrierEUTRA-r15.h + LTE_MeasIdleCarrierNR-r16.h + LTE_MeasIdleConfigDedicated-r15.h + LTE_MeasIdleConfigSIB-NR-r16.h + LTE_MeasIdleConfigSIB-r15.h + LTE_MeasIdToAddModExt-r12.h + LTE_MeasIdToAddMod.h + LTE_MeasIdToAddModListExt-r12.h + LTE_MeasIdToAddModListExt-v1310.h + LTE_MeasIdToAddModList.h + LTE_MeasIdToAddModList-v1310.h + LTE_MeasIdToAddMod-v1310.h + LTE_MeasIdToRemoveListExt-r12.h + LTE_MeasIdToRemoveList.h + LTE_MeasId-v1250.h + LTE_MeasObjectCDMA2000.h + LTE_MeasObjectEUTRA.h + LTE_MeasObjectEUTRA-v9e0.h + LTE_MeasObjectGERAN.h + LTE_MeasObjectId.h + LTE_MeasObjectId-r13.h + LTE_MeasObjectId-v1310.h + LTE_MeasObjectNR-r15.h + LTE_MeasObjectToAddModExt-r13.h + LTE_MeasObjectToAddMod.h + LTE_MeasObjectToAddModListExt-r13.h + LTE_MeasObjectToAddModList.h + LTE_MeasObjectToAddModList-v9e0.h + LTE_MeasObjectToAddMod-v9e0.h + LTE_MeasObjectToRemoveListExt-r13.h + LTE_MeasObjectToRemoveList.h + LTE_MeasObjectUTRA.h + LTE_MeasObjectWLAN-r13.h + LTE_MeasParameters.h + LTE_MeasParameters-NB-r16.h + LTE_MeasParameters-v1020.h + LTE_MeasParameters-v1130.h + LTE_MeasParameters-v11a0.h + LTE_MeasParameters-v1250.h + LTE_MeasParameters-v1310.h + LTE_MeasParameters-v1430.h + LTE_MeasParameters-v1520.h + LTE_MeasParameters-v1530.h + LTE_MeasParameters-v1610.h + LTE_MeasParameters-v1630.h + LTE_MeasParameters-v16c0.h + LTE_MeasReportAppLayer-r15.h + LTE_MeasReportAppLayer-r15-IEs.h + LTE_MeasReportAppLayer-v1590-IEs.h + LTE_MeasResult2CDMA2000-r9.h + LTE_MeasResult2EUTRA-r9.h + LTE_MeasResult2EUTRA-v1250.h + LTE_MeasResult2EUTRA-v9e0.h + LTE_MeasResult2UTRA-r9.h + LTE_MeasResult3EUTRA-r15.h + LTE_MeasResultCBR-r14.h + LTE_MeasResultCDMA2000.h + LTE_MeasResultCellListNR-r15.h + LTE_MeasResultCellListSFTD-r15.h + LTE_MeasResultCellNR-r15.h + LTE_MeasResultCellSFTD-r15.h + LTE_MeasResultCSI-RS-List-r12.h + LTE_MeasResultCSI-RS-r12.h + LTE_MeasResultEUTRA.h + LTE_MeasResultForECID-r9.h + LTE_MeasResultForRSSI-NR-r16.h + LTE_MeasResultForRSSI-r13.h + LTE_MeasResultFreqFailNR-r15.h + LTE_MeasResultFreqListFailNR-r15.h + LTE_MeasResultFreqListNR-r16.h + LTE_MeasResultGERAN.h + LTE_MeasResultIdleEUTRA-r15.h + LTE_MeasResultIdleListEUTRA-r15.h + LTE_MeasResultIdleNR-r16.h + LTE_MeasResultIdle-r15.h + LTE_MeasResultList2CDMA2000-r9.h + LTE_MeasResultList2EUTRA-r9.h + LTE_MeasResultList2EUTRA-v1250.h + LTE_MeasResultList2EUTRA-v9e0.h + LTE_MeasResultList2GERAN-r10.h + LTE_MeasResultList2UTRA-r9.h + LTE_MeasResultList3EUTRA-r15.h + LTE_MeasResultListCBR-r14.h + LTE_MeasResultListCDMA2000.h + LTE_MeasResultListEUTRA.h + LTE_MeasResultListExtIdle-r16.h + LTE_MeasResultListGERAN.h + LTE_MeasResultListIdleNR-r16.h + LTE_MeasResultListIdle-r15.h + LTE_MeasResultListMBSFN-r12.h + LTE_MeasResultListRSSI-SCG-r13.h + LTE_MeasResultListUTRA.h + LTE_MeasResultListWLAN-r13.h + LTE_MeasResultListWLAN-r14.h + LTE_MeasResultMBSFN-r12.h + LTE_MeasResultNR-r15.h + LTE_MeasResultRSSI-SCG-r13.h + LTE_MeasResultsCDMA2000.h + LTE_MeasResultSCG-FailureMRDC-r15.h + LTE_MeasResultSensing-r15.h + LTE_MeasResultServCellListSCG-Ext-r13.h + LTE_MeasResultServCellListSCG-r12.h + LTE_MeasResultServCell-NB-r14.h + LTE_MeasResultServCellSCG-r12.h + LTE_MeasResultServFreqListExt-r13.h + LTE_MeasResultServFreqListNR-r15.h + LTE_MeasResultServFreqList-r10.h + LTE_MeasResultServFreqNR-r15.h + LTE_MeasResultServFreq-r10.h + LTE_MeasResultServFreq-r13.h + LTE_MeasResults.h + LTE_MeasResultsPerCellIdleNR-r16.h + LTE_MeasResultSSB-IndexList-r15.h + LTE_MeasResultSSB-Index-r15.h + LTE_MeasResultSSTD-r13.h + LTE_MeasResultUTRA.h + LTE_MeasResultWLAN-r13.h + LTE_MeasRSS-DedicatedConfig-r16.h + LTE_MeasRSSI-ReportConfig-r13.h + LTE_MeasScaleFactor-r12.h + LTE_MeasSensing-Config-r15.h + LTE_MeasSubframeCellList-r10.h + LTE_MeasSubframePatternConfigNeigh-r10.h + LTE_MeasSubframePatternPCell-r10.h + LTE_MeasSubframePattern-r10.h + LTE_MeasurementReport.h + LTE_MeasurementReport-r8-IEs.h + LTE_MeasurementReport-v8a0-IEs.h + LTE_MIMO-BeamformedCapabilities-r13.h + LTE_MIMO-BeamformedCapabilityList-r13.h + LTE_MIMO-CapabilityDL-r10.h + LTE_MIMO-CapabilityUL-r10.h + LTE_MIMO-CA-ParametersPerBoBCPerTM-r13.h + LTE_MIMO-CA-ParametersPerBoBCPerTM-r15.h + LTE_MIMO-CA-ParametersPerBoBCPerTM-v1430.h + LTE_MIMO-CA-ParametersPerBoBCPerTM-v1470.h + LTE_MIMO-CA-ParametersPerBoBC-r13.h + LTE_MIMO-CA-ParametersPerBoBC-r15.h + LTE_MIMO-CA-ParametersPerBoBC-v1430.h + LTE_MIMO-CA-ParametersPerBoBC-v1470.h + LTE_MIMO-NonPrecodedCapabilities-r13.h + LTE_MIMO-UE-BeamformedCapabilities-r13.h + LTE_MIMO-UE-ParametersPerTM-r13.h + LTE_MIMO-UE-ParametersPerTM-v1430.h + LTE_MIMO-UE-ParametersPerTM-v1470.h + LTE_MIMO-UE-Parameters-r13.h + LTE_MIMO-UE-Parameters-v13e0.h + LTE_MIMO-UE-Parameters-v1430.h + LTE_MIMO-UE-Parameters-v1470.h + LTE_MIMO-WeightedLayersCapabilities-r13.h + LTE_MMEC.h + LTE_MMTEL-Parameters-r14.h + LTE_MMTEL-Parameters-v1610.h + LTE_MNC.h + LTE_MobilityControlInfo.h + LTE_MobilityControlInfoSCG-r12.h + LTE_MobilityControlInfo-v10l0.h + LTE_MobilityControlInfoV2X-r14.h + LTE_MobilityFromEUTRACommand.h + LTE_MobilityFromEUTRACommand-r8-IEs.h + LTE_MobilityFromEUTRACommand-r9-IEs.h + LTE_MobilityFromEUTRACommand-v1530-IEs.h + LTE_MobilityFromEUTRACommand-v8a0-IEs.h + LTE_MobilityFromEUTRACommand-v8d0-IEs.h + LTE_MobilityFromEUTRACommand-v930-IEs.h + LTE_MobilityFromEUTRACommand-v960-IEs.h + LTE_MobilityHistoryReport-r12.h + LTE_MobilityParametersCDMA2000.h + LTE_MobilityParameters-r14.h + LTE_MobilityParameters-v1610.h + LTE_MobilityStateParameters.h + LTE_MRDC-AssistanceInfo-r15.h + LTE_MTC-SSB2-LP-NR-r16.h + LTE_MTC-SSB-NR-r15.h + LTE_MultiBandInfoList.h + LTE_MultiBandInfoList-NB-r13.h + LTE_MultiBandInfoList-r11.h + LTE_MultiBandInfoList-v10j0.h + LTE_MultiBandInfoList-v10l0.h + LTE_MultiBandInfoList-v9e0.h + LTE_MultiBandInfo-NB-r13.h + LTE_MultiBandInfo-v9e0.h + LTE_MultiBandNsPmaxListNR-1-v1550.h + LTE_MultiBandNsPmaxListNR-v1550.h + LTE_MultiFrequencyBandListNR-r15.h + LTE_MUST-Parameters-r14.h + LTE_N1PUCCH-AN-CS-r10.h + LTE_N1PUCCH-AN-InfoList-r13.h + LTE_N1PUCCH-AN-PersistentList.h + LTE_N1SPUCCH-AN-PersistentList-r15.h + LTE_N4SPUCCH-Resource-r15.h + LTE_NAICS-AssistanceInfo-r12.h + LTE_NAICS-Capability-Entry-r12.h + LTE_NAICS-Capability-List-r12.h + LTE_NeighCellCDMA2000.h + LTE_NeighCellCDMA2000-r11.h + LTE_NeighCellCDMA2000-v920.h + LTE_NeighCellConfig.h + LTE_NeighCellListCDMA2000.h + LTE_NeighCellListCDMA2000-v920.h + LTE_NeighCellsCRS-Info-r11.h + LTE_NeighCellsCRS-Info-r13.h + LTE_NeighCellsCRS-Info-r15.h + LTE_NeighCellSI-AcquisitionParameters-r9.h + LTE_NeighCellSI-AcquisitionParameters-v1530.h + LTE_NeighCellSI-AcquisitionParameters-v1550.h + LTE_NeighCellSI-AcquisitionParameters-v15a0.h + LTE_NeighCellSI-AcquisitionParameters-v1610.h + LTE_NeighCellsInfo-r12.h + LTE_NeighCellsPerBandclassCDMA2000.h + LTE_NeighCellsPerBandclassCDMA2000-r11.h + LTE_NeighCellsPerBandclassCDMA2000-v920.h + LTE_NeighCellsPerBandclassListCDMA2000.h + LTE_NeighCellsPerBandclassListCDMA2000-v920.h + LTE_NeighCellsToAddModList-r12.h + LTE_NeighCellsToReleaseList-r12.h + LTE_NextHopChainingCount.h + LTE_NG-5G-S-TMSI-r15.h + LTE_NonContiguousUL-RA-WithinCC-List-r10.h + LTE_NonContiguousUL-RA-WithinCC-r10.h + LTE_NonMBSFN-SubframeConfig-r14.h + LTE_NPDCCH-ConfigDedicated-NB-r13.h + LTE_NPDCCH-ConfigDedicated-NB-v1530.h + LTE_NPDCCH-SC-MCCH-Config-NB-r14.h + LTE_NPDSCH-ConfigCommon-NB-r13.h + LTE_NPDSCH-ConfigDedicated-NB-r16.h + LTE_NPDSCH-MultiTB-Config-NB-r16.h + LTE_NPRACH-ConfigSIB-NB-r13.h + LTE_NPRACH-ConfigSIB-NB-v1330.h + LTE_NPRACH-ConfigSIB-NB-v1450.h + LTE_NPRACH-ConfigSIB-NB-v1530.h + LTE_NPRACH-ConfigSIB-NB-v1550.h + LTE_NPRACH-ParametersFmt2-NB-r15.h + LTE_NPRACH-ParametersListFmt2-NB-r15.h + LTE_NPRACH-ParametersList-NB-r13.h + LTE_NPRACH-ParametersList-NB-r14.h + LTE_NPRACH-ParametersList-NB-v1330.h + LTE_NPRACH-ParametersListTDD-NB-r15.h + LTE_NPRACH-ParametersListTDD-NB-v1550.h + LTE_NPRACH-Parameters-NB-r13.h + LTE_NPRACH-Parameters-NB-r14.h + LTE_NPRACH-Parameters-NB-v1330.h + LTE_NPRACH-ParametersTDD-NB-r15.h + LTE_NPRACH-ParametersTDD-NB-v1550.h + LTE_NPRACH-ProbabilityAnchorList-NB-r14.h + LTE_NPRACH-ProbabilityAnchor-NB-r14.h + LTE_NPUSCH-ConfigCommon-NB-r13.h + LTE_NPUSCH-ConfigDedicated-NB-r13.h + LTE_NPUSCH-ConfigDedicated-NB-v1610.h + LTE_NR-CarrierList-r16.h + LTE_NRSRP-ChangeThresh-NB-r16.h + LTE_NRSRP-Range-NB-r14.h + LTE_NRSRQ-Range-NB-r14.h + LTE_NS-PmaxList-NB-r13.h + LTE_NS-PmaxListNR-r15.h + LTE_NS-PmaxList-r10.h + LTE_NS-PmaxList-v10l0.h + LTE_NS-PmaxValue-NB-r13.h + LTE_NS-PmaxValueNR-r15.h + LTE_NS-PmaxValue-r10.h + LTE_NS-PmaxValue-v10l0.h + LTE_NSSS-RRM-Config-NB-r15.h + LTE_NumberOfPreamblesSent-r11.h + LTE_NZP-FrequencyDensity-r14.h + LTE_NZP-ResourceConfig-r13.h + LTE_NZP-TransmissionComb-r14.h + LTE_ObtainLocationConfig-r11.h + LTE_OTDOA-PositioningCapabilities-r10.h + LTE_OtherConfig-r9.h + LTE_Other-Parameters-r11.h + LTE_Other-Parameters-v11d0.h + LTE_Other-Parameters-v1360.h + LTE_Other-Parameters-v1430.h + LTE_OtherParameters-v1450.h + LTE_Other-Parameters-v1460.h + LTE_Other-Parameters-v1530.h + LTE_Other-Parameters-v1540.h + LTE_Other-Parameters-v1610.h + LTE_Other-Parameters-v1650.h + LTE_Other-Parameters-v1690.h + LTE_OverheatingAssistance-r14.h + LTE_OverheatingAssistance-v1610.h + LTE_P0-SL-r12.h + LTE_Paging.h + LTE_Paging-NB.h + LTE_Paging-NB-v1610-IEs.h + LTE_PagingRecord.h + LTE_PagingRecordList.h + LTE_PagingRecordList-NB-r13.h + LTE_PagingRecordList-NB-v1610.h + LTE_PagingRecordList-v1610.h + LTE_PagingRecord-NB-r13.h + LTE_PagingRecord-NB-v1610.h + LTE_PagingRecord-v1610.h + LTE_PagingUE-Identity.h + LTE_Paging-v1130-IEs.h + LTE_Paging-v1310-IEs.h + LTE_Paging-v1530-IEs.h + LTE_Paging-v1610-IEs.h + LTE_Paging-v890-IEs.h + LTE_Paging-v920-IEs.h + LTE_PagingWeight-NB-r14.h + LTE_P-a.h + LTE_ParametersCDMA2000-r11.h + LTE_P-C-AndCBSR-Pair-r13a.h + LTE_P-C-AndCBSR-Pair-r13.h + LTE_P-C-AndCBSR-Pair-r15.h + LTE_P-C-AndCBSR-r11.h + LTE_P-C-AndCBSR-r13.h + LTE_P-C-AndCBSR-r15.h + LTE_PCCH-Config.h + LTE_PCCH-Config-NB-r13.h + LTE_PCCH-Config-NB-r14.h + LTE_PCCH-Config-v1310.h + LTE_PCCH-Message.h + LTE_PCCH-Message-NB.h + LTE_PCCH-MessageType.h + LTE_PCCH-MessageType-NB.h + LTE_PCI-ARFCN-NB-r14.h + LTE_PCI-ARFCN-r13.h + LTE_PDCCH-CandidateReductionsLAA-UL-r14.h + LTE_PDCCH-CandidateReductions-r13.h + LTE_PDCCH-CandidateReductionValue-r13.h + LTE_PDCCH-CandidateReductionValue-r14.h + LTE_PDCCH-ConfigLAA-r14.h + LTE_PDCCH-ConfigSCell-r13.h + LTE_PDCP-Config.h + LTE_PDCP-Config-NB-r13.h + LTE_PDCP-Parameters.h + LTE_PDCP-Parameters-NB-r13.h + LTE_PDCP-ParametersNR-r15.h + LTE_PDCP-ParametersNR-v1560.h + LTE_PDCP-Parameters-v1130.h + LTE_PDCP-Parameters-v1310.h + LTE_PDCP-Parameters-v1430.h + LTE_PDCP-Parameters-v1530.h + LTE_PDCP-Parameters-v1610.h + LTE_PDSCH-ConfigCommon.h + LTE_PDSCH-ConfigCommon-v1310.h + LTE_PDSCH-ConfigDedicated.h + LTE_PDSCH-ConfigDedicatedSCell-v1430.h + LTE_PDSCH-ConfigDedicated-v1130.h + LTE_PDSCH-ConfigDedicated-v1280.h + LTE_PDSCH-ConfigDedicated-v1310.h + LTE_PDSCH-ConfigDedicated-v1430.h + LTE_PDSCH-ConfigDedicated-v1530.h + LTE_PDSCH-ConfigDedicated-v1610.h + LTE_PDSCH-RE-MappingQCL-ConfigId-r11.h + LTE_PDSCH-RE-MappingQCL-Config-r11.h + LTE_PDU-SessionID-NB-r16.h + LTE_PerCC-GapIndicationList-r14.h + LTE_PerCC-GapIndication-r14.h + LTE_PeriodicBSR-Timer-NB-r13.h + LTE_PeriodicBSR-Timer-r12.h + LTE_PeriodicityStartPos-r16.h + LTE_PHICH-Config.h + LTE_PhyLayerParameters.h + LTE_PhyLayerParameters-NB-r13.h + LTE_PhyLayerParameters-NB-v1430.h + LTE_PhyLayerParameters-NB-v1440.h + LTE_PhyLayerParameters-NB-v1530.h + LTE_PhyLayerParameters-NB-v1610.h + LTE_PhyLayerParameters-v1020.h + LTE_PhyLayerParameters-v1130.h + LTE_PhyLayerParameters-v1170.h + LTE_PhyLayerParameters-v1250.h + LTE_PhyLayerParameters-v1280.h + LTE_PhyLayerParameters-v1310.h + LTE_PhyLayerParameters-v1320.h + LTE_PhyLayerParameters-v1330.h + LTE_PhyLayerParameters-v13e0.h + LTE_PhyLayerParameters-v1430.h + LTE_PhyLayerParameters-v1450.h + LTE_PhyLayerParameters-v1470.h + LTE_PhyLayerParameters-v14a0.h + LTE_PhyLayerParameters-v1530.h + LTE_PhyLayerParameters-v1540.h + LTE_PhyLayerParameters-v1550.h + LTE_PhyLayerParameters-v1610.h + LTE_PhyLayerParameters-v920.h + LTE_PhyLayerParameters-v9d0.h + LTE_PhysCellIdCDMA2000.h + LTE_PhysCellIdGERAN.h + LTE_PhysCellId.h + LTE_PhysCellIdListCDMA2000.h + LTE_PhysCellIdListCDMA2000-v920.h + LTE_PhysCellIdList-r13.h + LTE_PhysCellIdNR-r15.h + LTE_PhysCellIdRange.h + LTE_PhysCellIdRangeNR-r16.h + LTE_PhysCellIdRangeUTRA-FDDList-r9.h + LTE_PhysCellIdRangeUTRA-FDD-r9.h + LTE_PhysCellIdUTRA-FDD.h + LTE_PhysCellIdUTRA-TDD.h + LTE_PhysicalConfigDedicated.h + LTE_PhysicalConfigDedicated-NB-r13.h + LTE_PhysicalConfigDedicatedSCell-r10.h + LTE_PhysicalConfigDedicatedSCell-v1370.h + LTE_PhysicalConfigDedicatedSCell-v13c0.h + LTE_PhysicalConfigDedicatedSTTI-r15.h + LTE_PhysicalConfigDedicated-v1370.h + LTE_PhysicalConfigDedicated-v13c0.h + LTE_PLMN-Identity.h + LTE_PLMN-IdentityInfo2-r12.h + LTE_PLMN-IdentityInfo-5GC-NB-r16.h + LTE_PLMN-IdentityInfo.h + LTE_PLMN-IdentityInfoListNR-r15.h + LTE_PLMN-IdentityInfo-NB-r13.h + LTE_PLMN-IdentityInfoNR-r15.h + LTE_PLMN-IdentityInfo-r15.h + LTE_PLMN-IdentityInfo-v1530.h + LTE_PLMN-IdentityInfo-v1610.h + LTE_PLMN-IdentityList2.h + LTE_PLMN-IdentityList3-r11.h + LTE_PLMN-IdentityList4-r12.h + LTE_PLMN-IdentityList-5GC-NB-r16.h + LTE_PLMN-IdentityList.h + LTE_PLMN-IdentityList-MBMS-r14.h + LTE_PLMN-IdentityList-NB-r13.h + LTE_PLMN-IdentityListNR-r15.h + LTE_PLMN-IdentityList-r15.h + LTE_PLMN-IdentityList-v1530.h + LTE_PLMN-IdentityList-v1610.h + LTE_PLMN-InfoList-r15.h + LTE_PLMN-InfoList-r16.h + LTE_PLMN-Info-r15.h + LTE_PLMN-Info-r16.h + LTE_PLMN-RAN-AreaCellList-r15.h + LTE_PLMN-RAN-AreaCell-r15.h + LTE_PLMN-RAN-AreaConfigList-r15.h + LTE_PLMN-RAN-AreaConfig-r15.h + LTE_P-Max.h + LTE_P-MaxNR-r15.h + LTE_PMCH-Config-r12.h + LTE_PMCH-Config-r9.h + LTE_PMCH-InfoExt-r12.h + LTE_PMCH-InfoListExt-r12.h + LTE_PMCH-InfoList-r9.h + LTE_PMCH-Info-r9.h + LTE_PollByte.h + LTE_PollByte-r14.h + LTE_PollPDU.h + LTE_PollPDU-r15.h + LTE_PollPDU-v1310.h + LTE_PosSchedulingInfoList-r15.h + LTE_PosSchedulingInfo-r15.h + LTE_PosSIB-MappingInfo-r15.h + LTE_PosSIB-Type-r15.h + LTE_PosSystemInformation-r15-IEs.h + LTE_PowerCoordinationInfo-r12.h + LTE_PowerPrefIndicationConfig-r11.h + LTE_PowerRampingParameters.h + LTE_PowerRampingParameters-NB-v1450.h + LTE_PRACH-Config.h + LTE_PRACH-ConfigInfo.h + LTE_PRACH-ConfigSCell-r10.h + LTE_PRACH-ConfigSIB.h + LTE_PRACH-ConfigSIB-v1310.h + LTE_PRACH-ConfigSIB-v1530.h + LTE_PRACH-Config-v1310.h + LTE_PRACH-Config-v1430.h + LTE_PRACH-ParametersCE-r13.h + LTE_PRACH-ParametersListCE-r13.h + LTE_PreambleTransMax.h + LTE_PreRegistrationInfoHRPD.h + LTE_PreRegistrationZoneIdHRPD.h + LTE_PresenceAntennaPort1.h + LTE_ProcessingTimelineSet-r15.h + LTE_ProximityIndication-r9.h + LTE_ProximityIndication-r9-IEs.h + LTE_ProximityIndication-v930-IEs.h + LTE_PSCellToAddMod-r12.h + LTE_PSCellToAddMod-v12f0.h + LTE_PSCellToAddMod-v1440.h + LTE_PUCCH-ConfigCommon.h + LTE_PUCCH-ConfigCommon-v1310.h + LTE_PUCCH-ConfigCommon-v1430.h + LTE_PUCCH-ConfigDedicated.h + LTE_PUCCH-ConfigDedicated-r13.h + LTE_PUCCH-ConfigDedicated-v1020.h + LTE_PUCCH-ConfigDedicated-v1130.h + LTE_PUCCH-ConfigDedicated-v1250.h + LTE_PUCCH-ConfigDedicated-v1370.h + LTE_PUCCH-ConfigDedicated-v13c0.h + LTE_PUCCH-ConfigDedicated-v1430.h + LTE_PUCCH-ConfigDedicated-v1530.h + LTE_PUCCH-Format3-Conf-r13.h + LTE_PUR-ConfigID-NB-r16.h + LTE_PUR-ConfigID-r16.h + LTE_PUR-Config-NB-r16.h + LTE_PUR-Config-r16.h + LTE_PUR-ConfigRequest-NB-r16.h + LTE_PURConfigurationRequest-NB-r16.h + LTE_PURConfigurationRequest-NB-r16-IEs.h + LTE_PURConfigurationRequest-r16.h + LTE_PURConfigurationRequest-r16-IEs.h + LTE_PUR-MPDCCH-Config-r16.h + LTE_PUR-NRSRP-ChangeThreshold-NB-r16.h + LTE_PUR-Parameters-NB-r16.h + LTE_PUR-Parameters-r16.h + LTE_PUR-PeriodicityAndOffset-NB-r16.h + LTE_PUR-PeriodicityAndOffset-r16.h + LTE_PUR-PUCCH-Config-r16.h + LTE_PUR-PUSCH-Config-r16.h + LTE_PUR-RSRP-ChangeThreshold-r16.h + LTE_PUSCH-ConfigCommon.h + LTE_PUSCH-ConfigCommon-v1270.h + LTE_PUSCH-ConfigCommon-v1310.h + LTE_PUSCH-ConfigDedicated.h + LTE_PUSCH-ConfigDedicated-r13.h + LTE_PUSCH-ConfigDedicatedSCell-r10.h + LTE_PUSCH-ConfigDedicatedSCell-v1430.h + LTE_PUSCH-ConfigDedicatedScell-v1530.h + LTE_PUSCH-ConfigDedicated-v1020.h + LTE_PUSCH-ConfigDedicated-v1130.h + LTE_PUSCH-ConfigDedicated-v1250.h + LTE_PUSCH-ConfigDedicated-v1430.h + LTE_PUSCH-ConfigDedicated-v1530.h + LTE_PUSCH-ConfigDedicated-v1610.h + LTE_PUSCH-EnhancementsConfig-r14.h + LTE_PUSCH-ModeConfigLAA-r15.h + LTE_Q-OffsetRange.h + LTE_Q-OffsetRangeInterRAT.h + LTE_Q-QualMin-r9.h + LTE_Q-RxLevMin.h + LTE_QuantityConfigCDMA2000.h + LTE_QuantityConfigEUTRA.h + LTE_QuantityConfigEUTRA-v1250.h + LTE_QuantityConfigEUTRA-v1310.h + LTE_QuantityConfigGERAN.h + LTE_QuantityConfig.h + LTE_QuantityConfigNRList-r15.h + LTE_QuantityConfigNR-r15.h + LTE_QuantityConfigRS-NR-r15.h + LTE_QuantityConfigUTRA.h + LTE_QuantityConfigUTRA-v1020.h + LTE_QuantityConfigWLAN-r13.h + LTE_RACH-CE-LevelInfoList-r13.h + LTE_RACH-CE-LevelInfo-r13.h + LTE_RACH-ConfigCommon.h + LTE_RACH-ConfigCommon-NB-r13.h + LTE_RACH-ConfigCommonSCell-r11.h + LTE_RACH-ConfigCommon-v1250.h + LTE_RACH-ConfigDedicated.h + LTE_RACH-InfoList-NB-r13.h + LTE_RACH-InfoList-NB-v1530.h + LTE_RACH-Info-NB-r13.h + LTE_RACH-Info-NB-v1530.h + LTE_RACH-Report-NB-r16.h + LTE_RACH-Report-r16.h + LTE_RACH-Report-v1610.h + LTE_RACH-Skip-r14.h + LTE_RadioResourceConfigCommon.h + LTE_RadioResourceConfigCommonPSCell-r12.h + LTE_RadioResourceConfigCommonPSCell-v12f0.h + LTE_RadioResourceConfigCommonPSCell-v1440.h + LTE_RadioResourceConfigCommonSCell-r10.h + LTE_RadioResourceConfigCommonSCell-v10l0.h + LTE_RadioResourceConfigCommonSCell-v1440.h + LTE_RadioResourceConfigCommonSIB.h + LTE_RadioResourceConfigCommonSIB-NB-r13.h + LTE_RadioResourceConfigDedicated.h + LTE_RadioResourceConfigDedicated-NB-r13.h + LTE_RadioResourceConfigDedicatedPSCell-r12.h + LTE_RadioResourceConfigDedicatedPSCell-v1370.h + LTE_RadioResourceConfigDedicatedPSCell-v13c0.h + LTE_RadioResourceConfigDedicatedSCell-r10.h + LTE_RadioResourceConfigDedicatedSCell-v13c0.h + LTE_RadioResourceConfigDedicatedSCG-r12.h + LTE_RadioResourceConfigDedicated-v1370.h + LTE_RadioResourceConfigDedicated-v13c0.h + LTE_RAN-AreaCode-r15.h + LTE_RAN-AreaConfig-r15.h + LTE_RAND-CDMA2000.h + LTE_RAN-NotificationAreaInfo-r15.h + LTE_RAT-Type.h + LTE_RCLWI-Config-r13.h + LTE_RCLWI-Configuration-r13.h + LTE_RedirectedCarrierInfo.h + LTE_RedirectedCarrierInfo-NB-r13.h + LTE_RedirectedCarrierInfo-NB-v1430.h + LTE_RedirectedCarrierInfo-NB-v1550.h + LTE_RedirectedCarrierInfo-r15-IEs.h + LTE_RedirectedCarrierInfo-v9e0.h + LTE_RedistributionFactor-r13.h + LTE_RedistributionInterFreqInfo-r13.h + LTE_RedistributionNeighCellList-r13.h + LTE_RedistributionNeighCell-r13.h + LTE_RedistributionServingInfo-r13.h + LTE_ReestablishmentCause.h + LTE_ReestablishmentCause-NB-r13.h + LTE_ReestablishmentInfo.h + LTE_ReestablishmentInfo-NB.h + LTE_ReestabUE-Identity-CP-5GC-NB-r16.h + LTE_ReestabUE-Identity-CP-NB-r14.h + LTE_ReestabUE-Identity.h + LTE_ReferenceTime-r15.h + LTE_RegisteredAMF-r15.h + LTE_RegisteredMME.h + LTE_ReleaseCause.h + LTE_ReleaseCause-NB-r13.h + LTE_RE-MappingQCLConfigToAddModList-r11.h + LTE_RE-MappingQCLConfigToReleaseList-r11.h + LTE_ReportConfigEUTRA.h + LTE_ReportConfigId.h + LTE_ReportConfigInterRAT.h + LTE_ReportConfigToAddMod.h + LTE_ReportConfigToAddModList.h + LTE_ReportConfigToRemoveList.h + LTE_ReportInterval.h + LTE_ReportProximityConfig-r9.h + LTE_ReportQuantityNR-r15.h + LTE_ReportQuantityWLAN-r13.h + LTE_ReselectionInfoRelay-r13.h + LTE_ReselectionThreshold.h + LTE_ReselectionThreshold-NB-v1360.h + LTE_ReselectionThresholdQ-r9.h + LTE_ResourceConfig-r13.h + LTE_ResourceReservationConfigDedicatedDL-r16.h + LTE_ResourceReservationConfigDedicatedUL-r16.h + LTE_ResourceReservationConfigDL-r16.h + LTE_ResourceReservationConfig-NB-r16.h + LTE_ResourceReservationConfigUL-r16.h + LTE_ResultsPerSSB-IndexIdle-r16.h + LTE_ResultsPerSSB-IndexList-r16.h + LTE_ResumeCause.h + LTE_ResumeCause-r15.h + LTE_ResumeIdentity-r13.h + LTE_RetxBSR-Timer-NB-r13.h + LTE_RetxBSR-Timer-r12.h + LTE_RF-Parameters.h + LTE_RF-Parameters-NB-r13.h + LTE_RF-Parameters-NB-v1430.h + LTE_RF-Parameters-v1020.h + LTE_RF-Parameters-v1060.h + LTE_RF-Parameters-v1090.h + LTE_RF-Parameters-v10f0.h + LTE_RF-Parameters-v10i0.h + LTE_RF-Parameters-v10j0.h + LTE_RF-Parameters-v1130.h + LTE_RF-Parameters-v1180.h + LTE_RF-Parameters-v11d0.h + LTE_RF-Parameters-v1250.h + LTE_RF-Parameters-v1270.h + LTE_RF-Parameters-v12b0.h + LTE_RF-Parameters-v1310.h + LTE_RF-Parameters-v1320.h + LTE_RF-Parameters-v1380.h + LTE_RF-Parameters-v1390.h + LTE_RF-Parameters-v1430.h + LTE_RF-Parameters-v1450.h + LTE_RF-Parameters-v1470.h + LTE_RF-Parameters-v14b0.h + LTE_RF-Parameters-v1530.h + LTE_RF-Parameters-v1570.h + LTE_RF-Parameters-v1610.h + LTE_RF-Parameters-v1630.h + LTE_RF-Parameters-v9e0.h + LTE_RLC-BearerConfig-r15.h + LTE_RLC-Config.h + LTE_RLC-Config-NB-r13.h + LTE_RLC-Config-NB-v1430.h + LTE_RLC-Config-r15.h + LTE_RLC-Config-v1250.h + LTE_RLC-Config-v1310.h + LTE_RLC-Config-v1430.h + LTE_RLC-Config-v1510.h + LTE_RLC-Config-v1530.h + LTE_RLC-Parameters-NB-r15.h + LTE_RLC-Parameters-r12.h + LTE_RLC-Parameters-v1310.h + LTE_RLC-Parameters-v1430.h + LTE_RLC-Parameters-v1530.h + LTE_RLF-Report-NB-r16.h + LTE_RLF-Report-r9.h + LTE_RLF-Report-v9e0.h + LTE_RLF-TimersAndConstantsMCG-Failure-r16.h + LTE_RLF-TimersAndConstants-NB-r13.h + LTE_RLF-TimersAndConstants-r13.h + LTE_RLF-TimersAndConstants-r9.h + LTE_RLF-TimersAndConstantsSCG-r12.h + LTE_RMTC-ConfigNR-r16.h + LTE_RMTC-Config-r13.h + LTE_RNReconfigurationComplete-r10.h + LTE_RNReconfigurationComplete-r10-IEs.h + LTE_RNReconfiguration-r10.h + LTE_RNReconfiguration-r10-IEs.h + LTE_RN-SubframeConfig-r10.h + LTE_RN-SystemInfo-r10.h + LTE_ROHC-ProfileSupportList-r15.h + LTE_RRCConnectionReconfigurationComplete.h + LTE_RRCConnectionReconfigurationComplete-NB.h + LTE_RRCConnectionReconfigurationComplete-NB-r13-IEs.h + LTE_RRCConnectionReconfigurationComplete-r8-IEs.h + LTE_RRCConnectionReconfigurationComplete-v1020-IEs.h + LTE_RRCConnectionReconfigurationComplete-v1130-IEs.h + LTE_RRCConnectionReconfigurationComplete-v1250-IEs.h + LTE_RRCConnectionReconfigurationComplete-v1430-IEs.h + LTE_RRCConnectionReconfigurationComplete-v1510-IEs.h + LTE_RRCConnectionReconfigurationComplete-v1530-IEs.h + LTE_RRCConnectionReconfigurationComplete-v8a0-IEs.h + LTE_RRCConnectionReconfiguration.h + LTE_RRCConnectionReconfiguration-NB.h + LTE_RRCConnectionReconfiguration-NB-r13-IEs.h + LTE_RRCConnectionReconfiguration-r8-IEs.h + LTE_RRCConnectionReconfiguration-v1020-IEs.h + LTE_RRCConnectionReconfiguration-v10i0-IEs.h + LTE_RRCConnectionReconfiguration-v10l0-IEs.h + LTE_RRCConnectionReconfiguration-v1130-IEs.h + LTE_RRCConnectionReconfiguration-v1250-IEs.h + LTE_RRCConnectionReconfiguration-v12f0-IEs.h + LTE_RRCConnectionReconfiguration-v1310-IEs.h + LTE_RRCConnectionReconfiguration-v1370-IEs.h + LTE_RRCConnectionReconfiguration-v13c0-IEs.h + LTE_RRCConnectionReconfiguration-v1430-IEs.h + LTE_RRCConnectionReconfiguration-v1510-IEs.h + LTE_RRCConnectionReconfiguration-v1530-IEs.h + LTE_RRCConnectionReconfiguration-v1610-IEs.h + LTE_RRCConnectionReconfiguration-v890-IEs.h + LTE_RRCConnectionReconfiguration-v8m0-IEs.h + LTE_RRCConnectionReconfiguration-v920-IEs.h + LTE_RRCConnectionReestablishmentComplete.h + LTE_RRCConnectionReestablishmentComplete-NB.h + LTE_RRCConnectionReestablishmentComplete-NB-r13-IEs.h + LTE_RRCConnectionReestablishmentComplete-NB-v1470-IEs.h + LTE_RRCConnectionReestablishmentComplete-NB-v1610-IEs.h + LTE_RRCConnectionReestablishmentComplete-r8-IEs.h + LTE_RRCConnectionReestablishmentComplete-v1020-IEs.h + LTE_RRCConnectionReestablishmentComplete-v1130-IEs.h + LTE_RRCConnectionReestablishmentComplete-v1250-IEs.h + LTE_RRCConnectionReestablishmentComplete-v1530-IEs.h + LTE_RRCConnectionReestablishmentComplete-v8a0-IEs.h + LTE_RRCConnectionReestablishmentComplete-v920-IEs.h + LTE_RRCConnectionReestablishment.h + LTE_RRCConnectionReestablishment-NB.h + LTE_RRCConnectionReestablishment-NB-r13-IEs.h + LTE_RRCConnectionReestablishment-NB-v1430-IEs.h + LTE_RRCConnectionReestablishment-r8-IEs.h + LTE_RRCConnectionReestablishmentReject.h + LTE_RRCConnectionReestablishmentReject-r8-IEs.h + LTE_RRCConnectionReestablishmentReject-v8a0-IEs.h + LTE_RRCConnectionReestablishmentRequest-5GC-NB-r16-IEs.h + LTE_RRCConnectionReestablishmentRequest.h + LTE_RRCConnectionReestablishmentRequest-NB.h + LTE_RRCConnectionReestablishmentRequest-NB-r13-IEs.h + LTE_RRCConnectionReestablishmentRequest-NB-r14-IEs.h + LTE_RRCConnectionReestablishmentRequest-r8-IEs.h + LTE_RRCConnectionReestablishment-v8a0-IEs.h + LTE_RRCConnectionReject.h + LTE_RRCConnectionReject-NB.h + LTE_RRCConnectionReject-NB-r13-IEs.h + LTE_RRCConnectionReject-r8-IEs.h + LTE_RRCConnectionReject-v1020-IEs.h + LTE_RRCConnectionReject-v1130-IEs.h + LTE_RRCConnectionReject-v1320-IEs.h + LTE_RRCConnectionReject-v8a0-IEs.h + LTE_RRCConnectionRelease.h + LTE_RRCConnectionRelease-NB.h + LTE_RRCConnectionRelease-NB-r13-IEs.h + LTE_RRCConnectionRelease-NB-v1430-IEs.h + LTE_RRCConnectionRelease-NB-v1530-IEs.h + LTE_RRCConnectionRelease-NB-v1550-IEs.h + LTE_RRCConnectionRelease-NB-v15b0-IEs.h + LTE_RRCConnectionRelease-NB-v1610-IEs.h + LTE_RRCConnectionRelease-r8-IEs.h + LTE_RRCConnectionRelease-v1020-IEs.h + LTE_RRCConnectionRelease-v1320-IEs.h + LTE_RRCConnectionRelease-v1530-IEs.h + LTE_RRCConnectionRelease-v1540-IEs.h + LTE_RRCConnectionRelease-v15b0-IEs.h + LTE_RRCConnectionRelease-v1610-IEs.h + LTE_RRCConnectionRelease-v1650-IEs.h + LTE_RRCConnectionRelease-v890-IEs.h + LTE_RRCConnectionRelease-v920-IEs.h + LTE_RRCConnectionRelease-v9e0-IEs.h + LTE_RRCConnectionRequest-5GC-NB-r16-IEs.h + LTE_RRCConnectionRequest-5GC-r15-IEs.h + LTE_RRCConnectionRequest.h + LTE_RRCConnectionRequest-NB.h + LTE_RRCConnectionRequest-NB-r13-IEs.h + LTE_RRCConnectionRequest-r8-IEs.h + LTE_RRCConnectionResumeComplete-NB.h + LTE_RRCConnectionResumeComplete-NB-r13-IEs.h + LTE_RRCConnectionResumeComplete-NB-v1470-IEs.h + LTE_RRCConnectionResumeComplete-NB-v1610-IEs.h + LTE_RRCConnectionResumeComplete-r13.h + LTE_RRCConnectionResumeComplete-r13-IEs.h + LTE_RRCConnectionResumeComplete-v1530-IEs.h + LTE_RRCConnectionResumeComplete-v1610-IEs.h + LTE_RRCConnectionResume-NB.h + LTE_RRCConnectionResume-NB-r13-IEs.h + LTE_RRCConnectionResume-NB-v1610-IEs.h + LTE_RRCConnectionResume-r13.h + LTE_RRCConnectionResume-r13-IEs.h + LTE_RRCConnectionResumeRequest-5GC-NB-r16-IEs.h + LTE_RRCConnectionResumeRequest-5GC-r15-IEs.h + LTE_RRCConnectionResumeRequest-NB.h + LTE_RRCConnectionResumeRequest-NB-r13-IEs.h + LTE_RRCConnectionResumeRequest-r13.h + LTE_RRCConnectionResumeRequest-r13-IEs.h + LTE_RRCConnectionResume-v1430-IEs.h + LTE_RRCConnectionResume-v1510-IEs.h + LTE_RRCConnectionResume-v1530-IEs.h + LTE_RRCConnectionResume-v1610-IEs.h + LTE_RRCConnectionSetupComplete.h + LTE_RRCConnectionSetupComplete-NB.h + LTE_RRCConnectionSetupComplete-NB-r13-IEs.h + LTE_RRCConnectionSetupComplete-NB-v1430-IEs.h + LTE_RRCConnectionSetupComplete-NB-v1470-IEs.h + LTE_RRCConnectionSetupComplete-NB-v1610-IEs.h + LTE_RRCConnectionSetupComplete-r8-IEs.h + LTE_RRCConnectionSetupComplete-v1020-IEs.h + LTE_RRCConnectionSetupComplete-v1130-IEs.h + LTE_RRCConnectionSetupComplete-v1250-IEs.h + LTE_RRCConnectionSetupComplete-v1320-IEs.h + LTE_RRCConnectionSetupComplete-v1330-IEs.h + LTE_RRCConnectionSetupComplete-v1430-IEs.h + LTE_RRCConnectionSetupComplete-v1530-IEs.h + LTE_RRCConnectionSetupComplete-v1540-IEs.h + LTE_RRCConnectionSetupComplete-v1610-IEs.h + LTE_RRCConnectionSetupComplete-v1690-IEs.h + LTE_RRCConnectionSetupComplete-v8a0-IEs.h + LTE_RRCConnectionSetup.h + LTE_RRCConnectionSetup-NB.h + LTE_RRCConnectionSetup-NB-r13-IEs.h + LTE_RRCConnectionSetup-NB-v1610-IEs.h + LTE_RRCConnectionSetup-r8-IEs.h + LTE_RRCConnectionSetup-v1610-IEs.h + LTE_RRCConnectionSetup-v8a0-IEs.h + LTE_RRCEarlyDataComplete-NB-r15.h + LTE_RRCEarlyDataComplete-NB-r15-IEs.h + LTE_RRCEarlyDataComplete-NB-v1590-IEs.h + LTE_RRCEarlyDataComplete-r15.h + LTE_RRCEarlyDataComplete-r15-IEs.h + LTE_RRCEarlyDataComplete-v1590-IEs.h + LTE_RRCEarlyDataRequest-5GC-NB-r16-IEs.h + LTE_RRCEarlyDataRequest-5GC-r16-IEs.h + LTE_RRCEarlyDataRequest-NB-r15.h + LTE_RRCEarlyDataRequest-NB-r15-IEs.h + LTE_RRCEarlyDataRequest-NB-v1590-IEs.h + LTE_RRCEarlyDataRequest-r15.h + LTE_RRCEarlyDataRequest-r15-IEs.h + LTE_RRCEarlyDataRequest-v1590-IEs.h + LTE_RRCEarlyDataRequest-v1610-IEs.h + LTE_RRC-InactiveConfig-r15.h + LTE_RRC-InactiveConfig-v1610.h + LTE_RRC-TransactionIdentifier.h + LTE_RRM-Config.h + LTE_RRM-Config-NB.h + LTE_RS-ConfigSSB-NR-r15.h + LTE_RS-IndexNR-r15.h + LTE_RSRP-ChangeThresh-r16.h + LTE_RSRP-Range.h + LTE_RSRP-RangeNR-r15.h + LTE_RSRP-RangeSL2-r12.h + LTE_RSRP-RangeSL3-r12.h + LTE_RSRP-RangeSL4-r13.h + LTE_RSRP-RangeSL-r12.h + LTE_RSRP-Range-v1360.h + LTE_RSRP-ThresholdsNPRACH-InfoList-NB-r13.h + LTE_RSRP-ThresholdsPrachInfoList-r13.h + LTE_RSRQ-RangeConfig-r12.h + LTE_RSRQ-Range.h + LTE_RSRQ-RangeNR-r15.h + LTE_RSRQ-Range-r13.h + LTE_RSRQ-Range-v1250.h + LTE_RSRQ-Type-r12.h + LTE_RSS-ConfigCarrierInfo-r16.h + LTE_RSS-Config-r15.h + LTE_RS-SINR-RangeNR-r15.h + LTE_RS-SINR-Range-r13.h + LTE_RSSI-Range-r13.h + LTE_RSS-MeasPowerBias-r16.h + LTE_RSTD-InterFreqInfoList-r10.h + LTE_RSTD-InterFreqInfo-r10.h + LTE_SBAS-ID-r15.h + LTE_SBCCH-SL-BCH-Message.h + LTE_SBCCH-SL-BCH-MessageType.h + LTE_SBCCH-SL-BCH-MessageType-V2X-r14.h + LTE_SBCCH-SL-BCH-Message-V2X-r14.h + LTE_ScalingFactorSidelink-r16.h + LTE_SCellConfigCommon-r15.h + LTE_SCellGroupIndex-r15.h + LTE_SCellGroupToAddModList-r15.h + LTE_SCellGroupToAddMod-r15.h + LTE_SCellGroupToReleaseList-r15.h + LTE_SCellIndex-r10.h + LTE_SCellIndex-r13.h + LTE_SCellToAddModExt-r13.h + LTE_SCellToAddModExt-v1370.h + LTE_SCellToAddModExt-v1430.h + LTE_SCellToAddModListExt-r13.h + LTE_SCellToAddModListExt-v1370.h + LTE_SCellToAddModListExt-v13c0.h + LTE_SCellToAddModListExt-v1430.h + LTE_SCellToAddModList-r10.h + LTE_SCellToAddModList-r16.h + LTE_SCellToAddModListSCG-Ext-r13.h + LTE_SCellToAddModListSCG-r12.h + LTE_SCellToAddModList-v10l0.h + LTE_SCellToAddModList-v13c0.h + LTE_SCellToAddMod-r10.h + LTE_SCellToAddMod-r16.h + LTE_SCellToAddMod-v10l0.h + LTE_SCellToAddMod-v13c0.h + LTE_SCellToReleaseListExt-r13.h + LTE_SCellToReleaseList-r10.h + LTE_SCG-ConfigInfo-r12.h + LTE_SCG-ConfigInfo-r12-IEs.h + LTE_SCG-ConfigInfo-v1310-IEs.h + LTE_SCG-ConfigInfo-v1330-IEs.h + LTE_SCG-ConfigInfo-v1430-IEs.h + LTE_SCG-ConfigInfo-v1530-IEs.h + LTE_SCG-ConfigPartSCG-r12.h + LTE_SCG-ConfigPartSCG-v12f0.h + LTE_SCG-ConfigPartSCG-v13c0.h + LTE_SCG-Config-r12.h + LTE_SCG-Config-r12-IEs.h + LTE_SCG-ConfigRestrictInfo-r12.h + LTE_SCG-Configuration-r12.h + LTE_SCG-Configuration-v12f0.h + LTE_SCG-Configuration-v13c0.h + LTE_SCG-Config-v12i0a-IEs.h + LTE_SCG-Config-v12i0b-IEs.h + LTE_SCG-Config-v13c0-IEs.h + LTE_SCGFailureInformationNR-r15.h + LTE_SCGFailureInformationNR-r15-IEs.h + LTE_SCGFailureInformationNR-v1590-IEs.h + LTE_SCGFailureInformation-r12.h + LTE_SCGFailureInformation-r12-IEs.h + LTE_SCGFailureInformation-v12d0a-IEs.h + LTE_SCGFailureInformation-v12d0b-IEs.h + LTE_SchedulingInfo-BR-r13.h + LTE_SchedulingInfoExt-r12.h + LTE_SchedulingInfo.h + LTE_SchedulingInfoList-BR-r13.h + LTE_SchedulingInfoListExt-r12.h + LTE_SchedulingInfoList.h + LTE_SchedulingInfoList-MBMS-r14.h + LTE_SchedulingInfoList-NB-r13.h + LTE_SchedulingInfoList-NB-v1530.h + LTE_SchedulingInfoList-v12j0.h + LTE_SchedulingInfo-MBMS-r14.h + LTE_SchedulingInfo-NB-r13.h + LTE_SchedulingInfo-NB-v1530.h + LTE_SchedulingInfo-v12j0.h + LTE_SchedulingRequestConfig.h + LTE_SchedulingRequestConfig-NB-r15.h + LTE_SchedulingRequestConfigSCell-r13.h + LTE_SchedulingRequestConfig-v1020.h + LTE_SchedulingRequestConfig-v1530.h + LTE_SC-MCCH-Message-NB.h + LTE_SC-MCCH-Message-r13.h + LTE_SC-MCCH-MessageType-NB.h + LTE_SC-MCCH-MessageType-r13.h + LTE_SC-MCCH-SchedulingInfo-NB-r14.h + LTE_SC-MCCH-SchedulingInfo-r14.h + LTE_SC-MTCH-Info-BR-r14.h + LTE_SC-MTCH-InfoList-BR-r14.h + LTE_SC-MTCH-InfoList-NB-r14.h + LTE_SC-MTCH-InfoList-r13.h + LTE_SC-MTCH-Info-NB-r14.h + LTE_SC-MTCH-Info-r13.h + LTE_SC-MTCH-SchedulingInfo-BR-r14.h + LTE_SC-MTCH-SchedulingInfo-NB-r14.h + LTE_SC-MTCH-SchedulingInfo-r13.h + LTE_SCPTMConfiguration-BR-r14.h + LTE_SCPTMConfiguration-BR-v1610.h + LTE_SCPTMConfiguration-NB-r14.h + LTE_SCPTMConfiguration-NB-v1610.h + LTE_SCPTMConfiguration-r13.h + LTE_SCPTMConfiguration-v1340.h + LTE_SCPTM-NeighbourCellList-NB-r14.h + LTE_SCPTM-NeighbourCellList-r13.h + LTE_SCPTM-Parameters-r13.h + LTE_SecondaryPreRegistrationZoneIdListHRPD.h + LTE_SecurityAlgorithmConfig.h + LTE_SecurityConfigHO.h + LTE_SecurityConfigHO-v1530.h + LTE_SecurityConfigSMC.h + LTE_SecurityModeCommand.h + LTE_SecurityModeCommand-r8-IEs.h + LTE_SecurityModeCommand-v8a0-IEs.h + LTE_SecurityModeComplete.h + LTE_SecurityModeComplete-r8-IEs.h + LTE_SecurityModeComplete-v8a0-IEs.h + LTE_SecurityModeFailure.h + LTE_SecurityModeFailure-r8-IEs.h + LTE_SecurityModeFailure-v8a0-IEs.h + LTE_SensingResult-r15.h + LTE_ServCellIndex-r10.h + LTE_ServCellIndex-r13.h + LTE_SetupRelease.h + LTE_ShortI-RNTI-r15.h + LTE_ShortMAC-I.h + LTE_ShortTTI-Length-r15.h + LTE_ShortTTI-r15.h + LTE_SIB8-PerPLMN-List-r11.h + LTE_SIB8-PerPLMN-r11.h + LTE_SIB-GuardbandAnchorTDD-NB-r15.h + LTE_SIB-GuardbandGuardbandTDD-NB-r15.h + LTE_SIB-GuardbandInbandDiffPCI-TDD-NB-r15.h + LTE_SIB-GuardbandInbandSamePCI-TDD-NB-r15.h + LTE_SIB-MappingInfo.h + LTE_SIB-MappingInfo-MBMS-r14.h + LTE_SIB-MappingInfo-NB-r13.h + LTE_SIB-MappingInfo-NB-v1530.h + LTE_SIB-MappingInfo-v12j0.h + LTE_SIB-Type.h + LTE_SIB-Type-MBMS-r14.h + LTE_SIB-Type-NB-r13.h + LTE_SIB-Type-NB-v1530.h + LTE_SIB-Type-v12j0.h + LTE_SidelinkUEInformation-r12.h + LTE_SidelinkUEInformation-r12-IEs.h + LTE_SidelinkUEInformation-v1310-IEs.h + LTE_SidelinkUEInformation-v1430-IEs.h + LTE_SidelinkUEInformation-v1530-IEs.h + LTE_SI-OrPSI-GERAN.h + LTE_SI-Periodicity-r12.h + LTE_SkipSubframeProcessing-r15.h + LTE_SL-AllowedCarrierFreqList-r15.h + LTE_SL-AnchorCarrierFreqList-V2X-r14.h + LTE_SL-CarrierFreqInfoList-r12.h + LTE_SL-CarrierFreqInfoList-v1310.h + LTE_SL-CarrierFreqInfo-r12.h + LTE_SL-CarrierFreqInfo-v1310.h + LTE_SL-CBR-CommonTxConfigList-r14.h + LTE_SL-CBR-Levels-Config-r14.h + LTE_SL-CBR-PPPP-TxConfigList-r14.h + LTE_SL-CBR-PPPP-TxConfigList-r15.h + LTE_SL-CBR-PPPP-TxConfigList-v1530.h + LTE_SL-CBR-PPPP-TxPreconfigList-r14.h + LTE_SL-CBR-PPPP-TxPreconfigList-v1530.h + LTE_SL-CBR-PreconfigTxConfigList-r14.h + LTE_SL-CBR-PSSCH-TxConfig-r14.h + LTE_SL-CBR-r14.h + LTE_SL-CommConfig-r12.h + LTE_SL-CommResourcePool-r12.h + LTE_SL-CommResourcePoolV2X-r14.h + LTE_SL-CommRxPoolList-r12.h + LTE_SL-CommRxPoolListV2X-r14.h + LTE_SL-CommTxPoolListExt-r13.h + LTE_SL-CommTxPoolList-r12.h + LTE_SL-CommTxPoolListV2X-r14.h + LTE_SL-CommTxPoolSensingConfig-r14.h + LTE_SL-CommTxPoolToAddModExt-r13.h + LTE_SL-CommTxPoolToAddModListExt-r13.h + LTE_SL-CommTxPoolToAddModList-r12.h + LTE_SL-CommTxPoolToAddMod-r12.h + LTE_SL-CommTxResourceReq-r12.h + LTE_SL-CP-Len-r12.h + LTE_SL-DestinationIdentity-r12.h + LTE_SL-DestinationInfoList-r12.h + LTE_SL-DiscConfigOtherInterFreq-r13.h + LTE_SL-DiscConfig-r12.h + LTE_SL-DiscConfigRelayUE-r13.h + LTE_SL-DiscConfigRemoteUE-r13.h + LTE_SL-DiscResourcePool-r12.h + LTE_SL-DiscRxPoolList-r12.h + LTE_SL-DiscSysInfoReportFreqList-r13.h + LTE_SL-DiscSysInfoReport-r13.h + LTE_SL-DiscSysInfoToReportFreqList-r13.h + LTE_SL-DiscTxConfigScheduled-r13.h + LTE_SL-DiscTxInfoInterFreqListAdd-r13.h + LTE_SL-DiscTxPoolDedicated-r13.h + LTE_SL-DiscTxPoolList-r12.h + LTE_SL-DiscTxPoolToAddModList-r12.h + LTE_SL-DiscTxPoolToAddMod-r12.h + LTE_SL-DiscTxPowerInfoList-r12.h + LTE_SL-DiscTxPowerInfo-r12.h + LTE_SL-DiscTxRefCarrierDedicated-r13.h + LTE_SL-DiscTxResourceInfoPerFreq-r13.h + LTE_SL-DiscTxResource-r13.h + LTE_SL-DiscTxResourceReqPerFreqList-r13.h + LTE_SL-DiscTxResourceReq-r13.h + LTE_SL-DiscTxResourcesInterFreq-r13.h + LTE_SL-GapConfig-r13.h + LTE_SL-GapFreqInfo-r13.h + LTE_SL-GapPatternList-r13.h + LTE_SL-GapPattern-r13.h + LTE_SL-GapRequest-r13.h + LTE_SL-HoppingConfigComm-r12.h + LTE_SL-HoppingConfigDisc-r12.h + LTE_SL-InterFreqInfoListV2X-r14.h + LTE_SL-InterFreqInfoV2X-r14.h + LTE_SL-MinT2ValueList-r15.h + LTE_SL-MinT2Value-r15.h + LTE_SL-NR-AnchorCarrierFreqList-r16.h + LTE_SL-OffsetIndicator-r12.h + LTE_SL-OffsetIndicatorSync-r12.h + LTE_SL-OffsetIndicatorSync-r14.h + LTE_SL-OffsetIndicatorSync-v1430.h + LTE_SlotOrSubslotPDSCH-Config-r15.h + LTE_SlotOrSubslotPUSCH-Config-r15.h + LTE_SL-P2X-ResourceSelectionConfig-r14.h + LTE_SL-Parameters-r12.h + LTE_SL-Parameters-v1310.h + LTE_SL-Parameters-v1430.h + LTE_SL-Parameters-v1530.h + LTE_SL-Parameters-v1540.h + LTE_SL-Parameters-v1610.h + LTE_SL-Parameters-v1630.h + LTE_SL-PeriodComm-r12.h + LTE_SL-PoolSelectionConfig-r12.h + LTE_SL-PPPP-TxConfigIndex-r14.h + LTE_SL-PPPP-TxConfigIndex-r15.h + LTE_SL-PPPP-TxConfigIndex-v1530.h + LTE_SL-PPPP-TxPreconfigIndex-r14.h + LTE_SL-PPPP-TxPreconfigIndex-v1530.h + LTE_SL-PPPR-Dest-CarrierFreq.h + LTE_SL-PPPR-Dest-CarrierFreqList-r15.h + LTE_SL-PreconfigCommPoolList4-r12.h + LTE_SL-PreconfigCommPool-r12.h + LTE_SL-PreconfigCommRxPoolList-r13.h + LTE_SL-PreconfigCommTxPoolList-r13.h + LTE_SL-PreconfigDiscPool-r13.h + LTE_SL-PreconfigDiscRxPoolList-r13.h + LTE_SL-PreconfigDiscTxPoolList-r13.h + LTE_SL-PreconfigGeneral-r12.h + LTE_SL-PreconfigRelay-r13.h + LTE_SL-PreconfigSync-r12.h + LTE_SL-Preconfiguration-r12.h + LTE_SL-PreconfigV2X-RxPoolList-r14.h + LTE_SL-PreconfigV2X-Sync-r14.h + LTE_SL-PreconfigV2X-TxPoolList-r14.h + LTE_SL-PriorityList-r13.h + LTE_SL-Priority-r13.h + LTE_SL-PSSCH-TxConfigList-r14.h + LTE_SL-PSSCH-TxConfig-r14.h + LTE_SL-PSSCH-TxParameters-r14.h + LTE_SL-PSSCH-TxParameters-v1530.h + LTE_SL-ReliabilityList-r15.h + LTE_SL-Reliability-r15.h + LTE_SL-ResourcesInterFreq-r13.h + LTE_SL-RestrictResourceReservationPeriodList-r14.h + LTE_SL-RestrictResourceReservationPeriod-r14.h + LTE_SLSSID-r12.h + LTE_SL-SyncAllowed-r14.h + LTE_SL-SyncConfigListNFreq-r13.h + LTE_SL-SyncConfigListNFreqV2X-r14.h + LTE_SL-SyncConfigList-r12.h + LTE_SL-SyncConfigListV2X-r14.h + LTE_SL-SyncConfigNFreq-r13.h + LTE_SL-SyncConfig-r12.h + LTE_SL-SyncTxControl-r12.h + LTE_SL-TF-IndexPairList-r12b.h + LTE_SL-TF-IndexPairList-r12.h + LTE_SL-TF-IndexPair-r12b.h + LTE_SL-TF-IndexPair-r12.h + LTE_SL-TF-ResourceConfig-r12.h + LTE_SL-ThresPSSCH-RSRP-List-r14.h + LTE_SL-ThresPSSCH-RSRP-r14.h + LTE_SL-TRPT-Subset-r12.h + LTE_SL-TxParameters-r12.h + LTE_SL-TxPoolIdentity-r12.h + LTE_SL-TxPoolIdentity-v1310.h + LTE_SL-TxPoolToAddModListV2X-r14.h + LTE_SL-TxPoolToAddMod-r14.h + LTE_SL-TxPoolToReleaseListExt-r13.h + LTE_SL-TxPoolToReleaseList-r12.h + LTE_SL-TxPoolToReleaseListV2X-r14.h + LTE_SL-TxPower-r14.h + LTE_SL-TypeTxSync-r14.h + LTE_SL-V2X-CommFreqList-r14.h + LTE_SL-V2X-CommTxFreqList-r14.h + LTE_SL-V2X-CommTxResourceReq-r14.h + LTE_SL-V2X-ConfigCommon-r14.h + LTE_SL-V2X-ConfigDedicated-r14.h + LTE_SL-V2X-FreqSelectionConfigList-r15.h + LTE_SL-V2X-FreqSelectionConfig-r15.h + LTE_SL-V2X-InterFreqUE-Config-r14.h + LTE_SL-V2X-PacketDuplicationConfig-r15.h + LTE_SL-V2X-PreconfigCommPool-r14.h + LTE_SL-V2X-PreconfigFreqInfo-r14.h + LTE_SL-V2X-PreconfigFreqList-r14.h + LTE_SL-V2X-Preconfiguration-r14.h + LTE_SL-V2X-SyncFreqList-r15.h + LTE_SL-V2X-SyncOffsetIndicators-r14.h + LTE_SL-V2X-TxPoolIdentity-r14.h + LTE_SL-V2X-TxPoolReportIdentity-r14.h + LTE_SL-V2X-TxProfileList-r15.h + LTE_SL-V2X-TxProfile-r15.h + LTE_SL-V2X-UE-ConfigList-r14.h + LTE_SL-ZoneConfig-r14.h + LTE_SN-FieldLength.h + LTE_SN-FieldLength-r15.h + LTE_S-NSSAI-r15.h + LTE_SON-Parameters-NB-r16.h + LTE_SON-Parameters-r9.h + LTE_SoundingRS-AperiodicSet-r14.h + LTE_SoundingRS-AperiodicSetUpPTsExt-r14.h + LTE_SoundingRS-UL-ConfigCommon.h + LTE_SoundingRS-UL-ConfigDedicatedAdd-r16.h + LTE_SoundingRS-UL-ConfigDedicatedAperiodic-r10.h + LTE_SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13.h + LTE_SoundingRS-UL-ConfigDedicatedAperiodic-v1310.h + LTE_SoundingRS-UL-ConfigDedicatedAperiodic-v1430.h + LTE_SoundingRS-UL-ConfigDedicated.h + LTE_SoundingRS-UL-ConfigDedicatedUpPTsExt-r13.h + LTE_SoundingRS-UL-ConfigDedicated-v1020.h + LTE_SoundingRS-UL-ConfigDedicated-v1310.h + LTE_SoundingRS-VirtualCellID-r16.h + LTE_SPDCCH-Config-r15.h + LTE_SPDCCH-Elements-r15.h + LTE_SPDCCH-Set-r15.h + LTE_SpeedStateScaleFactors.h + LTE_SPS-ConfigDL.h + LTE_SPS-ConfigDL-STTI-r15.h + LTE_SPS-Config.h + LTE_SPS-ConfigIndex-r14.h + LTE_SPS-ConfigIndex-r15.h + LTE_SPS-ConfigSL-r14.h + LTE_SPS-ConfigSL-ToAddModList-r14.h + LTE_SPS-ConfigSL-ToReleaseList-r14.h + LTE_SPS-ConfigUL.h + LTE_SPS-ConfigUL-STTI-r15.h + LTE_SPS-ConfigUL-STTI-ToAddModList-r15.h + LTE_SPS-ConfigUL-STTI-ToReleaseList-r15.h + LTE_SPS-ConfigUL-ToAddModList-r14.h + LTE_SPS-ConfigUL-ToAddModList-r15.h + LTE_SPS-ConfigUL-ToReleaseList-r14.h + LTE_SPS-ConfigUL-ToReleaseList-r15.h + LTE_SPS-Config-v1430.h + LTE_SPS-Config-v1530.h + LTE_SPS-Config-v1540.h + LTE_SPT-Parameters-r15.h + LTE_SPUCCH-Config-r15.h + LTE_SPUCCH-Config-v1550.h + LTE_SPUCCH-Elements-r15.h + LTE_SPUCCH-Set-r15.h + LTE_SRB-ToAddMod.h + LTE_SRB-ToAddModListExt-r15.h + LTE_SRB-ToAddModList.h + LTE_SRB-ToAddModList-NB-r13.h + LTE_SRB-ToAddMod-NB-r13.h + LTE_SRB-ToReleaseList-r15.h + LTE_SR-NPRACH-Resource-NB-r15.h + LTE_SRS-AntennaPort.h + LTE_SRS-CapabilityPerBandPair-r14.h + LTE_SRS-CapabilityPerBandPair-v14b0.h + LTE_SRS-CapabilityPerBandPair-v1610.h + LTE_SRS-CC-SetIndex-r14.h + LTE_SRS-ConfigAdd-r16.h + LTE_SRS-ConfigAp-r10.h + LTE_SRS-ConfigAp-r13.h + LTE_SRS-ConfigAp-v1310.h + LTE_SR-SPS-BSR-Config-NB-r15.h + LTE_SRS-TPC-PDCCH-Config-r14.h + LTE_SR-SubslotSPUCCH-ResourceList-r15.h + LTE_SR-WithoutHARQ-ACK-Config-NB-r15.h + LTE_SSB-IndexList-r15.h + LTE_SSB-PositionQCL-CellsToAddModListNR-r16.h + LTE_SSB-PositionQCL-CellsToAddNR-r16.h + LTE_SSB-PositionQCL-RelationNR-r16.h + LTE_SSB-ToMeasure-r15.h + LTE_SS-RSSI-Measurement-r15.h + LTE_STAG-Id-r11.h + LTE_STAG-ToAddModList-r11.h + LTE_STAG-ToAddMod-r11.h + LTE_STAG-ToReleaseList-r11.h + LTE_Standalone-NB-r13.h + LTE_StandaloneTDD-NB-r15.h + LTE_S-TMSI.h + LTE_STTI-SPT-BandParameters-r15.h + LTE_STTI-SupportedCombinations-r15.h + LTE_SubframeAssignment-r15.h + LTE_SubframeBitmapSL-r12.h + LTE_SubframeBitmapSL-r14.h + LTE_SupportedBandCombinationAdd-r11.h + LTE_SupportedBandCombinationAdd-v11d0.h + LTE_SupportedBandCombinationAdd-v1250.h + LTE_SupportedBandCombinationAdd-v1270.h + LTE_SupportedBandCombinationAdd-v1320.h + LTE_SupportedBandCombinationAdd-v1380.h + LTE_SupportedBandCombinationAdd-v1390.h + LTE_SupportedBandCombinationAdd-v1430.h + LTE_SupportedBandCombinationAdd-v1450.h + LTE_SupportedBandCombinationAdd-v1470.h + LTE_SupportedBandCombinationAdd-v14b0.h + LTE_SupportedBandCombinationAdd-v1530.h + LTE_SupportedBandCombinationAdd-v1610.h + LTE_SupportedBandCombinationAdd-v1630.h + LTE_SupportedBandCombinationExt-r10.h + LTE_SupportedBandCombination-r10.h + LTE_SupportedBandCombinationReduced-r13.h + LTE_SupportedBandCombinationReduced-v1320.h + LTE_SupportedBandCombinationReduced-v1380.h + LTE_SupportedBandCombinationReduced-v1390.h + LTE_SupportedBandCombinationReduced-v1430.h + LTE_SupportedBandCombinationReduced-v1450.h + LTE_SupportedBandCombinationReduced-v1470.h + LTE_SupportedBandCombinationReduced-v14b0.h + LTE_SupportedBandCombinationReduced-v1530.h + LTE_SupportedBandCombinationReduced-v1610.h + LTE_SupportedBandCombinationReduced-v1630.h + LTE_SupportedBandCombination-v1090.h + LTE_SupportedBandCombination-v10i0.h + LTE_SupportedBandCombination-v1130.h + LTE_SupportedBandCombination-v1250.h + LTE_SupportedBandCombination-v1270.h + LTE_SupportedBandCombination-v1320.h + LTE_SupportedBandCombination-v1380.h + LTE_SupportedBandCombination-v1390.h + LTE_SupportedBandCombination-v1430.h + LTE_SupportedBandCombination-v1450.h + LTE_SupportedBandCombination-v1470.h + LTE_SupportedBandCombination-v14b0.h + LTE_SupportedBandCombination-v1530.h + LTE_SupportedBandCombination-v1610.h + LTE_SupportedBandCombination-v1630.h + LTE_SupportedBandEUTRA.h + LTE_SupportedBandEUTRA-v1250.h + LTE_SupportedBandEUTRA-v1310.h + LTE_SupportedBandEUTRA-v1320.h + LTE_SupportedBandEUTRA-v9e0.h + LTE_SupportedBandGERAN.h + LTE_SupportedBandInfoList-r12.h + LTE_SupportedBandInfo-r12.h + LTE_SupportedBandList1XRTT.h + LTE_SupportedBandListEUTRA.h + LTE_SupportedBandListEUTRA-v1250.h + LTE_SupportedBandListEUTRA-v1310.h + LTE_SupportedBandListEUTRA-v1320.h + LTE_SupportedBandListEUTRA-v9e0.h + LTE_SupportedBandListGERAN.h + LTE_SupportedBandListHRPD.h + LTE_SupportedBandList-NB-r13.h + LTE_SupportedBandListNR-r15.h + LTE_SupportedBandListUTRA-FDD.h + LTE_SupportedBandListUTRA-TDD128.h + LTE_SupportedBandListUTRA-TDD384.h + LTE_SupportedBandListUTRA-TDD768.h + LTE_SupportedBand-NB-r13.h + LTE_SupportedBandNR-r15.h + LTE_SupportedBandUTRA-FDD.h + LTE_SupportedBandUTRA-TDD128.h + LTE_SupportedBandUTRA-TDD384.h + LTE_SupportedBandUTRA-TDD768.h + LTE_SupportedBandwidthCombinationSet-r10.h + LTE_SupportedOperatorDic-r15.h + LTE_SupportedUDC-r15.h + LTE_SystemInfoListGERAN.h + LTE_SystemInformationBlockPos-r15.h + LTE_SystemInformationBlockType10.h + LTE_SystemInformationBlockType11.h + LTE_SystemInformationBlockType12-r9.h + LTE_SystemInformationBlockType13-r9.h + LTE_SystemInformationBlockType14-NB-r13.h + LTE_SystemInformationBlockType14-r11.h + LTE_SystemInformationBlockType15-NB-r14.h + LTE_SystemInformationBlockType15-r11.h + LTE_SystemInformationBlockType16-NB-r13.h + LTE_SystemInformationBlockType16-r11.h + LTE_SystemInformationBlockType17-r12.h + LTE_SystemInformationBlockType18-r12.h + LTE_SystemInformationBlockType19-r12.h + LTE_SystemInformationBlockType1-BR-r13.h + LTE_SystemInformationBlockType1.h + LTE_SystemInformationBlockType1-MBMS-r14.h + LTE_SystemInformationBlockType1-NB.h + LTE_SystemInformationBlockType1-NB-v1350.h + LTE_SystemInformationBlockType1-NB-v1430.h + LTE_SystemInformationBlockType1-NB-v1450.h + LTE_SystemInformationBlockType1-NB-v1530.h + LTE_SystemInformationBlockType1-NB-v1610.h + LTE_SystemInformationBlockType1-v10j0-IEs.h + LTE_SystemInformationBlockType1-v10l0-IEs.h + LTE_SystemInformationBlockType1-v10x0-IEs.h + LTE_SystemInformationBlockType1-v1130-IEs.h + LTE_SystemInformationBlockType1-v1250-IEs.h + LTE_SystemInformationBlockType1-v12j0-IEs.h + LTE_SystemInformationBlockType1-v1310-IEs.h + LTE_SystemInformationBlockType1-v1320-IEs.h + LTE_SystemInformationBlockType1-v1350-IEs.h + LTE_SystemInformationBlockType1-v1360-IEs.h + LTE_SystemInformationBlockType1-v1430-IEs.h + LTE_SystemInformationBlockType1-v1450-IEs.h + LTE_SystemInformationBlockType1-v1530-IEs.h + LTE_SystemInformationBlockType1-v1540-IEs.h + LTE_SystemInformationBlockType1-v15g0-IEs.h + LTE_SystemInformationBlockType1-v1610-IEs.h + LTE_SystemInformationBlockType1-v890-IEs.h + LTE_SystemInformationBlockType1-v8h0-IEs.h + LTE_SystemInformationBlockType1-v920-IEs.h + LTE_SystemInformationBlockType1-v9e0-IEs.h + LTE_SystemInformationBlockType20-NB-r14.h + LTE_SystemInformationBlockType20-r13.h + LTE_SystemInformationBlockType21-r14.h + LTE_SystemInformationBlockType22-NB-r14.h + LTE_SystemInformationBlockType23-NB-r15.h + LTE_SystemInformationBlockType24-r15.h + LTE_SystemInformationBlockType25-r15.h + LTE_SystemInformationBlockType26a-r16.h + LTE_SystemInformationBlockType26-r15.h + LTE_SystemInformationBlockType27-NB-r16.h + LTE_SystemInformationBlockType27-r16.h + LTE_SystemInformationBlockType28-r16.h + LTE_SystemInformationBlockType29-r16.h + LTE_SystemInformationBlockType2.h + LTE_SystemInformationBlockType2-NB-r13.h + LTE_SystemInformationBlockType2-v10m0-IEs.h + LTE_SystemInformationBlockType2-v10n0-IEs.h + LTE_SystemInformationBlockType2-v13c0-IEs.h + LTE_SystemInformationBlockType2-v8h0-IEs.h + LTE_SystemInformationBlockType2-v9e0-IEs.h + LTE_SystemInformationBlockType2-v9i0-IEs.h + LTE_SystemInformationBlockType3.h + LTE_SystemInformationBlockType3-NB-r13.h + LTE_SystemInformationBlockType3-v10j0-IEs.h + LTE_SystemInformationBlockType3-v10l0-IEs.h + LTE_SystemInformationBlockType4.h + LTE_SystemInformationBlockType4-NB-r13.h + LTE_SystemInformationBlockType5.h + LTE_SystemInformationBlockType5-NB-r13.h + LTE_SystemInformationBlockType5-v10j0-IEs.h + LTE_SystemInformationBlockType5-v10l0-IEs.h + LTE_SystemInformationBlockType5-v13a0-IEs.h + LTE_SystemInformationBlockType5-v8h0-IEs.h + LTE_SystemInformationBlockType5-v9e0-IEs.h + LTE_SystemInformationBlockType6.h + LTE_SystemInformationBlockType6-v8h0-IEs.h + LTE_SystemInformationBlockType7.h + LTE_SystemInformationBlockType8.h + LTE_SystemInformationBlockType9.h + LTE_SystemInformation-BR-r13.h + LTE_SystemInformation.h + LTE_SystemInformation-MBMS-r14.h + LTE_SystemInformation-NB.h + LTE_SystemInformation-NB-r13-IEs.h + LTE_SystemInformation-r8-IEs.h + LTE_SystemInformation-v8a0-IEs.h + LTE_SystemInfoValueTagList-NB-r13.h + LTE_SystemInfoValueTagList-r13.h + LTE_SystemInfoValueTagSI-r13.h + LTE_SystemTimeInfoCDMA2000.h + LTE_TargetMBSFN-AreaList-r12.h + LTE_TargetMBSFN-Area-r12.h + LTE_TDD-Config.h + LTE_TDD-Config-NB-r15.h + LTE_TDD-ConfigSL-r12.h + LTE_TDD-Config-v1130.h + LTE_TDD-Config-v1430.h + LTE_TDD-Config-v1450.h + LTE_TDD-PUSCH-UpPTS-r14.h + LTE_TDD-UE-Capability-NB-r15.h + LTE_TDD-UE-Capability-NB-v1610.h + LTE_TDD-UL-DL-AlignmentOffset-NB-r15.h + LTE_TDM-AssistanceInfo-r11.h + LTE_TDM-PatternConfig-r15.h + LTE_ThresholdCDMA2000.h + LTE_ThresholdEUTRA.h + LTE_ThresholdEUTRA-v1250.h + LTE_ThresholdGERAN.h + LTE_ThresholdListNR-r15.h + LTE_ThresholdNR-r15.h + LTE_ThresholdUTRA.h + LTE_TimeAlignmentTimer.h + LTE_TimeReferenceInfo-r15.h + LTE_TimeSinceFailure-r11.h + LTE_TimeToTrigger.h + LTE_TimeUntilReconnection-r16.h + LTE_TMGI-r9.h + LTE_TPC-Index.h + LTE_TPC-PDCCH-Config.h + LTE_TPC-PDCCH-ConfigSCell-r13.h + LTE_T-PollRetransmit.h + LTE_T-PollRetransmit-NB-r13.h + LTE_TraceReference-r10.h + LTE_TrackingAreaCode-5GC-r15.h + LTE_TrackingAreaCode.h + LTE_TrackingAreaCodeList-r10.h + LTE_TrackingAreaCodeList-v1130.h + LTE_TrackingAreaCodeNR-r15.h + LTE_TrafficPatternInfoList-r14.h + LTE_TrafficPatternInfoList-v1530.h + LTE_TrafficPatternInfo-r14.h + LTE_TrafficPatternInfo-v1530.h + LTE_T-Reordering.h + LTE_T-ReselectionEUTRA-CE-r13.h + LTE_T-Reselection.h + LTE_T-Reselection-NB-r13.h + LTE_T-StatusProhibit.h + LTE_TunnelConfigLWIP-r13.h + LTE_Tx-ConfigIndex-r14.h + LTE_Tx-PreconfigIndex-r14.h + LTE_Tx-ResourcePoolMeasList-r14.h + LTE_UAC-AC1-SelectAssistInfo-r15.h + LTE_UAC-AC1-SelectAssistInfo-r16.h + LTE_UAC-BarringInfoSetIndex-r15.h + LTE_UAC-BarringInfoSetList-r15.h + LTE_UAC-BarringInfoSet-r15.h + LTE_UAC-Barring-NB-r16.h + LTE_UAC-BarringPerCatList-NB-r16.h + LTE_UAC-BarringPerCatList-r15.h + LTE_UAC-BarringPerCat-NB-r16.h + LTE_UAC-BarringPerCat-r15.h + LTE_UAC-BarringPerPLMN-List-r15.h + LTE_UAC-BarringPerPLMN-r15.h + LTE_UAC-Param-NB-r16.h + LTE_UDT-RestrictingPerPLMN-List-r13.h + LTE_UDT-RestrictingPerPLMN-r13.h + LTE_UDT-Restricting-r13.h + LTE_UEAssistanceInformation-r11.h + LTE_UEAssistanceInformation-r11-IEs.h + LTE_UEAssistanceInformation-v1430-IEs.h + LTE_UEAssistanceInformation-v1450-IEs.h + LTE_UEAssistanceInformation-v1530-IEs.h + LTE_UEAssistanceInformation-v1610-IEs.h + LTE_UE-BasedNetwPerfMeasParameters-r10.h + LTE_UE-BasedNetwPerfMeasParameters-v1250.h + LTE_UE-BasedNetwPerfMeasParameters-v1430.h + LTE_UE-BasedNetwPerfMeasParameters-v1530.h + LTE_UE-BasedNetwPerfMeasParameters-v1610.h + LTE_UECapabilityEnquiry.h + LTE_UECapabilityEnquiry-NB.h + LTE_UECapabilityEnquiry-NB-r13-IEs.h + LTE_UECapabilityEnquiry-r8-IEs.h + LTE_UECapabilityEnquiry-v1180-IEs.h + LTE_UECapabilityEnquiry-v1310-IEs.h + LTE_UECapabilityEnquiry-v1430-IEs.h + LTE_UECapabilityEnquiry-v1510-IEs.h + LTE_UECapabilityEnquiry-v1530-IEs.h + LTE_UECapabilityEnquiry-v1550-IEs.h + LTE_UECapabilityEnquiry-v1560-IEs.h + LTE_UECapabilityEnquiry-v1610-IEs.h + LTE_UECapabilityEnquiry-v8a0-IEs.h + LTE_UECapabilityInformation.h + LTE_UECapabilityInformation-NB-Ext-r14-IEs.h + LTE_UECapabilityInformation-NB.h + LTE_UECapabilityInformation-NB-r13-IEs.h + LTE_UECapabilityInformation-r8-IEs.h + LTE_UECapabilityInformation-v1250-IEs.h + LTE_UECapabilityInformation-v8a0-IEs.h + LTE_UE-Capability-NB-Ext-r14-IEs.h + LTE_UE-Capability-NB-r13.h + LTE_UE-Capability-NB-v1440-IEs.h + LTE_UE-Capability-NB-v14x0-IEs.h + LTE_UE-Capability-NB-v1530-IEs.h + LTE_UE-Capability-NB-v15x0-IEs.h + LTE_UE-Capability-NB-v1610-IEs.h + LTE_UE-CapabilityRAT-Container.h + LTE_UE-CapabilityRAT-ContainerList.h + LTE_UE-CapabilityRequest.h + LTE_UE-CategorySL-r15.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-r9.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1060.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1130.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1180.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1250.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1310.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1320.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1370.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1380.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1430.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1510.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1530.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1540.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1550.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1560.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v15a0.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1610.h + LTE_UE-EUTRA-CapabilityAddXDD-Mode-v1630.h + LTE_UE-EUTRA-Capability.h + LTE_UE-EUTRA-Capability-v1020-IEs.h + LTE_UE-EUTRA-Capability-v1060-IEs.h + LTE_UE-EUTRA-Capability-v1090-IEs.h + LTE_UE-EUTRA-Capability-v10c0-IEs.h + LTE_UE-EUTRA-Capability-v10f0-IEs.h + LTE_UE-EUTRA-Capability-v10i0-IEs.h + LTE_UE-EUTRA-Capability-v10j0-IEs.h + LTE_UE-EUTRA-Capability-v1130-IEs.h + LTE_UE-EUTRA-Capability-v1170-IEs.h + LTE_UE-EUTRA-Capability-v1180-IEs.h + LTE_UE-EUTRA-Capability-v11a0-IEs.h + LTE_UE-EUTRA-Capability-v11d0-IEs.h + LTE_UE-EUTRA-Capability-v11x0-IEs.h + LTE_UE-EUTRA-Capability-v1250-IEs.h + LTE_UE-EUTRA-Capability-v1260-IEs.h + LTE_UE-EUTRA-Capability-v1270-IEs.h + LTE_UE-EUTRA-Capability-v1280-IEs.h + LTE_UE-EUTRA-Capability-v12b0-IEs.h + LTE_UE-EUTRA-Capability-v12x0-IEs.h + LTE_UE-EUTRA-Capability-v1310-IEs.h + LTE_UE-EUTRA-Capability-v1320-IEs.h + LTE_UE-EUTRA-Capability-v1330-IEs.h + LTE_UE-EUTRA-Capability-v1340-IEs.h + LTE_UE-EUTRA-Capability-v1350-IEs.h + LTE_UE-EUTRA-Capability-v1360-IEs.h + LTE_UE-EUTRA-Capability-v1370-IEs.h + LTE_UE-EUTRA-Capability-v1380-IEs.h + LTE_UE-EUTRA-Capability-v1390-IEs.h + LTE_UE-EUTRA-Capability-v13e0a-IEs.h + LTE_UE-EUTRA-Capability-v13e0b-IEs.h + LTE_UE-EUTRA-Capability-v1430-IEs.h + LTE_UE-EUTRA-Capability-v1440-IEs.h + LTE_UE-EUTRA-Capability-v1450-IEs.h + LTE_UE-EUTRA-Capability-v1460-IEs.h + LTE_UE-EUTRA-Capability-v1470-IEs.h + LTE_UE-EUTRA-Capability-v14a0-IEs.h + LTE_UE-EUTRA-Capability-v14b0-IEs.h + LTE_UE-EUTRA-Capability-v14x0-IEs.h + LTE_UE-EUTRA-Capability-v1510-IEs.h + LTE_UE-EUTRA-Capability-v1520-IEs.h + LTE_UE-EUTRA-Capability-v1530-IEs.h + LTE_UE-EUTRA-Capability-v1540-IEs.h + LTE_UE-EUTRA-Capability-v1550-IEs.h + LTE_UE-EUTRA-Capability-v1560-IEs.h + LTE_UE-EUTRA-Capability-v1570-IEs.h + LTE_UE-EUTRA-Capability-v15a0-IEs.h + LTE_UE-EUTRA-Capability-v15x0-IEs.h + LTE_UE-EUTRA-Capability-v1610-IEs.h + LTE_UE-EUTRA-Capability-v1630-IEs.h + LTE_UE-EUTRA-Capability-v1650-IEs.h + LTE_UE-EUTRA-Capability-v1660-IEs.h + LTE_UE-EUTRA-Capability-v1690-IEs.h + LTE_UE-EUTRA-Capability-v16c0-IEs.h + LTE_UE-EUTRA-Capability-v920-IEs.h + LTE_UE-EUTRA-Capability-v940-IEs.h + LTE_UE-EUTRA-Capability-v9a0-IEs.h + LTE_UE-EUTRA-Capability-v9c0-IEs.h + LTE_UE-EUTRA-Capability-v9d0-IEs.h + LTE_UE-EUTRA-Capability-v9e0-IEs.h + LTE_UE-EUTRA-Capability-v9h0-IEs.h + LTE_UEInformationRequest-NB-r16.h + LTE_UEInformationRequest-NB-r16-IEs.h + LTE_UEInformationRequest-r9.h + LTE_UEInformationRequest-r9-IEs.h + LTE_UEInformationRequest-v1020-IEs.h + LTE_UEInformationRequest-v1130-IEs.h + LTE_UEInformationRequest-v1250-IEs.h + LTE_UEInformationRequest-v1530-IEs.h + LTE_UEInformationRequest-v930-IEs.h + LTE_UEInformationResponse-NB-r16.h + LTE_UEInformationResponse-NB-r16-IEs.h + LTE_UEInformationResponse-r9.h + LTE_UEInformationResponse-r9-IEs.h + LTE_UEInformationResponse-v1020-IEs.h + LTE_UEInformationResponse-v1130-IEs.h + LTE_UEInformationResponse-v1250-IEs.h + LTE_UEInformationResponse-v1530-IEs.h + LTE_UEInformationResponse-v1610-IEs.h + LTE_UEInformationResponse-v930-IEs.h + LTE_UEInformationResponse-v9e0-IEs.h + LTE_UEPagingCoverageInformation.h + LTE_UEPagingCoverageInformation-NB.h + LTE_UEPagingCoverageInformation-NB-IEs.h + LTE_UEPagingCoverageInformation-r13-IEs.h + LTE_UERadioAccessCapabilityInformation.h + LTE_UERadioAccessCapabilityInformation-NB.h + LTE_UERadioAccessCapabilityInformation-NB-IEs.h + LTE_UERadioAccessCapabilityInformation-NB-r14-IEs.h + LTE_UERadioAccessCapabilityInformation-NB-v1380-IEs.h + LTE_UERadioAccessCapabilityInformation-r8-IEs.h + LTE_UE-RadioPagingInfo-NB-r13.h + LTE_UE-RadioPagingInfo-r12.h + LTE_UERadioPagingInformation.h + LTE_UERadioPagingInformation-NB.h + LTE_UERadioPagingInformation-NB-IEs.h + LTE_UERadioPagingInformation-r12-IEs.h + LTE_UERadioPagingInformation-v1310-IEs.h + LTE_UERadioPagingInformation-v1610-IEs.h + LTE_UE-TimersAndConstants.h + LTE_UE-TimersAndConstants-NB-r13.h + LTE_UL-256QAM-perCC-Info-r14.h + LTE_UL-AM-RLC.h + LTE_UL-AM-RLC-NB-r13.h + LTE_UL-AM-RLC-r15.h + LTE_UL-CarrierConfigDedicated-NB-r13.h + LTE_UL-CCCH-Message.h + LTE_UL-CCCH-Message-NB.h + LTE_UL-CCCH-MessageType.h + LTE_UL-CCCH-MessageType-NB.h + LTE_UL-ConfigCommonList-NB-r14.h + LTE_UL-ConfigCommonList-NB-v1530.h + LTE_UL-ConfigCommonListTDD-NB-r15.h + LTE_UL-ConfigCommon-NB-r14.h + LTE_UL-ConfigCommon-NB-v1530.h + LTE_UL-ConfigCommonTDD-NB-r15.h + LTE_UL-CyclicPrefixLength.h + LTE_UL-DCCH-Message.h + LTE_UL-DCCH-Message-NB.h + LTE_UL-DCCH-MessageType.h + LTE_UL-DCCH-MessageType-NB.h + LTE_ULDedicatedMessageSegment-r16.h + LTE_ULDedicatedMessageSegment-r16-IEs.h + LTE_UL-DelayConfig-r13.h + LTE_UL-DelayValueConfig-r16.h + LTE_ULHandoverPreparationTransfer.h + LTE_ULHandoverPreparationTransfer-r8-IEs.h + LTE_ULHandoverPreparationTransfer-v8a0-IEs.h + LTE_ULInformationTransfer.h + LTE_ULInformationTransferIRAT-r16.h + LTE_ULInformationTransferIRAT-r16-IEs.h + LTE_ULInformationTransferMRDC-r15.h + LTE_ULInformationTransferMRDC-r15-IEs.h + LTE_ULInformationTransfer-NB.h + LTE_ULInformationTransfer-NB-r13-IEs.h + LTE_ULInformationTransfer-r16-IEs.h + LTE_ULInformationTransfer-r8-IEs.h + LTE_ULInformationTransfer-v8a0-IEs.h + LTE_UL-PDCP-DelayResultList-r13.h + LTE_UL-PDCP-DelayResult-r13.h + LTE_UL-PDCP-DelayValueResultList-r16.h + LTE_UL-PDCP-DelayValueResult-r16.h + LTE_UL-ReferenceSignalsNPUSCH-NB-r13.h + LTE_UL-ReferenceSignalsPUSCH.h + LTE_UL-UM-RLC.h + LTE_UplinkPowerControlAddSRS-r16.h + LTE_UplinkPowerControlCommon.h + LTE_UplinkPowerControlCommon-NB-r13.h + LTE_UplinkPowerControlCommonPSCell-r12.h + LTE_UplinkPowerControlCommonPUSCH-LessCell-v1430.h + LTE_UplinkPowerControlCommonSCell-r10.h + LTE_UplinkPowerControlCommonSCell-v1130.h + LTE_UplinkPowerControlCommonSCell-v1310.h + LTE_UplinkPowerControlCommon-v1020.h + LTE_UplinkPowerControlCommon-v1310.h + LTE_UplinkPowerControlCommon-v1530.h + LTE_UplinkPowerControlCommon-v1610.h + LTE_UplinkPowerControlDedicated.h + LTE_UplinkPowerControlDedicated-NB-r13.h + LTE_UplinkPowerControlDedicatedSCell-r10.h + LTE_UplinkPowerControlDedicatedSCell-v1310.h + LTE_UplinkPowerControlDedicatedSTTI-r15.h + LTE_UplinkPowerControlDedicated-v1020.h + LTE_UplinkPowerControlDedicated-v1130.h + LTE_UplinkPowerControlDedicated-v1250.h + LTE_UplinkPowerControlDedicated-v1530.h + LTE_UplinkPUSCH-LessPowerControlDedicated-v1430.h + LTE_V2X-BandCombinationParametersEUTRA-NR-v1630.h + LTE_V2X-BandCombinationParameters-r14.h + LTE_V2X-BandCombinationParameters-v1530.h + LTE_V2X-BandParametersEUTRA-NR-r16.h + LTE_V2X-BandParametersEUTRA-NR-v1630.h + LTE_V2X-BandParameters-r14.h + LTE_V2X-BandParameters-v1530.h + LTE_V2X-BandwidthClass-r14.h + LTE_V2X-BandwidthClassSL-r14.h + LTE_V2X-SupportedBandCombinationEUTRA-NR-r16.h + LTE_V2X-SupportedBandCombinationEUTRA-NR-v1630.h + LTE_V2X-SupportedBandCombination-r14.h + LTE_V2X-SupportedBandCombination-v1530.h + LTE_ValidityAreaList-r16.h + LTE_ValidityArea-r16.h + LTE_ValidityCellList-r16.h + LTE_VarANR-MeasConfig-NB-r16.h + LTE_VarANR-MeasReport-NB-r16.h + LTE_VarConditionalReconfiguration.h + LTE_VarConnEstFailReport-r11.h + LTE_VarLogMeasConfig-r10.h + LTE_VarLogMeasConfig-r11.h + LTE_VarLogMeasConfig-r12.h + LTE_VarLogMeasConfig-r15.h + LTE_VarLogMeasReport-r10.h + LTE_VarLogMeasReport-r11.h + LTE_VarMeasConfig.h + LTE_VarMeasIdleConfig-r15.h + LTE_VarMeasIdleConfig-r16.h + LTE_VarMeasIdleReport-r15.h + LTE_VarMeasIdleReport-r16.h + LTE_VarMeasReport.h + LTE_VarMeasReportList.h + LTE_VarMeasReportList-r12.h + LTE_VarMobilityHistoryReport-r12.h + LTE_VarPendingRnaUpdate-r15.h + LTE_VarRLF-Report-NB-r16.h + LTE_VarRLF-Report-r10.h + LTE_VarRLF-Report-r11.h + LTE_VarShortINACTIVE-MAC-Input-r15.h + LTE_VarShortMAC-Input.h + LTE_VarShortMAC-Input-NB-r13.h + LTE_VarShortResumeMAC-Input-NB-r13.h + LTE_VarShortResumeMAC-Input-r13.h + LTE_VarWLAN-MobilityConfig.h + LTE_VarWLAN-Status-r13.h + LTE_VictimSystemType-r11.h + LTE_VictimSystemType-v1610.h + LTE_VisitedCellInfoList-r12.h + LTE_VisitedCellInfo-r12.h + LTE_WayPointLocation-r15.h + LTE_WhiteCellListNR-r16.h + LTE_WhiteCellsToAddModList-r13.h + LTE_WhiteCellsToAddMod-r13.h + LTE_WidebandPRG-r16.h + LTE_WLAN-backhaulRate-r12.h + LTE_WLAN-BandIndicator-r13.h + LTE_WLAN-CarrierInfo-r13.h + LTE_WLAN-ChannelList-r13.h + LTE_WLAN-Channel-r13.h + LTE_WLANConnectionStatusReport-r13.h + LTE_WLANConnectionStatusReport-r13-IEs.h + LTE_WLANConnectionStatusReport-v1430-IEs.h + LTE_WLAN-Identifiers-r12.h + LTE_WLAN-Id-List-r12.h + LTE_WLAN-Id-List-r13.h + LTE_WLAN-IW-Parameters-r12.h + LTE_WLAN-IW-Parameters-v1310.h + LTE_WLAN-MobilityConfig-r13.h + LTE_WLAN-NameListConfig-r15.h + LTE_WLAN-NameList-r15.h + LTE_WLAN-Name-r15.h + LTE_WLAN-OffloadConfig-r12.h + LTE_WLAN-OffloadInfoPerPLMN-r12.h + LTE_WLAN-RSSI-Range-r13.h + LTE_WLAN-RTT-r15.h + LTE_WLAN-Status-r13.h + LTE_WLAN-Status-v1430.h + LTE_WLAN-SuspendConfig-r14.h + LTE_WUS-Config-NB-r15.h + LTE_WUS-ConfigPerCarrier-NB-r15.h + LTE_WUS-Config-r15.h + LTE_WUS-Config-v1560.h + LTE_WUS-Config-v1610.h + LTE_WUS-MaxDurationFactor-NB-r15.h + LTE_ZeroTxPowerCSI-RS-Conf-r12.h + LTE_ZeroTxPowerCSI-RS-r12.h + NativeEnumerated.h + NativeInteger.h + NULL.h + ObjectDescriptor.h + OBJECT_IDENTIFIER.h + OCTET_STRING.h + OPEN_TYPE.h + per_decoder.h + per_encoder.h + per_opentype.h + per_support.h + uper_decoder.h + uper_encoder.h + uper_opentype.h + uper_support.h + xer_decoder.h + xer_encoder.h + xer_support.h +) diff --git a/openair2/RRC/LTE/MESSAGES/CMakeLists.txt b/openair2/RRC/LTE/MESSAGES/CMakeLists.txt index da667e9b2e..162463dc46 100644 --- a/openair2/RRC/LTE/MESSAGES/CMakeLists.txt +++ b/openair2/RRC/LTE/MESSAGES/CMakeLists.txt @@ -1,8 +1,10 @@ -set(LTE_RRC_VERSION 15 6 0) +set(LTE_RRC_VERSION 16 13 0) make_version(LTE_RRC_cc ${LTE_RRC_VERSION}) string(REPLACE ";" "." LTE_RRC_RELEASE "${LTE_RRC_VERSION}") -if(LTE_RRC_RELEASE VERSION_EQUAL "15.6.0") +if(LTE_RRC_RELEASE VERSION_EQUAL "16.13.0") + include(ASN.1/lte-rrc-16.13.0.cmake) +elseif(LTE_RRC_RELEASE VERSION_EQUAL "15.6.0") include(ASN.1/lte-rrc-15.6.0.cmake) else() message(FATAL_ERROR "unknown LTE_RRC_RELEASE ${LTE_RRC_RELEASE}") diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c index dc79541624..6ab23569af 100644 --- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c +++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c @@ -511,7 +511,7 @@ uint8_t do_SIB1_MBMS(rrc_eNB_carrier_data_t *carrier, (*sib1_MBMS)->cellAccessRelatedInfo_r14.cellIdentity_r14.bits_unused=4; (*sib1_MBMS)->freqBandIndicator_r14 = configuration->eutra_band[CC_id]; - schedulingInfo->si_Periodicity_r14=LTE_SchedulingInfo__si_Periodicity_rf16; + schedulingInfo->si_Periodicity_r14=LTE_SI_Periodicity_r12_rf16; *sib_type = LTE_SIB_Type_MBMS_r14_sibType13_v920; asn1cSeqAdd(&schedulingInfo->sib_MappingInfo_r14.list, sib_type); asn1cSeqAdd(&(*sib1_MBMS)->schedulingInfoList_MBMS_r14.list, schedulingInfo); @@ -549,7 +549,7 @@ uint8_t do_SIB1_MBMS(rrc_eNB_carrier_data_t *carrier, memset((MBSFN_Area1)->ext1,0,sizeof(*(MBSFN_Area1)->ext1)); MBSFN_Area1->ext1->subcarrierSpacingMBMS_r14 = CALLOC(1,sizeof(*( MBSFN_Area1->ext1)->subcarrierSpacingMBMS_r14)); memset(MBSFN_Area1->ext1->subcarrierSpacingMBMS_r14,0,sizeof(*((MBSFN_Area1)->ext1)->subcarrierSpacingMBMS_r14)); - *(MBSFN_Area1->ext1->subcarrierSpacingMBMS_r14) = LTE_MBSFN_AreaInfo_r9__ext1__subcarrierSpacingMBMS_r14_khz_1dot25; + *(MBSFN_Area1->ext1->subcarrierSpacingMBMS_r14) = LTE_MBSFN_AreaInfo_r9__ext1__subcarrierSpacingMBMS_r14_kHz1dot25; asn1cSeqAdd(&MBSFNArea_list->list,MBSFN_Area1); } @@ -938,9 +938,9 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, //(*sib1)->p_Max = CALLOC(1, sizeof(P_Max_t)); // *((*sib1)->p_Max) = 23; - schedulingInfo.si_Periodicity=LTE_SchedulingInfo__si_Periodicity_rf8; + schedulingInfo.si_Periodicity=LTE_SI_Periodicity_r12_rf8; if(configuration->eMBMS_M2_configured){ - schedulingInfo2.si_Periodicity=LTE_SchedulingInfo__si_Periodicity_rf8; + schedulingInfo2.si_Periodicity=LTE_SI_Periodicity_r12_rf8; } // This is for SIB2/3 sib_type=LTE_SIB_Type_sibType3; diff --git a/openair2/RRC/LTE/rrc_UE.c b/openair2/RRC/LTE/rrc_UE.c index 9c5746ce00..6aa452ed99 100644 --- a/openair2/RRC/LTE/rrc_UE.c +++ b/openair2/RRC/LTE/rrc_UE.c @@ -2538,9 +2538,14 @@ rrc_ue_decode_dcch( case LTE_DL_DCCH_MessageType__c1_PR_rnReconfiguration_r10: break; + case LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionResume_r13: + break; + + case LTE_DL_DCCH_MessageType__c1_PR_dlDedicatedMessageSegment_r16: + break; + case LTE_DL_DCCH_MessageType__c1_PR_spare1: case LTE_DL_DCCH_MessageType__c1_PR_spare2: - case LTE_DL_DCCH_MessageType__c1_PR_spare3: break; default: diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c index 245a899410..15b4914a65 100644 --- a/openair2/RRC/LTE/rrc_eNB.c +++ b/openair2/RRC/LTE/rrc_eNB.c @@ -212,7 +212,7 @@ init_SI( LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" SIB1-MBMS Subcarrier Spacing MBMS: %s\n", PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), (*RC.rrc[ctxt_pP->module_id]->carrier[CC_id].sib1_MBMS->systemInformationBlockType13_r14->mbsfn_AreaInfoList_r9.list.array[i]->ext1->subcarrierSpacingMBMS_r14 == - LTE_MBSFN_AreaInfo_r9__ext1__subcarrierSpacingMBMS_r14_khz_1dot25 ? "khz_1dot25": "khz_7dot5")); + LTE_MBSFN_AreaInfo_r9__ext1__subcarrierSpacingMBMS_r14_kHz1dot25 ? "khz_1dot25": "khz_7dot5")); } } diff --git a/openair2/RRC/LTE/rrc_eNB_M2AP.c b/openair2/RRC/LTE/rrc_eNB_M2AP.c index c4d0642b9f..63760907fd 100644 --- a/openair2/RRC/LTE/rrc_eNB_M2AP.c +++ b/openair2/RRC/LTE/rrc_eNB_M2AP.c @@ -481,6 +481,14 @@ static uint8_t rrc_M2AP_do_SIB1_MBMS_SIB13( break; case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib26_v1530: break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib26a_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib27_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib28_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib29_v1610: + break; case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2: LOG_I(RRC, "Adding MBSFN subframe Configuration 1 to SIB2\n"); @@ -784,6 +792,14 @@ static uint8_t rrc_M2AP_do_SIB23_SIB2( break; case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib26_v1530: break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib26a_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib27_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib28_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib29_v1610: + break; case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2: LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2, %p %p\n",&typeandinfo->choice.sib2,*sib2); @@ -1140,6 +1156,14 @@ static uint8_t rrc_M2AP_do_SIB23_SIB2_SIB13( break; case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib26_v1530: break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib26a_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib27_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib28_v1610: + break; + case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib29_v1610: + break; case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2: LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2, %p %p\n",&typeandinfo->choice.sib2,*sib2); From b04e166e59968e82822dfecacd3da7e61c10ab28 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 27 Nov 2023 11:41:58 +0100 Subject: [PATCH 40/43] gNB: take into account timing_advance option -A --- executables/nr-ru.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/executables/nr-ru.c b/executables/nr-ru.c index 6978c3f8aa..1c3fb5ee84 100644 --- a/executables/nr-ru.c +++ b/executables/nr-ru.c @@ -102,6 +102,7 @@ int attach_rru(RU_t *ru); int connect_rau(RU_t *ru); static void NRRCconfig_RU(configmodule_interface_t *cfg); +extern uint32_t timing_advance; extern int emulate_rf; extern int numerology; @@ -846,11 +847,11 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) { txp[i] = (void *)&ru->common.txdata[i][fp->get_samples_slot_timestamp(slot, fp, 0)] - sf_extension * sizeof(int32_t); VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST, - (timestamp + ru->ts_offset - ru->openair0_cfg.tx_sample_advance) & 0xffffffff); + (timestamp + ru->ts_offset - ru->openair0_cfg.tx_sample_advance - timing_advance) & 0xffffffff); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE, 1); // prepare tx buffer pointers txs = ru->rfdevice.trx_write_func(&ru->rfdevice, - timestamp + ru->ts_offset - ru->openair0_cfg.tx_sample_advance - sf_extension, + timestamp + ru->ts_offset - ru->openair0_cfg.tx_sample_advance - timing_advance - sf_extension, txp, siglen + sf_extension, ru->nb_tx, @@ -860,7 +861,7 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) { "returned %d, E %f\n", ru->idx, i, - (long long unsigned int)(timestamp + ru->ts_offset - ru->openair0_cfg.tx_sample_advance - sf_extension), + (long long unsigned int)(timestamp + ru->ts_offset - ru->openair0_cfg.tx_sample_advance - timing_advance - sf_extension), frame, slot, proc->frame_tx_unwrap, From 9acfaaabcbedea68d43e125cc7bf5885a754399d Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Sat, 25 Nov 2023 14:20:50 +0100 Subject: [PATCH 41/43] Set timing advance for gNB & UE to make OAI UE test more stable --- ci-scripts/yaml_files/5g_sa_n310_gnb/docker-compose.yml | 2 +- ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci-scripts/yaml_files/5g_sa_n310_gnb/docker-compose.yml b/ci-scripts/yaml_files/5g_sa_n310_gnb/docker-compose.yml index 30cef6b62b..c19400b109 100644 --- a/ci-scripts/yaml_files/5g_sa_n310_gnb/docker-compose.yml +++ b/ci-scripts/yaml_files/5g_sa_n310_gnb/docker-compose.yml @@ -7,7 +7,7 @@ services: container_name: oai-gnb environment: TZ: Europe/Paris - USE_ADDITIONAL_OPTIONS: --sa --tune-offset 20000000 --log_config.global_log_options level,nocolor,time + USE_ADDITIONAL_OPTIONS: --sa --tune-offset 20000000 -A 45 --log_config.global_log_options level,nocolor,time volumes: - ../../conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf:/opt/oai-gnb/etc/gnb.conf healthcheck: diff --git a/ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml b/ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml index 038ea51532..c8dabd9674 100644 --- a/ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml +++ b/ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml @@ -8,7 +8,7 @@ services: #entrypoint: /bin/bash -c "sleep infinity" environment: TZ: Europe/Paris - USE_ADDITIONAL_OPTIONS: --usrp-args type=n3xx,name=ni-n3xx-31641B9,addr=192.168.20.2 -r 106 --numerology 1 --band 78 -C 3511200000 --sa --ue-fo-compensation --ue-rxgain 65 --tune-offset 20000000 --log_config.global_log_options level,nocolor,time --uicc0.imsi 208970000000111 --uicc0.nssai_sd 16777215 + USE_ADDITIONAL_OPTIONS: --usrp-args type=n3xx,name=ni-n3xx-31641B9,addr=192.168.20.2 -r 106 --numerology 1 --band 78 -C 3511200000 --sa --ue-fo-compensation --ue-rxgain 65 --tune-offset 20000000 -A 45 --log_config.global_log_options level,nocolor,time --uicc0.imsi 208970000000111 --uicc0.nssai_sd 16777215 volumes: - ../../conf_files/ue.sa.conf:/opt/oai-nr-ue/etc/nr-ue.conf healthcheck: From ff381301966696dcd6f433c04fd8a9d89349fdcc Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Mon, 27 Nov 2023 12:29:48 +0100 Subject: [PATCH 42/43] bugfix: fix NSA CI test It seems like initialDLBWPcontrolResourceSetZero needs to be set otherwise the quectel UE does not accept the Reconfiguration. --- ci-scripts/conf_files/gnb.nsa.band78.106prb.usrpb200.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/ci-scripts/conf_files/gnb.nsa.band78.106prb.usrpb200.conf b/ci-scripts/conf_files/gnb.nsa.band78.106prb.usrpb200.conf index 46b0c4f8d4..e948a77786 100644 --- a/ci-scripts/conf_files/gnb.nsa.band78.106prb.usrpb200.conf +++ b/ci-scripts/conf_files/gnb.nsa.band78.106prb.usrpb200.conf @@ -63,6 +63,7 @@ gNBs = # subcarrierSpacing # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 initialULBWPsubcarrierSpacing = 1; + initialDLBWPcontrolResourceSetZero = 0; #rach-ConfigCommon #rach-ConfigGeneric prach_ConfigurationIndex = 98; From f3ff41befed111016bc2142ec8893f88a3a939b4 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 27 Nov 2023 14:36:50 +0100 Subject: [PATCH 43/43] Correct RX gain for OAI UE test --- ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf b/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf index eb664f1ccb..0a2930aade 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf +++ b/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf @@ -220,7 +220,7 @@ RUs = ( att_rx = 0; bands = [78]; max_pdschReferenceSignalPower = -27; - max_rxgain = 75; + max_rxgain = 65; eNB_instances = [0]; ##beamforming 1x2 matrix: 1 layer x 2 antennas bf_weights = [0x00007fff, 0x0000];