diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 3687b08a1a80dfc3640e07ff6d5200eb2313ddc0..94a88c095b770b55951840672e551d2084b8e7be 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -283,8 +283,10 @@ if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn)
 elseif (${RRC_ASN1_VERSION} STREQUAL "CBA")
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn)
-else()
+elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10")
   set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn)
+else()
+  set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn)
 endif  (${RRC_ASN1_VERSION} STREQUAL "Rel8")
 
 set (RRC_FULL_DIR ${asn1_generated_dir}/${RRC_ASN1_VERSION})
@@ -561,6 +563,7 @@ elseif (${RF_BOARD} STREQUAL "OAI_LMSSDR")
   include_directories("/usr/local/include/lime")
   include_directories("/usr/include/lime")
   LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu")
+  LINK_DIRECTORIES("/usr/local/lib")
   LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/lmsSDR")
   LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/lms7002m")
   LINK_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/Si5351C")
@@ -1768,6 +1771,7 @@ add_executable(lte-softmodem
   ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
   ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
   ${OPENAIR_DIR}/common/utils/utils.c
+  ${OPENAIR_DIR}/common/utils/system.c
   ${GTPU_need_ITTI}
   ${HW_SOURCE}
   ${TRANSPORT_SOURCE}
@@ -1804,6 +1808,7 @@ add_executable(lte-softmodem-nos1
   ${OPENAIR2_DIR}/RRC/NAS/nas_config.c
   ${OPENAIR2_DIR}/RRC/NAS/rb_config.c
   ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
+  ${OPENAIR_DIR}/common/utils/system.c
   ${HW_SOURCE}
   ${TRANSPORT_SOURCE}
   ${RTAI_SOURCE}
@@ -1899,6 +1904,7 @@ add_executable(oaisim
   ${OPENAIR2_DIR}/RRC/NAS/rb_config.c
   ${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
   ${OPENAIR_DIR}/common/utils/utils.c
+  ${OPENAIR_DIR}/common/utils/system.c
   ${GTPU_need_ITTI}
   ${OPENAIR_TARGETS}/COMMON/create_tasks.c
   ${HW_SOURCE}
@@ -1945,6 +1951,7 @@ add_executable(oaisim_nos1
   ${OPENAIR2_DIR}/RRC/NAS/nas_config.c
   ${OPENAIR2_DIR}/RRC/NAS/rb_config.c
   ${OPENAIR_TARGETS}/COMMON/create_tasks.c
+  ${OPENAIR_DIR}/common/utils/system.c
   ${HW_SOURCE}
   ${TRANSPORT_SOURCE}
   ${XFORMS_SOURCE}
@@ -2059,22 +2066,22 @@ endforeach(myExe)
 
 #ensure that the T header files are generated before targets depending on them
 if (${T_TRACER})
-  add_dependencies(lte-softmodem generate_T)
-  add_dependencies(lte-softmodem-nos1 generate_T)
-  add_dependencies(rrh_gw generate_T)
-  add_dependencies(oaisim generate_T)
-  add_dependencies(oaisim_nos1 generate_T)
-  add_dependencies(dlsim generate_T)
-  add_dependencies(dlsim_tm4 generate_T)
-  add_dependencies(dlsim_tm7 generate_T)
-  add_dependencies(ulsim generate_T)
-  add_dependencies(pbchsim generate_T)
-  add_dependencies(scansim generate_T)
-  add_dependencies(mbmssim generate_T)
-  add_dependencies(pdcchsim generate_T)
-  add_dependencies(pucchsim generate_T)
-  add_dependencies(prachsim generate_T)
-  add_dependencies(syncsim generate_T)
+  foreach(i
+        #all "add_executable" definitions (except tests, rb_tool, updatefw)
+        lte-softmodem lte-softmodem-nos1 rrh_gw oaisim oaisim_nos1
+        dlsim_tm4 dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim
+        pdcchsim pucchsim prachsim syncsim
+        #all "add_library" definitions
+        ITTI RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB
+        oai_exmimodevif oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif
+        oai_eth_transpro
+        FLPT_MSG ASYNC_IF FLEXRAN_AGENT HASHTABLE MSC UTIL OMG_SUMO SECU_OSA
+        SECU_CN SCHED_LIB PHY L2 default_sched remote_sched RAL MIH CN_UTILS
+        GTPV1U SCTP_CLIENT UDP LIB_NAS_UE LFDS LFDS7 SIMU SIMU_ETH OPENAIR0_LIB)
+    if (TARGET ${i})
+      add_dependencies(${i} generate_T)
+    endif()
+  endforeach(i)
 endif (${T_TRACER})
 
 ##################################################
@@ -2099,11 +2106,16 @@ endforeach()
 # force castxml and clang compilation with gnu89 standard
 # we can't use cXX standard as pthread_rwlock_t is gnu standard
 list(APPEND itti_compiler_options "-std=gnu89")
-
 set (ITTI_H ${ITTI_DIR}/intertask_interface_types.h)
+if(EXISTS /usr/bin/gccxml)
+   set(xml_command gccxml ${itti_compiler_options} -fxml=${OPENAIR_BIN_DIR}/messages.xml ${ITTI_H})
+else()
+   set(xml_command castxml --castxml-gccxml ${itti_compiler_options} ${ITTI_H} -o ${OPENAIR_BIN_DIR}/messages.xml)
+endif()
+
 add_custom_command (
   OUTPUT ${OPENAIR_BIN_DIR}/messages.xml
-  COMMAND gccxml ${itti_compiler_options} -fxml=${OPENAIR_BIN_DIR}/messages.xml ${ITTI_H}
+  COMMAND ${xml_command}
   DEPENDS ${S1AP_OAI_generated} ${RRC_FULL_DIR}/asn1_constants.h
   )
 
diff --git a/cmake_targets/at_commands/CMakeLists.txt b/cmake_targets/at_commands/CMakeLists.txt
index 61d1565bac912d2e03eb6c183a3d0f479ce161f2..db49a9181d6009523a8e596b18d54add9603da16 100755
--- a/cmake_targets/at_commands/CMakeLists.txt
+++ b/cmake_targets/at_commands/CMakeLists.txt
@@ -716,6 +716,7 @@ ADD_EXECUTABLE(at_nas_ue  ${OPENAIR_NAS_DIR}/UE/UEprocess.c
                           ${OPENAIR_NAS_DIR}/UE/nas_proc.c  
                           ${OPENAIR_NAS_DIR}/UE/nas_user.c  
                           ${OPENAIR_DIR}/common/utils/utils.c
+                          ${OPENAIR_DIR}/common/utils/system.c
                           )
                           
 target_link_libraries (at_nas_ue 
diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt
index 6cd0307b48aa2ca2eac46ed26849710262e48004..b94d99bff7b5a264ada3038a0027c3e6b3b786b1 100644
--- a/cmake_targets/autotests/README.txt
+++ b/cmake_targets/autotests/README.txt
@@ -239,6 +239,20 @@ Obj.#   Case#   Test#	Description
 01      75      04      Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
 01      75      05      Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
 
+01      76              lte-softmodem + RRU (NGFI IF4P5, UDP) tests with B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
+01      76      00      Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 1TX/1RX
+01      76      01      Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 1TX/1RX
+01      76      02      Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 1TX/1RX
+01      76      03      Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 1TX/1RX
+01      76      04      Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 1TX/1RX
+01      76      05      Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 1TX/1RX
+01      76      06      Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 1TX/1RX
+01      76      07      Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 1TX/1RX
+01      76      08      Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 1TX/1RX
+01      76      09      Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 1TX/1RX
+01      76      10      Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 1TX/1RX
+01      76      11      Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 1TX/1RX
+
 01      80              lte-softmodem + RRU (NGFI) tests with BladeRF RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
 01      80      00      Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
 01      80      01      Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml
index c55a29c97544776634f7b1723cf084536e7d4a75..0c80e960a45286fe34d3387d3c0783267cb63dc7 100644
--- a/cmake_targets/autotests/test_case_list.xml
+++ b/cmake_targets/autotests/test_case_list.xml
@@ -8664,6 +8664,19 @@ c
     <nruns>10</nruns>
     </testCase> 
 
+  <testCase id="017600"></testCase>
+  <testCase id="017601"></testCase>
+  <testCase id="017602"></testCase>
+  <testCase id="017603"></testCase>
+  <testCase id="017604"></testCase>
+  <testCase id="017605"></testCase>
+  <testCase id="017606"></testCase>
+  <testCase id="017607"></testCase>
+  <testCase id="017608"></testCase>
+  <testCase id="017609"></testCase>
+  <testCase id="017610"></testCase>
+  <testCase id="017611"></testCase>
+
   <testCase id="018600"></testCase>
   <testCase id="018601"></testCase>
   <testCase id="018602"></testCase>
diff --git a/cmake_targets/autotests/v2/actions/alu_hss.bash b/cmake_targets/autotests/v2/actions/alu_hss.bash
index ded1e352ce8dde0f861a2d2b5608e60b8fbbd282..be32fe9eb08d8d7c75292dcef1c35ad422ad17ec 100644
--- a/cmake_targets/autotests/v2/actions/alu_hss.bash
+++ b/cmake_targets/autotests/v2/actions/alu_hss.bash
@@ -1,2 +1,4 @@
+sudo rmmod nasmesh || true
+sudo rmmod ue_ip || true
 sudo /opt/ltebox/tools/stop_ltebox || true
 sudo /opt/hss_sim0609/starthss_real
diff --git a/cmake_targets/autotests/v2/actions/execution_compile.bash b/cmake_targets/autotests/v2/actions/execution_compile.bash
index 530447ebcdb0f5639db86138d9f2bab0dc75b9ed..149ebdff85f179ee5593e68c87aaf7c7a9abbfe1 100644
--- a/cmake_targets/autotests/v2/actions/execution_compile.bash
+++ b/cmake_targets/autotests/v2/actions/execution_compile.bash
@@ -1,5 +1,7 @@
 cd /tmp/oai_test_setup/oai
 source oaienv
+sudo rmmod nasmesh || true
+sudo rmmod ue_ip || true
 cd cmake_targets
 rm -rf log
 mkdir -p log
diff --git a/cmake_targets/autotests/v2/actions/run_enb.bash b/cmake_targets/autotests/v2/actions/run_enb.bash
index 1a4c5368a7453f83b446afcc92a69a1744610995..abf7dc028624bce03cf001ca701a695ebcc3637c 100644
--- a/cmake_targets/autotests/v2/actions/run_enb.bash
+++ b/cmake_targets/autotests/v2/actions/run_enb.bash
@@ -3,6 +3,8 @@ stty isig intr ^C
 
 cd /tmp/oai_test_setup/oai
 source oaienv
+sudo rmmod nasmesh || true
+sudo rmmod ue_ip || true
 cd cmake_targets/lte_build_oai/build
 ulimit -c unlimited
 sudo rm -f core
diff --git a/cmake_targets/autotests/v2/actions/start_3276.bash b/cmake_targets/autotests/v2/actions/start_3276.bash
index c6fbdcedd95a7ab20b821f0d6e0236860a3f3573..380c914d47ca57e23a5d17a2697b8eee9573dc02 100644
--- a/cmake_targets/autotests/v2/actions/start_3276.bash
+++ b/cmake_targets/autotests/v2/actions/start_3276.bash
@@ -3,6 +3,8 @@ stty isig intr ^C
 
 cd /tmp/oai_test_setup/oai
 source oaienv
+sudo rmmod nasmesh || true
+sudo rmmod ue_ip || true
 cd cmake_targets/autotests/v2/actions
 sudo python start_3276.py
 
diff --git a/cmake_targets/autotests/v2/actions/start_bandrich.bash b/cmake_targets/autotests/v2/actions/start_bandrich.bash
index e562dfc29be777b4c09e9e87cb53d620533b7dc3..7620e897842010f040696db8b49975be727e06f4 100644
--- a/cmake_targets/autotests/v2/actions/start_bandrich.bash
+++ b/cmake_targets/autotests/v2/actions/start_bandrich.bash
@@ -16,6 +16,8 @@ stty isig intr ^C
 
 cd /tmp/oai_test_setup/oai
 source oaienv
+sudo rmmod nasmesh || true
+sudo rmmod ue_ip || true
 cd cmake_targets/autotests/v2/actions
 python start_bandrich.py
 
diff --git a/cmake_targets/autotests/v2/alu_test.py b/cmake_targets/autotests/v2/alu_test.py
index 8ba6ab857ab52715fbbcc9f9a40e5ac58adb1eee..762e414a95f93ea988ed253cfd9d2abe991f8269 100644
--- a/cmake_targets/autotests/v2/alu_test.py
+++ b/cmake_targets/autotests/v2/alu_test.py
@@ -9,18 +9,24 @@ class alu_test:
                  openair,
                  user, password,
                  log_subdir,
-                 env):
-        self.epc_machine  = epc
-        self.enb_machine  = enb
-        self.ue_machine   = ue
-        self.openair_dir  = openair
-        self.oai_user     = user
-        self.oai_password = password
-        self.env          = env
-
-        self.task_hss = None
-        self.task_enb = None
-        self.task_ue  = None
+                 env,
+                 enb_rru = "",
+                 enb_rcc = ""):
+        self.epc_machine      = epc
+        self.enb_machine      = enb
+        self.ue_machine       = ue
+        self.openair_dir      = openair
+        self.oai_user         = user
+        self.oai_password     = password
+        self.env              = env
+        self.enb_rru_machine  = enb_rru
+        self.enb_rcc_machine  = enb_rcc
+
+        self.task_hss     = None
+        self.task_enb     = None
+        self.task_ue      = None
+        self.task_rru_enb = None
+        self.task_rcc_enb = None
 
         self.logdir = openair + '/cmake_targets/autotests/log/' + log_subdir
         quickshell('mkdir -p ' + self.logdir)
@@ -40,6 +46,10 @@ class alu_test:
             self.task_enb.kill()
         if self.task_ue != None and self.task_ue.alive():
             self.task_ue.kill()
+        if self.task_rru_enb != None and self.task_rru_enb.alive():
+            self.task_rru_enb.kill()
+        if self.task_rcc_enb != None and self.task_rcc_enb.alive():
+            self.task_rcc_enb.kill()
 
     ##########################################################################
     # start_epc
@@ -101,7 +111,7 @@ class alu_test:
     ##########################################################################
     # compile_enb
     ##########################################################################
-    def compile_enb(self, build_arguments):
+    def compile_enb(self, build_arguments, log_suffix=""):
         log("INFO: ALU test: compile softmodem on " + self.enb_machine)
         envcomp = list(self.env)
         envcomp.append('BUILD_ARGUMENTS="' + build_arguments + '"')
@@ -120,7 +130,8 @@ class alu_test:
                 self.oai_user,
                 self.oai_password,
                 envcomp,
-                self.logdir + "/compile_softmodem." + self.enb_machine,
+                self.logdir + "/compile_softmodem." + log_suffix + \
+                    self.enb_machine,
                 post_action=post_action)
         ret = task.wait()
         if ret != 0:
@@ -162,6 +173,62 @@ class alu_test:
             #not sure if we have to quit here or not
             #os._exit(1)
 
+    ##########################################################################
+    # start_enb_rru_rcc
+    ##########################################################################
+    def start_enb_rru_rcc(self, rru_config_file, rcc_config_file):
+        #copy wanted configuration files
+        quickshell("sshpass -p " + self.oai_password +
+                   " scp config/" + rru_config_file + " " +
+                   self.oai_user + "@" + self.enb_rru_machine+":/tmp/enb.conf")
+        quickshell("sshpass -p " + self.oai_password +
+                   " scp config/" + rcc_config_file + " " +
+                   self.oai_user + "@" + self.enb_rcc_machine+":/tmp/enb.conf")
+
+        #run RRU/RCC softmodem
+        log("INFO: ALU test: run RRU softmodem with configuration file " +
+            rru_config_file)
+        self.task_rru_enb = Task("actions/run_enb.bash",
+                "run_RRU_softmodem",
+                self.enb_rru_machine,
+                self.oai_user,
+                self.oai_password,
+                self.env,
+                self.logdir + "/run_softmodem." + self.enb_rru_machine,
+                event=self.event)
+        self.task_rru_enb.waitlog('[RRH] binding to')
+        log("INFO: ALU test: run RCC softmodem with configuration file " +
+            rcc_config_file)
+        self.task_rcc_enb = Task("actions/run_enb.bash",
+                "run_RCC_softmodem",
+                self.enb_rcc_machine,
+                self.oai_user,
+                self.oai_password,
+                self.env,
+                self.logdir + "/run_softmodem." + self.enb_rcc_machine,
+                event=self.event)
+        self.task_rcc_enb.waitlog('[BBU] local ip addr')
+        #wait for RRU and RCC to be connected
+        self.task_rru_enb.waitlog('devices ok (eNB_thread_asynch_rx)')
+
+    ##########################################################################
+    # stop_enb_rru_rcc
+    ##########################################################################
+    def stop_enb_rru_rcc(self):
+        log("INFO: ALU test: stop RRU/RCC softmodem")
+        self.task_rru_enb.sendnow("%c" % 3)
+        ret = self.task_rru_enb.wait()
+        if ret != 0:
+            log("ERROR: ALU test: RRU softmodem failed")
+            #not sure if we have to quit here or not
+            #os._exit(1)
+        self.task_rcc_enb.sendnow("%c" % 3)
+        ret = self.task_rcc_enb.wait()
+        if ret != 0:
+            log("ERROR: ALU test: RCC softmodem failed")
+            #not sure if we have to quit here or not
+            #os._exit(1)
+
     ##########################################################################
     # start_ue
     ##########################################################################
@@ -185,7 +252,9 @@ class alu_test:
 
         self.event.clear()
 
-        if (    not self.task_enb.alive() or
+        if (    (self.task_enb != None and not self.task_enb.alive()) or
+                (self.task_rru_enb!=None and not self.task_rru_enb.alive()) or
+                (self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or
                 not self.task_hss.alive() or
                 not self.task_ue.alive()):
             log("ERROR: ALU test: eNB, HSS or UE task died")
@@ -250,14 +319,20 @@ class alu_test:
         self.event.wait()
         log("DEBUG: event.wait() done")
 
-        if (    not self.task_enb.alive() or
+        if (    (self.task_enb != None and not self.task_enb.alive()) or
+                (self.task_rru_enb!=None and not self.task_rru_enb.alive()) or
+                (self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or
                 not self.task_hss.alive() or
                 not self.task_ue.alive()):
             log("ERROR: unexpected task exited, test failed, kill all")
             if task_traffic_client.alive():
                 task_traffic_client.kill()
-            if self.task_enb.alive():
+            if (self.task_enb != None and self.task_enb.alive()):
                 self.task_enb.kill()
+            if (self.task_rru_enb != None and self.task_rru_enb.alive()):
+                self.task_rru_enb.kill()
+            if (self.task_rcc_enb != None and self.task_rcc_enb.alive()):
+                self.task_rcc_enb.kill()
             if self.task_ue.alive():
                 self.task_ue.kill()
 
@@ -277,7 +352,9 @@ class alu_test:
 
         self.event.clear()
 
-        if (    not self.task_enb.alive() or
+        if (    (self.task_enb != None and not self.task_enb.alive()) or
+                (self.task_rru_enb!=None and not self.task_rru_enb.alive()) or
+                (self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or
                 not self.task_hss.alive() or
                 not self.task_ue.alive()):
             log("ERROR: ALU test: eNB, HSS or UE task died")
@@ -334,8 +411,6 @@ class alu_test:
 ##############################################################################
 
 def run_b210_alu(tests, openair_dir, oai_user, oai_password, env):
-    if not do_tests(tests['b210']['alu']):
-        return
 
     #compile eNB (two cases: one for FDD and one for TDD)
 
@@ -365,6 +440,44 @@ def run_b210_alu(tests, openair_dir, oai_user, oai_password, env):
             log("ERROR: ALU test failed: eNB compilation failed: " + str(e))
             return
 
+    #compile RRU/RCC eNB
+
+    if do_tests(tests['remote b210']['alu']['fdd']):
+        #RRU
+        alu = alu_test(epc='amerique', ue='stevens',
+                       openair=openair_dir,
+                       user=oai_user, password=oai_password,
+                       log_subdir='enb_tests/remote_b210_alu/compile_enb_rru',
+                       env=env,
+                       #hack: set 'enb' to reuse 'compile_enb'
+                       enb = 'superserver',
+                       enb_rru = 'superserver', enb_rcc = 'starsky')
+
+        try:
+            alu.compile_enb("--eNB -x -c -w USRP -t ETHERNET",
+                            log_suffix='rru.')
+        except BaseException, e:
+            log("ERROR: ALU test failed: RRU eNB compilation failed: "+str(e))
+            return
+
+        #RCC
+        alu = alu_test(epc='amerique', ue='stevens',
+                       openair=openair_dir,
+                       user=oai_user, password=oai_password,
+                       log_subdir='enb_tests/remote_b210_alu/compile_enb_rcc',
+                       env=env,
+                       #hack: set 'enb' to reuse 'compile_enb'
+                       enb = 'starsky',
+                       enb_rru = 'superserver', enb_rcc = 'starsky')
+
+        try:
+            alu.compile_enb("--eNB -w None -t ETHERNET",
+                            log_suffix='rcc.')
+        except BaseException, e:
+            log("ERROR: ALU test failed: RCC eNB compilation failed: "+str(e))
+            return
+
+
     #run tests
 
     udp_dl_bandwidth = { "5"  : "15M",
@@ -410,3 +523,29 @@ def run_b210_alu(tests, openair_dir, oai_user, oai_password, env):
                 except BaseException, e:
                     log("ERROR: ALU test failed: " + str(e))
                     alu.finish()
+            if do_tests(tests['remote b210']['alu'][mode][bw]):
+                log("INFO: ALU test: run RRU/RCC tests for bandwidth " + bw + " MHz")
+                ctest = tests['remote b210']['alu'][mode][bw]
+                alu = alu_test(epc='amerique', enb='', ue=ue_machine[mode],
+                               openair=openair_dir,
+                               user=oai_user, password=oai_password,
+                               log_subdir='enb_tests/remote_b210_alu/' + bw,
+                               env=env,
+                               enb_rru='superserver', enb_rcc='starsky')
+                try:
+                    alu.start_epc()
+                    alu.start_enb_rru_rcc("rru.band7.tm1.if4p5." + bw + "MHz.udp.usrpb210.conf",
+                                          "rcc.band7.tm1.if4p5." + bw + "MHz.conf")
+                    for ue in ('bandrich', '3276'):
+                        if ue in ctest and do_tests(ctest[ue]):
+                            alu.start_ue(ue)
+                            if do_tests(ctest[ue]['tcp']['dl']): alu.dl_tcp(ue)
+                            if do_tests(ctest[ue]['tcp']['ul']): alu.ul_tcp(ue)
+                            if do_tests(ctest[ue]['udp']['dl']): alu.dl_udp(ue, udp_dl_bandwidth[bw])
+                            if do_tests(ctest[ue]['udp']['ul']): alu.ul_udp(ue, udp_ul_bandwidth[bw])
+                            alu.stop_ue(ue)
+                    alu.stop_enb_rru_rcc()
+                    alu.stop_epc()
+                except BaseException, e:
+                    log("ERROR: ALU test failed: " + str(e))
+                    alu.finish()
diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf
new file mode 100644
index 0000000000000000000000000000000000000000..81eed5f4b10946477df799fd0820e51ea2ffb71a
--- /dev/null
+++ b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf
@@ -0,0 +1,192 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "92";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function             = "NGFI_RCC_IF4p5";
+      node_timing               = "synch_to_ext_device";
+      node_synch_ref            = 0;
+      frame_type					      = "FDD";
+      tdd_config 					      = 3;
+      tdd_config_s            			      = 0;
+      prefix_type             			      = "NORMAL";
+      eutra_band              			      = 7;
+      downlink_frequency      			      = 2660000000L;
+      uplink_frequency_offset 			      = -120000000;
+      Nid_cell					      = 0;
+      N_RB_DL                 			      = 50;
+      Nid_cell_mbsfn          			      = 0;
+      nb_antenna_ports                                = 1;
+      nb_antennas_tx          			      = 1;
+      nb_antennas_rx          			      = 1;
+      tx_gain                                            = 90;
+      rx_gain                                            = 125;
+      prach_root              			      = 0;
+      prach_config_index      			      = 0;
+      prach_high_speed        			      = "DISABLE";
+      prach_zero_correlation  			      = 1;
+      prach_freq_offset       			      = 2;
+      pucch_delta_shift       			      = 1;
+      pucch_nRB_CQI           			      = 1;
+      pucch_nCS_AN            			      = 0;
+      pucch_n1_AN             			      = 32;
+      pdsch_referenceSignalPower 			      = -29;
+      pdsch_p_b                  			      = 0;
+      pusch_n_SB                 			      = 1;
+      pusch_enable64QAM          			      = "DISABLE";
+      pusch_hoppingMode                                  = "interSubFrame";
+      pusch_hoppingOffset                                = 0;
+      pusch_groupHoppingEnabled  			      = "ENABLE";
+      pusch_groupAssignment      			      = 0;
+      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+      pusch_nDMRS1                                       = 1;
+      phich_duration                                     = "NORMAL";
+      phich_resource                                     = "ONESIXTH";
+      srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+      srs_SubframeConfig                                 =;
+      srs_ackNackST                                      =;
+      srs_MaxUpPts                                       =;*/
+
+      pusch_p0_Nominal                                   = -96;
+      pusch_alpha                                        = "AL1";
+      pucch_p0_Nominal                                   = -104;
+      msg3_delta_Preamble                                = 6;
+      pucch_deltaF_Format1                               = "deltaF2";
+      pucch_deltaF_Format1b                              = "deltaF3";
+      pucch_deltaF_Format2                               = "deltaF0";
+      pucch_deltaF_Format2a                              = "deltaF0";
+      pucch_deltaF_Format2b		    	      = "deltaF0";
+
+      rach_numberOfRA_Preambles                          = 64;
+      rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA                      = ;
+      rach_messageSizeGroupA                             = ;
+      rach_messagePowerOffsetGroupB                      = ;
+      */
+      rach_powerRampingStep                              = 4;
+      rach_preambleInitialReceivedTargetPower            = -108;
+      rach_preambleTransMax                              = 10;
+      rach_raResponseWindowSize                          = 10;
+      rach_macContentionResolutionTimer                  = 48;
+      rach_maxHARQ_Msg3Tx                                = 4;
+
+      pcch_default_PagingCycle                           = 128;
+      pcch_nB                                            = "oneT";
+      bcch_modificationPeriodCoeff			      = 2;
+      ue_TimersAndConstants_t300			      = 1000;
+      ue_TimersAndConstants_t301			      = 1000;
+      ue_TimersAndConstants_t310			      = 1000;
+      ue_TimersAndConstants_t311			      = 10000;
+      ue_TimersAndConstants_n310			      = 20;
+      ue_TimersAndConstants_n311			      = 1;
+      ue_TransmissionMode                                    = 1;
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.18/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.18/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+    };
+
+    rrh_gw_config = (
+    {
+      	local_if_name = "eth1";			  
+   	remote_address = "10.10.10.157";
+    	local_address = "10.10.10.18";    
+    	local_port = 50000;	#for raw option local port must be the same to remote	       
+    	remote_port = 50000; 
+    	rrh_gw_active = "yes";
+    	tr_preference = "udp_if4p5";
+    	rf_preference = "usrp_b200";
+    	iq_txshift = 4;
+    	tx_sample_advance = 80;	
+    	tx_scheduling_advance = 9;
+        if_compression = "alaw";
+    }
+    );  
+
+    log_config :
+    {
+      global_log_level                      ="info";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+  }
+);
diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf
new file mode 100644
index 0000000000000000000000000000000000000000..4b4190f8ce980cf107f62bd76eab8a9ca9ecf1da
--- /dev/null
+++ b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf
@@ -0,0 +1,192 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "92";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function             = "NGFI_RCC_IF4p5";
+      node_timing               = "synch_to_ext_device";
+      node_synch_ref            = 0;
+      frame_type					      = "FDD";
+      tdd_config 					      = 3;
+      tdd_config_s            			      = 0;
+      prefix_type             			      = "NORMAL";
+      eutra_band              			      = 7;
+      downlink_frequency      			      = 2660000000L;
+      uplink_frequency_offset 			      = -120000000;
+      Nid_cell					      = 0;
+      N_RB_DL                 			      = 100;
+      Nid_cell_mbsfn          			      = 0;
+      nb_antenna_ports                                = 1;
+      nb_antennas_tx          			      = 1;
+      nb_antennas_rx          			      = 1;
+      tx_gain                                            = 90;
+      rx_gain                                            = 125;
+      prach_root              			      = 0;
+      prach_config_index      			      = 0;
+      prach_high_speed        			      = "DISABLE";
+      prach_zero_correlation  			      = 1;
+      prach_freq_offset       			      = 2;
+      pucch_delta_shift       			      = 1;
+      pucch_nRB_CQI           			      = 1;
+      pucch_nCS_AN            			      = 0;
+      pucch_n1_AN             			      = 32;
+      pdsch_referenceSignalPower 			      = -29;
+      pdsch_p_b                  			      = 0;
+      pusch_n_SB                 			      = 1;
+      pusch_enable64QAM          			      = "DISABLE";
+      pusch_hoppingMode                                  = "interSubFrame";
+      pusch_hoppingOffset                                = 0;
+      pusch_groupHoppingEnabled  			      = "ENABLE";
+      pusch_groupAssignment      			      = 0;
+      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+      pusch_nDMRS1                                       = 1;
+      phich_duration                                     = "NORMAL";
+      phich_resource                                     = "ONESIXTH";
+      srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+      srs_SubframeConfig                                 =;
+      srs_ackNackST                                      =;
+      srs_MaxUpPts                                       =;*/
+
+      pusch_p0_Nominal                                   = -96;
+      pusch_alpha                                        = "AL1";
+      pucch_p0_Nominal                                   = -104;
+      msg3_delta_Preamble                                = 6;
+      pucch_deltaF_Format1                               = "deltaF2";
+      pucch_deltaF_Format1b                              = "deltaF3";
+      pucch_deltaF_Format2                               = "deltaF0";
+      pucch_deltaF_Format2a                              = "deltaF0";
+      pucch_deltaF_Format2b		    	      = "deltaF0";
+
+      rach_numberOfRA_Preambles                          = 64;
+      rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA                      = ;
+      rach_messageSizeGroupA                             = ;
+      rach_messagePowerOffsetGroupB                      = ;
+      */
+      rach_powerRampingStep                              = 4;
+      rach_preambleInitialReceivedTargetPower            = -108;
+      rach_preambleTransMax                              = 10;
+      rach_raResponseWindowSize                          = 10;
+      rach_macContentionResolutionTimer                  = 48;
+      rach_maxHARQ_Msg3Tx                                = 4;
+
+      pcch_default_PagingCycle                           = 128;
+      pcch_nB                                            = "oneT";
+      bcch_modificationPeriodCoeff			      = 2;
+      ue_TimersAndConstants_t300			      = 1000;
+      ue_TimersAndConstants_t301			      = 1000;
+      ue_TimersAndConstants_t310			      = 1000;
+      ue_TimersAndConstants_t311			      = 10000;
+      ue_TimersAndConstants_n310			      = 20;
+      ue_TimersAndConstants_n311			      = 1;
+      ue_TransmissionMode                                    = 1;
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.18/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.18/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+    };
+
+    rrh_gw_config = (
+    {
+      	local_if_name = "eth1";			  
+   	remote_address = "10.10.10.157";
+    	local_address = "10.10.10.18";    
+    	local_port = 50000;	#for raw option local port must be the same to remote	       
+    	remote_port = 50000; 
+    	rrh_gw_active = "yes";
+    	tr_preference = "udp_if4p5";
+    	rf_preference = "usrp_b200";
+    	iq_txshift = 4;
+    	tx_sample_advance = 80;	
+    	tx_scheduling_advance = 9;
+        if_compression = "alaw";
+    }
+    );  
+
+    log_config :
+    {
+      global_log_level                      ="info";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+  }
+);
diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf
new file mode 100644
index 0000000000000000000000000000000000000000..99b9a66226f0b1d5bc821f632d59636e604fc4f0
--- /dev/null
+++ b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf
@@ -0,0 +1,192 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "92";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function             = "NGFI_RCC_IF4p5";
+      node_timing               = "synch_to_ext_device";
+      node_synch_ref            = 0;
+      frame_type					      = "FDD";
+      tdd_config 					      = 3;
+      tdd_config_s            			      = 0;
+      prefix_type             			      = "NORMAL";
+      eutra_band              			      = 7;
+      downlink_frequency      			      = 2660000000L;
+      uplink_frequency_offset 			      = -120000000;
+      Nid_cell					      = 0;
+      N_RB_DL                 			      = 25;
+      Nid_cell_mbsfn          			      = 0;
+      nb_antenna_ports                                = 1;
+      nb_antennas_tx          			      = 1;
+      nb_antennas_rx          			      = 1;
+      tx_gain                                            = 90;
+      rx_gain                                            = 125;
+      prach_root              			      = 0;
+      prach_config_index      			      = 0;
+      prach_high_speed        			      = "DISABLE";
+      prach_zero_correlation  			      = 1;
+      prach_freq_offset       			      = 2;
+      pucch_delta_shift       			      = 1;
+      pucch_nRB_CQI           			      = 1;
+      pucch_nCS_AN            			      = 0;
+      pucch_n1_AN             			      = 32;
+      pdsch_referenceSignalPower 			      = -29;
+      pdsch_p_b                  			      = 0;
+      pusch_n_SB                 			      = 1;
+      pusch_enable64QAM          			      = "DISABLE";
+      pusch_hoppingMode                                  = "interSubFrame";
+      pusch_hoppingOffset                                = 0;
+      pusch_groupHoppingEnabled  			      = "ENABLE";
+      pusch_groupAssignment      			      = 0;
+      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+      pusch_nDMRS1                                       = 1;
+      phich_duration                                     = "NORMAL";
+      phich_resource                                     = "ONESIXTH";
+      srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+      srs_SubframeConfig                                 =;
+      srs_ackNackST                                      =;
+      srs_MaxUpPts                                       =;*/
+
+      pusch_p0_Nominal                                   = -96;
+      pusch_alpha                                        = "AL1";
+      pucch_p0_Nominal                                   = -104;
+      msg3_delta_Preamble                                = 6;
+      pucch_deltaF_Format1                               = "deltaF2";
+      pucch_deltaF_Format1b                              = "deltaF3";
+      pucch_deltaF_Format2                               = "deltaF0";
+      pucch_deltaF_Format2a                              = "deltaF0";
+      pucch_deltaF_Format2b		    	      = "deltaF0";
+
+      rach_numberOfRA_Preambles                          = 64;
+      rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA                      = ;
+      rach_messageSizeGroupA                             = ;
+      rach_messagePowerOffsetGroupB                      = ;
+      */
+      rach_powerRampingStep                              = 4;
+      rach_preambleInitialReceivedTargetPower            = -108;
+      rach_preambleTransMax                              = 10;
+      rach_raResponseWindowSize                          = 10;
+      rach_macContentionResolutionTimer                  = 48;
+      rach_maxHARQ_Msg3Tx                                = 4;
+
+      pcch_default_PagingCycle                           = 128;
+      pcch_nB                                            = "oneT";
+      bcch_modificationPeriodCoeff			      = 2;
+      ue_TimersAndConstants_t300			      = 1000;
+      ue_TimersAndConstants_t301			      = 1000;
+      ue_TimersAndConstants_t310			      = 1000;
+      ue_TimersAndConstants_t311			      = 10000;
+      ue_TimersAndConstants_n310			      = 20;
+      ue_TimersAndConstants_n311			      = 1;
+      ue_TransmissionMode                                    = 1;
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.26";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.18/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.18/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+    };
+
+    rrh_gw_config = (
+    {
+      	local_if_name = "eth1";			  
+   	remote_address = "10.10.10.157";
+    	local_address = "10.10.10.18";    
+    	local_port = 50000;	#for raw option local port must be the same to remote	       
+    	remote_port = 50000; 
+    	rrh_gw_active = "yes";
+    	tr_preference = "udp_if4p5";
+    	rf_preference = "usrp_b200";
+    	iq_txshift = 4;
+    	tx_sample_advance = 80;	
+    	tx_scheduling_advance = 9;
+        if_compression = "alaw";
+    }
+    );  
+
+    log_config :
+    {
+      global_log_level                      ="info";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+  }
+);
diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf
new file mode 100644
index 0000000000000000000000000000000000000000..4cc40b6d84139da98b1250b62ba480bce60406f0
--- /dev/null
+++ b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf
@@ -0,0 +1,194 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "92";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function     = "NGFI_RRU_IF4p5";
+      node_timing       = "synch_to_ext_device";
+      node_synch_ref    = 0;  
+      frame_type					      = "FDD";
+      tdd_config 					      = 3;
+      tdd_config_s            			      = 0;
+      prefix_type             			      = "NORMAL";
+      eutra_band              			      = 7;
+      downlink_frequency      			      = 2660000000L;
+      uplink_frequency_offset 			      = -120000000;
+      Nid_cell					      = 0;
+      N_RB_DL                 			      = 50;
+      Nid_cell_mbsfn          			      = 0;
+      nb_antenna_ports                                = 1;
+      nb_antennas_tx          			      = 1;
+      nb_antennas_rx          			      = 1;
+      tx_gain                                            = 90;
+      rx_gain                                            = 125;
+      prach_root              			      = 0;
+      prach_config_index      			      = 0;
+      prach_high_speed        			      = "DISABLE";
+      prach_zero_correlation  			      = 1;
+      prach_freq_offset       			      = 2;
+      pucch_delta_shift       			      = 1;
+      pucch_nRB_CQI           			      = 1;
+      pucch_nCS_AN            			      = 0;
+      pucch_n1_AN             			      = 32;
+      pdsch_referenceSignalPower 			      = -29;
+      pdsch_p_b                  			      = 0;
+      pusch_n_SB                 			      = 1;
+      pusch_enable64QAM          			      = "DISABLE";
+      pusch_hoppingMode                                  = "interSubFrame";
+      pusch_hoppingOffset                                = 0;
+      pusch_groupHoppingEnabled  			      = "ENABLE";
+      pusch_groupAssignment      			      = 0;
+      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+      pusch_nDMRS1                                       = 1;
+      phich_duration                                     = "NORMAL";
+      phich_resource                                     = "ONESIXTH";
+      srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+      srs_SubframeConfig                                 =;
+      srs_ackNackST                                      =;
+      srs_MaxUpPts                                       =;*/
+
+      pusch_p0_Nominal                                   = -96;
+      pusch_alpha                                        = "AL1";
+      pucch_p0_Nominal                                   = -104;
+      msg3_delta_Preamble                                = 6;
+      pucch_deltaF_Format1                               = "deltaF2";
+      pucch_deltaF_Format1b                              = "deltaF3";
+      pucch_deltaF_Format2                               = "deltaF0";
+      pucch_deltaF_Format2a                              = "deltaF0";
+      pucch_deltaF_Format2b		    	      = "deltaF0";
+
+      rach_numberOfRA_Preambles                          = 64;
+      rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA                      = ;
+      rach_messageSizeGroupA                             = ;
+      rach_messagePowerOffsetGroupB                      = ;
+      */
+      rach_powerRampingStep                              = 4;
+      rach_preambleInitialReceivedTargetPower            = -104;
+      rach_preambleTransMax                              = 10;
+      rach_raResponseWindowSize                          = 10;
+      rach_macContentionResolutionTimer                  = 48;
+      rach_maxHARQ_Msg3Tx                                = 4;
+
+      pcch_default_PagingCycle                           = 128;
+      pcch_nB                                            = "oneT";
+      bcch_modificationPeriodCoeff			      = 2;
+      ue_TimersAndConstants_t300			      = 1000;
+      ue_TimersAndConstants_t301			      = 1000;
+      ue_TimersAndConstants_t310			      = 1000;
+      ue_TimersAndConstants_t311			      = 10000;
+      ue_TimersAndConstants_n310			      = 20;
+      ue_TimersAndConstants_n311			      = 1;
+
+      ue_TransmissionMode	   			      = 1;
+
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.11";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth3";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.215/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth3";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.215/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+    };
+
+    rrh_gw_config = (
+    {			  
+      	local_if_name = "eth3";			  
+	remote_address = "10.10.10.18";
+	local_address = "10.10.10.157";
+    	local_port = 50000;	#for raw option local port must be the same to remote	       
+    	remote_port = 50000; 
+    	rrh_gw_active = "yes";
+    	tr_preference = "udp_if4p5";
+    	rf_preference = "usrp_b200";
+    	iq_txshift = 4;
+    	tx_sample_advance = 80;	
+    	tx_scheduling_advance = 9; 	                
+        if_compression = "alaw";
+    }
+    );  
+
+    log_config :
+    {
+      global_log_level                      ="info";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+  }
+);
diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf
new file mode 100644
index 0000000000000000000000000000000000000000..787cedb18d9972ef05e3d5d0f75074977cfc92e5
--- /dev/null
+++ b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf
@@ -0,0 +1,194 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "92";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function     = "NGFI_RRU_IF4p5";
+      node_timing       = "synch_to_ext_device";
+      node_synch_ref    = 0;  
+      frame_type					      = "FDD";
+      tdd_config 					      = 3;
+      tdd_config_s            			      = 0;
+      prefix_type             			      = "NORMAL";
+      eutra_band              			      = 7;
+      downlink_frequency      			      = 2660000000L;
+      uplink_frequency_offset 			      = -120000000;
+      Nid_cell					      = 0;
+      N_RB_DL                 			      = 100;
+      Nid_cell_mbsfn          			      = 0;
+      nb_antenna_ports                                = 1;
+      nb_antennas_tx          			      = 1;
+      nb_antennas_rx          			      = 1;
+      tx_gain                                            = 90;
+      rx_gain                                            = 125;
+      prach_root              			      = 0;
+      prach_config_index      			      = 0;
+      prach_high_speed        			      = "DISABLE";
+      prach_zero_correlation  			      = 1;
+      prach_freq_offset       			      = 2;
+      pucch_delta_shift       			      = 1;
+      pucch_nRB_CQI           			      = 1;
+      pucch_nCS_AN            			      = 0;
+      pucch_n1_AN             			      = 32;
+      pdsch_referenceSignalPower 			      = -29;
+      pdsch_p_b                  			      = 0;
+      pusch_n_SB                 			      = 1;
+      pusch_enable64QAM          			      = "DISABLE";
+      pusch_hoppingMode                                  = "interSubFrame";
+      pusch_hoppingOffset                                = 0;
+      pusch_groupHoppingEnabled  			      = "ENABLE";
+      pusch_groupAssignment      			      = 0;
+      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+      pusch_nDMRS1                                       = 1;
+      phich_duration                                     = "NORMAL";
+      phich_resource                                     = "ONESIXTH";
+      srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+      srs_SubframeConfig                                 =;
+      srs_ackNackST                                      =;
+      srs_MaxUpPts                                       =;*/
+
+      pusch_p0_Nominal                                   = -96;
+      pusch_alpha                                        = "AL1";
+      pucch_p0_Nominal                                   = -104;
+      msg3_delta_Preamble                                = 6;
+      pucch_deltaF_Format1                               = "deltaF2";
+      pucch_deltaF_Format1b                              = "deltaF3";
+      pucch_deltaF_Format2                               = "deltaF0";
+      pucch_deltaF_Format2a                              = "deltaF0";
+      pucch_deltaF_Format2b		    	      = "deltaF0";
+
+      rach_numberOfRA_Preambles                          = 64;
+      rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA                      = ;
+      rach_messageSizeGroupA                             = ;
+      rach_messagePowerOffsetGroupB                      = ;
+      */
+      rach_powerRampingStep                              = 4;
+      rach_preambleInitialReceivedTargetPower            = -104;
+      rach_preambleTransMax                              = 10;
+      rach_raResponseWindowSize                          = 10;
+      rach_macContentionResolutionTimer                  = 48;
+      rach_maxHARQ_Msg3Tx                                = 4;
+
+      pcch_default_PagingCycle                           = 128;
+      pcch_nB                                            = "oneT";
+      bcch_modificationPeriodCoeff			      = 2;
+      ue_TimersAndConstants_t300			      = 1000;
+      ue_TimersAndConstants_t301			      = 1000;
+      ue_TimersAndConstants_t310			      = 1000;
+      ue_TimersAndConstants_t311			      = 10000;
+      ue_TimersAndConstants_n310			      = 20;
+      ue_TimersAndConstants_n311			      = 1;
+
+      ue_TransmissionMode	   			      = 1;
+
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.11";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth3";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.215/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth3";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.215/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+    };
+
+    rrh_gw_config = (
+    {			  
+      	local_if_name = "eth3";			  
+	remote_address = "10.10.10.18";
+	local_address = "10.10.10.157";
+    	local_port = 50000;	#for raw option local port must be the same to remote	       
+    	remote_port = 50000; 
+    	rrh_gw_active = "yes";
+    	tr_preference = "udp_if4p5";
+    	rf_preference = "usrp_b200";
+    	iq_txshift = 4;
+    	tx_sample_advance = 80;	
+    	tx_scheduling_advance = 9; 	                
+        if_compression = "alaw";
+    }
+    );  
+
+    log_config :
+    {
+      global_log_level                      ="info";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+  }
+);
diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf
new file mode 100644
index 0000000000000000000000000000000000000000..d9d46bf9446cef80a3fe8dd0a3c1eaa47d245972
--- /dev/null
+++ b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf
@@ -0,0 +1,194 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "92";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function     = "NGFI_RRU_IF4p5";
+      node_timing       = "synch_to_ext_device";
+      node_synch_ref    = 0;  
+      frame_type					      = "FDD";
+      tdd_config 					      = 3;
+      tdd_config_s            			      = 0;
+      prefix_type             			      = "NORMAL";
+      eutra_band              			      = 7;
+      downlink_frequency      			      = 2660000000L;
+      uplink_frequency_offset 			      = -120000000;
+      Nid_cell					      = 0;
+      N_RB_DL                 			      = 25;
+      Nid_cell_mbsfn          			      = 0;
+      nb_antenna_ports                                = 1;
+      nb_antennas_tx          			      = 1;
+      nb_antennas_rx          			      = 1;
+      tx_gain                                            = 90;
+      rx_gain                                            = 125;
+      prach_root              			      = 0;
+      prach_config_index      			      = 0;
+      prach_high_speed        			      = "DISABLE";
+      prach_zero_correlation  			      = 1;
+      prach_freq_offset       			      = 2;
+      pucch_delta_shift       			      = 1;
+      pucch_nRB_CQI           			      = 1;
+      pucch_nCS_AN            			      = 0;
+      pucch_n1_AN             			      = 32;
+      pdsch_referenceSignalPower 			      = -29;
+      pdsch_p_b                  			      = 0;
+      pusch_n_SB                 			      = 1;
+      pusch_enable64QAM          			      = "DISABLE";
+      pusch_hoppingMode                                  = "interSubFrame";
+      pusch_hoppingOffset                                = 0;
+      pusch_groupHoppingEnabled  			      = "ENABLE";
+      pusch_groupAssignment      			      = 0;
+      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+      pusch_nDMRS1                                       = 1;
+      phich_duration                                     = "NORMAL";
+      phich_resource                                     = "ONESIXTH";
+      srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+      srs_SubframeConfig                                 =;
+      srs_ackNackST                                      =;
+      srs_MaxUpPts                                       =;*/
+
+      pusch_p0_Nominal                                   = -96;
+      pusch_alpha                                        = "AL1";
+      pucch_p0_Nominal                                   = -104;
+      msg3_delta_Preamble                                = 6;
+      pucch_deltaF_Format1                               = "deltaF2";
+      pucch_deltaF_Format1b                              = "deltaF3";
+      pucch_deltaF_Format2                               = "deltaF0";
+      pucch_deltaF_Format2a                              = "deltaF0";
+      pucch_deltaF_Format2b		    	      = "deltaF0";
+
+      rach_numberOfRA_Preambles                          = 64;
+      rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA                      = ;
+      rach_messageSizeGroupA                             = ;
+      rach_messagePowerOffsetGroupB                      = ;
+      */
+      rach_powerRampingStep                              = 4;
+      rach_preambleInitialReceivedTargetPower            = -104;
+      rach_preambleTransMax                              = 10;
+      rach_raResponseWindowSize                          = 10;
+      rach_macContentionResolutionTimer                  = 48;
+      rach_maxHARQ_Msg3Tx                                = 4;
+
+      pcch_default_PagingCycle                           = 128;
+      pcch_nB                                            = "oneT";
+      bcch_modificationPeriodCoeff			      = 2;
+      ue_TimersAndConstants_t300			      = 1000;
+      ue_TimersAndConstants_t301			      = 1000;
+      ue_TimersAndConstants_t310			      = 1000;
+      ue_TimersAndConstants_t311			      = 10000;
+      ue_TimersAndConstants_n310			      = 20;
+      ue_TimersAndConstants_n311			      = 1;
+
+      ue_TransmissionMode	   			      = 1;
+
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.11";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth3";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.215/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth3";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.215/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+    };
+
+    rrh_gw_config = (
+    {			  
+      	local_if_name = "eth3";			  
+	remote_address = "10.10.10.18";
+	local_address = "10.10.10.157";
+    	local_port = 50000;	#for raw option local port must be the same to remote	       
+    	remote_port = 50000; 
+    	rrh_gw_active = "yes";
+    	tr_preference = "udp_if4p5";
+    	rf_preference = "usrp_b200";
+    	iq_txshift = 4;
+    	tx_sample_advance = 80;	
+    	tx_scheduling_advance = 9; 	                
+        if_compression = "alaw";
+    }
+    );  
+
+    log_config :
+    {
+      global_log_level                      ="info";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+  }
+);
diff --git a/cmake_targets/autotests/v2/main.py b/cmake_targets/autotests/v2/main.py
index 14e54427201e1fc3e6bf6c6b8e057ab4b54806a2..da38432dbc270f9b208135191bd6a3df6d9a357d 100644
--- a/cmake_targets/autotests/v2/main.py
+++ b/cmake_targets/autotests/v2/main.py
@@ -280,55 +280,21 @@ machine_list.wait_all_free()
 # run eNB softmodem tests                                                    #
 ##############################################################################
 
-tests = {
-  'b210' : {
-    'alu' : {
-      'fdd' : {
-        '5' : {
-          'bandrich' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }},
-          'sony' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }}},
-        '10' : {
-          'bandrich' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }},
-          'sony' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }}},
-        '20' : {
-          'bandrich' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }},
-          'sony' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }}}},
-      'tdd' : {
-        '5' : {
-          '3276' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }}},
-        '10' : {
-          '3276' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }}},
-        '20' : {
-          '3276' : {
-            'tcp' : { 'ul': False, 'dl' : False },
-            'udp' : { 'ul': False, 'dl' : False }}}}},
-    'openair-cn' : {}
-  },
-  'x310' : {
-    'alu' : {},
-    'openair-cn' : {}
-  },
-  'exmimo2' : {
-    'alu' : {},
-    'openair-cn' : {}
-  }
-}
+tests = {}
+for a in { 'b210', 'remote b210', 'x310', 'exmimo2' }:
+  tests[a] = {}
+  for b in { 'alu', 'openair-cn' }:
+    tests[a][b] = {}
+    for c in { 'fdd', 'tdd' }:
+      tests[a][b][c] = {}
+      for d in { '5', '10', '20' }:
+        tests[a][b][c][d] = {}
+        for e in { 'bandrich', 'sony', '3276' }:
+          tests[a][b][c][d][e] = {}
+          for f in { 'tcp', 'udp' }:
+            tests[a][b][c][d][e][f] = {}
+            for g in { 'dl', 'ul' }:
+              tests[a][b][c][d][e][f][g] = False
 
 todo_tests_ids = []
 for test in todo_tests:
@@ -441,6 +407,19 @@ for test in todo_tests_ids:
   if test=='017504':log('WARNING: skip test ' + test) #TODO
   if test=='017505':log('WARNING: skip test ' + test) #TODO
 
+  if test=='017600':tests['remote b210']['alu']['fdd'][ '5']['bandrich']['udp']['ul']=True
+  if test=='017601':tests['remote b210']['alu']['fdd']['10']['bandrich']['udp']['ul']=True
+  if test=='017602':tests['remote b210']['alu']['fdd']['20']['bandrich']['udp']['ul']=True
+  if test=='017603':tests['remote b210']['alu']['fdd'][ '5']['bandrich']['udp']['dl']=True
+  if test=='017604':tests['remote b210']['alu']['fdd']['10']['bandrich']['udp']['dl']=True
+  if test=='017605':tests['remote b210']['alu']['fdd']['20']['bandrich']['udp']['dl']=True
+  if test=='017606':tests['remote b210']['alu']['fdd'][ '5']['bandrich']['tcp']['ul']=True
+  if test=='017607':tests['remote b210']['alu']['fdd']['10']['bandrich']['tcp']['ul']=True
+  if test=='017608':tests['remote b210']['alu']['fdd']['20']['bandrich']['tcp']['ul']=True
+  if test=='017609':tests['remote b210']['alu']['fdd'][ '5']['bandrich']['tcp']['dl']=True
+  if test=='017610':tests['remote b210']['alu']['fdd']['10']['bandrich']['tcp']['dl']=True
+  if test=='017611':tests['remote b210']['alu']['fdd']['20']['bandrich']['tcp']['dl']=True
+
   if test=='018000':log('WARNING: skip test ' + test) #TODO
   if test=='018001':log('WARNING: skip test ' + test) #TODO
   if test=='018002':log('WARNING: skip test ' + test) #TODO
diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai
index de1addcee3bf38d4acbfb7da6b31fda817fc7d95..119c013832691f4c3c11555421171dcef922c5d4 100755
--- a/cmake_targets/build_oai
+++ b/cmake_targets/build_oai
@@ -41,7 +41,7 @@ VCD_TIMING="False"
 DEADLINE_SCHEDULER_FLAG_USER="False"
 FORCE_DEADLINE_SCHEDULER_FLAG_USER=""
 CPU_AFFINITY_FLAG_USER="False" #Only valid when lowlatecy flag is set to False
-REL="Rel10"
+REL="Rel14"
 HW="None"
 TP="None"
 NOS1=0
@@ -95,8 +95,9 @@ Options
 -a | --agent
    Enables agent for software-defined control of the eNB
 -r | --3gpp-release
-   default is Rel10,
+   default is Rel14,
    Rel8 limits the implementation to 3GPP Release 8 version
+   Rel10 limits the implementation to 3GPP Release 10 version
 -w | --hardware
    EXMIMO, USRP, BLADERF, ETHERNET, LMSSDR, None (Default)
    Adds this RF board support (in external packages installation and in compilation)
diff --git a/cmake_targets/tools/fix_asn1 b/cmake_targets/tools/fix_asn1
index 0661d7878de20d86741df8e222875f3e7c79ab38..805a4ce66a2a58bbc430f5ed439e3bd5217d07e8 100755
--- a/cmake_targets/tools/fix_asn1
+++ b/cmake_targets/tools/fix_asn1
@@ -3,19 +3,16 @@
 # in those arrays, each line is:
 #   <file> <sha1sum of file (without line 4 which changes depending on the location of the files)> <patch to apply to file>
 
+RRC_Rel14=(
+  "SystemInformation-r8-IEs.h" 562e3c3aeb7c6d76d722f31bf24488a26e627f33 "fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff"
+)
+
 RRC_Rel10=(
   "SystemInformation-r8-IEs.h" 603cd6615cff36ec7020692d72c0d6de7c4859cb "fix_asn1.data/RRC.rel10/SystemInformation-r8-IEs.h.diff"
 )
 
 X2AP_Rel11_2=(
   "X2ap-CriticalityDiagnostics-IE-List.h" ae96308b37fcbcbf39da5012e42968135fc5f27b "fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff"
-  "NativeInteger.c"                       1a55f5402fd363318cf5444ffe1f67530dcf66ff "fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff"
-  "constr_SET_OF.c"                       808cbbdf19b118c0bdb04e3acf2cbe6e4133be2b "fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff"
-)
-
-S1AP_Rel10_5=(
-  "NativeInteger.c" 1a55f5402fd363318cf5444ffe1f67530dcf66ff "fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff"
-  "constr_SET_OF.c" 808cbbdf19b118c0bdb04e3acf2cbe6e4133be2b "fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff"
 )
 
 red_color="$(tput setaf 1)"
@@ -94,6 +91,10 @@ function patch_rrc()
   local version="$2"
 
   case "$version" in
+    Rel14 )
+      echo "patching RRC files release 14"
+      apply_patches "$directory" RRC_Rel14 ${#RRC_Rel14[*]}
+      ;;
     Rel10 )
       echo "patching RRC files release 10"
       apply_patches "$directory" RRC_Rel10 ${#RRC_Rel10[*]}
@@ -130,8 +131,7 @@ function patch_s1ap()
 
   case "$version" in
     R10 )
-      echo "patching S1AP files release 10.5"
-      apply_patches "$directory" S1AP_Rel10_5 ${#S1AP_Rel10_5[*]}
+      #nothing to do anymore (fixes went to asn1c)
       ;;
     * )
       error unknwon/unhandled S1AP version \'"$version"\'
diff --git a/cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff b/cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff
new file mode 100644
index 0000000000000000000000000000000000000000..b2d32cf052ab6fb7e81887f043a8ef973ee905b8
--- /dev/null
+++ b/cmake_targets/tools/fix_asn1.data/RRC.rel14/SystemInformation-r8-IEs.h.diff
@@ -0,0 +1,23 @@
+73,77d72
+< /* SystemInformation-r8-IEs */
+< typedef struct SystemInformation_r8_IEs {
+< 	struct SystemInformation_r8_IEs__sib_TypeAndInfo {
+< 		A_SEQUENCE_OF(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member {
+< 			SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR present;
+103c98,102
+< 			} choice;
+---
+> 			};
+> 
+> 		struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member {
+> 			SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR present;
+> 			union SystemInformation_r8_IEs__sib_TypeAndInfo__Member_u choice;
+107c106,111
+< 		} ) list;
+---
+> 		};
+> 
+> /* SystemInformation-r8-IEs */
+> typedef struct SystemInformation_r8_IEs {
+> 	struct SystemInformation_r8_IEs__sib_TypeAndInfo {
+> 		A_SEQUENCE_OF(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member) list;
diff --git a/cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff b/cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff
deleted file mode 100644
index 3b51426ad3fa008bec5131cd68d2bb0ea99d7750..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff
+++ /dev/null
@@ -1,8 +0,0 @@
-283c283
-< 	int dynamic = 0;
----
-> 	//int dynamic = 0;
-290c290
-< 		dynamic = 1;
----
-> 		//dynamic = 1;
diff --git a/cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff b/cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff
deleted file mode 100644
index 3ceaf5e3e5ccef48746cf5abf2952aa0c6910224..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff
+++ /dev/null
@@ -1,4 +0,0 @@
-1007c1007
-< 				(int)nelems, (int)ct ? ct->effective_bits : -1);
----
-> 				(int)nelems, ct ? ct->effective_bits : -1);
diff --git a/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff b/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff
deleted file mode 100644
index 3b51426ad3fa008bec5131cd68d2bb0ea99d7750..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff
+++ /dev/null
@@ -1,8 +0,0 @@
-283c283
-< 	int dynamic = 0;
----
-> 	//int dynamic = 0;
-290c290
-< 		dynamic = 1;
----
-> 		//dynamic = 1;
diff --git a/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff b/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff
deleted file mode 100644
index 3ceaf5e3e5ccef48746cf5abf2952aa0c6910224..0000000000000000000000000000000000000000
--- a/cmake_targets/tools/fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff
+++ /dev/null
@@ -1,4 +0,0 @@
-1007c1007
-< 				(int)nelems, (int)ct ? ct->effective_bits : -1);
----
-> 				(int)nelems, ct ? ct->effective_bits : -1);
diff --git a/common/utils/system.c b/common/utils/system.c
new file mode 100644
index 0000000000000000000000000000000000000000..52fb950e37f2179c9c4de895c1ab9dd456f93230
--- /dev/null
+++ b/common/utils/system.c
@@ -0,0 +1,186 @@
+/*
+ * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The OpenAirInterface Software Alliance licenses this file to You under
+ * the OAI Public License, Version 1.0  (the "License"); you may not use this file
+ * except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.openairinterface.org/?page_id=698
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *-------------------------------------------------------------------------------
+ * For more information about the OpenAirInterface (OAI) Software Alliance:
+ *      contact@openairinterface.org
+ */
+
+/* This module provides a separate process to run system().
+ * The communication between this process and the main processing
+ * is done through unix pipes.
+ *
+ * Motivation: the UE sets its IP address using system() and
+ * that disrupts realtime processing in some cases. Having a
+ * separate process solves this problem.
+ */
+
+#include "system.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <pthread.h>
+#include <string.h>
+
+#define MAX_COMMAND 4096
+
+static int command_pipe_read;
+static int command_pipe_write;
+static int result_pipe_read;
+static int result_pipe_write;
+
+static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
+
+static int module_initialized = 0;
+
+/********************************************************************/
+/* util functions                                                   */
+/********************************************************************/
+
+static void lock_system(void)
+{
+  if (pthread_mutex_lock(&lock) != 0) {
+    printf("pthread_mutex_lock fails\n");
+    abort();
+  }
+}
+
+static void unlock_system(void)
+{
+  if (pthread_mutex_unlock(&lock) != 0) {
+    printf("pthread_mutex_unlock fails\n");
+    abort();
+  }
+}
+
+static void write_pipe(int p, char *b, int size)
+{
+  while (size) {
+    int ret = write(p, b, size);
+    if (ret <= 0) exit(0);
+    b += ret;
+    size -= ret;
+  }
+}
+
+static void read_pipe(int p, char *b, int size)
+{
+  while (size) {
+    int ret = read(p, b, size);
+    if (ret <= 0) exit(0);
+    b += ret;
+    size -= ret;
+  }
+}
+
+/********************************************************************/
+/* background process                                               */
+/********************************************************************/
+
+/* This function is run by background process. It waits for a command,
+ * runs it, and reports status back. It exits (in normal situations)
+ * when the main process exits, because then a "read" on the pipe
+ * will return 0, in which case "read_pipe" exits.
+ */
+static void background_system_process(void)
+{
+  int len;
+  int ret;
+  char command[MAX_COMMAND+1];
+
+  while (1) {
+    read_pipe(command_pipe_read, (char*)&len, sizeof(int));
+    read_pipe(command_pipe_read, command, len);
+    ret = system(command);
+    write_pipe(result_pipe_write, (char *)&ret, sizeof(int));
+  }
+}
+
+/********************************************************************/
+/* background_system()                                              */
+/*     return -1 on error, 0 on success                             */
+/********************************************************************/
+
+int background_system(char *command)
+{
+  int res;
+  int len;
+
+  if (module_initialized == 0) {
+    printf("FATAL: calling 'background_system' but 'start_background_system' was not called\n");
+    abort();
+  }
+
+  len = strlen(command)+1;
+  if (len > MAX_COMMAND) {
+    printf("FATAL: command too long. Increase MAX_COMMAND (%d).\n", MAX_COMMAND);
+    printf("command was: '%s'\n", command);
+    abort();
+  }
+  /* only one command can run at a time, so let's lock/unlock */
+  lock_system();
+  write_pipe(command_pipe_write, (char*)&len, sizeof(int));
+  write_pipe(command_pipe_write, command, len);
+  read_pipe(result_pipe_read, (char*)&res, sizeof(int));
+  unlock_system();
+  if (res == -1 || !WIFEXITED(res) || WEXITSTATUS(res) != 0) return -1;
+  return 0;
+}
+
+/********************************************************************/
+/* start_background_system()                                        */
+/*     initializes the "background system" module                   */
+/*     to be called very early by the main processing               */
+/********************************************************************/
+
+void start_background_system(void)
+{
+  int p[2];
+  pid_t son;
+
+  module_initialized = 1;
+
+  if (pipe(p) == -1) {
+    perror("pipe");
+    exit(1);
+  }
+  command_pipe_read  = p[0];
+  command_pipe_write = p[1];
+
+  if (pipe(p) == -1) {
+    perror("pipe");
+    exit(1);
+  }
+  result_pipe_read  = p[0];
+  result_pipe_write = p[1];
+
+  son = fork();
+  if (son == -1) {
+    perror("fork");
+    exit(1);
+  }
+
+  if (son) {
+    close(result_pipe_write);
+    close(command_pipe_read);
+    return;
+  }
+
+  close(result_pipe_read);
+  close(command_pipe_write);
+
+  background_system_process();
+}
diff --git a/common/utils/system.h b/common/utils/system.h
new file mode 100644
index 0000000000000000000000000000000000000000..784c15fc9a045d6b83e5136fe00122a65c7789b6
--- /dev/null
+++ b/common/utils/system.h
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The OpenAirInterface Software Alliance licenses this file to You under
+ * the OAI Public License, Version 1.0  (the "License"); you may not use this file
+ * except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.openairinterface.org/?page_id=698
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *-------------------------------------------------------------------------------
+ * For more information about the OpenAirInterface (OAI) Software Alliance:
+ *      contact@openairinterface.org
+ */
+
+#ifndef _SYSTEM_H_OAI_
+#define _SYSTEM_H_OAI_
+
+/****************************************************
+ * send a command to the background process
+ *     return -1 on error, 0 on success
+ ****************************************************/
+
+int background_system(char *command);
+
+/****************************************************
+ * initialize the background process
+ *     to be called very early
+ ****************************************************/
+
+void start_background_system(void);
+
+#endif /* _SYSTEM_H_OAI_ */
diff --git a/openair1/PHY/INIT/defs.h b/openair1/PHY/INIT/defs.h
index 27303cb57dc91deb0e58968e1d23197ab03de19a..61cc063fb3da2fafb5d8701caa7f0dcfaf29b61f 100644
--- a/openair1/PHY/INIT/defs.h
+++ b/openair1/PHY/INIT/defs.h
@@ -31,7 +31,7 @@
 #include "TDD-Config.h"
 #include "MBSFN-SubframeConfigList.h"
 #include "MobilityControlInfo.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "SCellToAddMod-r10.h"
 #endif
 /** @addtogroup _PHY_STRUCTURES_
@@ -317,7 +317,7 @@ void lte_param_init(unsigned char N_tx_port_eNB,
                     uint8_t osf,
 		    uint32_t perfect_ce);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 void phy_config_dedicated_scell_ue(uint8_t Mod_id,
                                    uint8_t eNB_index,
                                    SCellToAddMod_r10_t *sCellToAddMod_r10,
diff --git a/openair1/PHY/INIT/lte_init.c b/openair1/PHY/INIT/lte_init.c
index de83506bb31aed698f0c41fa95ff49468c204955..53c12d04cf7ab6f71826bba3fecec49446609aee 100755
--- a/openair1/PHY/INIT/lte_init.c
+++ b/openair1/PHY/INIT/lte_init.c
@@ -483,7 +483,8 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB)
 
       if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated) {
         if (physicalConfigDedicated->soundingRS_UL_ConfigDedicated->present == SoundingRS_UL_ConfigDedicated_PR_setup) {
-
+	  
+	  eNB->soundingrs_ul_config_dedicated[UE_id].srsConfigDedicatedSetup = 1;
           eNB->soundingrs_ul_config_dedicated[UE_id].duration             = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.duration;
           eNB->soundingrs_ul_config_dedicated[UE_id].cyclicShift          = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift;
           eNB->soundingrs_ul_config_dedicated[UE_id].freqDomainPosition   = physicalConfigDedicated->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition;
@@ -614,8 +615,12 @@ void phy_config_afterHO_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_id, Mobility
 
     // RNTI
 
-    PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[eNB_id]->crnti = mobilityControlInfo->newUE_Identity.buf[0]|(mobilityControlInfo->newUE_Identity.buf[1]<<8);
 
+    PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_id]->crnti = mobilityControlInfo->newUE_Identity.buf[0]|(mobilityControlInfo->newUE_Identity.buf[1]<<8);
+    PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_id]->crnti = mobilityControlInfo->newUE_Identity.buf[0]|(mobilityControlInfo->newUE_Identity.buf[1]<<8);
+
+    LOG_I(PHY,"SET C-RNTI %x %x\n",PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_id]->crnti,
+                                   PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_id]->crnti);
   }
 
   if(ho_failed) {
@@ -702,7 +707,7 @@ void phy_config_dedicated_eNB(uint8_t Mod_id,
   }
 
 }
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 void phy_config_dedicated_scell_ue(uint8_t Mod_id,
                                    uint8_t eNB_index,
                                    SCellToAddMod_r10_t *sCellToAddMod_r10,
@@ -835,7 +840,7 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,
 
     if (physicalConfigDedicated->antennaInfo) {
       phy_vars_ue->transmission_mode[eNB_id] = 1+(physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode);
-      LOG_D(PHY,"Transmission Mode %d\n",phy_vars_ue->transmission_mode[eNB_id]);
+      LOG_I(PHY,"Transmission Mode %d\n",phy_vars_ue->transmission_mode[eNB_id]);
       switch(physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode) {
       case AntennaInfoDedicated__transmissionMode_tm1:
         phy_vars_ue->transmission_mode[eNB_id] = 1;
@@ -856,7 +861,7 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,
         phy_vars_ue->transmission_mode[eNB_id] = 6;
         break;
       case AntennaInfoDedicated__transmissionMode_tm7:
-        lte_gold_ue_spec_port5(phy_vars_ue->lte_gold_uespec_port5_table, phy_vars_ue->frame_parms.Nid_cell, phy_vars_ue->pdcch_vars[eNB_id]->crnti);
+        lte_gold_ue_spec_port5(phy_vars_ue->lte_gold_uespec_port5_table, phy_vars_ue->frame_parms.Nid_cell, phy_vars_ue->pdcch_vars[0][eNB_id]->crnti);
         phy_vars_ue->transmission_mode[eNB_id] = 7;
         break;
       default:
@@ -952,6 +957,14 @@ void phy_config_dedicated_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,
   LOG_I(PHY,"Disabling SIB MIB decoding \n");
   phy_vars_ue->decode_SIB = 0;
   phy_vars_ue->decode_MIB = 0;
+  //phy_vars_ue->pdcch_vars[1][eNB_id]->crnti = phy_vars_ue->pdcch_vars[0][eNB_id]->crnti;
+  if(phy_vars_ue->pdcch_vars[0][eNB_id]->crnti == 0x1234)
+      phy_vars_ue->pdcch_vars[0][eNB_id]->crnti = phy_vars_ue->pdcch_vars[1][eNB_id]->crnti;
+  else
+      phy_vars_ue->pdcch_vars[1][eNB_id]->crnti = phy_vars_ue->pdcch_vars[0][eNB_id]->crnti;
+
+  LOG_I(PHY,"C-RNTI %x %x \n", phy_vars_ue->pdcch_vars[0][eNB_id]->crnti,
+                               phy_vars_ue->pdcch_vars[1][eNB_id]->crnti);
 
 }
 
@@ -1075,7 +1088,8 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
   LTE_UE_PDSCH** const pdsch_vars_ra      = ue->pdsch_vars_ra;
   LTE_UE_PDSCH** const pdsch_vars_mch     = ue->pdsch_vars_MCH;
   LTE_UE_PBCH** const pbch_vars           = ue->pbch_vars;
-  LTE_UE_PDCCH** const pdcch_vars         = ue->pdcch_vars;
+  LTE_UE_PDCCH** const pdcch_vars_th0     = ue->pdcch_vars[0];
+  LTE_UE_PDCCH** const pdcch_vars_th1     = ue->pdcch_vars[1];
   LTE_UE_PRACH** const prach_vars         = ue->prach_vars;
 
   int i,j,k,l;
@@ -1157,7 +1171,8 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
     pdsch_vars_SI[eNB_id]  = (LTE_UE_PDSCH *)malloc16_clear(sizeof(LTE_UE_PDSCH));
     pdsch_vars_ra[eNB_id]  = (LTE_UE_PDSCH *)malloc16_clear(sizeof(LTE_UE_PDSCH));
     pdsch_vars_mch[eNB_id] = (LTE_UE_PDSCH *)malloc16_clear(sizeof(LTE_UE_PDSCH));
-    pdcch_vars[eNB_id]     = (LTE_UE_PDCCH *)malloc16_clear(sizeof(LTE_UE_PDCCH));
+    pdcch_vars_th0[eNB_id] = (LTE_UE_PDCCH *)malloc16_clear(sizeof(LTE_UE_PDCCH));
+    pdcch_vars_th1[eNB_id] = (LTE_UE_PDCCH *)malloc16_clear(sizeof(LTE_UE_PDCCH));
     prach_vars[eNB_id]     = (LTE_UE_PRACH *)malloc16_clear(sizeof(LTE_UE_PRACH));
     pbch_vars[eNB_id]      = (LTE_UE_PBCH *)malloc16_clear(sizeof(LTE_UE_PBCH));
 
@@ -1199,7 +1214,7 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
         }
 
 
-      const size_t num = 7*2*fp->N_RB_DL*12+4;
+      //const size_t num = 7*2*fp->N_RB_DL*12+4;
       for (k=0;k<8;k++) { //harq_pid
         for (l=0;l<8;l++) { //round
           pdsch_vars_th0[eNB_id]->rxdataF_comp1[k][l] = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
@@ -1233,29 +1248,46 @@ int phy_init_lte_ue(PHY_VARS_UE *ue,
       phy_init_lte_ue__PDSCH( pdsch_vars_mch[eNB_id], fp );
 
       // 100 PRBs * 12 REs/PRB * 4 PDCCH SYMBOLS * 2 LLRs/RE
-      pdcch_vars[eNB_id]->llr   = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
-      pdcch_vars[eNB_id]->llr16 = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
-      pdcch_vars[eNB_id]->wbar  = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
-      pdcch_vars[eNB_id]->e_rx  = (int8_t*)malloc16_clear( 4*2*100*12 );
-
-      pdcch_vars[eNB_id]->rxdataF_comp        = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
-      pdcch_vars[eNB_id]->dl_ch_rho_ext       = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
-      pdcch_vars[eNB_id]->rho                 = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) );
-      pdcch_vars[eNB_id]->rxdataF_ext         = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
-      pdcch_vars[eNB_id]->dl_ch_estimates_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
+      pdcch_vars_th0[eNB_id]->llr   = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
+      pdcch_vars_th0[eNB_id]->llr16 = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
+      pdcch_vars_th0[eNB_id]->wbar  = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
+      pdcch_vars_th0[eNB_id]->e_rx  = (int8_t*)malloc16_clear( 4*2*100*12 );
+
+      pdcch_vars_th0[eNB_id]->rxdataF_comp        = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
+      pdcch_vars_th0[eNB_id]->dl_ch_rho_ext       = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
+      pdcch_vars_th0[eNB_id]->rho                 = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) );
+      pdcch_vars_th0[eNB_id]->rxdataF_ext         = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
+      pdcch_vars_th0[eNB_id]->dl_ch_estimates_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
+
+      pdcch_vars_th1[eNB_id]->llr   = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
+      pdcch_vars_th1[eNB_id]->llr16 = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
+      pdcch_vars_th1[eNB_id]->wbar  = (uint16_t*)malloc16_clear( 2*4*100*12*sizeof(uint16_t) );
+      pdcch_vars_th1[eNB_id]->e_rx  = (int8_t*)malloc16_clear( 4*2*100*12 );
+
+      pdcch_vars_th1[eNB_id]->rxdataF_comp        = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
+      pdcch_vars_th1[eNB_id]->dl_ch_rho_ext       = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
+      pdcch_vars_th1[eNB_id]->rho                 = (int32_t**)malloc16( fp->nb_antennas_rx*sizeof(int32_t*) );
+      pdcch_vars_th1[eNB_id]->rxdataF_ext         = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
+      pdcch_vars_th1[eNB_id]->dl_ch_estimates_ext = (int32_t**)malloc16_clear( 8*sizeof(int32_t*) );
 
       for (i=0; i<fp->nb_antennas_rx; i++) {
         //ue_pdcch_vars[eNB_id]->rho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(fp->N_RB_DL*12*7*2) );
-        pdcch_vars[eNB_id]->rho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(100*12*4) );
+        pdcch_vars_th0[eNB_id]->rho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(100*12*4) );
+        pdcch_vars_th1[eNB_id]->rho[i] = (int32_t*)malloc16_clear( sizeof(int32_t)*(100*12*4) );
 
         for (j=0; j<4; j++) { //fp->nb_antennas_tx; j++)
           int idx = (j<<1)+i;
           //  size_t num = 7*2*fp->N_RB_DL*12;
           size_t num = 4*100*12;  // 4 symbols, 100 PRBs, 12 REs per PRB
-          pdcch_vars[eNB_id]->rxdataF_comp[idx]        = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
-          pdcch_vars[eNB_id]->dl_ch_rho_ext[idx]       = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
-          pdcch_vars[eNB_id]->rxdataF_ext[idx]         = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
-          pdcch_vars[eNB_id]->dl_ch_estimates_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
+          pdcch_vars_th0[eNB_id]->rxdataF_comp[idx]        = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
+          pdcch_vars_th0[eNB_id]->dl_ch_rho_ext[idx]       = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
+          pdcch_vars_th0[eNB_id]->rxdataF_ext[idx]         = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
+          pdcch_vars_th0[eNB_id]->dl_ch_estimates_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
+
+          pdcch_vars_th1[eNB_id]->rxdataF_comp[idx]        = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
+          pdcch_vars_th1[eNB_id]->dl_ch_rho_ext[idx]       = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
+          pdcch_vars_th1[eNB_id]->rxdataF_ext[idx]         = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
+          pdcch_vars_th1[eNB_id]->dl_ch_estimates_ext[idx] = (int32_t*)malloc16_clear( sizeof(int32_t) * num );
         }
       }
 
diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
index 4fef74dd1cc2bb1a714b42081793001fd008f9cd..22ed10ebb7c2f3874c7a82f3af786f523361dd00 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
@@ -667,28 +667,28 @@ int32_t lte_ul_channel_estimation(PHY_VARS_eNB *eNB,
 }
 
 extern uint16_t transmission_offset_tdd[16];
-#define DEBUG_SRS
+//#define DEBUG_SRS
 
 int32_t lte_srs_channel_estimation(LTE_DL_FRAME_PARMS *frame_parms,
                                    LTE_eNB_COMMON *common_vars,
                                    LTE_eNB_SRS *srs_vars,
                                    SOUNDINGRS_UL_CONFIG_DEDICATED *soundingrs_ul_config_dedicated,
-                                   unsigned char sub_frame_number,
+                                   unsigned char subframe,
                                    unsigned char eNB_id)
 {
 
-  int T_SFC,aa;
+  int aa;
   int N_symb,symbol;
-  uint8_t nb_antennas_rx = frame_parms->nb_antenna_ports_eNB;
+  uint8_t nb_antennas_rx = frame_parms->nb_antennas_rx;
 #ifdef DEBUG_SRS
   char fname[40], vname[40];
 #endif
 
-  uint8_t Ssrs  = frame_parms->soundingrs_ul_config_common.srs_SubframeConfig;
+  //uint8_t Ssrs  = frame_parms->soundingrs_ul_config_common.srs_SubframeConfig;
+  //uint8_t T_SFC = (Ssrs<=7 ? 5 : 10);
 
   N_symb = 2*7-frame_parms->Ncp;
-  symbol = (sub_frame_number+1)*N_symb-1; //SRS is always in last symbol of subframe
-  T_SFC = (Ssrs<=7 ? 5 : 10);
+  symbol = N_symb-1; //SRS is always in last symbol of subframe
 
   /*
      msg("SRS channel estimation eNB %d, subframs %d, %d %d %d %d %d\n",eNB_id,sub_frame_number,
@@ -699,19 +699,21 @@ int32_t lte_srs_channel_estimation(LTE_DL_FRAME_PARMS *frame_parms,
      SRS_parms->Ssrs);
   */
 
-  if ((1<<(sub_frame_number%T_SFC))&transmission_offset_tdd[Ssrs]) {
+  //if ((1<<(sub_frame_number%T_SFC))&transmission_offset_tdd[Ssrs]) {
 
-    if (generate_srs_rx(frame_parms,
-                        soundingrs_ul_config_dedicated,
-                        srs_vars->srs)==-1) {
-      msg("lte_srs_channel_estimation: Error in generate_srs_rx\n");
+  if (generate_srs(frame_parms,
+		   soundingrs_ul_config_dedicated,
+		   &srs_vars->srs[eNB_id],
+		   0x7FFF,
+		   subframe)==-1) {
+      LOG_E(PHY,"lte_srs_channel_estimation: Error in generate_srs_rx\n");
       return(-1);
     }
 
     for (aa=0; aa<nb_antennas_rx; aa++) {
 #ifdef DEBUG_SRS
       msg("SRS channel estimation eNB %d, subframs %d, aarx %d, %p, %p, %p\n",eNB_id,sub_frame_number,aa,
-          &common_vars->rxdataF[eNB_id][aa][2*frame_parms->ofdm_symbol_size*symbol],
+          &common_vars->rxdataF[eNB_id][aa][frame_parms->ofdm_symbol_size*symbol],
           srs_vars->srs,
           srs_vars->srs_ch_estimates[eNB_id][aa]);
 #endif
@@ -719,14 +721,15 @@ int32_t lte_srs_channel_estimation(LTE_DL_FRAME_PARMS *frame_parms,
       //write_output("eNB_rxF.m","rxF",&common_vars->rxdataF[0][aa][2*frame_parms->ofdm_symbol_size*symbol],2*(frame_parms->ofdm_symbol_size),2,1);
       //write_output("eNB_srs.m","srs_eNB",common_vars->srs,(frame_parms->ofdm_symbol_size),1,1);
 
-      mult_cpx_conj_vector((int16_t*) &common_vars->rxdataF[eNB_id][aa][2*frame_parms->ofdm_symbol_size*symbol],
-			   (int16_t*) srs_vars->srs,
+      //memcpy(srs_vars->srs_ch_estimates[eNB_id][aa],&srs_vars->srs[eNB_id],frame_parms->ofdm_symbol_size*sizeof(int32_t));
+      //memcpy(srs_vars->srs_ch_estimates[eNB_id][aa],&common_vars->rxdataF[eNB_id][aa][frame_parms->ofdm_symbol_size*symbol],frame_parms->ofdm_symbol_size*sizeof(int32_t));
+      mult_cpx_conj_vector((int16_t*) &common_vars->rxdataF[eNB_id][aa][frame_parms->ofdm_symbol_size*symbol],
+			   (int16_t*) &srs_vars->srs[eNB_id],
 			   (int16_t*) srs_vars->srs_ch_estimates[eNB_id][aa],
 			   frame_parms->ofdm_symbol_size,
 			   15,
 			   0);
 
-      //msg("SRS channel estimation cmult out\n");
 #ifdef USER_MODE
 #ifdef DEBUG_SRS
       sprintf(fname,"eNB_id%d_an%d_srs_ch_est.m",eNB_id,aa);
@@ -735,7 +738,6 @@ int32_t lte_srs_channel_estimation(LTE_DL_FRAME_PARMS *frame_parms,
 #endif
 #endif
     }
-  }
 
   /*
     else {
diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c
index af25e33ff74dbc70ea7d4d46a6cdfcbf41fad1a1..21c4c8aba84c57cb312e0edb0900955e965db662 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci.c
@@ -1682,9 +1682,7 @@ void pdcch_alamouti(LTE_DL_FRAME_PARMS *frame_parms,
 
 int32_t avgP[4];
 
-int32_t rx_pdcch(LTE_UE_COMMON *common_vars,
-                 LTE_UE_PDCCH **pdcch_vars,
-                 LTE_DL_FRAME_PARMS *frame_parms,
+int32_t rx_pdcch(PHY_VARS_UE *ue,
                  uint32_t frame,
                  uint8_t subframe,
                  uint8_t eNB_id,
@@ -1693,6 +1691,10 @@ int32_t rx_pdcch(LTE_UE_COMMON *common_vars,
                  uint8_t is_secondary_ue)
 {
 
+  LTE_UE_COMMON *common_vars      = &ue->common_vars;
+  LTE_DL_FRAME_PARMS *frame_parms = &ue->frame_parms;
+  LTE_UE_PDCCH **pdcch_vars       = ue->pdcch_vars[subframe & 0x1];
+
   uint8_t log2_maxh,aatx,aarx;
 #ifdef MU_RECEIVER
   uint8_t eNB_id_i=eNB_id+1;//add 1 to eNB_id to separate from wanted signal, chosen as the B/F'd pilots from the SeNB are shifted by 1
@@ -1701,7 +1703,7 @@ int32_t rx_pdcch(LTE_UE_COMMON *common_vars,
   uint8_t n_pdcch_symbols = 3; //pdcch_vars[eNB_id]->num_pdcch_symbols;
   uint8_t mi = get_mi(frame_parms,subframe);
 
-  //  printf("In rx_pdcch, subframe %d,  eNB_id %d\n",subframe,eNB_id);
+  //printf("In rx_pdcch, subframe %d, eNB_id %d, pdcch_vars %d \n",subframe,eNB_id,pdcch_vars);
 
   for (s=0; s<n_pdcch_symbols; s++) {
     if (is_secondary_ue == 1) {
@@ -1876,12 +1878,12 @@ int32_t rx_pdcch(LTE_UE_COMMON *common_vars,
                               pdcch_vars[eNB_id],
                               mimo_mode);
 
+
   if (n_pdcch_symbols>3)
     n_pdcch_symbols=1;
 
 
 #ifdef DEBUG_DCI_DECODING
-  printf("[PDCCH] subframe %d n_pdcch_symbols from PCFICH =%d\n",subframe,n_pdcch_symbols);
 
   printf("demapping: subframe %d, mi %d, tdd_config %d\n",subframe,get_mi(frame_parms,subframe),frame_parms->tdd_config);
 #endif
@@ -2503,7 +2505,7 @@ void dci_decoding(uint8_t DCI_LENGTH,
 }
 
 
-static uint8_t dci_decoded_output[(MAX_DCI_SIZE_BITS+64)/8];
+static uint8_t dci_decoded_output[2][(MAX_DCI_SIZE_BITS+64)/8];
 
 uint16_t get_nCCE(uint8_t num_pdcch_symbols,LTE_DL_FRAME_PARMS *frame_parms,uint8_t mi)
 {
@@ -2795,21 +2797,23 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **pdcch_vars,
 #ifdef DEBUG_DCI_DECODING
 
       if (do_common == 1)
-        LOG_I(PHY,"[DCI search - common] Attempting candidate %d Aggregation Level %d DCI length %d at CCE %d/%d (CCEmap %x,CCEmap_cand %x)\n",m,L2,sizeof_bits,CCEind,nCCE,*CCEmap,CCEmap_mask);
+        LOG_I(PHY,"[DCI search nPdcch %d - common] Attempting candidate %d Aggregation Level %d DCI length %d at CCE %d/%d (CCEmap %x,CCEmap_cand %x)\n",
+                pdcch_vars[eNB_id]->num_pdcch_symbols,m,L2,sizeof_bits,CCEind,nCCE,*CCEmap,CCEmap_mask);
       else
-        LOG_I(PHY,"[DCI search - ue spec] Attempting candidate %d Aggregation Level %d DCI length %d at CCE %d/%d (CCEmap %x,CCEmap_cand %x)\n",m,L2,sizeof_bits,CCEind,nCCE,*CCEmap,CCEmap_mask);
+        LOG_I(PHY,"[DCI search nPdcch %d - ue spec] Attempting candidate %d Aggregation Level %d DCI length %d at CCE %d/%d (CCEmap %x,CCEmap_cand %x)\n",
+                pdcch_vars[eNB_id]->num_pdcch_symbols,m,L2,sizeof_bits,CCEind,nCCE,*CCEmap,CCEmap_mask);
 
 #endif
 
       dci_decoding(sizeof_bits,
                    L,
                    &pdcch_vars[eNB_id]->e_rx[CCEind*72],
-                   dci_decoded_output);
+                   &dci_decoded_output[subframe&0x1][0]);
       /*
         for (i=0;i<3+(sizeof_bits>>3);i++)
         printf("dci_decoded_output[%d] => %x\n",i,dci_decoded_output[i]);
       */
-      crc = (crc16(dci_decoded_output,sizeof_bits)>>16) ^ extract_crc(dci_decoded_output,sizeof_bits);
+      crc = (crc16(&dci_decoded_output[subframe&0x1][0],sizeof_bits)>>16) ^ extract_crc(&dci_decoded_output[subframe&0x1][0],sizeof_bits);
 #ifdef DEBUG_DCI_DECODING
       printf("crc =>%x\n",crc);
 #endif
@@ -2823,27 +2827,31 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **pdcch_vars,
         dci_alloc[*dci_cnt].L          = L;
         dci_alloc[*dci_cnt].firstCCE   = CCEind;
 
+        //printf("DCI FOUND !!! crc =>%x,  sizeof_bits %d, sizeof_bytes %d \n",crc, sizeof_bits, sizeof_bytes);
         if (sizeof_bytes<=4) {
-          dci_alloc[*dci_cnt].dci_pdu[3] = dci_decoded_output[0];
-          dci_alloc[*dci_cnt].dci_pdu[2] = dci_decoded_output[1];
-          dci_alloc[*dci_cnt].dci_pdu[1] = dci_decoded_output[2];
-          dci_alloc[*dci_cnt].dci_pdu[0] = dci_decoded_output[3];
+          dci_alloc[*dci_cnt].dci_pdu[3] = dci_decoded_output[subframe&0x1][0];
+          dci_alloc[*dci_cnt].dci_pdu[2] = dci_decoded_output[subframe&0x1][1];
+          dci_alloc[*dci_cnt].dci_pdu[1] = dci_decoded_output[subframe&0x1][2];
+          dci_alloc[*dci_cnt].dci_pdu[0] = dci_decoded_output[subframe&0x1][3];
 #ifdef DEBUG_DCI_DECODING
-          printf("DCI => %x,%x,%x,%x\n",dci_decoded_output[0],dci_decoded_output[1],dci_decoded_output[2],dci_decoded_output[3]);
+          printf("DCI => %x,%x,%x,%x\n",dci_decoded_output[subframe&0x1][0],
+                  dci_decoded_output[subframe&0x1][1],
+                  dci_decoded_output[subframe&0x1][2],
+                  dci_decoded_output[subframe&0x1][3]);
 #endif
         } else {
-          dci_alloc[*dci_cnt].dci_pdu[7] = dci_decoded_output[0];
-          dci_alloc[*dci_cnt].dci_pdu[6] = dci_decoded_output[1];
-          dci_alloc[*dci_cnt].dci_pdu[5] = dci_decoded_output[2];
-          dci_alloc[*dci_cnt].dci_pdu[4] = dci_decoded_output[3];
-          dci_alloc[*dci_cnt].dci_pdu[3] = dci_decoded_output[4];
-          dci_alloc[*dci_cnt].dci_pdu[2] = dci_decoded_output[5];
-          dci_alloc[*dci_cnt].dci_pdu[1] = dci_decoded_output[6];
-          dci_alloc[*dci_cnt].dci_pdu[0] = dci_decoded_output[7];
+          dci_alloc[*dci_cnt].dci_pdu[7] = dci_decoded_output[subframe&0x1][0];
+          dci_alloc[*dci_cnt].dci_pdu[6] = dci_decoded_output[subframe&0x1][1];
+          dci_alloc[*dci_cnt].dci_pdu[5] = dci_decoded_output[subframe&0x1][2];
+          dci_alloc[*dci_cnt].dci_pdu[4] = dci_decoded_output[subframe&0x1][3];
+          dci_alloc[*dci_cnt].dci_pdu[3] = dci_decoded_output[subframe&0x1][4];
+          dci_alloc[*dci_cnt].dci_pdu[2] = dci_decoded_output[subframe&0x1][5];
+          dci_alloc[*dci_cnt].dci_pdu[1] = dci_decoded_output[subframe&0x1][6];
+          dci_alloc[*dci_cnt].dci_pdu[0] = dci_decoded_output[subframe&0x1][7];
 #ifdef DEBUG_DCI_DECODING
           printf("DCI => %x,%x,%x,%x,%x,%x,%x,%x\n",
-              dci_decoded_output[0],dci_decoded_output[1],dci_decoded_output[2],dci_decoded_output[3],
-              dci_decoded_output[4],dci_decoded_output[5],dci_decoded_output[6],dci_decoded_output[7]);
+              dci_decoded_output[subframe&0x1][0],dci_decoded_output[subframe&0x1][1],dci_decoded_output[subframe&0x1][2],dci_decoded_output[subframe&0x1][3],
+              dci_decoded_output[subframe&0x1][4],dci_decoded_output[subframe&0x1][5],dci_decoded_output[subframe&0x1][6],dci_decoded_output[subframe&0x1][7]);
 #endif
         }
 
@@ -2860,7 +2868,7 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **pdcch_vars,
           *dci_cnt = *dci_cnt+1;
         } else if (crc==pdcch_vars[eNB_id]->crnti) {
 
-          if ((mode&UL_DCI)&&(format_c == format0)&&((dci_decoded_output[0]&0x80)==0)) {// check if pdu is format 0 or 1A
+          if ((mode&UL_DCI)&&(format_c == format0)&&((dci_decoded_output[subframe&0x1][0]&0x80)==0)) {// check if pdu is format 0 or 1A
             if (*format0_found == 0) {
               dci_alloc[*dci_cnt].format     = format0;
               *format0_found = 1;
@@ -2928,7 +2936,7 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
 
   uint8_t  dci_cnt=0,old_dci_cnt=0;
   uint32_t CCEmap0=0,CCEmap1=0,CCEmap2=0;
-  LTE_UE_PDCCH **pdcch_vars = ue->pdcch_vars;
+  LTE_UE_PDCCH **pdcch_vars = ue->pdcch_vars[subframe & 0x1];
   LTE_DL_FRAME_PARMS *frame_parms  = &ue->frame_parms;
   uint8_t mi = get_mi(&ue->frame_parms,subframe);
   uint16_t ra_rnti=99;
@@ -3518,7 +3526,7 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
   } else if (tmode == 3) {
 
 
-    LOG_D(PHY," Now check UE_SPEC format 2A_2A search aggregation 1\n");
+    LOG_D(PHY," Now check UE_SPEC format 2A_2A search aggregation 1 dci length: %d[bits] %d[bytes]\n",format2A_size_bits,format2A_size_bytes);
     // Now check UE_SPEC format 2A_2A search spaces at aggregation 1
     old_dci_cnt=dci_cnt;
     dci_decoding_procedure0(pdcch_vars,0,mode,
@@ -3554,7 +3562,7 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
       return(dci_cnt);
 
     // Now check UE_SPEC format 2 search spaces at aggregation 2
-    LOG_D(PHY," Now check UE_SPEC format 2A_2A search aggregation 2\n");
+    LOG_D(PHY," Now check UE_SPEC format 2A_2A search aggregation 2 dci length: %d[bits] %d[bytes]\n",format2A_size_bits,format2A_size_bytes);
     old_dci_cnt=dci_cnt;
     dci_decoding_procedure0(pdcch_vars,0,mode,
                             subframe,
@@ -3623,7 +3631,7 @@ uint16_t dci_decoding_procedure(PHY_VARS_UE *ue,
 
     //#ifdef ALL_AGGREGATION
     // Now check UE_SPEC format 2_2A search spaces at aggregation 8
-    LOG_D(PHY," Now check UE_SPEC format 2_2A search spaces at aggregation 8 \n");
+    LOG_D(PHY," Now check UE_SPEC format 2_2A search spaces at aggregation 8 dci length: %d[bits] %d[bytes]\n",format2A_size_bits,format2A_size_bytes);
     old_dci_cnt=dci_cnt;
     dci_decoding_procedure0(pdcch_vars,0,mode,
                             subframe,
diff --git a/openair1/PHY/LTE_TRANSPORT/dci.h b/openair1/PHY/LTE_TRANSPORT/dci.h
index c250e7c10ab00fa29cc56fd7449a69410482f3b1..2987f026e04663ddd8ee68e2adb2b321a95d128a 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci.h
+++ b/openair1/PHY/LTE_TRANSPORT/dci.h
@@ -1897,9 +1897,9 @@ struct DCI2A_10MHz_4A_TDD {
 #define sizeof_DCI2A_10MHz_4A_TDD_t 41
 typedef struct DCI2A_10MHz_4A_TDD DCI2A_10MHz_4A_TDD_t;
 
-/// DCI Format Type 2A (10 MHz, FDD, 2 Antenna Ports, 36 bits)
+/// DCI Format Type 2A (10 MHz, FDD, 2 Antenna Ports, 40 bits)
 struct DCI2A_10MHz_2A_FDD {
-  uint64_t padding:28;
+  uint64_t padding:24;
   /// Redundancy version 2
   uint64_t rv2:2;
   /// New Data Indicator 2
@@ -1923,7 +1923,7 @@ struct DCI2A_10MHz_2A_FDD {
   /// Resource Allocation Header
   uint64_t rah:1;
 } __attribute__ ((__packed__));
-#define sizeof_DCI2A_10MHz_2A_FDD_t 36
+#define sizeof_DCI2A_10MHz_2A_FDD_t 41
 typedef struct DCI2A_10MHz_2A_FDD DCI2A_10MHz_2A_FDD_t;
 
 /// DCI Format Type 2A (10 MHz, FDD, 4 Antenna Ports, 38 bits)
diff --git a/openair1/PHY/LTE_TRANSPORT/dci_tools.c b/openair1/PHY/LTE_TRANSPORT/dci_tools.c
index c4e379b45ab1b42c1db7b9622f67402be0f0b737..2a8e44256351d1a1602fa8d5e66e81d677867007 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci_tools.c
@@ -5144,6 +5144,7 @@ void prepare_dl_decoding_format1_1A(DCI_format_t dci_format,
                                     LTE_DL_FRAME_PARMS *frame_parms,
                                     uint8_t  subframe,
                                     uint16_t rnti,
+									uint16_t tc_rnti,
                                     uint16_t si_rnti,
                                     uint16_t ra_rnti,
                                     uint16_t p_rnti,
@@ -5206,6 +5207,13 @@ void prepare_dl_decoding_format1_1A(DCI_format_t dci_format,
     }
     else //CRNTI
     {
+    	if (rnti == tc_rnti) {
+			//fix for standalone Contention Resolution Id
+			pdlsch0_harq->DCINdi = (uint8_t)-1;
+			 LOG_D(PHY,"UE (%x/%d): Format1A DCI: C-RNTI is temporary. Set NDI = %d and to be ignored\n",
+				 rnti,harq_pid,pdlsch0_harq->DCINdi);
+    	}
+
         // DCI has been toggled or this is the first transmission
         if (ndi1!=pdlsch0_harq->DCINdi)
         {
@@ -5720,9 +5728,9 @@ void prepare_dl_decoding_format2_2A(DCI_format_t dci_format,
         pdlsch1->active     = 0;
       }
 
-#ifdef DEBUG_HARQ
+//#ifdef DEBUG_HARQ
       printf("[DCI UE]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status);
-#endif
+//#endif
 
       // compute resource allocation
       if (TB0_active == 1){
@@ -5882,9 +5890,9 @@ void prepare_dl_decoding_format2_2A(DCI_format_t dci_format,
             dlsch1_harq->Qm = (mcs2-28)<<1;
       }
 
-#ifdef DEBUG_HARQ
+//#ifdef DEBUG_HARQ
       printf("[DCI UE]: dlsch0_harq status %d , dlsch1_harq status %d\n", dlsch0_harq->status, dlsch1_harq->status);
-#endif
+//#endif
 
   #ifdef DEBUG_HARQ
       if (dlsch0 != NULL && dlsch1 != NULL)
@@ -5992,6 +6000,7 @@ int generate_ue_dlsch_params_from_dci(int frame,
                                      frame_parms,
                                      subframe,
                                      rnti,
+									 tc_rnti,
                                      si_rnti,
                                      ra_rnti,
                                      p_rnti,
@@ -6092,6 +6101,7 @@ int generate_ue_dlsch_params_from_dci(int frame,
                                      frame_parms,
                                      subframe,
                                      rnti,
+									 tc_rnti,
                                      si_rnti,
                                      ra_rnti,
                                      p_rnti,
@@ -6156,7 +6166,7 @@ int generate_ue_dlsch_params_from_dci(int frame,
     case format2A:
     {
     // extract dci infomation
-    //LOG_I(PHY,"[DCI-format2] AbsSubframe %d.%d extract dci infomation \n", frame%1024, subframe);
+    LOG_I(PHY,"[DCI-format2] AbsSubframe %d.%d extract dci infomation \n", frame%1024, subframe);
     extract_dci2A_info(frame_parms->N_RB_DL,
                        frame_type,
                        frame_parms->nb_antenna_ports_eNB,
@@ -6376,7 +6386,7 @@ int generate_ue_dlsch_params_from_dci(int frame,
     }
 
 
-  #ifdef DEBUG_DCI
+#ifdef DEBUG_DCI
 
     if (dlsch[0] && (dlsch[0]->rnti != 0xffff)) {
       printf("dci_format:%d Abssubframe: %d.%d \n",dci_format,frame%1024,subframe);
@@ -6384,7 +6394,7 @@ int generate_ue_dlsch_params_from_dci(int frame,
       printf("PDSCH dlsch0 UE: NBRB     %d\n",dlsch0_harq->nb_rb);
       printf("PDSCH dlsch0 UE: rballoc  %x\n",dlsch0_harq->rb_alloc_even[0]);
       printf("PDSCH dlsch0 UE: harq_pid %d\n",harq_pid);
-      printf("PDSCH dlsch0 UE: tpc      %d\n",TPC);
+      //printf("PDSCH dlsch0 UE: tpc      %d\n",TPC);
       printf("PDSCH dlsch0 UE: g        %d\n",dlsch[0]->g_pucch);
       printf("PDSCH dlsch0 UE: round    %d\n",dlsch0_harq->round);
       printf("PDSCH dlsch0 UE: DCINdi   %d\n",dlsch0_harq->DCINdi);
@@ -6393,8 +6403,7 @@ int generate_ue_dlsch_params_from_dci(int frame,
       printf("PDSCH dlsch0 UE: mcs      %d\n",dlsch0_harq->mcs);
       printf("PDSCH dlsch0 UE: pwr_off  %d\n",dlsch0_harq->dl_power_off);
     }
-
-  #endif
+#endif
 
   #if T_TRACER
     if( (dlsch[0]->rnti != si_rnti) && (dlsch[0]->rnti != ra_rnti) && (dlsch[0]->rnti != p_rnti))
@@ -8001,6 +8010,7 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu,
 
     print_CQI(ulsch->o,ulsch->uci_format,eNB_id,ue->frame_parms.N_RB_DL);
 
+    ulsch->bundling = 1-AckNackFBMode;
 
     if (frame_parms->frame_type == FDD) {
       int dl_subframe = (subframe<4) ? (subframe+6) : (subframe-4);
@@ -8032,7 +8042,6 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu,
 
     ulsch->Nsymb_pusch                             = 12-(frame_parms->Ncp<<1)-(use_srs==0?0:1);
     ulsch->srs_active                              = use_srs;
-    ulsch->bundling = 1-AckNackFBMode;
 
     if ((rnti >= cba_rnti) && (rnti < p_rnti))
       ulsch->harq_processes[harq_pid]->status = CBA_ACTIVE;
@@ -8077,7 +8086,7 @@ int generate_ue_ulsch_params_from_dci(void *dci_pdu,
 
   // ulsch->n_DMRS2 = ((DCI0_5MHz_TDD_1_6_t *)dci_pdu)->cshift;
 
- #ifdef DEBUG_DCI
+#ifdef DEBUG_DCI
 
     printf("Format 0 DCI : ulsch (ue): AbsSubframe %d.%d\n",proc->frame_rx%1024,subframe);
     printf("Format 0 DCI : ulsch (ue): NBRB        %d\n",ulsch->harq_processes[harq_pid]->nb_rb);
@@ -8635,6 +8644,8 @@ int generate_eNB_ulsch_params_from_dci(PHY_VARS_eNB *eNB,
       ulsch->harq_processes[harq_pid]->uci_format                            = HLC_subband_cqi_nopmi;
     }
 
+    ulsch->bundling = 1-AckNackFBMode;
+
     if (frame_parms->frame_type == FDD) {
       int dl_subframe = (subframe<4) ? (subframe+6) : (subframe-4);
 
@@ -8658,7 +8669,6 @@ int generate_eNB_ulsch_params_from_dci(PHY_VARS_eNB *eNB,
 
     ulsch->harq_processes[harq_pid]->Nsymb_pusch                             = 12-(frame_parms->Ncp<<1)-(use_srs==0?0:1);
     ulsch->harq_processes[harq_pid]->srs_active                            = use_srs;
-    ulsch->bundling = 1-AckNackFBMode;
 
     //Mapping of cyclic shift field in DCI format0 to n_DMRS2 (3GPP 36.211, Table 5.5.2.1.1-1)
     if(cshift == 0)
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
index d683decc9f57230760206b91795621eaa585de8e..9f8ee6cec79a861403653fabbc6348f534647fa6 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
@@ -160,7 +160,7 @@ uint32_t  dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
                          LTE_DL_FRAME_PARMS *frame_parms,
                          LTE_UE_DLSCH_t *dlsch,
                          LTE_DL_UE_HARQ_t *harq_process,
-                         uint8_t frame,
+                         uint32_t frame,
                          uint8_t subframe,
                          uint8_t harq_pid,
                          uint8_t is_crnti,
@@ -472,6 +472,7 @@ uint32_t  dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
     	}
 
       start_meas(dlsch_turbo_decoding_stats);
+      LOG_D(PHY,"AbsSubframe %d.%d Start turbo segment %d/%d \n",frame%1024,subframe,r,harq_process->C-1);
       ret = tc
             (&harq_process->d[r][96],
              harq_process->c[r],
@@ -626,7 +627,7 @@ uint32_t  dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
 
 
     if ((err_flag == 0) && (ret>=(1+dlsch->max_turbo_iterations))) {// a Code segment is in error so break;
-      //printf("CRC failed, segment %d\n",r);
+      LOG_D(PHY,"AbsSubframe %d.%d CRC failed, segment %d/%d \n",frame%1024,subframe,r,harq_process->C-1);
       err_flag = 1;
     }
   }
@@ -927,7 +928,7 @@ uint32_t dlsch_decoding_emul(PHY_VARS_UE *phy_vars_ue,
   case PDSCH: // TB0
     dlsch_ue  = phy_vars_ue->dlsch[subframe&0x1][eNB_id][0];
     harq_pid = dlsch_ue->current_harq_pid;
-    ue_id= (uint32_t)find_ue((int16_t)phy_vars_ue->pdcch_vars[(uint32_t)eNB_id]->crnti,PHY_vars_eNB_g[eNB_id2][CC_id]);
+    ue_id= (uint32_t)find_ue((int16_t)phy_vars_ue->pdcch_vars[subframe & 0x1][(uint32_t)eNB_id]->crnti,PHY_vars_eNB_g[eNB_id2][CC_id]);
     DevAssert( ue_id != (uint32_t)-1 );
     dlsch_eNB = PHY_vars_eNB_g[eNB_id2][CC_id]->dlsch[ue_id][0];
 
@@ -973,7 +974,7 @@ uint32_t dlsch_decoding_emul(PHY_VARS_UE *phy_vars_ue,
   case PDSCH1: { // TB1
     dlsch_ue = phy_vars_ue->dlsch[subframe&0x1][eNB_id][1];
     harq_pid = dlsch_ue->current_harq_pid;
-    int8_t UE_id = find_ue( phy_vars_ue->pdcch_vars[eNB_id]->crnti, PHY_vars_eNB_g[eNB_id2][CC_id] );
+    int8_t UE_id = find_ue( phy_vars_ue->pdcch_vars[subframe & 0x1][eNB_id]->crnti, PHY_vars_eNB_g[eNB_id2][CC_id] );
     DevAssert( UE_id != -1 );
     dlsch_eNB = PHY_vars_eNB_g[eNB_id2][CC_id]->dlsch[UE_id][1];
     // reset HARQ
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
index a842a8a9dcf88ed8dc4b130412f8188d5d5c0ca9..e7f98cea1a5adcf3cb4c4b362a7d3ae93205cca8 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
@@ -56,9 +56,7 @@ int16_t dlsch_demod_shift = 0;
 //#define DEBUG_PHY 1
 //#define DEBUG_DLSCH_DEMOD 1
 
-int avg[4];
-int avg_0[2];
-int avg_1[2];
+
 
 // [MCS][i_mod (0,1,2) = (2,4,6)]
 unsigned char offset_mumimo_llr_drange_fix=0;
@@ -110,6 +108,9 @@ int rx_pdsch(PHY_VARS_UE *ue,
   PHY_MEASUREMENTS *measurements = &ue->measurements;
   LTE_UE_DLSCH_t   **dlsch;
 
+  int avg[4];
+  int avg_0[2];
+  int avg_1[2];
 
   unsigned char aatx,aarx;
 
@@ -122,8 +123,8 @@ int rx_pdsch(PHY_VARS_UE *ue,
 
   int32_t **rxdataF_comp_ptr;
   int32_t **dl_ch_mag_ptr;
-  int32_t codeword_TB0;
-  int32_t codeword_TB1;
+  int32_t codeword_TB0 = -1;
+  int32_t codeword_TB1 = -1;
 
 
 
@@ -143,7 +144,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
     break;
 
   case PDSCH:
-    pdsch_vars = &ue->pdsch_vars[subframe&0x1][eNB_id];
+    pdsch_vars = ue->pdsch_vars[subframe&0x1];
     dlsch = ue->dlsch[subframe&0x1][eNB_id];
     LOG_D(PHY,"AbsSubframe %d.%d / Sym %d harq_pid %d,  harq status %d.%d \n",
                    frame,subframe,symbol,harq_pid,
@@ -3374,9 +3375,16 @@ void dlsch_channel_level(int **dl_ch_estimates_ext,
 
   symbol_mod = (symbol>=(7-frame_parms->Ncp)) ? symbol-(7-frame_parms->Ncp) : symbol;
 
-  float one_over_nb_re = 0;
-  one_over_nb_re = 1/(nb_rb *12);
-  int16_t one_over_nb_re_q1_15 = (int16_t)(one_over_nb_re * (float)(1<<15) );
+  if (((symbol_mod == 0) || (symbol_mod == (frame_parms->Ncp-1)))&&(frame_parms->mode1_flag==0))
+    nre=8;
+  else if (((symbol_mod == 0) || (symbol_mod == (frame_parms->Ncp-1)))&&(frame_parms->mode1_flag==1))
+    nre=10;
+  else
+    nre=12;
+
+  double one_over_nb_re = 0.0;
+  one_over_nb_re = 1/((double)(nb_rb*nre));
+  int16_t one_over_nb_re_q1_15 = (int16_t)(one_over_nb_re * (double)(1<<15) );
   coeff128 = _mm_set_epi16(one_over_nb_re_q1_15,one_over_nb_re_q1_15,one_over_nb_re_q1_15,one_over_nb_re_q1_15,
                             one_over_nb_re_q1_15,one_over_nb_re_q1_15,one_over_nb_re_q1_15,one_over_nb_re_q1_15);
 
@@ -3398,7 +3406,7 @@ void dlsch_channel_level(int **dl_ch_estimates_ext,
           dl_ch128+=2;
         }
         else {
-          avg128D = _mm_add_epi32(avg128D,_mm_madd_epi16(dl_ch128[2],dl_ch128[2]));
+          avg128D = _mm_add_epi32(avg128D,_mm_madd_epi16(dl_ch128[2],_mm_srai_epi16(_mm_mulhi_epi16(dl_ch128[2], coeff128),15)));
           dl_ch128+=3;
         }
         /*
@@ -3410,18 +3418,10 @@ void dlsch_channel_level(int **dl_ch_estimates_ext,
         */
       }
 
-      if (((symbol_mod == 0) || (symbol_mod == (frame_parms->Ncp-1)))&&(frame_parms->mode1_flag==0))
-        nre=8;
-      else if (((symbol_mod == 0) || (symbol_mod == (frame_parms->Ncp-1)))&&(frame_parms->mode1_flag==1))
-        nre=10;
-      else
-        nre=12;
-
       avg[(aatx<<1)+aarx] =(((int32_t*)&avg128D)[0] +
                             ((int32_t*)&avg128D)[1] +
                             ((int32_t*)&avg128D)[2] +
                             ((int32_t*)&avg128D)[3]);
-
                 //  printf("Channel level : %d\n",avg[(aatx<<1)+aarx]);
     }
 
@@ -5880,7 +5880,7 @@ unsigned short dlsch_extract_rbs_TM7(int **rxdataF,
 #ifdef USER_MODE
 
 
-void dump_dlsch2(PHY_VARS_UE *ue,uint8_t eNB_id,uint8_t subframe,uint16_t coded_bits_per_codeword,int round,  unsigned char harq_pid)
+void dump_dlsch2(PHY_VARS_UE *ue,uint8_t eNB_id,uint8_t subframe,unsigned int *coded_bits_per_codeword,int round,  unsigned char harq_pid)
 {
   unsigned int nsymb = (ue->frame_parms.Ncp == 0) ? 14 : 12;
   char fname[32],vname[32];
@@ -5959,7 +5959,7 @@ void dump_dlsch2(PHY_VARS_UE *ue,uint8_t eNB_id,uint8_t subframe,uint16_t coded_
 
   sprintf(fname,"dlsch%d_rxF_r%d_llr.m",eNB_id,round);
   sprintf(vname,"dl%d_r%d_llr",eNB_id,round);
-  write_output(fname,vname, ue->pdsch_vars[subframe&0x1][eNB_id]->llr[0],coded_bits_per_codeword,1,0);
+  write_output(fname,vname, ue->pdsch_vars[subframe&0x1][eNB_id]->llr[0],coded_bits_per_codeword[0],1,0);
   sprintf(fname,"dlsch%d_r%d_mag1.m",eNB_id,round);
   sprintf(vname,"dl%d_r%d_mag1",eNB_id,round);
   write_output(fname,vname,ue->pdsch_vars[subframe&0x1][eNB_id]->dl_ch_mag0[0],12*N_RB_DL*nsymb,1,1);
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
index b08836762cdbbf4111cc9f32b1460c891718d752..e2de78f9caf4b903bb30051095fc83d9774b8b1d 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
@@ -8847,6 +8847,15 @@ int dlsch_64qam_64qam_llr(LTE_DL_FRAME_PARMS *frame_parms,
   memcpy(ch_mag_i_256i, ch_mag_i, len*4);
   memcpy(rho_256i, rho, len*4);
 
+#if 0
+  qam64_qam16_avx2((short *)rxF_256i,
+                   (short *)rxF_i_256i,
+                   (short *)ch_mag_256i,
+                   (short *)ch_mag_i_256i,
+                   (short *)llr16,
+                   (short *) rho_256i,
+                   len);
+#else
   qam64_qam64_avx2((int32_t *)rxF_256i,
                    (int32_t *)rxF_i_256i,
                    (int32_t *)ch_mag_256i,
@@ -8854,7 +8863,7 @@ int dlsch_64qam_64qam_llr(LTE_DL_FRAME_PARMS *frame_parms,
                    (int16_t *)llr16,
                    (int32_t *) rho_256i,
                    len);
-
+#endif
   free16(rxF_256i, sizeof(rxF_256i));
   free16(rxF_i_256i, sizeof(rxF_i_256i));
   free16(ch_mag_256i, sizeof(ch_mag_256i));
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
index e24edb8d685020e65d5e269eb22f722cdef2ee15..a344d2b2085fe6eaac7cfa2c033dec65e5e7de99 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
@@ -578,13 +578,13 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
 {
 
   uint8_t *x0 = NULL;
-  MIMO_mode_t mimo_mode;
+  MIMO_mode_t mimo_mode = -1;
 
   LTE_DL_FRAME_PARMS *frame_parms = &phy_vars_eNB->frame_parms;
 
 
   int first_layer0; //= dlsch0_harq->first_layer;
-  int Nlayers0; //  = dlsch0_harq->Nlayers;
+  int Nlayers0 = -1; //  = dlsch0_harq->Nlayers;
   uint8_t mod_order0=0; // = get_Qm(dlsch0_harq->mcs);
   uint8_t mod_order1=0; //=2;
   uint8_t precoder_index0,precoder_index1;
@@ -1998,13 +1998,13 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
   LTE_DL_FRAME_PARMS *frame_parms = &phy_vars_eNB->frame_parms;
 
   uint8_t nsymb;
-  uint8_t harq_pid; //= dlsch0->current_harq_pid;
-  LTE_DL_eNB_HARQ_t *dlsch0_harq;
-  LTE_DL_eNB_HARQ_t *dlsch1_harq; //= dlsch1->harq_processes[harq_pid];
+  uint8_t harq_pid = -1; //= dlsch0->current_harq_pid;
+  LTE_DL_eNB_HARQ_t *dlsch0_harq = NULL;
+  LTE_DL_eNB_HARQ_t *dlsch1_harq = NULL; //= dlsch1->harq_processes[harq_pid];
   uint32_t i,i2,jj,jj2,re_allocated,symbol_offset;
   uint16_t l,rb,re_offset;
   uint32_t rb_alloc_ind;
-  uint32_t *rb_alloc; //=dlsch0_harq->rb_alloc;
+  uint32_t *rb_alloc = NULL; //=dlsch0_harq->rb_alloc;
 
   uint8_t pilots=0;
   uint8_t skip_dc,skip_half;
@@ -2015,6 +2015,8 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
   int16_t qam16_table_a1[4],qam64_table_a1[8],qam16_table_b1[4],qam64_table_b1[8];
 
   int16_t *qam_table_s0=NULL,*qam_table_s1=NULL;
+#if 0
+  /* TODO: variable to be removed? */
   int (*allocate_REs)(PHY_VARS_eNB*,
                       int **,
                       uint32_t*,
@@ -2036,13 +2038,14 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
                       uint8_t,
                       int *,
                       int *);
+#endif
 
   int P1_SHIFT[13],P2_SHIFT[13];
   int offset,nushiftmod3;
 
   uint8_t get_pmi_temp;
 
-  MIMO_mode_t mimo_mode;
+  MIMO_mode_t mimo_mode = -1;
   uint8_t mprime=0,Ns;
   int8_t  lprime=-1;
   int aa=0;
@@ -2242,7 +2245,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
     re_offset = frame_parms->first_carrier_offset;
     symbol_offset = (uint32_t)frame_parms->ofdm_symbol_size*(l+(subframe_offset*nsymb));
 
+#if 0
+    /* TODO: remove this code? */
     allocate_REs = allocate_REs_in_RB;
+#endif
 
     switch (mod_order0) {
     case 2:
@@ -2251,15 +2257,21 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
     case 4:
       if (pilots) {
         qam_table_s0 = qam16_table_b0;
+#if 0
+        /* TODO: remove this code? */
         allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
           allocate_REs_in_RB_pilots_16QAM_siso :
           allocate_REs_in_RB;
+#endif
       }
       else {
         qam_table_s0 = qam16_table_a0;
+#if 0
+        /* TODO: remove this code? */
         allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
           allocate_REs_in_RB_no_pilots_16QAM_siso :
           allocate_REs_in_RB;
+#endif
 
       }
       break;
@@ -2267,15 +2279,21 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
     case 6:
       if (pilots) {
         qam_table_s0 = qam64_table_b0;
+#if 0
+        /* TODO: remove this code? */
         allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
           allocate_REs_in_RB_pilots_64QAM_siso :
           allocate_REs_in_RB;
+#endif
       }
       else {
         qam_table_s0 = qam64_table_a0;
+#if 0
+        /* TODO: remove this code? */
         allocate_REs = (dlsch0->harq_processes[harq_pid]->mimo_mode == SISO) ?
           allocate_REs_in_RB_no_pilots_64QAM_siso :
           allocate_REs_in_RB;
+#endif
       }
       break;
 
@@ -2284,7 +2302,10 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
     switch (mod_order1) {
     case 2:
       qam_table_s1 = NULL;
+#if 0
+        /* TODO: remove this code? */
       allocate_REs = allocate_REs_in_RB;
+#endif
       break;
     case 4:
       if (pilots) {
diff --git a/openair1/PHY/LTE_TRANSPORT/if5_tools.c b/openair1/PHY/LTE_TRANSPORT/if5_tools.c
index 399ebc4da244aaa424efe4e13bfcfd6be33accad..b4fc0722d17bd3894b15eaef1f34f8a5e1fef773 100644
--- a/openair1/PHY/LTE_TRANSPORT/if5_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/if5_tools.c
@@ -56,7 +56,9 @@ void send_IF5(PHY_VARS_eNB *eNB, openair0_timestamp proc_timestamp, int subframe
   LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
   int32_t *txp[fp->nb_antennas_tx], *rxp[fp->nb_antennas_rx]; 
   int32_t *tx_buffer=NULL;
+#ifdef DEBUG_DL_MOBIPASS
   int8_t dummy_buffer[fp->samples_per_tti*2];
+#endif
   void    *alaw_buffer = eNB->ifbuffer.tx[subframe&1];
   uint16_t *data_block = NULL;
   uint16_t *j = NULL;
@@ -262,8 +264,10 @@ void recv_IF5(PHY_VARS_eNB *eNB, openair0_timestamp *proc_timestamp, int subfram
   int32_t *txp[fp->nb_antennas_tx], *rxp[fp->nb_antennas_rx]; 
 
   uint16_t packet_id=0, i=0, element_id=0;
-  int8_t dummy_buffer_rx[fp->samples_per_tti*2];
+#ifdef DEBUG_UL_MOBIPASS
+  //int8_t dummy_buffer_rx[fp->samples_per_tti*2];
   uint8_t rxe;
+#endif
 
   int32_t spp_eth  = (int32_t) eNB->ifdevice.openair0_cfg->samples_per_packet;
   int32_t spsf     = (int32_t) eNB->ifdevice.openair0_cfg->samples_per_frame/10;
@@ -390,14 +394,16 @@ void recv_IF5(PHY_VARS_eNB *eNB, openair0_timestamp *proc_timestamp, int subfram
     
     uint16_t db_fulllength = PAYLOAD_MOBIPASS_NUM_SAMPLES;
     openair0_timestamp timestamp_mobipass[fp->samples_per_tti/db_fulllength];
+#ifdef DEBUG_UL_MOBIPASS
     int lower_offset = 0;
     int  upper_offset = 70000;
+#endif
     int subframe_skip = 0;
     int reset_flag = 0;
     int32_t *rx_buffer=NULL;
     __m128i *data_block=NULL, *data_block_head=NULL;
     __m128i *rxp128;
-    __m128i r0, r1;
+    __m128i r0;
 
     //rx_buffer = memalign(16, MAC_HEADER_SIZE_BYTES + sizeof_IF5_mobipass_header_t + db_fulllength*sizeof(int16_t));
     rx_buffer = malloc(MAC_HEADER_SIZE_BYTES + sizeof_IF5_mobipass_header_t + db_fulllength*sizeof(int16_t));
diff --git a/openair1/PHY/LTE_TRANSPORT/phich.c b/openair1/PHY/LTE_TRANSPORT/phich.c
index df789cd174bf09d42148df583952822069cc6d60..d363d4dcf65faf9312a1dc70357f45eab7f5f6a8 100644
--- a/openair1/PHY/LTE_TRANSPORT/phich.c
+++ b/openair1/PHY/LTE_TRANSPORT/phich.c
@@ -1067,7 +1067,7 @@ void rx_phich(PHY_VARS_UE *ue,
 
 
   LTE_DL_FRAME_PARMS *frame_parms=&ue->frame_parms;
-  LTE_UE_PDCCH **pdcch_vars = ue->pdcch_vars;
+  LTE_UE_PDCCH **pdcch_vars = &ue->pdcch_vars[subframe & 0x1][eNB_id];
 
   //  uint8_t HI;
   uint8_t harq_pid = phich_subframe_to_harq_pid(frame_parms,proc->frame_rx,subframe);
diff --git a/openair1/PHY/LTE_TRANSPORT/print_stats.c b/openair1/PHY/LTE_TRANSPORT/print_stats.c
index c3e40e1e72f323b108d740b7d5db815f76cf8cd1..9e8fa931ad6e341c2aea2e6da7a62ee5a44d4f51 100644
--- a/openair1/PHY/LTE_TRANSPORT/print_stats.c
+++ b/openair1/PHY/LTE_TRANSPORT/print_stats.c
@@ -59,7 +59,7 @@ int dump_ue_stats(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,char* buffer, int length
     return 0;
 
   if ((mode == normal_txrx) || (mode == no_L2_connect)) {
-    len += sprintf(&buffer[len], "[UE_PROC] UE %d, RNTI %x\n",ue->Mod_id, ue->pdcch_vars[0]->crnti);
+    len += sprintf(&buffer[len], "[UE_PROC] UE %d, RNTI %x\n",ue->Mod_id, ue->pdcch_vars[0][0]->crnti);
      len += sprintf(&buffer[len],"[UE PROC] RSRP[0] %.2f dBm/RE, RSSI %.2f dBm, RSRQ[0] %.2f dB, N0 %d dBm/RE (NF %.1f dB)\n",
 		    10*log10(ue->measurements.rsrp[0])-ue->rx_total_gain_dB,
 		    10*log10(ue->measurements.rssi)-ue->rx_total_gain_dB, 
@@ -507,7 +507,7 @@ int dump_ue_stats(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,char* buffer, int length
       len += sprintf(&buffer[len], "[UE PROC] DLSCH Total %d, Error %d, FER %d\n",ue->dlsch_received[0],ue->dlsch_errors[0],ue->dlsch_fer[0]);
       len += sprintf(&buffer[len], "[UE PROC] DLSCH (SI) Total %d, Error %d\n",ue->dlsch_SI_received[0],ue->dlsch_SI_errors[0]);
       len += sprintf(&buffer[len], "[UE PROC] DLSCH (RA) Total %d, Error %d\n",ue->dlsch_ra_received[0],ue->dlsch_ra_errors[0]);
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
       int i=0;
 
       //len += sprintf(&buffer[len], "[UE PROC] MCH  Total %d\n", ue->dlsch_mch_received[0]);
diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h
index fe7991e343ab200cf96d8d5f7a34f66a29a8fba0..423d08c385301823a660e74d8aadd1f6b7d60d69 100644
--- a/openair1/PHY/LTE_TRANSPORT/proto.h
+++ b/openair1/PHY/LTE_TRANSPORT/proto.h
@@ -1268,7 +1268,7 @@ uint32_t dlsch_decoding(PHY_VARS_UE *phy_vars_ue,
                         LTE_DL_FRAME_PARMS *lte_frame_parms,
                         LTE_UE_DLSCH_t *dlsch,
                         LTE_DL_UE_HARQ_t *harq_process,
-                        uint8_t frame,
+                        uint32_t frame,
                         uint8_t subframe,
                         uint8_t harq_pid,
                         uint8_t is_crnti,
@@ -1308,9 +1308,7 @@ int32_t rx_pdsch(PHY_VARS_UE *phy_vars_ue,
                  uint8_t i_mod,
                  uint8_t harq_pid);
 
-int32_t rx_pdcch(LTE_UE_COMMON *lte_ue_common_vars,
-                 LTE_UE_PDCCH **lte_ue_pdcch_vars,
-                 LTE_DL_FRAME_PARMS *frame_parms,
+int32_t rx_pdcch(PHY_VARS_UE *ue,
                  uint32_t frame,
                  uint8_t subframe,
                  uint8_t eNB_id,
@@ -1570,9 +1568,11 @@ uint8_t SE2I_TBS(float SE,
     @param soundingrs_ul_config_dedicated Dynamic configuration from RRC during Connection Establishment
     @param txdataF pointer to the frequency domain TX signal
     @returns 0 on success*/
-int generate_srs_rx(LTE_DL_FRAME_PARMS *frame_parms,
-                    SOUNDINGRS_UL_CONFIG_DEDICATED *soundingrs_ul_config_dedicated,
-                    int *txdataF);
+int generate_srs(LTE_DL_FRAME_PARMS *frame_parms,
+		 SOUNDINGRS_UL_CONFIG_DEDICATED *soundingrs_ul_config_dedicated,
+		 int *txdataF,
+		 int16_t amp,
+		 uint32_t subframe);
 
 int32_t generate_srs_tx_emul(PHY_VARS_UE *phy_vars_ue,
                              uint8_t subframe);
@@ -1781,6 +1781,7 @@ uint32_t ulsch_encoding(uint8_t *a,
                         PHY_VARS_UE *phy_vars_ue,
                         uint8_t harq_pid,
                         uint8_t eNB_id,
+                        uint8_t subframe_rx,
                         uint8_t tmode,
                         uint8_t control_only_flag,
                         uint8_t Nbundled);
@@ -1796,6 +1797,7 @@ uint32_t ulsch_encoding(uint8_t *a,
 int32_t ulsch_encoding_emul(uint8_t *ulsch_buffer,
                             PHY_VARS_UE *phy_vars_ue,
                             uint8_t eNB_id,
+                            uint8_t subframe_rx,
                             uint8_t harq_pid,
                             uint8_t control_only_flag);
 
@@ -1899,7 +1901,7 @@ uint16_t quantize_subband_pmi(PHY_MEASUREMENTS *meas,uint8_t eNB_id,int nb_subba
 
 int32_t pmi_convert_rank1_from_rank2(uint16_t pmi_alloc, int tpmi, int nb_rb);
 
-//uint16_t quantize_subband_pmi2(PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_t a_id,int nb_subbands);
+uint16_t quantize_subband_pmi2(PHY_MEASUREMENTS *meas,uint8_t eNB_id,uint8_t a_id,int nb_subbands);
 
 uint64_t pmi2hex_2Ar1(uint32_t pmi);
 
diff --git a/openair1/PHY/LTE_TRANSPORT/pucch.c b/openair1/PHY/LTE_TRANSPORT/pucch.c
index 563f83bb7fa9e7d1851f2a2ed623b5d5c1c537ea..1efad912af5a0f54ff6efe37c99f73f4cce001e6 100644
--- a/openair1/PHY/LTE_TRANSPORT/pucch.c
+++ b/openair1/PHY/LTE_TRANSPORT/pucch.c
@@ -1315,7 +1315,7 @@ int32_t rx_pucch_emul(PHY_VARS_eNB *eNB,
   rnti = eNB->ulsch[UE_index]->rnti;
 
   for (UE_id=0; UE_id<NB_UE_INST; UE_id++) {
-    if (rnti == PHY_vars_UE_g[UE_id][CC_id]->pdcch_vars[0]->crnti)
+    if (rnti == PHY_vars_UE_g[UE_id][CC_id]->pdcch_vars[subframe & 0x1][0]->crnti)
       break;
   }
 
diff --git a/openair1/PHY/LTE_TRANSPORT/rar_tools.c b/openair1/PHY/LTE_TRANSPORT/rar_tools.c
index 60fa52df16d06087a0a2513ac4cdd64999426090..2629c6ba7f2505c6944fa9b000e2a637b4ce4a48 100644
--- a/openair1/PHY/LTE_TRANSPORT/rar_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/rar_tools.c
@@ -31,6 +31,7 @@
 */
 #include "PHY/defs.h"
 #include "PHY/extern.h"
+#include "SCHED/defs.h"
 #include "SCHED/extern.h"
 #include "LAYER2/MAC/defs.h"
 #include "SCHED/defs.h"
@@ -69,6 +70,7 @@ int generate_eNB_ulsch_params_from_rar(unsigned char *rar_pdu,
   uint8_t cqireq;
   uint16_t *RIV2nb_rb_LUT, *RIV2first_rb_LUT;
   uint16_t RIV_max;
+  uint16_t use_srs=0;
 
   LOG_D(PHY,"[eNB][RAPROC] generate_eNB_ulsch_params_from_rar: subframe %d (harq_pid %d)\n",subframe,harq_pid);
 
@@ -133,8 +135,6 @@ int generate_eNB_ulsch_params_from_rar(unsigned char *rar_pdu,
   ulsch->beta_offset_ri_times8                 = 10;
   ulsch->beta_offset_harqack_times8            = 16;
 
-
-  ulsch->harq_processes[harq_pid]->Nsymb_pusch                           = 12-(frame_parms->Ncp<<1);
   ulsch->rnti = (((uint16_t)rar[4])<<8)+rar[5];
 
   if (ulsch->harq_processes[harq_pid]->round == 0) {
@@ -151,6 +151,19 @@ int generate_eNB_ulsch_params_from_rar(unsigned char *rar_pdu,
     ulsch->harq_processes[harq_pid]->round++;
   }
 
+
+  ulsch->Msg3_active = 1;
+	      
+  get_Msg3_alloc(frame_parms,
+		 subframe,
+		 frame,
+		 &ulsch->Msg3_frame,
+		 &ulsch->Msg3_subframe);
+
+  use_srs = is_srs_occasion_common(frame_parms,ulsch->Msg3_frame,ulsch->Msg3_subframe);
+  ulsch->harq_processes[harq_pid]->Nsymb_pusch = 12-(frame_parms->Ncp<<1)-(use_srs==0?0:1);
+  ulsch->harq_processes[harq_pid]->srs_active                            = use_srs;
+
 #ifdef DEBUG_RAR
   msg("ulsch ra (eNB): harq_pid %d\n",harq_pid);
   msg("ulsch ra (eNB): NBRB     %d\n",ulsch->harq_processes[harq_pid]->nb_rb);
diff --git a/openair1/PHY/LTE_TRANSPORT/srs_modulation.c b/openair1/PHY/LTE_TRANSPORT/srs_modulation.c
index 7e29d998a10e30c49d96ba934d2822d86127fe75..8381eca5e411c95d9130f93eb1e3206fa1401aa1 100644
--- a/openair1/PHY/LTE_TRANSPORT/srs_modulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/srs_modulation.c
@@ -120,17 +120,15 @@ int compareints (const void * a, const void * b)
   return ( *(unsigned short*)a - *(unsigned short*)b );
 }
 
-
-int32_t generate_srs_tx(PHY_VARS_UE *ue,
-                        uint8_t eNB_id,
-                        int16_t amp,
-                        uint32_t subframe)
+#define DEBUG_SRS
+int32_t generate_srs(LTE_DL_FRAME_PARMS *frame_parms,
+		     SOUNDINGRS_UL_CONFIG_DEDICATED *soundingrs_ul_config_dedicated,
+		     int32_t *txptr,
+		     int16_t amp,
+		     uint32_t subframe)
 {
 
-  LTE_DL_FRAME_PARMS *frame_parms=&ue->frame_parms;
-  SOUNDINGRS_UL_CONFIG_DEDICATED *soundingrs_ul_config_dedicated=&ue->soundingrs_ul_config_dedicated[eNB_id];
-  int32_t **txdataF = ue->common_vars.txdataF;
-  uint16_t msrsb=0,Nb=0,nb,b,msrs0=0,k,Msc_RS,Msc_RS_idx,carrier_pos,symbol_offset;
+  uint16_t msrsb=0,Nb=0,nb,b,msrs0=0,k,Msc_RS,Msc_RS_idx,carrier_pos;
   uint16_t *Msc_idx_ptr;
   int32_t k0;
   //uint32_t subframe_offset;
@@ -178,7 +176,7 @@ int32_t generate_srs_tx(PHY_VARS_UE *ue,
   }
 
   if (k0<0) {
-    msg("generate_srs: invalid parameter set msrs0=%d, msrsb=%d, Nb=%d => nb=%d, k0=%d\n",msrs0,msrsb,Nb,nb,k0);
+    LOG_E(PHY,"generate_srs: invalid parameter set msrs0=%d, msrsb=%d, Nb=%d => nb=%d, k0=%d\n",msrs0,msrsb,Nb,nb,k0);
     return(-1);
   }
 
@@ -188,7 +186,7 @@ int32_t generate_srs_tx(PHY_VARS_UE *ue,
   if (Msc_idx_ptr)
     Msc_RS_idx = Msc_idx_ptr - dftsizes;
   else {
-    msg("generate_srs: index for Msc_RS=%d not found\n",Msc_RS);
+    LOG_E(PHY,"generate_srs: index for Msc_RS=%d not found\n",Msc_RS);
     return(-1);
   }
 
@@ -199,29 +197,20 @@ int32_t generate_srs_tx(PHY_VARS_UE *ue,
   else if (Msc_RS==144)
     Msc_RS_idx = 9;
   else {
-    msg("generate_srs: index for Msc_RS=%d not implemented\n",Msc_RS);
+    LOG_E(PHY,"generate_srs: index for Msc_RS=%d not implemented\n",Msc_RS);
     return(-1);
   }
 
 #endif
 
 #ifdef DEBUG_SRS
-  msg("generate_srs_tx: Msc_RS = %d, Msc_RS_idx = %d\n",Msc_RS, Msc_RS_idx);
+  LOG_D(PHY,"generate_srs_tx: Msc_RS = %d, Msc_RS_idx = %d, k0 = %d\n",Msc_RS, Msc_RS_idx,k0);
 #endif
 
     carrier_pos = (frame_parms->first_carrier_offset + k0);
     if (carrier_pos>frame_parms->ofdm_symbol_size) {
         carrier_pos -= frame_parms->ofdm_symbol_size;
     }
-    uint16_t nsymb = (frame_parms->Ncp==0) ? 14:12;
-    symbol_offset = (int)frame_parms->ofdm_symbol_size*((subframe*nsymb)+(nsymb-1));
-
-    //msg("carrier_pos = %d\n",carrier_pos);
-    //subframe_offset = subframe*frame_parms->symbols_per_tti*frame_parms->ofdm_symbol_size;
-    //symbol_offset = subframe_offset+(frame_parms->symbols_per_tti-1)*frame_parms->ofdm_symbol_size;
-
-    int32_t *txptr;
-    txptr = &txdataF[0][symbol_offset];
 
     for (k=0; k<Msc_RS; k++) {
       int32_t real = ((int32_t) amp * (int32_t) ul_ref_sigs[u][v][Msc_RS_idx][k<<1])     >> 15;
@@ -245,6 +234,7 @@ int generate_srs_tx_emul(PHY_VARS_UE *phy_vars_ue,uint8_t subframe)
   return(0);
 }
 
+#if 0
 int generate_srs_rx(LTE_DL_FRAME_PARMS *frame_parms,
                     SOUNDINGRS_UL_CONFIG_DEDICATED *soundingrs_ul_config_dedicated,
                     int *txdataF)
@@ -285,7 +275,7 @@ int generate_srs_rx(LTE_DL_FRAME_PARMS *frame_parms,
   }
 
   if (k0<0) {
-    msg("Invalid parameter set msrs0=%d, msrsb=%d, Nb=%d => nb=%d, k0=%d\n",msrs0,msrsb,Nb,nb,k0);
+    LOG_E(PHY,"Invalid parameter set msrs0=%d, msrsb=%d, Nb=%d => nb=%d, k0=%d\n",msrs0,msrsb,Nb,nb,k0);
     return(-1);
   }
 
@@ -295,7 +285,7 @@ int generate_srs_rx(LTE_DL_FRAME_PARMS *frame_parms,
   if (Msc_idx_ptr)
     Msc_RS_idx = Msc_idx_ptr - dftsizes;
   else {
-    msg("generate_srs: index for Msc_RS=%d not found\n",Msc_RS);
+    LOG_E(PHY,"generate_srs: index for Msc_RS=%d not found\n",Msc_RS);
     return(-1);
   }
 
@@ -306,23 +296,21 @@ int generate_srs_rx(LTE_DL_FRAME_PARMS *frame_parms,
   else if (Msc_RS==144)
     Msc_RS_idx = 9;
   else {
-    msg("generate_srs: index for Msc_RS=%d not implemented\n",Msc_RS);
+    LOG_E(PHY,"generate_srs: index for Msc_RS=%d not implemented\n",Msc_RS);
     return(-1);
   }
 
 #endif
 
 #ifdef DEBUG_SRS
-  msg("generate_srs_rx: Msc_RS = %d, Msc_RS_idx = %d, k0=%d\n",Msc_RS, Msc_RS_idx,k0);
+  LOG_I(PHY,"generate_srs_rx: Msc_RS = %d, Msc_RS_idx = %d, k0=%d\n",Msc_RS, Msc_RS_idx,k0);
 #endif
 
   carrier_pos = (frame_parms->first_carrier_offset + k0) % frame_parms->ofdm_symbol_size;
 
   for (k=0; k<Msc_RS; k++) {
-    ((short*) txdataF)[carrier_pos<<2]   = ul_ref_sigs_rx[0][0][Msc_RS_idx][k<<2];
-    ((short*) txdataF)[(carrier_pos<<2)+1] = ul_ref_sigs_rx[0][0][Msc_RS_idx][(k<<2)+1];
-    ((short*) txdataF)[(carrier_pos<<2)+2] = ul_ref_sigs_rx[0][0][Msc_RS_idx][(k<<2)+2];
-    ((short*) txdataF)[(carrier_pos<<2)+3] = ul_ref_sigs_rx[0][0][Msc_RS_idx][(k<<2)+3];
+    ((short*) txdataF)[carrier_pos<<1]   = ul_ref_sigs_rx[0][0][Msc_RS_idx][k<<1];
+    ((short*) txdataF)[(carrier_pos<<1)+1] = ul_ref_sigs_rx[0][0][Msc_RS_idx][(k<<1)+1];
     carrier_pos+=2;
 
     if (carrier_pos >= frame_parms->ofdm_symbol_size)
@@ -365,7 +353,7 @@ int generate_srs_rx(LTE_DL_FRAME_PARMS *frame_parms,
   //  write_output("srs_rx.m","srsrx",txdataF,1024,2,1);
   return(0);
 }
-
+#endif
 
 #ifdef MAIN
 main()
diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c
index dbb7a16ac9cbb983a650b5811e9cfc594e2245e3..bd49fdacb06dc4c177a9182f6ee5d57759a49577 100644
--- a/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c
+++ b/openair1/PHY/LTE_TRANSPORT/ulsch_coding.c
@@ -202,6 +202,7 @@ uint32_t ulsch_encoding(uint8_t *a,
                         PHY_VARS_UE *ue,
                         uint8_t harq_pid,
                         uint8_t eNB_id,
+                        uint8_t subframe_rx,
                         uint8_t tmode,
                         uint8_t control_only_flag,
                         uint8_t Nbundled)
@@ -261,10 +262,10 @@ uint32_t ulsch_encoding(uint8_t *a,
   // fill CQI/PMI information
   if (ulsch->O>0) {
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_ENCODING_FILL_CQI, VCD_FUNCTION_IN);
-    rnti = ue->pdcch_vars[eNB_id]->crnti;
+    rnti = ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti;
     fill_CQI(ulsch,meas,0,harq_pid,ue->frame_parms.N_RB_DL,rnti, tmode,ue->sinr_eff);
 
-    LOG_D(PHY,"UE CQI\n");
+    LOG_D(PHY,"ULSCH Encoding rnti %x \n", rnti);
     print_CQI(ulsch->o,ulsch->uci_format,0,ue->frame_parms.N_RB_DL);
 
     // save PUSCH pmi for later (transmission modes 4,5,6)
@@ -961,6 +962,7 @@ uint32_t ulsch_encoding(uint8_t *a,
 int ulsch_encoding_emul(uint8_t *ulsch_buffer,
                         PHY_VARS_UE *ue,
                         uint8_t eNB_id,
+                        uint8_t subframe_rx,
                         uint8_t harq_pid,
                         uint8_t control_only_flag)
 {
@@ -969,7 +971,7 @@ int ulsch_encoding_emul(uint8_t *ulsch_buffer,
   LTE_UE_DLSCH_t **dlsch = ue->dlsch[0][eNB_id];
   PHY_MEASUREMENTS *meas = &ue->measurements;
   uint8_t tmode = ue->transmission_mode[eNB_id];
-  uint16_t rnti=ue->pdcch_vars[eNB_id]->crnti;
+  uint16_t rnti=ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti;
   LOG_D(PHY,"EMUL UE ulsch_encoding for eNB %d,mod_id %d, harq_pid %d rnti %x, ACK(%d,%d) \n",
         eNB_id,ue->Mod_id, harq_pid, rnti,ulsch->o_ACK[0],ulsch->o_ACK[1]);
 
@@ -1003,7 +1005,7 @@ int ulsch_encoding_emul(uint8_t *ulsch_buffer,
   //UE_transport_info_TB_index[ue->Mod_id]+=ue->ulsch[eNB_id]->harq_processes[harq_pid]->TBS>>3;
   // navid: currently more than one eNB is not supported in the code
   UE_transport_info[ue->Mod_id][ue->CC_id].num_eNB = 1;
-  UE_transport_info[ue->Mod_id][ue->CC_id].rnti[0] = ue->pdcch_vars[0]->crnti;
+  UE_transport_info[ue->Mod_id][ue->CC_id].rnti[0] = ue->pdcch_vars[subframe_rx & 0x1][0]->crnti;
   UE_transport_info[ue->Mod_id][ue->CC_id].eNB_id[0]  = eNB_id;
   UE_transport_info[ue->Mod_id][ue->CC_id].harq_pid[0] = harq_pid;
   UE_transport_info[ue->Mod_id][ue->CC_id].tbs[0]     = ue->ulsch[eNB_id]->harq_processes[harq_pid]->TBS>>3 ;
diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
index bb2a5b3e224652d3fc62c6f2594743d88dc30cc1..a26f3a876bd53be7a4db161878d735070490cf83 100644
--- a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+++ b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
@@ -2002,7 +2002,7 @@ uint32_t ulsch_decoding_emul(PHY_VARS_eNB *eNB, eNB_rxtx_proc_t *proc,
 #endif
 
   for (UE_id=0; UE_id<NB_UE_INST; UE_id++) {
-    if (rnti == PHY_vars_UE_g[UE_id][CC_id]->pdcch_vars[0]->crnti)
+    if (rnti == PHY_vars_UE_g[UE_id][CC_id]->pdcch_vars[subframe & 0x1][0]->crnti)
       break;
 
   }
diff --git a/openair1/PHY/MODULATION/beamforming.c b/openair1/PHY/MODULATION/beamforming.c
index d2336f6187792869fdd286c94d8831d3b43e6156..91489b83c54960eda5cd1797728ff0fc3cf07f8b 100644
--- a/openair1/PHY/MODULATION/beamforming.c
+++ b/openair1/PHY/MODULATION/beamforming.c
@@ -47,7 +47,7 @@ int beam_precoding(int32_t **txdataF,
                    int aa)
 {
   uint8_t p;
-  uint16_t re=0;
+  //uint16_t re=0;
   int slot_offset_F;
   
   slot_offset_F = slot*(frame_parms->ofdm_symbol_size)*((frame_parms->Ncp==1) ? 6 : 7);
diff --git a/openair1/PHY/TOOLS/lte_phy_scope.c b/openair1/PHY/TOOLS/lte_phy_scope.c
index 7a533464530f337d4aeba89722164670a830be63..dd057f997513a2cc6a4bc45fe4545689dc5068a6 100644
--- a/openair1/PHY/TOOLS/lte_phy_scope.c
+++ b/openair1/PHY/TOOLS/lte_phy_scope.c
@@ -84,7 +84,7 @@ FD_lte_phy_scope_enb *create_lte_phy_scope_enb( void )
   fl_set_xyplot_ybounds(fdui->rxsig_t,10,70);
 
   // Time-domain channel response
-  fdui->chest_t = fl_add_xyplot( FL_NORMAL_XYPLOT, 410, 20, 370, 100, "Channel Impulse Response (samples, abs)" );
+  fdui->chest_t = fl_add_xyplot( FL_NORMAL_XYPLOT, 410, 20, 370, 100, "SRS Frequency Response (samples, abs)" );
   fl_set_object_boxtype( fdui->chest_t, FL_EMBOSSED_BOX );
   fl_set_object_color( fdui->chest_t, FL_BLACK, FL_RED );
   fl_set_object_lcolor( fdui->chest_t, FL_WHITE ); // Label color
@@ -196,7 +196,8 @@ void phy_scope_eNB(FD_lte_phy_scope_enb *form,
   bit = malloc(coded_bits_per_codeword*sizeof(float));
 
   rxsig_t = (int16_t**) phy_vars_enb->common_vars.rxdata[eNB_id];
-  chest_t = (int16_t**) phy_vars_enb->pusch_vars[UE_id]->drs_ch_estimates_time[eNB_id];
+  //chest_t = (int16_t**) phy_vars_enb->pusch_vars[UE_id]->drs_ch_estimates_time[eNB_id];
+  chest_t = (int16_t**) phy_vars_enb->srs_vars[UE_id].srs_ch_estimates[eNB_id];
   chest_f = (int16_t**) phy_vars_enb->pusch_vars[UE_id]->drs_ch_estimates[eNB_id];
   pusch_llr = (int16_t*) phy_vars_enb->pusch_vars[UE_id]->llr;
   pusch_comp = (int16_t*) phy_vars_enb->pusch_vars[UE_id]->rxdataF_comp[eNB_id][0];
@@ -232,8 +233,10 @@ void phy_scope_eNB(FD_lte_phy_scope_enb *form,
 
     if (chest_t[0] !=NULL) {
       for (i=0; i<(frame_parms->ofdm_symbol_size); i++) {
-        i2 = (i+(frame_parms->ofdm_symbol_size>>1))%frame_parms->ofdm_symbol_size;
-        time2[i] = (float)(i-(frame_parms->ofdm_symbol_size>>1));
+        //i2 = (i+(frame_parms->ofdm_symbol_size>>1))%frame_parms->ofdm_symbol_size;
+	i2=i;
+        //time2[i] = (float)(i-(frame_parms->ofdm_symbol_size>>1));
+        time2[i] = (float)i;
         chest_t_abs[0][i] = 10*log10((float) (1+chest_t[0][2*i2]*chest_t[0][2*i2]+chest_t[0][2*i2+1]*chest_t[0][2*i2+1]));
 
         if (chest_t_abs[0][i] > ymax)
@@ -525,8 +528,8 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
     }
   }
 
-  if (phy_vars_ue->pdcch_vars[eNB_id]!=NULL) {
-    num_pdcch_symbols = phy_vars_ue->pdcch_vars[eNB_id]->num_pdcch_symbols;
+  if (phy_vars_ue->pdcch_vars[subframe&0x1][eNB_id]!=NULL) {
+    num_pdcch_symbols = phy_vars_ue->pdcch_vars[subframe&0x1][eNB_id]->num_pdcch_symbols;
   }
 
   //    coded_bits_per_codeword = frame_parms->N_RB_DL*12*get_Qm(mcs)*(frame_parms->symbols_per_tti);
@@ -563,8 +566,8 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
   chest_f = (int16_t**) phy_vars_ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id];
   pbch_llr = (int8_t*) phy_vars_ue->pbch_vars[eNB_id]->llr;
   pbch_comp = (int16_t*) phy_vars_ue->pbch_vars[eNB_id]->rxdataF_comp[0];
-  pdcch_llr = (int8_t*) phy_vars_ue->pdcch_vars[eNB_id]->llr;
-  pdcch_comp = (int16_t*) phy_vars_ue->pdcch_vars[eNB_id]->rxdataF_comp[0];
+  pdcch_llr = (int8_t*) phy_vars_ue->pdcch_vars[subframe&0x1][eNB_id]->llr;
+  pdcch_comp = (int16_t*) phy_vars_ue->pdcch_vars[subframe&0x1][eNB_id]->rxdataF_comp[0];
   pdsch_llr = (int16_t*) phy_vars_ue->pdsch_vars[subframe&0x1][eNB_id]->llr[0]; // stream 0
   //    pdsch_llr = (int16_t*) phy_vars_ue->lte_ue_pdsch_vars_SI[eNB_id]->llr[0]; // stream 0
   pdsch_comp = (int16_t*) phy_vars_ue->pdsch_vars[subframe&0x1][eNB_id]->rxdataF_comp0[0];
@@ -699,7 +702,14 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
     }
 
     fl_set_xyplot_xbounds(form->pdcch_llr,0,12*frame_parms->N_RB_DL*2*3);
-    fl_set_xyplot_data(form->pdcch_llr,bit_pdcch,llr_pdcch,12*frame_parms->N_RB_DL*2*num_pdcch_symbols,"","","");
+    if (frame_parms->N_RB_DL != 100)
+    {
+        fl_set_xyplot_data(form->pdcch_llr,bit_pdcch,llr_pdcch,12*frame_parms->N_RB_DL*2*num_pdcch_symbols,"","","");
+    }
+    else
+    {
+        LOG_D(PHY,"UE PDCCH LLR plot is bugged in 20 MHz BW, to be fixed !!!\n");
+    }
   }
 
   // PDCCH I/Q of MF Output
@@ -708,8 +718,14 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
       I[i] = pdcch_comp[2*i];
       Q[i] = pdcch_comp[2*i+1];
     }
-
-    fl_set_xyplot_data(form->pdcch_comp,I,Q,12*frame_parms->N_RB_DL*num_pdcch_symbols,"","","");
+    if (frame_parms->N_RB_DL != 100)
+    {
+        fl_set_xyplot_data(form->pdcch_comp,I,Q,12*frame_parms->N_RB_DL*num_pdcch_symbols,"","","");
+    }
+    else
+    {
+        LOG_D(PHY,"UE PDCCH COMP plot is bugged in 20 MHz BW, to be fixed !!!\n");
+    }
   }
 
   // PDSCH LLRs
@@ -720,7 +736,14 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
     }
 
     fl_set_xyplot_xbounds(form->pdsch_llr,0,coded_bits_per_codeword);
-    fl_set_xyplot_data(form->pdsch_llr,bit,llr,coded_bits_per_codeword,"","","");
+    if (frame_parms->N_RB_DL != 100)
+    {
+        fl_set_xyplot_data(form->pdsch_llr,bit,llr,coded_bits_per_codeword,"","","");
+    }
+    else
+    {
+        LOG_D(PHY,"UE PDSCH LLR plot is bugged in 20 MHz BW, to be fixed !!!\n");
+    }
   }
 
   // PDSCH I/Q of MF Output
@@ -768,4 +791,4 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
   }
 
   free(chest_t_abs);
-}
\ No newline at end of file
+}
diff --git a/openair1/PHY/TOOLS/lte_phy_scope_tm4.c b/openair1/PHY/TOOLS/lte_phy_scope_tm4.c
index 6807f1f6f48a6de4ee057c9c2341b80084526448..92a0d9f218e2ebedc09ecbdcf4eecccfa55ad022 100755
--- a/openair1/PHY/TOOLS/lte_phy_scope_tm4.c
+++ b/openair1/PHY/TOOLS/lte_phy_scope_tm4.c
@@ -467,8 +467,8 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
     return;
     mcs1 = phy_vars_ue->dlsch[subframe&0x1][eNB_id][1]->harq_processes[harq_pid]->mcs;
     }
-    if (phy_vars_ue->pdcch_vars[eNB_id]!=NULL) {
-        num_pdcch_symbols = phy_vars_ue->pdcch_vars[eNB_id]->num_pdcch_symbols;
+    if (phy_vars_ue->pdcch_vars[subframe&0x1][eNB_id]!=NULL) {
+        num_pdcch_symbols = phy_vars_ue->pdcch_vars[subframe&0x1][eNB_id]->num_pdcch_symbols;
     }
     //    coded_bits_per_codeword = frame_parms->N_RB_DL*12*get_Qm(mcs)*(frame_parms->symbols_per_tti);
     if (phy_vars_ue->dlsch[subframe&0x1][eNB_id][0]!=NULL) {
@@ -519,8 +519,8 @@ void phy_scope_UE(FD_lte_phy_scope_ue *form,
     chest_f = (int16_t**) phy_vars_ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[eNB_id];
     pbch_llr = (int8_t*) phy_vars_ue->pbch_vars[eNB_id]->llr;
     pbch_comp = (int16_t*) phy_vars_ue->pbch_vars[eNB_id]->rxdataF_comp[0];
-    pdcch_llr = (int8_t*) phy_vars_ue->pdcch_vars[eNB_id]->llr;
-    pdcch_comp = (int16_t*) phy_vars_ue->pdcch_vars[eNB_id]->rxdataF_comp[0];
+    pdcch_llr = (int8_t*) phy_vars_ue->pdcch_vars[subframe&0x1][eNB_id]->llr;
+    pdcch_comp = (int16_t*) phy_vars_ue->pdcch_vars[subframe&0x1][eNB_id]->rxdataF_comp[0];
     pdsch_llr = (int16_t*) phy_vars_ue->pdsch_vars[subframe&0x1][eNB_id]->llr[0]; // stream 0
     pdsch_llr1 = (int16_t*) phy_vars_ue->pdsch_vars[subframe&0x1][eNB_id]->llr[1]; // stream 1
     pdsch_comp = (int16_t*) phy_vars_ue->pdsch_vars[subframe&0x1][eNB_id]->rxdataF_comp0[0];
diff --git a/openair1/PHY/defs.h b/openair1/PHY/defs.h
index 5c1b1158ba45a62f9a206e45022a746a5bd23db7..272051000664a4dc4917c5917e9f90b286df2389 100644
--- a/openair1/PHY/defs.h
+++ b/openair1/PHY/defs.h
@@ -713,7 +713,7 @@ typedef struct {
   LTE_UE_PDSCH     *pdsch_vars_p[NUMBER_OF_CONNECTED_eNB_MAX+1];
   LTE_UE_PDSCH     *pdsch_vars_MCH[NUMBER_OF_CONNECTED_eNB_MAX];
   LTE_UE_PBCH      *pbch_vars[NUMBER_OF_CONNECTED_eNB_MAX];
-  LTE_UE_PDCCH     *pdcch_vars[NUMBER_OF_CONNECTED_eNB_MAX];
+  LTE_UE_PDCCH     *pdcch_vars[2][NUMBER_OF_CONNECTED_eNB_MAX];
   LTE_UE_PRACH     *prach_vars[NUMBER_OF_CONNECTED_eNB_MAX];
   LTE_UE_DLSCH_t   *dlsch[2][NUMBER_OF_CONNECTED_eNB_MAX][2]; // two RxTx Threads
   LTE_UE_ULSCH_t   *ulsch[NUMBER_OF_CONNECTED_eNB_MAX];
@@ -896,7 +896,7 @@ typedef struct {
   time_stats_t rx_dft_stats;
   time_stats_t dlsch_channel_estimation_stats;
   time_stats_t dlsch_freq_offset_estimation_stats;
-  time_stats_t dlsch_decoding_stats;
+  time_stats_t dlsch_decoding_stats[2];
   time_stats_t dlsch_demodulation_stats;
   time_stats_t dlsch_rate_unmatching_stats;
   time_stats_t dlsch_turbo_decoding_stats;
diff --git a/openair1/PHY/impl_defs_lte.h b/openair1/PHY/impl_defs_lte.h
index e9604a36f649735e668407e431864ef9260cb186..5707aedd27ccdff32b079a7ce142d77522dddd5e 100755
--- a/openair1/PHY/impl_defs_lte.h
+++ b/openair1/PHY/impl_defs_lte.h
@@ -320,7 +320,7 @@ typedef struct {
   uint16_t srs_ConfigIndex;
   /// Parameter: \f$n^\text{CS}_\text{SRS}\f$. See TS 36.211 (5.5.3.1). \vr{[0..7]} \note the specification sais it is an enumerated value.
   uint8_t cyclicShift;
-  // Parameter: ue srs subframe for internal implementation
+  // Parameter: internal implementation: UE SRS configured
   uint8_t srsConfigDedicatedSetup;
   // Parameter: cell srs subframe for internal implementation
   uint8_t srsCellSubframe;
diff --git a/openair1/SCHED/defs.h b/openair1/SCHED/defs.h
index ac2d7957f2ffc72aaea81ca0a0753687560ae9c0..a6223bef5b6f4ec508c39daa8584bce30c26d4cf 100644
--- a/openair1/SCHED/defs.h
+++ b/openair1/SCHED/defs.h
@@ -104,7 +104,7 @@ void phy_procedures_eNB_lte(uint8_t subframe,PHY_VARS_eNB **phy_vars_eNB,uint8_t
 */
 void phy_procedures_UE_lte(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t abstraction_flag,runmode_t mode,relaying_type_t r_type,PHY_VARS_RN *phy_vars_rn);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 /*! \brief Top-level entry routine for relay node procedures when acting as eNB. This proc will make us of the existing eNB procs.
   @param last_slot Index of last slot (0-19)
   @param next_slot Index of next_slot (0-19)
@@ -511,9 +511,13 @@ void dump_dlsch(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 void dump_dlsch_SI(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t subframe);
 void dump_dlsch_ra(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t subframe);
 
-void dump_dlsch2(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe, uint16_t coded_bits_per_codeword,int round, unsigned char harq_pid);
+void dump_dlsch2(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe, unsigned int *coded_bits_per_codeword,int round, unsigned char harq_pid);
 
 
+int is_srs_occasion_common(LTE_DL_FRAME_PARMS *frame_parms,int frame_tx,int subframe_tx);
+
+void compute_srs_pos(lte_frame_type_t frameType,uint16_t isrs,uint16_t *psrsPeriodicity,uint16_t *psrsOffset);
+
 /*@}*/
 
 
diff --git a/openair1/SCHED/phy_mac_stub.c b/openair1/SCHED/phy_mac_stub.c
index 9a41ae09c52378daf4a514296a3b64bb15afd974..04a98f69c1fcbf7166d04077eb4f570265cb8d31 100644
--- a/openair1/SCHED/phy_mac_stub.c
+++ b/openair1/SCHED/phy_mac_stub.c
@@ -531,7 +531,7 @@ void fill_dci(DCI_PDU *DCI_pdu,PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
       }
     }
     else {
-      switch (eNB->frame_parms.N_RB_DL==6) {
+      switch (eNB->frame_parms.N_RB_DL) {
       case 6:
 	((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->type    = 0;
 	((DCI0_1_5MHz_TDD_1_6_t*)&DCI_pdu->dci_alloc[1].dci_pdu[0])->hopping = 0;
diff --git a/openair1/SCHED/phy_procedures_lte_common.c b/openair1/SCHED/phy_procedures_lte_common.c
index ae61f7be0dcd58017d1f7feacb99146b86f409f5..e5753483daf8c7966fd4684b985dc4d7c03f51f4 100644
--- a/openair1/SCHED/phy_procedures_lte_common.c
+++ b/openair1/SCHED/phy_procedures_lte_common.c
@@ -942,3 +942,148 @@ MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t  CC_id, rnti_t rnti)
 
   return &PHY_vars_eNB_g[Mod_id][CC_id]->mu_mimo_mode[UE_id];
 }
+
+int is_srs_occasion_common(LTE_DL_FRAME_PARMS *frame_parms,int frame_tx,int subframe_tx)
+{
+  uint8_t isSubframeSRS   = 0; // SRS Cell Occasion
+
+  //ue->ulsch[eNB_id]->srs_active   = 0;
+  //ue->ulsch[eNB_id]->Nsymb_pusch  = 12-(frame_parms->Ncp<<1)- ue->ulsch[eNB_id]->srs_active;
+  if(frame_parms->soundingrs_ul_config_common.enabled_flag)
+  {
+
+    LOG_D(PHY," SRS SUBFRAMECONFIG: %d\n", frame_parms->soundingrs_ul_config_common.srs_SubframeConfig);
+
+      uint8_t  TSFC;
+      uint16_t deltaTSFC; // bitmap
+      uint8_t  srs_SubframeConfig;
+
+      // table resuming TSFC (Period) and deltaSFC (offset)
+      const uint16_t deltaTSFCTabType1[15][2] = { {1,1},{1,2},{2,2},{1,5},{2,5},{4,5},{8,5},{3,5},{12,5},{1,10},{2,10},{4,10},{8,10},{351,10},{383,10} };      // Table 5.5.3.3-2 3GPP 36.211 FDD
+      const uint16_t deltaTSFCTabType2[14][2] = { {2,5},{6,5},{10,5},{18,5},{14,5},{22,5},{26,5},{30,5},{70,10},{74,10},{194,10},{326,10},{586,10},{210,10} }; // Table 5.5.3.3-2 3GPP 36.211 TDD
+
+      srs_SubframeConfig = frame_parms->soundingrs_ul_config_common.srs_SubframeConfig;
+      if (FDD == frame_parms->frame_type)
+      {
+          // srs_SubframeConfig =< 14
+          deltaTSFC = deltaTSFCTabType1[srs_SubframeConfig][0];
+          TSFC      = deltaTSFCTabType1[srs_SubframeConfig][1];
+      }
+      else
+      {
+          // srs_SubframeConfig =< 13
+          deltaTSFC = deltaTSFCTabType2[srs_SubframeConfig][0];
+          TSFC      = deltaTSFCTabType2[srs_SubframeConfig][1];
+      }
+
+      // Sounding reference signal subframes are the subframes satisfying ns/2 mod TSFC (- deltaTSFC
+      uint16_t tmp = (subframe_tx %  TSFC);
+      if((1<<tmp) & deltaTSFC)
+      {
+          // This is a Sounding reference signal subframes
+          isSubframeSRS = 1;
+      }
+      LOG_D(PHY," ISTDD: %d, TSFC: %d, deltaTSFC: %d, AbsSubframeTX: %d.%d\n", frame_parms->frame_type, TSFC, deltaTSFC, frame_tx, subframe_tx);
+  }
+  return(isSubframeSRS);
+}
+
+void compute_srs_pos(lte_frame_type_t frameType,uint16_t isrs,uint16_t *psrsPeriodicity,uint16_t *psrsOffset)
+{
+    if(TDD == frameType)
+    {
+        if(isrs<10)
+        {
+            mac_xface->macphy_exit("2 ms SRS periodicity not supported");
+        }
+
+        if((isrs>9)&&(isrs<15))
+        {
+            *psrsPeriodicity=5;
+            *psrsOffset=isrs-10;
+        }
+        if((isrs>14)&&(isrs<25))
+        {
+            *psrsPeriodicity=10;
+            *psrsOffset=isrs-15;
+        }
+        if((isrs>24)&&(isrs<45))
+        {
+            *psrsPeriodicity=20;
+            *psrsOffset=isrs-25;
+        }
+        if((isrs>44)&&(isrs<85))
+        {
+            *psrsPeriodicity=40;
+            *psrsOffset=isrs-45;
+        }
+        if((isrs>84)&&(isrs<165))
+        {
+            *psrsPeriodicity=80;
+            *psrsOffset=isrs-85;
+        }
+        if((isrs>164)&&(isrs<325))
+        {
+            *psrsPeriodicity=160;
+            *psrsOffset=isrs-165;
+        }
+        if((isrs>324)&&(isrs<645))
+        {
+            *psrsPeriodicity=320;
+            *psrsOffset=isrs-325;
+        }
+
+        if(isrs>644)
+        {
+            mac_xface->macphy_exit("Isrs out of range");
+        }
+
+    }
+    else
+    {
+        if(isrs<2)
+        {
+            *psrsPeriodicity=2;
+            *psrsOffset=isrs;
+        }
+        if((isrs>1)&&(isrs<7))
+        {
+            *psrsPeriodicity=5;
+            *psrsOffset=isrs-2;
+        }
+        if((isrs>6)&&(isrs<17))
+        {
+            *psrsPeriodicity=10;
+            *psrsOffset=isrs-7;
+        }
+        if((isrs>16)&&(isrs<37))
+        {
+            *psrsPeriodicity=20;
+            *psrsOffset=isrs-17;
+        }
+        if((isrs>36)&&(isrs<77))
+        {
+            *psrsPeriodicity=40;
+            *psrsOffset=isrs-37;
+        }
+        if((isrs>76)&&(isrs<157))
+        {
+            *psrsPeriodicity=80;
+            *psrsOffset=isrs-77;
+        }
+        if((isrs>156)&&(isrs<317))
+        {
+            *psrsPeriodicity=160;
+            *psrsOffset=isrs-157;
+        }
+        if((isrs>316)&&(isrs<637))
+        {
+            *psrsPeriodicity=320;
+            *psrsOffset=isrs-317;
+        }
+        if(isrs>636)
+        {
+            mac_xface->macphy_exit("Isrs out of range");
+        }
+    }
+}
diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index e9f1125a34fcac8af696f56527e6335ec85f956d..a9142a9918928efd65955715fc8c8abceb5a84c4 100644
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -307,8 +307,6 @@ void phy_procedures_emos_eNB_TX(unsigned char subframe, PHY_VARS_eNB *eNB)
 }
 #endif
 
-
-
 void phy_procedures_eNB_S_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,relaying_type_t r_type)
 {
   UNUSED(r_type);
@@ -409,7 +407,7 @@ DCI_PDU DCI_pdu_tmp;
 void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,PHY_VARS_RN *rn,relaying_type_t r_type) {
 
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   MCH_PDU *mch_pduP;
   MCH_PDU  mch_pdu;
   //  uint8_t sync_area=255;
@@ -425,7 +423,7 @@ void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,PHY_VARS_RN *rn,rel
 			 subframe<<1,1);
   }
   
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   // if mcch is active, send regardless of the node type: eNB or RN
   // when mcch is active, MAC sched does not allow MCCH and MTCH multiplexing
   mch_pduP = mac_xface->get_mch_sdu(eNB->Mod_id,
@@ -824,6 +822,13 @@ void generate_eNB_ulsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
   LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
   int frame = proc->frame_tx;
   int subframe = proc->subframe_tx;
+  /*
+  uint16_t srsPeriodicity=0;
+  uint16_t srsOffset=0;
+  uint16_t srsConfigIndex=0;
+  uint16_t do_srs=0;
+  */
+  uint16_t is_srs_pos=0;
 
   LOG_D(PHY,
 	"[eNB %"PRIu8"][PUSCH %"PRIu8"] Frame %d subframe %d UL Frame %"PRIu32", UL Subframe %"PRIu8", Generated ULSCH (format0) DCI (rnti %"PRIx16", dci %"PRIx8"), aggregation %d\n",
@@ -839,6 +844,20 @@ void generate_eNB_ulsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
 	dci_alloc->dci_pdu[0],
 	1<<dci_alloc->L);
   
+  is_srs_pos = is_srs_occasion_common(fp,pdcch_alloc2ul_frame(fp,frame,subframe),pdcch_alloc2ul_subframe(fp,subframe));
+  /*
+  if (is_srs_pos && eNB->soundingrs_ul_config_dedicated[UE_id].srsConfigDedicatedSetup) {
+    srsConfigIndex = eNB->soundingrs_ul_config_dedicated[UE_id].srs_ConfigIndex;
+    compute_srs_pos(fp->frame_type, srsConfigIndex, &srsPeriodicity, &srsOffset);
+    if ((((10*pdcch_alloc2ul_frame(fp,frame,subframe)+pdcch_alloc2ul_subframe(fp,subframe)) % srsPeriodicity) == srsOffset)) {
+      do_srs = 1;
+    }
+  }
+      LOG_D(PHY,"frame %d (%d), subframe %d (%d), UE_id %d: is_srs_pos %d, do_SRS %d, index %d, period %d, offset %d \n",
+	    frame,pdcch_alloc2ul_frame(fp,frame,subframe),subframe,pdcch_alloc2ul_subframe(fp,subframe),
+	    UE_id,is_srs_pos,do_srs,srsConfigIndex,srsPeriodicity,srsOffset);
+  */
+
   generate_eNB_ulsch_params_from_dci(eNB,
 				     proc,
 				     &dci_alloc->dci_pdu[0],
@@ -849,7 +868,7 @@ void generate_eNB_ulsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
 				     0,
 				     P_RNTI,
 				     CBA_RNTI,
-				     0);  // do_srs
+				     is_srs_pos);  
   
   LOG_T(PHY,"[eNB %"PRIu8"] Frame %d subframe %d : CCE resources for UE spec DCI (PUSCH %"PRIx16") => %d\n",
 	eNB->Mod_id,frame,subframe,dci_alloc->rnti,
@@ -899,7 +918,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,LTE_eNB_DLSCH_t *d
   int input_buffer_length = dlsch_harq->TBS/8;
   LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
   uint8_t *DLSCH_pdu=NULL;
-  uint8_t DLSCH_pdu_tmp[768*8];
+  uint8_t DLSCH_pdu_tmp[input_buffer_length+4]; //[768*8];
   uint8_t DLSCH_pdu_rar[256];
   int i;
 
@@ -989,17 +1008,10 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,LTE_eNB_DLSCH_t *d
 	      
 	  generate_eNB_ulsch_params_from_rar(DLSCH_pdu,
 					     frame,
-					     (subframe),
+					     subframe,
 					     eNB->ulsch[(uint32_t)UE_id],
 					     fp);
 	      
-	  eNB->ulsch[(uint32_t)UE_id]->Msg3_active = 1;
-	      
-	  get_Msg3_alloc(fp,
-			 subframe,
-			 frame,
-			 &eNB->ulsch[(uint32_t)UE_id]->Msg3_frame,
-			 &eNB->ulsch[(uint32_t)UE_id]->Msg3_subframe);
 	  LOG_D(PHY,"[eNB][RAPROC] Frame %d subframe %d, Activated Msg3 demodulation for UE %"PRId8" in frame %"PRIu32", subframe %"PRIu8"\n",
 		frame,
 		subframe,
@@ -1344,7 +1356,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
   // Apply physicalConfigDedicated if needed
   // This is for UEs that have received this IE, which changes these DL and UL configuration, we apply after a delay for the eNodeB UL parameters
   phy_config_dedicated_eNB_step2(eNB);
-  
+
   // Now loop again over the DCIs for UL configuration
   for (i=0; i<DCI_pdu->Num_common_dci + DCI_pdu->Num_ue_spec_dci ; i++) {
     dci_alloc = &DCI_pdu->dci_alloc[i];
@@ -2071,7 +2083,7 @@ void prach_procedures(PHY_VARS_eNB *eNB) {
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX,0);
 }
 
-void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq_pid)
+void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq_pid,uint8_t do_srs)
 {
   LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
   uint8_t SR_payload = 0,*pucch_payload=NULL,pucch_payload0[2]= {0,0},pucch_payload1[2]= {0,0};
@@ -2150,7 +2162,7 @@ void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq
                                 UE_id,
                                 eNB->scheduling_request_config[UE_id].sr_PUCCH_ResourceIndex,
                                 0, // n2_pucch
-                                0, // shortened format, should be use_srs flag, later
+                                do_srs, // shortened format
                                 &SR_payload,
                                 frame,
                                 subframe,
@@ -2190,7 +2202,7 @@ void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq
                              UE_id,
                              (uint16_t)n1_pucch0,
                              0, //n2_pucch
-                             0, // shortened format
+                             do_srs, // shortened format
                              pucch_payload0,
                              frame,
                              subframe,
@@ -2220,7 +2232,7 @@ void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq
                              UE_id,
                              eNB->scheduling_request_config[UE_id].sr_PUCCH_ResourceIndex,
                              0, //n2_pucch
-                             0, // shortened format
+                             do_srs, // shortened format
                              pucch_payload0,
                              frame,
                              subframe,
@@ -2281,7 +2293,7 @@ void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq
                                UE_id,
                                eNB->scheduling_request_config[UE_id].sr_PUCCH_ResourceIndex,
                                0, //n2_pucch
-                               0, // shortened format
+                               do_srs, // shortened format
                                pucch_payload0,
                                frame,
                                subframe,
@@ -2313,7 +2325,7 @@ void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq
                                  UE_id,
                                  (uint16_t)n1_pucch0,
                                  0, // n2_pucch
-                                 0, // shortened format
+				 do_srs, // shortened format
                                  pucch_payload0,
                                  frame,
                                  subframe,
@@ -2338,7 +2350,7 @@ void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq
                                  UE_id,
                                  (uint16_t)n1_pucch1,
                                  0, //n2_pucch
-                                 0, // shortened format
+                                 do_srs, // shortened format
                                  pucch_payload1,
                                  frame,
                                  subframe,
@@ -2866,6 +2878,16 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
   const int frame    = proc->frame_rx;
   int offset         = eNB->CC_id;//(proc == &eNB->proc.proc_rxtx[0]) ? 0 : 1;
 
+  uint16_t srsPeriodicity;
+  uint16_t srsOffset;
+  uint16_t do_srs=0;
+  uint16_t is_srs_pos=0;
+
+  T(T_ENB_PHY_UL_TICK, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe));
+
+  T(T_ENB_PHY_INPUT_SIGNAL, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe), T_INT(0),
+    T_BUFFER(&eNB->common_vars.rxdata[0][0][subframe*eNB->frame_parms.samples_per_tti],
+             eNB->frame_parms.samples_per_tti * 4));
 
   if ((fp->frame_type == TDD) && (subframe_select(fp,subframe)!=SF_UL)) return;
 
@@ -2875,19 +2897,12 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
   LOG_D(PHY,"[eNB %d] Frame %d: Doing phy_procedures_eNB_uespec_RX(%d)\n",eNB->Mod_id,frame, subframe);
 #endif
 
-  T(T_ENB_PHY_UL_TICK, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe));
-
-  T(T_ENB_PHY_INPUT_SIGNAL, T_INT(eNB->Mod_id), T_INT(frame), T_INT(subframe), T_INT(0),
-    T_BUFFER(&eNB->common_vars.rxdata[0][0][subframe*eNB->frame_parms.samples_per_tti],
-             eNB->frame_parms.samples_per_tti * 4));
 
   eNB->rb_mask_ul[0]=0;
   eNB->rb_mask_ul[1]=0;
   eNB->rb_mask_ul[2]=0;
   eNB->rb_mask_ul[3]=0;
 
-
-
   // Check for active processes in current subframe
   harq_pid = subframe2harq_pid(fp,
                                frame,subframe);
@@ -2897,13 +2912,36 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
     eNB->cba_last_reception[i]=0;
   }
 
-  // Do PUCCH processing first
-
+  is_srs_pos = is_srs_occasion_common(fp,frame,subframe);
+  
   for (i=0; i<NUMBER_OF_UE_MAX; i++) {
-    pucch_procedures(eNB,proc,i,harq_pid);
-  }
 
-  for (i=0; i<NUMBER_OF_UE_MAX; i++) {
+    // Do SRS processing 
+    // check if there is SRS and we have to use shortened format
+    // TODO: check for exceptions in transmission of SRS together with ACK/NACK
+    do_srs=0;
+    if (is_srs_pos && eNB->soundingrs_ul_config_dedicated[i].srsConfigDedicatedSetup ) {
+      compute_srs_pos(fp->frame_type, eNB->soundingrs_ul_config_dedicated[i].srs_ConfigIndex, &srsPeriodicity, &srsOffset);
+      if (((10*frame+subframe) % srsPeriodicity) == srsOffset) {
+	do_srs = 1;
+      }
+    }
+
+    if (do_srs==1) {
+      if (lte_srs_channel_estimation(fp,
+				     &eNB->common_vars,
+				     &eNB->srs_vars[i],
+				     &eNB->soundingrs_ul_config_dedicated[i],
+				     subframe,
+				     0/*eNB_id*/)) {
+	LOG_E(PHY,"problem processing SRS\n");
+      }
+    }
+
+    // Do PUCCH processing 
+
+    pucch_procedures(eNB,proc,i,harq_pid, do_srs);
+
 
     // check for Msg3
     if (eNB->mac_enabled==1) {
@@ -3461,7 +3499,7 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const
 
 #undef DEBUG_PHY_PROC
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 int phy_procedures_RN_eNB_TX(unsigned char last_slot, unsigned char next_slot, relaying_type_t r_type)
 {
 
diff --git a/openair1/SCHED/phy_procedures_lte_ue.c b/openair1/SCHED/phy_procedures_lte_ue.c
index 386dd8b52c0355949378905d9273c813c8a7bffd..776de2335df3c503399e3d30235be874faba9f63 100644
--- a/openair1/SCHED/phy_procedures_lte_ue.c
+++ b/openair1/SCHED/phy_procedures_lte_ue.c
@@ -95,7 +95,7 @@ void dump_dlsch(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t subf
                                   ue->dlsch[subframe&0x1][eNB_id][0]->harq_processes[harq_pid]->rb_alloc_even,
                                   ue->dlsch[subframe&0x1][eNB_id][0]->harq_processes[harq_pid]->Qm,
                                   ue->dlsch[subframe&0x1][eNB_id][0]->harq_processes[harq_pid]->Nl,
-                                  ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+                                  ue->pdcch_vars[0&0x1][eNB_id]->num_pdcch_symbols,
                                   proc->frame_rx,
 				  subframe,
 				  ue->transmission_mode[eNB_id]<7?0:ue->transmission_mode[eNB_id]);
@@ -126,7 +126,7 @@ void dump_dlsch_SI(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t s
                                   ue->dlsch_SI[eNB_id]->harq_processes[0]->rb_alloc_even,
                                   2,
                                   1,
-                                  ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+                                  ue->pdcch_vars[0&0x1][eNB_id]->num_pdcch_symbols,
                                   proc->frame_rx,
 				  subframe,
 				  0);
@@ -137,7 +137,7 @@ void dump_dlsch_SI(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t s
         ue->dlsch_SI[eNB_id]->harq_processes[0]->nb_rb,
         ue->dlsch_SI[eNB_id]->harq_processes[0]->mcs,
         ue->dlsch_SI[eNB_id]->harq_processes[0]->nb_rb,
-        ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+        ue->pdcch_vars[0&0x1][eNB_id]->num_pdcch_symbols,
         coded_bits_per_codeword);
 
   write_output("rxsig0.m","rxs0", &ue->common_vars.rxdata[0][subframe*ue->frame_parms.samples_per_tti],ue->frame_parms.samples_per_tti,1,1);
@@ -231,7 +231,7 @@ void dump_dlsch_ra(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t s
                                   ue->dlsch_ra[eNB_id]->harq_processes[0]->rb_alloc_even,
                                   2,
                                   1,
-                                  ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+                                  ue->pdcch_vars[0&0x1][eNB_id]->num_pdcch_symbols,
                                   proc->frame_rx,
 				  subframe,
 				  0);
@@ -240,7 +240,7 @@ void dump_dlsch_ra(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t s
         ue->dlsch_ra[eNB_id]->harq_processes[0]->nb_rb,
         ue->dlsch_ra[eNB_id]->harq_processes[0]->mcs,
         ue->dlsch_ra[eNB_id]->harq_processes[0]->nb_rb,
-        ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+        ue->pdcch_vars[0&0x1][eNB_id]->num_pdcch_symbols,
         coded_bits_per_codeword);
 
   write_output("rxsigF0.m","rxsF0", ue->common_vars.common_vars_rx_data_per_thread[subframe&0x1].rxdataF[0],2*12*ue->frame_parms.ofdm_symbol_size,2,1);
@@ -259,7 +259,6 @@ void dump_dlsch_ra(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t s
   write_output("dlsch_mag2.m","dlschmag2",ue->pdsch_vars_ra[0]->dl_ch_magb0,300*nsymb,1,1);
 }
 
-
 void phy_reset_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index)
 {
 
@@ -310,8 +309,10 @@ void ra_failed(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index)
 
   // if contention resolution fails, go back to PRACH
   PHY_vars_UE_g[Mod_id][CC_id]->UE_mode[eNB_index] = PRACH;
-  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[eNB_index]->crnti_is_temporary = 0;
-  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[eNB_index]->crnti = 0;
+  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_index]->crnti_is_temporary = 0;
+  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_index]->crnti = 0;
+  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_index]->crnti_is_temporary = 0;
+  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_index]->crnti = 0;
   LOG_E(PHY,"[UE %d] Random-access procedure fails, going back to PRACH, setting SIStatus = 0, discard temporary C-RNTI and State RRC_IDLE\n",Mod_id);
   //mac_xface->macphy_exit("");
 }
@@ -323,7 +324,8 @@ void ra_succeeded(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index)
 
   LOG_I(PHY,"[UE %d][RAPROC] Random-access procedure succeeded. Set C-RNTI = Temporary C-RNTI\n",Mod_id);
 
-  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[eNB_index]->crnti_is_temporary = 0;
+  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[0][eNB_index]->crnti_is_temporary = 0;
+  PHY_vars_UE_g[Mod_id][CC_id]->pdcch_vars[1][eNB_index]->crnti_is_temporary = 0;
   PHY_vars_UE_g[Mod_id][CC_id]->ulsch_Msg3_active[eNB_index] = 0;
   PHY_vars_UE_g[Mod_id][CC_id]->UE_mode[eNB_index] = PUSCH;
 
@@ -379,7 +381,7 @@ uint8_t is_SR_TXOp(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id)
   int subframe=proc->subframe_tx;
 
   LOG_D(PHY,"[UE %d][SR %x] Frame %d subframe %d Checking for SR TXOp (sr_ConfigIndex %d)\n",
-        ue->Mod_id,ue->pdcch_vars[eNB_id]->crnti,proc->frame_tx,subframe,
+        ue->Mod_id,ue->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->crnti,proc->frame_tx,subframe,
         ue->scheduling_request_config[eNB_id].sr_ConfigIndex);
 
   if (ue->scheduling_request_config[eNB_id].sr_ConfigIndex <= 4) {        // 5 ms SR period
@@ -413,7 +415,9 @@ uint8_t is_cqi_TXOp(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id)
   //      cqirep->cqi_PMI_ConfigIndex,
   //      (((10*frame + subframe) % cqirep->Npd) == cqirep->N_OFFSET_CQI));
 
-  if (((10*frame + subframe) % cqirep->Npd) == cqirep->N_OFFSET_CQI)
+  if (cqirep->cqi_PMI_ConfigIndex==-1)
+    return(0);
+  else if (((10*frame + subframe) % cqirep->Npd) == cqirep->N_OFFSET_CQI)
     return(1);
   else
     return(0);
@@ -432,170 +436,34 @@ uint8_t is_ri_TXOp(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id)
   //      ue->Mod_id,ue->pdcch_vars[eNB_id]->crnti,frame,subframe,
   //      cqirep->ri_ConfigIndex,
   //      (((10*frame + subframe + cqirep->N_OFFSET_CQI - N_OFFSET_RI) % (cqirep->Npd<<log2Mri)) == 0));
-
-  if (((10*frame + subframe + cqirep->N_OFFSET_CQI - N_OFFSET_RI) % (cqirep->Npd<<log2Mri)) == 0)
+  if (cqirep->ri_ConfigIndex==-1)
+    return(0);
+  else if (((10*frame + subframe + cqirep->N_OFFSET_CQI - N_OFFSET_RI) % (cqirep->Npd<<log2Mri)) == 0)
     return(1);
   else
     return(0);
 }
 
-void compute_srs_pos(lte_frame_type_t frameType,uint16_t isrs,uint16_t *psrsPeriodicity,uint16_t *psrsOffset)
-{
-    if(TDD == frameType)
-    {
-        if(isrs<10)
-        {
-            mac_xface->macphy_exit("2 ms SRS periodicity not supported");
-        }
 
-        if((isrs>9)&&(isrs<15))
-        {
-            *psrsPeriodicity=5;
-            *psrsOffset=isrs-10;
-        }
-        if((isrs>14)&&(isrs<25))
-        {
-            *psrsPeriodicity=10;
-            *psrsOffset=isrs-15;
-        }
-        if((isrs>24)&&(isrs<45))
-        {
-            *psrsPeriodicity=20;
-            *psrsOffset=isrs-25;
-        }
-        if((isrs>44)&&(isrs<85))
-        {
-            *psrsPeriodicity=40;
-            *psrsOffset=isrs-45;
-        }
-        if((isrs>84)&&(isrs<165))
-        {
-            *psrsPeriodicity=80;
-            *psrsOffset=isrs-85;
-        }
-        if((isrs>164)&&(isrs<325))
-        {
-            *psrsPeriodicity=160;
-            *psrsOffset=isrs-165;
-        }
-        if((isrs>324)&&(isrs<645))
-        {
-            *psrsPeriodicity=320;
-            *psrsOffset=isrs-325;
-        }
-
-        if(isrs>644)
-        {
-            mac_xface->macphy_exit("Isrs out of range");
-        }
-
-    }
-    else
-    {
-        if(isrs<2)
-        {
-            *psrsPeriodicity=2;
-            *psrsOffset=isrs;
-        }
-        if((isrs>1)&&(isrs<7))
-        {
-            *psrsPeriodicity=5;
-            *psrsOffset=isrs-2;
-        }
-        if((isrs>6)&&(isrs<17))
-        {
-            *psrsPeriodicity=10;
-            *psrsOffset=isrs-7;
-        }
-        if((isrs>16)&&(isrs<37))
-        {
-            *psrsPeriodicity=20;
-            *psrsOffset=isrs-17;
-        }
-        if((isrs>36)&&(isrs<77))
-        {
-            *psrsPeriodicity=40;
-            *psrsOffset=isrs-37;
-        }
-        if((isrs>76)&&(isrs<157))
-        {
-            *psrsPeriodicity=80;
-            *psrsOffset=isrs-77;
-        }
-        if((isrs>156)&&(isrs<317))
-        {
-            *psrsPeriodicity=160;
-            *psrsOffset=isrs-157;
-        }
-        if((isrs>316)&&(isrs<637))
-        {
-            *psrsPeriodicity=320;
-            *psrsOffset=isrs-317;
-        }
-        if(isrs>636)
-        {
-            mac_xface->macphy_exit("Isrs out of range");
-        }
-    }
-}
 
-void ue_compute_srs_occasion(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id)
+void ue_compute_srs_occasion(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t isSubframeSRS) 
 {
-    LTE_DL_FRAME_PARMS *frame_parms = &ue->frame_parms;
-    int frame_tx    = proc->frame_tx;
-    int subframe_tx = proc->subframe_tx;
-    uint8_t isSubframeSRS   = 0; // SRS Cell Occasion
-
-    uint8_t is_pucch2_subframe = 0;
-    uint8_t is_sr_an_subframe  = 0;
-
-    SOUNDINGRS_UL_CONFIG_DEDICATED *pSoundingrs_ul_config_dedicated=&ue->soundingrs_ul_config_dedicated[eNB_id];
+  
+  LTE_DL_FRAME_PARMS *frame_parms = &ue->frame_parms;
+  int frame_tx    = proc->frame_tx;
+  int subframe_tx = proc->subframe_tx;
+  SOUNDINGRS_UL_CONFIG_DEDICATED *pSoundingrs_ul_config_dedicated=&ue->soundingrs_ul_config_dedicated[eNB_id];
+  uint16_t srsPeriodicity;
+  uint16_t srsOffset;
+  uint8_t is_pucch2_subframe = 0;
+  uint8_t is_sr_an_subframe  = 0;
 
   // check for SRS opportunity
   pSoundingrs_ul_config_dedicated->srsUeSubframe   = 0;
-  pSoundingrs_ul_config_dedicated->srsCellSubframe = 0;
+  pSoundingrs_ul_config_dedicated->srsCellSubframe = isSubframeSRS;
 
-  ue->ulsch[eNB_id]->srs_active   = 0;
-  ue->ulsch[eNB_id]->Nsymb_pusch  = 12-(frame_parms->Ncp<<1)- ue->ulsch[eNB_id]->srs_active;
-  if(frame_parms->soundingrs_ul_config_common.enabled_flag)
-  {
-
-      LOG_D(PHY," SRS SUBFRAMECONFIG: %d, Isrs: %d \n", frame_parms->soundingrs_ul_config_common.srs_SubframeConfig, pSoundingrs_ul_config_dedicated->srs_ConfigIndex);
-
-      uint8_t  TSFC;
-      uint16_t deltaTSFC; // bitmap
-      uint8_t  srs_SubframeConfig;
-      uint16_t srsPeriodicity;
-      uint16_t srsOffset;
-
-      // table resuming TSFC (Period) and deltaSFC (offset)
-      const uint16_t deltaTSFCTabType1[15][2] = { {1,1},{1,2},{2,2},{1,5},{2,5},{4,5},{8,5},{3,5},{12,5},{1,10},{2,10},{4,10},{8,10},{351,10},{383,10} };      // Table 5.5.3.3-2 3GPP 36.211 FDD
-      const uint16_t deltaTSFCTabType2[14][2] = { {2,5},{6,5},{10,5},{18,5},{14,5},{22,5},{26,5},{30,5},{70,10},{74,10},{194,10},{326,10},{586,10},{210,10} }; // Table 5.5.3.3-2 3GPP 36.211 TDD
-
-      srs_SubframeConfig = frame_parms->soundingrs_ul_config_common.srs_SubframeConfig;
-      if (FDD == frame_parms->frame_type)
-      {
-          // srs_SubframeConfig =< 14
-          deltaTSFC = deltaTSFCTabType1[srs_SubframeConfig][0];
-          TSFC      = deltaTSFCTabType1[srs_SubframeConfig][1];
-      }
-      else
-      {
-          // srs_SubframeConfig =< 13
-          deltaTSFC = deltaTSFCTabType2[srs_SubframeConfig][0];
-          TSFC      = deltaTSFCTabType2[srs_SubframeConfig][1];
-      }
-
-      // Sounding reference signal subframes are the subframes satisfying ns/2 mod TSFC (- deltaTSFC
-      uint16_t tmp = (subframe_tx %  TSFC);
-      if((1<<tmp) & deltaTSFC)
-      {
-          // This is a Sounding reference signal subframes
-          isSubframeSRS = 1;
-          pSoundingrs_ul_config_dedicated->srsCellSubframe  = 1;
-      }
-      LOG_D(PHY," ISTDD: %d, TSFC: %d, deltaTSFC: %d, AbsSubframeTX: %d.%d, srsCellSubframe: %d \n", frame_parms->frame_type, TSFC, deltaTSFC, frame_tx, subframe_tx, pSoundingrs_ul_config_dedicated->srsCellSubframe);
-      LOG_D(PHY," SrsDedicatedSetup: %d \n",pSoundingrs_ul_config_dedicated->srsConfigDedicatedSetup);
+  if (isSubframeSRS) {  
+    LOG_D(PHY," SrsDedicatedSetup: %d \n",pSoundingrs_ul_config_dedicated->srsConfigDedicatedSetup);
       if(pSoundingrs_ul_config_dedicated->srsConfigDedicatedSetup)
       {
           compute_srs_pos(frame_parms->frame_type, pSoundingrs_ul_config_dedicated->srs_ConfigIndex, &srsPeriodicity, &srsOffset);
@@ -632,7 +500,7 @@ void ue_compute_srs_occasion(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id
                               CC_id,
                               frame_tx,
                               eNB_id,
-                              ue->pdcch_vars[eNB_id]->crnti,
+                              ue->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->crnti,
                               subframe_tx); // subframe used for meas gap
 
                       if (SR_payload > 0)
@@ -670,6 +538,7 @@ void ue_compute_srs_occasion(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id
   }
 }
 
+
 void get_cqipmiri_params(PHY_VARS_UE *ue,uint8_t eNB_id)
 {
 
@@ -819,10 +688,10 @@ uint16_t get_n1_pucch(PHY_VARS_UE *ue,
 
   if (frame_parms->frame_type == FDD ) { // FDD
     sf = (subframe<4)? subframe+6 : subframe-4;
-    LOG_D(PHY,"n1_pucch_UE: subframe %d, nCCE %d\n",sf,ue->pdcch_vars[eNB_id]->nCCE[sf]);
+    LOG_D(PHY,"n1_pucch_UE: subframe %d, nCCE %d\n",sf,ue->pdcch_vars[proc->subframe_rx&0x1][eNB_id]->nCCE[sf]);
 
     if (SR == 0)
-      return(frame_parms->pucch_config_common.n1PUCCH_AN + ue->pdcch_vars[eNB_id]->nCCE[sf]);
+      return(frame_parms->pucch_config_common.n1PUCCH_AN + ue->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->nCCE[sf]);
     else
       return(ue->scheduling_request_config[eNB_id].sr_PUCCH_ResourceIndex);
   } else {
@@ -885,7 +754,7 @@ uint16_t get_n1_pucch(PHY_VARS_UE *ue,
           last_dl);
 
       // i=0
-      nCCE0 = ue->pdcch_vars[eNB_id]->nCCE[last_dl];
+      nCCE0 = ue->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->nCCE[last_dl];
       n1_pucch0 = get_Np(frame_parms->N_RB_DL,nCCE0,0) + nCCE0+ frame_parms->pucch_config_common.n1PUCCH_AN;
 
       harq_ack0 = b[0];
@@ -927,10 +796,10 @@ uint16_t get_n1_pucch(PHY_VARS_UE *ue,
       // This is the offset for a particular subframe (2,3,4) => (0,2,4)
       last_dl = (subframe-2)<<1;
       // i=0
-      nCCE0 = ue->pdcch_vars[eNB_id]->nCCE[5+last_dl];
+      nCCE0 = ue->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->nCCE[5+last_dl];
       n1_pucch0 = get_Np(frame_parms->N_RB_DL,nCCE0,0) + nCCE0+ frame_parms->pucch_config_common.n1PUCCH_AN;
       // i=1
-      nCCE1 = ue->pdcch_vars[eNB_id]->nCCE[(6+last_dl)%10];
+      nCCE1 = ue->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->nCCE[(6+last_dl)%10];
       n1_pucch1 = get_Np(frame_parms->N_RB_DL,nCCE1,1) + nCCE1 + frame_parms->pucch_config_common.n1PUCCH_AN;
 
       // set ACK/NAK to values if not DTX
@@ -1425,7 +1294,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
     }
 
     if (isBad) {
-      LOG_D(PHY,"Skip PUSCH generation!\n");
+      LOG_I(PHY,"Skip PUSCH generation!\n");
       ue->ulsch[eNB_id]->harq_processes[harq_pid]->subframe_scheduling_flag = 0;
     }
   }
@@ -1491,8 +1360,8 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
 
 #ifdef DEBUG_PHY_PROC
         LOG_D(PHY,
-              "[UE  %d][PUSCH %d] AbsSubframe %d.%d Generating PUSCH : first_rb %d, nb_rb %d, round %d, mcs %d, rv %d, cyclic_shift %d (cyclic_shift_common %d,n_DMRS2 %d,n_PRS %d), ACK (%d,%d), O_ACK %d, bundling %d\n",
-	  Mod_id,harq_pid,frame_tx,subframe_tx,
+              "[UE  %d][PUSCH %d] AbsSubframe %d.%d %d Generating PUSCH : first_rb %d, nb_rb %d, round %d, mcs %d, rv %d, cyclic_shift %d (cyclic_shift_common %d,n_DMRS2 %d,n_PRS %d), ACK (%d,%d), O_ACK %d, bundling %d\n",
+	  Mod_id,harq_pid,frame_tx,subframe_tx,proc->subframe_rx,
 	  first_rb,nb_rb,
 	  ue->ulsch[eNB_id]->harq_processes[harq_pid]->round,
 	  ue->ulsch[eNB_id]->harq_processes[harq_pid]->mcs,
@@ -1536,6 +1405,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
 			   ue,
 			   harq_pid,
 			   eNB_id,
+			   proc->subframe_rx,
 			   ue->transmission_mode[eNB_id],0,0)!=0) {
 	  LOG_E(PHY,"ulsch_coding.c: FATAL ERROR: returning\n");
 	  mac_xface->macphy_exit("Error in ulsch_coding");
@@ -1548,7 +1418,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
       
 #ifdef PHY_ABSTRACTION
       else {
-	ulsch_encoding_emul(ue->prach_resources[eNB_id]->Msg3,ue,eNB_id,harq_pid,0);
+	ulsch_encoding_emul(ue->prach_resources[eNB_id]->Msg3,ue,eNB_id,proc->subframe_rx,harq_pid,0);
       }
       
 #endif
@@ -1608,6 +1478,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
 			   ue,
 			   harq_pid,
 			   eNB_id,
+			   proc->subframe_rx,
          ue->transmission_mode[eNB_id],0,
          Nbundled)!=0) {
 	  LOG_E(PHY,"ulsch_coding.c: FATAL ERROR: returning\n");
@@ -1619,7 +1490,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
       
 #ifdef PHY_ABSTRACTION
       else {
-	ulsch_encoding_emul(ulsch_input_buffer,ue,eNB_id,harq_pid,0);
+	ulsch_encoding_emul(ulsch_input_buffer,ue,eNB_id,proc->subframe_rx,harq_pid,0);
       }
       
 #endif
@@ -1727,7 +1598,13 @@ void ue_srs_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8
             nb_rb_srs,
             tx_amp);
 
-    generate_srs_tx(ue, eNB_id, tx_amp, subframe_tx);
+    uint16_t nsymb = (ue->frame_parms.Ncp==0) ? 14:12;
+    uint16_t symbol_offset = (int)ue->frame_parms.ofdm_symbol_size*((subframe_tx*nsymb)+(nsymb-1));
+    generate_srs(&ue->frame_parms, 
+		 &ue->soundingrs_ul_config_dedicated[eNB_id], 
+		 &ue->common_vars.txdataF[eNB_id][symbol_offset], 
+		 tx_amp, 
+		 subframe_tx);
   }
 }
 
@@ -1818,7 +1695,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 
 
   uint8_t  pucch_ack_payload[2];
-  uint8_t  n2_pucch;
+  uint8_t  n2_pucch = -1;
   uint16_t pucch_resource;
   ANFBmode_t bundling_flag;
   PUCCH_FMT_t format;
@@ -1890,7 +1767,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
                   CC_id,
                   frame_tx,
                   eNB_id,
-                  ue->pdcch_vars[eNB_id]->crnti,
+                  ue->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->crnti,
                   subframe_tx); // subframe used for meas gap
       }
       else {
@@ -1986,7 +1863,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
           LOG_D(PHY,"[UE  %d][SR %x] AbsSubframe %d.%d Generating PUCCH 1 (SR for PUSCH), an_srs_simultanous %d, shorten_pucch %d, n1_pucch %d, Po_PUCCH %d\n",
                   Mod_id,
                   ue->dlsch[proc->subframe_rx&0x1][eNB_id][0]->rnti,
-                  frame_tx, subframe_tx,
+                  frame_tx%1024, subframe_tx,
                   frame_parms->soundingrs_ul_config_common.ackNackSRS_SimultaneousTransmission,
                   isShortenPucch,
                   ue->scheduling_request_config[eNB_id].sr_PUCCH_ResourceIndex,
@@ -2107,7 +1984,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
               0,            // B2 not needed
               tx_amp,
               subframe_tx,
-              ue->pdcch_vars[eNB_id]->crnti);
+              ue->pdcch_vars[proc->subframe_rx & 0x1][eNB_id]->crnti);
   }
   break;
 
@@ -2139,9 +2016,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,ui
   int subframe_tx = proc->subframe_tx;
   int frame_tx = proc->frame_tx;
   unsigned int aa;
-  
-
-
+  uint8_t isSubframeSRS;
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_TX,VCD_FUNCTION_IN);
 
@@ -2169,7 +2044,9 @@ void phy_procedures_UE_TX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,ui
       
   if (ue->UE_mode[eNB_id] != PRACH) {
     // check cell srs subframe and ue srs subframe. This has an impact on pusch encoding
-    ue_compute_srs_occasion(ue,proc,eNB_id);
+    isSubframeSRS = is_srs_occasion_common(&ue->frame_parms,proc->frame_tx,proc->subframe_tx);
+
+    ue_compute_srs_occasion(ue,proc,eNB_id,isSubframeSRS);
 
     ue_ulsch_uespec_procedures(ue,proc,eNB_id,abstraction_flag);
 
@@ -2217,6 +2094,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,ui
 			   ue,
 			   harq_pid,
 			   eNB_id,
+			   proc->subframe_rx,
 			   ue->transmission_mode[eNB_id],0,
 			   0)!=0) {  //  Nbundled, to be updated!!!!
 	  LOG_E(PHY,"ulsch_coding.c: FATAL ERROR: returning\n");
@@ -2226,7 +2104,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,ui
 	    
 #ifdef PHY_ABSTRACTION
       else {
-	ulsch_encoding_emul(ulsch_input_buffer,ue,eNB_id,harq_pid,0);
+	ulsch_encoding_emul(ulsch_input_buffer,ue,eNB_id,proc->subframe_rx,harq_pid,0);
       }
 	    
 #endif
@@ -2261,12 +2139,14 @@ void phy_procedures_UE_TX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,ui
   }
     
   // reset DL ACK/NACK status
-  reset_ack(&ue->frame_parms,
-             ue->dlsch[proc->subframe_rx&0x1][eNB_id][0]->harq_ack,
-             subframe_tx,
-             ue->ulsch[eNB_id]->o_ACK,0);
-
-  reset_ack(&ue->frame_parms,
+  if (ue->dlsch[proc->subframe_rx&0x1][eNB_id][0] != NULL)
+    reset_ack(&ue->frame_parms,
+               ue->dlsch[proc->subframe_rx&0x1][eNB_id][0]->harq_ack,
+               subframe_tx,
+               ue->ulsch[eNB_id]->o_ACK,0);
+
+  if (ue->dlsch_SI[eNB_id] != NULL)
+    reset_ack(&ue->frame_parms,
              ue->dlsch_SI[eNB_id]->harq_ack,
              subframe_tx,
              ue->ulsch[eNB_id]->o_ACK,0);
@@ -2502,10 +2382,15 @@ void restart_phy(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc, uint8_t eNB_id,uint8_t ab
   ue->pbch_vars[eNB_id]->pdu_errors_conseq=0;
   ue->pbch_vars[eNB_id]->pdu_errors=0;
 
-  ue->pdcch_vars[eNB_id]->dci_errors = 0;
-  ue->pdcch_vars[eNB_id]->dci_missed = 0;
-  ue->pdcch_vars[eNB_id]->dci_false  = 0;
-  ue->pdcch_vars[eNB_id]->dci_received = 0;
+  ue->pdcch_vars[0][eNB_id]->dci_errors = 0;
+  ue->pdcch_vars[0][eNB_id]->dci_missed = 0;
+  ue->pdcch_vars[0][eNB_id]->dci_false  = 0;
+  ue->pdcch_vars[0][eNB_id]->dci_received = 0;
+
+  ue->pdcch_vars[1][eNB_id]->dci_errors = 0;
+  ue->pdcch_vars[1][eNB_id]->dci_missed = 0;
+  ue->pdcch_vars[1][eNB_id]->dci_false  = 0;
+  ue->pdcch_vars[1][eNB_id]->dci_received = 0;
 
   ue->dlsch_errors[eNB_id] = 0;
   ue->dlsch_errors_last[eNB_id] = 0;
@@ -2753,9 +2638,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
   if (abstraction_flag == 0)  {
 
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RX_PDCCH, VCD_FUNCTION_IN);
-    rx_pdcch(&ue->common_vars,
-	     ue->pdcch_vars,
-	     &ue->frame_parms,
+    rx_pdcch(ue,
 	     proc->frame_rx,
 	     subframe_rx,
 	     eNB_id,
@@ -2801,14 +2684,14 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
     }
 
     LOG_D(PHY,"Calling dci_decoding_proc_emul ...\n");
-    dci_cnt = dci_decoding_procedure_emul(ue->pdcch_vars,
+    dci_cnt = dci_decoding_procedure_emul(ue->pdcch_vars[subframe_rx&1],
 					  PHY_vars_eNB_g[i][CC_id]->num_ue_spec_dci[subframe_rx&1],
 					  PHY_vars_eNB_g[i][CC_id]->num_common_dci[subframe_rx&1],
 					  PHY_vars_eNB_g[i][CC_id]->dci_alloc[subframe_rx&1],
 					  dci_alloc_rx,
 					  eNB_id);
     //    printf("DCI: dci_cnt %d\n",dci_cnt);
-    UE_id = (uint32_t)find_ue((int16_t)ue->pdcch_vars[eNB_id]->crnti,PHY_vars_eNB_g[i][CC_id]);
+    UE_id = (uint32_t)find_ue((int16_t)ue->pdcch_vars[subframe_rx&1][eNB_id]->crnti,PHY_vars_eNB_g[i][CC_id]);
 
     if (UE_id>=0) {
       //      printf("Checking PHICH for UE  %d (eNB %d)\n",UE_id,i);
@@ -2831,9 +2714,14 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
 #endif
 
 
-  LOG_D(PHY,"[UE  %d] AbsSubFrame %d.%d, Mode %s: DCI found %i\n",ue->Mod_id,frame_rx%1024,subframe_rx,mode_string[ue->UE_mode[eNB_id]],dci_cnt);
+  LOG_D(PHY,"[UE  %d] AbsSubFrame %d.%d, Mode %s: DCI found %i --> rnti %x / crnti %x : format %d\n",
+       ue->Mod_id,frame_rx%1024,subframe_rx,mode_string[ue->UE_mode[eNB_id]],
+       dci_cnt,
+       dci_alloc_rx[0].rnti,
+       ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti,
+       dci_alloc_rx[0].format );
 
-  ue->pdcch_vars[eNB_id]->dci_received += dci_cnt;
+  ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->dci_received += dci_cnt;
 
 #ifdef EMOS
   //emos_dump_UE.dci_cnt[subframe_rx] = dci_cnt;
@@ -2844,7 +2732,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
 
 
     if ((ue->UE_mode[eNB_id]>PRACH) &&
-	(dci_alloc_rx[i].rnti == ue->pdcch_vars[eNB_id]->crnti) &&
+	(dci_alloc_rx[i].rnti == ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti) &&
 	(dci_alloc_rx[i].format != format0)) {
       
 
@@ -2852,8 +2740,8 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
 	    ue->Mod_id,dci_alloc_rx[i].rnti,
 	    frame_rx%1024,subframe_rx,
 	    dci_alloc_rx[i].format,
-	    ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
-	    ue->pdcch_vars[eNB_id]->nCCE[subframe_rx],
+	    ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols,
+	    ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->nCCE[subframe_rx],
 	    get_nCCE(3,&ue->frame_parms,get_mi(&ue->frame_parms,0)));
 
 
@@ -2865,7 +2753,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
 	  (generate_ue_dlsch_params_from_dci(frame_rx,
 					     subframe_rx,
 					     (void *)&dci_alloc_rx[i].dci_pdu,
-					     ue->pdcch_vars[eNB_id]->crnti,
+					     ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti,
 					     dci_alloc_rx[i].format,
 					     ue->dlsch[subframe_rx&0x1][eNB_id],
 					     &ue->frame_parms,
@@ -2874,7 +2762,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
 					     0,
 					     P_RNTI,
 					     ue->transmission_mode[eNB_id]<7?0:ue->transmission_mode[eNB_id],
-					     ue->pdcch_vars[eNB_id]->crnti_is_temporary? ue->pdcch_vars[eNB_id]->crnti: 0)==0)) {
+					     ue->pdcch_vars[0&0x1][eNB_id]->crnti_is_temporary? ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti: 0)==0)) {
 
           // update TPC for PUCCH
           if((dci_alloc_rx[i].format == format1)   ||
@@ -2898,7 +2786,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
 	// we received a CRNTI, so we're in PUSCH
 	if (ue->UE_mode[eNB_id] != PUSCH) {
 #ifdef DEBUG_PHY_PROC
-	  LOG_D(PHY,"[UE  %d] Frame %d, subframe %d: Received DCI with CRNTI %x => Mode PUSCH\n",ue->Mod_id,frame_rx,subframe_rx,ue->pdcch_vars[eNB_id]->crnti);
+	  LOG_D(PHY,"[UE  %d] Frame %d, subframe %d: Received DCI with CRNTI %x => Mode PUSCH\n",ue->Mod_id,frame_rx,subframe_rx,ue->pdcch_vars[subframe_rx&1][eNB_id]->crnti);
 #endif
 	  //dump_dci(&ue->frame_parms, &dci_alloc_rx[i]);
 	  ue->UE_mode[eNB_id] = PUSCH;
@@ -3006,7 +2894,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
 	      ue->Mod_id,ue->dlsch_ra[eNB_id]->harq_processes[0]->rb_alloc_even[0],ue->dlsch_ra[eNB_id]);
 #endif
       }
-    } else if( (dci_alloc_rx[i].rnti == ue->pdcch_vars[eNB_id]->crnti) &&
+    } else if( (dci_alloc_rx[i].rnti == ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti) &&
 	       (dci_alloc_rx[i].format == format0)) {
 #ifdef DEBUG_PHY_PROC
       LOG_D(PHY,"[UE  %d][PUSCH] Frame %d subframe %d: Found rnti %x, format 0, dci_cnt %d\n",
@@ -3018,7 +2906,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
 
       if ((ue->UE_mode[eNB_id] > PRACH) &&
 	  (generate_ue_ulsch_params_from_dci((void *)&dci_alloc_rx[i].dci_pdu,
-					     ue->pdcch_vars[eNB_id]->crnti,
+					     ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti,
 					     subframe_rx,
 					     format0,
 					     ue,
@@ -3089,7 +2977,7 @@ int ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint
     else {
 #ifdef DEBUG_PHY_PROC
       LOG_D(PHY,"[UE  %d] frame %d, subframe %d: received DCI %d with RNTI=%x (C-RNTI:%x, CBA_RNTI %x) and format %d!\n",ue->Mod_id,frame_rx,subframe_rx,i,dci_alloc_rx[i].rnti,
-	    ue->pdcch_vars[eNB_id]->crnti,
+	    ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti,
 	    ue->ulsch[eNB_id]->cba_rnti[0],
 	    dci_alloc_rx[i].format);
       //      dump_dci(&ue->frame_parms, &dci_alloc_rx[i]);
@@ -3109,7 +2997,9 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
   int subframe_rx = proc->subframe_rx;
   int frame_rx = proc->frame_rx;
   int pmch_mcs=-1;
+#if defined(Rel10) || defined(Rel14)
   int CC_id = ue->CC_id;
+#endif
   uint8_t sync_area=255;
   uint8_t mcch_active;
   int l;
@@ -3120,7 +3010,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
     
     LOG_D(PHY,"[UE %d] Frame %d, subframe %d: Querying for PMCH demodulation\n",
 	  ue->Mod_id,(subframe_rx==9?-1:0)+frame_rx,subframe_rx);
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     pmch_mcs = mac_xface->ue_query_mch(ue->Mod_id,
 				       CC_id,
 				       frame_rx,
@@ -3218,7 +3108,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
 	if (subframe_rx==9)
 	  mac_xface->macphy_exit("Why are we exiting here?");
       } else { // decoding successful
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 	
 	if (mcch_active == 1) {
 	  mac_xface->ue_send_mch_sdu(ue->Mod_id,
@@ -3240,7 +3130,7 @@ void ue_pmch_procedures(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,int eNB_id,int abs
 	  
 	  
 	}
-#endif // Rel10
+#endif // Rel10 || Rel14
       } // decoding sucessful
     } // pmch_mcs>=0
   } // is_pmch_subframe=true
@@ -3345,21 +3235,23 @@ void process_rar(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc, int eNB_id, runmode_t mo
 						 frame_rx,
 						 ue->prach_resources[eNB_id]->ra_RNTI,
 						 dlsch0->harq_processes[0]->b,
-						 &ue->pdcch_vars[eNB_id]->crnti,
+						 &ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti,
 						 ue->prach_resources[eNB_id]->ra_PreambleIndex);
+
+      ue->pdcch_vars[(subframe_rx+1) & 0x1][eNB_id]->crnti = ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti;
       
 	    
       if (timing_advance!=0xffff) {
 	      
-	LOG_D(PHY,"[UE  %d][RAPROC] Frame %d subframe %d Got rnti %x and timing advance %d from RAR\n",
-	      ue->Mod_id,
-	      frame_rx,
-	      subframe_rx,
-	      ue->pdcch_vars[eNB_id]->crnti,
-	      timing_advance);
+	      LOG_D(PHY,"[UE  %d][RAPROC] Frame %d subframe %d Got rnti %x and timing advance %d from RAR\n",
+              ue->Mod_id,
+              frame_rx,
+              subframe_rx,
+              ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti,
+              timing_advance);
 	      
   // remember this c-rnti is still a tc-rnti
-  ue->pdcch_vars[eNB_id]->crnti_is_temporary = 1;	     
+  ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->crnti_is_temporary = 1;
 	      
 	//timing_advance = 0;
 	process_timing_advance_rar(ue,proc,timing_advance);
@@ -3491,7 +3383,7 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
 						  dlsch0->harq_processes[harq_pid]->rb_alloc_even,
 						  dlsch0->harq_processes[harq_pid]->Qm,
 						  dlsch0->harq_processes[harq_pid]->Nl,
-						  ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+						  ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols,
 						  frame_rx,
 						  subframe_rx,
 						  ue->transmission_mode[eNB_id]<7?0:ue->transmission_mode[eNB_id]);
@@ -3504,15 +3396,19 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
 			 0,
 			 subframe_rx<<1);
       stop_meas(&ue->dlsch_unscrambling_stats);
-      
-      //LOG_I(PHY,"start turbo decode for CW 0 --> nb_rb %d \n", dlsch0->harq_processes[harq_pid]->nb_rb);
-      //LOG_I(PHY,"start turbo decode for CW 0 --> rb_alloc_even %x \n", dlsch0->harq_processes[harq_pid]->rb_alloc_even);
-      //LOG_I(PHY,"start turbo decode for CW 0 --> Qm %d \n", dlsch0->harq_processes[harq_pid]->Qm);
-      //LOG_I(PHY,"start turbo decode for CW 0 --> Nl %d \n", dlsch0->harq_processes[harq_pid]->Nl);
-      //LOG_I(PHY,"start turbo decode for CW 0 --> G  %d \n", dlsch0->harq_processes[harq_pid]->G);
-      //LOG_I(PHY,"start turbo decode for CW 0 --> Kmimo  %d \n", dlsch0->Kmimo);
-
-      start_meas(&ue->dlsch_decoding_stats);
+
+#if 0
+      LOG_I(PHY," ------ start turbo decoder for AbsSubframe %d.%d / %d  ------  \n", frame_rx, subframe_rx, harq_pid);
+      LOG_I(PHY,"start turbo decode for CW 0 for AbsSubframe %d.%d / %d --> nb_rb %d \n", frame_rx, subframe_rx, harq_pid, dlsch0->harq_processes[harq_pid]->nb_rb);
+      LOG_I(PHY,"start turbo decode for CW 0 for AbsSubframe %d.%d / %d  --> rb_alloc_even %x \n", frame_rx, subframe_rx, harq_pid, dlsch0->harq_processes[harq_pid]->rb_alloc_even);
+      LOG_I(PHY,"start turbo decode for CW 0 for AbsSubframe %d.%d / %d  --> Qm %d \n", frame_rx, subframe_rx, harq_pid, dlsch0->harq_processes[harq_pid]->Qm);
+      LOG_I(PHY,"start turbo decode for CW 0 for AbsSubframe %d.%d / %d  --> Nl %d \n", frame_rx, subframe_rx, harq_pid, dlsch0->harq_processes[harq_pid]->Nl);
+      LOG_I(PHY,"start turbo decode for CW 0 for AbsSubframe %d.%d / %d  --> G  %d \n", frame_rx, subframe_rx, harq_pid, dlsch0->harq_processes[harq_pid]->G);
+      LOG_I(PHY,"start turbo decode for CW 0 for AbsSubframe %d.%d / %d  --> Kmimo  %d \n", frame_rx, subframe_rx, harq_pid, dlsch0->Kmimo);
+      LOG_I(PHY,"start turbo decode for CW 0 for AbsSubframe %d.%d / %d  --> Pdcch Sym  %d \n", frame_rx, subframe_rx, harq_pid, ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols);
+#endif
+
+      start_meas(&ue->dlsch_decoding_stats[subframe_rx&0x1]);
       ret = dlsch_decoding(ue,
 			   pdsch_vars->llr[0],
 			   &ue->frame_parms,
@@ -3523,12 +3419,13 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
 			   harq_pid,
 			   pdsch==PDSCH?1:0,
 			   dlsch0->harq_processes[harq_pid]->TBS>256?1:0);
-      stop_meas(&ue->dlsch_decoding_stats);
+      stop_meas(&ue->dlsch_decoding_stats[subframe_rx&0x1]);
+
+      LOG_D(PHY," --> Unscrambling for CW0 %5.3f\n",
+              (ue->dlsch_unscrambling_stats.p_time)/(cpuf*1000.0));
+      LOG_D(PHY,"AbsSubframe %d.%d --> Turbo Decoding for CW0 %5.3f\n",
+              frame_rx%1024, subframe_rx,(ue->dlsch_decoding_stats[subframe_rx&0x1].p_time)/(cpuf*1000.0));
 
-      //printf(" --> Unscrambling for CW0 %5.3f\n",
-      //        (ue->dlsch_unscrambling_stats.p_time)/(cpuf*1000.0));
-      //printf(" --> Turbo Decoding for CW0 %5.3f\n",
-      //        (ue->dlsch_decoding_stats.p_time)/(cpuf*1000.0));
 
       if(is_cw1_active)
       {
@@ -3538,7 +3435,7 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
                   dlsch1->harq_processes[harq_pid]->rb_alloc_even,
                   dlsch1->harq_processes[harq_pid]->Qm,
                   dlsch1->harq_processes[harq_pid]->Nl,
-                  ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+                  ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols,
                   frame_rx,
                   subframe_rx,
                   ue->transmission_mode[eNB_id]<7?0:ue->transmission_mode[eNB_id]);
@@ -3553,14 +3450,18 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
                   subframe_rx<<1);
           stop_meas(&ue->dlsch_unscrambling_stats);
 
-          //LOG_I(PHY,"start turbo decode for CW 1 --> nb_rb %d \n", dlsch1->harq_processes[harq_pid]->nb_rb);
-          //LOG_I(PHY,"start turbo decode for CW 1 --> rb_alloc_even %x \n", dlsch1->harq_processes[harq_pid]->rb_alloc_even);
-          //LOG_I(PHY,"start turbo decode for CW 1 --> Qm %d \n", dlsch1->harq_processes[harq_pid]->Qm);
-          //LOG_I(PHY,"start turbo decode for CW 1 --> Nl %d \n", dlsch1->harq_processes[harq_pid]->Nl);
-          //LOG_I(PHY,"start turbo decode for CW 1 --> G  %d \n", dlsch1->harq_processes[harq_pid]->G);
-          //LOG_I(PHY,"start turbo decode for CW 1 --> Kmimo  %d \n", dlsch1->Kmimo);
+#if 0
+          LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d --> nb_rb %d \n", frame_rx, subframe_rx, harq_pid, dlsch1->harq_processes[harq_pid]->nb_rb);
+          LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d  --> rb_alloc_even %x \n", frame_rx, subframe_rx, harq_pid, dlsch1->harq_processes[harq_pid]->rb_alloc_even);
+          LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d  --> Qm %d \n", frame_rx, subframe_rx, harq_pid, dlsch1->harq_processes[harq_pid]->Qm);
+          LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d  --> Nl %d \n", frame_rx, subframe_rx, harq_pid, dlsch1->harq_processes[harq_pid]->Nl);
+          LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d  --> G  %d \n", frame_rx, subframe_rx, harq_pid, dlsch1->harq_processes[harq_pid]->G);
+          LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d  --> Kmimo  %d \n", frame_rx, subframe_rx, harq_pid, dlsch1->Kmimo);
+          LOG_I(PHY,"start turbo decode for CW 1 for AbsSubframe %d.%d / %d  --> Pdcch Sym  %d \n", frame_rx, subframe_rx, harq_pid, ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols);
+#endif
+
+          start_meas(&ue->dlsch_decoding_stats[subframe_rx&0x1]);
 
-          start_meas(&ue->dlsch_decoding_stats);
           ret1 = dlsch_decoding(ue,
                   pdsch_vars->llr[1],
                   &ue->frame_parms,
@@ -3571,13 +3472,16 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
                   harq_pid,
                   pdsch==PDSCH?1:0,
                   dlsch1->harq_processes[harq_pid]->TBS>256?1:0);
-          stop_meas(&ue->dlsch_decoding_stats);
+          stop_meas(&ue->dlsch_decoding_stats[subframe_rx&0x1]);
+
 
-          //printf(" --> Unscrambling for CW1 %5.3f\n",
-          //        (ue->dlsch_unscrambling_stats.p_time)/(cpuf*1000.0));
-          //printf(" --> Turbo Decoding for CW1 %5.3f\n",
-          //        (ue->dlsch_decoding_stats.p_time)/(cpuf*1000.0));
+          LOG_D(PHY," --> Unscrambling for CW1 %5.3f\n",
+                  (ue->dlsch_unscrambling_stats.p_time)/(cpuf*1000.0));
+          LOG_D(PHY,"AbsSubframe %d.%d --> Turbo Decoding for CW1 %5.3f\n",
+                  frame_rx%1024, subframe_rx,(ue->dlsch_decoding_stats[subframe_rx&0x1].p_time)/(cpuf*1000.0));
       }
+
+      LOG_D(PHY," ------ end turbo decoder for AbsSubframe %d.%d ------  \n", frame_rx, subframe_rx);
     }
 	
     else {
@@ -3596,10 +3500,11 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
       
       if(dlsch0->rnti != 0xffff)
       {
-      LOG_D(PHY,"[UE  %d][PDSCH %x/%d] AbsSubframe %d.%d : DLSCH CW0 in error (rv %d,mcs %d,TBS %d)\n",
+      LOG_D(PHY,"[UE  %d][PDSCH %x/%d] AbsSubframe %d.%d : DLSCH CW0 in error (rv %d,round %d, mcs %d,TBS %d)\n",
 	    ue->Mod_id,dlsch0->rnti,
 	    harq_pid,frame_rx,subframe_rx,
 	    dlsch0->harq_processes[harq_pid]->rvidx,
+        dlsch0->harq_processes[harq_pid]->round,
 	    dlsch0->harq_processes[harq_pid]->mcs,
 	    dlsch0->harq_processes[harq_pid]->TBS);
       }
@@ -3608,10 +3513,11 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
     } else {
         if(dlsch0->rnti != 0xffff)
         {
-      LOG_D(PHY,"[UE  %d][PDSCH %x/%d] AbsSubframe %d.%d : Received DLSCH CW0 (rv %d,mcs %d,TBS %d)\n",
+      LOG_D(PHY,"[UE  %d][PDSCH %x/%d] AbsSubframe %d.%d : Received DLSCH CW0 (rv %d,round %d, mcs %d,TBS %d)\n",
 	    ue->Mod_id,dlsch0->rnti,
 	    harq_pid,frame_rx,subframe_rx,
 	    dlsch0->harq_processes[harq_pid]->rvidx,
+        dlsch0->harq_processes[harq_pid]->round,
 	    dlsch0->harq_processes[harq_pid]->mcs,
 	    dlsch0->harq_processes[harq_pid]->TBS);
         }
@@ -3677,7 +3583,7 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
     if(is_cw1_active)
     {
         if (ret1 == (1+dlsch0->max_turbo_iterations)) {
-            LOG_D(PHY,"[UE  %d][PDSCH %x/%d] Frame %d subframe %d DLSCH CW1 in error (rv %d,mcs %d,TBS %d)\n",
+            LOG_I(PHY,"[UE  %d][PDSCH %x/%d] Frame %d subframe %d DLSCH CW1 in error (rv %d,mcs %d,TBS %d)\n",
                     ue->Mod_id,dlsch0->rnti,
                     harq_pid,frame_rx,subframe_rx,
                     dlsch0->harq_processes[harq_pid]->rvidx,
@@ -3685,7 +3591,7 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
                     dlsch0->harq_processes[harq_pid]->TBS);
 
         } else {
-            LOG_D(PHY,"[UE  %d][PDSCH %x/%d] Frame %d subframe %d: Received DLSCH CW1 (rv %d,mcs %d,TBS %d)\n",
+            LOG_I(PHY,"[UE  %d][PDSCH %x/%d] Frame %d subframe %d: Received DLSCH CW1 (rv %d,mcs %d,TBS %d)\n",
                     ue->Mod_id,dlsch0->rnti,
                     harq_pid,frame_rx,subframe_rx,
                     dlsch0->harq_processes[harq_pid]->rvidx,
@@ -3765,6 +3671,8 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
              ue->frame_parms.samples_per_tti * 4));
 
   // start timers
+
+  LOG_D(PHY," ****** start RX-Chain for AbsSubframe %d.%d ******  \n", frame_rx%1024, subframe_rx);
   start_meas(&ue->phy_proc_rx[subframe_rx&0x1]);
   start_meas(&ue->generic_stat);
 
@@ -3818,6 +3726,9 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
     //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     l=1;
   }
+
+  LOG_D(PHY," ------ slot 0 Processing: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
+  LOG_D(PHY," ------  --> FFT/ChannelEst/PDCCH slot 0: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
   for (; l<=l2; l++) {
     if (abstraction_flag == 0) {
       start_meas(&ue->ofdm_demod_stats);
@@ -3841,12 +3752,13 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 	LOG_E(PHY,"[UE  %d] Frame %d, subframe %d: Error in pdcch procedures\n",ue->Mod_id,frame_rx,subframe_rx);
 	return(-1);
       }
-      LOG_D(PHY,"num_pdcch_symbols %d\n",ue->pdcch_vars[eNB_id]->num_pdcch_symbols);
+      LOG_D(PHY,"num_pdcch_symbols %d\n",ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols);
     }
     
   } // for l=1..l2
   ue_measurement_procedures(l-1,ue,proc,eNB_id,(subframe_rx<<1),abstraction_flag,mode); 
   
+  LOG_D(PHY," ------  end FFT/ChannelEst/PDCCH slot 0: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
     // If this is PMCH, call procedures and return
   if (pmch_flag == 1) {
     ue_pmch_procedures(ue,proc,eNB_id,abstraction_flag);
@@ -3862,7 +3774,8 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 
   // first slot has been processed (FFTs + Channel Estimation, PCFICH/PHICH/PDCCH)
   stop_meas(&ue->generic_stat);
-  //printf("[SFN %d] Slot0: FFT + Channel Estimate + PCFICH/PHICH/PDCCH %5.2f \n",subframe_rx,ue->generic_stat.p_time/(cpuf*1000.0));
+  LOG_D(PHY,"[SFN %d] Slot0: FFT + Channel Estimate + PCFICH/PHICH/PDCCH %5.2f \n",subframe_rx,ue->generic_stat.p_time/(cpuf*1000.0));
+  LOG_D(PHY," ------ --> PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
 
   start_meas(&ue->generic_stat);
   // do procedures for C-RNTI
@@ -3874,11 +3787,13 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 			PDSCH,
 			ue->dlsch[subframe_rx&0x1][eNB_id][0],
 			NULL,
-			ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+			ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols,
 			ue->frame_parms.symbols_per_tti>>1,
 			abstraction_flag);
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_OUT);
   }
+
+  LOG_D(PHY," ------ end PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
   // do procedures for SI-RNTI
   if ((ue->dlsch_SI[eNB_id]) && (ue->dlsch_SI[eNB_id]->active == 1)) {
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_SI, VCD_FUNCTION_IN);
@@ -3888,7 +3803,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 			SI_PDSCH,
 			ue->dlsch_SI[eNB_id],
 			NULL,
-			ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+			ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols,
 			ue->frame_parms.symbols_per_tti>>1,
 			abstraction_flag);
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_SI, VCD_FUNCTION_OUT);
@@ -3903,7 +3818,7 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 			P_PDSCH,
 			ue->dlsch_p[eNB_id],
 			NULL,
-			ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+			ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols,
 			ue->frame_parms.symbols_per_tti>>1,
 			abstraction_flag);
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_P, VCD_FUNCTION_OUT);
@@ -3918,12 +3833,15 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 			RA_PDSCH,
 			ue->dlsch_ra[eNB_id],
 			NULL,
-			ue->pdcch_vars[eNB_id]->num_pdcch_symbols,
+			ue->pdcch_vars[subframe_rx & 0x1][eNB_id]->num_pdcch_symbols,
 			ue->frame_parms.symbols_per_tti>>1,
 			abstraction_flag);
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC_RA, VCD_FUNCTION_OUT);
   }    
   
+  LOG_D(PHY," ------ slot 1 Processing: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
+  LOG_D(PHY," ------  --> FFT/ChannelEst/PDCCH slot 1: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
+
   if (subframe_select(&ue->frame_parms,subframe_rx) != SF_S) {  // do front-end processing for second slot, and first symbol of next subframe
     for (l=1; l<ue->frame_parms.symbols_per_tti>>1; l++) {
       if (abstraction_flag == 0) {
@@ -3957,15 +3875,17 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
   } // not an S-subframe
 
   stop_meas(&ue->generic_stat);
-  //printf("[SFN %d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f \n",subframe_rx,ue->generic_stat.p_time/(cpuf*1000.0));
 
-  // run pbch procedures if subframe is 0
+  LOG_D(PHY,"[SFN %d] Slot1: FFT + Channel Estimate + Pdsch Proc Slot0 %5.2f \n",subframe_rx,ue->generic_stat.p_time/(cpuf*1000.0));
+  LOG_D(PHY," ------  end FFT/ChannelEst/PDCCH slot 1: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
+
   if ( (subframe_rx == 0) && (ue->decode_MIB == 1))
   {
     ue_pbch_procedures(eNB_id,ue,proc,abstraction_flag);
   }
    
   // do procedures for C-RNTI
+  LOG_D(PHY," ------ --> PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
   if (ue->dlsch[subframe_rx&0x1][eNB_id][0]->active == 1) {
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_IN);
     start_meas(&ue->pdsch_procedures_stat);
@@ -3980,6 +3900,9 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 			abstraction_flag);
     stop_meas(&ue->pdsch_procedures_stat);
 
+    LOG_D(PHY," ------ end PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
+    LOG_D(PHY," ------ --> PDSCH Turbo Decoder slot 0/1: AbsSubframe %d.%d ------  \n", frame_rx%1024, subframe_rx);
+
     start_meas(&ue->dlsch_procedures_stat);
     ue_dlsch_procedures(ue,
 			proc,
@@ -3991,15 +3914,14 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
 			mode,
 			abstraction_flag);
     stop_meas(&ue->dlsch_procedures_stat);
-    //printf("[SFN %d] Slot1:       Pdsch Proc %5.2f\n",subframe_rx,ue->pdsch_procedures_stat.p_time/(cpuf*1000.0));
-    //printf("[SFN %d] Slot0 Slot1: Dlsch Proc %5.2f\n",subframe_rx,ue->dlsch_procedures_stat.p_time/(cpuf*1000.0));
+    LOG_D(PHY,"[SFN %d] Slot1:       Pdsch Proc %5.2f\n",subframe_rx,ue->pdsch_procedures_stat.p_time/(cpuf*1000.0));
+    LOG_D(PHY,"[SFN %d] Slot0 Slot1: Dlsch Proc %5.2f\n",subframe_rx,ue->dlsch_procedures_stat.p_time/(cpuf*1000.0));
 
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PDSCH_PROC, VCD_FUNCTION_OUT);
 
   }
 
   start_meas(&ue->generic_stat);
-
   // do procedures for SI-RNTI
   if ((ue->dlsch_SI[eNB_id]) && (ue->dlsch_SI[eNB_id]->active == 1)) {
     ue_pdsch_procedures(ue,
@@ -4105,12 +4027,12 @@ int phy_procedures_UE_RX(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_RX, VCD_FUNCTION_OUT);
   stop_meas(&ue->phy_proc_rx[subframe_rx&0x1]);
 
-  //printf("------FULL RX PROC [SFN %d]: %5.2f ------\n",subframe_rx,ue->phy_proc_rx[subframe_rx&0x1].p_time/(cpuf*1000.0));
-
+  LOG_D(PHY,"------FULL RX PROC [SFN %d]: %5.2f ------\n",subframe_rx,ue->phy_proc_rx[subframe_rx&0x1].p_time/(cpuf*1000.0));
+  LOG_D(PHY," ****** end RX-Chain  for AbsSubframe %d.%d ******  \n", frame_rx%1024, subframe_rx);
   return (0);
 }
    
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 int phy_procedures_RN_UE_RX(uint8_t slot_rx, uint8_t next_slot, relaying_type_t r_type)
 {
    
@@ -4206,7 +4128,7 @@ void phy_procedures_UE_lte(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,u
      
     if ((subframe_select(&ue->frame_parms,subframe_rx)==SF_DL) ||
 	(ue->frame_parms.frame_type == FDD)) {
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
        
       if (phy_procedures_RN_UE_RX(subframe_rx, subframe_tx, r_type) != 0 )
 #endif
@@ -4220,7 +4142,7 @@ void phy_procedures_UE_lte(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,u
        
     if ((subframe_select(&ue->frame_parms,subframe_rx)==SF_S) &&
 	(slot==0)) {
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 	 
       if (phy_procedures_RN_UE_RX(subframe_rx, subframe_tx, r_type) != 0 )
 #endif
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c b/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c
index 6d3d4cabb35aacee0ce5e3e71bce097751430581..76b72e321f304901ac38c0d0e2cf72fbd3a8c460 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c
+++ b/openair1/SIMULATION/ETH_TRANSPORT/emu_transport.c
@@ -488,7 +488,8 @@ void fill_phy_ue_vars(unsigned int ue_id, uint8_t CC_id,unsigned int last_slot)
     rnti = UE_transport_info[ue_id][CC_id].rnti[n_enb];
     enb_id = UE_transport_info[ue_id][CC_id].eNB_id[n_enb];
 
-    PHY_vars_UE_g[ue_id][CC_id]->pdcch_vars[enb_id]->crnti=rnti;
+    PHY_vars_UE_g[ue_id][CC_id]->pdcch_vars[0][enb_id]->crnti=rnti;
+    PHY_vars_UE_g[ue_id][CC_id]->pdcch_vars[1][enb_id]->crnti=rnti;
 
     harq_pid = UE_transport_info[ue_id][CC_id].harq_pid[n_enb];
 
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim.c b/openair1/SIMULATION/LTE_PHY/dlsim.c
index ddc108a7c8491e9d4d234982cb911620b4f2bbf7..aa8e9360eaba031b2da454ffa882e76c5f144108 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim.c
@@ -57,6 +57,8 @@
 PHY_VARS_eNB *eNB;
 PHY_VARS_UE *UE;
 
+double cpuf;
+
 int otg_enabled=0;
 /*the following parameters are used to control the processing times calculations*/
 double t_tx_max = -1000000000; /*!< \brief initial max process time for tx */
@@ -268,7 +270,7 @@ void fill_DCI(PHY_VARS_eNB *eNB,
 	      int *num_dci) {
 
   int k;
-  int dci_length,dci_length_bytes;
+  int dci_length = -1,dci_length_bytes = -1;
 
   //  printf("Generating DCIs for %d users, TM %d, mcs1 %d\n",n_users,transmission_mode,mcs1);
   for(k=0; k<n_users; k++) {
@@ -1225,12 +1227,13 @@ DCI_PDU *get_dci_sdu(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_t
     DCI_pdu.Num_ue_spec_dci   = num_ue_spec_dci;
     DCI_pdu.Num_common_dci    = num_common_dci;
     DCI_pdu.num_pdcch_symbols = num_pdcch_symbols;
-    return(&DCI_pdu);
   } else {
     DCI_pdu.Num_ue_spec_dci   = 0;
     DCI_pdu.Num_common_dci    = 0;
     DCI_pdu.num_pdcch_symbols = num_pdcch_symbols;
   }
+
+  return &DCI_pdu;
 }
 
 void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, uint8_t cooperation_flag, frame_t frameP, sub_frame_t subframeP) {
@@ -1266,7 +1269,7 @@ int main(int argc, char **argv)
 
   int s,Kr,Kr_bytes;
 
-  double SNR,snr0=-2.0,snr1,rate;
+  double SNR,snr0=-2.0,snr1,rate = 0;
   double snr_step=1,input_snr_step=1, snr_int=30;
 
   LTE_DL_FRAME_PARMS *frame_parms;
@@ -1296,10 +1299,10 @@ int main(int argc, char **argv)
   DCI_ALLOC_t *dci_alloc = &DCI_pdu.dci_alloc[0];
 
   unsigned int ret;
-  unsigned int coded_bits_per_codeword=0,nsymb,tbs=0;
+  unsigned int coded_bits_per_codeword=0,nsymb; //,tbs=0;
 
   unsigned int tx_lev=0,tx_lev_dB=0,trials,errs[4]= {0,0,0,0},errs2[4]= {0,0,0,0},round_trials[4]= {0,0,0,0},dci_errors=0;//,num_layers;
-  int re_allocated;
+  //int re_allocated;
   char fname[32],vname[32];
   FILE *bler_fd;
   char bler_fname[256];
@@ -1326,16 +1329,16 @@ int main(int argc, char **argv)
   int n_frames;
   int n_ch_rlz = 1;
   channel_desc_t *eNB2UE[4];
-  uint8_t num_pdcch_symbols_2=0;
+  //uint8_t num_pdcch_symbols_2=0;
   uint8_t rx_sample_offset = 0;
   //char stats_buffer[4096];
   //int len;
   uint8_t num_rounds = 4;//,fix_rounds=0;
 
-  int u;
+  //int u;
   int n=0;
   int abstx=0;
-  int iii;
+  //int iii;
 
   int ch_realization;
   int pmi_feedback=0;
@@ -1344,7 +1347,7 @@ int main(int argc, char **argv)
   // void *data;
   // int ii;
   //  int bler;
-  double blerr[4],uncoded_ber,avg_ber;
+  double blerr[4],uncoded_ber; //,avg_ber;
   short *uncoded_ber_bit=NULL;
   uint8_t N_RB_DL=25,osf=1;
   frame_t frame_type = FDD;
@@ -1353,7 +1356,7 @@ int main(int argc, char **argv)
   char title[255];
 
   int numCCE=0;
-  int dci_length_bytes=0,dci_length=0;
+  //int dci_length_bytes=0,dci_length=0;
   //double channel_bandwidth = 5.0, sampling_rate=7.68;
   int common_flag=0,TPC=0;
 
@@ -1389,7 +1392,7 @@ int main(int argc, char **argv)
   char csv_fname[32];
   int dci_flag=1;
   int two_thread_flag=0;
-  int DLSCH_RB_ALLOC;
+  int DLSCH_RB_ALLOC = 0;
 
 #if defined(__arm__)
   FILE    *proc_fd = NULL;
@@ -1409,6 +1412,8 @@ int main(int argc, char **argv)
 #endif
   printf("Detected cpu_freq %f GHz\n",cpu_freq_GHz);
 
+  cpuf = cpu_freq_GHz;
+
   //signal(SIGSEGV, handler);
   //signal(SIGABRT, handler);
 
@@ -1824,6 +1829,8 @@ int main(int argc, char **argv)
   }
   else {
     eNB->te = dlsch_encoding_2threads;
+    extern void init_td_thread(PHY_VARS_eNB *, pthread_attr_t *);
+    extern void init_te_thread(PHY_VARS_eNB *, pthread_attr_t *);
     init_td_thread(eNB,NULL);
     init_te_thread(eNB,NULL);
   }
@@ -1991,7 +1998,7 @@ int main(int argc, char **argv)
     }
   */
 
-  UE->pdcch_vars[0]->crnti = n_rnti;
+  UE->pdcch_vars[0][0]->crnti = n_rnti;
 
   // Fill in UL_alloc
   UL_alloc_pdu.type    = 0;
@@ -2182,6 +2189,7 @@ int main(int argc, char **argv)
 
         while ((!feof(input_trch_fd)) && (i<input_buffer_length0<<3)) {
           ret=fscanf(input_trch_fd,"%s",input_trch_val);
+          if (ret != 1) printf("ERROR: error reading file\n");
 
           if (input_trch_val[0] == '1')
             input_buffer0[k][i>>3]+=(1<<(7-(i&7)));
@@ -2259,7 +2267,8 @@ int main(int argc, char **argv)
       reset_meas(&UE->dlsch_channel_estimation_stats);
       reset_meas(&UE->dlsch_freq_offset_estimation_stats);
       reset_meas(&UE->rx_dft_stats);
-      reset_meas(&UE->dlsch_decoding_stats);
+      reset_meas(&UE->dlsch_decoding_stats[0]);
+      reset_meas(&UE->dlsch_decoding_stats[1]);
       reset_meas(&UE->dlsch_turbo_decoding_stats);
       reset_meas(&UE->dlsch_deinterleaving_stats);
       reset_meas(&UE->dlsch_rate_unmatching_stats);
@@ -2543,16 +2552,16 @@ int main(int argc, char **argv)
 
 	    //pdsch_vars
 
-	    dump_dlsch2(UE,eNB_id,subframe,coded_bits_per_codeword,round, UE->dlsch[subframe&0x1][0][0]->current_harq_pid);
+	    dump_dlsch2(UE,eNB_id,subframe,&coded_bits_per_codeword,round, UE->dlsch[subframe&0x1][0][0]->current_harq_pid);
 
 	    write_output("dlsch_e.m","e",eNB->dlsch[0][0]->harq_processes[0]->e,coded_bits_per_codeword,1,4);
 
 	    //pdcch_vars
-	    write_output("pdcchF0_ext.m","pdcchF_ext", UE->pdcch_vars[eNB_id]->rxdataF_ext[0],2*3*UE->frame_parms.ofdm_symbol_size,1,1);
-	    write_output("pdcch00_ch0_ext.m","pdcch00_ch0_ext",UE->pdcch_vars[eNB_id]->dl_ch_estimates_ext[0],300*3,1,1);
+	    write_output("pdcchF0_ext.m","pdcchF_ext", UE->pdcch_vars[0][eNB_id]->rxdataF_ext[0],2*3*UE->frame_parms.ofdm_symbol_size,1,1);
+	    write_output("pdcch00_ch0_ext.m","pdcch00_ch0_ext",UE->pdcch_vars[0][eNB_id]->dl_ch_estimates_ext[0],300*3,1,1);
 
-	    write_output("pdcch_rxF_comp0.m","pdcch0_rxF_comp0",UE->pdcch_vars[eNB_id]->rxdataF_comp[0],4*300,1,1);
-	    write_output("pdcch_rxF_llr.m","pdcch_llr",UE->pdcch_vars[eNB_id]->llr,2400,1,4);
+	    write_output("pdcch_rxF_comp0.m","pdcch0_rxF_comp0",UE->pdcch_vars[0][eNB_id]->rxdataF_comp[0],4*300,1,1);
+	    write_output("pdcch_rxF_llr.m","pdcch_llr",UE->pdcch_vars[0][eNB_id]->llr,2400,1,4);
 
 	  }
 
@@ -2644,7 +2653,7 @@ int main(int argc, char **argv)
               }
 
               //pdsch_vars
-              dump_dlsch2(UE,eNB_id,subframe,coded_bits_per_codeword,round, UE->dlsch[subframe&0x1][0][0]->current_harq_pid);
+              dump_dlsch2(UE,eNB_id,subframe,&coded_bits_per_codeword,round, UE->dlsch[subframe&0x1][0][0]->current_harq_pid);
 
 
               //write_output("dlsch_e.m","e",eNB->dlsch[0][0]->harq_processes[0]->e,coded_bits_per_codeword,1,4);
@@ -2652,11 +2661,11 @@ int main(int argc, char **argv)
               //write_output("dlsch_w.m","w",eNB->dlsch[0][0]->harq_processes[0]->w[0],3*(tbs+64),1,4);
               //write_output("dlsch_w.m","w",UE->dlsch[subframe&0x1][0][0]->harq_processes[0]->w[0],3*(tbs+64),1,0);
 	      //pdcch_vars
-	      write_output("pdcchF0_ext.m","pdcchF_ext", UE->pdcch_vars[eNB_id]->rxdataF_ext[0],2*3*UE->frame_parms.ofdm_symbol_size,1,1);
-	      write_output("pdcch00_ch0_ext.m","pdcch00_ch0_ext",UE->pdcch_vars[eNB_id]->dl_ch_estimates_ext[0],300*3,1,1);
+	      write_output("pdcchF0_ext.m","pdcchF_ext", UE->pdcch_vars[0][eNB_id]->rxdataF_ext[0],2*3*UE->frame_parms.ofdm_symbol_size,1,1);
+	      write_output("pdcch00_ch0_ext.m","pdcch00_ch0_ext",UE->pdcch_vars[0][eNB_id]->dl_ch_estimates_ext[0],300*3,1,1);
 
-	      write_output("pdcch_rxF_comp0.m","pdcch0_rxF_comp0",UE->pdcch_vars[eNB_id]->rxdataF_comp[0],4*300,1,1);
-	      write_output("pdcch_rxF_llr.m","pdcch_llr",UE->pdcch_vars[eNB_id]->llr,2400,1,4);
+	      write_output("pdcch_rxF_comp0.m","pdcch0_rxF_comp0",UE->pdcch_vars[0][eNB_id]->rxdataF_comp[0],4*300,1,1);
+	      write_output("pdcch_rxF_llr.m","pdcch_llr",UE->pdcch_vars[0][eNB_id]->llr,2400,1,4);
 
               if (round == 3) exit(-1);
             }
@@ -2708,7 +2717,7 @@ int main(int argc, char **argv)
         double t_rx = (double)UE->phy_proc_rx[subframe&0x1].p_time/cpu_freq_GHz/1000.0;
         double t_rx_fft = (double)UE->ofdm_demod_stats.p_time/cpu_freq_GHz/1000.0;
         double t_rx_demod = (double)UE->dlsch_rx_pdcch_stats.p_time/cpu_freq_GHz/1000.0;
-        double t_rx_dec = (double)UE->dlsch_decoding_stats.p_time/cpu_freq_GHz/1000.0;
+        double t_rx_dec = (double)UE->dlsch_decoding_stats[subframe&1].p_time/cpu_freq_GHz/1000.0;
 
         if (t_tx > t_tx_max)
           t_tx_max = t_tx;
@@ -2921,12 +2930,12 @@ int main(int argc, char **argv)
         printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_rx_demod, rx_demod_median, rx_demod_q1, rx_demod_q3);
         printf("DLSCH unscrambling time                             :%f us (%d trials)\n",(double)UE->dlsch_unscrambling_stats.diff/UE->dlsch_unscrambling_stats.trials/cpu_freq_GHz/1000.0,
                UE->dlsch_unscrambling_stats.trials);
-        std_phy_proc_rx_dec = sqrt((double)UE->dlsch_decoding_stats.diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                                   2)/UE->dlsch_decoding_stats.trials - pow((double)UE->dlsch_decoding_stats.diff/UE->dlsch_decoding_stats.trials/cpu_freq_GHz/1000,2));
+        std_phy_proc_rx_dec = sqrt((double)UE->dlsch_decoding_stats[subframe&1].diff_square/pow(cpu_freq_GHz,2)/pow(1000,
+                                   2)/UE->dlsch_decoding_stats[subframe&1].trials - pow((double)UE->dlsch_decoding_stats[subframe&1].diff/UE->dlsch_decoding_stats[subframe&1].trials/cpu_freq_GHz/1000,2));
         printf("DLSCH Decoding time (%02.2f Mbit/s, avg iter %1.2f)    :%f us (%d trials, max %f)\n",
                eNB->dlsch[0][0]->harq_processes[0]->TBS/1000.0,(double)avg_iter/iter_trials,
-               (double)UE->dlsch_decoding_stats.diff/UE->dlsch_decoding_stats.trials/cpu_freq_GHz/1000.0,UE->dlsch_decoding_stats.trials,
-               (double)UE->dlsch_decoding_stats.max/cpu_freq_GHz/1000.0);
+               (double)UE->dlsch_decoding_stats[subframe&1].diff/UE->dlsch_decoding_stats[subframe&1].trials/cpu_freq_GHz/1000.0,UE->dlsch_decoding_stats[subframe&1].trials,
+               (double)UE->dlsch_decoding_stats[subframe&1].max/cpu_freq_GHz/1000.0);
         printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_rx_dec, rx_dec_median, rx_dec_q1, rx_dec_q3);
         printf("|__ DLSCH Rate Unmatching                               :%f us (%d trials)\n",
                (double)UE->dlsch_rate_unmatching_stats.diff/UE->dlsch_rate_unmatching_stats.trials/cpu_freq_GHz/1000.0,UE->dlsch_rate_unmatching_stats.trials);
@@ -3114,7 +3123,7 @@ int main(int argc, char **argv)
                 UE->dlsch_rx_pdcch_stats.trials,
                 UE->dlsch_llr_stats.trials,
                 UE->dlsch_unscrambling_stats.trials,
-                UE->dlsch_decoding_stats.trials
+                UE->dlsch_decoding_stats[subframe&1].trials
                );
         fprintf(time_meas_fd,"%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;",
                 get_time_meas_us(&eNB->phy_proc_tx),
@@ -3127,7 +3136,7 @@ int main(int argc, char **argv)
                 get_time_meas_us(&UE->dlsch_rx_pdcch_stats),
                 3*get_time_meas_us(&UE->dlsch_llr_stats),
                 get_time_meas_us(&UE->dlsch_unscrambling_stats),
-                get_time_meas_us(&UE->dlsch_decoding_stats)
+                get_time_meas_us(&UE->dlsch_decoding_stats[subframe&1])
                );
         //fprintf(time_meas_fd,"eNB_PROC_TX_STD;eNB_PROC_TX_MAX;eNB_PROC_TX_MIN;eNB_PROC_TX_MED;eNB_PROC_TX_Q1;eNB_PROC_TX_Q3;eNB_PROC_TX_DROPPED;\n");
         fprintf(time_meas_fd,"%f;%f;%f;%f;%f;%f;%d;", std_phy_proc_tx, t_tx_max, t_tx_min, tx_median, tx_q1, tx_q3, n_tx_dropped);
@@ -3167,7 +3176,7 @@ int main(int argc, char **argv)
         UE->dlsch_rx_pdcch_stats.trials,
         UE->dlsch_llr_stats.trials,
         UE->dlsch_unscrambling_stats.trials,
-        UE->dlsch_decoding_stats.trials);
+        UE->dlsch_decoding_stats[subframe&1].trials);
         */
         printf("[passed] effective rate : %f  (%2.1f%%,%f)): log and break \n",rate*effective_rate, 100*effective_rate, rate );
         break;
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
index b45bfdf324ea2a0eac62118f48ea07427832994c..57742c5e13e4ec8d1f7fe13e0fe069a7ce1238c4 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
@@ -68,6 +68,7 @@ extern uint8_t interf_unaw_shift;
 PHY_VARS_eNB *eNB;
 PHY_VARS_UE *UE;
 
+double cpuf;
 
 int otg_enabled=0;
 /*the following parameters are used to control the processing times calculations*/
@@ -296,8 +297,6 @@ int main(int argc, char **argv)
 
   int threequarter_fs=0;
 
-
-
   opp_enabled=1; // to enable the time meas
 
 #if defined(__arm__)
@@ -316,6 +315,8 @@ int main(int argc, char **argv)
 #else
   cpu_freq_GHz = get_cpu_freq_GHz();
 #endif
+  cpuf = cpu_freq_GHz;
+
   printf("Detected cpu_freq %f GHz\n",cpu_freq_GHz);
 
   //signal(SIGSEGV, handler);
@@ -867,7 +868,7 @@ int main(int argc, char **argv)
     //    bzero(r_im0[i],FRAME_LENGTH_COMPLEX_SAMPLES*sizeof(double));
   }
 
-  UE->pdcch_vars[0]->crnti = n_rnti;
+  UE->pdcch_vars[subframe&0x1][0]->crnti = n_rnti;
   UE->transmission_mode[eNB_id]=transmission_mode;
   if (UE->transmission_mode[eNB_id] !=4)
       UE->measurements.rank[eNB_id]=0;
@@ -2087,7 +2088,8 @@ int main(int argc, char **argv)
       reset_meas(&UE->dlsch_freq_offset_estimation_stats);
       reset_meas(&UE->rx_dft_stats);
       reset_meas(&UE->dlsch_llr_stats);
-      reset_meas(&UE->dlsch_decoding_stats);
+      reset_meas(&UE->dlsch_decoding_stats[0]);
+      reset_meas(&UE->dlsch_decoding_stats[1]);
       reset_meas(&UE->dlsch_turbo_decoding_stats);
       reset_meas(&UE->dlsch_deinterleaving_stats);
       reset_meas(&UE->dlsch_rate_unmatching_stats);
@@ -3488,9 +3490,7 @@ int main(int argc, char **argv)
                   UE->UE_mode[0] = PUSCH;
                   start_meas(&UE->dlsch_rx_pdcch_stats);
 
-                   rx_pdcch(&UE->common_vars,
-                           UE->pdcch_vars,
-                           &UE->frame_parms,
+                   rx_pdcch(UE,
                            trials,
                            subframe,
                            0,
@@ -3500,7 +3500,7 @@ int main(int argc, char **argv)
 
                   stop_meas(&UE->dlsch_rx_pdcch_stats);
                   // overwrite number of pdcch symbols
-                  UE->pdcch_vars[0]->num_pdcch_symbols = num_pdcch_symbols;
+                  UE->pdcch_vars[subframe&0x1][0]->num_pdcch_symbols = num_pdcch_symbols;
 
                   dci_cnt = dci_decoding_procedure(UE,
                                                    dci_alloc_rx,1,
@@ -3544,14 +3544,14 @@ int main(int argc, char **argv)
                                                            0,
                                                            P_RNTI,
                                                            transmission_mode<7?0:transmission_mode,
-                                                           UE->pdcch_vars[0]->crnti_is_temporary? UE->pdcch_vars[0]->crnti: 0)==0)) {
+                                                           UE->pdcch_vars[subframe&0x1][0]->crnti_is_temporary? UE->pdcch_vars[subframe&0x1][0]->crnti: 0)==0)) {
                       dump_dci(&UE->frame_parms,&dci_alloc_rx[i]);
                       coded_bits_per_codeword[0]= get_G(&eNB->frame_parms,
                                                       UE->dlsch[subframe&0x1][0][0]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->nb_rb,
                                                       UE->dlsch[subframe&0x1][0][0]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->rb_alloc_even,
                                                       get_Qm(UE->dlsch[subframe&0x1][0][0]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->mcs),
                                                       UE->dlsch[subframe&0x1][0][0]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->Nl,
-                                                      UE->pdcch_vars[0]->num_pdcch_symbols,
+                                                      UE->pdcch_vars[subframe&0x1][0]->num_pdcch_symbols,
                                                       0,
                                                       subframe,
                                                       transmission_mode>=7?transmission_mode:0);
@@ -3561,7 +3561,7 @@ int main(int argc, char **argv)
                                                       UE->dlsch[subframe&0x1][0][1]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->rb_alloc_even,
                                                       get_Qm(UE->dlsch[subframe&0x1][0][1]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->mcs),
                                                       UE->dlsch[subframe&0x1][0][1]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->Nl,
-                                                      UE->pdcch_vars[1]->num_pdcch_symbols,
+                                                      UE->pdcch_vars[subframe&0x1][1]->num_pdcch_symbols,
                                                       0,
                                                       subframe,
                                                       transmission_mode>=7?transmission_mode:0);
@@ -3570,7 +3570,7 @@ int main(int argc, char **argv)
                       rate = (double)dlsch_tbs25[get_I_TBS(UE->dlsch[subframe&0x1][0][0]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->mcs)][UE->dlsch[subframe&0x1][0][0]->nb_rb-1]/(coded_bits_per_codeword);
                       rate*=get_Qm(UE->dlsch[subframe&0x1][0][0]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->mcs);
                       */
-                      printf("num_pdcch_symbols %d, G %d, TBS %d\n",UE->pdcch_vars[0]->num_pdcch_symbols,coded_bits_per_codeword [0],UE->dlsch[subframe&0x1][0][0]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->TBS);
+                      printf("num_pdcch_symbols %d, G %d, TBS %d\n",UE->pdcch_vars[subframe&0x1][0]->num_pdcch_symbols,coded_bits_per_codeword [0],UE->dlsch[subframe&0x1][0][0]->harq_processes[UE->dlsch[subframe&0x1][0][0]->current_harq_pid]->TBS);
 
                       dlsch_active = 1; // what does it indicates???
                     } else {
@@ -3591,8 +3591,8 @@ int main(int argc, char **argv)
                       }
                   }
                   } else { //dci_flag == 0
-                      UE->pdcch_vars[0]->crnti = n_rnti;
-                      UE->pdcch_vars[0]->num_pdcch_symbols = num_pdcch_symbols;
+                      UE->pdcch_vars[subframe&0x1][0]->crnti = n_rnti;
+                      UE->pdcch_vars[subframe&0x1][0]->num_pdcch_symbols = num_pdcch_symbols;
                       if (round == 0) {
                         UE->dlsch[subframe&0x1][0][0]->harq_processes[0]->first_tx=1;
                         UE->dlsch[subframe&0x1][0][1]->harq_processes[0]->first_tx=1;
@@ -3613,7 +3613,7 @@ int main(int argc, char **argv)
                                                           0,
                                                           P_RNTI,
                                                           transmission_mode<7?0:transmission_mode,
-                                                          UE->pdcch_vars[0]->crnti_is_temporary? UE->pdcch_vars[0]->crnti: 0);
+                                                          UE->pdcch_vars[subframe&0x1][0]->crnti_is_temporary? UE->pdcch_vars[subframe&0x1][0]->crnti: 0);
                         break;
                       case 3:
 
@@ -3631,7 +3631,7 @@ int main(int argc, char **argv)
                                                           0,
                                                           P_RNTI,
                                                           transmission_mode<7?0:transmission_mode,
-                                                          UE->pdcch_vars[0]->crnti_is_temporary? UE->pdcch_vars[0]->crnti: 0);
+                                                          UE->pdcch_vars[subframe&0x1][0]->crnti_is_temporary? UE->pdcch_vars[subframe&0x1][0]->crnti: 0);
                         //printf("Rate: TM3 (after) round %d (%d) first_tx %d\n",round,UE->dlsch[subframe&0x1][0][0]->harq_processes[0]->round,UE->dlsch[subframe&0x1][0][0]->harq_processes[0]->first_tx);
                         break;
                       case 4:
@@ -3647,7 +3647,7 @@ int main(int argc, char **argv)
                                                           0,
                                                           P_RNTI,
                                                           transmission_mode<7?0:transmission_mode,
-                                                          UE->pdcch_vars[0]->crnti_is_temporary? UE->pdcch_vars[0]->crnti: 0);
+                                                          UE->pdcch_vars[subframe&0x1][0]->crnti_is_temporary? UE->pdcch_vars[subframe&0x1][0]->crnti: 0);
 
                         break;
                       case 5:
@@ -3664,7 +3664,7 @@ int main(int argc, char **argv)
                                                           0,
                                                           P_RNTI,
                                                           transmission_mode<7?0:transmission_mode,
-                                                          UE->pdcch_vars[0]->crnti_is_temporary? UE->pdcch_vars[0]->crnti: 0);
+                                                          UE->pdcch_vars[subframe&0x1][0]->crnti_is_temporary? UE->pdcch_vars[subframe&0x1][0]->crnti: 0);
                         break;
                       }
                       dlsch_active = 1;
@@ -3690,7 +3690,7 @@ int main(int argc, char **argv)
 
                   start_meas(&UE->dlsch_llr_stats);
 
-                  for (m=UE->pdcch_vars[0]->num_pdcch_symbols; m<pilot2; m++) {
+                  for (m=UE->pdcch_vars[subframe&0x1][0]->num_pdcch_symbols; m<pilot2; m++) {
                     if (rx_pdsch(UE,
                                  PDSCH,
                                  eNB_id,
@@ -3698,7 +3698,7 @@ int main(int argc, char **argv)
                                  0,
                                  subframe,
                                  m,
-                                 (m==UE->pdcch_vars[0]->num_pdcch_symbols)?1:0,
+                                 (m==UE->pdcch_vars[subframe&0x1][0]->num_pdcch_symbols)?1:0,
                                  rx_type,
                                  i_mod,
                                  UE->dlsch[subframe&0x1][0][0]->current_harq_pid)==-1){
@@ -3849,7 +3849,7 @@ int main(int argc, char **argv)
                                subframe<<1);
             stop_meas(&UE->dlsch_unscrambling_stats);
 
-            start_meas(&UE->dlsch_decoding_stats);
+            start_meas(&UE->dlsch_decoding_stats[subframe&0x1]);
             ret[TB] = dlsch_decoding(UE,
                                      UE->pdsch_vars[subframe&0x1][eNB_id]->llr[UE->dlsch[subframe&0x1][0][TB]->harq_processes[UE->dlsch[subframe&0x1][0][TB]->current_harq_pid]->codeword],
                                      &UE->frame_parms,
@@ -3859,7 +3859,7 @@ int main(int argc, char **argv)
                                     subframe,
                                     UE->dlsch[subframe&0x1][0][TB]->current_harq_pid,
                                     1,llr8_flag);
-            stop_meas(&UE->dlsch_decoding_stats);
+            stop_meas(&UE->dlsch_decoding_stats[subframe&0x1]);
 #ifdef DEBUG_HARQ
             printf("[DLSIM] ret[%d] = %d\n", TB, ret[TB]);
 #endif
@@ -4208,7 +4208,7 @@ int main(int argc, char **argv)
                                    subframe<<1);
                 stop_meas(&UE->dlsch_unscrambling_stats);
 
-                start_meas(&UE->dlsch_decoding_stats);
+                start_meas(&UE->dlsch_decoding_stats[subframe&0x1]);
 
                 ret[1] = dlsch_decoding(UE,
                                         UE->pdsch_vars[subframe&0x1][eNB_id]->llr[UE->dlsch[subframe&0x1][0][1]->harq_processes[UE->dlsch[subframe&0x1][0][1]->current_harq_pid]->codeword],
@@ -4219,7 +4219,7 @@ int main(int argc, char **argv)
                                         subframe,
                                         UE->dlsch[subframe&0x1][0][1]->current_harq_pid,
                                         1,llr8_flag);
-                stop_meas(&UE->dlsch_decoding_stats);
+                stop_meas(&UE->dlsch_decoding_stats[subframe&0x1]);
 
 #ifdef DEBUG_HARQ
                 printf("[DLSIM] Decoding TB1 in SIC: ret[1] = %d,  round sic %d\n", ret[1], round_sic);
@@ -4419,11 +4419,11 @@ int main(int argc, char **argv)
             */
 
             //pdcch_vars
-            write_output("pdcchF0_ext.m","pdcchF_ext", UE->pdcch_vars[eNB_id]->rxdataF_ext[0],2*3*UE->frame_parms.ofdm_symbol_size,1,1);
-            write_output("pdcch00_ch0_ext.m","pdcch00_ch0_ext",UE->pdcch_vars[eNB_id]->dl_ch_estimates_ext[0],300*3,1,1);
+            write_output("pdcchF0_ext.m","pdcchF_ext", UE->pdcch_vars[subframe&0x1][eNB_id]->rxdataF_ext[0],2*3*UE->frame_parms.ofdm_symbol_size,1,1);
+            write_output("pdcch00_ch0_ext.m","pdcch00_ch0_ext",UE->pdcch_vars[subframe&0x1][eNB_id]->dl_ch_estimates_ext[0],300*3,1,1);
 
-            write_output("pdcch_rxF_comp0.m","pdcch0_rxF_comp0",UE->pdcch_vars[eNB_id]->rxdataF_comp[0],4*300,1,1);
-            write_output("pdcch_rxF_llr.m","pdcch_llr",UE->pdcch_vars[eNB_id]->llr,2400,1,4);
+            write_output("pdcch_rxF_comp0.m","pdcch0_rxF_comp0",UE->pdcch_vars[subframe&0x1][eNB_id]->rxdataF_comp[0],4*300,1,1);
+            write_output("pdcch_rxF_llr.m","pdcch_llr",UE->pdcch_vars[subframe&0x1][eNB_id]->llr,2400,1,4);
 
             if (round == 3) exit(-1);
           }
@@ -4534,7 +4534,7 @@ int main(int argc, char **argv)
         double t_rx = (double)UE->phy_proc_rx[subframe&0x1].p_time/cpu_freq_GHz/1000.0;
         double t_rx_fft = (double)UE->ofdm_demod_stats.p_time/cpu_freq_GHz/1000.0;
         double t_rx_demod = (double)UE->dlsch_rx_pdcch_stats.p_time/cpu_freq_GHz/1000.0;
-        double t_rx_dec = (double)UE->dlsch_decoding_stats.p_time/cpu_freq_GHz/1000.0;
+        double t_rx_dec = (double)UE->dlsch_decoding_stats[subframe&0x1].p_time/cpu_freq_GHz/1000.0;
 
 
               if (t_tx > t_tx_max)
@@ -4891,12 +4891,12 @@ int main(int argc, char **argv)
         printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_rx_demod, rx_demod_median, rx_demod_q1, rx_demod_q3);
         printf("DLSCH unscrambling time                             :%f us (%d trials)\n",(double)UE->dlsch_unscrambling_stats.diff/UE->dlsch_unscrambling_stats.trials/cpu_freq_GHz/1000.0,
                UE->dlsch_unscrambling_stats.trials);
-        std_phy_proc_rx_dec = sqrt((double)UE->dlsch_decoding_stats.diff_square/pow(cpu_freq_GHz,2)/pow(1000,
-                                   2)/UE->dlsch_decoding_stats.trials - pow((double)UE->dlsch_decoding_stats.diff/UE->dlsch_decoding_stats.trials/cpu_freq_GHz/1000,2));
+        std_phy_proc_rx_dec = sqrt((double)UE->dlsch_decoding_stats[subframe&0x1].diff_square/pow(cpu_freq_GHz,2)/pow(1000,
+                                   2)/UE->dlsch_decoding_stats[subframe&0x1].trials - pow((double)UE->dlsch_decoding_stats[subframe&0x1].diff/UE->dlsch_decoding_stats[subframe&0x1].trials/cpu_freq_GHz/1000,2));
         printf("DLSCH Decoding time (%02.2f Mbit/s, avg iter %1.2f)    :%f us (%d trials, max %f)\n",
                eNB->dlsch[0][0]->harq_processes[0]->TBS/1000.0,(double)avg_iter[0]/iter_trials[0],
-               (double)UE->dlsch_decoding_stats.diff/UE->dlsch_decoding_stats.trials/cpu_freq_GHz/1000.0,UE->dlsch_decoding_stats.trials,
-               (double)UE->dlsch_decoding_stats.max/cpu_freq_GHz/1000.0);
+               (double)UE->dlsch_decoding_stats[subframe&0x1].diff/UE->dlsch_decoding_stats[subframe&0x1].trials/cpu_freq_GHz/1000.0,UE->dlsch_decoding_stats[subframe&0x1].trials,
+               (double)UE->dlsch_decoding_stats[subframe&0x1].max/cpu_freq_GHz/1000.0);
         printf("|__ Statistcs                           std: %fus median %fus q1 %fus q3 %fus \n",std_phy_proc_rx_dec, rx_dec_median, rx_dec_q1, rx_dec_q3);
         printf("|__ DLSCH Rate Unmatching                               :%f us (%d trials)\n",
                (double)UE->dlsch_rate_unmatching_stats.diff/UE->dlsch_rate_unmatching_stats.trials/cpu_freq_GHz/1000.0,UE->dlsch_rate_unmatching_stats.trials);
@@ -5194,7 +5194,7 @@ int main(int argc, char **argv)
     UE->dlsch_rx_pdcch_stats.trials,
     UE->dlsch_llr_stats.trials,
     UE->dlsch_unscrambling_stats.trials,
-    UE->dlsch_decoding_stats.trials
+    UE->dlsch_decoding_stats[subframe&0x1].trials
     );
   fprintf(time_meas_fd,"%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;",
     get_time_meas_us(&eNB->phy_proc_tx),
@@ -5207,7 +5207,7 @@ int main(int argc, char **argv)
     get_time_meas_us(&UE->dlsch_rx_pdcch_stats),
     3*get_time_meas_us(&UE->dlsch_llr_stats),
     get_time_meas_us(&UE->dlsch_unscrambling_stats),
-    get_time_meas_us(&UE->dlsch_decoding_stats)
+    get_time_meas_us(&UE->dlsch_decoding_stats[subframe&0x1])
     );
   //fprintf(time_meas_fd,"eNB_PROC_TX_STD;eNB_PROC_TX_MAX;eNB_PROC_TX_MIN;eNB_PROC_TX_MED;eNB_PROC_TX_Q1;eNB_PROC_TX_Q3;eNB_PROC_TX_DROPPED;\n");
   fprintf(time_meas_fd,"%f;%f;%f;%f;%f;%f;%d;", std_phy_proc_tx, t_tx_max, t_tx_min, tx_median, tx_q1, tx_q3, n_tx_dropped);
@@ -5247,7 +5247,7 @@ int main(int argc, char **argv)
     UE->dlsch_rx_pdcch_stats.trials,
     UE->dlsch_llr_stats.trials,
     UE->dlsch_unscrambling_stats.trials,
-    UE->dlsch_decoding_stats.trials);
+    UE->dlsch_decoding_stats[subframe&0x1].trials);
     */
     printf("[passed] effective rate : %f  (%2.1f%%,%f)): log and break \n",rate[0]*effective_rate, 100*effective_rate, rate[0]);
     break;
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm7.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
index 6c306d6d46c3c34b8a4de5cb3e6d77eb58070c37..3055e99b07272a4d318787f4b6830b772efd88d8 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
@@ -3504,7 +3504,7 @@ PMI_FEEDBACK:
                                    UE->frame_parms.ofdm_symbol_size*nsymb/2,1,1);
 
                     //pdsch_vars
-                    dump_dlsch2(UE,eNB_id,subframe,coded_bits_per_codeword,round);
+                    dump_dlsch2(UE,eNB_id,subframe,&coded_bits_per_codeword,round);
                     //dump_dlsch2(UE,eNB_id_i,coded_bits_per_codeword);
                     write_output("dlsch_e.m","e",eNB->dlsch[0][0]->harq_processes[0]->e,coded_bits_per_codeword,1,4);
 
@@ -3721,7 +3721,7 @@ PMI_FEEDBACK:
               }
 
               //pdsch_vars
-              dump_dlsch2(UE,eNB_id,subframe,coded_bits_per_codeword,round);
+              dump_dlsch2(UE,eNB_id,subframe,&coded_bits_per_codeword,round);
               /*
               write_output("dlsch_e.m","e",eNB->dlsch[0][0]->harq_processes[0]->e,coded_bits_per_codeword,1,4);
               write_output("dlsch_ber_bit.m","ber_bit",uncoded_ber_bit,coded_bits_per_codeword,1,0);
diff --git a/openair1/SIMULATION/LTE_PHY/mbmssim.c b/openair1/SIMULATION/LTE_PHY/mbmssim.c
index fb2fa506ac20f01aedc334f9283ca4836f75b895..69de4aee9f000337292bff2f6d5c2e5b9f9d3822 100644
--- a/openair1/SIMULATION/LTE_PHY/mbmssim.c
+++ b/openair1/SIMULATION/LTE_PHY/mbmssim.c
@@ -50,6 +50,7 @@
 PHY_VARS_eNB *eNB;
 PHY_VARS_UE *UE;
 
+double cpuf;
 
 DCI1E_5MHz_2A_M10PRB_TDD_t  DLSCH_alloc_pdu2_1E[2];
 #define UL_RB_ALLOC 0x1ff;
@@ -118,6 +119,8 @@ int main(int argc, char **argv)
 #endif
   */
 
+  cpuf = get_cpu_freq_GHz();
+
   logInit();
   number_of_cards = 1;
 
diff --git a/openair1/SIMULATION/LTE_PHY/pbchsim.c b/openair1/SIMULATION/LTE_PHY/pbchsim.c
index 806a206a2bd851800126a929b7a9f51bfa14dec9..f117879d6b49fd43f390d3c9999dae237bc3a492 100644
--- a/openair1/SIMULATION/LTE_PHY/pbchsim.c
+++ b/openair1/SIMULATION/LTE_PHY/pbchsim.c
@@ -50,6 +50,8 @@
 PHY_VARS_eNB *eNB,*eNB1,*eNB2;
 PHY_VARS_UE *UE;
 
+double cpuf;
+
 #define DLSCH_RB_ALLOC 0x1fbf // igore DC component,RB13
 
 int32_t *dummybuf[4];
@@ -116,6 +118,8 @@ int main(int argc, char **argv)
   char title[255];
 #endif
 
+  cpuf = get_cpu_freq_GHz();
+
   logInit();
   number_of_cards = 1;
 
diff --git a/openair1/SIMULATION/LTE_PHY/pdcchsim.c b/openair1/SIMULATION/LTE_PHY/pdcchsim.c
index 1ba79bdb0a4182ff10a2c5ae3609025310704381..4c50aaa5d540ca3c18a7718ff6f904db7844c26d 100644
--- a/openair1/SIMULATION/LTE_PHY/pdcchsim.c
+++ b/openair1/SIMULATION/LTE_PHY/pdcchsim.c
@@ -50,6 +50,7 @@ PHY_VARS_UE *UE;
 #define CCCH_RB_ALLOC computeRIV(eNB->frame_parms.N_RB_UL,0,2)
 #define DLSCH_RB_ALLOC ((uint16_t)0x1fbf) // igore DC component,RB13
 
+double cpuf;
 
 DCI_PDU DCI_pdu;
 
@@ -457,6 +458,8 @@ int main(int argc, char **argv)
 
   number_of_cards = 1;
 
+  cpuf = get_cpu_freq_GHz();
+
   logInit();
 
 
@@ -1085,12 +1088,10 @@ int main(int argc, char **argv)
           //      write_output("H00.m","h00",&(UE->common_vars.dl_ch_estimates[0][0][0]),((frame_parms->Ncp==0)?7:6)*(eNB->frame_parms.ofdm_symbol_size),1,1);
 
           // do PDCCH procedures here
-          UE->pdcch_vars[0]->crnti = n_rnti;
+          UE->pdcch_vars[0][0]->crnti = n_rnti;
 
           //    printf("Doing RX : num_pdcch_symbols at TX %d\n",num_pdcch_symbols);
-          rx_pdcch(&UE->common_vars,
-                   UE->pdcch_vars,
-                   &UE->frame_parms,
+          rx_pdcch(UE,
                    trial,
                    subframe,
                    0,
@@ -1118,7 +1119,7 @@ int main(int argc, char **argv)
           dl_rx=0;
 
           if (n_frames==1)  {
-            numCCE = get_nCCE(UE->pdcch_vars[0]->num_pdcch_symbols, &UE->frame_parms, get_mi(&UE->frame_parms,subframe));
+            numCCE = get_nCCE(UE->pdcch_vars[0][0]->num_pdcch_symbols, &UE->frame_parms, get_mi(&UE->frame_parms,subframe));
 
             for (i = 0; i < dci_cnt; i++)
               printf("dci %d: rnti 0x%x, format %d, L %d, nCCE %d/%d dci_length %d\n",i, dci_alloc_rx[i].rnti, dci_alloc_rx[i].format,
@@ -1167,7 +1168,7 @@ int main(int argc, char **argv)
             //   exit(-1);
           }
 
-          if (UE->pdcch_vars[0]->num_pdcch_symbols != num_pdcch_symbols)
+          if (UE->pdcch_vars[0][0]->num_pdcch_symbols != num_pdcch_symbols)
             n_errors_cfi++;
 
           /*
@@ -1224,9 +1225,9 @@ int main(int argc, char **argv)
     if (n_tx==2)
       write_output("H10.m","h10",&(UE->common_vars.common_vars_rx_data_per_thread[subframe&0x1].dl_ch_estimates[0][2][0]),((frame_parms->Ncp==0)?7:6)*(eNB->frame_parms.ofdm_symbol_size),1,1);
 
-    write_output("pdcch_rxF_ext0.m","pdcch_rxF_ext0",UE->pdcch_vars[eNb_id]->rxdataF_ext[0],3*12*UE->frame_parms.N_RB_DL,1,1);
-    write_output("pdcch_rxF_comp0.m","pdcch0_rxF_comp0",UE->pdcch_vars[eNb_id]->rxdataF_comp[0],4*12*UE->frame_parms.N_RB_DL,1,1);
-    write_output("pdcch_rxF_llr.m","pdcch_llr",UE->pdcch_vars[eNb_id]->llr,2400,1,4);
+    write_output("pdcch_rxF_ext0.m","pdcch_rxF_ext0",UE->pdcch_vars[0][eNb_id]->rxdataF_ext[0],3*12*UE->frame_parms.N_RB_DL,1,1);
+    write_output("pdcch_rxF_comp0.m","pdcch0_rxF_comp0",UE->pdcch_vars[0][eNb_id]->rxdataF_comp[0],4*12*UE->frame_parms.N_RB_DL,1,1);
+    write_output("pdcch_rxF_llr.m","pdcch_llr",UE->pdcch_vars[0][eNb_id]->llr,2400,1,4);
   }
 
   lte_sync_time_free();
diff --git a/openair1/SIMULATION/LTE_PHY/prachsim.c b/openair1/SIMULATION/LTE_PHY/prachsim.c
index 7acc07528c4763cc3e23fb4d34bece13be8c7473..52339cdc5d585c1a20f6276bc680283d6bb46afa 100644
--- a/openair1/SIMULATION/LTE_PHY/prachsim.c
+++ b/openair1/SIMULATION/LTE_PHY/prachsim.c
@@ -45,7 +45,7 @@ PHY_VARS_UE *UE;
 
 #define DLSCH_RB_ALLOC 0x1fbf // igore DC component,RB13
 
-
+double cpuf;
 
 extern uint16_t prach_root_sequence_map0_3[838];
 
@@ -99,6 +99,8 @@ int main(int argc, char **argv)
   int NCS_config = 1,rootSequenceIndex=0;
   int threequarter_fs = 0;
 
+  cpuf = get_cpu_freq_GHz();
+
   logInit();
 
   number_of_cards = 1;
diff --git a/openair1/SIMULATION/LTE_PHY/pucchsim.c b/openair1/SIMULATION/LTE_PHY/pucchsim.c
index 77bfcb18cf68682f2d80f87cd371c92c5e45d25d..d1db3c29e13067486b16e628d5820c58b270f3cc 100644
--- a/openair1/SIMULATION/LTE_PHY/pucchsim.c
+++ b/openair1/SIMULATION/LTE_PHY/pucchsim.c
@@ -47,7 +47,7 @@ PHY_VARS_UE *UE;
 
 #define DLSCH_RB_ALLOC 0x1fbf // igore DC component,RB13
 
-
+double cpuf;
 
 int main(int argc, char **argv)
 {
@@ -101,6 +101,8 @@ int main(int argc, char **argv)
 
   number_of_cards = 1;
 
+  cpuf = get_cpu_freq_GHz();
+
   while ((c = getopt (argc, argv, "har:pf:g:n:s:S:x:y:z:N:F:T:R:")) != -1) {
     switch (c) {
     case 'a':
diff --git a/openair1/SIMULATION/LTE_PHY/syncsim.c b/openair1/SIMULATION/LTE_PHY/syncsim.c
index 6e74f7bc01f2181a09c44dbddf5c522b43a0c710..97a94a1a4323f3bda14401c39425b1c761b6db3b 100644
--- a/openair1/SIMULATION/LTE_PHY/syncsim.c
+++ b/openair1/SIMULATION/LTE_PHY/syncsim.c
@@ -406,7 +406,7 @@ int main(int argc, char **argv)
 
   DCI_ALLOC_t dci_alloc[8],dci_alloc_rx[8];
   uint16_t n_rnti=1234,dci_cnt;
-  uint16_t coded_bits_per_codeword;
+  unsigned int coded_bits_per_codeword;
   double tmp_re,tmp_im,foff,deltaF=0.0,cs,sn;
   uint32_t carrier_freq[4]= {1907600000,1907600000,1907600000,1907600000};
   uint32_t rf_mode[4]     = {55759,55759,55759,55759};
@@ -1739,7 +1739,7 @@ int main(int argc, char **argv)
                                       PHY_vars_UE[0]->lte_ue_pdcch_vars[0]->num_pdcch_symbols,
                                       0);
 
-      dump_dlsch2(PHY_vars_UE[0],0,0,coded_bits_per_codeword);
+      dump_dlsch2(PHY_vars_UE[0],0,0,&coded_bits_per_codeword);
 
     }
   } else {
diff --git a/openair1/SIMULATION/LTE_PHY/ulsim.c b/openair1/SIMULATION/LTE_PHY/ulsim.c
index 470cfc3f87b56a44762142df700825badae8e8d5..f3abbb7e3def69fe995d6ccee869200cb6d1414c 100644
--- a/openair1/SIMULATION/LTE_PHY/ulsim.c
+++ b/openair1/SIMULATION/LTE_PHY/ulsim.c
@@ -42,6 +42,7 @@
 #include "SCHED/vars.h"
 #include "LAYER2/MAC/vars.h"
 #include "OCG_vars.h"
+#include "intertask_interface_init.h"
 
 #include "unitary_defs.h"
 
@@ -50,6 +51,7 @@
 PHY_VARS_eNB *eNB;
 PHY_VARS_UE *UE;
 
+double cpuf;
 
 
 
@@ -162,8 +164,8 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,void *UL_dci,int first_rb,int nb_rb,int mc
 
 }
 
-extern void eNB_fep_full(PHY_VARS_eNB *eNB);
-extern void eNB_fep_full_2thread(PHY_VARS_eNB *eNB);
+extern void eNB_fep_full(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc);
+extern void eNB_fep_full_2thread(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc);
 
 int main(int argc, char **argv)
 {
@@ -195,7 +197,7 @@ int main(int argc, char **argv)
   int chMod = 0 ;
   int UE_id = 0;
   unsigned char nb_rb=25,first_rb=0,mcs=0,round=0,bundling_flag=1;
-  unsigned char l;
+  //unsigned char l;
 
   unsigned char awgn_flag = 0 ;
   SCM_t channel_model=Rice1;
@@ -244,7 +246,7 @@ int main(int argc, char **argv)
   int hold_channel=0;
   channel_desc_t *UE2eNB;
 
-  uint8_t control_only_flag = 0;
+  //uint8_t control_only_flag = 0;
   int delay = 0;
   double maxDoppler = 0.0;
   uint8_t srs_flag = 0;
@@ -280,11 +282,19 @@ int main(int argc, char **argv)
   opp_enabled=1; // to enable the time meas
 
   cpu_freq_GHz = (double)get_cpu_freq_GHz();
+  cpuf = cpu_freq_GHz;
 
   printf("Detected cpu_freq %f GHz\n",cpu_freq_GHz);
 
-
   logInit();
+  /*
+  // enable these lines if you need debug info
+  // however itti will catch all signals, so ctrl-c won't work anymore
+  // alternatively you can disable ITTI completely in CMakeLists.txt
+  itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
+  set_comp_log(PHY,LOG_DEBUG,LOG_MED,1);
+  set_glog(LOG_DEBUG,LOG_MED);
+  */
 
   while ((c = getopt (argc, argv, "hapZEbm:n:Y:X:x:s:w:e:q:d:D:O:c:r:i:f:y:c:oA:C:R:g:N:l:S:T:QB:PI:LF")) != -1) {
     switch (c) {
@@ -566,6 +576,11 @@ int main(int argc, char **argv)
 		 osf,
 		 0);
 
+  // for a call to phy_reset_ue later we need PHY_vars_UE_g allocated and pointing to UE
+  PHY_vars_UE_g = (PHY_VARS_UE***)malloc(sizeof(PHY_VARS_UE**));
+  PHY_vars_UE_g[0] = (PHY_VARS_UE**) malloc(sizeof(PHY_VARS_UE*));
+  PHY_vars_UE_g[0][0] = UE;
+
   if (nb_rb_set == 0)
     nb_rb = eNB->frame_parms.N_RB_UL;
 
@@ -580,8 +595,6 @@ int main(int argc, char **argv)
 
   txdata = UE->common_vars.txdata;
 
-
-
   nsymb = (eNB->frame_parms.Ncp == NORMAL) ? 14 : 12;
 
 
@@ -630,23 +643,31 @@ int main(int argc, char **argv)
     fl_show_form (form_enb->lte_phy_scope_enb, FL_PLACE_HOTSPOT, FL_FULLBORDER, title);
   }
 
-  UE->pdcch_vars[0]->crnti = 14;
+  UE->pdcch_vars[0][0]->crnti = 14;
 
+  UE->frame_parms.soundingrs_ul_config_common.enabled_flag = srs_flag;
   UE->frame_parms.soundingrs_ul_config_common.srs_BandwidthConfig = 2;
-  UE->frame_parms.soundingrs_ul_config_common.srs_SubframeConfig = 7;
+  UE->frame_parms.soundingrs_ul_config_common.srs_SubframeConfig = 3;
+  UE->soundingrs_ul_config_dedicated[eNB_id].srsConfigDedicatedSetup = srs_flag;
+  UE->soundingrs_ul_config_dedicated[eNB_id].duration = 1;
+  UE->soundingrs_ul_config_dedicated[eNB_id].srs_ConfigIndex = 2;
   UE->soundingrs_ul_config_dedicated[eNB_id].srs_Bandwidth = 0;
   UE->soundingrs_ul_config_dedicated[eNB_id].transmissionComb = 0;
   UE->soundingrs_ul_config_dedicated[eNB_id].freqDomainPosition = 0;
+  UE->soundingrs_ul_config_dedicated[eNB_id].cyclicShift = 0;
 
+  eNB->frame_parms.soundingrs_ul_config_common.enabled_flag = srs_flag;
   eNB->frame_parms.soundingrs_ul_config_common.srs_BandwidthConfig = 2;
-  eNB->frame_parms.soundingrs_ul_config_common.srs_SubframeConfig = 7;
-
-  eNB->soundingrs_ul_config_dedicated[UE_id].srs_ConfigIndex = 1;
+  eNB->frame_parms.soundingrs_ul_config_common.srs_SubframeConfig = 3;
+  eNB->soundingrs_ul_config_dedicated[UE_id].srsConfigDedicatedSetup = srs_flag;
+  eNB->soundingrs_ul_config_dedicated[UE_id].duration = 1;
+  eNB->soundingrs_ul_config_dedicated[UE_id].srs_ConfigIndex = 2;
   eNB->soundingrs_ul_config_dedicated[UE_id].srs_Bandwidth = 0;
   eNB->soundingrs_ul_config_dedicated[UE_id].transmissionComb = 0;
   eNB->soundingrs_ul_config_dedicated[UE_id].freqDomainPosition = 0;
+  eNB->soundingrs_ul_config_dedicated[UE_id].cyclicShift = 0;
+
   eNB->cooperation_flag = cooperation_flag;
-  //  eNB->eNB_UE_stats[0].SRS_parameters = UE->SRS_parameters;
 
   eNB->pusch_config_dedicated[UE_id].betaOffset_ACK_Index = beta_ACK;
   eNB->pusch_config_dedicated[UE_id].betaOffset_RI_Index  = beta_RI;
@@ -657,6 +678,11 @@ int main(int argc, char **argv)
 
   UE->ul_power_control_dedicated[eNB_id].deltaMCS_Enabled = 1;
 
+  // disable periodic cqi/ri reporting
+  UE->cqi_report_config[eNB_id].CQI_ReportPeriodic.ri_ConfigIndex = -1;
+  UE->cqi_report_config[eNB_id].CQI_ReportPeriodic.cqi_PMI_ConfigIndex = -1;
+
+
   printf("PUSCH Beta : ACK %f, RI %f, CQI %f\n",(double)beta_ack[beta_ACK]/8,(double)beta_ri[beta_RI]/8,(double)beta_cqi[beta_CQI]/8);
 
   UE2eNB = new_channel_desc_scm(eNB->frame_parms.nb_antennas_tx,
@@ -675,6 +701,8 @@ int main(int argc, char **argv)
   UE->ulsch[0]   = new_ue_ulsch(N_RB_DL,0);
 
   if (parallel_flag == 1) {
+    extern void init_fep_thread(PHY_VARS_eNB *, pthread_attr_t *);
+    extern void init_td_thread(PHY_VARS_eNB *, pthread_attr_t *);
     init_fep_thread(eNB,NULL);
     init_td_thread(eNB,NULL);
   }
@@ -698,8 +726,8 @@ int main(int argc, char **argv)
 
   } 
 
-
-
+  UE->dlsch_SI[0]  = new_ue_dlsch(1,1,1827072,MAX_TURBO_ITERATIONS,N_RB_DL,0);
+  UE->dlsch_ra[0]  = new_ue_dlsch(1,1,1827072,MAX_TURBO_ITERATIONS,N_RB_DL,0);
 
   UE->measurements.rank[0] = 0;
   UE->transmission_mode[0] = 2;
@@ -841,6 +869,7 @@ int main(int argc, char **argv)
 
         while (!feof(input_fdUL)) {
           ret=fscanf(input_fdUL,"%s %s",input_val_str,input_val_str2);//&input_val1,&input_val2);
+          if (ret != 2) printf("ERROR: error reading file\n");
 
           if ((i%4)==0) {
             ((short*)txdata[0])[i/2] = (short)((1<<15)*strtod(input_val_str,NULL));
@@ -915,6 +944,10 @@ int main(int argc, char **argv)
       initialize(&time_vector_rx_dec);
 
       ndi=0;
+
+      phy_reset_ue(0,0,0);
+      UE->UE_mode[eNB_id]=PUSCH;
+
       for (trials = 0; trials<n_frames; trials++) {
         //      printf("*");
         //        UE->frame++;
diff --git a/openair2/COMMON/mac_rrc_primitives.h b/openair2/COMMON/mac_rrc_primitives.h
index c59791c1b62e2deaa2191776a19269a814acc5a7..9a8c363b02a23c5ef8a77761a4fba3b70c146f8f 100644
--- a/openair2/COMMON/mac_rrc_primitives.h
+++ b/openair2/COMMON/mac_rrc_primitives.h
@@ -33,7 +33,7 @@
 #include "RadioResourceConfigCommonSIB.h"
 #include "RadioResourceConfigDedicated.h"
 #include "MeasGapConfig.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "MBSFN-AreaInfoList-r9.h"
 #include "MBSFN-SubframeConfigList.h"
 #endif
@@ -380,7 +380,7 @@ typedef struct {
                             TDD_Config_t *tdd_Config,
                             uint8_t *SIwindowsize,
                             uint16_t *SIperiod
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                             ,
                             MBMS_flag_t MBMS_Flag,
                             struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList,
diff --git a/openair2/COMMON/platform_constants.h b/openair2/COMMON/platform_constants.h
index 6ad9ef078bd5ad42f7951e11abaa7abf5b19a41c..377773b642a4c28dc43e73d77c5bf478e0e0de9e 100644
--- a/openair2/COMMON/platform_constants.h
+++ b/openair2/COMMON/platform_constants.h
@@ -86,7 +86,7 @@
 #define DEFAULT_RAB_ID 1
 
 #define NB_RB_MAX      (maxDRB + 3) /* was 11, now 14, maxDRB comes from asn1_constants.h, + 3 because of 3 SRB, one invisible id 0, then id 1 and 2 */
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 #define NB_RB_MBMS_MAX (maxSessionPerPMCH*maxServiceCount)
 #else
 // Do not allocate unused memory
diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h
index 8a4c27f5ebb913c0d1a07302c879dcedb74fe579..0e3cd844d9ed017ba9e8f7ddd7eea16e27a5d4f2 100644
--- a/openair2/COMMON/rrc_messages_types.h
+++ b/openair2/COMMON/rrc_messages_types.h
@@ -122,7 +122,7 @@ typedef struct RrcConfigurationReq_s {
   long                    pucch_delta_shift[MAX_NUM_CCs];
   long                    pucch_nRB_CQI[MAX_NUM_CCs];
   long                    pucch_nCS_AN[MAX_NUM_CCs];
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
   long                    pucch_n1_AN[MAX_NUM_CCs];
 #endif
   long                    pdsch_referenceSignalPower[MAX_NUM_CCs];
diff --git a/openair2/ENB_APP/enb_app.c b/openair2/ENB_APP/enb_app.c
index 60415aad868e3a8807172e9077a17b2eafb4ee6a..de0d0490aaba8f5f15f534a6cc596caa61046073 100644
--- a/openair2/ENB_APP/enb_app.c
+++ b/openair2/ENB_APP/enb_app.c
@@ -151,7 +151,7 @@ static void configure_rrc(uint32_t enb_id, const Enb_properties_array_t *enb_pro
     RRC_CONFIGURATION_REQ (msg_p).pucch_delta_shift[CC_id]                        = enb_properties->properties[enb_id]->pucch_delta_shift[CC_id];
     RRC_CONFIGURATION_REQ (msg_p).pucch_nRB_CQI[CC_id]                            = enb_properties->properties[enb_id]->pucch_nRB_CQI[CC_id];
     RRC_CONFIGURATION_REQ (msg_p).pucch_nCS_AN[CC_id]                             = enb_properties->properties[enb_id]->pucch_nCS_AN[CC_id];
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
     RRC_CONFIGURATION_REQ (msg_p).pucch_n1_AN[CC_id]                              = enb_properties->properties[enb_id]->pucch_n1_AN[CC_id];
 #endif
 
diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c
index 36b9e039356bf6e7da931a5a67709290fcd39ac6..153c89b3e2b2d4fb63461151b155b7607e66666d 100644
--- a/openair2/ENB_APP/enb_config.c
+++ b/openair2/ENB_APP/enb_config.c
@@ -115,7 +115,7 @@
 #define ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT                         "pucch_delta_shift"
 #define ENB_CONFIG_STRING_PUCCH_NRB_CQI                                 "pucch_nRB_CQI"
 #define ENB_CONFIG_STRING_PUCCH_NCS_AN                                  "pucch_nCS_AN"
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
 #define ENB_CONFIG_STRING_PUCCH_N1_AN                                 "pucch_n1_AN"
 #endif
 #define ENB_CONFIG_STRING_PDSCH_RS_EPRE                                 "pdsch_referenceSignalPower"
@@ -418,7 +418,7 @@ void enb_config_display(void)
       printf( "\tpucch_delta_shift for CC %d:\t%ld:\n",j,enb_properties.properties[i]->pucch_delta_shift[j]);
       printf( "\tpucch_nRB_CQI for CC %d:\t%ld:\n",j,enb_properties.properties[i]->pucch_nRB_CQI[j]);
       printf( "\tpucch_nCS_AN for CC %d:\t%ld:\n",j,enb_properties.properties[i]->pucch_nCS_AN[j]);
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
       printf( "\tpucch_n1_AN for CC %d:\t%ld:\n",j,enb_properties.properties[i]->pucch_n1_AN[j]);
 #endif
 
@@ -427,7 +427,7 @@ void enb_config_display(void)
 
       if (enb_properties.properties[i]->srs_enable[j]) {
         printf( "\tsrs_BandwidthConfig for CC %d:\t%ld:\n",j,enb_properties.properties[i]->srs_BandwidthConfig[j]);
-        printf( "\tsrs_BandwidthConfig for CC %d:\t%ld:\n",j,enb_properties.properties[i]->srs_SubframeConfig[j]);
+        printf( "\tsrs_SubframeConfig for CC %d:\t%ld:\n",j,enb_properties.properties[i]->srs_SubframeConfig[j]);
         printf( "\tsrs_ackNackST for CC %d:\t%d:\n",j,enb_properties.properties[i]->srs_ackNackST[j]);
         printf( "\tsrs_MaxUpPts for CC %d:\t%d:\n",j,enb_properties.properties[i]->srs_MaxUpPts[j]);
       }
@@ -589,7 +589,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
   libconfig_int     pucch_delta_shift             = 0;
   libconfig_int     pucch_nRB_CQI                 = 0;
   libconfig_int     pucch_nCS_AN                  = 0;
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
   libconfig_int     pucch_n1_AN                   = 0;
 #endif
   libconfig_int     pdsch_referenceSignalPower    = 0;
@@ -868,7 +868,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTA_SHIFT, &pucch_delta_shift)
                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_NRB_CQI, &pucch_nRB_CQI)
                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_NCS_AN, &pucch_nCS_AN)
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PUCCH_N1_AN, &pucch_n1_AN)
 #endif
                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PDSCH_RS_EPRE, &pdsch_referenceSignalPower)
@@ -913,7 +913,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N311,  &ue_TimersAndConstants_n311)
                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE,  &ue_TransmissionMode)
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
 #endif
                   )) {
@@ -1162,7 +1162,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
                              "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n",
                              lib_config_file_name_pP, i, pucch_nCS_AN);
 
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
               enb_properties.properties[enb_properties_index]->pucch_n1_AN[j] = pucch_n1_AN;
 
               if ((pucch_n1_AN <0) || (pucch_n1_AN > 2047))
@@ -1347,21 +1347,21 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
                              lib_config_file_name_pP, i, pusch_p0_Nominal);
 
               if (strcmp(pusch_alpha,"AL0")==0) {
-                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al0;
+                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al0;
               } else if (strcmp(pusch_alpha,"AL04")==0) {
-                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al04;
+                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al04;
               } else if (strcmp(pusch_alpha,"AL05")==0) {
-                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al05;
+                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al05;
               } else if (strcmp(pusch_alpha,"AL06")==0) {
-                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al06;
+                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al06;
               } else if (strcmp(pusch_alpha,"AL07")==0) {
-                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al07;
+                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al07;
               } else if (strcmp(pusch_alpha,"AL08")==0) {
-                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al08;
+                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al08;
               } else if (strcmp(pusch_alpha,"AL09")==0) {
-                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al09;
+                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al08;
               } else if (strcmp(pusch_alpha,"AL1")==0) {
-                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = UplinkPowerControlCommon__alpha_al1;
+                enb_properties.properties[enb_properties_index]->pusch_alpha[j] = Alpha_r12_al1;
               } else
                 AssertFatal (0,
                              "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_Alpha choice: AL0,AL04,AL05,AL06,AL07,AL08,AL09,AL1!\n",
@@ -1553,47 +1553,47 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
 
               switch (rach_preambleTransMax) {
               case 3:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n3;
                 break;
 
               case 4:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n4;
                 break;
 
               case 5:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n5;
                 break;
 
               case 6:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n6;
                 break;
 
               case 7:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n7;
                 break;
 
               case 8:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n8;
                 break;
 
               case 10:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n10;
                 break;
 
               case 20:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n20;
                 break;
 
               case 50:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n50;
                 break;
 
               case 100:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n100;
                 break;
 
               case 200:
-                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200;
+                enb_properties.properties[enb_properties_index]->rach_preambleTransMax[j] =  PreambleTransMax_n200;
                 break;
 
               default:
diff --git a/openair2/ENB_APP/enb_config.h b/openair2/ENB_APP/enb_config.h
index 343a3c26eca4aed292262811884700f17d84c4d4..a508a82e1f627b94c16f6ff5d69cccfe20c2da91 100644
--- a/openair2/ENB_APP/enb_config.h
+++ b/openair2/ENB_APP/enb_config.h
@@ -154,7 +154,7 @@ typedef struct Enb_properties_s {
   long                    pucch_delta_shift[1+MAX_NUM_CCs];
   long                    pucch_nRB_CQI[1+MAX_NUM_CCs];
   long                    pucch_nCS_AN[1+MAX_NUM_CCs];
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
   long                    pucch_n1_AN[1+MAX_NUM_CCs];
 #endif
   long                    pdsch_referenceSignalPower[1+MAX_NUM_CCs];
diff --git a/openair2/LAYER2/MAC/config.c b/openair2/LAYER2/MAC/config.c
index b5d613e4ae4d8e392602a64d4a03cd8752d2e990..12dbeecf16fcc7431953e46dc58fbefa80409664 100644
--- a/openair2/LAYER2/MAC/config.c
+++ b/openair2/LAYER2/MAC/config.c
@@ -42,7 +42,7 @@
 #include "extern.h"
 #include "UTIL/LOG/log.h"
 #include "UTIL/LOG/vcd_signal_dumper.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "MBSFN-AreaInfoList-r9.h"
 #include "MBSFN-AreaInfo-r9.h"
 #include "MBSFN-SubframeConfigList.h"
@@ -93,7 +93,7 @@ rrc_mac_config_req(
   uint8_t                          eNB_index,
                        RadioResourceConfigCommonSIB_t  *radioResourceConfigCommon,
                        struct PhysicalConfigDedicated  *physicalConfigDedicated,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                        SCellToAddMod_r10_t *sCellToAddMod_r10,
                        //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
@@ -110,7 +110,7 @@ rrc_mac_config_req(
                        long                            *ul_Bandwidth,
                        AdditionalSpectrumEmission_t    *additionalSpectrumEmission,
                        struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                        ,uint8_t                              MBMS_Flag,
                        MBSFN_AreaInfoList_r9_t         *mbsfn_AreaInfoList,
                        PMCH_InfoList_r9_t              *pmch_InfoList
@@ -217,7 +217,7 @@ rrc_mac_config_req(
         if (mac_MainConfig->ul_SCH_Config->periodicBSR_Timer) {
           UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer = (uint16_t) *mac_MainConfig->ul_SCH_Config->periodicBSR_Timer;
         } else {
-          UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer = (uint16_t) MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity;
+          UE_mac_inst[Mod_idP].scheduling_info.periodicBSR_Timer = (uint16_t) PeriodicBSR_Timer_r12_infinity;
         }
 
         if (mac_MainConfig->ul_SCH_Config->maxHARQ_Tx) {
@@ -230,11 +230,11 @@ rrc_mac_config_req(
         if (mac_MainConfig->ul_SCH_Config->retxBSR_Timer) {
           UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer     = (uint16_t) mac_MainConfig->ul_SCH_Config->retxBSR_Timer;
         } else {
-          UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer     = (uint16_t)MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560;
+          UE_mac_inst[Mod_idP].scheduling_info.retxBSR_Timer     = (uint16_t)RetxBSR_Timer_r12_sf2560;
       }
       }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
       if (mac_MainConfig->ext1 && mac_MainConfig->ext1->sr_ProhibitTimer_r9) {
         UE_mac_inst[Mod_idP].scheduling_info.sr_ProhibitTimer  = (uint16_t) *mac_MainConfig->ext1->sr_ProhibitTimer_r9;
@@ -310,7 +310,7 @@ rrc_mac_config_req(
     }
   }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (sCellToAddMod_r10 != NULL) {
 
@@ -449,7 +449,7 @@ rrc_mac_config_req(
               eNB_mac_inst[Mod_idP].common_channels[0].mbsfn_SubframeConfig[i]->subframeAllocation.choice.oneFrame.buf[0]);
       }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
       eNB_mac_inst[Mod_idP].common_channels[0].MBMS_flag = MBMS_Flag;
 #endif
     } else { // UE
@@ -465,7 +465,7 @@ rrc_mac_config_req(
     }
   }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (mbsfn_AreaInfoList != NULL) {
     if (eNB_flagP == 1) {
diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h
index 3c0223e59e831476c2fe66db0d22371ecae95b85..18b8e7c38c2f12646ebc5a85c0579ac1fed89668 100644
--- a/openair2/LAYER2/MAC/defs.h
+++ b/openair2/LAYER2/MAC/defs.h
@@ -57,7 +57,7 @@
 #include "RACH-ConfigCommon.h"
 #include "MeasObjectToAddModList.h"
 #include "MobilityControlInfo.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "MBSFN-AreaInfoList-r9.h"
 #include "MBSFN-SubframeConfigList.h"
 #include "PMCH-InfoList-r9.h"
@@ -80,7 +80,7 @@
 #define SCH_PAYLOAD_SIZE_MAX 4096
 /// Logical channel ids from 36-311 (Note BCCH is not specified in 36-311, uses the same as first DRB)
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
 // Mask for identifying subframe for MBMS
 #define MBSFN_TDD_SF3 0x80// for TDD
@@ -276,7 +276,7 @@ typedef struct {
   uint8_t payload[PCCH_PAYLOAD_SIZE_MAX] ;
 } __attribute__((__packed__))PCCH_PDU;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 /*! \brief MCCH payload */
 typedef struct {
   uint8_t payload[MCCH_PAYLOAD_SIZE_MAX] ;
@@ -327,7 +327,7 @@ typedef struct {
 /*!\brief LCID of padding LCID for DLSCH */
 #define SHORT_PADDING 31
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 // MCH LCHAN IDs (table6.2.1-4 TS36.321)
 /*!\brief LCID of MCCH for DL */
 #define MCCH_LCHANID 0
@@ -889,7 +889,7 @@ typedef struct {
   struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8];
   /// number of subframe allocation pattern available for MBSFN sync area
   uint8_t num_sf_allocation_pattern;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   /// MBMS Flag
   uint8_t MBMS_flag;
   /// Outgoing MCCH pdu for PHY
@@ -1058,7 +1058,7 @@ typedef struct {
   struct RACH_ConfigDedicated *rach_ConfigDedicated;
   /// pointer to RRC PHY configuration
   struct PhysicalConfigDedicated *physicalConfigDedicated;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   /// pointer to RRC PHY configuration SCEll
   struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10;
 #endif
@@ -1132,7 +1132,7 @@ typedef struct {
   struct MBSFN_SubframeConfig *mbsfn_SubframeConfig[8]; // FIXME replace 8 by MAX_MBSFN_AREA?
   /// number of subframe allocation pattern available for MBSFN sync area
   uint8_t num_sf_allocation_pattern;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   /// number of active MBSFN area
   uint8_t num_active_mbsfn_area;
   /// MBSFN Area Info
diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index dee7c51a6e514178f1521d8c7484fa7ddad7e395..6509471124a52a4d3efe011c203e6b6c6d0f225b 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -127,7 +127,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
   for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
     DCI_pdu[CC_id]->Num_common_dci  = 0;
     DCI_pdu[CC_id]->Num_ue_spec_dci = 0;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     eNB_mac_inst[module_idP].common_channels[CC_id].mcch_active =0;
 #endif
     eNB_mac_inst[module_idP].frame    = frameP;
@@ -305,7 +305,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
         // TODO process CCCH data req.
         break;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
       case RRC_MAC_MCCH_DATA_REQ:
         LOG_D(MAC, "Received %s from %s: instance %d, frameP %d, eNB_index %d, mbsfn_sync_area %d\n",
@@ -346,7 +346,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
             0, // eNB index, unused in eNB
             CC_id);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
     if (eNB_mac_inst[module_idP].common_channels[CC_id].MBMS_flag >0) {
@@ -383,10 +383,10 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
 
     if (mac_xface->frame_parms->frame_type == FDD) {  //FDD
       schedule_ulsch(module_idP,frameP,cooperation_flag,0,4);//,calibration_flag);
-    } else if  ((mac_xface->frame_parms->tdd_config == TDD) || //TDD
+    } else if  ((mac_xface->frame_parms->tdd_config == 0) || //TDD
                 (mac_xface->frame_parms->tdd_config == 3) ||
                 (mac_xface->frame_parms->tdd_config == 6)) {
-      //schedule_ulsch(module_idP,frameP,cooperation_flag,subframeP,4);//,calibration_flag);
+      schedule_ulsch(module_idP,frameP,cooperation_flag,subframeP,4);//,calibration_flag);
     }
 #ifndef FLEXRAN_AGENT_SB_IF
     schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_status);
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_mch.c b/openair2/LAYER2/MAC/eNB_scheduler_mch.c
index 90d797198ed41a610eb66470b3efc2f6bb5f37de..2d3e96bec39639398334914a7a741dc4d9c654f7 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_mch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_mch.c
@@ -61,7 +61,7 @@
 #define DEBUG_eNB_SCHEDULER 1
 
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 int8_t get_mbsfn_sf_alloction (module_id_t module_idP, uint8_t CC_id, uint8_t mbsfn_sync_area)
 {
   // currently there is one-to-one mapping between sf allocation pattern and sync area
@@ -466,7 +466,7 @@ int schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP, sub_fra
   }
 
   TBS = mac_xface->get_TBS_DL(eNB_mac_inst[module_idP].common_channels[CC_id].MCH_pdu.mcs, mac_xface->frame_parms->N_RB_DL);
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   // do not let mcch and mtch multiplexing when relaying is active
   // for sync area 1, so not transmit data
   //if ((i == 0) && ((eNB_mac_inst[module_idP].MBMS_flag != multicast_relay) || (eNB_mac_inst[module_idP].mcch_active==0))) {
@@ -539,7 +539,7 @@ int schedule_MBMS(module_id_t module_idP, uint8_t CC_id, frame_t frameP, sub_fra
     }
   }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   //  }
 #endif
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
index 9a6fc29a583816e902bb0ff3aa779cc591753ce2..56ede260e8cacf7cf6ad4a622eda7e46f4841c0d 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
@@ -525,7 +525,7 @@ void swap_UEs(UE_list_t *listP,int nodeiP, int nodejP, int ul_flag)
 
 
 /*
-  #ifdef Rel10
+  #if defined(Rel10) || defined(Rel14)
   unsigned char generate_mch_header( unsigned char *mac_header,
   unsigned char num_sdus,
   unsigned short *sdu_lengths,
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index 6d0044b346a2484aeccedb1a4932572eb8e1b7cd..585d9c2c1c7c7ac9443b60fb895553233d2d062d 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -885,7 +885,7 @@ abort();
               rb_table_index=UE_template->pre_allocated_rb_table_index_ul;
             } else {
 	      mcs=10;//cmin (10, openair_daq_vars.target_ue_ul_mcs);
-              rb_table_index=5; // for PHR
+              rb_table_index=13; // for PHR
 	    }
 
             UE_list->eNB_UE_stats[CC_id][UE_id].ulsch_mcs2=mcs;
diff --git a/openair2/LAYER2/MAC/main.c b/openair2/LAYER2/MAC/main.c
index 8553c118dcb92ffee80d0a3ae3dab7fc8801ece2..e04d7c3b8ad14f7b069ca8147be8712399c1bfea 100644
--- a/openair2/LAYER2/MAC/main.c
+++ b/openair2/LAYER2/MAC/main.c
@@ -181,7 +181,7 @@ int mac_top_init(int eMBMS_active, char *uecap_xer, uint8_t cba_group_active, ui
 #ifdef PHY_EMUL
     Mac_rlc_xface->Is_cluster_head[Mod_id]=2;//0: MR, 1: CH, 2: not CH neither MR
 #endif
-    /*#ifdef Rel10
+    /*#if defined(Rel10) || defined(Rel14)
     int n;
     for (n=0;n<4096;n++)
     eNB_mac_inst[Mod_id].MCH_pdu.payload[n] = taus();
@@ -479,7 +479,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, char *uecap_xer,ui
   mac_xface->ue_decode_si              = ue_decode_si;
   mac_xface->ue_decode_p               = ue_decode_p;
   mac_xface->ue_send_sdu               = ue_send_sdu;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   mac_xface->ue_send_mch_sdu           = ue_send_mch_sdu;
   mac_xface->ue_query_mch              = ue_query_mch;
 #endif
@@ -517,7 +517,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, char *uecap_xer,ui
   mac_xface->phy_config_sib2_eNB        = phy_config_sib2_eNB;
   mac_xface->phy_config_sib2_ue         = phy_config_sib2_ue;
   mac_xface->phy_config_afterHO_ue      = phy_config_afterHO_ue;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   mac_xface->phy_config_sib13_eNB        = phy_config_sib13_eNB;
   mac_xface->phy_config_sib13_ue         = phy_config_sib13_ue;
 #endif
@@ -542,7 +542,7 @@ int l2_init(LTE_DL_FRAME_PARMS *frame_parms,int eMBMS_active, char *uecap_xer,ui
   mac_xface->get_prach_prb_offset       = get_prach_prb_offset;
   mac_xface->is_prach_subframe          = is_prach_subframe;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   mac_xface->get_mch_sdu                 = get_mch_sdu;
   mac_xface->phy_config_dedicated_scell_eNB= phy_config_dedicated_scell_eNB;
   mac_xface->phy_config_dedicated_scell_ue= phy_config_dedicated_scell_ue;
diff --git a/openair2/LAYER2/MAC/proto.h b/openair2/LAYER2/MAC/proto.h
index 77a60794cc7fd039650379369b8e83330b3e99f4..3343e8821e9479e63e883ed30a0f0dccc70e7e48 100644
--- a/openair2/LAYER2/MAC/proto.h
+++ b/openair2/LAYER2/MAC/proto.h
@@ -405,7 +405,7 @@ void ue_decode_p(module_id_t module_idP, int CC_id,frame_t frame, uint8_t CH_ind
 void ue_send_sdu(module_id_t module_idP, uint8_t CC_id,frame_t frame, sub_frame_t subframe, uint8_t *sdu,uint16_t sdu_len,uint8_t CH_index);
 
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 /* \brief Called by PHY to transfer MCH transport block to ue MAC.
 @param Mod_id Index of module instance
 @param frame Frame index
@@ -754,7 +754,7 @@ int rrc_mac_config_req(module_id_t     module_idP,
                        uint8_t         eNB_index,
                        RadioResourceConfigCommonSIB_t *radioResourceConfigCommon,
                        struct PhysicalConfigDedicated *physicalConfigDedicated,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                        SCellToAddMod_r10_t *sCellToAddMod_r10,
                        //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
@@ -771,7 +771,7 @@ int rrc_mac_config_req(module_id_t     module_idP,
                        long *ul_Bandwidth,
                        AdditionalSpectrumEmission_t *additionalSpectrumEmission,
                        struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                        ,
                        uint8_t MBMS_Flag,
                        MBSFN_AreaInfoList_r9_t *mbsfn_AreaInfoList,
diff --git a/openair2/LAYER2/MAC/ra_procedures.c b/openair2/LAYER2/MAC/ra_procedures.c
index 210648401fe6f4109dcb07a74563404cc408ec46..d2d52383b007c34a0a7b98417fbd58147fee6194 100644
--- a/openair2/LAYER2/MAC/ra_procedures.c
+++ b/openair2/LAYER2/MAC/ra_procedures.c
@@ -500,37 +500,37 @@ PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP,int CC_id,frame_t frameP,
             (rach_ConfigCommon->powerRampingParameters.powerRampingStep<<1);  // 2dB increments in ASN.1 definition
 	  int preambleTransMax = -1;
 	  switch (rach_ConfigCommon->ra_SupervisionInfo.preambleTransMax) {
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3:
+	  case PreambleTransMax_n3:
 	    preambleTransMax = 3;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4:
+	  case PreambleTransMax_n4:
 	    preambleTransMax = 4;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5:
+	  case PreambleTransMax_n5:
 	    preambleTransMax = 5;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6:
+	  case PreambleTransMax_n6:
 	    preambleTransMax = 6;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7:
+	  case PreambleTransMax_n7:
 	    preambleTransMax = 7;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8:
+	  case PreambleTransMax_n8:
 	    preambleTransMax = 8;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10:
+	  case PreambleTransMax_n10:
 	    preambleTransMax = 10;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20:
+	  case PreambleTransMax_n20:
 	    preambleTransMax = 20;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50:
+	  case PreambleTransMax_n50:
 	    preambleTransMax = 50;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100:
+	  case PreambleTransMax_n100:
 	    preambleTransMax = 100;
 	    break;
-	  case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200:
+	  case PreambleTransMax_n200:
 	    preambleTransMax = 200;
 	    break;
 	  } 
diff --git a/openair2/LAYER2/MAC/ue_procedures.c b/openair2/LAYER2/MAC/ue_procedures.c
index ddd749004087cd79e3560eac02d604c91d9da153..3c48321a26cc1115e14a8605407c8ab49ef8cd77 100644
--- a/openair2/LAYER2/MAC/ue_procedures.c
+++ b/openair2/LAYER2/MAC/ue_procedures.c
@@ -93,8 +93,8 @@ void ue_init_mac(module_id_t module_idP)
   // default values as deined in 36.331 sec 9.2.2
   LOG_I(MAC,"[UE%d] Applying default macMainConfig\n",module_idP);
   //UE_mac_inst[module_idP].scheduling_info.macConfig=NULL;
-  UE_mac_inst[module_idP].scheduling_info.retxBSR_Timer= MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf10240;
-  UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer=MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity;
+  UE_mac_inst[module_idP].scheduling_info.retxBSR_Timer= RetxBSR_Timer_r12_sf10240;
+  UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer=PeriodicBSR_Timer_r12_infinity;
   UE_mac_inst[module_idP].scheduling_info.periodicPHR_Timer = MAC_MainConfig__phr_Config__setup__periodicPHR_Timer_sf20;
   UE_mac_inst[module_idP].scheduling_info.prohibitPHR_Timer = MAC_MainConfig__phr_Config__setup__prohibitPHR_Timer_sf20;
   UE_mac_inst[module_idP].scheduling_info.PathlossChange_db = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;
@@ -579,7 +579,7 @@ void ue_decode_p(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_in
   }
 }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 unsigned char *parse_mch_header(unsigned char *mac_header,
                                 unsigned char *num_sdu,
                                 unsigned char *rx_lcids,
@@ -1353,7 +1353,7 @@ void ue_get_sdu(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_t subf
   }
 
   // periodicBSR-Timer expires, trigger BSR
-  if ((UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer != MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity)
+  if ((UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer != PeriodicBSR_Timer_r12_infinity)
             && (UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF == 0)){
         // Trigger BSR Periodic
       UE_mac_inst[module_idP].BSR_reporting_active |= BSR_TRIGGER_PERIODIC;
@@ -1771,7 +1771,7 @@ for (lcid=DCCH; (lcid < MAX_NUM_LCID) && (is_all_lcid_processed == FALSE) ; lcid
 			  UE_mac_inst[module_idP].scheduling_info.retxBSR_SF);
 
 	  // Reset Periodic Timer except when BSR is truncated
-	  if ((bsr_t == NULL) && (UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer != MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity))
+	  if ((bsr_t == NULL) && (UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer != PeriodicBSR_Timer_r12_infinity))
 	  {
 		  UE_mac_inst[module_idP].scheduling_info.periodicBSR_SF = get_sf_periodicBSRTimer(UE_mac_inst[module_idP].scheduling_info.periodicBSR_Timer);
 
@@ -2397,63 +2397,63 @@ int get_sf_periodicBSRTimer(uint8_t sf_offset)
 {
 
   switch (sf_offset) {
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf5:
+  case PeriodicBSR_Timer_r12_sf5:
     return 5;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf10:
+  case PeriodicBSR_Timer_r12_sf10:
     return 10;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf16:
+  case PeriodicBSR_Timer_r12_sf16:
     return 16;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf20:
+  case PeriodicBSR_Timer_r12_sf20:
     return 20;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf32:
+  case PeriodicBSR_Timer_r12_sf32:
     return 32;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf40:
+  case PeriodicBSR_Timer_r12_sf40:
     return 40;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64:
+  case PeriodicBSR_Timer_r12_sf64:
     return 64;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf80:
+  case PeriodicBSR_Timer_r12_sf80:
     return 80;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf128:
+  case PeriodicBSR_Timer_r12_sf128:
     return 128;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf160:
+  case PeriodicBSR_Timer_r12_sf160:
     return 160;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf320:
+  case PeriodicBSR_Timer_r12_sf320:
     return 320;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf640:
+  case PeriodicBSR_Timer_r12_sf640:
     return 640;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf1280:
+  case PeriodicBSR_Timer_r12_sf1280:
     return 1280;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf2560:
+  case PeriodicBSR_Timer_r12_sf2560:
     return 2560;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity:
+  case PeriodicBSR_Timer_r12_infinity:
   default:
     return 0xFFFF;
     break;
@@ -2464,27 +2464,27 @@ int get_sf_retxBSRTimer(uint8_t sf_offset)
 {
 
   switch (sf_offset) {
-  case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320:
+  case RetxBSR_Timer_r12_sf320:
     return 320;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf640:
+  case RetxBSR_Timer_r12_sf640:
     return 640;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf1280:
+  case RetxBSR_Timer_r12_sf1280:
     return 1280;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560:
+  case RetxBSR_Timer_r12_sf2560:
     return 2560;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf5120:
+  case RetxBSR_Timer_r12_sf5120:
     return 5120;
     break;
 
-  case MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf10240:
+  case RetxBSR_Timer_r12_sf10240:
     return 10240;
     break;
 
diff --git a/openair2/LAYER2/MAC/vars.h b/openair2/LAYER2/MAC/vars.h
index edd8548e642f02c8722207cad6fb15ce219e6989..434a9e7c9c9fed8dc5a82a3fb0d19d71ff190a5f 100644
--- a/openair2/LAYER2/MAC/vars.h
+++ b/openair2/LAYER2/MAC/vars.h
@@ -132,7 +132,7 @@ DCI1A_5MHz_TDD_1_6_t      BCCH_alloc_pdu;
 DCI1A_5MHz_TDD_1_6_t      CCCH_alloc_pdu;
 DCI1_5MHz_TDD_t           DLSCH_alloc_pdu;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 DCI1C_5MHz_t                 MCCH_alloc_pdu;
 #endif
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
index 0c5e4cb9e1e3d4b237c181d9afdb7a691a4e3106..8dad83a90a71d4a26d155b4be46f3a158df8c469 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
@@ -1070,7 +1070,7 @@ rrc_pdcp_config_asn1_req (
   uint8_t                  *const kRRCenc_pP,
   uint8_t                  *const kRRCint_pP,
   uint8_t                  *const kUPenc_pP
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   ,PMCH_InfoList_r9_t*  const pmch_InfoList_r9_pP
 #endif
   ,rb_id_t                 *const defaultDRB 
@@ -1097,7 +1097,7 @@ rrc_pdcp_config_asn1_req (
   hashtable_rc_t  h_rc;
   hash_key_t      key_defaultDRB = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t  h_defaultDRB_rc;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   int i,j;
   MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
   MBMS_SessionInfo_r9_t     *MBMS_SessionInfo_p        = NULL;
@@ -1395,7 +1395,7 @@ rrc_pdcp_config_asn1_req (
     }
   }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (pmch_InfoList_r9_pP != NULL) {
     for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) {
@@ -1590,7 +1590,7 @@ pdcp_config_req_asn1 (
 
     memset(pdcp_pP, 0, sizeof(pdcp_t));
     break;
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 
   case CONFIG_ACTION_MBMS_ADD:
   case CONFIG_ACTION_MBMS_MODIFY:
@@ -1908,7 +1908,7 @@ void pdcp_layer_init(void)
 {
 
   module_id_t       instance;
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
   mbms_session_id_t session_id;
   mbms_service_id_t service_id;
 #endif
@@ -1920,7 +1920,7 @@ void pdcp_layer_init(void)
   AssertFatal(pdcp_coll_p != NULL, "UNRECOVERABLE error, PDCP hashtable_create failed");
 
   for (instance = 0; instance < NUMBER_OF_UE_MAX; instance++) {
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 
     for (service_id = 0; service_id < maxServiceCount; service_id++) {
       for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) {
@@ -1934,7 +1934,7 @@ void pdcp_layer_init(void)
 
     
   for (instance = 0; instance < NUMBER_OF_eNB_MAX; instance++) {
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 
     for (service_id = 0; service_id < maxServiceCount; service_id++) {
       for (session_id = 0; session_id < maxSessionPerPMCH; session_id++) {
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
index 366f79dc9db9a7bf2ca68aa5907781c642c939f6..94084273d15b5254859875c0bb8aa4975eb40c5d 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.h
@@ -74,7 +74,7 @@
 #include "DRB-ToAddModList.h"
 #include "SRB-ToAddMod.h"
 #include "SRB-ToAddModList.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "MBMS-SessionInfoList-r9.h"
 #include "PMCH-InfoList-r9.h"
 #endif
@@ -184,7 +184,7 @@ typedef struct pdcp_s {
 
 } pdcp_t;
 
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 typedef struct pdcp_mbms_s {
   boolean_t instanciated_instance;
   rb_id_t   rb_id;
@@ -284,7 +284,7 @@ public_pdcp(
     uint8_t                  *const kRRCenc,
     uint8_t                  *const kRRCint,
     uint8_t                  *const kUPenc
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     ,PMCH_InfoList_r9_t  *pmch_InfoList_r9
 #endif
     ,rb_id_t                 *const defaultDRB 
@@ -448,7 +448,7 @@ public_pdcp(pdcp_stats_t              eNB_pdcp_stats[NUMBER_OF_eNB_MAX];)
 protected_pdcp(rnti_t                 pdcp_UE_UE_module_id_to_rnti[NUMBER_OF_UE_MAX];)
 protected_pdcp(rnti_t                 pdcp_eNB_UE_instance_to_rnti[NUMBER_OF_UE_MAX];) // for noS1 mode
 protected_pdcp(unsigned int           pdcp_eNB_UE_instance_to_rnti_index;)
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 public_pdcp(pdcp_mbms_t               pdcp_mbms_array_ue[NUMBER_OF_UE_MAX][maxServiceCount][maxSessionPerPMCH];)   // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h
 public_pdcp(pdcp_mbms_t               pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH];) // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h
 #endif
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
index 37b38121b9d8b03c9b177839044144fc1cef48a7..0da894df82c4821d1c8c3f072c6890dc7491615c 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
@@ -431,7 +431,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const  ctxt_pP)
       if ((data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV6_TYPE_MULTICAST) /*TRAFFIC_IPV6_TYPE_MULTICAST */ ||
           (data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV4_TYPE_MULTICAST) /*TRAFFIC_IPV4_TYPE_MULTICAST */ ||
           (data_p->pdcp_read_header.traffic_type == TRAFFIC_IPV4_TYPE_BROADCAST) /*TRAFFIC_IPV4_TYPE_BROADCAST */ ) {
-#if defined (Rel10)
+#if defined(Rel10) || defined(Rel14)
           PDCP_TRANSMISSION_MODE_TRANSPARENT;
 #else
           pdcp_mode= PDCP_TRANSMISSION_MODE_DATA;
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
index 7d193bcd01aee1ee71ead8d1b6668c1faa7676ff..eda90edf9ad1c7078fde2cc90e598a220febe9d3 100644
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
@@ -162,8 +162,8 @@ rlc_am_get_buffer_occupancy_in_bytes (
       rlc_pP->status_buffer_occupancy = rlc_am_get_status_pdu_buffer_occupancy(rlc_pP);
 #if TRACE_RLC_AM_BO
 
-      LOG_D(RLC, PROTOCOL_CTXT_FMT RB_AM_FMT" BO : CONTROL PDU %d bytes \n",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+        LOG_D(RLC, PROTOCOL_CTXT_FMT RB_AM_FMT" BO : CONTROL PDU %d bytes \n",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
 			rlc_pP->status_buffer_occupancy);
 
 #endif
@@ -240,9 +240,15 @@ config_req_rlc_am (
 uint16_t pollPDU_tab[PollPDU_pInfinity+1]= {4,8,16,32,64,128,256,RLC_AM_POLL_PDU_INFINITE}; //PollPDU_pInfinity is chosen to 0xFFFF for now
 uint32_t maxRetxThreshold_tab[UL_AM_RLC__maxRetxThreshold_t32+1]= {1,2,3,4,6,8,16,32};
 uint32_t pollByte_tab[PollByte_spare1]= {25000,50000,75000,100000,125000,250000,375000,500000,750000,1000000,1250000,1500000,2000000,3000000,RLC_AM_POLL_BYTE_INFINITE}; // PollByte_kBinfinity is chosen to 0xFFFFFFFF for now
+#if defined(Rel14)
+uint32_t PollRetransmit_tab[T_PollRetransmit_spare5]= {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,2000,4000};
+uint32_t am_t_Reordering_tab[32]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200,1600};
+uint32_t t_StatusProhibit_tab[T_StatusProhibit_spare2]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500,800,1000,1200,1600,2000,2400};
+#else
 uint32_t PollRetransmit_tab[T_PollRetransmit_spare9]= {5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500};
 uint32_t am_t_Reordering_tab[T_Reordering_spare1]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200};
 uint32_t t_StatusProhibit_tab[T_StatusProhibit_spare8]= {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,105,110,115,120,125,130,135,140,145,150,155,160,165,170,175,180,185,190,195,200,205,210,215,220,225,230,235,240,245,250,300,350,400,450,500};
+#endif
 
 //-----------------------------------------------------------------------------
 void config_req_rlc_am_asn1 (
@@ -265,9 +271,15 @@ void config_req_rlc_am_asn1 (
     if ((config_am_pP->ul_AM_RLC.maxRetxThreshold <= UL_AM_RLC__maxRetxThreshold_t32) &&
         (config_am_pP->ul_AM_RLC.pollPDU<=PollPDU_pInfinity) &&
         (config_am_pP->ul_AM_RLC.pollByte<PollByte_spare1) &&
+#if defined(Rel14)
+        (config_am_pP->ul_AM_RLC.t_PollRetransmit<T_PollRetransmit_spare5) &&
+        (config_am_pP->dl_AM_RLC.t_Reordering<32) &&
+        (config_am_pP->dl_AM_RLC.t_StatusProhibit<T_StatusProhibit_spare2) ) {
+#else
         (config_am_pP->ul_AM_RLC.t_PollRetransmit<T_PollRetransmit_spare9) &&
         (config_am_pP->dl_AM_RLC.t_Reordering<T_Reordering_spare1) &&
         (config_am_pP->dl_AM_RLC.t_StatusProhibit<T_StatusProhibit_spare8) ) {
+#endif
 
       MSC_LOG_RX_MESSAGE(
         (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
@@ -423,10 +435,10 @@ rlc_am_get_pdus (
       // When a STATUS PDU has been delivered to lower layer, the receiving side of an AM RLC entity shall:
       //     - start t-StatusProhibit.
 
-      rlc_am_send_status_pdu(ctxt_pP, rlc_pP);
-      mem_block_t* pdu = list_remove_head(&rlc_pP->control_pdu_list);
+        rlc_am_send_status_pdu(ctxt_pP, rlc_pP);
+        mem_block_t* pdu = list_remove_head(&rlc_pP->control_pdu_list);
 
-      if (pdu) {
+        if (pdu) {
           list_add_tail_eurecom (pdu, &rlc_pP->pdus_to_mac_layer);
           RLC_AM_CLEAR_ALL_STATUS(rlc_pP->status_requested);
           rlc_pP->status_buffer_occupancy = 0;
@@ -436,7 +448,7 @@ rlc_am_get_pdus (
       }
       else {
               LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" DELAYED SENT STATUS PDU (Available MAC Data %u)(T-PROHIBIT %u) (DELAY FLAG %u)\n",
-                    PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
 					rlc_pP->nb_bytes_requested_by_mac,rlc_pP->t_status_prohibit.ms_time_out,(rlc_pP->status_requested & RLC_AM_STATUS_TRIGGERED_DELAYED));
     }
 
@@ -450,8 +462,8 @@ rlc_am_get_pdus (
     	  list_add_tail_eurecom (pdu_retx, &rlc_pP->pdus_to_mac_layer);
 
           return;
-      }
-    }
+        }
+        }
 
     // THEN TRY TO SEND NEW DATA PDU
     if ((rlc_pP->nb_bytes_requested_by_mac > 2) && (rlc_pP->sdu_buffer_occupancy) && (rlc_pP->vt_s != rlc_pP->vt_ms)) {
@@ -591,8 +603,8 @@ rlc_am_mac_status_indication (
 		  status_resp.buffer_occupancy_in_pdus = rlc->retrans_num_pdus;
 		  status_resp.head_sdu_remaining_size_to_send = rlc->retrans_num_bytes_to_retransmit;
 		  status_resp.head_sdu_is_segmented = 1;
-	  }
-  }
+			    }
+			  }
 #if MESSAGE_CHART_GENERATOR_RLC_MAC
   MSC_LOG_RX_MESSAGE(
     (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
@@ -691,7 +703,7 @@ rlc_am_mac_data_request (
 
   if (enb_flagP) {
 	  // redundant in UE MAC Tx processing and not used in eNB ...
-	  data_req.buffer_occupancy_in_bytes   = rlc_am_get_buffer_occupancy_in_bytes(ctxt_pP, l_rlc_p);
+  data_req.buffer_occupancy_in_bytes   = rlc_am_get_buffer_occupancy_in_bytes(ctxt_pP, l_rlc_p);
   }
   data_req.rlc_info.rlc_protocol_state = l_rlc_p->protocol_state;
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
index bda2b884581d885c96fcdccfa7ea45b1df3756a8..14ca1a62a985674078cd7b7542ab5b83e5a0a48c 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
@@ -78,7 +78,11 @@ void config_req_rlc_um (
   }
 }
 //-----------------------------------------------------------------------------
+#if defined(Rel14)
+const uint32_t const t_Reordering_tab[32] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200,1600};
+#else
 const uint32_t const t_Reordering_tab[T_Reordering_spare1] = {0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100,110,120,130,140,150,160,170,180,190,200};
+#endif
 
 void config_req_rlc_um_asn1 (
   const protocol_ctxt_t* const ctxt_pP,
@@ -99,7 +103,7 @@ void config_req_rlc_um_asn1 (
   hash_key_t       key                 = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
   hashtable_rc_t   h_rc;
 
-#if Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (mbms_flagP) {
     AssertFatal(dl_rlc_pP, "No RLC UM DL config");
@@ -194,7 +198,11 @@ void config_req_rlc_um_asn1 (
         return;
       }
 
+#if defined(Rel14)
+      if (dl_rlc_pP->t_Reordering<32) {
+#else
       if (dl_rlc_pP->t_Reordering<T_Reordering_spare1) {
+#endif
         t_Reordering = t_Reordering_tab[dl_rlc_pP->t_Reordering];
       } else {
         LOG_E(RLC,PROTOCOL_RLC_UM_CTXT_FMT" [CONFIGURE] RB %u INVALID T_Reordering %ld, RLC NOT CONFIGURED\n",
diff --git a/openair2/LAYER2/RLC/rlc.c b/openair2/LAYER2/RLC/rlc.c
index 96057231a6596f07fc23ed124a902f34f1e534a5..7aca1b9cc63814012a46222ab554893957608ae8 100644
--- a/openair2/LAYER2/RLC/rlc.c
+++ b/openair2/LAYER2/RLC/rlc.c
@@ -328,7 +328,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
   hash_key_t             key         = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_rc;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   rlc_mbms_id_t         *mbms_id_p  = NULL;
   logical_chan_id_t      log_ch_id  = 0;
 #endif
@@ -342,7 +342,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
         sdu_sizeP,
         sdu_pP);
 #endif
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #else
   AssertFatal(MBMS_flagP == 0, "MBMS_flagP %u", MBMS_flagP);
 #endif
@@ -366,13 +366,13 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
   DevAssert(sdu_pP != NULL);
   DevCheck(sdu_sizeP > 0, sdu_sizeP, 0, 0);
 
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
   DevCheck(MBMS_flagP == 0, MBMS_flagP, 0, 0);
 #endif
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_IN);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (MBMS_flagP == TRUE) {
     if (ctxt_pP->enb_flag) {
@@ -499,7 +499,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
 
     }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   } else { /* MBMS_flag != 0 */
     //  LOG_I(RLC,"DUY rlc_data_req: mbms_rb_id in RLC instant is: %d\n", mbms_rb_id);
     if (sdu_pP != NULL) {
@@ -538,7 +538,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
   else  /* MBMS_flag != 0 */
   {
     free_mem_block(sdu_pP, __func__);
-    LOG_E(RLC, "MBMS_flag != 0 while Rel10 is not defined...\n");
+    LOG_E(RLC, "MBMS_flag != 0 while Rel10/Rel14 is not defined...\n");
     //handle_event(ERROR,"FILE %s FONCTION rlc_data_req() LINE %s : parameter module_id out of bounds :%d\n", __FILE__, __LINE__, module_idP);
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
     return RLC_OP_STATUS_BAD_PARAMETER;
@@ -617,7 +617,7 @@ rlc_module_init (void)
   AssertFatal(rlc_coll_p != NULL, "UNRECOVERABLE error, RLC hashtable_create failed");
 
   for (module_id1=0; module_id1 < NUMBER_OF_UE_MAX; module_id1++) {
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 
     for (k=0; k < RLC_MAX_MBMS_LC; k++) {
       rlc_mbms_lcid2service_session_id_ue[module_id1][k].service_id = 0;
@@ -632,7 +632,7 @@ rlc_module_init (void)
   }
 
   for (module_id1=0; module_id1 < NUMBER_OF_eNB_MAX; module_id1++) {
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 
     for (k=0; k < RLC_MAX_MBMS_LC; k++) {
       rlc_mbms_lcid2service_session_id_eNB[module_id1][k].service_id = 0;
diff --git a/openair2/LAYER2/RLC/rlc.h b/openair2/LAYER2/RLC/rlc.h
index 9a53e37422fd5690450e187235851c440d53d140..3d6be205249b0284c2f9062c838a38a88051964c 100644
--- a/openair2/LAYER2/RLC/rlc.h
+++ b/openair2/LAYER2/RLC/rlc.h
@@ -55,7 +55,7 @@
 #    include "SRB-ToAddModList.h"
 #    include "DRB-ToReleaseList.h"
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "PMCH-InfoList-r9.h"
 #endif
 
@@ -224,7 +224,7 @@ typedef struct rlc_mbms_id_s {
   mbms_session_id_t       session_id;
 } rlc_mbms_id_t;
 
-#if !defined(Rel10)
+#if !defined(Rel10) && !defined(Rel14)
 #    if !defined(maxServiceCount)
 //unused arrays rlc_mbms_array_ue rlc_mbms_array_eNB
 #        define maxServiceCount 1
@@ -309,7 +309,7 @@ private_rlc_mac(struct mac_data_ind   mac_rlc_deserialize_tb (char*, tb_size_t,
 //-----------------------------------------------------------------------------
 //   PUBLIC INTERFACE WITH RRC
 //-----------------------------------------------------------------------------
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 /*! \fn rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t* const ctxtP, const srb_flag_t srb_flagP, const SRB_ToAddMod_t* const srb2addmod, const DRB_ToAddModList_t* const drb2add_listP, const DRB_ToReleaseList_t*  const drb2release_listP, const PMCH_InfoList_r9_t * const pmch_info_listP)
 * \brief  Function for RRC to configure a Radio Bearer.
 * \param[in]  ctxtP              Running context.
diff --git a/openair2/LAYER2/RLC/rlc_rrc.c b/openair2/LAYER2/RLC/rlc_rrc.c
index 8304752e8e2b91811afc03185099cdaff7e0724e..a45838603e324f9aa3adb0fc78e67f3a0adce011 100644
--- a/openair2/LAYER2/RLC/rlc_rrc.c
+++ b/openair2/LAYER2/RLC/rlc_rrc.c
@@ -42,7 +42,7 @@
 #include "SRB-ToAddMod.h"
 #include "SRB-ToAddModList.h"
 #include "DL-UM-RLC.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "PMCH-InfoList-r9.h"
 #endif
 
@@ -53,7 +53,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
     const SRB_ToAddModList_t   * const srb2add_listP,
     const DRB_ToAddModList_t   * const drb2add_listP,
     const DRB_ToReleaseList_t  * const drb2release_listP
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
     ,const PMCH_InfoList_r9_t * const pmch_InfoList_r9_pP
 #endif
                                         )
@@ -69,7 +69,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
   rlc_union_t           *rlc_union_p     = NULL;
   hash_key_t             key             = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_rc;
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
   int                        i, j;
   MBMS_SessionInfoList_r9_t *mbms_SessionInfoList_r9_p = NULL;
   MBMS_SessionInfo_r9_t     *MBMS_SessionInfo_p        = NULL;
@@ -344,7 +344,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t   * const ctxt_pP
     }
   }
 
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 
   if (pmch_InfoList_r9_pP != NULL) {
     for (i=0; i<pmch_InfoList_r9_pP->list.count; i++) {
@@ -487,7 +487,7 @@ rlc_op_status_t rrc_rlc_remove_rlc   (
   hash_key_t             key_lcid        = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_lcid_rc;
   rlc_union_t           *rlc_union_p = NULL;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   rlc_mbms_id_t         *mbms_id_p  = NULL;
 #endif
 #ifdef OAI_EMU
@@ -498,7 +498,7 @@ rlc_op_status_t rrc_rlc_remove_rlc   (
   /* for no gcc warnings */
   (void)lcid;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (MBMS_flagP == TRUE) {
     if (ctxt_pP->enb_flag) {
@@ -592,7 +592,7 @@ rlc_union_t* rrc_rlc_add_rlc   (
   hash_key_t             key_lcid    = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_lcid_rc;
   rlc_union_t           *rlc_union_p = NULL;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   rlc_mbms_id_t         *mbms_id_p  = NULL;
   logical_chan_id_t      lcid            = 0;
 #endif
@@ -608,7 +608,7 @@ rlc_union_t* rrc_rlc_add_rlc   (
     AssertFatal (chan_idP < RLC_MAX_LC, "LC id is too high (%u/%d)!\n", chan_idP, RLC_MAX_LC);
   }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (MBMS_flagP == TRUE) {
     if (ctxt_pP->enb_flag) {
@@ -650,7 +650,7 @@ rlc_union_t* rrc_rlc_add_rlc   (
     h_lcid_rc = hashtable_insert(rlc_coll_p, key_lcid, rlc_union_p);
 
     if ((h_rc == HASH_TABLE_OK) && (h_lcid_rc == HASH_TABLE_OK)) {
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
       if (MBMS_flagP == TRUE) {
         LOG_I(RLC, PROTOCOL_CTXT_FMT" RLC service id %u session id %u rrc_rlc_add_rlc\n",
diff --git a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c
index 7a8bd0f86788e94e7dccc31c20098806fa9c8710..77b3c28165f879f182c6204398cd3e0685fe1ca7 100644
--- a/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c
+++ b/openair2/NAS/DRIVER/CELLULAR/NASMT/nasmt_device.c
@@ -233,9 +233,12 @@ int nasmt_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
   }
 
   // End debug information
-
   netif_stop_queue(dev);
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+  netif_trans_update(dev);
+#else
   dev->trans_start = jiffies;
+#endif
 #ifdef NAS_DEBUG_SEND_DETAIL
   printk("nasmt_hard_start_xmit: step 1\n");
 #endif
@@ -307,7 +310,11 @@ void nasmt_tx_timeout(struct net_device *dev)
   printk("nasmt_tx_timeout: begin\n");
   //((struct nas_priv *)(dev->priv))->stats.tx_errors++;
   (gpriv->stats).tx_errors++;
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+  netif_trans_update(dev);
+#else
   dev->trans_start = jiffies;
+#endif
   netif_wake_queue(dev);
   printk("nasmt_tx_timeout: transmit timed out %s\n",dev->name);
 }
diff --git a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c
index aaaa95754dcabe873ad8aea0e2a4fcbf18d52b77..970600de214357157b9546eec561d02a846de770 100644
--- a/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c
+++ b/openair2/NAS/DRIVER/CELLULAR/NASRG/nasrg_device.c
@@ -226,7 +226,11 @@ int nasrg_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
   // End debug information
   netif_stop_queue(dev);
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+  netif_trans_update(dev);
+#else
   dev->trans_start = jiffies;
+#endif
 #ifdef NAS_DEBUG_SEND_DETAIL
   printk("nasrg_hard_start_xmit: step 1\n");
 #endif
@@ -296,7 +300,11 @@ void nasrg_tx_timeout(struct net_device *dev)
   printk("nasrg_tx_timeout: begin\n");
   //  ((struct nas_priv *)(dev->priv))->stats.tx_errors++;
   (gpriv->stats).tx_errors++;
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+  netif_trans_update(dev);
+#else
   dev->trans_start = jiffies;
+#endif
   netif_wake_queue(dev);
   printk("nasrg_tx_timeout: transmit timed out %s\n",dev->name);
 }
diff --git a/openair2/NETWORK_DRIVER/LITE/device.c b/openair2/NETWORK_DRIVER/LITE/device.c
index 9579ebf249cecd5665a10c8493b4a96c45c4ab6a..616af5e14550c47e52f38c91b292ff64806bcab8 100644
--- a/openair2/NETWORK_DRIVER/LITE/device.c
+++ b/openair2/NETWORK_DRIVER/LITE/device.c
@@ -255,7 +255,11 @@ int oai_nw_drv_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
     // End debug information
     netif_stop_queue(dev);
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+    netif_trans_update(dev);
+#else
     dev->trans_start = jiffies;
+#endif
 #ifdef OAI_DRV_DEBUG_DEVICE
     printk("[OAI_IP_DRV][%s] step 1\n", __FUNCTION__);
 #endif
@@ -328,7 +332,11 @@ void oai_nw_drv_tx_timeout(struct net_device *dev)
   printk("[OAI_IP_DRV][%s] begin\n", __FUNCTION__);
   //  (struct oai_nw_drv_priv *)(dev->priv)->stats.tx_errors++;
   (priv->stats).tx_errors++;
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+  netif_trans_update(dev);
+#else
   dev->trans_start = jiffies;
+#endif
   netif_wake_queue(dev);
   printk("[OAI_IP_DRV][%s] transmit timed out %s\n", __FUNCTION__,dev->name);
 }
diff --git a/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c b/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c
index 5222a4a4b86cd60c2e867b68548915510c83a2ac..24dfcaf61ec098c3c85269a40945fdb52296cbdd 100644
--- a/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c
+++ b/openair2/NETWORK_DRIVER/MESH/RB_TOOL/rb_tool.c
@@ -36,7 +36,8 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 #include <sys/time.h>
-
+#include <sys/ioctl.h>
+#include <ctype.h>
 
 #include <netinet/in.h>
 #include <arpa/inet.h>
@@ -109,7 +110,7 @@ void IAL_NAS_ioctl_init(int inst)
 {
 
   struct nas_msg_statistic_reply *msgrep;
-  int err,rc;
+  int err;
 
   sprintf(gifr.name, "oai%d",inst);
 
@@ -132,7 +133,6 @@ void IAL_NAS_ioctl_init(int inst)
 
   if (err<0) {
     printf("IOCTL error, err=%d\n",err);
-    rc = -1;
   }
 
   printf("tx_packets = %u, rx_packets = %u\n", msgrep->tx_packets, msgrep->rx_packets);
@@ -151,19 +151,13 @@ void IAL_NAS_ioctl_init(int inst)
 int main(int argc,char **argv)
 //---------------------------------------------------------------------------
 {
-  int done = 0, rc = 0, meas_polling_counter = 0;
-  fd_set readfds;
-  struct timeval tv;
-  int i = 0;
   int err = 0;
-  char * buffer;
   int c = 0;
   int action=0,rbset=0,cxset=0,instset=0,saddr_ipv4set=0,saddr_ipv6set=0,daddr_ipv4set=0,daddr_ipv6set=0,dscpset=0,mpls_outlabelset=0,mpls_inlabelset=0;
   char rb[100],cx[100],dscp[100],inst[100],mpls_outgoinglabel[100],mpls_incominglabel[100];
-  int index = 0;
   struct nas_msg_rb_establishment_request *msgreq = NULL;
   struct nas_msg_class_add_request *msgreq_class = NULL;
-  in_addr_t saddr_ipv4,daddr_ipv4;
+  in_addr_t saddr_ipv4 = 0,daddr_ipv4 = 0;
   struct in6_addr saddr_ipv6,daddr_ipv6;
   unsigned int mpls_outlabel=0,mpls_inlabel=0;
 
@@ -213,15 +207,21 @@ int main(int argc,char **argv)
       mpls_inlabelset=1;
       break;
 
-    case 's':
-      inet_aton(optarg,&saddr_ipv4);
+    case 's': {
+      struct in_addr a;
+      inet_aton(optarg,&a);
+      saddr_ipv4 = a.s_addr;
       saddr_ipv4set = 1;
       break;
+    }
 
-    case 't':
-      inet_aton(optarg,&daddr_ipv4);
+    case 't': {
+      struct in_addr a;
+      inet_aton(optarg,&a);
+      daddr_ipv4 = a.s_addr;
       daddr_ipv4set = 1;
       break;
+    }
 
     case 'x':
       printf("IPv6: %s\n",optarg);
@@ -303,7 +303,7 @@ int main(int argc,char **argv)
   if (action == ADD_RB) {
     gifr.type =  NAS_MSG_RB_ESTABLISHMENT_REQUEST;
     err=ioctl(fd, NAS_IOCTL_RRM, &gifr);
-
+    if (err == -1) perror("ioctl");
 
 
     if (saddr_ipv4set == 1) {
@@ -329,6 +329,7 @@ int main(int argc,char **argv)
 
       gifr.type =  NAS_MSG_CLASS_ADD_REQUEST;
       err=ioctl(fd, NAS_IOCTL_RRM, &gifr);
+      if (err == -1) perror("ioctl");
       msgreq_class->rab_id = atoi(rb);
       msgreq_class->lcr = atoi(cx);
 
@@ -340,6 +341,7 @@ int main(int argc,char **argv)
       msgreq_class->saddr.ipv4 = daddr_ipv4;
       gifr.type =  NAS_MSG_CLASS_ADD_REQUEST;
       err=ioctl(fd, NAS_IOCTL_RRM, &gifr);
+      if (err == -1) perror("ioctl");
     }
 
     if (saddr_ipv6set == 1) {
@@ -370,6 +372,7 @@ int main(int argc,char **argv)
 
       gifr.type =  NAS_MSG_CLASS_ADD_REQUEST;
       err=ioctl(fd, NAS_IOCTL_RRM, &gifr);
+      if (err == -1) perror("ioctl");
 
       msgreq_class->rab_id = atoi(rb);
       msgreq_class->lcr = atoi(cx);
@@ -380,6 +383,7 @@ int main(int argc,char **argv)
       memcpy(&msgreq_class->saddr.ipv6,&daddr_ipv6,16);
       gifr.type =  NAS_MSG_CLASS_ADD_REQUEST;
       err=ioctl(fd, NAS_IOCTL_RRM, &gifr);
+      if (err == -1) perror("ioctl");
 
 
     }
@@ -411,6 +415,7 @@ int main(int argc,char **argv)
 
       gifr.type =  NAS_MSG_CLASS_ADD_REQUEST;
       err=ioctl(fd, NAS_IOCTL_RRM, &gifr);
+      if (err == -1) perror("ioctl");
 
       msgreq_class->rab_id = atoi(rb);
       msgreq_class->lcr = atoi(cx);
@@ -430,12 +435,14 @@ int main(int argc,char **argv)
 
       gifr.type =  NAS_MSG_CLASS_ADD_REQUEST;
       err=ioctl(fd, NAS_IOCTL_RRM, &gifr);
+      if (err == -1) perror("ioctl");
 
 
     }
   } else if (action == DEL_RB) {
     gifr.type =  NAS_MSG_RB_RELEASE_REQUEST;
     err=ioctl(fd, NAS_IOCTL_RRM, &gifr);
+    if (err == -1) perror("ioctl");
   }
 
 
diff --git a/openair2/NETWORK_DRIVER/MESH/classifier.c b/openair2/NETWORK_DRIVER/MESH/classifier.c
index a982faac46b04266fd3cd94ed1b32b7e104b76ce..f47d63008c947d74a098ba58ee9e07f2983ee87e 100644
--- a/openair2/NETWORK_DRIVER/MESH/classifier.c
+++ b/openair2/NETWORK_DRIVER/MESH/classifier.c
@@ -605,12 +605,12 @@ void nas_CLASS_send(struct sk_buff *skb,int inst)
   //---------------------------------------------------------------------------
   struct classifier_entity *p, *sp;
   uint8_t *protocolh,version;
-  uint8_t protocol, dscp, exp,label;
+  uint8_t protocol, dscp /*, exp,label*/ ;
   uint16_t classref;
   struct cx_entity *cx;
-  unsigned int i;
+  //unsigned int i;
 
-  unsigned int router_adv = 0;
+  //unsigned int router_adv = 0;
   struct net_device *dev=nasdev[inst];
 
   struct nas_priv *gpriv=netdev_priv(dev);
@@ -790,7 +790,7 @@ void nas_CLASS_send(struct sk_buff *skb,int inst)
              dscp, sprotocol, sp->classref, sfct, sp->rab_id);
 #endif
 
-      sp->fct(skb, cx, sp,inst);
+      sp->fct(skb, cx, sp,inst, NULL);
 
     } // if classifier entry match found
 
@@ -808,7 +808,7 @@ void nas_CLASS_send(struct sk_buff *skb,int inst)
   if (no_connection == 1)
     printk("NAS_CLASS_SEND: no corresponding connection, so the message is dropped\n");
 
-#endif NAS_DEBUG_CLASS
+#endif /* NAS_DEBUG_CLASS */
 
 
   //  }   // while loop over connections
diff --git a/openair2/NETWORK_DRIVER/MESH/common.c b/openair2/NETWORK_DRIVER/MESH/common.c
index 0a4e3ddfed975167f8ca74180707c8e8b3e61de6..95e4cf1fc2662f890192e8e106e7a53e7ae62a7f 100644
--- a/openair2/NETWORK_DRIVER/MESH/common.c
+++ b/openair2/NETWORK_DRIVER/MESH/common.c
@@ -59,14 +59,14 @@ void nas_COMMON_receive(uint16_t dlen,
   struct nas_priv *gpriv=netdev_priv(nasdev[inst]);
   uint32_t odaddr,osaddr;
 
-  int i;
+  //int i;
 
   unsigned char protocol;
 
-  unsigned char *addr,*daddr,*saddr,*ifaddr,sn;
+  unsigned char /**addr,*/ *daddr,*saddr,*ifaddr /*,sn*/;
 
-  struct udphdr *uh;
-  struct tcphdr *th;
+  //struct udphdr *uh;
+  //struct tcphdr *th;
   uint16_t *cksum,check;
 
   struct iphdr *network_header;
@@ -321,10 +321,9 @@ void nas_COMMON_receive(uint16_t dlen,
 
 //---------------------------------------------------------------------------
 // Delete the data
-void nas_COMMON_del_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *sp,int inst)
+void nas_COMMON_del_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *sp,int inst,struct nas_priv *gpriv)
 {
   struct nas_priv *priv=netdev_priv(nasdev[inst]);
-
   //---------------------------------------------------------------------------
   ++priv->stats.tx_dropped;
 }
@@ -332,7 +331,7 @@ void nas_COMMON_del_send(struct sk_buff *skb, struct cx_entity *cx, struct class
 //---------------------------------------------------------------------------
 // Request the transfer of data (QoS SAP)
 
-void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst)
+void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst, struct nas_priv *gpriv)
 {
   //---------------------------------------------------------------------------
   struct pdcp_data_req_header_s     pdcph;
@@ -341,7 +340,7 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
   int i;
 #endif
   unsigned int bytes_wrote;
-  unsigned char j;
+  //unsigned char j;
   // Start debug information
 #ifdef NAS_DEBUG_SEND
   printk("NAS_COMMON_QOS_SEND - inst %d begin \n",inst);
@@ -596,7 +595,7 @@ struct rb_entity *nas_COMMON_search_rb(struct cx_entity *cx, nasRadioBearerId_t
               struct classifier_entity *nas_COMMON_search_class_for_rb(nasRadioBearerId_t rab_id,struct nas_priv *priv)
 {
 
-  struct rb_entity *rb;
+  //struct rb_entity *rb;
   int dscp;
   struct classifier_entity *rclass;
 
diff --git a/openair2/NETWORK_DRIVER/MESH/device.c b/openair2/NETWORK_DRIVER/MESH/device.c
index f28b41fc6889ef0e531c9eed210e51261c55a7fe..393fe9f9e01fe3ffd4fe863a7b693ab5d309e4f8 100644
--- a/openair2/NETWORK_DRIVER/MESH/device.c
+++ b/openair2/NETWORK_DRIVER/MESH/device.c
@@ -124,11 +124,8 @@ void *nas_interrupt(void)
 int nas_open(struct net_device *dev)
 {
   //---------------------------------------------------------------------------
-  struct nas_priv *priv=netdev_priv(dev);
-
   printk("OPEN: begin\n");
   //  MOD_INC_USE_COUNT;
-
   // Address has already been set at init
 #ifndef PDCP_USE_NETLINK
 
@@ -250,7 +247,11 @@ int nas_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
     // End debug information
     netif_stop_queue(dev);
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+    netif_trans_update(dev);
+#else
     dev->trans_start = jiffies;
+#endif
 #ifdef DEBUG_DEVICE
     printk("HARD_START_XMIT: step 1\n");
 #endif
@@ -311,7 +312,11 @@ void nas_tx_timeout(struct net_device *dev)
   printk("TX_TIMEOUT: begin\n");
   //  (struct nas_priv *)(dev->priv)->stats.tx_errors++;
   (priv->stats).tx_errors++;
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+  netif_trans_update(dev);
+#else
   dev->trans_start = jiffies;
+#endif
   netif_wake_queue(dev);
   printk("TX_TIMEOUT: transmit timed out %s\n",dev->name);
 }
@@ -406,8 +411,8 @@ void nas_init(struct net_device *dev)
     nas_TOOL_imei2iid(IMEI, dev->dev_addr);// IMEI to device address (for stateless autoconfiguration address)
     nas_TOOL_imei2iid(IMEI, (uint8_t *)priv->cx[0].iid6);
 #else
-    nas_TOOL_imei2iid(nas_IMEI, dev->dev_addr);// IMEI to device address (for stateless autoconfiguration address)
-    nas_TOOL_imei2iid(nas_IMEI, (uint8_t *)priv->cx[0].iid6);
+    nas_TOOL_imei2iid((uint8_t *)nas_IMEI, dev->dev_addr); // IMEI to device address (for stateless autoconfiguration address)
+    nas_TOOL_imei2iid((uint8_t *)nas_IMEI, (uint8_t *)priv->cx[0].iid6);
 #endif
     // this is more appropriate for user space soft realtime emulation
 #else
@@ -478,8 +483,8 @@ int init_module (void)
     if (nasdev[inst]) {
       nas_mesh_init(inst);
       //memcpy(nasdev[inst]->dev_addr,&nas_IMEI[0],8);
-      nas_TOOL_imei2iid(nas_IMEI, nasdev[inst]->dev_addr);// IMEI to device address (for stateless autoconfiguration address)
-      nas_TOOL_imei2iid(nas_IMEI, (uint8_t *)priv->cx[0].iid6);
+      nas_TOOL_imei2iid((uint8_t *)nas_IMEI, nasdev[inst]->dev_addr);// IMEI to device address (for stateless autoconfiguration address)
+      nas_TOOL_imei2iid((uint8_t *)nas_IMEI, (uint8_t *)priv->cx[0].iid6);
       // TO HAVE DIFFERENT HW @
       ((unsigned char*)nasdev[inst]->dev_addr)[7] = ((unsigned char*)nasdev[inst]->dev_addr)[7] + (unsigned char)inst + 1;
       printk("Setting HW addr for INST %d to : %X%X\n",inst,*((unsigned int *)&nasdev[inst]->dev_addr[0]),*((unsigned int *)&nasdev[inst]->dev_addr[4]));
diff --git a/openair2/NETWORK_DRIVER/MESH/ioctl.c b/openair2/NETWORK_DRIVER/MESH/ioctl.c
index 7d4bb10b1f841dc50c2be8d2bf065760d66a3cf7..913fcc1e755e2ac9dd658d5fc1d34c1ee1146053 100644
--- a/openair2/NETWORK_DRIVER/MESH/ioctl.c
+++ b/openair2/NETWORK_DRIVER/MESH/ioctl.c
@@ -739,7 +739,6 @@ void nas_set_msg_imei_reply(struct nas_msg_l2id_reply *msgrep,
   //---------------------------------------------------------------------------
   struct cx_entity *cx;
   int lcr=0; // Temp lcr->mt =0
-  int i;
 
   cx=nas_COMMON_search_cx(lcr,priv);
 
@@ -853,7 +852,7 @@ int nas_CTL_ioctl(struct net_device *dev,
 //---------------------------------------------------------------------------
 void nas_CTL_send(struct sk_buff *skb,
                   struct cx_entity *cx,
-                  struct classifier_entity *gc)
+                  struct classifier_entity *gc, int inst, struct nas_priv *gpriv)
 {
   //---------------------------------------------------------------------------
   printk("NAS_CTL_SEND - void \n");
diff --git a/openair2/NETWORK_DRIVER/MESH/local.h b/openair2/NETWORK_DRIVER/MESH/local.h
index 8db2b550b0defecb5d42fb671f94818174f102b1..0e0a581cbc9590a0cda18fe29caba28a9e91e5b5 100644
--- a/openair2/NETWORK_DRIVER/MESH/local.h
+++ b/openair2/NETWORK_DRIVER/MESH/local.h
@@ -98,6 +98,26 @@ struct cx_entity {
   int provider_id[MAX_MEASURE_NB];
 
 };
+//#define NAS_RETRY_LIMIT_DEFAULT 5
+
+struct nas_priv {
+  int irq;
+  struct timer_list timer;
+  spinlock_t lock;
+  struct net_device_stats stats;
+  uint8_t retry_limit;
+  uint32_t timer_establishment;
+  uint32_t timer_release;
+  struct cx_entity cx[NAS_CX_MAX];
+  struct classifier_entity *rclassifier[NAS_DSCP_MAX]; // receive classifier
+  uint16_t nrclassifier;
+  int sap[NAS_SAPI_MAX];
+  struct sock *nl_sk;
+  uint8_t nlmsg[NAS_MAX_LENGTH+sizeof(struct nlmsghdr)];
+  uint8_t xbuffer[NAS_MAX_LENGTH]; // transmition buffer
+  uint8_t rbuffer[NAS_MAX_LENGTH]; // reception buffer
+};
+
 
 struct classifier_entity {
   uint32_t classref;
@@ -122,29 +142,7 @@ struct classifier_entity {
   struct rb_entity *rb_rx;   //pointer to rb_entity for receiving (in case of forwarding rule)
   nasRadioBearerId_t rab_id;            // RAB identification for sending
   nasRadioBearerId_t rab_id_rx;   // RAB identification for receiving (in case of forwarding rule)
-  void (*fct)(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst);
-};
-
-
-
-//#define NAS_RETRY_LIMIT_DEFAULT 5
-
-struct nas_priv {
-  int irq;
-  struct timer_list timer;
-  spinlock_t lock;
-  struct net_device_stats stats;
-  uint8_t retry_limit;
-  uint32_t timer_establishment;
-  uint32_t timer_release;
-  struct cx_entity cx[NAS_CX_MAX];
-  struct classifier_entity *rclassifier[NAS_DSCP_MAX]; // receive classifier
-  uint16_t nrclassifier;
-  int sap[NAS_SAPI_MAX];
-  struct sock *nl_sk;
-  uint8_t nlmsg[NAS_MAX_LENGTH+sizeof(struct nlmsghdr)];
-  uint8_t xbuffer[NAS_MAX_LENGTH]; // transmition buffer
-  uint8_t rbuffer[NAS_MAX_LENGTH]; // reception buffer
+  void (*fct)(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst, struct nas_priv *gpriv);
 };
 
 struct ipversion {
diff --git a/openair2/NETWORK_DRIVER/MESH/mesh.c b/openair2/NETWORK_DRIVER/MESH/mesh.c
index e934a6eb9501e60114d7d4112faf9c795d7d32ed..e2cf3bcf0a0e31ad350de7ee56040030e5cdc560 100644
--- a/openair2/NETWORK_DRIVER/MESH/mesh.c
+++ b/openair2/NETWORK_DRIVER/MESH/mesh.c
@@ -155,9 +155,10 @@ void nas_mesh_start_default_sclassifier(struct cx_entity *cx,struct rb_entity *r
 }
 
 //---------------------------------------------------------------------------
-void nas_mesh_timer(unsigned long data,struct nas_priv *gpriv)
+void nas_mesh_timer(unsigned long data)
 {
   //---------------------------------------------------------------------------
+  struct nas_priv *gpriv=(struct nas_priv *) data;
   uint8_t cxi;
   struct cx_entity *cx;
   struct rb_entity *rb;
@@ -168,7 +169,7 @@ void nas_mesh_timer(unsigned long data,struct nas_priv *gpriv)
 
   (gpriv->timer).function=nas_mesh_timer;
   (gpriv->timer).expires=jiffies+NAS_TIMER_TICK;
-  (gpriv->timer).data=0L;
+  (gpriv->timer).data=data;
 
   return;
 
@@ -381,11 +382,12 @@ int nas_mesh_DC_send_cx_release_request(struct cx_entity *cx,
 void nas_mesh_DC_send_sig_data_request(struct sk_buff *skb,
                                        struct cx_entity *cx,
                                        struct classifier_entity *gc,
+                                       int inst,
                                        struct nas_priv *gpriv)
 {
   //---------------------------------------------------------------------------
   struct nas_ue_dc_element *p;
-  char data_type = 'A';
+  //char data_type = 'A';
   int bytes_wrote=0;
 
   // Start debug information
@@ -464,7 +466,7 @@ void nas_mesh_DC_send_peer_sig_data_request(struct cx_entity *cx, uint8_t sig_ca
   struct nas_ue_dc_element *p;
   uint8_t nas_data[10];
   unsigned int nas_length;
-  char data_type = 'Z';
+  //char data_type = 'Z';
   int bytes_wrote=0;
 
   // Start debug information
diff --git a/openair2/NETWORK_DRIVER/MESH/netlink.c b/openair2/NETWORK_DRIVER/MESH/netlink.c
index 3ce6cf6ebe764337d50e6d49946eb258513435d7..8d40a9d965bc890f04e70f6fae7c1a0ebb9c5656 100644
--- a/openair2/NETWORK_DRIVER/MESH/netlink.c
+++ b/openair2/NETWORK_DRIVER/MESH/netlink.c
@@ -50,7 +50,7 @@
 
 static struct sock *nas_nl_sk = NULL;
 static int exit_netlink_thread=0;
-static int nas_netlink_rx_thread(void *);
+//static int nas_netlink_rx_thread(void *);
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
 struct netlink_kernel_cfg oai_netlink_cfg;
 #endif
@@ -76,7 +76,7 @@ static void nas_nl_data_ready (struct sk_buff *skb)
   //nasmesh_unlock();
 
   struct nlmsghdr *nlh = NULL;
-  int j;
+  //int j;
 
   if (skb) {
 
diff --git a/openair2/NETWORK_DRIVER/MESH/proto_extern.h b/openair2/NETWORK_DRIVER/MESH/proto_extern.h
index 4c0b89f60fdec3c67ea3b3e97a4af6c8e73273ea..a362876f834fa8227619063bb0f54c0d93e004f9 100644
--- a/openair2/NETWORK_DRIVER/MESH/proto_extern.h
+++ b/openair2/NETWORK_DRIVER/MESH/proto_extern.h
@@ -96,7 +96,7 @@ void nas_COMMON_receive(unsigned short dlen,
  */
 void nas_COMMON_QOS_send(struct sk_buff *skb,
                          struct cx_entity *cx,
-                         struct classifier_entity *gc,int inst);
+                         struct classifier_entity *gc,int inst, struct nas_priv *gpriv);
 
 /**
 \fn void nas_COMMON_del_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst)
@@ -108,7 +108,7 @@ void nas_COMMON_QOS_send(struct sk_buff *skb,
  */
 void nas_COMMON_del_send(struct sk_buff *skb,
                          struct cx_entity *cx,
-                         struct classifier_entity *gc,int inst);
+                         struct classifier_entity *gc,int inst, struct nas_priv *gpriv);
 
 #ifndef PDCP_USE_NETLINK
 /**
@@ -195,19 +195,18 @@ void nas_mesh_init(int inst   //!< Instance ID
 
                   );
 
-void nas_mesh_timer(unsigned long data,
-                    struct nas_priv *gpriv);
+void nas_mesh_timer(unsigned long data);
 
 int  nas_mesh_DC_receive(struct cx_entity *cx,struct nas_priv *gpriv);
 int  nas_mesh_GC_receive(struct nas_priv *gpriv);
 int  nas_mesh_DC_send_cx_establish_request(struct cx_entity *cx,struct nas_priv *gpriv);
 int  nas_mesh_DC_send_cx_release_request(struct cx_entity *cx,struct nas_priv *gpriv);
-void nas_mesh_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,struct nas_priv *gpriv);
+void nas_mesh_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst, struct nas_priv *gpriv);
 
 // iocontrol.c
 void nas_CTL_send(struct sk_buff *skb,
                   struct cx_entity *cx,
-                  struct classifier_entity *gc);
+                  struct classifier_entity *gc,int inst, struct nas_priv *gpriv);
 //int nas_CTL_receive_authentication(struct ipv6hdr *iph, struct cx-entity *cx, unsigned char sapi);
 int nas_CTL_ioctl(struct net_device *dev,
                   struct ifreq *ifr, int cmd);
diff --git a/openair2/NETWORK_DRIVER/UE_IP/common.c b/openair2/NETWORK_DRIVER/UE_IP/common.c
index 1ea5df0d30c9600b0b3e9009639096350fe6d61c..8c3e4557d36d109efcf7198a41a033a906897108 100644
--- a/openair2/NETWORK_DRIVER/UE_IP/common.c
+++ b/openair2/NETWORK_DRIVER/UE_IP/common.c
@@ -123,9 +123,7 @@ skb_p->mark = rb_idP;
 
   // LG TEST skb_p->ip_summed = CHECKSUM_NONE;
   skb_p->ip_summed = CHECKSUM_UNNECESSARY;
-
-
-  ipv_p = (struct ipversion*)((void*)&(skb_p->data[hard_header_len]));
+  ipv_p = (ipversion_t *)((void *)&(skb_p->data[hard_header_len]));
 
   switch (ipv_p->version) {
 
diff --git a/openair2/NETWORK_DRIVER/UE_IP/device.c b/openair2/NETWORK_DRIVER/UE_IP/device.c
index cfd734286222ceeade640147df282ac8a8c32ab5..a4f714d4c5537218896398f5fd6d92dbee44a12e 100644
--- a/openair2/NETWORK_DRIVER/UE_IP/device.c
+++ b/openair2/NETWORK_DRIVER/UE_IP/device.c
@@ -243,7 +243,11 @@ int ue_ip_hard_start_xmit(struct sk_buff *skb_pP, struct net_device *dev_pP)
 
     // End debug information
     netif_stop_queue(dev_pP);
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+    netif_trans_update(dev_pP);
+#else
     dev_pP->trans_start = jiffies;
+#endif
 #ifdef OAI_DRV_DEBUG_DEVICE
     printk("[UE_IP_DRV][%s] step 1\n", __FUNCTION__);
 #endif
@@ -315,7 +319,11 @@ void ue_ip_tx_timeout(struct net_device *dev_pP)
   printk("[UE_IP_DRV][%s] begin\n", __FUNCTION__);
   //  (ue_ip_priv_t *)(dev_pP->priv_p)->stats.tx_errors++;
   (priv_p->stats).tx_errors++;
+#if  LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
+  netif_trans_update(dev_pP);
+#else
   dev_pP->trans_start = jiffies;
+#endif
   netif_wake_queue(dev_pP);
   printk("[UE_IP_DRV][%s] transmit timed out %s\n", __FUNCTION__,dev_pP->name);
 }
diff --git a/openair2/PHY_INTERFACE/defs.h b/openair2/PHY_INTERFACE/defs.h
index 497325205491c028ec944dc80d68b929e24b1bea..5769d94a377002ed48e11839fce424970080dc99 100644
--- a/openair2/PHY_INTERFACE/defs.h
+++ b/openair2/PHY_INTERFACE/defs.h
@@ -112,7 +112,7 @@ typedef struct {
                               AdditionalSpectrumEmission_t *additionalSpectrumEmission,
                               struct MBSFN_SubframeConfigList *mbsfn_SubframeConfigList);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   /// Configure Common PHY parameters from SIB13
   void (*phy_config_sib13_eNB)(module_id_t Mod_id,int CC_id, int mbsfn_Area_idx,
                                long mbsfn_AreaId_r9);
@@ -127,7 +127,7 @@ typedef struct {
   void (*phy_config_dedicated_eNB)(module_id_t Mod_id,int CC_id,rnti_t rnti,
                                    struct PhysicalConfigDedicated *physicalConfigDedicated);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   /// Get MCH sdu and corresponding MCS for particular MBSFN subframe
   MCH_PDU* (*get_mch_sdu)(module_id_t Mod_id, int CC_id, frame_t frameP,sub_frame_t subframe);
 #endif
@@ -154,7 +154,7 @@ typedef struct {
   /// Send a received DLSCH sdu to MAC
   void (*ue_send_sdu)(module_id_t Mod_id,uint8_t CC_id,frame_t frameP,sub_frame_t subframe,uint8_t *sdu,uint16_t sdu_len,uint8_t CH_index);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   /// Send a received MCH sdu to MAC
   void (*ue_send_mch_sdu)(module_id_t Mod_id,uint8_t CC_id, frame_t frameP,uint8_t *sdu,uint16_t sdu_len,uint8_t eNB_index,uint8_t sync_area);
 
@@ -202,7 +202,7 @@ typedef struct {
                              AdditionalSpectrumEmission_t *additionalSpectrumEmission,
                              struct MBSFN_SubframeConfigList  *mbsfn_SubframeConfigList);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   /// Configure Common PHY parameters from SIB13
   void (*phy_config_sib13_ue)(uint8_t Mod_id,int CC_id, uint8_t eNB_index,int mbsfn_Area_idx,
                               long mbsfn_AreaId_r9);
diff --git a/openair2/RRC/LITE/L2_interface.c b/openair2/RRC/LITE/L2_interface.c
index fa5a4d64097aad4195791c7e366f70626eb6ecfe..64734cac9a554a967069021d2c32e7a45b70d8df 100644
--- a/openair2/RRC/LITE/L2_interface.c
+++ b/openair2/RRC/LITE/L2_interface.c
@@ -222,7 +222,7 @@ mac_rrc_data_req(
       return (Sdu_size);
     }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
     if((Srb_id & RAB_OFFSET) == MCCH) {
       if(eNB_rrc_inst[Mod_idP].carrier[CC_id].MCCH_MESS[mbsfn_sync_area].Active==0) {
@@ -281,7 +281,7 @@ mac_rrc_data_req(
       //return(0);
     }
 
-#endif //Rel10
+#endif //Rel10 || Rel14
   } else {  //This is an UE
 
     LOG_D(RRC,"[UE %d] Frame %d Filling CCCH SRB_ID %d\n",Mod_idP,frameP,Srb_id);
@@ -428,7 +428,7 @@ mac_rrc_data_ind(
       }
     }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
     if ((srb_idP & RAB_OFFSET) == MCCH) {
       LOG_T(RRC,"[UE %d] Frame %d: Received SDU on MBSFN sync area %d for MCCH on SRB %d from eNB %d\n",
@@ -459,7 +459,7 @@ mac_rrc_data_ind(
 #endif
     }
 
-#endif // Rel10
+#endif // Rel10 || Rel14
 
   } else { // This is an eNB
     Srb_info = &eNB_rrc_inst[module_idP].carrier[CC_id].Srb0;
diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
index 4537303fca9df1e906dd3520fe7b4c79d5fc5ed7..c5cfbdd2dc45050f0d7f83d017a2ef11106a7eac 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
@@ -58,7 +58,7 @@
 #include "RRCConnectionSetup.h"
 #include "SRB-ToAddModList.h"
 #include "DRB-ToAddModList.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "MCCH-Message.h"
 //#define MRB1 1
 #endif
@@ -614,7 +614,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
                  BCCH_DL_SCH_Message_t *bcch_message,
                  SystemInformationBlockType2_t **sib2,
                  SystemInformationBlockType3_t **sib3
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                  ,
                  SystemInformationBlockType13_r9_t **sib13,
                  uint8_t MBMS_flag
@@ -625,7 +625,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
                 )
 {
   struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part;
   MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList;
   MBSFN_AreaInfoList_r9_t *MBSFNArea_list;
@@ -650,7 +650,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
     exit(-1);
   }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   LOG_I(RRC,"[eNB %d] Configuration SIB2/3, MBMS = %d\n", Mod_id, MBMS_flag);
 #else
   LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id);
@@ -666,7 +666,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   *sib2 = &sib2_part->choice.sib2;
   *sib3 = &sib3_part->choice.sib3;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (MBMS_flag > 0) {
     sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
@@ -680,7 +680,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   // sib2
 
   (*sib2)->ac_BarringInfo = NULL;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #if 0
   (*sib2)->ssac_BarringForMMTEL_Voice_r9 = NULL;
   (*sib2)->ssac_BarringForMMTEL_Video_r9 = NULL;
@@ -769,7 +769,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
     = configuration->pucch_nRB_CQI[CC_id];
   (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN
     = configuration->pucch_nCS_AN[CC_id];
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
   (*sib2)->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN
     = configuration->pucch_n1_AN[CC_id];
 #endif
@@ -929,7 +929,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   (*sib2)->freqInfo.ul_Bandwidth = NULL;
   //  (*sib2)->mbsfn_SubframeConfigList = NULL;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (MBMS_flag > 0) {
     LOG_I(RRC,"Adding MBSFN subframe Configuration 1 to SIB2\n");
@@ -985,7 +985,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   (*sib2)->timeAlignmentTimerCommon=TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120;
 
   /// (*SIB3)
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   (*sib3)->ext1 = NULL;
 #if 0
   (*sib3)->s_IntraSearch_v920=NULL;
@@ -1020,7 +1020,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
 
   // SIB13
   // fill in all elements of SIB13 if present
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (MBMS_flag > 0 ) {
     //  Notification for mcch change
@@ -1102,7 +1102,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
                    sib2_part);
   ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,
                    sib3_part);
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (MBMS_flag > 0) {
     ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,sib13_part);
@@ -1563,7 +1563,7 @@ do_RRCConnectionSetup(
   // CQI ReportConfig
 
   physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic));
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic= CQI_ReportModeAperiodic_rm30;
 #else
   *physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportModeAperiodic=CQI_ReportConfig__cqi_ReportModeAperiodic_rm30; // HLC CQI, no PMI
@@ -1593,8 +1593,33 @@ do_RRCConnectionSetup(
           SoundingRS_UL_ConfigDedicated__setup__srs_HoppingBandwidth_hbw0;
     physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.freqDomainPosition=0;
     physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.duration=1;
-    physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=45;
-    physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb=0;
+    if (frame_parms->frame_type==FDD) {
+      if (enb_properties.properties[ctxt_pP->module_id]->srs_SubframeConfig[CC_id]!=0) 
+	LOG_W(RRC,"This code has been optimized for SRS Subframe Config 0, but current config is %d. Expect undefined behaviour!\n",
+	      enb_properties.properties[ctxt_pP->module_id]->srs_SubframeConfig[CC_id]);
+      if (ue_context_pP->local_uid >=20) 
+	LOG_W(RRC,"This code has been optimized for up to 10 UEs, but current UE_id is %d. Expect undefined behaviour!\n",
+	      ue_context_pP->local_uid);
+      //the current code will allow for 20 UEs - to be revised for more
+      physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=7+ue_context_pP->local_uid/2;
+      physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2;
+    }
+    else {
+      if (enb_properties.properties[ctxt_pP->module_id]->srs_SubframeConfig[CC_id]!=7) {
+	LOG_W(RRC,"This code has been optimized for SRS Subframe Config 7 and TDD config 3, but current configs are %d and %d. Expect undefined behaviour!\n",
+	      enb_properties.properties[ctxt_pP->module_id]->srs_SubframeConfig[CC_id],
+	      enb_properties.properties[ctxt_pP->module_id]->tdd_config[CC_id]);
+      }
+      if (ue_context_pP->local_uid >=6) 
+	LOG_W(RRC,"This code has been optimized for up to 6 UEs, but current UE_id is %d. Expect undefined behaviour!\n",
+	      ue_context_pP->local_uid);
+      physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex=17+ue_context_pP->local_uid/2;
+      physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb= ue_context_pP->local_uid%2;
+    }
+    LOG_W(RRC,"local UID %d, srs ConfigIndex %d, TransmissionComb %d\n",ue_context_pP->local_uid,
+	  physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.srs_ConfigIndex,
+	  physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.transmissionComb);
+
     physicalConfigDedicated2->soundingRS_UL_ConfigDedicated->choice.setup.cyclicShift=
           SoundingRS_UL_ConfigDedicated__setup__cyclicShift_cs0;
   }
@@ -1776,7 +1801,7 @@ do_SecurityModeCommand(
     SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8;
   // the two following information could be based on the mod_id
   dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm
-    = (e_SecurityAlgorithmConfig__cipheringAlgorithm)cipheringAlgorithm;
+    = (CipheringAlgorithm_r12_t)cipheringAlgorithm;
   dl_dcch_msg.message.choice.c1.choice.securityModeCommand.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm
     = (e_SecurityAlgorithmConfig__integrityProtAlgorithm)integrityProtAlgorithm;
 
@@ -1929,7 +1954,7 @@ do_RRCConnectionReconfiguration(
   struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList
   *dedicatedInfoNASList
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   , SCellToAddMod_r10_t  *SCell_config
 #endif
 )
@@ -2224,7 +2249,7 @@ uint8_t do_RRCConnectionRelease(
 uint8_t TMGI[5] = {4,3,2,1,0};//TMGI is a string of octet, ref. TS 24.008 fig. 10.5.4a
 
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
                            LTE_DL_FRAME_PARMS *frame_parms,
                            uint8_t sync_area,
@@ -2396,7 +2421,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
       sizeof(*measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.nonCriticalExtension));
 
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measId=measid;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrpResult=rsrp_s;
   measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultPCell.rsrqResult=rsrq_s;
 #else
diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.h b/openair2/RRC/LITE/MESSAGES/asn1_msg.h
index 881a778030294a2d1e9262c57fedd43dd6576f64..4466457075a0566e380ed62dbac679d46ed365d9 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.h
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.h
@@ -93,7 +93,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
                  BCCH_DL_SCH_Message_t *systemInformation,
                  SystemInformationBlockType2_t **sib2,
                  SystemInformationBlockType3_t **sib3
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                  ,
                  SystemInformationBlockType13_r9_t **sib13,
                  uint8_t MBMS_flag
@@ -197,7 +197,7 @@ do_RRCConnectionReconfiguration(
     RSRP_Range_t                       *rsrp,
     C_RNTI_t                           *cba_rnti,
   struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList* dedicatedInfoNASList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     , SCellToAddMod_r10_t  *SCell_config
 #endif
                                         );
@@ -238,7 +238,7 @@ uint8_t do_RRCConnectionRelease(uint8_t Mod_id, uint8_t *buffer,int Transaction_
  * @returns Size of encoded bit stream in bytes
 */
 uint8_t do_MCCHMessage(uint8_t *buffer);
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 /***
  * \brief Generate an MCCH-Message (eNB). This routine configures MBSFNAreaConfiguration (PMCH-InfoList and Subframe Allocation for MBMS data)
  * @param buffer Pointer to PER-encoded ASN.1 description of MCCH-Message PDU
diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn
new file mode 100644
index 0000000000000000000000000000000000000000..cb13f30c0eef108b1d09e1bd68cbbab424c332cc
--- /dev/null
+++ b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn
@@ -0,0 +1,12010 @@
+
+EUTRA-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+
+BCCH-BCH-Message ::= SEQUENCE {
+    message                 BCCH-BCH-MessageType
+}
+
+BCCH-BCH-MessageType ::=                        MasterInformationBlock
+
+
+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 {}
+}
+
+
+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   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, 
+        spare3 NULL, 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 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,
+            spare9 NULL, spare8 NULL, spare7 NULL,
+            spare6 NULL, spare5 NULL, spare4 NULL,
+            spare3 NULL, spare2 NULL, spare1 NULL
+        },
+        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   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                SEQUENCE {}                         OPTIONAL
+}
+
+DRB-CountMSB-InfoList ::=       SEQUENCE (SIZE (1..maxDRB)) OF DRB-CountMSB-Info
+
+DRB-CountMSB-Info ::=   SEQUENCE {
+    drb-Identity                    DRB-Identity,
+    countMSB-Uplink                 INTEGER(0..33554431),
+    countMSB-Downlink               INTEGER(0..33554431)
+}
+
+
+CounterCheckResponse ::=            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                SEQUENCE {}                         OPTIONAL
+}
+
+DRB-CountInfoList ::=           SEQUENCE (SIZE (0..maxDRB)) OF DRB-CountInfo
+
+DRB-CountInfo ::=   SEQUENCE {
+    drb-Identity                    DRB-Identity,
+    count-Uplink                    INTEGER(0..4294967295),
+    count-Downlink                  INTEGER(0..4294967295)
+}
+
+
+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
+}
+
+
+DLInformationTransfer ::=           SEQUENCE {
+    rrc-TransactionIdentifier           RRC-TransactionIdentifier,
+    criticalExtensions                  CHOICE {
+        c1                                  CHOICE {
+            dlInformationTransfer-r8            DLInformationTransfer-r8-IEs,
+            spare3 NULL, 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                SEQUENCE {}                         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                    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
+}
+
+
+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
+    ]]
+}
+
+
+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            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),
+    spare                               BIT STRING (SIZE (5))
+}
+
+
+
+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                SEQUENCE {}                     OPTIONAL
+}
+
+
+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                SEQUENCE {}                         OPTIONAL
+}
+
+CommonSF-AllocPatternList-r9 ::=    SEQUENCE (SIZE (1..maxMBSFN-Allocations)) OF MBSFN-SubframeConfig
+
+
+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                SEQUENCE {}                 OPTIONAL
+}
+
+Handover ::=                        SEQUENCE {
+    targetRAT-Type                      ENUMERATED {
+                                            utra, geran, cdma2000-1XRTT, cdma2000-HRPD,
+                                            spare4, spare3, spare2, spare1, ...},
+    targetRAT-MessageContainer          OCTET STRING,
+    nas-SecurityParamFromEUTRA          OCTET STRING (SIZE (1))     OPTIONAL,   -- Cond UTRAGERAN
+    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            SEQUENCE {}                         OPTIONAL
+}
+
+PagingRecordList ::=                SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord
+
+PagingRecord ::=                    SEQUENCE {
+    ue-Identity                         PagingUE-Identity,
+    cn-Domain                           ENUMERATED  {ps, cs},
+    ...
+}
+
+PagingUE-Identity ::=               CHOICE {
+    s-TMSI                              S-TMSI,
+    imsi                                IMSI,
+    ...
+}
+
+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
+}
+
+
+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
+    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
+    -- Following field is only for late non-critical extensions from REL-10
+    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-v14x0-IEs                      OPTIONAL
+}
+
+RRCConnectionReconfiguration-v14x0-IEs ::= SEQUENCE {
+    sl-V2X-ConfigDedicated-r14      SL-V2X-ConfigDedicated-r14          OPTIONAL,   -- Need ON
+    sCellToAddModListExt-v14xy      SCellToAddModListExt-v14xy          OPTIONAL,   -- Need ON
+    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
+    ]]
+}
+
+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
+
+SCellToAddModListExt-r13 ::=    SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddModExt-r13
+
+SCellToAddModListExt-v14xy ::=  SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellToAddModExt-v14xy
+
+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
+    ]]
+}
+
+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-v14xy ::=          SEQUENCE {
+    srs-SwitchFromServCellIndex-r14         INTEGER (0.. 31) OPTIONAL   -- Need ON
+}
+
+SCellToReleaseList-r10 ::=          SEQUENCE (SIZE (1..maxSCell-r10)) OF SCellIndex-r10
+
+SCellToReleaseListExt-r13 ::=           SEQUENCE (SIZE (1..maxSCell-r13)) OF SCellIndex-r13
+
+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-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
+    ]]
+}
+
+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))
+        }
+    },
+    ...
+}
+
+
+
+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                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                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                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
+}
+
+RedirectedCarrierInfo-v9e0 ::=          SEQUENCE {
+    eutra-v9e0                              ARFCN-ValueEUTRA-v9e0
+}
+
+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
+    ]]
+}
+
+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
+}
+
+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
+}
+
+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,
+        criticalExtensionsFuture            SEQUENCE {}
+    }
+}
+
+RRCConnectionRequest-r8-IEs ::=     SEQUENCE {
+    ue-Identity                         InitialUE-Identity,
+    establishmentCause                  EstablishmentCause,
+    spare                               BIT STRING (SIZE (1))
+}
+
+InitialUE-Identity ::=              CHOICE {
+    s-TMSI                              S-TMSI,
+    randomValue                         BIT STRING (SIZE (40))
+}
+
+EstablishmentCause ::=              ENUMERATED {
+                                        emergency, highPriorityAccess, mt-Access, mo-Signalling,
+                                        mo-Data, delayTolerantAccess-v1020, mo-VoiceCall-v1280, 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,
+    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                SEQUENCE {}                     OPTIONAL
+}
+
+
+RRCConnectionResumeRequest-r13 ::=  SEQUENCE {
+    criticalExtensions                      CHOICE {
+        rrcConnectionResumeRequest-r13          RRCConnectionResumeRequest-r13-IEs, 
+        criticalExtensionsFuture                SEQUENCE {}
+    }
+}
+
+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))
+}
+
+ResumeCause ::=             ENUMERATED {
+                                        emergency, highPriorityAccess, mt-Access, mo-Signalling,
+                                        mo-Data, delayTolerantAccess-v1020, mo-VoiceCall-v1280, 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                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                    SEQUENCE {}                     OPTIONAL
+}
+
+RegisteredMME ::=                   SEQUENCE {
+    plmn-Identity                       PLMN-Identity                       OPTIONAL,
+    mmegi                               BIT STRING (SIZE (16)),
+    mmec                                MMEC
+}
+
+
+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-v1310-IEs OPTIONAL
+}
+
+SCGFailureInformation-v1310-IEs ::= SEQUENCE {
+    lateNonCriticalExtension            OCTET STRING                        OPTIONAL,
+    nonCriticalExtension                SEQUENCE {}                         OPTIONAL
+}
+
+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
+    ]]
+}
+
+
+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
+}
+
+
+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-v14x0-IEs                 OPTIONAL
+}
+
+SidelinkUEInformation-v14x0-IEs ::= SEQUENCE {
+    v2x-CommRxInterestedFreq-r14        INTEGER (0..maxFreq)                OPTIONAL,
+    v2x-CommTxResourceReq-r14           V2X-CommTxResourceReq-r14           OPTIONAL,
+    nonCriticalExtension                SEQUENCE {}                         OPTIONAL
+}
+
+SL-CommTxResourceReq-r12 ::=        SEQUENCE {
+    carrierFreq-r12                 ARFCN-ValueEUTRA-r9         OPTIONAL,
+    destinationInfoList-r12         SL-DestinationInfoList-r12
+}
+
+V2X-CommTxResourceReq-r14 ::=   SEQUENCE {
+    v2x-CommTxFreq-r14              INTEGER (0..maxFreq)                OPTIONAL,
+    v2x-DestinationInfoList-r14     SL-DestinationInfoList-r12          OPTIONAL
+}
+
+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
+
+
+SystemInformation-BR-r13 ::=    SystemInformation
+
+SystemInformation ::=               SEQUENCE {
+    criticalExtensions                  CHOICE {
+        systemInformation-r8                SystemInformation-r8-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-v14x0                         SystemInformationBlockType21-r14
+    },
+    nonCriticalExtension                SystemInformation-v8a0-IEs          OPTIONAL
+}
+
+SystemInformation-v8a0-IEs ::= SEQUENCE {
+    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                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,   -- Need OR
+        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-v14xy-IEs                   OPTIONAL
+}
+
+SystemInformationBlockType1-v14xy-IEs ::=   SEQUENCE {
+    eCallOverIMS-Support-r14                ENUMERATED {true}           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}
+}
+
+SchedulingInfoList ::= SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo
+
+SchedulingInfo ::=  SEQUENCE {
+    si-Periodicity                      ENUMERATED {
+                                            rf8, rf16, rf32, rf64, rf128, rf256, rf512},
+    sib-MappingInfo                     SIB-MappingInfo
+}
+
+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-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-v14x0}
+
+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
+}
+
+
+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                SEQUENCE {}                         OPTIONAL
+}
+
+
+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                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
+}
+
+
+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                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                          SEQUENCE {
+        numberOfPreamblesSent-r9                NumberOfPreamblesSent-r11,
+        contentionDetected-r9                   BOOLEAN
+    }                                                               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                SEQUENCE {}                     OPTIONAL
+}
+
+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
+    ]]
+}
+
+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,
+    ...
+}
+
+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
+    ]]
+}
+
+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
+
+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
+    ]]
+}
+
+NumberOfPreamblesSent-r11::=            INTEGER (1..200)
+
+TimeSinceFailure-r11 ::=                INTEGER (0..172800)
+
+MobilityHistoryReport-r12 ::=   VisitedCellInfoList-r12
+
+
+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,
+            spare3 NULL, 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
+}
+
+
+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            SEQUENCE {}                         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
+    ]]
+
+}
+
+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                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
+
+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 
+}
+
+
+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
+        ]]
+}
+
+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
+}
+
+-- Late non critical extensions
+SystemInformationBlockType3-v10j0-IEs ::= SEQUENCE {
+    freqBandInfo-r10                    NS-PmaxList-r10             OPTIONAL,   -- Need OR
+    multiBandInfoList-v10j0             MultiBandInfoList-v10j0     OPTIONAL,   -- Need OR
+    nonCriticalExtension                SEQUENCE {}                 OPTIONAL
+}
+
+
+SystemInformationBlockType4 ::=     SEQUENCE {
+    intraFreqNeighCellList              IntraFreqNeighCellList      OPTIONAL,   -- Need OR
+    intraFreqBlackCellList              IntraFreqBlackCellList              OPTIONAL,   -- Need OR
+    csg-PhysCellIdRange                 PhysCellIdRange             OPTIONAL,   -- Cond CSG
+    ...,
+    lateNonCriticalExtension                OCTET STRING                OPTIONAL
+}
+
+IntraFreqNeighCellList ::=      SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo
+
+IntraFreqNeighCellInfo ::=      SEQUENCE {
+    physCellId                              PhysCellId,
+    q-OffsetCell                            Q-OffsetRange,
+    ...
+}
+
+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
+    ]]
+}
+
+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            SEQUENCE {}                     OPTIONAL
+}
+
+InterFreqCarrierFreqList ::=        SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo
+
+InterFreqCarrierFreqList-v1250 ::=  SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v1250
+
+InterFreqCarrierFreqListExt-r12 ::= SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-r12
+
+InterFreqCarrierFreqListExt-v1280 ::=   SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v10j0
+
+InterFreqCarrierFreqList-v1310 ::=  SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v1310
+
+InterFreqCarrierFreqListExt-v1310 ::=   SEQUENCE (SIZE (1.. maxFreq)) OF InterFreqCarrierFreqInfo-v1310
+
+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-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
+}
+
+InterFreqNeighCellList ::=          SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo
+
+InterFreqNeighCellInfo ::=          SEQUENCE {
+    physCellId                          PhysCellId,
+    q-OffsetCell                        Q-OffsetRange
+}
+
+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,
+    ...
+}
+
+
+SystemInformationBlockType13-r9 ::= SEQUENCE {
+    mbsfn-AreaInfoList-r9               MBSFN-AreaInfoList-r9,
+    notificationConfig-r9               MBMS-NotificationConfig-r9,
+    lateNonCriticalExtension            OCTET STRING                    OPTIONAL,
+    ...
+}
+
+
+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-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-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
+}
+
+
+
+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,
+    ...
+}
+
+
+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-RepetionPeriod-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,
+    ...
+}
+
+
+SystemInformationBlockType21-r14 ::= SEQUENCE {
+    sl-V2X-ConfigCommon-r14         SL-V2X-ConfigCommon-r14         OPTIONAL,   -- Need OR
+    lateNonCriticalExtension        OCTET STRING                    OPTIONAL,
+    ...
+}
+
+SL-V2X-ConfigCommon-r14 ::=     SEQUENCE {
+    v2x-CommRxPool-r14                  SL-CommRxPoolListV2X-r14            OPTIONAL,   -- Need OR
+    v2x-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
+}
+
+SL-CommTxPoolSensingConfig-r14 ::=      SEQUENCE {
+    pssch-TxConfigList-r14                  SL-PSSCH-TxConfigList-r14,
+    thresPSSCH-RSRP-List-r14                SL-ThresPSSCH-RSRP-List-r14,
+    restrictResourceReservationPeriodList-r14   SL-RestrictResourceReservationPeriodList-r14    OPTIONAL,   -- Need OR
+    probResourceKeep-r14                ENUMERATED {v0, v0dot2, v0dot4, v0dot6, v0dot8,
+                                                    spare3,spare2, spare1}
+}
+
+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
+}
+
+
+AntennaInfoUL-r10 ::=       SEQUENCE {
+    transmissionModeUL-r10              ENUMERATED {tm1, tm2, spare6, spare5,
+                                                    spare4, spare3, spare2, spare1} OPTIONAL,   -- Need OR
+    fourAntennaPortActivated-r10            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-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-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-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-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-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
+}
+
+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)
+}
+
+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
+    ]]
+}
+
+
+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
+}
+
+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-ConfigEMIMO-r13 ::=  CHOICE {
+    release                     NULL,
+    setup                       CHOICE {
+        nonPrecoded-r13             CSI-RS-ConfigNonPrecoded-r13,
+        beamformed-r13              CSI-RS-ConfigBeamformed-r13
+    }
+}
+
+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-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-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
+    ]]
+}
+
+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
+        }
+}
+
+NZP-ResourceConfig-r13 ::=  SEQUENCE {
+    resourceConfig-r13              ResourceConfig-r13,
+    ...
+}
+
+ResourceConfig-r13 ::=              INTEGER (0..31)
+
+
+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-ConfigZPId-r11 ::=                   INTEGER (1..maxCSI-RS-ZP-r11)
+
+
+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
+                }
+        }
+    }
+}
+
+
+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-Allowed-r14                 BOOLEAN                 OPTIONAL        -- Need ON
+    ]]
+}
+
+
+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
+    ...
+}
+
+
+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
+    ]]
+}
+
+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 
+}
+
+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-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
+
+
+PDCCH-ConfigSCell-r13 ::=       SEQUENCE {
+    skipMonitoringDCI-format0-1A-r13    ENUMERATED {true}               OPTIONAL    -- Need OR
+}
+
+PDCCH-ConfigLAA-r14 ::=     SEQUENCE {
+    enableMonitoringDCI-Format0B-r14    CHOICE {
+        release                             NULL,
+        setup                               SEQUENCE {
+            maxNumberOfSchedSubframes-Format0B-r14  ENUMERATED {sf2, sf3, sf4}
+        }
+    }                                                                   OPTIONAL,       -- Need ON
+    enableMonitoringDCI-Format4B-r14    CHOICE {
+        release                             NULL,
+        setup                               SEQUENCE {
+            maxNumberOfSchedSubframes-Format4B-r14  ENUMERATED {sf2, sf3, sf4}
+        }
+    }                                                                   OPTIONAL,       -- Need ON
+    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
+    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 
+    ]]
+
+}
+
+
+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
+}
+
+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
+    ...
+}
+
+
+PDSCH-RE-MappingQCL-ConfigId-r11 ::=        INTEGER (1..maxRE-MapQCL-r11)
+
+
+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           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
+    ]]
+
+}
+
+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-v14xy                    LAA-SCellConfiguration-v14xy    OPTIONAL,       -- Need ON      
+        typeB-SRS-TPC-PDCCH-Config-r14                      SRS-TPC-PDCCH-Config-r14            OPTIONAL,       -- Need ON
+
+        uplinkPUSCH-LessPowerControlDedicated-v14xy         UplinkPUSCH-LessPowerControlDedicated-v14xy 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 SoundingRSAperiodicGroup-r14                       OPTIONAL,      -- Cond AperiodicSRS
+        soundingRS-UL-AperiodicConfigDedicatedUpPTsExtList-r14                  SEQUENCE (SIZE (1..4)) OF SoundingRSAperiodicGroupUpPTsExt-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
+    ]]
+}
+
+LAA-SCellConfiguration-r13 ::=          SEQUENCE {
+    subframeStartPosition-r13               ENUMERATED {s0, s07},
+    laa-SCellSubframeConfig-r13             BIT STRING (SIZE(8))
+}
+
+LAA-SCellConfiguration-v14xy ::=        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-v14xy
+                        SoundingRS-UL-ConfigDedicatedAperiodic-v14xy    OPTIONAL        -- Need ON
+}
+
+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-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-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
+
+SoundingRSAperiodicGroup-r14 ::= SEQUENCE{
+    srsCcGroupIndexList                 SEQUENCE (SIZE (1..4)) OF SrsCcGroupIndex OPTIONAL, -- Cond Srs-Trigger-TypeA
+    soundingRS-UL-ConfigDedicatedAperiodic-r10      SoundingRS-UL-ConfigDedicatedAperiodic-r10
+}
+
+SoundingRSAperiodicGroupUpPTsExt-r14 ::= SEQUENCE{
+    srsCcGroupIndexList                 SEQUENCE (SIZE (1..4)) OF SrsCcGroupIndex OPTIONAL, -- Cond Srs-Trigger-TypeA
+    soundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13      SoundingRS-UL-ConfigDedicatedAperiodicUpPTsExt-r13
+}
+
+
+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-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 HO
+    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-v14xy ::=              SEQUENCE {
+    rootSequenceIndexHighSpeed-r14              INTEGER (0..837),
+    zeroCorrelationZoneConfigHighSpeed-r14      INTEGER (0..12)
+}
+
+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}
+}
+
+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-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                             SEQUENCE {
+            n3PUCCH-AN-List-r10 SEQUENCE (SIZE (1..4)) OF INTEGER (0..549)  OPTIONAL,   -- Need ON
+            twoAntennaPortActivatedPUCCH-Format3-r10        CHOICE {    
+                release                                         NULL,
+                setup                                           SEQUENCE {
+                    n3PUCCH-AN-ListP1-r10   SEQUENCE (SIZE (1..4)) OF INTEGER (0..549)
+                }
+            }                                                               OPTIONAL    -- Need ON
+        },
+        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,
+                    n1PUCCH-AN-CS-ListP1-r13            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
+}
+
+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)
+
+
+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-ConfigDedicatedSCell-r10 ::=      SEQUENCE {
+    groupHoppingDisabled-r10                ENUMERATED {true}               OPTIONAL,   -- Need OR
+    dmrs-WithOCC-Activated-r10              ENUMERATED {true}               OPTIONAL    -- Need OR
+}
+
+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
+    ]]
+}
+
+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},
+    ...
+}
+
+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-v14xy              PRACH-Config-v14xy                  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-v14xy              PRACH-Config-v14xy                  OPTIONAL    -- Need OR
+    ]]
+}
+
+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
+    ]]
+}
+
+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-v14xy              PRACH-Config-v14xy                  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-v14xy                                                UplinkPowerControlCommonPUSCH-LessCell-v14xy    OPTIONAL    -- Need OR
+}                                                                   OPTIONAL,   -- Cond ULSRS
+    harq-ReferenceConfig-r14                    ENUMERATED {sa2,sa4,sa5}    OPTIONAL,       -- Need OR
+    soundingRS-FlexibleTiming-r14               ENUMERATED {true}           OPTIONAL        -- Need OR
+    ]]  
+}
+
+BCCH-Config ::=                     SEQUENCE {
+    modificationPeriodCoeff             ENUMERATED {n2, n4, n8, n16}
+}
+
+BCCH-Config-v1310 ::=               SEQUENCE {
+    modificationPeriodCoeff-v1310       ENUMERATED {n64}
+}
+
+FreqHoppingParameters-r13 ::=       SEQUENCE {
+    mpdcch-pdsch-HoppingNB-r13          ENUMERATED {nb2, nb4}               OPTIONAL,   -- Cond HO 
+    interval-DLHoppingConfigCommonModeA-r13 CHOICE {
+        interval-FDD-r13                        ENUMERATED {int1, int2, int4, int8},
+        interval-TDD-r13                        ENUMERATED {int1, int5, int10, int20}
+    }                                                                       OPTIONAL,   -- Cond HO 
+    interval-DLHoppingConfigCommonModeB-r13 CHOICE {
+        interval-FDD-r13                        ENUMERATED {int2, int4, int8, int16},
+        interval-TDD-r13                        ENUMERATED { int5, int10, int20, int40}
+    }                                                                                               OPTIONAL,   -- Cond HO 
+    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
+    mpdcch-pdsch-HoppingOffset-r13              INTEGER (1..maxAvailNarrowBands-r13)
+                                                                            OPTIONAL    -- Cond HO 
+}
+
+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
+}
+
+HighSpeedConfigSCell-r14 ::=        SEQUENCE {
+    highSpeedEnhancedDemodulationFlag-r14   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
+    ]]
+}
+
+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
+    ]]
+}
+
+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
+    ...
+}
+
+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
+    ]]
+
+}
+
+SRB-ToAddModList ::=                SEQUENCE (SIZE (1..2)) 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
+    ...
+}
+
+DRB-ToAddModList ::=                SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod
+
+DRB-ToAddModListSCG-r12 ::=     SEQUENCE (SIZE (1..maxDRB)) 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-v14xy                    RLC-Config-v14xy        OPTIONAL,       -- Need ON
+        lwip-UL-Aggregation-r14             BOOLEAN                 OPTIONAL,       -- Cond LWIP
+        lwip-DL-Aggregation-r14             BOOLEAN                 OPTIONAL        -- Cond LWIP
+    ]]
+}
+
+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-v14xy                    RLC-Config-v14xy        OPTIONAL        -- Need ON
+    ]]
+}
+
+DRB-ToReleaseList ::=               SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity
+
+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,
+    ...
+}
+
+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
+    ...
+}
+
+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}
+
+
+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
+    },
+    ...
+}
+
+
+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-v14xy ::=                CHOICE {
+    release                             NULL,
+    setup                               SEQUENCE {
+        pollByte-r14                        PollByte-r14
+    }
+}
+
+UL-AM-RLC ::=                       SEQUENCE {
+    t-PollRetransmit                    T-PollRetransmit,
+    pollPDU                             PollPDU,
+    pollByte                            PollByte,
+    maxRetxThreshold                    ENUMERATED {
+                                            t1, t2, t3, t4, t6, t8, t16, t32}
+}
+
+DL-AM-RLC ::=                       SEQUENCE {
+    t-Reordering                        T-Reordering,
+    t-StatusProhibit                    T-StatusProhibit
+}
+
+UL-UM-RLC ::=                       SEQUENCE {
+    sn-FieldLength                      SN-FieldLength
+}
+
+DL-UM-RLC ::=                       SEQUENCE {
+    sn-FieldLength                      SN-FieldLength,
+    t-Reordering                        T-Reordering
+}
+
+SN-FieldLength ::=                  ENUMERATED {size5, size10}
+
+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}
+
+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},
+        ...
+    }
+}
+
+
+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
+    ...
+}
+
+
+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}
+    }
+    
+}
+
+
+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-v14xy ::=    CHOICE{
+    release                             NULL,
+    setup                               SEQUENCE {      
+        srs-SubframeIndication-r14          INTEGER (1..4)  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}
+
+
+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-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-v14xy,
+                                                sf2-v14xy, sf3-v14xy, sf4-v14xy, sf5-v14xy,
+                                                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
+        ]]
+    }
+}
+
+N1PUCCH-AN-PersistentList ::=       SEQUENCE (SIZE (1..4)) OF INTEGER (0..2047)
+
+
+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), 
+        srsCcGroupIndexlist                                 SEQUENCE (SIZE(1..4)) OF SrsCcGroupIndex    OPTIONAL    -- Cond Srs-Trigger-TypeA       
+
+    }
+}
+
+SrsCcGroupIndex ::=                     INTEGER (0..3)
+
+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-ConfigSL-r12 ::=        SEQUENCE {
+    subframeAssignmentSL-r12                ENUMERATED {
+                                            none, sa0, sa1, sa2, sa3, sa4, sa5, sa6}
+}
+
+
+TimeAlignmentTimer ::=                  ENUMERATED {
+                                                sf500, sf750, sf1280, sf1920, sf2560, sf5120,
+                                                sf10240, infinity}
+
+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
+}
+
+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-v14xy ::=    SEQUENCE {
+    p0-Nominal-PeriodicSRS                      INTEGER (-126..24)          OPTIONAL,   -- Need OR
+    p0-Nominal-AperiodicSRS                     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)
+        }
+    }
+}
+
+UplinkPUSCH-LessPowerControlDedicated-v14xy ::=     SEQUENCE {
+    p0-UE-PeriodicSRS                           INTEGER (-8..7)             OPTIONAL,   -- Need OR
+    p0-UE-AperiodicSRS                          INTEGER (-8..7)             OPTIONAL,   -- Need OR
+    accumulationEnabled                         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
+}
+
+Alpha-r12 ::=                       ENUMERATED {al0, al04, al05, al06, al07, al08, al09, al1}
+
+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}
+}
+
+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}
+}
+
+
+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
+    ...
+}
+
+
+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)
+
+
+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-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}
+
+
+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
+}
+
+
+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
+}
+
+
+CSG-Identity ::=                    BIT STRING (SIZE (27))
+
+
+FreqBandIndicator ::=                   INTEGER (1..maxFBI)
+
+FreqBandIndicator-v9e0 ::=              INTEGER (maxFBI-Plus1..maxFBI2)
+
+FreqBandIndicator-r11 ::=               INTEGER (1..maxFBI2)
+
+
+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 OR
+    ]]
+}
+
+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
+    ...
+}
+
+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
+}
+
+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
+}
+
+
+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-r11 ::=   SEQUENCE (SIZE (1..maxMultiBands)) OF FreqBandIndicator-r11
+
+MultiBandInfo-v9e0 ::=      SEQUENCE {
+    freqBandIndicator-v9e0              FreqBandIndicator-v9e0      OPTIONAL    -- Need OP
+}
+
+
+NS-PmaxList-r10 ::=             SEQUENCE (SIZE (1..maxNS-Pmax-r10)) OF NS-PmaxValue-r10
+
+NS-PmaxValue-r10 ::=            SEQUENCE {
+    additionalPmax-r10                  P-Max                           OPTIONAL,   -- Need OP
+    additionalSpectrumEmission          AdditionalSpectrumEmission
+}
+
+
+PhysCellId ::=                      INTEGER (0..503)
+
+
+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
+}
+
+
+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
+}
+
+
+PhysCellIdCDMA2000 ::=          INTEGER (0..maxPNOffset)
+
+
+PhysCellIdGERAN ::=             SEQUENCE {
+    networkColourCode                   BIT STRING (SIZE (3)),
+    baseStationColourCode               BIT STRING (SIZE (3))
+}
+
+
+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
+
+
+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)
+
+
+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))
+    }
+}
+
+
+TrackingAreaCode ::=                BIT STRING (SIZE (16))
+
+
+T-Reselection ::=                   INTEGER (0..7)
+
+
+T-ReselectionEUTRA-CE-r13 ::=               INTEGER (0..15)
+
+
+AllowedMeasBandwidth ::=                ENUMERATED {mbw6, mbw15, mbw25, mbw50, mbw75, mbw100}
+
+
+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,
+    ...
+}
+
+
+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
+    ]]
+}
+
+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),
+                ...
+        }
+    }
+}
+
+
+MeasId ::=                          INTEGER (1..maxMeasId)
+
+MeasId-v1250 ::=                    INTEGER (maxMeasId-Plus1..maxMeasId-r12)
+
+
+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
+    ]]
+}
+
+MeasObjectEUTRA-v9e0 ::=            SEQUENCE {
+    carrierFreq-v9e0                    ARFCN-ValueEUTRA-v9e0
+}
+
+CellsToAddModList ::=               SEQUENCE (SIZE (1..maxCellMeas)) OF CellsToAddMod
+
+CellsToAddMod ::=   SEQUENCE {
+    cellIndex                           INTEGER (1..maxCellMeas),
+    physCellId                          PhysCellId,
+    cellIndividualOffset                Q-OffsetRange
+}
+
+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},
+        ...
+    }
+}
+
+
+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)
+
+
+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
+    }
+}
+
+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
+    }
+}
+
+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, spare6, 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,
+        ...
+    }                                                                       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
+    ]]
+
+}
+
+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
+        ]]
+    }
+}
+
+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,
+    ...
+}
+
+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
+
+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,
+    ...
+}
+
+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),
+    ...
+}
+
+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),
+    ...
+}
+
+
+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}
+
+
+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
+    ]]
+}
+
+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}
+}
+
+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
+                }
+            },
+            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
+    ]]
+}
+
+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
+                }
+            },
+            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
+    ]]
+}
+
+ThresholdUTRA ::=                   CHOICE{
+    utra-RSCP                           INTEGER (-5..91),
+    utra-EcN0                           INTEGER (0..49)
+}
+
+ThresholdGERAN ::=              INTEGER (0..63)
+
+ThresholdCDMA2000 ::=           INTEGER (0..63)
+
+ReportQuantityWLAN-r13 ::=      SEQUENCE {
+    bandRequestWLAN-r13                         ENUMERATED {true}   OPTIONAL,   -- Need OR
+    carrierInfoRequestWLAN-r13                  ENUMERATED {true}   OPTIONAL,   -- Need OR
+    availableAdmissionCapacityRequestWLAN-r13   ENUMERATED {true}   OPTIONAL,   -- Need ON
+    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}
+
+
+RSRP-Range ::=                      INTEGER(0..97)
+
+RSRP-RangeSL-r12 ::=                INTEGER(0..13)
+
+RSRP-RangeSL2-r12 ::=               INTEGER(0..7)
+
+RSRP-RangeSL3-r12 ::=               INTEGER(0..11)
+
+RSRP-RangeSL4-r13 ::=               INTEGER(0..49)
+
+
+RSRQ-Range ::=                      INTEGER(0..34)
+
+RSRQ-Range-v1250 ::=                INTEGER(-30..46)
+
+RSRQ-Range-r13 ::=              INTEGER(-30..46)
+
+
+RSRQ-Type-r12 ::=                   SEQUENCE {
+    allSymbols-r12                          BOOLEAN,
+    wideBand-r12                            BOOLEAN
+}
+
+
+RS-SINR-Range-r13 ::=                       INTEGER(0..127)
+
+
+RSSI-Range-r13 ::=                      INTEGER(0..76)
+
+
+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}
+        }
+}
+
+
+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-RSSI-Range-r13 ::=                     INTEGER(0..141)
+
+
+WLAN-Status-r13 ::=     ENUMERATED {successfulAssociation, failureWlanRadioLink, failureWlanUnavailable, failureTimeout}
+
+
+AbsoluteTimeInfo-r10 ::=                BIT STRING (SIZE (48))
+
+
+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
+}
+
+
+C-RNTI ::=                          BIT STRING (SIZE (16))
+
+
+DedicatedInfoCDMA2000 ::=               OCTET STRING
+
+
+DedicatedInfoNAS ::=        OCTET STRING
+
+
+FilterCoefficient ::=                   ENUMERATED {
+                                            fc0, fc1, fc2, fc3, fc4, fc5,
+                                            fc6, fc7, fc8, fc9, fc11, fc13, 
+                                            fc15, fc17, fc19, spare1, ...}
+
+
+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))
+
+
+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
+    ]]
+}
+
+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
+    ]]
+}
+
+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
+}
+
+
+RAND-CDMA2000 ::=                       BIT STRING (SIZE (32))
+
+
+RAT-Type ::=                        ENUMERATED {
+                                        eutra, utra, geran-cs, geran-ps, cdma2000-1XRTT,
+                                        spare3, spare2, spare1, ...}
+
+
+ResumeIdentity-r13 ::=                      BIT STRING (SIZE(40))
+
+
+RRC-TransactionIdentifier ::=       INTEGER (0..3)
+
+
+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,
+    -- Following field is only to be used for late REL-12 extensions
+    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-v14xy-IEs           OPTIONAL
+}
+
+UE-EUTRA-Capability-v14xy-IEs ::= SEQUENCE {
+    mac-Parameters-v14xy                MAC-Parameters-v14xy                    OPTIONAL,
+    rlc-Parameters-v14xy                RLC-Parameters-v14xy,
+    laa-Parameters-v14xy                LAA-Parameters-v14xy                    OPTIONAL,
+    lwip-Parameters-v14xy               LWIP-Parameters-v14xy                   OPTIONAL,
+    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
+}
+
+AccessStratumRelease ::=            ENUMERATED {
+                                        rel8, rel9, rel10, rel11, rel12, rel13,
+                                        spare2, spare1, ...}
+
+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-v14xy ::=                SEQUENCE {
+    shortSPS-IntervalFDD-r14            ENUMERATED {supported}              OPTIONAL,
+    shortSPS-IntervalTDD-r14            ENUMERATED {supported}              OPTIONAL,
+    skipUplinkDynamic-r14               ENUMERATED {supported}              OPTIONAL,
+    skipUplinkSPS-r14                   ENUMERATED {supported}              OPTIONAL
+}
+
+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-v14xy ::=                SEQUENCE {
+    extendedPollByte-r14                        ENUMERATED {supported}          OPTIONAL
+}
+
+PDCP-Parameters ::=             SEQUENCE {
+    supportedROHC-Profiles              SEQUENCE {
+        profile0x0001                       BOOLEAN,
+        profile0x0002                       BOOLEAN,
+        profile0x0003                       BOOLEAN,
+        profile0x0004                       BOOLEAN,
+        profile0x0006                       BOOLEAN,
+        profile0x0101                       BOOLEAN,
+        profile0x0102                       BOOLEAN,
+        profile0x0103                       BOOLEAN,
+        profile0x0104                       BOOLEAN
+    },
+    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
+}
+
+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
+}
+
+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-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-CA-ParametersPerBoBC-r13 ::=       SEQUENCE {
+    parametersTM9-r13                       MIMO-CA-ParametersPerBoBCPerTM-r13      OPTIONAL,
+    parametersTM10-r13                      MIMO-CA-ParametersPerBoBCPerTM-r13      OPTIONAL
+}
+
+MIMO-CA-ParametersPerBoBCPerTM-r13 ::=  SEQUENCE {
+    nonPrecoded-r13                         MIMO-NonPrecodedCapabilities-r13    OPTIONAL,
+    beamformed-r13                          MIMO-BeamformedCapabilityList-r13   OPTIONAL,
+    dmrs-Enhancements-r13                   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
+ }
+
+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-v12b0 ::=             SEQUENCE {
+    maxLayersMIMO-Indication-r12            ENUMERATED {supported}                  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
+
+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
+
+SupportedBandCombinationReduced-r13 ::= SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-r13
+
+SupportedBandCombinationReduced-v1320 ::=   SEQUENCE (SIZE (1..maxBandComb-r13)) OF BandCombinationParameters-v1320
+
+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
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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, ...}
+
+MIMO-CapabilityUL-r10 ::= ENUMERATED {twoLayers, fourLayers}
+
+MIMO-CapabilityDL-r10 ::= ENUMERATED {twoLayers, fourLayers, eightLayers}
+
+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
+}
+
+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-BandInfo ::=               SEQUENCE {
+    interRAT-NeedForGaps                BOOLEAN
+}
+
+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
+}
+
+SON-Parameters-r9 ::=               SEQUENCE {
+    rach-Report-r9                      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}
+}
+
+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
+}
+
+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
+}
+
+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
+}
+
+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-v14xy ::=                SEQUENCE {
+    crossCarrierSchedulingLAA-UL-r14            ENUMERATED {supported}      OPTIONAL,
+    uplinkLAA-r14                               ENUMERATED {supported}      OPTIONAL,
+    twoStepSchedulingTimingInfo-r14             ENUMERATED {nPlus1, nPlus2, nPlus3} 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
+}
+
+WLAN-IW-Parameters-v1310 ::=    SEQUENCE {
+    rclwi-r13                                       ENUMERATED {supported}      OPTIONAL
+}
+
+LWIP-Parameters-r13 ::=     SEQUENCE {
+    lwip-r13                    ENUMERATED {supported}              OPTIONAL
+}
+
+LWIP-Parameters-v14xy ::=       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
+}
+
+
+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
+
+
+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
+    ]]
+
+}
+
+
+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
+    ]]
+}
+
+
+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-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}
+    },
+    ...
+}
+
+
+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))
+    }
+}
+
+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},
+    ...
+}
+
+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)
+    },
+    ...
+}
+
+
+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-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, n10, n15, n20, spare2, 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,
+    ...
+}
+
+SL-TRPT-Subset-r12 ::=          BIT STRING (SIZE (3..5))
+
+
+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
+    ]]
+}
+
+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-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 (1..maxFreq)) OF SL-InterFreqInfoV2X-r14
+
+SL-InterFreqInfoV2X-r14::=      SEQUENCE {
+    v2x-CommCarrierFreq-r14             ARFCN-ValueEUTRA-r9,
+    typeTxSync-r14                      ENUMERATED {gnss, enb}              OPTIONAL,   -- Need OR
+    v2x-SchedulingPool-r14              SL-CommResourcePoolV2X-r14              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-v14xy ::=        INTEGER (40..159)
+
+
+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              ENUMERATED {gnss, enb, ue, spare1}      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,
+    ...
+}
+
+SL-PSSCH-TxParameters-r14 ::=       SEQUENCE {
+    minMCS-PSSCH-r14            INTEGER (0..31),
+    maxMCS-PSSCH-r14            INTEGER (0..31),
+    minRB-NumberPSSCH-r14       INTEGER (1..100),
+    maxRB-NumberPSSCH-r14       INTEGER (1..100),
+    allowedRetxNumberPSSCH-r14  ENUMERATED {n0, n1, both, spare1}
+}
+
+
+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-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-v14xy       SL-OffsetIndicatorSync-v14xy    OPTIONAL    -- Need OR
+    ]]
+}
+
+SL-SyncConfigListNFreq-r13 ::=      SEQUENCE (SIZE (1..maxSL-SyncConfig-r12)) 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
+    ...
+}
+
+
+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,
+    ...
+}
+
+
+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 {
+    bs16-r14                                BIT STRING (SIZE (16)),
+    bs20-r14                                BIT STRING (SIZE (20)),
+    bs100-r14                               BIT STRING (SIZE (100))
+}
+
+
+SL-ThresPSSCH-RSRP-List-r14 ::= SEQUENCE (SIZE (1..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-D-RNTI-r14           C-RNTI,
+                mac-MainConfig-r14              MAC-MainConfigSL-r12        OPTIONAL,   -- Need OP
+                v2x-SchedulingPool-r14          SL-CommResourcePoolV2X-r14  OPTIONAL,   -- Need OP
+                mcs-r14                         INTEGER (0..31)             OPTIONAL,   -- Need OP
+                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
+    ...
+}
+
+SL-TxPoolToAddModListV2X-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-ZoneConfig-r14 ::=       SEQUENCE {
+    zoneLength-r14  ENUMERATED { m5, m10, m20, m50, m100, m200, m500, spare1}   OPTIONAL, -- Need OR
+    zoneWidth-r14   ENUMERATED { m5, m10, m20, m50, m100, m200, m500, spare1}   OPTIONAL, -- Need OR
+    zoneIdLongiMod-r14  INTEGER (1..4)                                  OPTIONAL,   -- Need OR
+    zoneIdLatiMod-r14   INTEGER (1..4)                                  OPTIONAL    -- Need OR
+}
+
+
+maxACDC-Cat-r13             INTEGER ::= 16  -- Maximum number of ACDC categories (per PLMN)
+maxAvailNarrowBands-r13     INTEGER ::= 16  -- Maximum number of narrowbands
+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
+maxBands                    INTEGER ::= 64  -- Maximum number of bands listed in EUTRA UE caps
+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
+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
+maxCombIDC-r11              INTEGER ::= 128 -- Maximum number of reported UL CA 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
+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
+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-Plus1                    INTEGER ::= 65  -- Lowest value extended FBI range
+maxFBI2                     INTEGER ::= 256 -- Highest value extended FBI range
+maxFreq                     INTEGER ::= 8   -- Maximum number of carrier frequencies
+maxFreqIDC-r11              INTEGER ::= 32  -- Maximum number of carrier frequencies that are
+                                            -- affected by the IDC problems
+maxFreqMBMS-r11             INTEGER ::= 5   -- Maximum number of carrier frequencies for which an 
+                                            -- MBMS capable UE may indicate an interest
+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
+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
+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
+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
+maxPNOffset                 INTEGER ::= 511 -- Maximum number of CDMA2000 PNOffsets
+maxPMCH-PerMBSFN            INTEGER ::= 15
+maxPSSCH-TxConfig-r14       INTEGER ::= 16  -- Maximum number of PSSCH TX configurations
+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 communications
+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
+maxSC-MTCH-r13              INTEGER ::= 1023    -- Maximum number of SC-MTCHs in one cell
+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-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-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
+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
+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.
+maxUTRA-FDD-Carrier         INTEGER ::= 16  -- Maximum number of UTRA FDD carrier frequencies
+maxUTRA-TDD-Carrier         INTEGER ::= 16  -- Maximum number of UTRA TDD carrier frequencies
+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
+
+
+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
+
+
+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))
+}
+
+
+
+END
+
+
+NBIOT-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+    RRCConnectionReestablishmentReject,
+    SecurityModeCommand,
+    SecurityModeComplete,
+    SecurityModeFailure,
+    AdditionalSpectrumEmission,
+    ARFCN-ValueEUTRA-r9,
+    CellIdentity,
+    DedicatedInfoNAS,
+    DRB-Identity,
+    InitialUE-Identity,
+    IntraFreqBlackCellList,
+    IntraFreqNeighCellList,
+    maxBands,
+    maxCellBlack,
+    maxCellInter,
+    maxFBI2,
+    maxFreq,
+    maxMultiBands,
+    maxPageRec,
+    maxPLMN-r11,
+    maxSIB,
+    maxSIB-1,
+    NextHopChainingCount,
+    PagingUE-Identity,
+    PLMN-Identity,
+    P-Max,
+    PowerRampingParameters,
+    PreambleTransMax,
+    PhysCellId,
+    Q-OffsetRange,
+    Q-QualMin-r9,
+    Q-RxLevMin,
+    ReestabUE-Identity,
+    RegisteredMME,
+    ReselectionThreshold,
+    ResumeIdentity-r13,
+    RRC-TransactionIdentifier,
+    RSRP-Range,
+    ShortMAC-I,
+    S-TMSI,
+    SystemInformationBlockType16-r11,
+    SystemInfoValueTagSI-r13,
+    TimeAlignmentTimer,
+    TrackingAreaCode
+FROM EUTRA-RRC-Definitions;
+
+
+BCCH-BCH-Message-NB ::= SEQUENCE {
+    message                 BCCH-BCH-MessageType-NB
+}
+
+
+BCCH-BCH-MessageType-NB::=  MasterInformationBlock-NB
+
+
+
+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,
+        spare4 NULL, 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,
+        spare2 NULL, 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,
+        spare1 NULL
+    },
+    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,
+        spare8 NULL, spare7 NULL,
+        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
+    },
+    spare                           BIT STRING (SIZE (11))
+}
+
+ChannelRasterOffset-NB-r13 ::= ENUMERATED {khz-7dot5, khz-2dot5, khz2dot5, khz7dot5}
+
+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))
+}
+
+
+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                SEQUENCE {}                     OPTIONAL
+}
+
+PagingRecordList-NB-r13 ::=         SEQUENCE (SIZE (1..maxPageRec)) OF PagingRecord-NB-r13
+
+PagingRecord-NB-r13 ::=             SEQUENCE {
+    ue-Identity-r13                     PagingUE-Identity,
+    ...
+}
+
+
+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                        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                SEQUENCE {}                     OPTIONAL
+}
+
+
+RRCConnectionReestablishmentRequest-NB ::= SEQUENCE {
+    criticalExtensions                  CHOICE {
+        rrcConnectionReestablishmentRequest-r13
+                                            RRCConnectionReestablishmentRequest-NB-r13-IEs,
+        criticalExtensionsFuture            SEQUENCE {}
+    }
+}
+
+RRCConnectionReestablishmentRequest-NB-r13-IEs ::= SEQUENCE {
+    ue-Identity-r13                     ReestabUE-Identity,
+    reestablishmentCause-r13            ReestablishmentCause-NB-r13,
+    spare                               BIT STRING (SIZE (25))
+}
+
+
+ReestablishmentCause-NB-r13 ::=         ENUMERATED {
+                                            reconfigurationFailure, otherFailure, 
+                                            spare2, spare1}
+
+
+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                SEQUENCE {}                     OPTIONAL
+}
+
+
+ReleaseCause-NB-r13 ::=                 ENUMERATED {loadBalancingTAUrequired, other, 
+                                                    rrc-Suspend, spare1}
+
+RedirectedCarrierInfo-NB-r13::=         CarrierFreq-NB-r13
+
+RRCConnectionRequest-NB ::=     SEQUENCE {
+    criticalExtensions                  CHOICE {
+        rrcConnectionRequest-r13            RRCConnectionRequest-NB-r13-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,
+    spare                                   BIT STRING (SIZE (22))
+}
+
+
+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                    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                        SEQUENCE {}                     OPTIONAL
+}
+
+
+RRCConnectionResumeRequest-NB ::=   SEQUENCE {
+    criticalExtensions                      CHOICE {
+        rrcConnectionResumeRequest-r13          RRCConnectionResumeRequest-NB-r13-IEs,
+        criticalExtensionsFuture                SEQUENCE {}
+    }
+}
+
+RRCConnectionResumeRequest-NB-r13-IEs ::=   SEQUENCE {
+    resumeID-r13                                ResumeIdentity-r13,
+    shortResumeMAC-I-r13                            ShortMAC-I,
+    resumeCause-r13                             EstablishmentCause-NB-r13,
+    spare                                       BIT STRING (SIZE (9))
+}
+
+
+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                    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                    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,
+        ...
+    },
+    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,   -- Need OP, 
+    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                SEQUENCE {}                     OPTIONAL
+}
+
+PLMN-IdentityList-NB-r13 ::=        SEQUENCE (SIZE (1..maxPLMN-r11)) OF PLMN-IdentityInfo-NB-r13
+
+PLMN-IdentityInfo-NB-r13 ::=        SEQUENCE {
+    plmn-Identity-r13                       PLMN-Identity,
+    cellReservedForOperatorUse-r13          ENUMERATED {reserved, notReserved},
+    attachWithoutPDN-Connectivity-r13       ENUMERATED {true}   OPTIONAL    -- Need OP
+}
+
+SchedulingInfoList-NB-r13 ::= SEQUENCE (SIZE (1..maxSI-Message-NB-r13)) OF SchedulingInfo-NB-r13
+
+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}
+}
+
+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-Type-NB-r13 ::=                 ENUMERATED {
+                                        sibType3-NB-r13, sibType4-NB-r13, sibType5-NB-r13, 
+                                        sibType14-NB-r13, sibType16-NB-r13, spare3, spare2, spare1}
+
+
+
+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-Container-r13             UE-Capability-NB-r13,
+    ue-RadioPagingInfo-r13                  UE-RadioPagingInfo-NB-r13,
+    lateNonCriticalExtension                OCTET STRING                        OPTIONAL,
+    nonCriticalExtension                    SEQUENCE {}                         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,
+    ...
+}
+
+
+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,
+    ...
+}
+
+
+SystemInformationBlockType4-NB-r13 ::=      SEQUENCE {
+    intraFreqNeighCellList-r13          IntraFreqNeighCellList  OPTIONAL,   -- Need OR
+    intraFreqBlackCellList-r13          IntraFreqBlackCellList  OPTIONAL,   -- Need OR
+    lateNonCriticalExtension            OCTET STRING            OPTIONAL,
+    ...
+}
+
+
+
+SystemInformationBlockType5-NB-r13 ::=  SEQUENCE {
+    interFreqCarrierFreqList-r13            InterFreqCarrierFreqList-NB-r13,
+    t-Reselection-r13                       T-Reselection-NB-r13,
+    lateNonCriticalExtension                OCTET STRING                    OPTIONAL,
+    ...
+}
+
+
+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
+    ...
+}
+
+InterFreqNeighCellList-NB-r13 ::=       SEQUENCE (SIZE (1..maxCellInter)) OF PhysCellId
+
+
+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-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-BarringExceptionData-r13     ENUMERATED {true}           OPTIONAL,   -- Need OP
+    ab-BarringForSpecialAC-r13      BIT STRING (SIZE(5))
+}
+
+
+SystemInformationBlockType16-NB-r13 ::= SystemInformationBlockType16-r11
+
+
+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
+        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 
+    ]]
+}
+
+UL-CarrierConfigDedicated-NB-r13 ::=    SEQUENCE {
+    ul-CarrierFreq-r13          CarrierFreq-NB-r13      OPTIONAL,   -- Need OP
+    ...
+}
+
+
+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
+}
+
+
+DL-Bitmap-NB-r13 ::=            CHOICE {
+    subframePattern10-r13           BIT STRING (SIZE (10)),
+    subframePattern40-r13           BIT STRING (SIZE (40))
+}
+
+
+
+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}
+}
+
+
+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 
+    ...
+}
+
+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}
+}
+
+
+
+NPDSCH-ConfigCommon-NB-r13 ::=  SEQUENCE {
+    nrs-Power-r13                   INTEGER (-60..50)
+}
+
+
+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-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}
+}
+
+RSRP-ThresholdsNPRACH-InfoList-NB-r13 ::= SEQUENCE (SIZE(1..2)) OF RSRP-Range
+
+
+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
+}
+
+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
+            },
+            ...
+        }
+    },
+    ...
+}
+
+
+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
+    ...
+}
+
+
+
+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
+    ...
+}
+
+RACH-InfoList-NB-r13 ::=    SEQUENCE (SIZE (1.. maxNPRACH-Resources-NB-r13)) OF RACH-Info-NB-r13
+
+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}
+}
+
+
+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
+    ]]
+}
+
+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
+    ... 
+}
+
+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
+    ...
+}
+
+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
+    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
+    ...
+}
+
+DRB-ToReleaseList-NB-r13 ::=        SEQUENCE (SIZE (1..maxDRB-NB-r13)) OF DRB-Identity
+
+
+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
+    }, 
+    ...
+}
+
+
+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, spare1}
+
+
+
+
+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},
+        ...
+    }
+}
+
+
+
+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)
+}
+
+
+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
+}
+
+
+T-Reselection-NB-r13 ::=        ENUMERATED {s0, s3, s6, s9, s12, s15, s18, s21} 
+
+
+EstablishmentCause-NB-r13 ::=           ENUMERATED {
+                                            mt-Access, mo-Signalling, mo-Data, mo-ExceptionData,
+                                            delayTolerantAccess-v1330, spare3, 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,
+    nonCriticalExtension            SEQUENCE {}                         OPTIONAL
+}
+
+AccessStratumRelease-NB-r13 ::=     ENUMERATED {rel13, spare7, spare6, spare5, 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,
+    ...
+}
+
+PhyLayerParameters-NB-r13   ::=     SEQUENCE {
+    multiTone-r13                       ENUMERATED {supported}          OPTIONAL,
+    multiCarrier-r13                        ENUMERATED {supported}          OPTIONAL
+    }
+
+RF-Parameters-NB-r13    ::=         SEQUENCE {
+    supportedBandList-r13               SupportedBandList-NB-r13,
+    multiNS-Pmax-r13                    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
+}
+
+
+
+UE-RadioPagingInfo-NB-r13 ::=       SEQUENCE {
+    ue-Category-NB-r13              ENUMERATED {nb1}            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},
+    ...
+}
+
+
+maxNPRACH-Resources-NB-r13  INTEGER ::= 3   -- Maximum number of NPRACH resources for NB-IoT
+maxDRB-NB-r13               INTEGER ::= 2   -- Maximum number of Data Radio Bearers for NB-IoT
+maxNS-Pmax-NB-r13           INTEGER ::= 4   -- Maximum number of NS and P-Max values per band
+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,
+    CarrierFreqGERAN,
+    CellIdentity,
+    ConnEstFailReport-r11,
+    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,
+    MeasScaleFactor-r12,
+    MobilityStateParameters,
+    NeighCellConfig,
+    PhysCellId,
+    PhysCellIdCDMA2000,
+    PhysCellIdGERAN,
+    PhysCellIdUTRA-FDD,
+    PhysCellIdUTRA-TDD,
+    PLMN-Identity,
+    PLMN-IdentityList3-r11,
+    QuantityConfig,
+    ReportConfigToAddModList,
+    RLF-Report-r9,
+    TargetMBSFN-AreaList-r12,
+    TraceReference-r10,
+    VisitedCellInfoList-r12,
+    maxCellMeas,
+    maxCSI-RS-Meas-r12,
+    maxMeasId,
+    maxMeasId-r12,
+    UL-DelayConfig-r13,
+    WLAN-CarrierInfo-r13,
+    WLAN-Identifiers-r12,
+    WLAN-Id-List-r13,
+    WLAN-Status-r13
+
+
+FROM EUTRA-RRC-Definitions;
+
+
+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
+}
+
+
+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
+}
+
+
+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,
+    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
+}
+
+CSI-RS-TriggeredList-r12 ::=        SEQUENCE (SIZE (1..maxCSI-RS-Meas-r12)) OF MeasCSI-RS-Id-r12
+
+VarMobilityHistoryReport-r12 ::=    VisitedCellInfoList-r12
+
+
+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
+}
+
+
+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
+}
+
+
+VarWLAN-Status-r13 ::=              SEQUENCE {
+    status-r13                              WLAN-Status-r13
+}
+
+
+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
+    VarShortMAC-Input,
+    VarShortResumeMAC-Input-r13
+
+FROM EUTRA-UE-Variables;
+
+VarShortMAC-Input-NB-r13        ::=     VarShortMAC-Input
+
+VarShortResumeMAC-Input-NB-r13  ::=     VarShortResumeMAC-Input-r13
+
+
+
+END
+
+
+EUTRA-Sidelink-Preconf DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+    AdditionalSpectrumEmission,
+    ARFCN-ValueEUTRA-r9,
+    FilterCoefficient,
+    maxFreq,
+    maxSL-TxPool-r12,
+    maxSL-CommRxPoolPreconf-v1310,
+    maxSL-CommTxPoolPreconf-v1310,
+    maxSL-DiscRxPoolPreconf-r13,
+    maxSL-DiscTxPoolPreconf-r13,
+    maxSL-V2X-RxPoolPreconf-r14,
+    maxSL-V2X-TxPoolPreconf-r14,
+    P-Max,
+    ReselectionInfoRelay-r13,
+    SL-CommTxPoolSensingConfig-r14,
+    SL-CP-Len-r12,
+    SL-HoppingConfigComm-r12,
+    SL-OffsetIndicator-r12,
+    SL-OffsetIndicatorSync-r12,
+    SL-OffsetIndicatorSync-v14xy,
+    SL-PeriodComm-r12,
+    RSRP-RangeSL3-r12,
+    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
+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)),
+    ...
+}
+
+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
+    ]],
+    [[  syncOffsetIndicator1-v14xy      SL-OffsetIndicatorSync-v14xy    OPTIONAL,
+        syncOffsetIndicator2-v14xy      SL-OffsetIndicatorSync-v14xy    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 (SIZE (1..maxFreq)) OF SL-V2X-PreconfigFreqInfo-r14
+
+SL-V2X-PreconfigFreqInfo-r14 ::=        SEQUENCE {
+    v2x-CommPreconfigGeneral-r14        SL-PreconfigGeneral-r12,
+    v2x-CommPreconfigSync-r14           SL-PreconfigSync-r12,
+    v2x-CommRxPoolList-r14              SL-PreconfigV2X-RxPoolList-r14,
+    v2x-CommTxPoolList-r14              SL-PreconfigV2X-TxPoolList-r14,
+    v2x-ResourceSelectionConfig-r14         SL-CommTxPoolSensingConfig-r14          OPTIONAL,
+    zoneConfig-r14                      SL-ZoneConfig-r14                       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-V2X-CommResourcePool 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, n10, n15, n20, spare2, spare1},
+    startRB-Subchannel-r14              INTEGER (0..99),
+    startRB-PSCCH-Pool-r14              INTEGER (0..99)             OPTIONAL,
+    dataTxParameters-r14                SL-TxParameters-r12         OPTIONAL,
+    zoneID-r14                          INTEGER (0..7)              OPTIONAL,
+    ...
+}
+
+END
+
+
+EUTRA-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+    AntennaInfoCommon,
+    AntennaInfoDedicated-v10i0,
+    ARFCN-ValueEUTRA,
+    ARFCN-ValueEUTRA-v9e0,
+    ARFCN-ValueEUTRA-r9,
+    CellIdentity,
+    C-RNTI,
+    DL-DCCH-Message,
+    DRB-Identity,
+    DRB-ToReleaseList,
+    FreqBandIndicator-r11,
+    InDeviceCoexIndication-r11,
+    MasterInformationBlock,
+    maxBands,
+    maxFreq,
+    maxDRB,
+    maxSCell-r10,
+    maxSCell-r13,
+    maxServCell-r10,
+    maxServCell-r13,
+    MBMSInterestIndication-r11,
+    MeasConfig,
+    MeasGapConfig,
+    MeasResultForRSSI-r13,
+    OtherConfig-r9,
+    PhysCellId,
+    P-Max,
+    PowerCoordinationInfo-r12,
+    SidelinkUEInformation-r12,
+    SL-CommConfig-r12,
+    SL-DiscConfig-r12,
+    RadioResourceConfigDedicated,
+    RCLWI-Configuration-r13,
+    RSRP-Range,
+    RSRQ-Range,
+    RSRQ-Range-v1250,
+    RS-SINR-Range-r13,
+    SCellToAddModList-r10,
+    SCellToAddModListExt-r13,
+    SCG-ConfigPartSCG-r12,
+    SecurityAlgorithmConfig,
+    SCellIndex-r10,
+    SCellIndex-r13,
+    SCellToReleaseList-r10,
+    SCellToReleaseListExt-r13,
+    ServCellIndex-r10,
+    ServCellIndex-r13,
+    ShortMAC-I,
+    MeasResultSSTD-r13,
+    SL-V2X-ConfigDedicated-r14,
+    SystemInformationBlockType1,
+    SystemInformationBlockType1-v890-IEs,
+    SystemInformationBlockType2,
+    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, ...}          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,
+    -- Following field is only for late non-critical extensions from REL-10
+    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-v14x0-IEs                        OPTIONAL
+}
+
+HandoverPreparationInformation-v14x0-IEs ::= SEQUENCE {
+    as-Config-v14x0                 AS-Config-v14x0                     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                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            SEQUENCE {}                         OPTIONAL
+}
+
+DRB-InfoListSCG-r12 ::=             SEQUENCE (SIZE (1..maxDRB)) 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                    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-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-v14x0 ::=             SEQUENCE {
+    sourceSL-V2X-CommConfig-r14         SL-V2X-ConfigDedicated-r14                  OPTIONAL
+}
+
+
+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
+    powerPrefIndication-r11                 OCTET STRING (CONTAINING
+                                            UEAssistanceInformation-r11)    OPTIONAL,   -- Cond HO2
+    ...,
+    [[  sidelinkUEInformation-r12               OCTET STRING (CONTAINING
+                                                SidelinkUEInformation-r12)  OPTIONAL    -- Cond HO2
+    ]]
+}
+
+AS-Context-v1320 ::=                    SEQUENCE {
+    wlanConnectionStatusReport-r13          OCTET STRING (CONTAINING
+                                            WLANConnectionStatusReport-r13) 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
+    ]]
+}
+
+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,
+    RadioResourceConfigDedicated-NB-r13,
+    UE-Capability-NB-r13,
+    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                    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                        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,
+    ...
+}
+
+
+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/LITE/defs.h b/openair2/RRC/LITE/defs.h
index 47f8a0080adf5311a20c92d9c21312e64dbcd764..0a2043fd4e145eb1f716083936bba7ac44a4cfc1 100644
--- a/openair2/RRC/LITE/defs.h
+++ b/openair2/RRC/LITE/defs.h
@@ -61,7 +61,7 @@
 #include "RRCConnectionReestablishmentRequest.h"
 #include "BCCH-DL-SCH-Message.h"
 #include "BCCH-BCH-Message.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "MCCH-Message.h"
 #include "MBSFNAreaConfiguration-r9.h"
 #include "SCellToAddMod-r10.h"
@@ -71,8 +71,59 @@
 #include "UE-EUTRA-Capability.h"
 #include "MeasResults.h"
 
+/* correct Rel(8|10)/Rel14 differences
+ * the code is in favor of Rel14, those defines do the translation
+ */
+#if !defined(Rel14)
+#  define CipheringAlgorithm_r12_t e_SecurityAlgorithmConfig__cipheringAlgorithm
+#  define CipheringAlgorithm_r12_eea0 SecurityAlgorithmConfig__cipheringAlgorithm_eea0
+#  define CipheringAlgorithm_r12_eea1 SecurityAlgorithmConfig__cipheringAlgorithm_eea1
+#  define CipheringAlgorithm_r12_eea2 SecurityAlgorithmConfig__cipheringAlgorithm_eea2
+#  define CipheringAlgorithm_r12_spare1 SecurityAlgorithmConfig__cipheringAlgorithm_spare1
+#  define Alpha_r12_al0 UplinkPowerControlCommon__alpha_al0
+#  define Alpha_r12_al04 UplinkPowerControlCommon__alpha_al04
+#  define Alpha_r12_al05 UplinkPowerControlCommon__alpha_al05
+#  define Alpha_r12_al06 UplinkPowerControlCommon__alpha_al06
+#  define Alpha_r12_al07 UplinkPowerControlCommon__alpha_al07
+#  define Alpha_r12_al08 UplinkPowerControlCommon__alpha_al08
+#  define Alpha_r12_al09 UplinkPowerControlCommon__alpha_al09
+#  define Alpha_r12_al1 UplinkPowerControlCommon__alpha_al1
+#  define PreambleTransMax_n3 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3
+#  define PreambleTransMax_n4 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n4
+#  define PreambleTransMax_n5 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n5
+#  define PreambleTransMax_n6 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n6
+#  define PreambleTransMax_n7 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n7
+#  define PreambleTransMax_n8 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n8
+#  define PreambleTransMax_n10 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n10
+#  define PreambleTransMax_n20 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n20
+#  define PreambleTransMax_n50 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n50
+#  define PreambleTransMax_n100 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n100
+#  define PreambleTransMax_n200 RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n200
+#  define PeriodicBSR_Timer_r12_sf5 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf5
+#  define PeriodicBSR_Timer_r12_sf10 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf10
+#  define PeriodicBSR_Timer_r12_sf16 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf16
+#  define PeriodicBSR_Timer_r12_sf20 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf20
+#  define PeriodicBSR_Timer_r12_sf32 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf32
+#  define PeriodicBSR_Timer_r12_sf40 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf40
+#  define PeriodicBSR_Timer_r12_sf64 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64
+#  define PeriodicBSR_Timer_r12_sf80 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf80
+#  define PeriodicBSR_Timer_r12_sf128 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf128
+#  define PeriodicBSR_Timer_r12_sf160 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf160
+#  define PeriodicBSR_Timer_r12_sf320 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf320
+#  define PeriodicBSR_Timer_r12_sf640 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf640
+#  define PeriodicBSR_Timer_r12_sf1280 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf1280
+#  define PeriodicBSR_Timer_r12_sf2560 MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf2560
+#  define PeriodicBSR_Timer_r12_infinity MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_infinity
+#  define RetxBSR_Timer_r12_sf320 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320
+#  define RetxBSR_Timer_r12_sf640 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf640
+#  define RetxBSR_Timer_r12_sf1280 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf1280
+#  define RetxBSR_Timer_r12_sf2560 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf2560
+#  define RetxBSR_Timer_r12_sf5120 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf5120
+#  define RetxBSR_Timer_r12_sf10240 MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf10240
+#endif
+
 // This corrects something generated by asn1c which is different between Rel8 and Rel10
-#ifndef Rel10
+#if !defined(Rel10) && !defined(Rel14)
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member SystemInformation_r8_IEs_sib_TypeAndInfo_Member
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3
@@ -86,7 +137,7 @@
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib11
 #endif
 /*
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib12_v920
 #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920
 #endif
@@ -194,7 +245,7 @@ typedef struct UE_RRC_INFO_s {
   uint8_t SIB1systemInfoValueTag;
   uint32_t SIStatus;
   uint32_t SIcnt;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA
 #endif
   uint8_t SIwindowsize; //!< Corresponds to the SIB1 si-WindowLength parameter. The unit is ms. Possible values are (final): 1,2,5,10,15,20,40
@@ -301,7 +352,7 @@ typedef struct HANDOVER_INFO_UE_s {
 
 typedef struct eNB_RRC_UE_s {
   uint8_t                            primaryCC_id;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   SCellToAddMod_r10_t                sCell_config[2];
 #endif
   SRB_ToAddModList_t*                SRB_configList;
@@ -329,7 +380,7 @@ typedef struct eNB_RRC_UE_s {
   uint8_t kenb[32];
 #endif
   /* Used integrity/ciphering algorithms */
-  e_SecurityAlgorithmConfig__cipheringAlgorithm     ciphering_algorithm;
+  CipheringAlgorithm_r12_t                          ciphering_algorithm;
   e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
 
   uint8_t                            Status;
@@ -400,7 +451,7 @@ typedef struct {
   SystemInformationBlockType1_t     *sib1;
   SystemInformationBlockType2_t     *sib2;
   SystemInformationBlockType3_t     *sib3;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   SystemInformationBlockType13_r9_t *sib13;
   uint8_t                           MBMS_flag;
   uint8_t                           num_mbsfn_sync_area;
@@ -489,7 +540,7 @@ typedef struct UE_RRC_INST_s {
   SystemInformationBlockType10_t *sib10[NB_CNX_UE];
   SystemInformationBlockType11_t *sib11[NB_CNX_UE];
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   uint8_t                           MBMS_flag;
   uint8_t *MCCH_MESSAGE[NB_CNX_UE];
   uint8_t sizeof_MCCH_MESSAGE[NB_CNX_UE];
@@ -535,7 +586,7 @@ typedef struct UE_RRC_INST_s {
 #endif
 
   /* Used integrity/ciphering algorithms */
-  e_SecurityAlgorithmConfig__cipheringAlgorithm     ciphering_algorithm;
+  CipheringAlgorithm_r12_t                          ciphering_algorithm;
   e_SecurityAlgorithmConfig__integrityProtAlgorithm integrity_algorithm;
 } UE_RRC_INST;
 
diff --git a/openair2/RRC/LITE/rrc_UE.c b/openair2/RRC/LITE/rrc_UE.c
index d89c4501cf9c18dd6cd0c9c26c30f48c9791fb20..cedf5a11f5eba2f4ee933e714f4eafa25347cc88 100644
--- a/openair2/RRC/LITE/rrc_UE.c
+++ b/openair2/RRC/LITE/rrc_UE.c
@@ -53,7 +53,7 @@
 #include "DL-DCCH-Message.h"
 #include "BCCH-DL-SCH-Message.h"
 #include "PCCH-Message.h"
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 #include "MCCH-Message.h"
 #endif
 #include "MeasConfig.h"
@@ -145,7 +145,7 @@ static uint8_t check_trigger_meas_event(
   Q_OffsetRange_t ofn, Q_OffsetRange_t ocn, Hysteresis_t hys,
   Q_OffsetRange_t ofs, Q_OffsetRange_t ocs, long a3_offset, TimeToTrigger_t ttt);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area);
 #endif
 
@@ -256,7 +256,7 @@ static void init_SI_UE( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
   UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType9_t) );
   UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType10_t) );
   UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType11_t) );
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType12_r9_t) );
   UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index] = malloc16_clear( sizeof(SystemInformationBlockType13_r9_t) );
 #endif
@@ -268,7 +268,7 @@ static void init_SI_UE( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIcnt    = 0;
 }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 //-----------------------------------------------------------------------------
 #if 0
 static void init_MCCH_UE(module_id_t ue_mod_idP, uint8_t eNB_index)
@@ -328,8 +328,8 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
   UE_rrc_inst[ctxt.module_id].Srb1[eNB_index].Active=0;
   UE_rrc_inst[ctxt.module_id].Srb2[eNB_index].Active=0;
   UE_rrc_inst[ctxt.module_id].HandoverInfoUe.measFlag=1;
-  UE_rrc_inst[ctxt.module_id].ciphering_algorithm = SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
-#ifdef Rel10
+  UE_rrc_inst[ctxt.module_id].ciphering_algorithm = CipheringAlgorithm_r12_eea0;
+#if defined(Rel10) || defined(Rel14)
   UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920;
 #else
   UE_rrc_inst[ctxt.module_id].integrity_algorithm = SecurityAlgorithmConfig__integrityProtAlgorithm_reserved;
@@ -821,7 +821,7 @@ rrc_ue_process_measConfig(
     rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
                        (RadioResourceConfigCommonSIB_t *)NULL,
                        (struct PhysicalConfigDedicated *)NULL,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                        (SCellToAddMod_r10_t *)NULL,
                        //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
@@ -838,7 +838,7 @@ rrc_ue_process_measConfig(
                        NULL,
                        NULL,
                        NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                        ,
                        0,
                        (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -1270,7 +1270,7 @@ rrc_ue_process_radioResourceConfigDedicated(
                              kRRCenc,
                              kRRCint,
                              NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                              ,(PMCH_InfoList_r9_t *)NULL
 #endif
                              ,NULL);
@@ -1280,7 +1280,7 @@ rrc_ue_process_radioResourceConfigDedicated(
                             radioResourceConfigDedicated->srb_ToAddModList,
                             (DRB_ToAddModList_t*)NULL,
                             (DRB_ToReleaseList_t*)NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                             ,(PMCH_InfoList_r9_t *)NULL
 #endif
                            );
@@ -1319,7 +1319,7 @@ rrc_ue_process_radioResourceConfigDedicated(
           rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
                              (RadioResourceConfigCommonSIB_t *)NULL,
                              UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                              (SCellToAddMod_r10_t *)NULL,
                              //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
@@ -1336,7 +1336,7 @@ rrc_ue_process_radioResourceConfigDedicated(
                              NULL,
                              NULL,
                              NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                              ,
                              0,
                              (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -1377,7 +1377,7 @@ rrc_ue_process_radioResourceConfigDedicated(
           rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
                              (RadioResourceConfigCommonSIB_t *)NULL,
                              UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                              (SCellToAddMod_r10_t *)NULL,
                              //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
@@ -1394,7 +1394,7 @@ rrc_ue_process_radioResourceConfigDedicated(
                              NULL,
                              NULL,
                              NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                              ,
                              0,
                              (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -1450,7 +1450,7 @@ rrc_ue_process_radioResourceConfigDedicated(
                              NULL,
                              NULL,
                              kUPenc
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                              ,(PMCH_InfoList_r9_t *)NULL
 #endif
                              , UE_rrc_inst[ctxt_pP->module_id].defaultDRB);
@@ -1460,7 +1460,7 @@ rrc_ue_process_radioResourceConfigDedicated(
                             (SRB_ToAddModList_t*)NULL,
                             radioResourceConfigDedicated->drb_ToAddModList,
                             (DRB_ToReleaseList_t*)NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                             ,(PMCH_InfoList_r9_t *)NULL
 #endif
                            );
@@ -1484,7 +1484,7 @@ rrc_ue_process_radioResourceConfigDedicated(
         rrc_mac_config_req(ctxt_pP->module_id,0,ENB_FLAG_NO,0,eNB_index,
                            (RadioResourceConfigCommonSIB_t *)NULL,
                            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                            (SCellToAddMod_r10_t *)NULL,
                            //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
 #endif
@@ -1501,7 +1501,7 @@ rrc_ue_process_radioResourceConfigDedicated(
                            NULL,
                            NULL,
                            NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                            ,
                            0,
                            (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -1555,26 +1555,26 @@ rrc_ue_process_securityModeCommand(
         ctxt_pP->module_id,ctxt_pP->frame,eNB_index);
 
   switch (securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm) {
-  case SecurityAlgorithmConfig__cipheringAlgorithm_eea0:
+  case CipheringAlgorithm_r12_eea0:
     LOG_I(RRC,"[UE %d] Security algorithm is set to eea0\n",
           ctxt_pP->module_id);
-    securityMode= SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
+    securityMode= CipheringAlgorithm_r12_eea0;
     break;
 
-  case SecurityAlgorithmConfig__cipheringAlgorithm_eea1:
+  case CipheringAlgorithm_r12_eea1:
     LOG_I(RRC,"[UE %d] Security algorithm is set to eea1\n",ctxt_pP->module_id);
-    securityMode= SecurityAlgorithmConfig__cipheringAlgorithm_eea1;
+    securityMode= CipheringAlgorithm_r12_eea1;
     break;
 
-  case SecurityAlgorithmConfig__cipheringAlgorithm_eea2:
+  case CipheringAlgorithm_r12_eea2:
     LOG_I(RRC,"[UE %d] Security algorithm is set to eea2\n",
           ctxt_pP->module_id);
-    securityMode = SecurityAlgorithmConfig__cipheringAlgorithm_eea2;
+    securityMode = CipheringAlgorithm_r12_eea2;
     break;
 
   default:
     LOG_I(RRC,"[UE %d] Security algorithm is set to none\n",ctxt_pP->module_id);
-    securityMode = SecurityAlgorithmConfig__cipheringAlgorithm_spare1;
+    securityMode = CipheringAlgorithm_r12_spare1;
     break;
   }
 
@@ -2000,18 +2000,18 @@ rrc_ue_process_mobilityControlInfo(
          NULL, // key rrc encryption
          NULL, // key rrc integrity
          NULL // key encryption
-  #ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
          ,NULL
-  #endif
+#endif
          ,NULL);
 
   rrc_rlc_config_asn1_req(NB_eNB_INST+ue_mod_idP, frameP,0,eNB_index,
         NULL,// SRB_ToAddModList
         NULL,// DRB_ToAddModList
         drb2release_list // DRB_ToReleaseList
-  #ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
         ,NULL
-  #endif
+#endif
         ,NULL);
    */
 
@@ -2046,7 +2046,7 @@ rrc_ue_process_mobilityControlInfo(
                      eNB_index,
                      (RadioResourceConfigCommonSIB_t *)NULL,
                      (struct PhysicalConfigDedicated *)NULL,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                      (SCellToAddMod_r10_t *)NULL,
                      //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -2063,7 +2063,7 @@ rrc_ue_process_mobilityControlInfo(
                      NULL,
                      NULL,
                      NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                      ,0,
                      (MBSFN_AreaInfoList_r9_t *)NULL,
                      (PMCH_InfoList_r9_t *)NULL
@@ -2416,7 +2416,7 @@ rrc_ue_decode_dcch(
       case DL_DCCH_MessageType__c1_PR_counterCheck:
         break;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
       case DL_DCCH_MessageType__c1_PR_ueInformationRequest_r9:
         break;
@@ -2431,7 +2431,9 @@ rrc_ue_decode_dcch(
       case DL_DCCH_MessageType__c1_PR_spare1:
       case DL_DCCH_MessageType__c1_PR_spare2:
       case DL_DCCH_MessageType__c1_PR_spare3:
+#if !defined(Rel14)
       case DL_DCCH_MessageType__c1_PR_spare4:
+#endif
         break;
 
       default:
@@ -2900,7 +2902,7 @@ static int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
   rrc_mac_config_req(ctxt_pP->module_id, 0, ENB_FLAG_NO, 0, eNB_index,
                       (RadioResourceConfigCommonSIB_t *)NULL,
                       (struct PhysicalConfigDedicated *)NULL,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                       (SCellToAddMod_r10_t *)NULL,
                       //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -2917,7 +2919,7 @@ static int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
                       NULL,
                       NULL,
                       (MBSFN_SubframeConfigList_t *)NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                       ,0,
                       (MBSFN_AreaInfoList_r9_t *)NULL,
                       (PMCH_InfoList_r9_t *)NULL
@@ -3174,7 +3176,7 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
   LOG_I( RRC, "radioResourceConfigCommon.ul_CyclicPrefixLength : %ld\n",
          sib2->radioResourceConfigCommon.ul_CyclicPrefixLength );
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   // UplinkPowerControlCommon_v1020
   // ...
 #endif
@@ -3206,7 +3208,7 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
 
   LOG_I( RRC, "timeAlignmentTimerCommon : %ld\n", sib2->timeAlignmentTimerCommon );
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   if (sib2->lateNonCriticalExtension) {
     LOG_I( RRC, "lateNonCriticalExtension : %p\n", sib2->lateNonCriticalExtension );
@@ -3475,7 +3477,7 @@ static void dump_sib5( SystemInformationBlockType5_t *sib5 )
 	}
       }
     }
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     if (ifcfInfo->ext1 && ifcfInfo->ext1->q_QualMin_r9)
       LOG_I(RRC,"   Q_QualMin_r9 : %ld\n",*ifcfInfo->ext1->q_QualMin_r9);
     
@@ -3488,7 +3490,7 @@ static void dump_sib5( SystemInformationBlockType5_t *sib5 )
   
 }
   
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 static void dump_sib13( SystemInformationBlockType13_r9_t *sib13 )
 {
   LOG_I( RRC, "[UE] Dumping SIB13\n" );
@@ -3536,7 +3538,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
 	rrc_mac_config_req(ctxt_pP->module_id, 0, ENB_FLAG_NO, 0, eNB_index,
 			   &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->radioResourceConfigCommon,
 			   (struct PhysicalConfigDedicated *)NULL,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 			   (SCellToAddMod_r10_t *)NULL,
 #endif
 			   (MeasObjectToAddMod_t **)NULL,
@@ -3552,7 +3554,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
 			   UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_Bandwidth,
 			   &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.additionalSpectrumEmission,
 			   UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->mbsfn_SubframeConfigList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 			   ,0,
 			   (MBSFN_AreaInfoList_r9_t *)NULL,
 			   (PMCH_InfoList_r9_t *)NULL
@@ -3563,7 +3565,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
 #endif
 			   );
 	// After SI is received, prepare RRCConnectionRequest
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
 	if (UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option
 #endif
@@ -3694,7 +3696,7 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
       }
       break;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
     case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2048) == 0) {
@@ -4103,7 +4105,7 @@ static uint8_t check_trigger_meas_event(
   return 0;
 }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 //-----------------------------------------------------------------------------
 int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t* const Sdu, const uint8_t Sdu_len, const uint8_t mbsfn_sync_area )
 {
@@ -4177,7 +4179,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
   rrc_mac_config_req(ue_mod_idP,0,ENB_FLAG_NO,0,eNB_index,
                      (RadioResourceConfigCommonSIB_t *)NULL,
                      (struct PhysicalConfigDedicated *)NULL,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                      (SCellToAddMod_r10_t *)NULL,
                      //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -4194,7 +4196,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
                      NULL,
                      NULL,
                      (MBSFN_SubframeConfigList_t *)NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                      ,
                      0,
                      (MBSFN_AreaInfoList_r9_t *)NULL,
@@ -4220,7 +4222,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
                            NULL, // key rrc encryption
                            NULL, // key rrc integrity
                            NULL // key encryption
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                            ,&(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
 #endif
                            ,NULL);
@@ -4229,7 +4231,7 @@ static void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_i
                           NULL,// SRB_ToAddModList
                           NULL,// DRB_ToAddModList
                           NULL,// DRB_ToReleaseList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                           &(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
 #endif
                          );
@@ -4336,7 +4338,7 @@ void *rrc_ue_task( void *args_p )
                           RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
       break;
 
-# ifdef Rel10
+# if defined(Rel10) || defined(Rel14)
 
     case RRC_MAC_MCCH_DATA_IND:
       LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d, mbsfn SA %d\n", ue_mod_id, msg_name,
diff --git a/openair2/RRC/LITE/rrc_common.c b/openair2/RRC/LITE/rrc_common.c
index b039ecd8de2c20f91d47ea4490bb107362bfb24a..3f7fa3067c946d5dbba02bcaced61cf227e7c4e3 100644
--- a/openair2/RRC/LITE/rrc_common.c
+++ b/openair2/RRC/LITE/rrc_common.c
@@ -265,7 +265,7 @@ openair_rrc_top_init(
       UE_rrc_inst[module_id].UECapability_size = UECap->sdu_size;
     }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     LOG_I(RRC,"[UE] eMBMS active state is %d \n", eMBMS_active);
 
     for (module_id=0; module_id<NB_UE_INST; module_id++) {
@@ -286,7 +286,7 @@ openair_rrc_top_init(
       eNB_rrc_inst[module_id].HO_flag   = (uint8_t)HO_active;
     }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     LOG_I(RRC,"[eNB] eMBMS active state is %d \n", eMBMS_active);
 
     for (module_id=0; module_id<NB_eNB_INST; module_id++) {
diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c
index 399d86984eb955b60df3f484d8cc6f446ffddc4a..da9d93c19a2f0ccb5b8107b7087722c1664c6c2e 100644
--- a/openair2/RRC/LITE/rrc_eNB.c
+++ b/openair2/RRC/LITE/rrc_eNB.c
@@ -57,7 +57,7 @@
 
 #include "T.h"
 
-//#ifdef Rel10
+//#if defined(Rel10) || defined(Rel14)
 #include "MeasResults.h"
 //#endif
 
@@ -125,7 +125,7 @@ init_SI(
 {
   uint8_t                             SIwindowsize = 1;
   uint16_t                            SIperiod = 8;
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   int                                 i;
 #endif
   /*
@@ -223,7 +223,7 @@ init_SI(
           &eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].systemInformation,
           &eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2,
           &eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib3
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
           , &eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib13,
           eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].MBMS_flag
 #endif
@@ -281,7 +281,7 @@ init_SI(
           eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->radioResourceConfigCommon.pusch_ConfigCommon.
           ul_ReferenceSignalsPUSCH.cyclicShift);
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
     if (eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].MBMS_flag > 0) {
       for (i = 0; i < eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->mbsfn_SubframeConfigList->list.count; i++) {
@@ -326,7 +326,7 @@ init_SI(
                        (RadioResourceConfigCommonSIB_t *) &
                        eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->radioResourceConfigCommon,
                        (struct PhysicalConfigDedicated *)NULL,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                        (SCellToAddMod_r10_t *)NULL,
                        //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -341,7 +341,7 @@ init_SI(
                        eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->freqInfo.ul_Bandwidth,
                        &eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->freqInfo.additionalSpectrumEmission,
                        (MBSFN_SubframeConfigList_t*) eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib2->mbsfn_SubframeConfigList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                        ,
                        eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].MBMS_flag,
                        (MBSFN_AreaInfoList_r9_t*) & eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].sib13->mbsfn_AreaInfoList_r9,
@@ -359,7 +359,7 @@ init_SI(
   }
 }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 /*------------------------------------------------------------------------------*/
 static void
 init_MCCH(
@@ -422,7 +422,7 @@ init_MCCH(
   rrc_mac_config_req(enb_mod_idP, CC_id, ENB_FLAG_YES, 0, 0,
                      (RadioResourceConfigCommonSIB_t *) NULL,
                      (struct PhysicalConfigDedicated *)NULL,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                      (SCellToAddMod_r10_t *)NULL,
                      //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -433,7 +433,7 @@ init_MCCH(
                      (MeasGapConfig_t *) NULL,
                      (TDD_Config_t *) NULL,
                      NULL, (uint8_t *) NULL, (uint16_t *) NULL, NULL, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#   ifdef Rel10
+#   if defined(Rel10) || defined(Rel14)
                      ,
                      0,
                      (MBSFN_AreaInfoList_r9_t *) NULL,
@@ -473,7 +473,7 @@ static void init_MBMS(
                              NULL,  // key rrc encryption
                              NULL,  // key rrc integrity
                              NULL   // key encryption
-#   ifdef Rel10
+#   if defined(Rel10) || defined(Rel14)
                              , &(eNB_rrc_inst[enb_mod_idP].carrier[CC_id].mcch_message->pmch_InfoList_r9)
 #   endif
                              ,NULL);
@@ -693,7 +693,7 @@ rrc_eNB_free_mem_UE_context(
         PROTOCOL_RRC_CTXT_UE_FMT" Clearing UE context 0x%p (free internal structs)\n",
         PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
         ue_context_pP);
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[0]);
   ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_SCellToAddMod_r10, &ue_context_pP->ue_context.sCell_config[1]);
 #endif
@@ -1369,7 +1369,7 @@ rrc_eNB_generate_dedicatedRRCConnectionReconfiguration(const protocol_ctxt_t* co
 					  NULL, NULL, NULL, NULL,NULL,
 					  NULL, NULL,  NULL, NULL, NULL, NULL, 
 					  (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                                          , (SCellToAddMod_r10_t*)NULL
 #endif
                                         );
@@ -1469,7 +1469,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
                                      *ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
   MeasIdToAddModList_t               *MeasId_list                      = NULL;
   MeasIdToAddMod_t                   *MeasId0, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
-#if Rel10
+#if defined(Rel10) || defined(Rel14)
   long                               *sr_ProhibitTimer_r9              = NULL;
   //     uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
   //uint8_t                            sCellIndexToAdd = 0;
@@ -1671,9 +1671,9 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
   *maxHARQ_Tx = MAC_MainConfig__ul_SCH_Config__maxHARQ_Tx_n5;
   mac_MainConfig->ul_SCH_Config->maxHARQ_Tx = maxHARQ_Tx;
   periodicBSR_Timer = CALLOC(1, sizeof(long));
-  *periodicBSR_Timer = MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64;
+  *periodicBSR_Timer = PeriodicBSR_Timer_r12_sf64;
   mac_MainConfig->ul_SCH_Config->periodicBSR_Timer = periodicBSR_Timer;
-  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320;
+  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = RetxBSR_Timer_r12_sf320;
   mac_MainConfig->ul_SCH_Config->ttiBundling = 0; // FALSE
 
   mac_MainConfig->timeAlignmentTimerDedicated = TimeAlignmentTimer_infinity;
@@ -1689,7 +1689,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
 
   mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;  // Value dB1 =1 dB, dB3 = 3 dB
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
   *sr_ProhibitTimer_r9 = 0;   // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
   mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
@@ -1756,7 +1756,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
 	//feedback mode needs to be set as well
 	//TODO: I think this is taken into account in the PHY automatically based on the transmission mode variable
 	printf("setting cqi reporting mode to rm31\n");
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 	*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportModeAperiodic_rm31;
 #else
 	*((*physicalConfigDedicated)->cqi_ReportConfig->cqi_ReportModeAperiodic)=CQI_ReportConfig__cqi_ReportModeAperiodic_rm31; // HLC CQI, no PMI
@@ -2102,7 +2102,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t* cons
                                          (RSRP_Range_t*)rsrp,
                                          (C_RNTI_t*)cba_RNTI,
                                          (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)dedicatedInfoNASList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                                          , (SCellToAddMod_r10_t*)NULL
 #endif
                                         );
@@ -2173,7 +2173,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
   uint8_t size;
   uint8_t buffer[100];
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   uint8_t sCellIndexToAdd = 0; //one SCell so far
 
   //   uint8_t sCellIndexToAdd;
@@ -2207,7 +2207,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_SCell(
                                          (C_RNTI_t*)NULL,
                                          (struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList*)NULL
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                                          , ue_context_pP->ue_context.sCell_config
 #endif
                                         );
@@ -2264,7 +2264,7 @@ rrc_eNB_process_MeasurementReport(
                  measResult.rsrqResult));
   }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   LOG_I(RRC, "RSRP of Source %ld\n", measResults2->measResultPCell.rsrpResult);
   LOG_I(RRC, "RSRQ of Source %ld\n", measResults2->measResultPCell.rsrqResult);
 #else
@@ -2531,7 +2531,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   // HandoverCommand_t handoverCommand;
   //uint8_t                             sourceModId =
   //  get_adjacent_cell_mod_id(ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->sourcePhysCellId);
-#if Rel10
+#if defined(Rel10) || defined(Rel14)
   long                               *sr_ProhibitTimer_r9;
 #endif
 
@@ -2779,7 +2779,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
     0,
     (RadioResourceConfigCommonSIB_t*) NULL,
     ue_context_pP->ue_context.physicalConfigDedicated,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     (SCellToAddMod_r10_t *)NULL,
     //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -2796,7 +2796,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
     NULL,
     NULL,
     (MBSFN_SubframeConfigList_t *) NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
 #endif
 #ifdef CBA
@@ -2899,10 +2899,10 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   mac_MainConfig->ul_SCH_Config->maxHARQ_Tx = maxHARQ_Tx;
 
   periodicBSR_Timer = CALLOC(1, sizeof(long));
-  *periodicBSR_Timer = MAC_MainConfig__ul_SCH_Config__periodicBSR_Timer_sf64;
+  *periodicBSR_Timer = PeriodicBSR_Timer_r12_sf64;
   mac_MainConfig->ul_SCH_Config->periodicBSR_Timer = periodicBSR_Timer;
 
-  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = MAC_MainConfig__ul_SCH_Config__retxBSR_Timer_sf320;
+  mac_MainConfig->ul_SCH_Config->retxBSR_Timer = RetxBSR_Timer_r12_sf320;
 
   mac_MainConfig->ul_SCH_Config->ttiBundling = 0; // FALSE
 
@@ -2917,7 +2917,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
 
   mac_MainConfig->phr_Config->choice.setup.dl_PathlossChange = MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB1;  // Value dB1 =1 dB, dB3 = 3 dB
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
   sr_ProhibitTimer_r9 = CALLOC(1, sizeof(long));
   *sr_ProhibitTimer_r9 = 0;   // SR tx on PUCCH, Value in number of SR period(s). Value 0 = no timer for SR, Value 2= 2*SR
   mac_MainConfig->ext1 = CALLOC(1, sizeof(struct MAC_MainConfig__ext1));
@@ -3279,7 +3279,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   rrc_pdcp_config_asn1_req(&ctxt,
                            ue_context_pP->ue_context.SRB_configList,
                            (DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL, 0xff, NULL, NULL, NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                            , (PMCH_InfoList_r9_t *) NULL
 #endif
                            ,NULL);
@@ -3287,7 +3287,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
   rrc_rlc_config_asn1_req(&ctxt,
                           ue_context_pP->ue_context.SRB_configList,
                           (DRB_ToAddModList_t *) NULL, (DRB_ToReleaseList_t *) NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                           , (PMCH_InfoList_r9_t *) NULL
 #endif
                          );
@@ -3318,7 +3318,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
            NULL,
            NULL,
            dedicatedInfoNASList
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
            , NULL   // SCellToAddMod_r10_t
 #endif
          );
@@ -3353,7 +3353,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
     0,
     (RadioResourceConfigCommonSIB_t *) NULL,
     ue_context_pP->ue_context.physicalConfigDedicated,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     (SCellToAddMod_r10_t *)NULL,
     //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -3365,7 +3365,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
     (TDD_Config_t *) NULL,
     (MobilityControlInfo_t *) mobilityInfo,
     (uint8_t *) NULL, (uint16_t *) NULL, NULL, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
 #endif
 #ifdef CBA
@@ -3521,7 +3521,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
     kRRCenc,
     kRRCint,
     kUPenc
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     , (PMCH_InfoList_r9_t *) NULL
 #endif
     ,NULL);
@@ -3531,7 +3531,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
     SRB_configList, // NULL,  //LG-RK 14/05/2014 SRB_configList,
     DRB_configList,
     (DRB_ToReleaseList_t *) NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     , (PMCH_InfoList_r9_t *) NULL
 #endif
   );
@@ -3651,7 +3651,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
             0,
             (RadioResourceConfigCommonSIB_t *) NULL,
             ue_context_pP->ue_context.physicalConfigDedicated,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
             (SCellToAddMod_r10_t *)NULL,
             //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -3664,7 +3664,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
             NULL,
             (uint8_t *) NULL,
             (uint16_t *) NULL, NULL, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
             , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
 #endif
 #ifdef CBA
@@ -3699,7 +3699,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
                              0,
                              (RadioResourceConfigCommonSIB_t *) NULL,
                              ue_context_pP->ue_context.physicalConfigDedicated,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                              (SCellToAddMod_r10_t *)NULL,
                              //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -3710,7 +3710,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
                              (MeasGapConfig_t *) NULL,
                              (TDD_Config_t *) NULL,
                              NULL, (uint8_t *) NULL, (uint16_t *) NULL, NULL, NULL, NULL, NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                              , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
 #endif
 #ifdef CBA
@@ -3794,7 +3794,7 @@ rrc_eNB_generate_RRCConnectionSetup(
           0,
           (RadioResourceConfigCommonSIB_t *) NULL,
           ue_context_pP->ue_context.physicalConfigDedicated,
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
           (SCellToAddMod_r10_t *)NULL,
           //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
 #endif
@@ -3807,7 +3807,7 @@ rrc_eNB_generate_RRCConnectionSetup(
           NULL,
           (uint8_t *) NULL,
           (uint16_t *) NULL, NULL, NULL, NULL, (MBSFN_SubframeConfigList_t *) NULL
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
           , 0, (MBSFN_AreaInfoList_r9_t *) NULL, (PMCH_InfoList_r9_t *) NULL
 #endif
 #ifdef CBA
@@ -3923,11 +3923,15 @@ while ( eNB_rrc_inst == NULL ) {
 
   LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Checking release \n",
         PROTOCOL_RRC_CTXT_ARGS(&ctxt));
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   // This has to come from some top-level configuration
   // only CC_id 0 is logged
+#if defined(Rel10)
   LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel10 RRC detected, MBMS flag %d\n",
+#else
+  LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" Rel14 RRC detected, MBMS flag %d\n",
+#endif
         PROTOCOL_RRC_CTXT_ARGS(&ctxt),
         eNB_rrc_inst[ctxt.module_id].carrier[0].MBMS_flag);
 
@@ -3966,7 +3970,7 @@ while ( eNB_rrc_inst == NULL ) {
            );
   }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
   for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
     switch (eNB_rrc_inst[ctxt.module_id].carrier[CC_id].MBMS_flag) {
@@ -4349,7 +4353,7 @@ rrc_eNB_decode_ccch(
                                NULL,
                                NULL,
                                NULL
-#   ifdef Rel10
+#   if defined(Rel10) || defined(Rel14)
                                , (PMCH_InfoList_r9_t *) NULL
 #   endif
                                ,NULL);
@@ -4358,7 +4362,7 @@ rrc_eNB_decode_ccch(
                               ue_context_p->ue_context.SRB_configList,
                               (DRB_ToAddModList_t*) NULL,
                               (DRB_ToReleaseList_t*) NULL
-#   ifdef Rel10
+#   if defined(Rel10) || defined(Rel14)
                               , (PMCH_InfoList_r9_t *) NULL
 #   endif
                              );
@@ -4871,7 +4875,7 @@ rrc_eNB_decode_dcch(
 
       break;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
     case UL_DCCH_MessageType__c1_PR_ueInformationResponse_r9:
       T(T_ENB_RRC_UE_INFORMATION_RESPONSE_R9, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
diff --git a/openair2/RRC/LITE/rrc_eNB_S1AP.c b/openair2/RRC/LITE/rrc_eNB_S1AP.c
index 8984eb933c60c1e959e9cad9b5bd5c9c9b90c390..3642d02a1c32f3c782fb0b6cf0d93f42e843bbca 100644
--- a/openair2/RRC/LITE/rrc_eNB_S1AP.c
+++ b/openair2/RRC/LITE/rrc_eNB_S1AP.c
@@ -69,7 +69,7 @@ static const uint16_t S1AP_ENCRYPTION_EEA2_MASK = 0x4000;
 static const uint16_t S1AP_INTEGRITY_EIA1_MASK = 0x8000;
 static const uint16_t S1AP_INTEGRITY_EIA2_MASK = 0x4000;
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 # define INTEGRITY_ALGORITHM_NONE SecurityAlgorithmConfig__integrityProtAlgorithm_eia0_v920
 #else
 #ifdef EXMIMO_IOT
@@ -228,21 +228,21 @@ rrc_eNB_get_ue_context_from_s1ap_ids(
  *\param algorithms The bit mask of available algorithms received from S1AP.
  *\return the selected algorithm.
  */
-static e_SecurityAlgorithmConfig__cipheringAlgorithm rrc_eNB_select_ciphering(uint16_t algorithms)
+static CipheringAlgorithm_r12_t rrc_eNB_select_ciphering(uint16_t algorithms)
 {
 
 //#warning "Forced   return SecurityAlgorithmConfig__cipheringAlgorithm_eea0, to be deleted in future"
-  return SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
+  return CipheringAlgorithm_r12_eea0;
 
   if (algorithms & S1AP_ENCRYPTION_EEA2_MASK) {
-    return SecurityAlgorithmConfig__cipheringAlgorithm_eea2;
+    return CipheringAlgorithm_r12_eea2;
   }
 
   if (algorithms & S1AP_ENCRYPTION_EEA1_MASK) {
-    return SecurityAlgorithmConfig__cipheringAlgorithm_eea1;
+    return CipheringAlgorithm_r12_eea1;
   }
 
-  return SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
+  return CipheringAlgorithm_r12_eea0;
 }
 
 /*! \fn e_SecurityAlgorithmConfig__integrityProtAlgorithm rrc_eNB_select_integrity(uint16_t algorithms)
@@ -279,7 +279,7 @@ rrc_eNB_process_security(
 )
 {
   boolean_t                                         changed = FALSE;
-  e_SecurityAlgorithmConfig__cipheringAlgorithm cipheringAlgorithm;
+  CipheringAlgorithm_r12_t                          cipheringAlgorithm;
   e_SecurityAlgorithmConfig__integrityProtAlgorithm integrityProtAlgorithm;
 
   /* Save security parameters */
diff --git a/openair2/RRC/LITE/vars.h b/openair2/RRC/LITE/vars.h
index 54315047382765fe0d06cc7f65bd43dbcbfaa626..71b00b278c1124780fb9ee8ed0df24dc87229bd7 100644
--- a/openair2/RRC/LITE/vars.h
+++ b/openair2/RRC/LITE/vars.h
@@ -80,7 +80,7 @@ struct LogicalChannelConfig__ul_SpecificParameters LCSRB2 =  {3,
 };
 
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 struct LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = {
          logicalChannelSR_Mask_r9: &logicalChannelSR_Mask_r9
 };
@@ -88,14 +88,14 @@ struct LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = {
 
 // These are the default SRB configurations from 36.331 (Chapter 9, p. 176-179 in v8.6)
 LogicalChannelConfig_t  SRB1_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB1
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                                                                   ,
                                                                   ext1: &logicalChannelSR_Mask_r9_ext1
 #endif
                                                                  };
 
 LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB2
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
                                                                  ,
                                                                  ext1: &logicalChannelSR_Mask_r9_ext1
 #endif
diff --git a/openair3/NAS/TOOLS/network.h b/openair3/NAS/TOOLS/network.h
index 0d60359c57b7d4093e2006e13c5c1f8a57e45619..d7044c8e51436792605078a8d79d04154e921107 100644
--- a/openair3/NAS/TOOLS/network.h
+++ b/openair3/NAS/TOOLS/network.h
@@ -61,7 +61,7 @@ Description Defines a list of PLMN network operators
 #define VDF5  11
 
 
-#define SELECTED_PLMN OAI_LTEBOX //SFR1
+#define SELECTED_PLMN TEST1 //SFR1
 
 #define TEST_PLMN {0,0,0x0f,1,1,0}  // 00101
 #define SFR_PLMN_1  {0,2,0x0f,8,0,1}  // 20810
diff --git a/openair3/NAS/UE/ESM/esm_ebr_context.c b/openair3/NAS/UE/ESM/esm_ebr_context.c
index bfa4a04cc82dd9d73946ac67702897fe2dce8a51..4700187da179a45ffef1388623a12539881b8673 100644
--- a/openair3/NAS/UE/ESM/esm_ebr_context.c
+++ b/openair3/NAS/UE/ESM/esm_ebr_context.c
@@ -47,6 +47,7 @@ Description Defines functions used to handle EPS bearer contexts.
 #include "esm_ebr_context.h"
 
 #include "emm_sap.h"
+#include "system.h"
 
 #if defined(ENABLE_ITTI)
 # include "assertions.h"
@@ -286,7 +287,18 @@ int esm_ebr_context_create(
              LOG_TRACE(INFO, "ESM-PROC  - executing %s ",
                        command_line);
 
-             if (system(command_line)) ; /* TODO: what to do? */
+             /* Calling system() here disrupts UE's realtime processing in some cases.
+              * This may be because of the call to fork(), which, for some
+              * unidentified reason, interacts badly with other (realtime) threads.
+              * background_system() is a replacement mechanism relying on a
+              * background process that does the system() and reports result to
+              * the parent process (lte-softmodem, oaisim, ...). The background
+              * process is created very early in the life of the parent process.
+              * The processes interact through standard pipes. See
+              * common/utils/system.c for details.
+              */
+             if (background_system(command_line) != 0)
+               LOG_TRACE(ERROR, "ESM-PROC - failed command '%s'", command_line);
 
              break;
 
diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
index 7278c2727dddd79c9e6f3b1df9f891db6e4f7125..4cf04064b156f439698c964da8bd13041eba9aab 100644
--- a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
+++ b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
@@ -418,7 +418,6 @@ int trx_eth_read_raw_IF4p5(openair0_device *device, openair0_timestamp *timestam
 int trx_eth_read_raw_IF5_mobipass(openair0_device *device, openair0_timestamp *timestamp, void **buff, int nsamps, int cc) {
   // Read nblocks info from packet itself
   
-  int nblocks = nsamps;
   int bytes_received=0;
   eth_state_t *eth = (eth_state_t*)device->priv;
 
diff --git a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
index 3b6db934b6914c68ce0645f699ca17668073ccaa..9f6c01afed27244a639bde533291a4dafa635b2b 100644
--- a/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
+++ b/targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
@@ -139,7 +139,7 @@ int trx_eth_read_udp_IF4p5(openair0_device *device, openair0_timestamp *timestam
   IF4p5_header_t *test_header = (IF4p5_header_t*)(buff[0]);
   
   int block_cnt=0; 
-  int again_cnt=0;
+  //int again_cnt=0;
   packet_size = max(UDP_IF4p5_PRACH_SIZE_BYTES, max(UDP_IF4p5_PULFFT_SIZE_BYTES(nblocks), UDP_IF4p5_PDLFFT_SIZE_BYTES(nblocks)));
 
   while(bytes_received == -1) {
@@ -410,7 +410,7 @@ int trx_eth_read_udp(openair0_device *device, openair0_timestamp *timestamp, voi
 	   eth->pck_seq_num_cur = *(uint16_t *)buff2;
 	   if ( ( eth->pck_seq_num_cur != (eth->pck_seq_num_prev + 1) ) && !((eth->pck_seq_num_prev==MAX_PACKET_SEQ_NUM(nsamps,device->openair0_cfg->samples_per_frame)) && (eth->pck_seq_num_cur==1 )) && !((eth->pck_seq_num_prev==1) && (eth->pck_seq_num_cur==1))) {	     
 	     //#if DEBUG
-	     printf("Out of order packet received: current_packet=%d previous_packet=%d timestamp=%llu\n",eth->pck_seq_num_cur,eth->pck_seq_num_prev,*timestamp);
+	     printf("Out of order packet received: current_packet=%d previous_packet=%d timestamp=%"PRId64"\n",eth->pck_seq_num_cur,eth->pck_seq_num_prev,*timestamp);
 	     //#endif
 	   }
 	   VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_RX_SEQ_NUM,eth->pck_seq_num_cur);
@@ -448,7 +448,7 @@ int eth_set_dev_conf_udp(openair0_device *device) {
 
   if (sendto(eth->sockfd,msg,msg_len,0,(struct sockaddr *)&eth->dest_addr,eth->addr_len)==-1) {
     perror("ETHERNET: sendto conf_udp");
-    printf("addr_len : %d, msg_len %d\n",eth->addr_len,msg_len);
+    printf("addr_len : %d, msg_len %zd\n",eth->addr_len,msg_len);
     exit(0);
   }
 
diff --git a/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c b/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
index 993b2db2eeb1ec21d1238f4a5cdb764d3974b79f..766bb6eb74993c023111574f70f9099421a2dbe1 100644
--- a/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
+++ b/targets/ARCH/EXMIMO/DRIVER/eurecom/exmimo_fw.c
@@ -193,7 +193,7 @@ int exmimo_assign_shm_vars(int card_id)
 int exmimo_allocate_rx_tx_buffers(int card_id)
 {
   size_t size;
-  int j,i;
+  int j;
   dma_addr_t dma_addr_dummy;
   // Round up to the next PAGE_SIZE (typ. 4096 bytes)
   size = (ADAC_BUFFERSZ_PERCHAN_B >> PAGE_SHIFT) + 1;
@@ -243,8 +243,6 @@ int exmimo_allocate_rx_tx_buffers(int card_id)
  */
 int exmimo_memory_alloc(int card)
 {
-  int i;
-
   if ( bigshm_init( card ) ) {
     printk("exmimo_memory_alloc(): bigshm_init failed for card %d.\n", card);
     return -ENOMEM;
diff --git a/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini b/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini
new file mode 100755
index 0000000000000000000000000000000000000000..56ff3527373c61963d70b5e0a878b7ef0febeaa4
--- /dev/null
+++ b/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz.ini
@@ -0,0 +1,1128 @@
+[file_info]
+type=lms7002m_minimal_config
+version=1
+[lms7002_registers_a]
+0x0020=0xFFFD
+0x0021=0x0E9F
+0x0022=0x07FF
+0x0023=0x5550
+0x0024=0xB1E4
+0x0025=0x0101
+0x0026=0x0101
+0x0027=0xB1E4
+0x0028=0x0101
+0x0029=0x0101
+0x002A=0x0086
+0x002B=0x0038
+0x002C=0x0000
+0x002D=0x0000
+0x002E=0x0000
+0x002F=0x3840
+0x0081=0x0000
+0x0082=0x8003
+0x0084=0x0400
+0x0085=0x0001
+0x0086=0x4101
+0x0087=0x0000
+0x0088=0x04B0
+0x0089=0x1090
+0x008A=0x0514
+0x008B=0x2102
+0x008C=0x267B
+0x0092=0x0001
+0x0093=0x0000
+0x0094=0x0000
+0x0095=0x0000
+0x0096=0x0000
+0x0097=0x0000
+0x0098=0x0000
+0x0099=0x6565
+0x009A=0x658C
+0x009B=0x6565
+0x009C=0x658C
+0x009D=0x6565
+0x009E=0x658C
+0x009F=0x658C
+0x00A0=0x6565
+0x00A1=0x6565
+0x00A2=0x6565
+0x00A3=0x6565
+0x00A4=0x6565
+0x00A5=0x6565
+0x00A6=0x000F
+0x00A7=0x6565
+0x00A8=0x0000
+0x00A9=0x0000
+0x00AA=0x0000
+0x00AB=0x0040
+0x00AC=0x0000
+0x00AD=0x03FF
+0x00AE=0x0000
+0x0100=0x3409
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0612
+0x0104=0x0088
+0x0105=0x0011
+0x0106=0x318C
+0x0107=0x318C
+0x0108=0x2826
+0x0109=0x6104
+0x010A=0x17BD
+0x010C=0x8865
+0x010D=0x015A
+0x010E=0x0000
+0x010F=0x3042
+0x0110=0x0BFF
+0x0111=0x0083
+0x0112=0x9407
+0x0113=0x0303
+0x0114=0x00D0
+0x0115=0x0009
+0x0116=0x8180
+0x0117=0x1217
+0x0118=0x018C
+0x0119=0x528C
+0x011A=0x3E03
+0x011C=0xAD41
+0x011D=0x2000
+0x011E=0x06E4
+0x011F=0x3640
+0x0120=0xB9FF
+0x0121=0x341C
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0081
+0x0201=0x07FF
+0x0202=0x07FF
+0x0203=0x0000
+0x0204=0x0000
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x0170
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x0000
+0x020C=0x8000
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x8081
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0003
+0x040B=0x000F
+0x040C=0x00F8
+0x040D=0x0000
+0x040E=0x0000
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x2B55
+0x0443=0x5540
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[lms7002_registers_b]
+0x0100=0x340F
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0612
+0x0104=0x0088
+0x0105=0x001F
+0x0106=0x3182
+0x0107=0x318C
+0x0108=0x9442
+0x0109=0x61C1
+0x010A=0x104C
+0x010C=0x88FF
+0x010D=0x001E
+0x010E=0x2040
+0x010F=0x3042
+0x0110=0x0BF4
+0x0111=0x0083
+0x0112=0x9407
+0x0113=0x03C3
+0x0114=0x00D0
+0x0115=0x000F
+0x0116=0x8180
+0x0117=0x1217
+0x0118=0x018C
+0x0119=0x5280
+0x011A=0x3E03
+0x011C=0xAD41
+0x011D=0x1555
+0x011E=0x0747
+0x011F=0x3640
+0x0120=0xB9FF
+0x0121=0x360C
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0101
+0x0201=0x07FF
+0x0202=0x07FF
+0x0203=0x0000
+0x0204=0x0000
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x01F0
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x0000
+0x020C=0x7FFF
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x0105
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0000
+0x040B=0x7FFF
+0x040C=0x00FF
+0x040D=0x0000
+0x040E=0x0002
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x0000
+0x0443=0x0000
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[reference_clocks]
+sxt_ref_clk_mhz=30.72
+sxr_ref_clk_mhz=30.72
diff --git a/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini b/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini
new file mode 100755
index 0000000000000000000000000000000000000000..9503891fb9220223c5f2808d00686112e73c3735
--- /dev/null
+++ b/targets/ARCH/LMSSDR/LimeSDR_above_1p8GHz_1v4.ini
@@ -0,0 +1,1128 @@
+[file_info]
+type=lms7002m_minimal_config
+version=1
+[lms7002_registers_a]
+0x0020=0xFFFD
+0x0021=0x0E9F
+0x0022=0x07FF
+0x0023=0x5550
+0x0024=0xB1E4
+0x0025=0x0101
+0x0026=0x0101
+0x0027=0xB1E4
+0x0028=0x0101
+0x0029=0x0101
+0x002A=0x0086
+0x002B=0x0038
+0x002C=0x0000
+0x002D=0x0000
+0x002E=0x0000
+0x002F=0x3840
+0x0081=0x0000
+0x0082=0x800B
+0x0084=0x0400
+0x0085=0x0001
+0x0086=0x4101
+0x0087=0x0000
+0x0088=0x04B0
+0x0089=0x1090
+0x008A=0x0514
+0x008B=0x2136
+0x008C=0x267B
+0x0092=0x0001
+0x0093=0x0000
+0x0094=0x0000
+0x0095=0x0000
+0x0096=0x0000
+0x0097=0x0000
+0x0098=0x0000
+0x0099=0x6565
+0x009A=0x658C
+0x009B=0x6565
+0x009C=0x658C
+0x009D=0x6565
+0x009E=0x658C
+0x009F=0x658C
+0x00A0=0x6565
+0x00A1=0x6565
+0x00A2=0x6565
+0x00A3=0x6565
+0x00A4=0x6565
+0x00A5=0x6565
+0x00A6=0x000F
+0x00A7=0x6565
+0x00A8=0x0000
+0x00A9=0x0000
+0x00AA=0x0000
+0x00AB=0x0040
+0x00AC=0x0000
+0x00AD=0x03FF
+0x00AE=0x0000
+0x0100=0x3409
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0612
+0x0104=0x0088
+0x0105=0x0011
+0x0106=0x318C
+0x0107=0x318C
+0x0108=0x218C
+0x0109=0x6104
+0x010A=0x17BD
+0x010C=0x8865
+0x010D=0x00DE
+0x010E=0x0000
+0x010F=0x30C6
+0x0110=0x0BFF
+0x0111=0x0083
+0x0112=0x9407
+0x0113=0x0303
+0x0114=0x00D0
+0x0115=0x0009
+0x0116=0x8180
+0x0117=0x1217
+0x0118=0x018C
+0x0119=0x528C
+0x011A=0x3E03
+0x011C=0xAD41
+0x011D=0x2000
+0x011E=0x06E4
+0x011F=0x3640
+0x0120=0xB9FF
+0x0121=0x341C
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0081
+0x0201=0x07FF
+0x0202=0x07FF
+0x0203=0x0000
+0x0204=0x0000
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x0170
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x0000
+0x020C=0x8000
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x8081
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0003
+0x040B=0x000F
+0x040C=0x00F8
+0x040D=0x0000
+0x040E=0x0000
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x2B55
+0x0443=0x5540
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[lms7002_registers_b]
+0x0100=0x340F
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0612
+0x0104=0x0088
+0x0105=0x001F
+0x0106=0x3182
+0x0107=0x318C
+0x0108=0x9442
+0x0109=0x61C1
+0x010A=0x104C
+0x010C=0x88FF
+0x010D=0x001E
+0x010E=0x2040
+0x010F=0x3042
+0x0110=0x0BF4
+0x0111=0x0083
+0x0112=0x9407
+0x0113=0x03C3
+0x0114=0x00D0
+0x0115=0x000F
+0x0116=0x8180
+0x0117=0x1217
+0x0118=0x018C
+0x0119=0x5280
+0x011A=0x3E03
+0x011C=0xAD41
+0x011D=0x1555
+0x011E=0x0747
+0x011F=0x3640
+0x0120=0xB9FF
+0x0121=0x360C
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0101
+0x0201=0x07FF
+0x0202=0x07FF
+0x0203=0x0000
+0x0204=0x0000
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x01F0
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x0000
+0x020C=0x7FFF
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x0105
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0000
+0x040B=0x7FFF
+0x040C=0x00FF
+0x040D=0x0000
+0x040E=0x0002
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x0000
+0x0443=0x0000
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[reference_clocks]
+sxt_ref_clk_mhz=30.72
+sxr_ref_clk_mhz=30.72
diff --git a/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini b/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini
new file mode 100755
index 0000000000000000000000000000000000000000..dda51f7f27d97511d742cef79f99c99f208dc310
--- /dev/null
+++ b/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz.ini
@@ -0,0 +1,1128 @@
+[file_info]
+type=lms7002m_minimal_config
+version=1
+[lms7002_registers_a]
+0x0020=0xFFFD
+0x0021=0x0E9F
+0x0022=0x07FF
+0x0023=0x5550
+0x0024=0xB1E4
+0x0025=0x0101
+0x0026=0x0101
+0x0027=0xB1E4
+0x0028=0x0101
+0x0029=0x0101
+0x002A=0x0086
+0x002B=0x0038
+0x002C=0x0000
+0x002D=0x0000
+0x002E=0x0000
+0x002F=0x3840
+0x0081=0x0000
+0x0082=0x8003
+0x0084=0x0400
+0x0085=0x0001
+0x0086=0x4101
+0x0087=0x0000
+0x0088=0x04B0
+0x0089=0x1090
+0x008A=0x0514
+0x008B=0x2102
+0x008C=0x267B
+0x0092=0x0001
+0x0093=0x0000
+0x0094=0x0000
+0x0095=0x0000
+0x0096=0x0000
+0x0097=0x0000
+0x0098=0x0000
+0x0099=0x6565
+0x009A=0x658C
+0x009B=0x6565
+0x009C=0x658C
+0x009D=0x6565
+0x009E=0x658C
+0x009F=0x658C
+0x00A0=0x6565
+0x00A1=0x6565
+0x00A2=0x6565
+0x00A3=0x6565
+0x00A4=0x6565
+0x00A5=0x6565
+0x00A6=0x000F
+0x00A7=0x6565
+0x00A8=0x0000
+0x00A9=0x0000
+0x00AA=0x0000
+0x00AB=0x0040
+0x00AC=0x0000
+0x00AD=0x03FF
+0x00AE=0x0000
+0x0100=0x3409
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0A12
+0x0104=0x0088
+0x0105=0x0011
+0x0106=0x318C
+0x0107=0x318C
+0x0108=0x2826
+0x0109=0x6104
+0x010A=0x17BD
+0x010C=0x8865
+0x010D=0x01DC
+0x010E=0x0000
+0x010F=0x3042
+0x0110=0x0BFF
+0x0111=0x0083
+0x0112=0x9407
+0x0113=0x0303
+0x0114=0x00D0
+0x0115=0x0009
+0x0116=0x8180
+0x0117=0x1217
+0x0118=0x018C
+0x0119=0x528C
+0x011A=0x3E03
+0x011C=0xAD41
+0x011D=0xC000
+0x011E=0x068F
+0x011F=0x3680
+0x0120=0xB9FF
+0x0121=0x3234
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0081
+0x0201=0x07FF
+0x0202=0x07FF
+0x0203=0x0000
+0x0204=0x0000
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x0170
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x0000
+0x020C=0x8000
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x8081
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0003
+0x040B=0x000F
+0x040C=0x00F8
+0x040D=0x0000
+0x040E=0x0000
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x2B55
+0x0443=0x5540
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[lms7002_registers_b]
+0x0100=0x340F
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0612
+0x0104=0x0088
+0x0105=0x001F
+0x0106=0x3182
+0x0107=0x318C
+0x0108=0x9442
+0x0109=0x61C1
+0x010A=0x104C
+0x010C=0x88FF
+0x010D=0x001E
+0x010E=0x2040
+0x010F=0x3042
+0x0110=0x0BF4
+0x0111=0x0083
+0x0112=0x9407
+0x0113=0x03C3
+0x0114=0x00D0
+0x0115=0x000F
+0x0116=0x8180
+0x0117=0x1217
+0x0118=0x018C
+0x0119=0x5280
+0x011A=0x3E03
+0x011C=0xAD41
+0x011D=0xC000
+0x011E=0x06F3
+0x011F=0x3680
+0x0120=0xB9FF
+0x0121=0x346C
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0101
+0x0201=0x07FF
+0x0202=0x07FF
+0x0203=0x0000
+0x0204=0x0000
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x01F0
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x0000
+0x020C=0x7FFF
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x0105
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0000
+0x040B=0x7FFF
+0x040C=0x00FF
+0x040D=0x0000
+0x040E=0x0002
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x0000
+0x0443=0x0000
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[reference_clocks]
+sxt_ref_clk_mhz=30.72
+sxr_ref_clk_mhz=30.72
diff --git a/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini b/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini
new file mode 100755
index 0000000000000000000000000000000000000000..7c94b3dd5bf801dc3370a07bb6c38a4aafd6a29e
--- /dev/null
+++ b/targets/ARCH/LMSSDR/LimeSDR_below_1p8GHz_1v4.ini
@@ -0,0 +1,1128 @@
+[file_info]
+type=lms7002m_minimal_config
+version=1
+[lms7002_registers_a]
+0x0020=0xFFFD
+0x0021=0x0E9F
+0x0022=0x07FF
+0x0023=0x5550
+0x0024=0xB1E4
+0x0025=0x0101
+0x0026=0x0101
+0x0027=0xB1E4
+0x0028=0x0101
+0x0029=0x0101
+0x002A=0x0086
+0x002B=0x0038
+0x002C=0x0000
+0x002D=0x0000
+0x002E=0x0000
+0x002F=0x3841
+0x0081=0x0000
+0x0082=0x800B
+0x0084=0x0400
+0x0085=0x0001
+0x0086=0x4101
+0x0087=0x0000
+0x0088=0x04B0
+0x0089=0x1090
+0x008A=0x0514
+0x008B=0x2138
+0x008C=0x267B
+0x0092=0x0001
+0x0093=0x0000
+0x0094=0x0000
+0x0095=0x0000
+0x0096=0x0000
+0x0097=0x0000
+0x0098=0x0000
+0x0099=0x6565
+0x009A=0x658C
+0x009B=0x6565
+0x009C=0x658C
+0x009D=0x6565
+0x009E=0x658C
+0x009F=0x658C
+0x00A0=0x6565
+0x00A1=0x6565
+0x00A2=0x6565
+0x00A3=0x6565
+0x00A4=0x6565
+0x00A5=0x6565
+0x00A6=0x000F
+0x00A7=0x6565
+0x00A8=0x0000
+0x00A9=0x0000
+0x00AA=0x0000
+0x00AB=0x0040
+0x00AC=0x0000
+0x00AD=0x03FF
+0x00AE=0x0000
+0x0100=0x3409
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0A12
+0x0104=0x0088
+0x0105=0x0011
+0x0106=0x318C
+0x0107=0x318C
+0x0108=0x298C
+0x0109=0x6104
+0x010A=0x17BD
+0x010C=0x8865
+0x010D=0x015A
+0x010E=0x0000
+0x010F=0x30C6
+0x0110=0x0BFF
+0x0111=0x0083
+0x0112=0x9407
+0x0113=0x0303
+0x0114=0x00D0
+0x0115=0x0009
+0x0116=0x8180
+0x0117=0x1217
+0x0118=0x018C
+0x0119=0x528C
+0x011A=0x3E03
+0x011C=0xAD41
+0x011D=0xC000
+0x011E=0x068F
+0x011F=0x3680
+0x0120=0xB9FF
+0x0121=0x3234
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0081
+0x0201=0x07FF
+0x0202=0x07FF
+0x0203=0x0000
+0x0204=0x0000
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x0170
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x0000
+0x020C=0x8000
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x8081
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0003
+0x040B=0x000F
+0x040C=0x00F8
+0x040D=0x0000
+0x040E=0x0000
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x2B55
+0x0443=0x5540
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[lms7002_registers_b]
+0x0100=0x340F
+0x0101=0x7800
+0x0102=0x3180
+0x0103=0x0612
+0x0104=0x0088
+0x0105=0x001F
+0x0106=0x3182
+0x0107=0x318C
+0x0108=0x9442
+0x0109=0x61C1
+0x010A=0x104C
+0x010C=0x88FF
+0x010D=0x001E
+0x010E=0x2040
+0x010F=0x3042
+0x0110=0x0BF4
+0x0111=0x0083
+0x0112=0x9407
+0x0113=0x03C3
+0x0114=0x00D0
+0x0115=0x000F
+0x0116=0x8180
+0x0117=0x1217
+0x0118=0x018C
+0x0119=0x5280
+0x011A=0x3E03
+0x011C=0xAD41
+0x011D=0xC000
+0x011E=0x06F3
+0x011F=0x3680
+0x0120=0xB9FF
+0x0121=0x346C
+0x0122=0x033F
+0x0123=0x267B
+0x0124=0x0000
+0x0200=0x0101
+0x0201=0x07FF
+0x0202=0x07FF
+0x0203=0x0000
+0x0204=0x0000
+0x0205=0x0000
+0x0206=0x0000
+0x0207=0x0000
+0x0208=0x01F0
+0x0209=0x0000
+0x020A=0x0080
+0x020B=0x0000
+0x020C=0x7FFF
+0x0240=0x0020
+0x0241=0x0000
+0x0242=0x0000
+0x0243=0x0000
+0x0244=0x0000
+0x0245=0x0000
+0x0246=0x0000
+0x0247=0x0000
+0x0248=0x0000
+0x0249=0x0000
+0x024A=0x0000
+0x024B=0x0000
+0x024C=0x0000
+0x024D=0x0000
+0x024E=0x0000
+0x024F=0x0000
+0x0250=0x0000
+0x0251=0x0000
+0x0252=0x0000
+0x0253=0x0000
+0x0254=0x0000
+0x0255=0x0000
+0x0256=0x0000
+0x0257=0x0000
+0x0258=0x0000
+0x0259=0x0000
+0x025A=0x0000
+0x025B=0x0000
+0x025C=0x0000
+0x025D=0x0000
+0x025E=0x0000
+0x025F=0x0000
+0x0260=0x0000
+0x0261=0x0000
+0x0280=0x0000
+0x0281=0x0000
+0x0282=0x0000
+0x0283=0x0000
+0x0284=0x0000
+0x0285=0x0000
+0x0286=0x0000
+0x0287=0x0000
+0x0288=0x0000
+0x0289=0x0000
+0x028A=0x0000
+0x028B=0x0000
+0x028C=0x0000
+0x028D=0x0000
+0x028E=0x0000
+0x028F=0x0000
+0x0290=0x0000
+0x0291=0x0000
+0x0292=0x0000
+0x0293=0x0000
+0x0294=0x0000
+0x0295=0x0000
+0x0296=0x0000
+0x0297=0x0000
+0x0298=0x0000
+0x0299=0x0000
+0x029A=0x0000
+0x029B=0x0000
+0x029C=0x0000
+0x029D=0x0000
+0x029E=0x0000
+0x029F=0x0000
+0x02A0=0x0000
+0x02A1=0x0000
+0x02A2=0x0000
+0x02A3=0x0000
+0x02A4=0x0000
+0x02A5=0x0000
+0x02A6=0x0000
+0x02A7=0x0000
+0x02C0=0x0000
+0x02C1=0x0000
+0x02C2=0x0000
+0x02C3=0x0000
+0x02C4=0x0000
+0x02C5=0x0000
+0x02C6=0x0000
+0x02C7=0x0000
+0x02C8=0x0000
+0x02C9=0x0000
+0x02CA=0x0000
+0x02CB=0x0000
+0x02CC=0x0000
+0x02CD=0x0000
+0x02CE=0x0000
+0x02CF=0x0000
+0x02D0=0x0000
+0x02D1=0x0000
+0x02D2=0x0000
+0x02D3=0x0000
+0x02D4=0x0000
+0x02D5=0x0000
+0x02D6=0x0000
+0x02D7=0x0000
+0x02D8=0x0000
+0x02D9=0x0000
+0x02DA=0x0000
+0x02DB=0x0000
+0x02DC=0x0000
+0x02DD=0x0000
+0x02DE=0x0000
+0x02DF=0x0000
+0x02E0=0x0000
+0x02E1=0x0000
+0x02E2=0x0000
+0x02E3=0x0000
+0x02E4=0x0000
+0x02E5=0x0000
+0x02E6=0x0000
+0x02E7=0x0000
+0x0300=0x0000
+0x0301=0x0000
+0x0302=0x0000
+0x0303=0x0000
+0x0304=0x0000
+0x0305=0x0000
+0x0306=0x0000
+0x0307=0x0000
+0x0308=0x0000
+0x0309=0x0000
+0x030A=0x0000
+0x030B=0x0000
+0x030C=0x0000
+0x030D=0x0000
+0x030E=0x0000
+0x030F=0x0000
+0x0310=0x0000
+0x0311=0x0000
+0x0312=0x0000
+0x0313=0x0000
+0x0314=0x0000
+0x0315=0x0000
+0x0316=0x0000
+0x0317=0x0000
+0x0318=0x0000
+0x0319=0x0000
+0x031A=0x0000
+0x031B=0x0000
+0x031C=0x0000
+0x031D=0x0000
+0x031E=0x0000
+0x031F=0x0000
+0x0320=0x0000
+0x0321=0x0000
+0x0322=0x0000
+0x0323=0x0000
+0x0324=0x0000
+0x0325=0x0000
+0x0326=0x0000
+0x0327=0x0000
+0x0340=0x0000
+0x0341=0x0000
+0x0342=0x0000
+0x0343=0x0000
+0x0344=0x0000
+0x0345=0x0000
+0x0346=0x0000
+0x0347=0x0000
+0x0348=0x0000
+0x0349=0x0000
+0x034A=0x0000
+0x034B=0x0000
+0x034C=0x0000
+0x034D=0x0000
+0x034E=0x0000
+0x034F=0x0000
+0x0350=0x0000
+0x0351=0x0000
+0x0352=0x0000
+0x0353=0x0000
+0x0354=0x0000
+0x0355=0x0000
+0x0356=0x0000
+0x0357=0x0000
+0x0358=0x0000
+0x0359=0x0000
+0x035A=0x0000
+0x035B=0x0000
+0x035C=0x0000
+0x035D=0x0000
+0x035E=0x0000
+0x035F=0x0000
+0x0360=0x0000
+0x0361=0x0000
+0x0362=0x0000
+0x0363=0x0000
+0x0364=0x0000
+0x0365=0x0000
+0x0366=0x0000
+0x0367=0x0000
+0x0380=0x0000
+0x0381=0x0000
+0x0382=0x0000
+0x0383=0x0000
+0x0384=0x0000
+0x0385=0x0000
+0x0386=0x0000
+0x0387=0x0000
+0x0388=0x0000
+0x0389=0x0000
+0x038A=0x0000
+0x038B=0x0000
+0x038C=0x0000
+0x038D=0x0000
+0x038E=0x0000
+0x038F=0x0000
+0x0390=0x0000
+0x0391=0x0000
+0x0392=0x0000
+0x0393=0x0000
+0x0394=0x0000
+0x0395=0x0000
+0x0396=0x0000
+0x0397=0x0000
+0x0398=0x0000
+0x0399=0x0000
+0x039A=0x0000
+0x039B=0x0000
+0x039C=0x0000
+0x039D=0x0000
+0x039E=0x0000
+0x039F=0x0000
+0x03A0=0x0000
+0x03A1=0x0000
+0x03A2=0x0000
+0x03A3=0x0000
+0x03A4=0x0000
+0x03A5=0x0000
+0x03A6=0x0000
+0x03A7=0x0000
+0x0400=0x0105
+0x0401=0x07FF
+0x0402=0x07FF
+0x0403=0x0000
+0x0404=0x0000
+0x0405=0x0000
+0x0406=0x0000
+0x0407=0x0000
+0x0408=0x0000
+0x0409=0x0000
+0x040A=0x0000
+0x040B=0x7FFF
+0x040C=0x00FF
+0x040D=0x0000
+0x040E=0x0002
+0x040F=0x0000
+0x0440=0x0020
+0x0441=0x0000
+0x0442=0x0000
+0x0443=0x0000
+0x0444=0x0000
+0x0445=0x0000
+0x0446=0x0000
+0x0447=0x0000
+0x0448=0x0000
+0x0449=0x0000
+0x044A=0x0000
+0x044B=0x0000
+0x044C=0x0000
+0x044D=0x0000
+0x044E=0x0000
+0x044F=0x0000
+0x0450=0x0000
+0x0451=0x0000
+0x0452=0x0000
+0x0453=0x0000
+0x0454=0x0000
+0x0455=0x0000
+0x0456=0x0000
+0x0457=0x0000
+0x0458=0x0000
+0x0459=0x0000
+0x045A=0x0000
+0x045B=0x0000
+0x045C=0x0000
+0x045D=0x0000
+0x045E=0x0000
+0x045F=0x0000
+0x0460=0x0000
+0x0461=0x0000
+0x0480=0x0000
+0x0481=0x0000
+0x0482=0x0000
+0x0483=0x0000
+0x0484=0x0000
+0x0485=0x0000
+0x0486=0x0000
+0x0487=0x0000
+0x0488=0x0000
+0x0489=0x0000
+0x048A=0x0000
+0x048B=0x0000
+0x048C=0x0000
+0x048D=0x0000
+0x048E=0x0000
+0x048F=0x0000
+0x0490=0x0000
+0x0491=0x0000
+0x0492=0x0000
+0x0493=0x0000
+0x0494=0x0000
+0x0495=0x0000
+0x0496=0x0000
+0x0497=0x0000
+0x0498=0x0000
+0x0499=0x0000
+0x049A=0x0000
+0x049B=0x0000
+0x049C=0x0000
+0x049D=0x0000
+0x049E=0x0000
+0x049F=0x0000
+0x04A0=0x0000
+0x04A1=0x0000
+0x04A2=0x0000
+0x04A3=0x0000
+0x04A4=0x0000
+0x04A5=0x0000
+0x04A6=0x0000
+0x04A7=0x0000
+0x04C0=0x0000
+0x04C1=0x0000
+0x04C2=0x0000
+0x04C3=0x0000
+0x04C4=0x0000
+0x04C5=0x0000
+0x04C6=0x0000
+0x04C7=0x0000
+0x04C8=0x0000
+0x04C9=0x0000
+0x04CA=0x0000
+0x04CB=0x0000
+0x04CC=0x0000
+0x04CD=0x0000
+0x04CE=0x0000
+0x04CF=0x0000
+0x04D0=0x0000
+0x04D1=0x0000
+0x04D2=0x0000
+0x04D3=0x0000
+0x04D4=0x0000
+0x04D5=0x0000
+0x04D6=0x0000
+0x04D7=0x0000
+0x04D8=0x0000
+0x04D9=0x0000
+0x04DA=0x0000
+0x04DB=0x0000
+0x04DC=0x0000
+0x04DD=0x0000
+0x04DE=0x0000
+0x04DF=0x0000
+0x04E0=0x0000
+0x04E1=0x0000
+0x04E2=0x0000
+0x04E3=0x0000
+0x04E4=0x0000
+0x04E5=0x0000
+0x04E6=0x0000
+0x04E7=0x0000
+0x0500=0x0000
+0x0501=0x0000
+0x0502=0x0000
+0x0503=0x0000
+0x0504=0x0000
+0x0505=0x0000
+0x0506=0x0000
+0x0507=0x0000
+0x0508=0x0000
+0x0509=0x0000
+0x050A=0x0000
+0x050B=0x0000
+0x050C=0x0000
+0x050D=0x0000
+0x050E=0x0000
+0x050F=0x0000
+0x0510=0x0000
+0x0511=0x0000
+0x0512=0x0000
+0x0513=0x0000
+0x0514=0x0000
+0x0515=0x0000
+0x0516=0x0000
+0x0517=0x0000
+0x0518=0x0000
+0x0519=0x0000
+0x051A=0x0000
+0x051B=0x0000
+0x051C=0x0000
+0x051D=0x0000
+0x051E=0x0000
+0x051F=0x0000
+0x0520=0x0000
+0x0521=0x0000
+0x0522=0x0000
+0x0523=0x0000
+0x0524=0x0000
+0x0525=0x0000
+0x0526=0x0000
+0x0527=0x0000
+0x0540=0x0000
+0x0541=0x0000
+0x0542=0x0000
+0x0543=0x0000
+0x0544=0x0000
+0x0545=0x0000
+0x0546=0x0000
+0x0547=0x0000
+0x0548=0x0000
+0x0549=0x0000
+0x054A=0x0000
+0x054B=0x0000
+0x054C=0x0000
+0x054D=0x0000
+0x054E=0x0000
+0x054F=0x0000
+0x0550=0x0000
+0x0551=0x0000
+0x0552=0x0000
+0x0553=0x0000
+0x0554=0x0000
+0x0555=0x0000
+0x0556=0x0000
+0x0557=0x0000
+0x0558=0x0000
+0x0559=0x0000
+0x055A=0x0000
+0x055B=0x0000
+0x055C=0x0000
+0x055D=0x0000
+0x055E=0x0000
+0x055F=0x0000
+0x0560=0x0000
+0x0561=0x0000
+0x0562=0x0000
+0x0563=0x0000
+0x0564=0x0000
+0x0565=0x0000
+0x0566=0x0000
+0x0567=0x0000
+0x0580=0x0000
+0x0581=0x0000
+0x0582=0x0000
+0x0583=0x0000
+0x0584=0x0000
+0x0585=0x0000
+0x0586=0x0000
+0x0587=0x0000
+0x0588=0x0000
+0x0589=0x0000
+0x058A=0x0000
+0x058B=0x0000
+0x058C=0x0000
+0x058D=0x0000
+0x058E=0x0000
+0x058F=0x0000
+0x0590=0x0000
+0x0591=0x0000
+0x0592=0x0000
+0x0593=0x0000
+0x0594=0x0000
+0x0595=0x0000
+0x0596=0x0000
+0x0597=0x0000
+0x0598=0x0000
+0x0599=0x0000
+0x059A=0x0000
+0x059B=0x0000
+0x059C=0x0000
+0x059D=0x0000
+0x059E=0x0000
+0x059F=0x0000
+0x05A0=0x0000
+0x05A1=0x0000
+0x05A2=0x0000
+0x05A3=0x0000
+0x05A4=0x0000
+0x05A5=0x0000
+0x05A6=0x0000
+0x05A7=0x0000
+[reference_clocks]
+sxt_ref_clk_mhz=30.72
+sxr_ref_clk_mhz=30.72
diff --git a/targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp b/targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
index 3a9878e82b182c670602344442321b6ffdb52804..f2d2af55c7ee35697f193ba75667b1cac70f80d8 100644
--- a/targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
+++ b/targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
@@ -128,30 +128,20 @@ void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) {
 /*! \brief Set Gains (TX/RX) on LMSSDR
  * \param device the hardware to use
  * \param openair0_cfg openair0 Config structure
- * \returns 0 in success
+ * \returns 0 in success, -1 on error
  */
 int trx_lms_set_gains(openair0_device* device, openair0_config_t *openair0_cfg) {
+  int ret = 0;
 
-  LMS_SetNormalizedGain(lms_device, LMS_CH_TX, 0, openair0_cfg[0].tx_gain[0]/100.0);
-
-  // RX gains, use low-level setting
-
-  double gv = openair0_cfg[0].rx_gain[0] - openair0_cfg[0].rx_gain_offset[0];   
-  if (gv > 31) {     
-    printf("RX Gain 0 too high, reduce by %f dB\n",gv-31);     
-    gv = 31;   
-  }   
-  if (gv < 0) {     
-    printf("RX Gain 0 too low, increase by %f dB\n",-gv);     
-    gv = 0;   
-  }   
-  printf("[LMS] Setting 7002M G_PGA_RBB to %d\n", (int16_t)gv);   
-  LMS7002M lms7;
-  lms7.SetConnection(lms7.GetConnection());
-  lms7.Modify_SPI_Reg_bits(LMS7param(G_PGA_RBB),(int16_t)gv);
-
+  if (openair0_cfg->rx_gain[0] > 70+openair0_cfg->rx_gain_offset[0]) {
+    printf("[LMS] Reduce RX Gain 0 by %f dB\n",openair0_cfg->rx_gain[0]-openair0_cfg->rx_gain_offset[0]-70);
+    ret = -1;
+  }
+  
+  LMS_SetGaindB(lms_device, LMS_CH_TX, 0, openair0_cfg->tx_gain[0]);
+  LMS_SetGaindB(lms_device, LMS_CH_RX, 0, openair0_cfg->rx_gain[0]-openair0_cfg->rx_gain_offset[0]); 
 
-  return(0);
+  return(ret);
 }
 
 /*! \brief Start LMSSDR
@@ -212,10 +202,11 @@ int trx_lms_start(openair0_device *device){
     }
     printf("Set TX frequency %f MHz\n",device->openair0_cfg[0].tx_freq[0]/1e6);
 
+    /*
     printf("Override antenna settings to: RX1_H, TXA_2");
     LMS_SetAntenna(lms_device, LMS_CH_RX, 0, 1);
     LMS_SetAntenna(lms_device, LMS_CH_TX, 0, 2);
-
+    */
 
     
     for (int i = 0; i< device->openair0_cfg->rx_num_channels; i++)
@@ -292,12 +283,21 @@ int trx_lms_set_freq(openair0_device* device, openair0_config_t *openair0_cfg,in
 
 // 31 = 19 dB => 105 dB total gain @ 2.6 GHz
 /*! \brief calibration table for LMSSDR */
+// V1.2 board
+rx_gain_calib_table_t calib_table_lmssdr_1v2[] = {
+  {3500000000.0,44.0},  // on L PAD
+  {2660000000.0,55.0},  // on L PAD
+  {2300000000.0,54.0},  // on L PAD
+  {1880000000.0,54.0},  // on L PAD
+  {816000000.0,79.0},   // on W PAD
+  {-1,0}};
+// V1.4 board
 rx_gain_calib_table_t calib_table_lmssdr[] = {
-  {3500000000.0,70.0},
-  {2660000000.0,80.0},
-  {2300000000.0,80.0},
-  {1880000000.0,74.0},  // on W PAD
-  {816000000.0,76.0},   // on W PAD
+  {3500000000.0,44.0},  // on H PAD
+  {2660000000.0,55.0},  // on H PAD
+  {2300000000.0,54.0},  // on H PAD
+  {1880000000.0,54.0},  // on H PAD
+  {816000000.0,79.0},   // on L PAD
   {-1,0}};
 
 
@@ -344,7 +344,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg){
 
   device->type=LMSSDR_DEV;
   printf("LMSSDR: Initializing openair0_device for %s ...\n", ((device->host_type == BBU_HOST) ? "BBU": "RRH"));
-
+  openair0_cfg[0].iq_txshift = 0;
   switch ((int)openair0_cfg[0].sample_rate) {
   case 30720000:
     // from usrp_time_offset
@@ -355,9 +355,9 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg){
     break;
   case 15360000:
     openair0_cfg[0].samples_per_packet    = 2048;
-    openair0_cfg[0].tx_sample_advance     = 70;
-    openair0_cfg[0].tx_bw                 = 10e6;
-    openair0_cfg[0].rx_bw                 = 10e6;
+    openair0_cfg[0].tx_sample_advance     = 450;
+    openair0_cfg[0].tx_bw                 = 15.36e6;
+    openair0_cfg[0].rx_bw                 = 15.36e6;
     break;
   case 7680000:
     openair0_cfg[0].samples_per_packet    = 1024;
diff --git a/targets/COMMON/openairinterface5g_limits.h b/targets/COMMON/openairinterface5g_limits.h
index d9590873e82f47ed935c49eb1deb5f8a409f8e74..d5a3b7f61c10d97699879d8f90b9e6d7ce818e10 100644
--- a/targets/COMMON/openairinterface5g_limits.h
+++ b/targets/COMMON/openairinterface5g_limits.h
@@ -1,25 +1,30 @@
 #ifndef OPENAIRINTERFACE5G_LIMITS_H_
 #define OPENAIRINTERFACE5G_LIMITS_H_
 
-#if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP)
-	#define NUMBER_OF_eNB_MAX 1
-	#define NUMBER_OF_UE_MAX 16
-	#define NUMBER_OF_CONNECTED_eNB_MAX 3
+#if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_LMSSDR)
+#        define NUMBER_OF_eNB_MAX 1
+#        define NUMBER_OF_UE_MAX 16
+#        define NUMBER_OF_CONNECTED_eNB_MAX 3
 #else
-	#define NUMBER_OF_eNB_MAX 7
-	#define NUMBER_OF_UE_MAX 20
-	#define NUMBER_OF_CONNECTED_eNB_MAX 3
+#        define NUMBER_OF_eNB_MAX 7
+#        define NUMBER_OF_UE_MAX 20
+#        define NUMBER_OF_CONNECTED_eNB_MAX 3
 
-	#if STANDALONE==1
-		#define NUMBER_OF_eNB_MAX 3
-		#define NUMBER_OF_UE_MAX 3
-	#endif
+#        if defined(STANDALONE) && STANDALONE==1
+#                undef  NUMBER_OF_eNB_MAX
+#                undef  NUMBER_OF_UE_MAX
+#                define NUMBER_OF_eNB_MAX 3
+#                define NUMBER_OF_UE_MAX 3
+#        endif
 
-	#if LARGE_SCALE
-		#define NUMBER_OF_eNB_MAX 2
-		#define NUMBER_OF_UE_MAX 120
-		#define NUMBER_OF_CONNECTED_eNB_MAX 1 // to save some memory
-	#endif
+#        if defined(LARGE_SCALE) && LARGE_SCALE
+#                undef  NUMBER_OF_eNB_MAX
+#                undef  NUMBER_OF_UE_MAX
+#                undef  NUMBER_OF_CONNECTED_eNB_MAX
+#                define NUMBER_OF_eNB_MAX 2
+#                define NUMBER_OF_UE_MAX 120
+#                define NUMBER_OF_CONNECTED_eNB_MAX 1 // to save some memory
+#        endif
 #endif
 
-#endif
+#endif /* OPENAIRINTERFACE5G_LIMITS_H_ */
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf
similarity index 95%
rename from targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.lmssdr.conf
rename to targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf
index 266e5aae25bb3281f27ef9d074d7ede2a31bc98a..3315b953da2c065cb043b78a7fc63801c94eca15 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.lmssdr.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.25PRB.lmssdr.conf
@@ -35,8 +35,8 @@ eNBs =
       Nid_cell_mbsfn          			      = 0;
       nb_antennas_tx          			      = 1;
       nb_antennas_rx          			      = 1;
-      tx_gain                                            = 90;
-      rx_gain                                            = 107;
+      tx_gain                                            = 70;
+      rx_gain                                            = 116;
       prach_root              			      = 0;
       prach_config_index      			      = 0;
       prach_high_speed        			      = "DISABLE";
@@ -46,7 +46,7 @@ eNBs =
       pucch_nRB_CQI           			      = 1;
       pucch_nCS_AN            			      = 0;
       pucch_n1_AN             			      = 32;
-      pdsch_referenceSignalPower 			      = -17;
+      pdsch_referenceSignalPower 			      = -30;
       pdsch_p_b                  			      = 0;
       pusch_n_SB                 			      = 1;
       pusch_enable64QAM          			      = "DISABLE";
@@ -64,9 +64,9 @@ eNBs =
       srs_ackNackST                                      =;
       srs_MaxUpPts                                       =;*/
 
-      pusch_p0_Nominal                                   = -90;
+      pusch_p0_Nominal                                   = -96;
       pusch_alpha                                        = "AL1";
-      pucch_p0_Nominal                                   = -96;
+      pucch_p0_Nominal                                   = -104;
       msg3_delta_Preamble                                = 6;
       pucch_deltaF_Format1                               = "deltaF2";
       pucch_deltaF_Format1b                              = "deltaF3";
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf
index b81ac861f616f8c844300f40cd15321226b815a5..1083aa382a47d2428945792ebc5d19be973a827b 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.lmssdr.conf
@@ -23,85 +23,89 @@ eNBs =
 
     component_carriers = (
       {
-      frame_type					      = "FDD";
-      tdd_config 					      = 3;
-      tdd_config_s            			      = 0;
-      prefix_type             			      = "NORMAL";
-      eutra_band              			      = 13;
-      downlink_frequency      			      = 751000000L;
-      uplink_frequency_offset 			      = 31000000;
-      Nid_cell					      = 0;
-      N_RB_DL                 			      = 50;
-      Nid_cell_mbsfn          			      = 0;
-      nb_antennas_tx          			      = 1;
-      nb_antennas_rx          			      = 1;
-      tx_gain                                            = 90;
-      rx_gain                                            = 125;
-      prach_root              			      = 0;
-      prach_config_index      			      = 0;
-      prach_high_speed        			      = "DISABLE";
-      prach_zero_correlation  			      = 1;
-      prach_freq_offset       			      = 2;
-      pucch_delta_shift       			      = 1;
-      pucch_nRB_CQI           			      = 1;
-      pucch_nCS_AN            			      = 0;
-      pucch_n1_AN             			      = 32;
-      pdsch_referenceSignalPower 			      = -20;
-      pdsch_p_b                  			      = 0;
-      pusch_n_SB                 			      = 1;
-      pusch_enable64QAM          			      = "DISABLE";
-      pusch_hoppingMode                                  = "interSubFrame";
-      pusch_hoppingOffset                                = 0;
-      pusch_groupHoppingEnabled  			      = "ENABLE";
-      pusch_groupAssignment      			      = 0;
-      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
-      pusch_nDMRS1                                       = 1;
-      phich_duration                                     = "NORMAL";
-      phich_resource                                     = "ONESIXTH";
-      srs_enable                                         = "DISABLE";
-      /*  srs_BandwidthConfig                                =;
-      srs_SubframeConfig                                 =;
-      srs_ackNackST                                      =;
-      srs_MaxUpPts                                       =;*/
-
-      pusch_p0_Nominal                                   = -90;
-      pusch_alpha                                        = "AL1";
-      pucch_p0_Nominal                                   = -96;
-      msg3_delta_Preamble                                = 6;
-      pucch_deltaF_Format1                               = "deltaF2";
-      pucch_deltaF_Format1b                              = "deltaF3";
-      pucch_deltaF_Format2                               = "deltaF0";
-      pucch_deltaF_Format2a                              = "deltaF0";
-      pucch_deltaF_Format2b		    	      = "deltaF0";
-
-      rach_numberOfRA_Preambles                          = 64;
-      rach_preamblesGroupAConfig                         = "DISABLE";
-      /*
-      rach_sizeOfRA_PreamblesGroupA                      = ;
-      rach_messageSizeGroupA                             = ;
-      rach_messagePowerOffsetGroupB                      = ;
-      */
-      rach_powerRampingStep                              = 4;
-      rach_preambleInitialReceivedTargetPower            = -108;
-      rach_preambleTransMax                              = 10;
-      rach_raResponseWindowSize                          = 10;
-      rach_macContentionResolutionTimer                  = 48;
-      rach_maxHARQ_Msg3Tx                                = 4;
-
-      pcch_default_PagingCycle                           = 128;
-      pcch_nB                                            = "oneT";
-      bcch_modificationPeriodCoeff			      = 2;
-      ue_TimersAndConstants_t300			      = 1000;
-      ue_TimersAndConstants_t301			      = 1000;
-      ue_TimersAndConstants_t310			      = 1000;
-      ue_TimersAndConstants_t311			      = 10000;
-      ue_TimersAndConstants_n310			      = 20;
-      ue_TimersAndConstants_n311			      = 1;
-
+        node_function                                         = "eNodeB_3GPP";
+	node_timing                                           = "synch_to_ext_device";
+	node_synch_ref                                        = 0;
+        frame_type					      = "FDD";
+        tdd_config 					      = 3;
+        tdd_config_s            			      = 0;
+        prefix_type             			      = "NORMAL";
+        eutra_band              			      = 13;
+        downlink_frequency      			      = 751000000L;
+        uplink_frequency_offset 			      = 31000000;
+        Nid_cell					      = 0;
+        N_RB_DL                 			      = 50;
+        Nid_cell_mbsfn          			      = 0;
+        nb_antenna_ports				      = 1;
+        nb_antennas_tx          			      = 1;
+        nb_antennas_rx          			      = 1;
+        tx_gain                                            = 20;
+        rx_gain                                            = 100;
+        prach_root              			      = 0;
+        prach_config_index      			      = 0;
+        prach_high_speed        			      = "DISABLE";
+        prach_zero_correlation  			      = 1;
+        prach_freq_offset       			      = 2;
+        pucch_delta_shift       			      = 1;
+        pucch_nRB_CQI           			      = 1;
+        pucch_nCS_AN            			      = 0;
+        pucch_n1_AN             			      = 32;
+        pdsch_referenceSignalPower 			      = -30;
+        pdsch_p_b                  			      = 0;
+        pusch_n_SB                 			      = 1;
+        pusch_enable64QAM          			      = "DISABLE";
+        pusch_hoppingMode                                  = "interSubFrame";
+        pusch_hoppingOffset                                = 0;
+        pusch_groupHoppingEnabled  			      = "ENABLE";
+        pusch_groupAssignment      			      = 0;
+        pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+        pusch_nDMRS1                                       = 1;
+        phich_duration                                     = "NORMAL";
+        phich_resource                                     = "ONESIXTH";
+        srs_enable                                         = "DISABLE";
+        /*  srs_BandwidthConfig                                =;
+        srs_SubframeConfig                                 =;
+        srs_ackNackST                                      =;
+        srs_MaxUpPts                                       =;*/
+
+        pusch_p0_Nominal                                   = -96;
+        pusch_alpha                                        = "AL1";
+        pucch_p0_Nominal                                   = -104;
+        msg3_delta_Preamble                                = 6;
+        pucch_deltaF_Format1                               = "deltaF2";
+        pucch_deltaF_Format1b                              = "deltaF3";
+        pucch_deltaF_Format2                               = "deltaF0";
+        pucch_deltaF_Format2a                              = "deltaF0";
+        pucch_deltaF_Format2b		    	      = "deltaF0";
+
+        rach_numberOfRA_Preambles                          = 64;
+        rach_preamblesGroupAConfig                         = "DISABLE";
+        /*
+        rach_sizeOfRA_PreamblesGroupA                      = ;
+        rach_messageSizeGroupA                             = ;
+        rach_messagePowerOffsetGroupB                      = ;
+        */
+        rach_powerRampingStep                              = 4;
+        rach_preambleInitialReceivedTargetPower            = -104;
+        rach_preambleTransMax                              = 10;
+        rach_raResponseWindowSize                          = 10;
+        rach_macContentionResolutionTimer                  = 48;
+        rach_maxHARQ_Msg3Tx                                = 4;
+
+        pcch_default_PagingCycle                           = 128;
+        pcch_nB                                            = "oneT";
+        bcch_modificationPeriodCoeff			      = 2;
+        ue_TimersAndConstants_t300			      = 1000;
+        ue_TimersAndConstants_t301			      = 1000;
+        ue_TimersAndConstants_t310			      = 1000;
+        ue_TimersAndConstants_t311			      = 10000;
+        ue_TimersAndConstants_n310			      = 20;
+        ue_TimersAndConstants_n311			      = 1;
+
+	ue_TransmissionMode	   			      = 1;
       }
     );
 
-
     srb1_parameters :
     {
         # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
@@ -131,7 +135,6 @@ eNBs =
         SCTP_OUTSTREAMS = 2;
     };
 
-
     ////////// MME parameters:
     mme_ip_address      = ( { ipv4       = "127.0.0.3";
                               ipv6       = "192:168:30::17";
@@ -146,7 +149,7 @@ eNBs =
         ENB_IPV4_ADDRESS_FOR_S1_MME              = "127.0.0.2/24";
 
         ENB_INTERFACE_NAME_FOR_S1U               = "lo";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "127.0.0.4/24";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "127.0.0.5/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };
 
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf
index 024be3b77535bde64d8c6d346509cf8e6948de6b..a33c2eb41b5b449604f51010719766f7399a8125 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpb210.conf
@@ -62,11 +62,11 @@ eNBs =
         pusch_nDMRS1                                       = 1;
         phich_duration                                     = "NORMAL";
         phich_resource                                     = "ONESIXTH";
-        srs_enable                                         = "DISABLE";
-        /*  srs_BandwidthConfig                                =;
-        srs_SubframeConfig                                 =;
-        srs_ackNackST                                      =;
-        srs_MaxUpPts                                       =;*/
+        srs_enable                                         = "ENABLE";
+        srs_BandwidthConfig                                = 2;
+        srs_SubframeConfig                                 = 7;
+        srs_ackNackST                                      = "DISABLE";
+        srs_MaxUpPts                                       = "DISABLE";
 
         pusch_p0_Nominal                                   = -90;
         pusch_alpha                                        = "AL1";
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf
new file mode 100644
index 0000000000000000000000000000000000000000..00f875ec4e2a27e50e7c9625a39c34d57a8d8ff1
--- /dev/null
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.lmssdr.conf
@@ -0,0 +1,174 @@
+Active_eNBs = ( "eNB_Eurecom_LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB_Eurecom_LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "93";
+
+       ////////// Physical parameters:
+
+    component_carriers = (
+      {
+        node_function                                         = "eNodeB_3GPP";
+	node_timing                                           = "synch_to_ext_device";
+	node_synch_ref                                        = 0;
+        frame_type					      = "FDD";
+        tdd_config 					      = 3;
+        tdd_config_s            			      = 0;
+        prefix_type             			      = "NORMAL";
+        eutra_band              			      = 7;
+        downlink_frequency      			      = 2680000000L;
+        uplink_frequency_offset 			      = -120000000;
+        Nid_cell					      = 0;
+        N_RB_DL                 			      = 25;
+        Nid_cell_mbsfn          			      = 0;
+        nb_antenna_ports				      = 1;
+        nb_antennas_tx          			      = 1;
+        nb_antennas_rx          			      = 1;
+        tx_gain                                            = 7;
+        rx_gain                                            = 116;
+        prach_root              			      = 0;
+        prach_config_index      			      = 0;
+        prach_high_speed        			      = "DISABLE";
+        prach_zero_correlation  			      = 1;
+        prach_freq_offset       			      = 2;
+        pucch_delta_shift       			      = 1;
+        pucch_nRB_CQI           			      = 1;
+        pucch_nCS_AN            			      = 0;
+        pucch_n1_AN             			      = 32;
+        pdsch_referenceSignalPower 			      = -34;
+        pdsch_p_b                  			      = 0;
+        pusch_n_SB                 			      = 1;
+        pusch_enable64QAM          			      = "DISABLE";
+        pusch_hoppingMode                                  = "interSubFrame";
+        pusch_hoppingOffset                                = 0;
+        pusch_groupHoppingEnabled  			      = "ENABLE";
+        pusch_groupAssignment      			      = 0;
+        pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+        pusch_nDMRS1                                       = 1;
+        phich_duration                                     = "NORMAL";
+        phich_resource                                     = "ONESIXTH";
+        srs_enable                                         = "DISABLE";
+        /*  srs_BandwidthConfig                                =;
+        srs_SubframeConfig                                 =;
+        srs_ackNackST                                      =;
+        srs_MaxUpPts                                       =;*/
+
+        pusch_p0_Nominal                                   = -96;
+        pusch_alpha                                        = "AL1";
+        pucch_p0_Nominal                                   = -104;
+        msg3_delta_Preamble                                = 6;
+        pucch_deltaF_Format1                               = "deltaF2";
+        pucch_deltaF_Format1b                              = "deltaF3";
+        pucch_deltaF_Format2                               = "deltaF0";
+        pucch_deltaF_Format2a                              = "deltaF0";
+        pucch_deltaF_Format2b		    	      = "deltaF0";
+
+        rach_numberOfRA_Preambles                          = 64;
+        rach_preamblesGroupAConfig                         = "DISABLE";
+        /*
+        rach_sizeOfRA_PreamblesGroupA                      = ;
+        rach_messageSizeGroupA                             = ;
+        rach_messagePowerOffsetGroupB                      = ;
+        */
+        rach_powerRampingStep                              = 4;
+        rach_preambleInitialReceivedTargetPower            = -104;
+        rach_preambleTransMax                              = 10;
+        rach_raResponseWindowSize                          = 10;
+        rach_macContentionResolutionTimer                  = 48;
+        rach_maxHARQ_Msg3Tx                                = 4;
+
+        pcch_default_PagingCycle                           = 128;
+        pcch_nB                                            = "oneT";
+        bcch_modificationPeriodCoeff			      = 2;
+        ue_TimersAndConstants_t300			      = 1000;
+        ue_TimersAndConstants_t301			      = 1000;
+        ue_TimersAndConstants_t310			      = 1000;
+        ue_TimersAndConstants_t311			      = 10000;
+        ue_TimersAndConstants_n310			      = 20;
+        ue_TimersAndConstants_n311			      = 1;
+
+	ue_TransmissionMode	   			      = 1;
+      }
+    );
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "192.168.12.148";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.150/24";
+
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.150/24";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+    };
+
+    log_config :
+    {
+      global_log_level                      ="info";
+      global_log_verbosity                  ="medium";
+      hw_log_level                          ="info";
+      hw_log_verbosity                      ="medium";
+      phy_log_level                         ="info";
+      phy_log_verbosity                     ="medium";
+      mac_log_level                         ="info";
+      mac_log_verbosity                     ="high";
+      rlc_log_level                         ="info";
+      rlc_log_verbosity                     ="medium";
+      pdcp_log_level                        ="info";
+      pdcp_log_verbosity                    ="medium";
+      rrc_log_level                         ="info";
+      rrc_log_verbosity                     ="medium";
+   };
+  }
+);
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf
index e12acef70340404256fb63ee2538fc7a1f97b130..2d0e0f3702d8a7c43a40392aa068220234419b8f 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf
@@ -39,8 +39,8 @@ eNBs =
         nb_antenna_ports				      = 1;
         nb_antennas_tx          			      = 1;
         nb_antennas_rx          			      = 1;
-        tx_gain                                            = 100;
-        rx_gain                                            = 111;
+        tx_gain                                            = 20;
+        rx_gain                                            = 116;
         prach_root              			      = 0;
         prach_config_index      			      = 0;
         prach_high_speed        			      = "DISABLE";
@@ -50,7 +50,7 @@ eNBs =
         pucch_nRB_CQI           			      = 1;
         pucch_nCS_AN            			      = 0;
         pucch_n1_AN             			      = 32;
-        pdsch_referenceSignalPower 			      = -30;
+        pdsch_referenceSignalPower 			      = -35;
         pdsch_p_b                  			      = 0;
         pusch_n_SB                 			      = 1;
         pusch_enable64QAM          			      = "DISABLE";
@@ -136,7 +136,7 @@ eNBs =
     };
 
     ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "127.0.0.3";
+    mme_ip_address      = ( { ipv4       = "192.168.12.148";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -145,11 +145,11 @@ eNBs =
 
     NETWORK_INTERFACES :
     {
-        ENB_INTERFACE_NAME_FOR_S1_MME            = "lo";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "127.0.0.2/24";
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.150/24";
 
-        ENB_INTERFACE_NAME_FOR_S1U               = "lo";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "127.0.0.5/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.150/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };
 
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.lmssdr.conf
deleted file mode 100644
index 4cd761645b3e339c9b4cff404e974352a5f1f832..0000000000000000000000000000000000000000
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.lmssdr.conf
+++ /dev/null
@@ -1,192 +0,0 @@
-Active_eNBs = ( "eNB_Eurecom_LTEBox");
-# Asn1_verbosity, choice in: none, info, annoying
-Asn1_verbosity = "none";
-
-eNBs =
-(
- {
-    ////////// Identification parameters:
-    eNB_ID    =  0xe00;
-    
-    cell_type =  "CELL_MACRO_ENB";
-    
-    eNB_name  =  "eNB_Eurecom_LTEBox";
-    
-    // Tracking area code, 0x0000 and 0xfffe are reserved values
-    tracking_area_code  =  "1";
-    
-    mobile_country_code =  "208";
-    
-    mobile_network_code =  "93";
-    
-       ////////// Physical parameters:
-  
-    component_carriers = (
-    		       	 {
-  			   frame_type					      = "FDD";	
-                           tdd_config 					      = 3;
-                           tdd_config_s            			      = 0;
- 			   prefix_type             			      = "NORMAL";
-  			   eutra_band              			      = 7;
-                           downlink_frequency      			      = 2660000000L;
-                           uplink_frequency_offset 			      = -120000000;
-  			   Nid_cell					      = 0;
-                           N_RB_DL                 			      = 50;
-                           Nid_cell_mbsfn          			      = 0;
-                           nb_antennas_tx          			      = 1;
-                           nb_antennas_rx          			      = 1; 
-			   tx_gain                                            = 60;
-			   rx_gain                                            = 111;
-                           prach_root              			      = 0;
-                           prach_config_index      			      = 0;
-                           prach_high_speed        			      = "DISABLE";
-  	                   prach_zero_correlation  			      = 1;
-                           prach_freq_offset       			      = 2;
-			   pucch_delta_shift       			      = 1;
-                           pucch_nRB_CQI           			      = 1;
-                           pucch_nCS_AN            			      = 0;
-                           pucch_n1_AN             			      = 32;
-                           pdsch_referenceSignalPower 			      = -29;
-                           pdsch_p_b                  			      = 0;
-                           pusch_n_SB                 			      = 1; 
-                           pusch_enable64QAM          			      = "DISABLE";
-			   pusch_hoppingMode                                  = "interSubFrame";
-			   pusch_hoppingOffset                                = 0;
-     	                   pusch_groupHoppingEnabled  			      = "ENABLE";
-	                   pusch_groupAssignment      			      = 0;
-	                   pusch_sequenceHoppingEnabled		   	      = "DISABLE";
-	                   pusch_nDMRS1                                       = 1;
-	                   phich_duration                                     = "NORMAL";
-	                   phich_resource                                     = "ONESIXTH";
-	                   srs_enable                                         = "DISABLE";
-	               /*  srs_BandwidthConfig                                =;
-	                   srs_SubframeConfig                                 =;
-	                   srs_ackNackST                                      =;
-	                   srs_MaxUpPts                                       =;*/  
-
-	                   pusch_p0_Nominal                                   = -85; 
-	                   pusch_alpha                                        = "AL1";
-	                   pucch_p0_Nominal                                   = -96;
-	                   msg3_delta_Preamble                                = 6;
-	                   pucch_deltaF_Format1                               = "deltaF2";
-	                   pucch_deltaF_Format1b                              = "deltaF3";
-	                   pucch_deltaF_Format2                               = "deltaF0";
-	                   pucch_deltaF_Format2a                              = "deltaF0";
-  	                   pucch_deltaF_Format2b		    	      = "deltaF0";
-	
-                           rach_numberOfRA_Preambles                          = 64;
-                           rach_preamblesGroupAConfig                         = "DISABLE";
-/*
-                           rach_sizeOfRA_PreamblesGroupA                      = ;
-                           rach_messageSizeGroupA                             = ;
-                           rach_messagePowerOffsetGroupB                      = ; 
-*/
-                           rach_powerRampingStep                              = 4;
-	                   rach_preambleInitialReceivedTargetPower            = -100;
-                           rach_preambleTransMax                              = 10;
-	                   rach_raResponseWindowSize                          = 10;
-	                   rach_macContentionResolutionTimer                  = 48;
-	                   rach_maxHARQ_Msg3Tx                                = 4;
-
-			   pcch_default_PagingCycle                           = 128;
-			   pcch_nB                                            = "oneT";
-			   bcch_modificationPeriodCoeff			      = 2;
-			   ue_TimersAndConstants_t300			      = 1000;
-			   ue_TimersAndConstants_t301			      = 1000;
-			   ue_TimersAndConstants_t310			      = 1000;
-			   ue_TimersAndConstants_t311			      = 10000;
-			   ue_TimersAndConstants_n310			      = 20;
-			   ue_TimersAndConstants_n311			      = 1;
-
-			 }
-			 );
-
-
-    srb1_parameters :
-    {
-        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] 
-        timer_poll_retransmit    = 80;
-        
-        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
-        timer_reordering         = 35;
-        
-        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
-        timer_status_prohibit    = 0;
-        
-        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
-        poll_pdu                 =  4;
-        
-        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
-        poll_byte                =  99999;
-        
-        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
-        max_retx_threshold       =  4;
-    }
- 
-    # ------- SCTP definitions
-    SCTP :
-    {
-        # Number of streams to use in input/output
-        SCTP_INSTREAMS  = 2;
-        SCTP_OUTSTREAMS = 2;
-    };
-
-
-    ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.170";
-                              ipv6       = "192:168:30::17";
-                              active     = "yes";
-                              preference = "ipv4";
-                            }
-                          );
-
-rrh_gw_config = (
- {			  
-    local_if_name = "eth0";			  
-    #remote_address = "169.254.10.158";	
-    #local_address = "169.254.8.15";        
-    remote_address = "74:d4:35:cc:88:45";
-    local_address = "d4:be:d9:22:0a:ac";
-    local_port = 50000;	    #for raw option local port must be the same to remote	       
-    remote_port = 50000; 
-    rrh_gw_active = "yes";
-    tr_preference = "raw";
-    rf_preference = "lmssdr";
-    iq_txshift = 0;
-    tx_sample_advance = 45;	
-    tx_scheduling_advance = 8; 	                
-                             
-}
-);  
-
-    NETWORK_INTERFACES :
-    {
-        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth6";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.118/24";
-
-        ENB_INTERFACE_NAME_FOR_S1U               = "eth6";
-
-
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.118/24";
-        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-    };
-
-    log_config :
-    {
-      global_log_level                      ="info";
-      global_log_verbosity                  ="medium";
-      hw_log_level                          ="info";
-      hw_log_verbosity                      ="medium";
-      phy_log_level                         ="info";
-      phy_log_verbosity                     ="medium";
-      mac_log_level                         ="info";
-      mac_log_verbosity                     ="high";
-      rlc_log_level                         ="info";
-      rlc_log_verbosity                     ="medium";
-      pdcp_log_level                        ="info";
-      pdcp_log_verbosity                    ="medium";
-      rrc_log_level                         ="info";
-      rrc_log_verbosity                     ="medium";
-   };
-  }
-);
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf
deleted file mode 100644
index d912b1a10213a42d9332a00199e4c3c3a88df14b..0000000000000000000000000000000000000000
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf
+++ /dev/null
@@ -1,176 +0,0 @@
-Active_eNBs = ( "eNB_Eurecom_LTEBox");
-# Asn1_verbosity, choice in: none, info, annoying
-Asn1_verbosity = "none";
-
-eNBs =
-(
- {
-    ////////// Identification parameters:
-    eNB_ID    =  0xe00;
-    
-    cell_type =  "CELL_MACRO_ENB";
-    
-    eNB_name  =  "eNB_Eurecom_LTEBox";
-    
-    // Tracking area code, 0x0000 and 0xfffe are reserved values
-    tracking_area_code  =  "1";
-    
-    mobile_country_code =  "208";
-    
-    mobile_network_code =  "92";
-    
-       ////////// Physical parameters:
-  
-    component_carriers = (
-    		       	 {
-                           node_function                                         = "eNodeB_3GPP";
-                           node_timing                                           = "synch_to_ext_device";
-                           node_synch_ref                                        = 0;
-  			   frame_type					      = "FDD";	
-                           tdd_config 					      = 3;
-                           tdd_config_s            			      = 0;
- 			   prefix_type             			      = "NORMAL";
-  			   eutra_band              			      = 7;
-                           downlink_frequency      			      = 2660000000L;
-                           uplink_frequency_offset 			      = -120000000;
-  			   Nid_cell					      = 0;
-                           N_RB_DL                 			      = 25;
-                           Nid_cell_mbsfn          			      = 0;
-			   nb_antennas_ports				      = 1;
-                           nb_antennas_tx          			      = 1;
-                           nb_antennas_rx          			      = 1; 
-			   tx_gain                                            = 100;
-			   rx_gain                                            = 111;
-                           prach_root              			      = 0;
-                           prach_config_index      			      = 0;
-                           prach_high_speed        			      = "DISABLE";
-  	                   prach_zero_correlation  			      = 1;
-                           prach_freq_offset       			      = 2;
-			   pucch_delta_shift       			      = 1;
-                           pucch_nRB_CQI           			      = 1;
-                           pucch_nCS_AN            			      = 0;
-                           pucch_n1_AN             			      = 32;
-                           pdsch_referenceSignalPower 			      = -29;
-                           pdsch_p_b                  			      = 0;
-                           pusch_n_SB                 			      = 1; 
-                           pusch_enable64QAM          			      = "DISABLE";
-			   pusch_hoppingMode                                  = "interSubFrame";
-			   pusch_hoppingOffset                                = 0;
-     	                   pusch_groupHoppingEnabled  			      = "ENABLE";
-	                   pusch_groupAssignment      			      = 0;
-	                   pusch_sequenceHoppingEnabled		   	      = "DISABLE";
-	                   pusch_nDMRS1                                       = 1;
-	                   phich_duration                                     = "NORMAL";
-	                   phich_resource                                     = "ONESIXTH";
-	                   srs_enable                                         = "DISABLE";
-	               /*  srs_BandwidthConfig                                =;
-	                   srs_SubframeConfig                                 =;
-	                   srs_ackNackST                                      =;
-	                   srs_MaxUpPts                                       =;*/  
-
-	                   pusch_p0_Nominal                                   = -85; 
-	                   pusch_alpha                                        = "AL1";
-	                   pucch_p0_Nominal                                   = -96;
-	                   msg3_delta_Preamble                                = 6;
-	                   pucch_deltaF_Format1                               = "deltaF2";
-	                   pucch_deltaF_Format1b                              = "deltaF3";
-	                   pucch_deltaF_Format2                               = "deltaF0";
-	                   pucch_deltaF_Format2a                              = "deltaF0";
-  	                   pucch_deltaF_Format2b		    	      = "deltaF0";
-	
-                           rach_numberOfRA_Preambles                          = 64;
-                           rach_preamblesGroupAConfig                         = "DISABLE";
-/*
-                           rach_sizeOfRA_PreamblesGroupA                      = ;
-                           rach_messageSizeGroupA                             = ;
-                           rach_messagePowerOffsetGroupB                      = ; 
-*/
-                           rach_powerRampingStep                              = 4;
-	                   rach_preambleInitialReceivedTargetPower            = -100;
-                           rach_preambleTransMax                              = 10;
-	                   rach_raResponseWindowSize                          = 10;
-	                   rach_macContentionResolutionTimer                  = 48;
-	                   rach_maxHARQ_Msg3Tx                                = 4;
-
-			   pcch_default_PagingCycle                           = 128;
-			   pcch_nB                                            = "oneT";
-			   bcch_modificationPeriodCoeff			      = 2;
-			   ue_TimersAndConstants_t300			      = 1000;
-			   ue_TimersAndConstants_t301			      = 1000;
-			   ue_TimersAndConstants_t310			      = 1000;
-			   ue_TimersAndConstants_t311			      = 10000;
-			   ue_TimersAndConstants_n310			      = 20;
-			   ue_TimersAndConstants_n311			      = 1;
-
-			   ue_TransmissionMode				      = 1;
-			 }
-			 );
-
-
-    srb1_parameters :
-    {
-        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] 
-        timer_poll_retransmit    = 80;
-        
-        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
-        timer_reordering         = 35;
-        
-        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
-        timer_status_prohibit    = 0;
-        
-        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
-        poll_pdu                 =  4;
-        
-        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
-        poll_byte                =  99999;
-        
-        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
-        max_retx_threshold       =  4;
-    }
-    
-    # ------- SCTP definitions
-    SCTP :
-    {
-        # Number of streams to use in input/output
-        SCTP_INSTREAMS  = 2;
-        SCTP_OUTSTREAMS = 2;
-    };
-        
-    ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.170";
-                              ipv6       = "192:168:30::17";
-                              active     = "yes";
-                              preference = "ipv4";
-                            }
-                          );
-
-    NETWORK_INTERFACES : 
-    {
-        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth4";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.242/24";
-
-        ENB_INTERFACE_NAME_FOR_S1U               = "eth4";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.242/24";
-        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-    };
-    
-    log_config : 
-    {
-	global_log_level                      ="info"; 
-    	global_log_verbosity                  ="medium";
-	hw_log_level                          ="info"; 
-    	hw_log_verbosity                      ="medium";
-	phy_log_level                         ="info"; 
-    	phy_log_verbosity                     ="medium";
-	mac_log_level                         ="info"; 
-    	mac_log_verbosity                     ="high";
-	rlc_log_level                         ="info"; 
-    	rlc_log_verbosity                     ="medium";
-	pdcp_log_level                        ="info"; 
-    	pdcp_log_verbosity                    ="medium";
-	rrc_log_level                         ="info"; 
-    	rrc_log_verbosity                     ="medium";
-   };	
-   
-  }
-);
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.lmssdr.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.lmssdr.conf
deleted file mode 100644
index 9b052bf7ba9a888bb1b26cc8f654191513524982..0000000000000000000000000000000000000000
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.lmssdr.conf
+++ /dev/null
@@ -1,192 +0,0 @@
-Active_eNBs = ( "eNB_Eurecom_LTEBox");
-# Asn1_verbosity, choice in: none, info, annoying
-Asn1_verbosity = "none";
-
-eNBs =
-(
- {
-    ////////// Identification parameters:
-    eNB_ID    =  0xe00;
-    
-    cell_type =  "CELL_MACRO_ENB";
-    
-    eNB_name  =  "eNB_Eurecom_LTEBox";
-    
-    // Tracking area code, 0x0000 and 0xfffe are reserved values
-    tracking_area_code  =  "1";
-    
-    mobile_country_code =  "208";
-    
-    mobile_network_code =  "92";
-    
-       ////////// Physical parameters:
-  
-    component_carriers = (
-    		       	 {
-  			   frame_type					      = "FDD";	
-                           tdd_config 					      = 3;
-                           tdd_config_s            			      = 0;
- 			   prefix_type             			      = "NORMAL";
-  			   eutra_band              			      = 7;
-                           downlink_frequency      			      = 2660000000L;
-                           uplink_frequency_offset 			      = -120000000;
-  			   Nid_cell					      = 0;
-                           N_RB_DL                 			      = 25;
-                           Nid_cell_mbsfn          			      = 0;
-                           nb_antennas_tx          			      = 1;
-                           nb_antennas_rx          			      = 1; 
-			   tx_gain                                            = 60;
-			   rx_gain                                            = 111;
-                           prach_root              			      = 0;
-                           prach_config_index      			      = 0;
-                           prach_high_speed        			      = "DISABLE";
-  	                   prach_zero_correlation  			      = 1;
-                           prach_freq_offset       			      = 2;
-			   pucch_delta_shift       			      = 1;
-                           pucch_nRB_CQI           			      = 1;
-                           pucch_nCS_AN            			      = 0;
-                           pucch_n1_AN             			      = 32;
-                           pdsch_referenceSignalPower 			      = -29;
-                           pdsch_p_b                  			      = 0;
-                           pusch_n_SB                 			      = 1; 
-                           pusch_enable64QAM          			      = "DISABLE";
-			   pusch_hoppingMode                                  = "interSubFrame";
-			   pusch_hoppingOffset                                = 0;
-     	                   pusch_groupHoppingEnabled  			      = "ENABLE";
-	                   pusch_groupAssignment      			      = 0;
-	                   pusch_sequenceHoppingEnabled		   	      = "DISABLE";
-	                   pusch_nDMRS1                                       = 1;
-	                   phich_duration                                     = "NORMAL";
-	                   phich_resource                                     = "ONESIXTH";
-	                   srs_enable                                         = "DISABLE";
-	               /*  srs_BandwidthConfig                                =;
-	                   srs_SubframeConfig                                 =;
-	                   srs_ackNackST                                      =;
-	                   srs_MaxUpPts                                       =;*/  
-
-	                   pusch_p0_Nominal                                   = -85; 
-	                   pusch_alpha                                        = "AL1";
-	                   pucch_p0_Nominal                                   = -96;
-	                   msg3_delta_Preamble                                = 6;
-	                   pucch_deltaF_Format1                               = "deltaF2";
-	                   pucch_deltaF_Format1b                              = "deltaF3";
-	                   pucch_deltaF_Format2                               = "deltaF0";
-	                   pucch_deltaF_Format2a                              = "deltaF0";
-  	                   pucch_deltaF_Format2b		    	      = "deltaF0";
-	
-                           rach_numberOfRA_Preambles                          = 64;
-                           rach_preamblesGroupAConfig                         = "DISABLE";
-/*
-                           rach_sizeOfRA_PreamblesGroupA                      = ;
-                           rach_messageSizeGroupA                             = ;
-                           rach_messagePowerOffsetGroupB                      = ; 
-*/
-                           rach_powerRampingStep                              = 4;
-	                   rach_preambleInitialReceivedTargetPower            = -100;
-                           rach_preambleTransMax                              = 10;
-	                   rach_raResponseWindowSize                          = 10;
-	                   rach_macContentionResolutionTimer                  = 48;
-	                   rach_maxHARQ_Msg3Tx                                = 4;
-
-			   pcch_default_PagingCycle                           = 128;
-			   pcch_nB                                            = "oneT";
-			   bcch_modificationPeriodCoeff			      = 2;
-			   ue_TimersAndConstants_t300			      = 1000;
-			   ue_TimersAndConstants_t301			      = 1000;
-			   ue_TimersAndConstants_t310			      = 1000;
-			   ue_TimersAndConstants_t311			      = 10000;
-			   ue_TimersAndConstants_n310			      = 20;
-			   ue_TimersAndConstants_n311			      = 1;
-
-			 }
-			 );
-
-
-    srb1_parameters :
-    {
-        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] 
-        timer_poll_retransmit    = 80;
-        
-        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
-        timer_reordering         = 35;
-        
-        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
-        timer_status_prohibit    = 0;
-        
-        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
-        poll_pdu                 =  4;
-        
-        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
-        poll_byte                =  99999;
-        
-        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
-        max_retx_threshold       =  4;
-    }
-    
-    # ------- SCTP definitions
-    SCTP :
-    {
-        # Number of streams to use in input/output
-        SCTP_INSTREAMS  = 2;
-        SCTP_OUTSTREAMS = 2;
-    };
-
-
-    ////////// MME parameters:
-    mme_ip_address      = ( { ipv4       = "192.168.12.170";
-                              ipv6       = "192:168:30::17";
-                              active     = "yes";
-                              preference = "ipv4";
-                            }
-                          );
-
-rrh_gw_config = (
- {			  
-    local_if_name = "eth0";			  
-    #remote_address = "169.254.10.158";	
-    #local_address = "169.254.8.15";				  
-    remote_address = "74:d4:35:cc:88:45";
-    local_address = "d4:be:d9:22:0a:ac";
-    local_port = 50000;	    #for raw option local port must be the same to remote	       
-    remote_port = 50000; 
-    rrh_gw_active = "yes";
-    tr_preference = "raw";
-    rf_preference = "lmssdr";
-    iq_txshift = 0;
-    tx_sample_advance = 70;	
-    tx_scheduling_advance = 8; 	                
-                             
-}
-);  
-
-    NETWORK_INTERFACES :
-    {
-        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth6";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.118/24";
-
-        ENB_INTERFACE_NAME_FOR_S1U               = "eth6";
-
-
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.118/24";
-        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
-    };
-
-    log_config :
-    {
-      global_log_level                      ="info";
-      global_log_verbosity                  ="medium";
-      hw_log_level                          ="info";
-      hw_log_verbosity                      ="medium";
-      phy_log_level                         ="info";
-      phy_log_verbosity                     ="medium";
-      mac_log_level                         ="info";
-      mac_log_verbosity                     ="high";
-      rlc_log_level                         ="info";
-      rlc_log_verbosity                     ="medium";
-      pdcp_log_level                        ="info";
-      pdcp_log_verbosity                    ="medium";
-      rrc_log_level                         ="info";
-      rrc_log_verbosity                     ="medium";
-   };
-  }
-);
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
index 5ef5a4f50b6e653a75f1c817cc6eeba3804d9d97..d563f3af7e1b681e9e220b96e1098aefae47d6f9 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf
@@ -17,7 +17,7 @@ eNBs =
 
     mobile_country_code =  "208";
 
-    mobile_network_code =  "94";
+    mobile_network_code =  "92";
 
        ////////// Physical parameters:
 
@@ -63,10 +63,10 @@ eNBs =
         phich_duration                                     = "NORMAL";
         phich_resource                                     = "ONESIXTH";
         srs_enable                                         = "DISABLE";
-        /*  srs_BandwidthConfig                                =;
-        srs_SubframeConfig                                 =;
-        srs_ackNackST                                      =;
-        srs_MaxUpPts                                       =;*/
+        srs_BandwidthConfig                                = 2;
+        srs_SubframeConfig                                 = 0;
+        srs_ackNackST                                      = "DISABLE";
+        srs_MaxUpPts                                       = "DISABLE";
 
         pusch_p0_Nominal                                   = -90;
         pusch_alpha                                        = "AL1";
@@ -137,7 +137,7 @@ eNBs =
 
     ////////// MME parameters:
 
-    mme_ip_address      = ( { ipv4       = "192.168.12.70";
+    mme_ip_address      = ( { ipv4       = "192.168.12.26";
                               ipv6       = "192:168:30::17";
                               active     = "yes";
                               preference = "ipv4";
@@ -147,10 +147,10 @@ eNBs =
     NETWORK_INTERFACES :
     {
 
-        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth1";
-        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.147/24";
-        ENB_INTERFACE_NAME_FOR_S1U               = "eth1";
-        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.147/24";
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth6";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.82/24";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth6";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.82/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };
 
diff --git a/targets/RT/USER/UE_transport_IQ.c b/targets/RT/USER/UE_transport_IQ.c
index 8bbb78b4a3979fdd669a7e70ce0fd75d59db785b..05dd2bbf798e64c276856d7313cc29911075f5d9 100644
--- a/targets/RT/USER/UE_transport_IQ.c
+++ b/targets/RT/USER/UE_transport_IQ.c
@@ -87,7 +87,6 @@ void config_UE_mod( rrh_module_t *dev_ue, uint8_t RT_flag,uint8_t NRT_flag) {
 
   int 	  i;
   int 	  error_code_UE, error_code_proc_UE;
-  void    *tmp;
   
   RT_flag_UE=RT_flag;
   NRT_flag_UE=NRT_flag;
@@ -245,8 +244,7 @@ void *rrh_UE_thread(void *arg) {
 
   struct sched_param 	sched_param_UE_rx, sched_param_UE_tx;
   int16_t		i,cmd;   //,nsamps,antenna_index;
-  ssize_t 	        bytes_received;
-  struct timespec 	time_req_1us, time_rem_1us;
+  //struct timespec 	time_req_1us;
   pthread_t 		UE_rx_thread, UE_tx_thread;
   pthread_attr_t 	attr_UE_rx, attr_UE_tx;
   int 			error_code_UE_rx, error_code_UE_tx;
@@ -254,8 +252,8 @@ void *rrh_UE_thread(void *arg) {
   unsigned int          samples_per_frame=0;
   
   samples_per_frame= dev->eth_dev.openair0_cfg->samples_per_frame;
-  time_req_1us.tv_sec = 0;
-  time_req_1us.tv_nsec = 1000;
+  //time_req_1us.tv_sec = 0;
+  //time_req_1us.tv_nsec = 1000;
   
   while (rrh_exit==0) {
     
@@ -338,12 +336,15 @@ void *rrh_UE_rx_thread(void *arg) {
   int 		      trace_cnt=0;
   unsigned long long  max_rx_time=0, min_rx_time=133333, total_rx_time=0, average_rx_time=133333, s_period=0, trial=0;
   unsigned int        samples_per_frame=0;
-  openair0_timestamp  temp, last_hw_counter=0;
+  openair0_timestamp  last_hw_counter=0;
   
   antenna_index     = 0;
   nsamps	    = dev->eth_dev.openair0_cfg->samples_per_packet;
   samples_per_frame = dev->eth_dev.openair0_cfg->samples_per_frame;
   
+  /* TODO: check if setting time0 has to be done here */
+  clock_gettime(CLOCK_MONOTONIC,&time0);
+
   while (rrh_exit == 0) {
     if (!UE_rx_started) {
       UE_rx_started=1;  //Set this flag to 1 to indicate that a UE started retrieving data
@@ -446,7 +447,7 @@ void *rrh_UE_rx_thread(void *arg) {
       
       if (s_period++ == PRINTF_PERIOD) {
 	s_period=0;
-	printf("Average UE RX time : %lu\tMax RX time : %lu\tMin RX time : %lu\n",average_rx_time,max_rx_time,min_rx_time);
+	printf("Average UE RX time : %llu\tMax RX time : %llu\tMin RX time : %llu\n",average_rx_time,max_rx_time,min_rx_time);
 	
       }
       
@@ -481,7 +482,6 @@ void *rrh_UE_tx_thread(void *arg) {
   rrh_module_t    	*dev = (rrh_module_t *)arg;
   ssize_t 		bytes_received;
   int 			antenna_index, nsamps;
-  int 			trace_cnt=0;
   unsigned int          samples_per_frame=0;
   
   antenna_index    = 0;
@@ -504,7 +504,7 @@ void *rrh_UE_tx_thread(void *arg) {
     if (NRT_flag_UE==1) {
       nrt_UE_counter[antenna_index]++;
     }
-    printf(" first part size: %d   second part size: %d idx=%d \n",
+    printf(" first part size: %d   second part size: %"PRId64" idx=%"PRId64"\n",
 	   (int32_t)(((samples_per_frame)<<2)-((timestamp_UE_tx[antenna_index]%(samples_per_frame))<<2)),
 	   (nsamps<<2)-((samples_per_frame)<<2)+((timestamp_UE_tx[antenna_index]%(samples_per_frame))<<2),
 	   timestamp_UE_tx[antenna_index]%(samples_per_frame));
diff --git a/targets/RT/USER/eNB_transport_IQ.c b/targets/RT/USER/eNB_transport_IQ.c
index fb351af6d638d2bbc9fb79e4d465260b759142bb..b57a201fb5f901417d919bbed85bdf919f6b51ff 100644
--- a/targets/RT/USER/eNB_transport_IQ.c
+++ b/targets/RT/USER/eNB_transport_IQ.c
@@ -539,13 +539,13 @@ void *rrh_eNB_rx_thread(void *arg) {
 
 void *rrh_eNB_tx_thread(void *arg) {
 
-  struct timespec time0a,time0,time1,time2;
+  struct timespec time0,time1,time2;
 
   rrh_module_t *dev = (rrh_module_t *)arg;
   struct timespec time_req_1us, time_rem_1us;
   ssize_t bytes_received;
   int i;
-  openair0_timestamp last_hw_counter=0;
+  //openair0_timestamp last_hw_counter=0;
   unsigned int samples_per_frame=0,samples_per_subframe=0;
   unsigned int  spp_rf=0, spp_eth=0;
   uint8_t loopback=0,measurements=0;
@@ -634,7 +634,7 @@ void *rrh_eNB_tx_thread(void *arg) {
       VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TX_TS, timestamp_tx&0xffffffff ); 
       
             
-      if (dev->devs->type == NONE_DEV)	last_hw_counter=hw_counter;
+      //if (dev->devs->type == NONE_DEV)	last_hw_counter=hw_counter;
     
     
       if (loopback ==1 ) { 
diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c
index 189bb87d497fd3243b1d573229a78edac6d2d178..b88b094f0880782b3d3613424216c4d6ea7247ea 100644
--- a/targets/RT/USER/lte-enb.c
+++ b/targets/RT/USER/lte-enb.c
@@ -1004,6 +1004,7 @@ void rx_rf(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
   start_rf_prev_ts = start_rf_new_ts;
   clock_gettime( CLOCK_MONOTONIC, &start_rf_new);
   start_rf_new_ts = ts;
+  LOG_D(PHY,"rx_rf: first_rx %d received ts %"PRId64" (sptti %d)\n",proc->first_rx,ts,fp->samples_per_tti);
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_READ, 0 );
 
   proc->timestamp_rx = ts-eNB->ts_offset;
@@ -1020,7 +1021,7 @@ void rx_rf(PHY_VARS_eNB *eNB,int *frame,int *subframe) {
   else {
 
     if (proc->timestamp_rx - old_ts != fp->samples_per_tti) {
-      LOG_I(PHY,"rx_rf: rfdevice timing drift of %"PRId64" samples\n",proc->timestamp_rx - old_ts - fp->samples_per_tti);
+      LOG_I(PHY,"rx_rf: rfdevice timing drift of %"PRId64" samples (ts_off %"PRId64")\n",proc->timestamp_rx - old_ts - fp->samples_per_tti,eNB->ts_offset);
       eNB->ts_offset += (proc->timestamp_rx - old_ts - fp->samples_per_tti);
       proc->timestamp_rx = ts-eNB->ts_offset;
     }
@@ -1559,7 +1560,7 @@ static void* eNB_thread_single( void* param ) {
   wait_sync("eNB_thread_single");
 
 #if defined(ENABLE_ITTI) && defined(ENABLE_USE_MME)
-  if (eNB->node_function < NGFI_RRU_IF5)
+  if ((eNB->node_function < NGFI_RRU_IF5) && (eNB->mac_enabled==1))
     wait_system_ready ("Waiting for eNB application to be ready %s\r", &start_eNB);
 #endif 
 
@@ -2059,6 +2060,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
           printf("Exiting, cannot initialize transport protocol\n");
           exit(-1);
         }
+	malloc_IF5_buffer(eNB);
 	break;
       case NGFI_RRU_IF4p5:
 	eNB->do_precoding         = 0;
@@ -2148,6 +2150,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
           printf("Exiting, cannot initialize transport protocol\n");
           exit(-1);
         }
+	malloc_IF5_buffer(eNB);
 	break;
       case NGFI_RCC_IF4p5:
 	eNB->do_precoding         = 0;
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index 65f578fd2552b2a332061048fd85b0b22d024224..2ad68765e30cc0001c88e65684def3d9d8ca91e6 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -74,6 +74,8 @@ unsigned short config_frames[4] = {2,9,11,13};
 #include "create_tasks.h"
 #endif
 
+#include "system.h"
+
 #ifdef XFORMS
 #include "PHY/TOOLS/lte_phy_scope.h"
 #include "stats.h"
@@ -319,8 +321,8 @@ void help (void) {
   printf("  --ue-rxgain set UE RX gain\n");
   printf("  --ue-rxgain-off external UE amplifier offset\n");
   printf("  --ue-txgain set UE TX gain\n");
-  printf("  --ue-nb-ant-rx  set UE number of rx antennas ");
-  printf("  --ue-scan_carrier set UE to scan around carrier\n");
+  printf("  --ue-nb-ant-rx  set UE number of rx antennas\n");
+  printf("  --ue-scan-carrier set UE to scan around carrier\n");
   printf("  --dlsch-demod-shift dynamic shift for LLR compuation for TM3/4 (default 0)\n");
   printf("  --loop-memory get softmodem (UE) to loop through memory instead of acquiring from HW\n");
   printf("  --mmapped-dma sets flag for improved EXMIMO UE performance\n");  
@@ -1371,6 +1373,8 @@ int main( int argc, char **argv ) {
     int ret;
 #endif
 
+    start_background_system();
+
 #ifdef DEBUG_CONSOLE
     setvbuf(stdout, NULL, _IONBF, 0);
     setvbuf(stderr, NULL, _IONBF, 0);
@@ -1579,9 +1583,15 @@ int main( int argc, char **argv ) {
                               UE[CC_id]->X_u);
 
             if (UE[CC_id]->mac_enabled == 1)
-                UE[CC_id]->pdcch_vars[0]->crnti = 0x1234;
+            {
+                UE[CC_id]->pdcch_vars[0][0]->crnti = 0x1234;
+                UE[CC_id]->pdcch_vars[1][0]->crnti = 0x1234;
+            }
             else
-                UE[CC_id]->pdcch_vars[0]->crnti = 0x1235;
+            {
+                UE[CC_id]->pdcch_vars[0][0]->crnti = 0x1235;
+                UE[CC_id]->pdcch_vars[1][0]->crnti = 0x1235;
+            }
 
             UE[CC_id]->rx_total_gain_dB =  (int)rx_gain[CC_id][0] + rx_gain_off;
             UE[CC_id]->tx_power_max_dBm = tx_max_power[CC_id];
@@ -1733,7 +1743,7 @@ int main( int argc, char **argv ) {
 #if defined(ENABLE_ITTI)
 
     if ((UE_flag == 1)||
-            (node_function[0]<NGFI_RAU_IF4p5))
+	((node_function[0]<NGFI_RAU_IF4p5)&&(phy_test==0)))
         // don't create if node doesn't connect to RRC/S1/GTP
         if (create_tasks(UE_flag ? 0 : 1, UE_flag ? 1 : 0) < 0) {
             printf("cannot create ITTI tasks\n");
diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c
index 49093ed2def4f22334c7870ff358abc938ce70f3..8a0b646fc35204a6b136f2202a39b50d5741b87a 100644
--- a/targets/RT/USER/lte-ue.c
+++ b/targets/RT/USER/lte-ue.c
@@ -269,7 +269,7 @@ static void *UE_thread_synch(void *arg) {
         }
     }
 
-    AssertFatal(UE->rfdevice.trx_start_func(&UE->rfdevice) == 0, "Could not start the device\n");
+    //    AssertFatal(UE->rfdevice.trx_start_func(&UE->rfdevice) == 0, "Could not start the device\n");
 
     while (oai_exit==0) {
         AssertFatal ( 0== pthread_mutex_lock(&UE->proc.mutex_synch), "");
@@ -368,13 +368,13 @@ static void *UE_thread_synch(void *arg) {
 
                     UE->rfdevice.trx_set_freq_func(&UE->rfdevice,&openair0_cfg[0],0);
                     //UE->rfdevice.trx_set_gains_func(&openair0,&openair0_cfg[0]);
-                    UE->rfdevice.trx_stop_func(&UE->rfdevice);
+                    //UE->rfdevice.trx_stop_func(&UE->rfdevice);
                     sleep(1);
                     init_frame_parms(&UE->frame_parms,1);
-                    if (UE->rfdevice.trx_start_func(&UE->rfdevice) != 0 ) {
+                    /*if (UE->rfdevice.trx_start_func(&UE->rfdevice) != 0 ) {
                         LOG_E(HW,"Could not start the device\n");
                         oai_exit=1;
-                    }
+                    }*/
                 } else {
                     AssertFatal ( 0== pthread_mutex_lock(&UE->proc.mutex_synch), "");
                     UE->is_synchronized = 1;
@@ -647,6 +647,7 @@ void *UE_thread(void *arg) {
 
     int sub_frame=-1;
     //int cumulated_shift=0;
+    AssertFatal(UE->rfdevice.trx_start_func(&UE->rfdevice) == 0, "Could not start the device\n");
     while (!oai_exit) {
         AssertFatal ( 0== pthread_mutex_lock(&UE->proc.mutex_synch), "");
         int instance_cnt_synch = UE->proc.instance_cnt_synch;
diff --git a/targets/RT/USER/rrh_gw.c b/targets/RT/USER/rrh_gw.c
index 4abdaa243d2045c79d5d4236148a7de944fdc84e..e73c9ef4ebe0455db9a51b4c74dd908994df0cdf 100644
--- a/targets/RT/USER/rrh_gw.c
+++ b/targets/RT/USER/rrh_gw.c
@@ -65,7 +65,7 @@
 
 /* local IP/MAC address is detected*/
 char rrh_ip[20] = "0.0.0.0"; 
-unsigned char rrh_mac[6] = "0:0:0:0:0:0"; 
+unsigned char rrh_mac[20] = "0:0:0:0:0:0";
 int  rrh_port = 50000; // has to be an option
 
 /* log */
@@ -197,7 +197,7 @@ static rrh_module_t new_module (unsigned int id) {
     openair0_cfg.my_port = rrh_port;
     LOG_I(RRH,"UDP mode selected for ethernet.\n");
   } else if (eth_mode==ETH_RAW_MODE) {
-    openair0_cfg.my_addr = &rrh_mac[0];
+    openair0_cfg.my_addr = (char*)&rrh_mac[0];
     openair0_cfg.my_port = rrh_port;
     LOG_I(RRH,"RAW mode selected for ethernet.\n");
   } 
@@ -342,7 +342,7 @@ static int get_address(char* if_name, uint8_t flag) {
       perror("IOCTL:");
       exit(-1);
     } 
-    ether_ntoa_r ((unsigned char *)ifr.ifr_hwaddr.sa_data, rrh_mac);
+    ether_ntoa_r ((struct ether_addr *)ifr.ifr_hwaddr.sa_data, (char*)rrh_mac);
     LOG_I(RRH,"%s: MAC address: %s\n",if_name,rrh_mac);    
   }
   
@@ -376,7 +376,7 @@ void *timer_proc(void *arg) {
 
   timer_t             timerid;    
   struct itimerspec   *timer= (struct itimerspec *)arg ; // the timer data structure
-  struct itimerspec   *old_value;
+  struct itimerspec   old_value;
 
   
 #ifdef DEADLINE_SCHEDULER
@@ -407,7 +407,7 @@ void *timer_proc(void *arg) {
   
   signal(SIGALRM, timer_signal_handler);
   LOG_I(RRH,"Timer has started!\n");
-  timer_settime (timerid, 0, timer, old_value);
+  timer_settime (timerid, 0, timer, &old_value);
 
   while (!rrh_exit) {
     sleep(1);
diff --git a/targets/SIMU/USER/channel_sim.c b/targets/SIMU/USER/channel_sim.c
index aff1f789eeefe8486457c3b44a2344fdc1320e3e..3913de60168524e8db18af473563c521e3fd95c1 100644
--- a/targets/SIMU/USER/channel_sim.c
+++ b/targets/SIMU/USER/channel_sim.c
@@ -145,7 +145,7 @@ void do_DL_sig(channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX][MAX_N
 
       // find out which eNB the UE is attached to
       for (eNB_id=0; eNB_id<NB_eNB_INST; eNB_id++) {
-        if (find_ue(PHY_vars_UE_g[UE_id][CC_id]->pdcch_vars[0]->crnti,PHY_vars_eNB_g[eNB_id][CC_id])>=0) {
+        if (find_ue(PHY_vars_UE_g[UE_id][CC_id]->pdcch_vars[0][0]->crnti,PHY_vars_eNB_g[eNB_id][CC_id])>=0) {
           // UE with UE_id is connected to eNb with eNB_id
           att_eNB_id=eNB_id;
           LOG_D(OCM,"A: UE attached to eNB (UE%d->eNB%d)\n",UE_id,eNB_id);
diff --git a/targets/SIMU/USER/init_lte.c b/targets/SIMU/USER/init_lte.c
index a99ccf2c09f40866ec31acd82fc74c65886e758e..3baf8fdad66b285b0019d4e7fb08cad62a499c4a 100644
--- a/targets/SIMU/USER/init_lte.c
+++ b/targets/SIMU/USER/init_lte.c
@@ -161,9 +161,9 @@ PHY_VARS_UE* init_lte_UE(LTE_DL_FRAME_PARMS *frame_parms,
   memcpy(&(PHY_vars_UE->frame_parms), frame_parms, sizeof(LTE_DL_FRAME_PARMS));
   phy_init_lte_ue(PHY_vars_UE,1,abstraction_flag);
 
-  for (int l=0; l<2; l++) {
-      for (i=0; i<NUMBER_OF_CONNECTED_eNB_MAX; i++) {
-          for (j=0; j<2; j++) {
+  for (i=0; i<NUMBER_OF_CONNECTED_eNB_MAX; i++) {
+      for (j=0; j<2; j++) { // 2CWs
+          for (int l=0; l<2; l++){ // 2Threads
               PHY_vars_UE->dlsch[l][i][j]  = new_ue_dlsch(1,NUMBER_OF_HARQ_PID_MAX,NSOFT,MAX_TURBO_ITERATIONS,frame_parms->N_RB_DL, abstraction_flag);
 
               if (!PHY_vars_UE->dlsch[l][i][j]) {
@@ -172,21 +172,21 @@ PHY_VARS_UE* init_lte_UE(LTE_DL_FRAME_PARMS *frame_parms,
               } else
                   LOG_D(PHY,"dlsch[%d][%d] => %p\n",UE_id,i,PHY_vars_UE->dlsch[l][i][j]);
           }
+      }
 
 
 
-          PHY_vars_UE->ulsch[i]  = new_ue_ulsch(frame_parms->N_RB_UL, abstraction_flag);
+      PHY_vars_UE->ulsch[i]  = new_ue_ulsch(frame_parms->N_RB_UL, abstraction_flag);
 
-          if (!PHY_vars_UE->ulsch[i]) {
-              LOG_E(PHY,"Can't get ue ulsch structures\n");
-              exit(-1);
-          }
+      if (!PHY_vars_UE->ulsch[i]) {
+          LOG_E(PHY,"Can't get ue ulsch structures\n");
+          exit(-1);
+      }
 
-          PHY_vars_UE->dlsch_SI[i]  = new_ue_dlsch(1,1,NSOFT,MAX_TURBO_ITERATIONS,frame_parms->N_RB_DL, abstraction_flag);
-          PHY_vars_UE->dlsch_ra[i]  = new_ue_dlsch(1,1,NSOFT,MAX_TURBO_ITERATIONS,frame_parms->N_RB_DL, abstraction_flag);
+      PHY_vars_UE->dlsch_SI[i]  = new_ue_dlsch(1,1,NSOFT,MAX_TURBO_ITERATIONS,frame_parms->N_RB_DL, abstraction_flag);
+      PHY_vars_UE->dlsch_ra[i]  = new_ue_dlsch(1,1,NSOFT,MAX_TURBO_ITERATIONS,frame_parms->N_RB_DL, abstraction_flag);
 
-          PHY_vars_UE->transmission_mode[i] = frame_parms->nb_antenna_ports_eNB==1 ? 1 : 2;
-      }
+      PHY_vars_UE->transmission_mode[i] = frame_parms->nb_antenna_ports_eNB==1 ? 1 : 2;
   }
 
   PHY_vars_UE->frame_parms.pucch_config_common.deltaPUCCH_Shift = 1;
diff --git a/targets/SIMU/USER/oaisim.c b/targets/SIMU/USER/oaisim.c
index 7c1ea1a3c886bc07f2d90f8fc508216c7c073176..c783ebe0755aac4fecb45565d2e612c90215d8c8 100644
--- a/targets/SIMU/USER/oaisim.c
+++ b/targets/SIMU/USER/oaisim.c
@@ -59,6 +59,7 @@
 
 #include "SCHED/defs.h"
 #include "SCHED/vars.h"
+#include "system.h"
 
 
 #include "PHY/TOOLS/lte_phy_scope.h"
@@ -472,7 +473,7 @@ l2l1_task (void *args_p)
   // Framing variables
   int32_t sf;
 
-  char fname[64], vname[64];
+  //char fname[64], vname[64];
 
   //#ifdef XFORMS
   // current status is that every UE has a DL scope for a SINGLE eNB (eNB_id=0)
@@ -929,7 +930,7 @@ l2l1_task (void *args_p)
           }
         }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
 
         for (RN_id=oai_emulation.info.first_rn_local;
              RN_id<oai_emulation.info.first_rn_local+oai_emulation.info.nb_rn_local;
@@ -1194,6 +1195,8 @@ main (int argc, char **argv)
 
   clock_t t;
 
+  start_background_system();
+
 #ifdef SMBV
   // Rohde&Schwarz SMBV100A vector signal generator
   strcpy(smbv_ip,DEFAULT_SMBV_IP);
@@ -1216,7 +1219,10 @@ main (int argc, char **argv)
   for(int i =0; i<NUMBER_OF_UE_MAX; i++){
       char command_line[100];
       sprintf(command_line, "while ip rule del table %d; do true; done",i+201);
-      system(command_line);
+      /* we don't care about return value from system(), but let's the
+       * compiler be silent, so let's do "if (XX);"
+       */
+      if (system(command_line)) /* nothing */;
   }
   // start thread for log gen
   log_thread_init ();
@@ -1286,6 +1292,7 @@ main (int argc, char **argv)
 
   init_openair2 ();
 
+  void init_openair0(void);
   init_openair0();
 
   init_ocm ();
@@ -1332,6 +1339,8 @@ main (int argc, char **argv)
   if (oai_emulation.info.opp_enabled == 1)
     reset_opp_meas_oaisim ();
 
+  cpuf=get_cpu_freq_GHz();
+
   init_time ();
 
   init_slot_isr ();
@@ -1381,14 +1390,16 @@ reset_opp_meas_oaisim (void)
 
   for (UE_id = 0; UE_id < NB_UE_INST; UE_id++) {
     reset_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc);
-    reset_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc_rx);
+    reset_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc_rx[0]);
+    reset_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc_rx[1]);
     reset_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc_tx);
 
     reset_meas (&PHY_vars_UE_g[UE_id][0]->ofdm_demod_stats);
     reset_meas (&PHY_vars_UE_g[UE_id][0]->rx_dft_stats);
     reset_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_channel_estimation_stats);
     reset_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_freq_offset_estimation_stats);
-    reset_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_decoding_stats);
+    reset_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_decoding_stats[0]);
+    reset_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_decoding_stats[1]);
     reset_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_rate_unmatching_stats);
     reset_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_turbo_decoding_stats);
     reset_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_deinterleaving_stats);
@@ -1550,8 +1561,10 @@ print_opp_meas_oaisim (void)
     print_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc, "[UE][total_phy_proc]",
                 &oaisim_stats, &oaisim_stats_f);
 
-    print_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc_rx,
-                "[UE][total_phy_proc_rx]", &oaisim_stats, &oaisim_stats_f);
+    print_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc_rx[0],
+                "[UE][total_phy_proc_rx[0]]", &oaisim_stats, &oaisim_stats_f);
+    print_meas (&PHY_vars_UE_g[UE_id][0]->phy_proc_rx[1],
+                "[UE][total_phy_proc_rx[1]]", &oaisim_stats, &oaisim_stats_f);
     print_meas (&PHY_vars_UE_g[UE_id][0]->ofdm_demod_stats,
                 "[UE][ofdm_demod]", &oaisim_stats, &oaisim_stats_f);
     print_meas (&PHY_vars_UE_g[UE_id][0]->rx_dft_stats, "[UE][rx_dft]",
@@ -1564,8 +1577,10 @@ print_opp_meas_oaisim (void)
                 &oaisim_stats, &oaisim_stats_f);
     print_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_unscrambling_stats,
                 "[UE][unscrambling]", &oaisim_stats, &oaisim_stats_f);
-    print_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_decoding_stats,
-                "[UE][decoding]", &oaisim_stats, &oaisim_stats_f);
+    print_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_decoding_stats[0],
+                "[UE][decoding[0]]", &oaisim_stats, &oaisim_stats_f);
+    print_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_decoding_stats[1],
+                "[UE][decoding[1]]", &oaisim_stats, &oaisim_stats_f);
     print_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_rate_unmatching_stats,
                 "[UE][rate_unmatching]", &oaisim_stats, &oaisim_stats_f);
     print_meas (&PHY_vars_UE_g[UE_id][0]->dlsch_deinterleaving_stats,
diff --git a/targets/SIMU/USER/oaisim_functions.c b/targets/SIMU/USER/oaisim_functions.c
index c47dc10caf11d95cfa71addff2b4de91f6ad2500..8f357458ec7cc610a9bf6d975f8e113d598db3e4 100644
--- a/targets/SIMU/USER/oaisim_functions.c
+++ b/targets/SIMU/USER/oaisim_functions.c
@@ -91,7 +91,9 @@ extern char smbv_ip[16];
 #define K 2                  // averaging coefficient
 #define TARGET_SF_TIME_NS 1000000       // 1ms = 1000000 ns
 
+#ifndef min
 #define min(a,b) ((a)<(b)?(a):(b))
+#endif
 
 int           otg_times             = 0;
 int           if_times              = 0;
@@ -161,7 +163,7 @@ extern channel_desc_t *eNB2UE[NUMBER_OF_eNB_MAX][NUMBER_OF_UE_MAX][MAX_NUM_CCs];
 extern channel_desc_t *UE2eNB[NUMBER_OF_UE_MAX][NUMBER_OF_eNB_MAX][MAX_NUM_CCs];
 
 extern mapping small_scale_names[];
-#if defined(Rel10)
+#if defined(Rel10) || defined(Rel14)
 extern pdcp_mbms_t pdcp_mbms_array_ue[NUMBER_OF_UE_MAX][maxServiceCount][maxSessionPerPMCH];
 extern pdcp_mbms_t pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH];
 #endif
@@ -1014,8 +1016,8 @@ int eNB_trx_stop(openair0_device *device) {
 int UE_trx_start(openair0_device *device) {
   return(0);
 }
-int UE_trx_end(openair0_device *device) {
-  return(0);
+void UE_trx_end(openair0_device *device) {
+  return;
 }
 int UE_trx_stop(openair0_device *device) {
   return(0);
@@ -1293,7 +1295,7 @@ void init_devices(void){
 
 void init_openair1(void)
 {
-  module_id_t UE_id, eNB_id;
+  module_id_t UE_id, eNB_id = 0;
   uint8_t CC_id;
 #if ENABLE_RAL
   int list_index;
@@ -1428,7 +1430,7 @@ void init_openair1(void)
       else
 	PHY_vars_UE_g[UE_id][CC_id]->mac_enabled=1;
 
-      PHY_vars_UE_g[UE_id][CC_id]->pdcch_vars[0]->crnti = 0x1235 + UE_id;
+      PHY_vars_UE_g[UE_id][CC_id]->pdcch_vars[0][0]->crnti = 0x1235 + UE_id;
       PHY_vars_UE_g[UE_id][CC_id]->current_dlsch_cqi[0] = 10;
 
       LOG_I(EMU, "UE %d mode is initialized to %d\n", UE_id, PHY_vars_UE_g[UE_id][CC_id]->UE_mode[0] );
@@ -1447,6 +1449,7 @@ void init_openair1(void)
 
     } // CC_id
   } // UE_id
+  extern void init_UE(int);
   init_UE(NB_UE_INST);
     }
 
@@ -1738,7 +1741,7 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime)
       }
     }
 
-#ifdef Rel10
+#if defined(Rel10) || defined(Rel14)
     mbms_service_id_t service_id;
     mbms_session_id_t session_id;
     rb_id_t           rb_id;
@@ -1773,7 +1776,7 @@ void update_otg_eNB(module_id_t enb_module_idP, unsigned int ctime)
 
             // old version
             /*      // MBSM multicast traffic
-            #ifdef Rel10
+            #if defined(Rel10) || defined(Rel14)
             if (frame >= 46) {// only generate when UE can receive MTCH (need to control this value)
             for (service_id = 0; service_id < 2 ; service_id++) { //maxServiceCount
             for (session_id = 0; session_id < 2; session_id++) { // maxSessionPerPMCH