diff --git a/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c b/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
index db809ceff7a2fe4ed8591d1c0c8d1cf9024f52a8..4bcf60c1d50234fc2ada12b0df2be48a87f25c19 100644
--- a/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
+++ b/openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
@@ -137,12 +137,12 @@ void ue_rrc_measurements(PHY_VARS_UE *phy_vars_ue,
 			 u8 slot,
 			 u8 abstraction_flag) {
 
-  int aarx,i,rb;
+  int aarx,rb;
   s16 *rxF;
 
   u16 Nid_cell = phy_vars_ue->lte_frame_parms.Nid_cell;
   u8 eNB_offset,nu,l,nushift,k;
-  u16 off,off2;
+  u16 off;
   s16 rx_power_correction;
 
 
@@ -196,13 +196,10 @@ void ue_rrc_measurements(PHY_VARS_UE *phy_vars_ue,
 #ifndef NEW_FFT
 	  rxF = (s16 *)&phy_vars_ue->lte_ue_common_vars.rxdataF[aarx][(l*phy_vars_ue->lte_frame_parms.ofdm_symbol_size)<<1];
 	  off  = (phy_vars_ue->lte_frame_parms.first_carrier_offset+k)<<2;
-	  off2 = (phy_vars_ue->lte_frame_parms.first_carrier_offset)<<2;
 #else
 	  rxF = (s16 *)&phy_vars_ue->lte_ue_common_vars.rxdataF[aarx][(l*phy_vars_ue->lte_frame_parms.ofdm_symbol_size)];
 	  off  = (phy_vars_ue->lte_frame_parms.first_carrier_offset+k)<<1;
-	  off2 = (phy_vars_ue->lte_frame_parms.first_carrier_offset)<<1;
-#endif	  
-
+#endif
 
       if (l==(4-phy_vars_ue->lte_frame_parms.Ncp)) {
 	    for (rb=0;rb<phy_vars_ue->lte_frame_parms.N_RB_DL;rb++) {
diff --git a/openair1/PHY/LTE_TRANSPORT/dci.c b/openair1/PHY/LTE_TRANSPORT/dci.c
index 642d8187782b6b738e2b2271e872ce50988e472b..68b3b690c4cf0cb5223f0f401609ab858696d724 100644
--- a/openair1/PHY/LTE_TRANSPORT/dci.c
+++ b/openair1/PHY/LTE_TRANSPORT/dci.c
@@ -52,6 +52,7 @@
 #include <tmmintrin.h>
 #endif
 
+#include "assertions.h"
 
 //#define DEBUG_DCI_ENCODING 1
 //#define DEBUG_DCI_DECODING 1
@@ -2484,7 +2485,7 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **lte_ue_pdcch_vars,int do_common,u8 s
   u16 crc,CCEind,nCCE;
   u32 *CCEmap=NULL,CCEmap_mask=0;
   int L2=(1<<L);
-  unsigned int Yk,nb_candidates,i,m;
+  unsigned int Yk,nb_candidates = 0,i,m;
   unsigned int CCEmap_cand;
 
   nCCE = get_nCCE(lte_ue_pdcch_vars[eNB_id]->num_pdcch_symbols,frame_parms,mi);
@@ -2517,6 +2518,9 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **lte_ue_pdcch_vars,int do_common,u8 s
     case 8:
       nb_candidates = 2;
       break;
+    default:
+      DevParam(L2, do_common, eNB_id);
+      break;
     }    
   }
   /*  for (CCEind=0;
@@ -2768,6 +2772,11 @@ u16 dci_decoding_procedure(PHY_VARS_UE *phy_vars_ue,
       format1_size_bytes = sizeof(DCI1_20MHz_FDD_t);
     }
     break;
+  default:
+    format1_size_bits = 0;
+    format1_size_bytes = 0;
+    DevParam(frame_parms->N_RB_DL, frame_type, 0);
+    break;
   }
 
   if (do_common == 1) { 
diff --git a/openair1/PHY/LTE_TRANSPORT/rar_tools.c b/openair1/PHY/LTE_TRANSPORT/rar_tools.c
index 2b52835669b78e5766a788ee87e35305f6d654a7..60776cbfe8c9d089eb0005f445c500290715977f 100644
--- a/openair1/PHY/LTE_TRANSPORT/rar_tools.c
+++ b/openair1/PHY/LTE_TRANSPORT/rar_tools.c
@@ -47,6 +47,8 @@
 #include "SCHED/defs.h"
 #endif
 
+#include "assertions.h"
+
 extern uint16_t RIV2nb_rb_LUT6[32];
 extern uint16_t RIV2first_rb_LUT6[32];
 extern uint16_t RIV2nb_rb_LUT25[512];
@@ -100,6 +102,9 @@ int generate_eNB_ulsch_params_from_rar(unsigned char *rar_pdu,
       RIV2first_rb_LUT  = &RIV2first_rb_LUT100[0];
       RIV_max           = RIV_max100;
       break;
+    default:
+      DevParam(frame_parms->N_RB_DL, harq_pid, 0);
+      break;
   }
 
   ulsch->harq_processes[harq_pid]->TPC                = (rar[3]>>2)&7;//rar->TPC;
@@ -181,7 +186,7 @@ int generate_ue_ulsch_params_from_rar(PHY_VARS_UE *phy_vars_ue,
   uint8_t cqireq;
   double sinr_eff;
   uint16_t *RIV2nb_rb_LUT, *RIV2first_rb_LUT;
-  uint16_t RIV_max;
+  uint16_t RIV_max = 0;
 
   LOG_D(PHY,"[eNB][RAPROC] Frame %d: generate_ue_ulsch_params_from_rar: subframe %d (harq_pid %d)\n",phy_vars_ue->frame,subframe,harq_pid);
 
@@ -206,6 +211,9 @@ int generate_ue_ulsch_params_from_rar(PHY_VARS_UE *phy_vars_ue,
       RIV2first_rb_LUT  = &RIV2first_rb_LUT100[0];
       RIV_max           = RIV_max100;
       break;
+    default:
+      DevParam(frame_parms->N_RB_DL, eNB_id, harq_pid);
+      break;
   }
 
 
diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index 4ddb0d0136cb9f2b7f96bcd4a59bf5b92edfbba0..53127d166f1586f2bf0fcbdf6b448765aa7bee04 100755
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -63,6 +63,8 @@
 #include "UTIL/LOG/vcd_signal_dumper.h"
 //#endif
 
+#include "assertions.h"
+
 //#define DIAG_PHY
 
 #define NS_PER_SLOT 500000
@@ -283,7 +285,7 @@ void init_nCCE_table(void) {
 
 int get_nCCE_offset(unsigned char L, int nCCE, int common_dci, unsigned short rnti, unsigned char subframe) {
 
-  int search_space_free,m,nb_candidates,l,i;
+  int search_space_free,m,nb_candidates = 0,l,i;
   unsigned int Yk;
   /*
     printf("CCE Allocation: ");
@@ -331,6 +333,9 @@ int get_nCCE_offset(unsigned char L, int nCCE, int common_dci, unsigned short rn
     case 8:
       nb_candidates = 2;
       break;
+    default:
+      DevParam(L, nCCE, rnti);
+      break;
     }
 
     //        LOG_I(PHY,"rnti %x, Yk = %d, nCCE %d (nCCE/L %d),nb_cand %d\n",rnti,Yk,nCCE,nCCE/L,nb_candidates);
@@ -918,8 +923,6 @@ void phy_procedures_eNB_TX(unsigned char next_slot,PHY_VARS_eNB *phy_vars_eNB,u8
   //  s16 amp;
   u8 ul_subframe;
   u32 ul_frame;
-  int re_offset;
-  uint32_t *txptr;
 #ifdef Rel10
   MCH_PDU *mch_pduP;
   MCH_PDU  mch_pdu;
@@ -1488,7 +1491,7 @@ void phy_procedures_eNB_TX(unsigned char next_slot,PHY_VARS_eNB *phy_vars_eNB,u8
 				       pdcch_alloc2ul_subframe(&phy_vars_eNB->lte_frame_parms,next_slot>>1));
 	  if (harq_pid==255) {
 	    LOG_E(PHY,"[eNB %d] Frame %d: Bad harq_pid for ULSCH allocation\n",phy_vars_eNB->Mod_id,phy_vars_eNB->frame);
-	    mac_xface->macphy_exit("");
+	    mac_exit_wrapper("Invalid harq_pid (255) detected");
 	  }
 #ifdef OPENAIR2
 	  UE_id = find_ue((s16)DCI_pdu->dci_alloc[i].rnti,phy_vars_eNB);
@@ -1497,7 +1500,7 @@ void phy_procedures_eNB_TX(unsigned char next_slot,PHY_VARS_eNB *phy_vars_eNB,u8
 #endif
 	  if (UE_id<0) {
 	    LOG_E(PHY,"[eNB %d] Frame %d: Unknown UE_id for rnti %x\n",phy_vars_eNB->Mod_id,phy_vars_eNB->frame,(s16)DCI_pdu->dci_alloc[i].rnti);
-	    mac_xface->macphy_exit("");
+	    mac_exit_wrapper("Invalid UE id (< 0) detected");
 	  }
 #ifdef DEBUG_PHY_PROC
       if (phy_vars_eNB->frame%100 == 0)
@@ -2484,7 +2487,8 @@ void phy_procedures_eNB_RX(unsigned char last_slot,PHY_VARS_eNB *phy_vars_eNB,u8
   u32 harq_pid, round;
   u8 SR_payload,*pucch_payload=NULL,pucch_payload0[2]={0,0},pucch_payload1[2]={0,0};
   s16 n1_pucch0,n1_pucch1,n1_pucch2,n1_pucch3;
-  u8 do_SR=0,pucch_sel;
+  u8 do_SR = 0;
+  u8 pucch_sel = 0;
   s16 metric0=0,metric1=0;
   ANFBmode_t bundling_flag;
   PUCCH_FMT_t format;
@@ -2870,7 +2874,7 @@ void phy_procedures_eNB_RX(unsigned char last_slot,PHY_VARS_eNB *phy_vars_eNB,u8
 	    printf("%x.",phy_vars_eNB->ulsch_eNB[i]->harq_processes[harq_pid]->c[0][j]);
 	  printf("\n");
 	  dump_ulsch(phy_vars_eNB,last_slot>>1,i);
-	  mac_xface->macphy_exit("");	  
+	  mac_exit_wrapper("Msg3 error");
 	} // This is Msg3 error
 	else { //normal ULSCH
 	  LOG_D(PHY,"[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)\n",
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c
index 746e0081cebd9719989178bb52dead5948238ce6..446e4f6b24285543a1a47b1fb314215f0ad09dfa 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c
+++ b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.c
@@ -12,6 +12,7 @@
 
 #include "assertions.h"
 
+#include "pgm_link.h"
 #include "multicast_link.h"
 
 #include "UTIL/OCG/OCG.h"
diff --git a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h
index f325350c825bf094022c693edad923b33fbd0975..81942bd4c1ec1f50e18fc2726388be37ca6ce73b 100644
--- a/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h
+++ b/openair1/SIMULATION/ETH_TRANSPORT/pgm_link.h
@@ -3,6 +3,7 @@
 
 /* Define prototypes only if enabled */
 #if defined(ENABLE_PGM_TRANSPORT)
+void bypass_tx_nack(unsigned int frame, unsigned int next_slot);
 
 int pgm_oai_init(char *if_name);
 
diff --git a/openair1/SIMULATION/TOOLS/abstraction.c b/openair1/SIMULATION/TOOLS/abstraction.c
index 3eb0affbd31d7a9b42f0c6cf48ab4dd2b5b959d5..046fe1618dec2ea7f9ac819b88c5b1a842154eed 100644
--- a/openair1/SIMULATION/TOOLS/abstraction.c
+++ b/openair1/SIMULATION/TOOLS/abstraction.c
@@ -3,7 +3,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-
+#include <errno.h>
 
 #include "PHY/TOOLS/defs.h"
 #include "defs.h"
@@ -192,10 +192,14 @@ double a[7];
 
 void load_pbch_desc(FILE *pbch_file_fd) {
 
-  int i;
+  int i, ret;
   char dummy[25];
 
-  fscanf(pbch_file_fd,"%d",&pbch_polynomial_degree);
+  ret = fscanf(pbch_file_fd,"%d",&pbch_polynomial_degree);
+  if (ret < 0) {
+    printf("fscanf failed: %s\n", strerror(errno));
+    exit(EXIT_FAILURE);
+  }
   if (pbch_polynomial_degree>6) {
     printf("Illegal degree for pbch interpolation polynomial %d\n",pbch_polynomial_degree);
     exit(-1);
@@ -204,7 +208,11 @@ void load_pbch_desc(FILE *pbch_file_fd) {
   printf("PBCH polynomial : ");
 
   for (i=0;i<=pbch_polynomial_degree;i++) {
-    fscanf(pbch_file_fd,"%s",dummy);
+    ret = fscanf(pbch_file_fd,"%s",dummy);
+    if (ret < 0) {
+      printf("fscanf failed: %s\n", strerror(errno));
+      exit(EXIT_FAILURE);
+    }
     a[i] = strtod(dummy,NULL);
     printf("%f ",a[i]);
   }
diff --git a/openair2/LAYER2/MAC/rar_tools.c b/openair2/LAYER2/MAC/rar_tools.c
index 9e1d028fd076eb9db15074591de226d86b43c7eb..8696fcf5378516d0d6a0772595f9e15c990e4c11 100644
--- a/openair2/LAYER2/MAC/rar_tools.c
+++ b/openair2/LAYER2/MAC/rar_tools.c
@@ -43,6 +43,7 @@
 #include "UTIL/LOG/log.h"
 #include "OCG.h"
 #include "OCG_extern.h"
+#include "UTIL/OPT/opt.h"
 
 #define DEBUG_RAR
 
@@ -62,9 +63,9 @@ unsigned short fill_rar(u8 Mod_id,
   RA_HEADER_RAPID *rarh = (RA_HEADER_RAPID *)dlsch_buffer;
   //  RAR_PDU *rar = (RAR_PDU *)(dlsch_buffer+1);
   uint8_t *rar = (uint8_t *)(dlsch_buffer+1);
-  int i,ra_idx;
+  int i,ra_idx = -1;
   uint16_t rballoc;
-  uint8_t mcs,TPC,cqi_req,ULdelay,cqireq;
+  uint8_t mcs,TPC,ULdelay,cqireq;
 
   for (i=0;i<NB_RA_PROC_MAX;i++) {
     if (eNB_mac_inst[Mod_id].RA_template[i].generate_rar == 1) {
diff --git a/openair2/LAYER2/openair2_proc.c b/openair2/LAYER2/openair2_proc.c
index 5551cca555be7f49fa96523471c96699bc03ede2..aca519ed397a972f8f0fac0190f15b7013c19589 100644
--- a/openair2/LAYER2/openair2_proc.c
+++ b/openair2/LAYER2/openair2_proc.c
@@ -141,10 +141,10 @@ int dump_eNB_l2_stats(char *buffer, int length){
       }
     }
   }
-  len += sprintf(&buffer[len],"\0");
- 
-  return len;
+
+  return len + 1 /* SR: for trailing \0 */;
 }
+
 #ifdef PROC 
 #ifndef USER_MODE
 static int openair2_stats_read(char *buffer, char **my_buffer, off_t off, int length)
diff --git a/openair2/PHY_INTERFACE/defs.h b/openair2/PHY_INTERFACE/defs.h
index 9c9e28b5d0a06352f96eacbbb3b0a1e434f57ed3..b7501359b76b304db915df9623be81fc15c0b0dd 100755
--- a/openair2/PHY_INTERFACE/defs.h
+++ b/openair2/PHY_INTERFACE/defs.h
@@ -51,8 +51,8 @@
 #define DLSCH 1
 #define ULSCH 2
 
-
-
+#define mac_exit_wrapper(sTRING)	\
+	  mac_xface->macphy_exit(sTRING " in file " __FILE__ ", line ##__LINE__")
 
 /*! \brief MACPHY Interface */
 typedef struct
@@ -60,7 +60,7 @@ typedef struct
     /// Pointer function that initializes L2
     int (*macphy_init)(int eMBMS_active, u8 CBA_active,u8 HO_active);
 
-    /// Pointer function that stops the low-level scheduler due an exit condition        
+    /// Pointer function that stops the low-level scheduler due an exit condition
     void (*macphy_exit)(const char *);
 
     // eNB functions
@@ -71,7 +71,7 @@ typedef struct
     u16 (*fill_rar)(u8 Mod_id,u32 frame,u8 *dlsch_buffer,u16 N_RB_UL, u8 input_buffer_length);
 
     /// Terminate the RA procedure upon reception of l3msg on ulsch
-    void (*terminate_ra_proc)(u8 Mod_id,u32 frame,u16 UE_id, u8 *l3msg,u16 l3msg_len);
+    void (*terminate_ra_proc)(u8 Mod_id,u32 frame,u16 UE_id, u8 *l3msg, u16 l3msg_len);
 
     /// Initiate the RA procedure upon reception (hypothetical) of a valid preamble
     void (*initiate_ra_proc)(u8 Mod_id,u32 frame,u16 preamble,s16 timing_offset,u8 sect_id,u8 subframe,u8 f_id);
diff --git a/openair2/UTIL/OCG/OCG_parse_XML.c b/openair2/UTIL/OCG/OCG_parse_XML.c
index c88efd13bc3ad8ecfc3cefbcff89e36215c48b58..8bf01c0eb7fc14a3093ceff13c35561b94eeb9c6 100644
--- a/openair2/UTIL/OCG/OCG_parse_XML.c
+++ b/openair2/UTIL/OCG/OCG_parse_XML.c
@@ -910,11 +910,11 @@ void characters(void *user_data, const xmlChar *xmlch, int xmllen) { // called o
 					} else if (beam_width_dB_) {
 						oai_emulation.environment_system_config.antenna.eNB_antenna.beam_width_dB = atof(ch);
 					} else if (alpha_rad_1_) {
-					  		oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[1] = atof(ch);
+					  		oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[0] = atof(ch);
 					} else if (alpha_rad_2_) {
-					  		oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[2] = atof(ch);
+					  		oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[1] = atof(ch);
 					} else if (alpha_rad_3_) {
-					  		oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[3] = atof(ch);
+					  		oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[2] = atof(ch);
 					} else if (antenna_gain_dBi_) {
 						oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_gain_dBi = atof(ch);
 					} else if (tx_power_dBm_) {
@@ -922,11 +922,11 @@ void characters(void *user_data, const xmlChar *xmlch, int xmllen) { // called o
 					} else if (rx_noise_level_dB_) {
 						oai_emulation.environment_system_config.antenna.eNB_antenna.rx_noise_level_dB = atof(ch);
 					} else if (antenna_orientation_degree_1_) {
-					  		oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[1] = atof(ch);
+					  		oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[0] = atof(ch);
 					} else if (antenna_orientation_degree_2_) {
-					  		oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[2] = atof(ch);
+					  		oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[1] = atof(ch);
 					} else if (antenna_orientation_degree_3_) {
-					  		oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[3] = atof(ch);
+					  		oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[2] = atof(ch);
 					}
 				} else if (UE_antenna_) {
 					if (antenna_gain_dBi_) {
diff --git a/openair2/UTIL/OTG/otg_rx.c b/openair2/UTIL/OTG/otg_rx.c
index c3ede43a4bdc47b0e9cc3898ad2ca39c399cbd1f..8426e01594e924f80e7e67d27d7dea1e8808ab20 100644
--- a/openair2/UTIL/OTG/otg_rx.c
+++ b/openair2/UTIL/OTG/otg_rx.c
@@ -43,6 +43,7 @@
 #include "../UTIL/MATH/oml.h"
 #include <math.h>
 #include "otg_form.h"
+#include "otg_kpi.h"
 
 #ifdef ENABLE_DB_STATS
 #include <mysql.h>
diff --git a/targets/Makefile.common b/targets/Makefile.common
index 7e9833252fff26ded27a90a9736deab9ade70ab2..f4429fb68979616557607a5ed637ab4793b55679 100644
--- a/targets/Makefile.common
+++ b/targets/Makefile.common
@@ -18,7 +18,8 @@ COMMON_CFLAGS		= \
     -D'FIRMWARE_VERSION="$(SVN_REV) - $(DATE_REV)"' \
     -Wall                       \
     -fno-strict-aliasing        \
-    -O2
+    -O2                         \
+    -Werror=implicit-function-declaration
 
 ITTI_MESSAGES_H		= messages_xml.h
 ITTI_MESSAGES_XML	= messages.xml
diff --git a/targets/TEST/OAI/case02.py b/targets/TEST/OAI/case02.py
index 71adaf23d3299f9e3fb58c2bc0001c340f241640..df00cfb8d3c440be7caa8731aca3e657a6c32cea 100644
--- a/targets/TEST/OAI/case02.py
+++ b/targets/TEST/OAI/case02.py
@@ -73,7 +73,7 @@ def execute(oai, user, pw, logfile,logdir):
     try:
         test = '01'
         name = 'Run oai.rel8.err'
-        conf = '-a -A AWGN -n 100'
+        conf = '-a -A AWGN -n 100 -l7'
         trace = logdir + '/log_' + case + test + '_3.txt;'
         tee = ' 2>&1 | tee ' + trace
         diag = 'Error(s) found in the execution, check the execution logs'
@@ -90,7 +90,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-a -A AWGN -n' + str((i+1+j) * 40) + ' -u' + str(i+1) +' -b'+ str(j+1)
+                conf = '-a -A AWGN -l7 -n' + str((i+1+j) * 40) + ' -u' + str(i+1) +' -b'+ str(j+1)
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i),  (i+1) * 50)
@@ -106,16 +106,18 @@ def execute(oai, user, pw, logfile,logdir):
         oai.driver(oai,user,pw)
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-a -A AWGN -u' + str(i+1) +' -b'+ str(j+1)
+                conf = '-a -A AWGN -l7 -u' + str(i+1) +' -b'+ str(j+1)
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
+                trace_ping = logdir + '/log_ping_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
+                tee_ping = ' 2>&1 | tee ' + trace_ping
                 if user == 'root' :
-                    oai.send_nowait('./oaisim.rel8.nas ' + conf + ' > /dev/null &')
+                    oai.send_nowait('./oaisim.rel8.nas ' + conf + tee + ' &')
                 else :    
-                    oai.send_nowait('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas ' + conf + ' > /dev/null &')
+                    oai.send_nowait('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas ' + conf + tee + ' &')
                 time.sleep(2)
                 for k in range(NUM_TRIALS) :
-                    oai.send_expect('ping 10.0.'+str(j+1)+'.'+str(NUM_eNB+i+1) + ' -c ' +  str(random.randint(2, 10))+ ' -s ' + str(random.randint(128, 1500)) + tee, ' 0% packet loss', 300)
+                    oai.send_expect('ping 10.0.'+str(j+1)+'.'+str(NUM_eNB+i+1) + ' -c ' +  str(random.randint(2, 10))+ ' -s ' + str(random.randint(128, 1500)) + tee_ping, ' 0% packet loss', 300)
                 if user == 'root' :
                     oai.send('pkill oaisim;')
                     oai.send('pkill oaisim.rel8.nas;')
@@ -138,7 +140,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-A AWGN -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -s15 -x1'
+                conf = '-A AWGN -l7 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -s15 -x1'
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i),  (i+1) * 100)
@@ -153,7 +155,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'RRC procedure is not finished completely in FDD mode, check the execution logs and trace BCCH, CCCH, and DCCH channels'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-A AWGN -F -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -s15 -x1'
+                conf = '-A AWGN -l7 -F -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -s15 -x1'
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i),  (i+1) * 100)
@@ -171,7 +173,7 @@ def execute(oai, user, pw, logfile,logdir):
                 log_name = logdir + '/log_' + case + test + '_' + str(i) + str(j)
                 itti_name = log_name + '.log'
                 trace_name = log_name + '.txt'
-                conf = '-a -A AWGN -n' + str((i+1+j) * 40) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
+                conf = '-a -l7 -A AWGN -n' + str((i+1+j) * 40) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
                 tee = ' 2>&1 | tee -a ' + trace_name
                 command = './oaisim.rel8.itti ' + conf
                 oai.send('echo ' + command + ' > ' + trace_name + ';')
diff --git a/targets/TEST/OAI/case03.py b/targets/TEST/OAI/case03.py
index 7af3a23664b846207759ba0ea277ff95aebc2339..fe969dace8f06371e3da65b53a3b4b8f8ce726f8 100644
--- a/targets/TEST/OAI/case03.py
+++ b/targets/TEST/OAI/case03.py
@@ -53,7 +53,7 @@ def execute(oai, user, pw, logfile,logdir):
     try:
         test = '00'
         name = 'Run oai.rel10.sf'
-        conf = '-a -A AWGN -n 100'
+        conf = '-a -A AWGN -l7 -n 100'
         diag = 'OAI is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed'
         trace = logdir + '/log_' + case + test + '_1.txt'
         tee = ' 2>&1 | tee ' + trace
@@ -73,7 +73,7 @@ def execute(oai, user, pw, logfile,logdir):
     try:
         test = '01'
         name = 'Run oai.rel10.err'
-        conf = '-a -A AWGN -n 100'
+        conf = '-a -A AWGN -l7 -n 100'
         trace = logdir + '/log_' + case + test + '.txt'
         tee = ' 2>&1 | tee ' + trace
         diag = 'Error(s) found in the execution, check the execution logs'
@@ -90,7 +90,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-a -A AWGN -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
+                conf = '-a -l7 -A AWGN -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i),  (i+1) * 100)
@@ -105,7 +105,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-A AWGN -s 15 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
+                conf = '-A AWGN -l7 -s 15 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i),  (i+1) * 100)
@@ -120,7 +120,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'RRC procedure is not finished completely in FDD mode, check the execution logs and trace BCCH, CCCH, and DCCH channels'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-A AWGN -F -s 15 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
+                conf = '-A AWGN -l7 -F -s 15 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i),  (i+1) * 100)
@@ -135,7 +135,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-A AWGN -s 15 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
+                conf = '-A AWGN -l7 -s 15 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Found MBSFNAreaConfiguration from eNB ' + str(j),  (i+1) * 100)
@@ -150,7 +150,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'eMBMS multicast/broadcast data is not received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-A AWGN -s 15 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
+                conf = '-A AWGN -l7 -s 15 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received a multicast packet',  (i+1) * 100)
@@ -165,7 +165,7 @@ def execute(oai, user, pw, logfile,logdir):
         diag = 'eMBMS multicast/broadcast data is not received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs'
         for i in range(NUM_UE) :
             for j in range(NUM_eNB) :
-                conf = '-A AWGN -F -s 15 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
+                conf = '-A AWGN -l7 -F -s 15 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
                 trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
                 tee = ' 2>&1 | tee ' + trace
                 oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received a multicast packet',  (i+1) * 100)
@@ -195,7 +195,7 @@ def execute(oai, user, pw, logfile,logdir):
                 log_name = logdir + '/log_' + case + test + '_' + str(i) + str(j)
                 itti_name = log_name + '.log'
                 trace_name = log_name + '.txt'
-                conf = '-A AWGN -s 15 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
+                conf = '-A AWGN -l7 -s 15 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
                 tee = ' 2>&1 | tee -a ' + trace_name
                 command = './oaisim.rel10.itti ' + conf
                 oai.send('echo ' + command + ' > ' + trace_name + ';')