diff --git a/openair2/RRC/LITE/defs.h b/openair2/RRC/LITE/defs.h
index 03fc8dc81f99299109ac9d44bd363a0fac216ccc..930d642ef46a729928b1a0ede2c155583ebc8743 100644
--- a/openair2/RRC/LITE/defs.h
+++ b/openair2/RRC/LITE/defs.h
@@ -90,11 +90,22 @@
 # include "commonDef.h"
 #endif
 
+#if defined(ENABLE_RAL)
+# include "collection/hashtable/obj_hashtable.h"
+#endif
+
 /** @defgroup _rrc_impl_ RRC Layer Reference Implementation
  * @ingroup _ref_implementation_
  * @{
  */
 
+#if defined(ENABLE_RAL)
+typedef struct rrc_ral_threshold_key_s {
+    ral_link_param_type_t   link_param_type;
+    ral_threshold_t         threshold;
+}rrc_ral_threshold_key_t;
+#endif
+
 //#define NUM_PRECONFIGURED_LCHAN (NB_CH_CX*2)  //BCCH, CCCH
 
 #define UE_INDEX_INVALID ((uint8_t) ~0)
@@ -333,6 +344,9 @@ typedef struct eNB_RRC_INST_s {
   MeasConfig_t                      *measConfig[NUMBER_OF_UE_MAX];
   HANDOVER_INFO                     *handover_info[NUMBER_OF_UE_MAX];
   uint8_t                           HO_flag;
+#if defined(ENABLE_RAL)
+  obj_hash_table_t                  *ral_meas_thresholds;
+#endif
 #if defined(ENABLE_SECURITY)
   /* KeNB as derived from KASME received from EPC */
   uint8_t kenb[NUMBER_OF_UE_MAX][32];
@@ -415,6 +429,9 @@ typedef struct UE_RRC_INST_s {
   float                           rsrq_db[7];
   float                           rsrp_db_filtered[7];
   float                           rsrq_db_filtered[7];
+#if defined(ENABLE_RAL)
+  obj_hash_table_t               *ral_meas_thresholds;
+#endif
 #if defined(ENABLE_SECURITY)
   /* KeNB as computed from parameters within USIM card */
   uint8_t kenb[32];
diff --git a/openair2/RRC/LITE/rrc_UE_ral.c b/openair2/RRC/LITE/rrc_UE_ral.c
index 136f924a541e5152fb5a33956abb46bc12cf6efb..ff0fe53914b9f716c45adf00d09889a26b0041eb 100755
--- a/openair2/RRC/LITE/rrc_UE_ral.c
+++ b/openair2/RRC/LITE/rrc_UE_ral.c
@@ -42,6 +42,7 @@
 #include "rrc_UE_ral.h"
 #include "assertions.h"
 #include "collection/hashtable/obj_hashtable.h"
+#include "RRC/LITE/defs.h"
 #include "RRC/LITE/extern.h"
 
 
@@ -105,6 +106,7 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
     rrc_ral_configure_threshold_req_t *configure_threshold_req_p = NULL;
     ral_link_cfg_param_t              *link_cfg_param_p          = NULL;
     ral_threshold_t                   *threshold_p               = NULL;
+    MessageDef                        *message_p                 = NULL;
     unsigned int                       ix_param                  = 0;
     unsigned int                       ix_thresholds             = 0;
 
@@ -130,6 +132,10 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
                             case RAL_LINK_PARAM_GEN_SINR:
                             case RAL_LINK_PARAM_GEN_THROUGHPUT:
                             case RAL_LINK_PARAM_GEN_PACKET_ERROR_RATE:
+                                message_p = itti_alloc_new_message (TASK_RRC_UE, PHY_MEAS_THRESHOLD_REQ);
+                                PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
+                                memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
+                                itti_send_msg_to_task (TASK_PHY_UE, ITTI_MSG_INSTANCE(msg_pP), message_p);
                                 break;
                             default:
                                 LOG_E(RRC, "Message RRC_RAL_CONFIGURE_THRESHOLD_REQ malformed, unknown link_param_gen %d\n", link_cfg_param_p->link_param_type._union.link_param_gen);
@@ -145,6 +151,10 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
                             case RAL_LINK_PARAM_QOS_MAX_PACKET_TRANSFER_DELAY_ALL_COS:
                             case RAL_LINK_PARAM_QOS_STD_DEVIATION_PACKET_TRANSFER_DELAY:
                             case RAL_LINK_PARAM_QOS_PACKET_LOSS_RATE_ALL_COS_FRAME_RATIO:
+                                message_p = itti_alloc_new_message (TASK_RRC_UE, PHY_MEAS_THRESHOLD_REQ);
+                                PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
+                                memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
+                                itti_send_msg_to_task (TASK_MAC_UE, ITTI_MSG_INSTANCE(msg_pP), message_p);
                                 break;
                             default:
                                 LOG_E(RRC, "Message RRC_RAL_CONFIGURE_THRESHOLD_REQ malformed, unknown link_param_qos %d\n", link_cfg_param_p->link_param_type._union.link_param_qos);
@@ -158,13 +168,21 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
                             case RAL_LINK_PARAM_LTE_UE_RSRP:
                             case RAL_LINK_PARAM_LTE_UE_RSRQ:
                             case RAL_LINK_PARAM_LTE_UE_CQI:
-
+                                message_p = itti_alloc_new_message (TASK_RRC_UE, PHY_MEAS_THRESHOLD_REQ);
+                                PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
+                                memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
+                                itti_send_msg_to_task (TASK_PHY_UE, ITTI_MSG_INSTANCE(msg_pP), message_p);
                                 break;
 
                             case RAL_LINK_PARAM_LTE_AVAILABLE_BW:
-                            case RAL_LINK_PARAM_LTE_PACKET_DELAY:
                             case RAL_LINK_PARAM_LTE_PACKET_LOSS_RATE:
                             case RAL_LINK_PARAM_LTE_L2_BUFFER_STATUS:
+                            case RAL_LINK_PARAM_LTE_PACKET_DELAY:
+                                message_p = itti_alloc_new_message (TASK_RRC_UE, PHY_MEAS_THRESHOLD_REQ);
+                                PHY_MEAS_THRESHOLD_REQ(message_p).transaction_id  = transaction_id;
+                                memcpy (&PHY_MEAS_THRESHOLD_REQ(message_p).cfg_param, (void *) link_cfg_param_p, sizeof(ral_link_cfg_param_t));
+                                itti_send_msg_to_task (TASK_MAC_UE, ITTI_MSG_INSTANCE(msg_pP), message_p);
+                                break;
                                 break;
 
                             case RAL_LINK_PARAM_LTE_MOBILE_NODE_CAPABILITIES:
@@ -172,6 +190,7 @@ int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageD
                             case RAL_LINK_PARAM_LTE_JUMBO_FEASIBILITY:
                             case RAL_LINK_PARAM_LTE_JUMBO_SETUP_STATUS:
                             case RAL_LINK_PARAM_LTE_NUM_ACTIVE_EMBMS_RECEIVERS_PER_FLOW:
+#warning "TO DO MIH LTE LINK PARAMS IN RRC UE"
                                 break;
 
                             default:
diff --git a/openair2/RRC/LITE/rrc_UE_ral.h b/openair2/RRC/LITE/rrc_UE_ral.h
index 7a026c7e24befb634284f464e2ca412532cd79bc..90554aa58f6dc0293ea71b20c453589cf1b60d54 100755
--- a/openair2/RRC/LITE/rrc_UE_ral.h
+++ b/openair2/RRC/LITE/rrc_UE_ral.h
@@ -67,10 +67,6 @@
 #include "ral_messages_types.h"
 #include "defs.h"
 
-typedef struct rrc_ral_threshold_key_s {
-    ral_link_param_type_t   link_param_type;
-    ral_threshold_t         threshold;
-}rrc_ral_threshold_key_t;
 private_rrc_ue_ral(  int rrc_ue_ral_delete_all_thresholds_type        (unsigned int mod_idP, ral_link_param_type_t *param_type_pP);)
 private_rrc_ue_ral(  int rrc_ue_ral_delete_threshold                  (unsigned int mod_idP, ral_link_param_type_t *param_type_pP, ral_threshold_t *threshold_pP);)
 protected_rrc_ue_ral(int rrc_ue_ral_handle_configure_threshold_request(unsigned int mod_idP, MessageDef *msg_pP);)
diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c
index 7b7b19ce13462aa44d51c90f0cd01c5e917ab88e..189286ee8a97cff88602bda0ec8af90ae3d9e9aa 100644
--- a/openair2/RRC/LITE/rrc_eNB.c
+++ b/openair2/RRC/LITE/rrc_eNB.c
@@ -36,6 +36,8 @@
  * \company Eurecom
  * \email: raymond.knopp@eurecom.fr and navid.nikaein@eurecom.fr
  */
+#define RRC_ENB
+#define RRC_ENB_C
 
 #include "defs.h"
 #include "extern.h"
@@ -85,6 +87,10 @@
 # include "intertask_interface.h"
 #endif
 
+#ifdef ENABLE_RAL
+#include "rrc_eNB_ral.h"
+#endif
+
 //#define XER_PRINT
 
 #ifdef PHY_EMUL
@@ -3104,6 +3110,13 @@ void *rrc_enb_task(void *args_p) {
           openair_rrc_lite_eNB_configuration(instance, &RRC_CONFIGURATION_REQ (msg_p));
           break;
 
+#ifdef ENABLE_RAL
+      case RRC_RAL_CONFIGURE_THRESHOLD_REQ:
+          rrc_enb_ral_handle_configure_threshold_request(instance, msg_p);
+          break;
+#endif
+
+
       default:
         LOG_E(RRC, "[eNB %d] Received unexpected message %s\n", instance, msg_name);
         break;