diff --git a/openair-cn/GTPV1-U/gtpv1u_eNB.c b/openair-cn/GTPV1-U/gtpv1u_eNB.c
index b9735f728f9c2ded2594c3190d5ee6e9e4a93b4f..9b68de71cf50fdd80f7cd05eb48ab927a99ff522 100644
--- a/openair-cn/GTPV1-U/gtpv1u_eNB.c
+++ b/openair-cn/GTPV1-U/gtpv1u_eNB.c
@@ -1082,14 +1082,14 @@ void *gtpv1u_eNB_task(void *args)
 
           if (rc != NW_GTPV1U_OK) {
             LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
-            MSC_LOG_EVENT(MSC_GTPU_ENB,"Failed send G-PDU ltid %u rtid %u size %u",
+            MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
             		enb_s1u_teid,sgw_s1u_teid,data_req_p->length);
           } else {
             rc = nwGtpv1uProcessUlpReq(gtpv1u_data_g.gtpv1u_stack, &stack_req);
 
             if (rc != NW_GTPV1U_OK) {
               LOG_E(GTPU, "nwGtpv1uProcessUlpReq failed: 0x%x\n", rc);
-              MSC_LOG_EVENT(MSC_GTPU_ENB,"Failed send G-PDU ltid %u rtid %u size %u",
+              MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
               		enb_s1u_teid,sgw_s1u_teid,data_req_p->length);
             } else {
             	  MSC_LOG_TX_MESSAGE(
diff --git a/openair-cn/MME_APP/mme_app_authentication.c b/openair-cn/MME_APP/mme_app_authentication.c
index 514db141f19b9bd6c0aa08b4a79e7edc54eff6da..d10e7d645b13c6b4178e6a1a6e40713b4c137cb5 100644
--- a/openair-cn/MME_APP/mme_app_authentication.c
+++ b/openair-cn/MME_APP/mme_app_authentication.c
@@ -170,8 +170,8 @@ int
 mme_app_handle_authentication_info_answer(
   const s6a_auth_info_ans_t * const s6a_auth_info_ans_pP)
 {
-  struct ue_context_s *ue_context;
-  uint64_t imsi;
+  struct ue_context_s *ue_context = NULL;
+  uint64_t             imsi       = 0;
 
   DevAssert(s6a_auth_info_ans_pP != NULL);
 
diff --git a/openair-cn/MME_APP/mme_app_context.c b/openair-cn/MME_APP/mme_app_context.c
index 43c6628fb4a4a945a062bba69186a9e6c057dabd..f7ca54f8da3993556355c08435eaf311f9dcf356 100644
--- a/openair-cn/MME_APP/mme_app_context.c
+++ b/openair-cn/MME_APP/mme_app_context.c
@@ -275,6 +275,29 @@ int mme_insert_ue_context(mme_ue_context_t *mme_ue_context, struct ue_context_s
   return 0;
 }
 
+
+
+//------------------------------------------------------------------------------
+void mme_remove_ue_context(mme_ue_context_t *mme_ue_context, struct ue_context_s *ue_context_p)
+//------------------------------------------------------------------------------
+{
+  struct ue_context_s *collision_p = NULL;
+
+  DevAssert(mme_ue_context != NULL);
+  DevAssert(ue_context_p != NULL);
+
+  /* Updating statistics */
+  mme_ue_context->nb_ue_managed++;
+  mme_ue_context->nb_ue_since_last_stat++;
+
+  collision_p = RB_REMOVE(ue_context_map, &mme_ue_context->ue_context_tree,
+                          ue_context_p);
+#warning "TODO mme_ue_context_free_content"
+  //TODO mme_ue_context_free_content(ue_context_p);
+  free(ue_context_p);
+  return 0;
+}
+
 //------------------------------------------------------------------------------
 void mme_app_dump_ue_contexts(mme_ue_context_t *mme_ue_context)
 //------------------------------------------------------------------------------
@@ -451,13 +474,12 @@ void mme_app_dump_ue_contexts(mme_ue_context_t *mme_ue_context)
 void mme_app_handle_s1ap_ue_context_release_req(const s1ap_ue_context_release_req_t const *s1ap_ue_context_release_req)
 //------------------------------------------------------------------------------
 {
-  struct ue_context_s                    *ue_context_p        = NULL;
+  struct ue_context_s           *ue_context_p = NULL;
+  MessageDef                    *message_p    = NULL;
 
   MME_APP_DEBUG("Received S1AP_UE_CONTEXT_RELEASE_REQ from S1AP\n");
-
   ue_context_p = mme_ue_context_exists_nas_ue_id(&mme_app_desc.mme_ue_contexts, s1ap_ue_context_release_req->mme_ue_s1ap_id);
 
-
   if (ue_context_p == NULL) {
 	MSC_LOG_EVENT(
    		MSC_MMEAPP_MME,
@@ -467,7 +489,29 @@ void mme_app_handle_s1ap_ue_context_release_req(const s1ap_ue_context_release_re
     		s1ap_ue_context_release_req->mme_ue_s1ap_id);
     return;
   }
-  mme_app_send_s11_release_access_bearers_req(ue_context_p);
+  if ((ue_context_p->mme_s11_teid == 0) &&
+	  (ue_context_p->sgw_s11_teid == 0)) {
+	  // no session was created, no need for releasing bearers in SGW
+	  message_p = itti_alloc_new_message(TASK_MME_APP, S1AP_UE_CONTEXT_RELEASE_COMMAND);
+
+	  AssertFatal(message_p != NULL, "itti_alloc_new_message Failed");
+	  memset((void*)&message_p->ittiMsg.s1ap_ue_context_release_command,
+	         0,
+	         sizeof(s1ap_ue_context_release_command_t));
+
+	  S1AP_UE_CONTEXT_RELEASE_COMMAND(message_p).mme_ue_s1ap_id       = ue_context_p->mme_ue_s1ap_id;
+	  MSC_LOG_TX_MESSAGE(
+	  		MSC_MMEAPP_MME,
+	  		MSC_S1AP_MME,
+	  		NULL,0,
+	  		"0 S1AP_UE_CONTEXT_RELEASE_COMMAND mme_ue_s1ap_id %06"PRIX32" ",
+	  		S1AP_UE_CONTEXT_RELEASE_COMMAND(message_p).mme_ue_s1ap_id);
+
+
+	  itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
+  } else {
+    mme_app_send_s11_release_access_bearers_req(ue_context_p);
+  }
 }
 
 
@@ -506,4 +550,6 @@ void mme_app_handle_s1ap_ue_context_release_complete(const s1ap_ue_context_relea
   		"0 S1AP_DEREGISTER_UE_REQ");
 
   itti_send_msg_to_task(TASK_NAS_MME, INSTANCE_DEFAULT, message_p);
+
+  mme_remove_ue_context(&mme_app_desc.mme_ue_contexts, ue_context_p);
 }
diff --git a/openair-cn/MME_APP/mme_app_ue_context.h b/openair-cn/MME_APP/mme_app_ue_context.h
index 5c876ed2784175e4e02b8e857b87e64e21b67323..d87f0fa4c0f90cf35e480e63e1d32f1c41c39852 100644
--- a/openair-cn/MME_APP/mme_app_ue_context.h
+++ b/openair-cn/MME_APP/mme_app_ue_context.h
@@ -241,6 +241,13 @@ ue_context_t *mme_ue_context_exists_guti(mme_ue_context_t *mme_ue_context,
 int mme_insert_ue_context(mme_ue_context_t *mme_ue_context,
                           struct ue_context_s *ue_context_p);
 
+/** \brief Remove a UE context of the tree of known UEs.
+ * \param ue_context_p The UE context to remove
+ **/
+void mme_remove_ue_context(mme_ue_context_t *mme_ue_context,
+		                   struct ue_context_s *ue_context_p);
+
+
 /** \brief Allocate memory for a new UE context
  * @returns Pointer to the new structure, NULL if allocation failed
  **/
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/as_message.c b/openair-cn/NAS/COMMON/API/NETWORK/as_message.c
index b0f07f937d77d77da81d01795554757af57dd6b5..5b29016f3abc6a7f0bec25fb02945c7b6c69f7c1 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/as_message.c
+++ b/openair-cn/NAS/COMMON/API/NETWORK/as_message.c
@@ -91,8 +91,8 @@ int as_message_decode(const char* buffer, as_message_t* msg, int length)
   Byte_t** data = NULL;
 
   /* Get the message type */
-  msg->msgID = *(UInt16_t*)(buffer);
-  bytes = sizeof(UInt16_t);
+  msg->msgID = *(uint16_t*)(buffer);
+  bytes = sizeof(uint16_t);
 
   switch (msg->msgID) {
   case AS_NAS_ESTABLISH_REQ:
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/l2_message.h b/openair-cn/NAS/COMMON/API/NETWORK/l2_message.h
index ced2b54bc378624da2f719fa203c6ee02dbb458e..d24d78b503b10edc4c599c6f528501ff85b31de4 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/l2_message.h
+++ b/openair-cn/NAS/COMMON/API/NETWORK/l2_message.h
@@ -204,13 +204,13 @@ typedef struct {} paging_ind_t;
 
 /* Structure of the SAE Temporary Mobile Subscriber Identity */
 typedef struct {
-  UInt8_t MMEcode;  /* MME code that allocated the GUTI   */
-  UInt32_t m_tmsi;  /* M-Temporary Mobile Subscriber Identity */
+  uint8_t MMEcode;  /* MME code that allocated the GUTI   */
+  uint32_t m_tmsi;  /* M-Temporary Mobile Subscriber Identity */
 } as_stmsi_t;
 
 /* Structure of the dedicated NAS information */
 typedef struct {
-  UInt32_t length;  /* Length of the NAS information data   */
+  uint32_t length;  /* Length of the NAS information data   */
   Byte_t* data; /* Dedicated NAS information data container */
 } as_nas_info_t;
 
@@ -220,8 +220,8 @@ typedef struct {
  * to transfer initial NAS message to the network while UE is in IDLE mode.
  */
 typedef struct {
-  UInt8_t cause;    /* Connection establishment cause     */
-  UInt8_t type;   /* Associated call type         */
+  uint8_t cause;    /* Connection establishment cause     */
+  uint8_t type;   /* Associated call type         */
   plmn_t plmnID;    /* Identifier of the selected PLMN      */
   as_stmsi_t s_tmsi;    /* SAE Temporary Mobile Subscriber Identity */
   as_nas_info_t initialNasMsg;/* Initial NAS message to transfer      */
@@ -274,7 +274,7 @@ typedef as_nas_info_t ul_info_transfer_t;
  * --------------------------------------------------------------------------
  */
 typedef struct {
-  UInt16_t msgID;
+  uint16_t msgID;
   union {
     cell_info_req_t cell_info_req;
     cell_info_rsp_t cell_info_rsp;
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/nas_message.c b/openair-cn/NAS/COMMON/API/NETWORK/nas_message.c
index 9896ebfde06cca3539ac47789c26e69b6e5a679d..611ad6fc3acdbfdb6070d626bcbfe9c9cbc9afb8 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/nas_message.c
+++ b/openair-cn/NAS/COMMON/API/NETWORK/nas_message.c
@@ -97,9 +97,9 @@ static int _nas_message_protected_encode(
 static int _nas_message_decrypt(
   char* dest,
   const char* src,
-  UInt8_t type,
-  UInt32_t code,
-  UInt8_t seq,
+  uint8_t type,
+  uint32_t code,
+  uint8_t seq,
   int length,
   const emm_security_context_t * const emm_security_context);
 
@@ -108,15 +108,15 @@ static int
 _nas_message_encrypt(
   char       *dest,
   const char *src,
-  UInt8_t     type,
-  UInt32_t    code,
-  UInt8_t     seq,
+  uint8_t     type,
+  uint32_t    code,
+  uint8_t     seq,
   int         const direction,
   int         length,
   const emm_security_context_t * const emm_security_context);
 
 /* Functions used for integrity protection of layer 3 NAS messages */
-static UInt32_t _nas_message_get_mac(
+static uint32_t _nas_message_get_mac(
   const char                   * const buffer,
   int                            const length,
   int                            const direction,
@@ -180,9 +180,9 @@ nas_message_encrypt(
     /* Integrity protected the NAS message */
     if (bytes > 0) {
       /* Compute offset of the sequence number field */
-      int offset = size - sizeof(UInt8_t);
+      int offset = size - sizeof(uint8_t);
       /* Compute the NAS message authentication code */
-      UInt32_t mac = _nas_message_get_mac(
+      uint32_t mac = _nas_message_get_mac(
                        outbuf + offset,
                        bytes + size - offset,
 #ifdef NAS_MME
@@ -192,7 +192,7 @@ nas_message_encrypt(
 #endif
                        emm_security_context);
       /* Set the message authentication code of the NAS message */
-      *(UInt32_t*)(outbuf + sizeof(UInt8_t)) = htonl(mac);
+      *(uint32_t*)(outbuf + sizeof(uint8_t)) = htonl(mac);
     }
   } else {
     /* The input buffer does not need to be encrypted */
@@ -301,9 +301,9 @@ int nas_message_decrypt(
     }
 
     /* Compute offset of the sequence number field */
-    int offset = size - sizeof(UInt8_t);
+    int offset = size - sizeof(uint8_t);
     /* Compute the NAS message authentication code */
-    UInt32_t mac = _nas_message_get_mac(
+    uint32_t mac = _nas_message_get_mac(
                      inbuf + offset,
                      length - offset,
 #ifdef NAS_MME
@@ -410,9 +410,9 @@ int nas_message_decode(
     }
 
     /* Compute offset of the sequence number field */
-    int offset = size - sizeof(UInt8_t);
+    int offset = size - sizeof(uint8_t);
     /* Compute the NAS message authentication code */
-    UInt32_t mac = _nas_message_get_mac(
+    uint32_t mac = _nas_message_get_mac(
                      buffer + offset,
                      length - offset,
 #ifdef NAS_MME
@@ -524,13 +524,13 @@ int nas_message_encode(
     /* Integrity protect the NAS message */
     if (bytes > 0) {
       /* Compute offset of the sequence number field */
-      int offset = size - sizeof(UInt8_t);
+      int offset = size - sizeof(uint8_t);
       /* Compute the NAS message authentication code */
       LOG_TRACE(DEBUG,
                 "offset %d = %d - %d, hdr encode = %d, length = %d bytes = %d",
-                offset, size, sizeof(UInt8_t),
+                offset, size, sizeof(uint8_t),
                 size, length, bytes);
-      UInt32_t mac = _nas_message_get_mac(
+      uint32_t mac = _nas_message_get_mac(
                        buffer + offset,
                        bytes + size - offset,
 #ifdef NAS_MME
@@ -540,7 +540,7 @@ int nas_message_encode(
 #endif
                        emm_security_context);
       /* Set the message authentication code of the NAS message */
-      *(UInt32_t*)(buffer + sizeof(UInt8_t)) = htonl(mac);
+      *(uint32_t*)(buffer + sizeof(uint8_t)) = htonl(mac);
 
       if (emm_security_context) {
 #ifdef NAS_MME
@@ -644,7 +644,7 @@ _nas_message_header_decode(
 
   /* Decode the first octet of the header (security header type or EPS bearer
    * identity, and protocol discriminator) */
-  DECODE_U8(buffer, *(UInt8_t*)(header), size);
+  DECODE_U8(buffer, *(uint8_t*)(header), size);
 
   if (header->protocol_discriminator == EPS_MOBILITY_MANAGEMENT_MESSAGE) {
     if (header->security_header_type != SECURITY_HEADER_TYPE_NOT_PROTECTED) {
@@ -798,7 +798,7 @@ static int _nas_message_header_encode(
 
   /* Encode the first octet of the header (security header type or EPS bearer
    * identity, and protocol discriminator) */
-  ENCODE_U8(buffer, *(UInt8_t*)(header), size);
+  ENCODE_U8(buffer, *(uint8_t*)(header), size);
 
   if (header->protocol_discriminator == EPS_MOBILITY_MANAGEMENT_MESSAGE) {
     if (header->security_header_type != SECURITY_HEADER_TYPE_NOT_PROTECTED) {
@@ -956,9 +956,9 @@ static int _nas_message_protected_encode(
 static int _nas_message_decrypt(
   char               *dest,
   const char         *src,
-  UInt8_t             security_header_type,
-  UInt32_t            code,
-  UInt8_t             seq,
+  uint8_t             security_header_type,
+  uint32_t            code,
+  uint8_t             seq,
   int                 length,
   const emm_security_context_t * const emm_security_context)
 {
@@ -986,7 +986,7 @@ static int _nas_message_decrypt(
               "No decryption of message length %u according to security header type 0x%02x",
               length, security_header_type);
     memcpy(dest, src, length);
-    DECODE_U8(dest, *(UInt8_t*)(&header), size);
+    DECODE_U8(dest, *(uint8_t*)(&header), size);
     LOG_FUNC_RETURN (header.protocol_discriminator);
     //LOG_FUNC_RETURN (length);
     break;
@@ -1022,7 +1022,7 @@ static int _nas_message_decrypt(
       nas_stream_encrypt_eea1(&stream_cipher, dest);
       /* Decode the first octet (security header type or EPS bearer identity,
        * and protocol discriminator) */
-      DECODE_U8(dest, *(UInt8_t*)(&header), size);
+      DECODE_U8(dest, *(uint8_t*)(&header), size);
 
       LOG_FUNC_RETURN (header.protocol_discriminator);
 
@@ -1056,7 +1056,7 @@ static int _nas_message_decrypt(
       nas_stream_encrypt_eea1(&stream_cipher, dest);
       /* Decode the first octet (security header type or EPS bearer identity,
        * and protocol discriminator) */
-      DECODE_U8(dest, *(UInt8_t*)(&header), size);
+      DECODE_U8(dest, *(uint8_t*)(&header), size);
 
       LOG_FUNC_RETURN (header.protocol_discriminator);
     }
@@ -1071,7 +1071,7 @@ static int _nas_message_decrypt(
       memcpy(dest, src, length);
       /* Decode the first octet (security header type or EPS bearer identity,
        * and protocol discriminator) */
-      DECODE_U8(dest, *(UInt8_t*)(&header), size);
+      DECODE_U8(dest, *(uint8_t*)(&header), size);
 
       LOG_FUNC_RETURN (header.protocol_discriminator);
 
@@ -1084,7 +1084,7 @@ static int _nas_message_decrypt(
       memcpy(dest, src, length);
       /* Decode the first octet (security header type or EPS bearer identity,
        * and protocol discriminator) */
-      DECODE_U8(dest, *(UInt8_t*)(&header), size);
+      DECODE_U8(dest, *(uint8_t*)(&header), size);
 
       LOG_FUNC_RETURN (header.protocol_discriminator);
       break;
@@ -1124,9 +1124,9 @@ static int _nas_message_decrypt(
 static int _nas_message_encrypt(
   char        *dest,
   const char  *src,
-  UInt8_t     security_header_type,
-  UInt32_t    code,
-  UInt8_t     seq,
+  uint8_t     security_header_type,
+  uint32_t    code,
+  uint8_t     seq,
   int         const direction,
   int         length,
   const emm_security_context_t * const emm_security_context)
@@ -1274,7 +1274,7 @@ static int _nas_message_encrypt(
  **    Others:  None                                                   **
  **                                                                        **
  ***************************************************************************/
-static UInt32_t _nas_message_get_mac(
+static uint32_t _nas_message_get_mac(
   const char                   * const buffer,
   int                            const length,
   int                            const direction,
@@ -1296,10 +1296,10 @@ static UInt32_t _nas_message_get_mac(
   switch (emm_security_context->selected_algorithms.integrity) {
 
   case NAS_SECURITY_ALGORITHMS_EIA1: {
-    UInt8_t             mac[4];
+    uint8_t             mac[4];
     nas_stream_cipher_t stream_cipher;
-    UInt32_t            count;
-    UInt32_t           *mac32;
+    uint32_t            count;
+    uint32_t           *mac32;
 
     int i,bytes = 0;
 
@@ -1354,20 +1354,20 @@ static UInt32_t _nas_message_get_mac(
     LOG_TRACE(DEBUG,
               "NAS_SECURITY_ALGORITHMS_EIA1 returned MAC %x.%x.%x.%x(%u) for length %d direction %d, count %d",
               mac[0], mac[1], mac[2],mac[3],
-              *((UInt32_t*)&mac),
+              *((uint32_t*)&mac),
               length,
               direction,
               count);
-    mac32 = (UInt32_t*)&mac;
+    mac32 = (uint32_t*)&mac;
     LOG_FUNC_RETURN (ntohl(*mac32));
   }
   break;
 
   case NAS_SECURITY_ALGORITHMS_EIA2: {
-    UInt8_t             mac[4];
+    uint8_t             mac[4];
     nas_stream_cipher_t stream_cipher;
-    UInt32_t            count;
-    UInt32_t           *mac32;
+    uint32_t            count;
+    uint32_t           *mac32;
 
     if (direction == SECU_DIRECTION_UPLINK) {
       count = 0x00000000 ||
@@ -1400,11 +1400,11 @@ static UInt32_t _nas_message_get_mac(
     LOG_TRACE(DEBUG,
               "NAS_SECURITY_ALGORITHMS_EIA2 returned MAC %x.%x.%x.%x(%u) for length %d direction %d, count %d",
               mac[0], mac[1], mac[2],mac[3],
-              *((UInt32_t*)&mac),
+              *((uint32_t*)&mac),
               length,
               direction,
               count);
-    mac32 = (UInt32_t*)&mac;
+    mac32 = (uint32_t*)&mac;
     LOG_FUNC_RETURN (ntohl(*mac32));
   }
   break;
diff --git a/openair-cn/NAS/COMMON/API/NETWORK/nas_message.h b/openair-cn/NAS/COMMON/API/NETWORK/nas_message.h
index d7d09f11456683b1d023adf565956b506976f374..f4187b73967f0afa269207fd0b7abcdacaff4199 100644
--- a/openair-cn/NAS/COMMON/API/NETWORK/nas_message.h
+++ b/openair-cn/NAS/COMMON/API/NETWORK/nas_message.h
@@ -68,14 +68,14 @@ Description Defines the layer 3 messages supported by the NAS sublayer
 typedef struct {
 #ifdef __LITTLE_ENDIAN_BITFIELD
   eps_protocol_discriminator_t    protocol_discriminator:4;
-  UInt8_t                         security_header_type:4;
+  uint8_t                         security_header_type:4;
 #endif
 #ifdef __BIG_ENDIAN_BITFIELD
-  UInt8_t security_header_type:4;
-  UInt8_t protocol_discriminator:4;
+  uint8_t security_header_type:4;
+  uint8_t protocol_discriminator:4;
 #endif
-  UInt32_t message_authentication_code;
-  UInt8_t sequence_number;
+  uint32_t message_authentication_code;
+  uint8_t sequence_number;
 } nas_message_security_header_t;
 
 /* Structure of plain NAS message */
diff --git a/openair-cn/NAS/MME/API/MME/mme_api.c b/openair-cn/NAS/MME/API/MME/mme_api.c
index 78bf8e4cd506f78832a920a1a01cb878c4d75540..91b688558cd525f0d203a743d0457bb343af1227 100644
--- a/openair-cn/NAS/MME/API/MME/mme_api.c
+++ b/openair-cn/NAS/MME/API/MME/mme_api.c
@@ -98,19 +98,19 @@ static const plmn_t mme_api_plmn = {0, 2, 0xf, 8, 0, 1};    // 20810
 
 
 /* Authentication parameter RAND */
-static const UInt8_t _mme_api_rand[AUTH_RAND_SIZE] = {
+static const uint8_t _mme_api_rand[AUTH_RAND_SIZE] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   0x01, 0x02, 0x03, 0x04
 };
 
 /* Authentication parameter AUTN */
-static const UInt8_t _mme_api_autn[AUTH_AUTN_SIZE] = {
+static const uint8_t _mme_api_autn[AUTH_AUTN_SIZE] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, 0x04, 0x03, 0x02, 0x00,
   0x00, 0x00, 0x00, 0x00
 };
 
 /* Authentication response parameter */
-static const UInt8_t _mme_api_xres[AUTH_XRES_SIZE] = {
+static const uint8_t _mme_api_xres[AUTH_XRES_SIZE] = {
   0x67, 0x70, 0x3a, 0x31, 0xf2, 0x2a, 0x2d, 0x51, 0x00, 0x00, 0x00, 0x00,
   0x00, 0x00, 0x00, 0x00
 };
diff --git a/openair-cn/NAS/MME/API/MME/mme_api.h b/openair-cn/NAS/MME/API/MME/mme_api.h
index 4cf22d9d74e9c912931883bc6f22322d89b81470..a8f83e12374af194c7c9dcc6380f6d14389b2cb6 100644
--- a/openair-cn/NAS/MME/API/MME/mme_api.h
+++ b/openair-cn/NAS/MME/API/MME/mme_api.h
@@ -58,7 +58,7 @@ Description Implements the API used by the NAS layer running in the MME
 /****************************************************************************/
 
 /* Maximum number of UEs the MME may simultaneously support */
-#define MME_API_NB_UE_MAX       1
+#define MME_API_NB_UE_MAX       256
 
 
 /* Features supported by the MME */
diff --git a/openair-cn/NAS/MME/EMM/Attach.c b/openair-cn/NAS/MME/EMM/Attach.c
index ab1ee269e35c20a712dfb92c0709ec9c9e34ffc6..ec7a873cd97039bd1817c1b944a2050153943aeb 100644
--- a/openair-cn/NAS/MME/EMM/Attach.c
+++ b/openair-cn/NAS/MME/EMM/Attach.c
@@ -207,7 +207,7 @@ int emm_proc_attach_request(
   int rc;
   emm_data_context_t ue_ctx;
 
-  LOG_TRACE(INFO, "EMM-PROC  - EPS attach type = %s (%d) requested (ueid=0x%08x)",
+  LOG_TRACE(INFO, "EMM-PROC  - EPS attach type = %s (%d) requested (ueid="NAS_UE_ID_FMT")",
             _emm_attach_type_str[type], type, ueid);
   LOG_TRACE(INFO, "EMM-PROC  - umts_present = %u umts_present = %u",
             umts_present, gprs_present);
@@ -314,6 +314,15 @@ int emm_proc_attach_request(
     (*emm_ctx)->emm_cause = EMM_CAUSE_SUCCESS;
     (*emm_ctx)->_emm_fsm_status = EMM_INVALID;
     (*emm_ctx)->ueid = ueid;
+    /*
+     * Initialize EMM timers
+     */
+    (*emm_ctx)->T3450.id = NAS_TIMER_INACTIVE_ID;
+    (*emm_ctx)->T3450.sec = T3450_DEFAULT_VALUE;
+    (*emm_ctx)->T3460.id = NAS_TIMER_INACTIVE_ID;
+    (*emm_ctx)->T3460.sec = T3460_DEFAULT_VALUE;
+    (*emm_ctx)->T3470.id = NAS_TIMER_INACTIVE_ID;
+    (*emm_ctx)->T3470.sec = T3470_DEFAULT_VALUE;
 
     emm_fsm_set_status(ueid, *emm_ctx, EMM_DEREGISTERED);
 #if defined(NAS_BUILT_IN_EPC)
@@ -324,7 +333,7 @@ int emm_proc_attach_request(
 
     if (tai) {
       LOG_TRACE(WARNING,
-                "EMM-PROC  - Set tac %u in context %u ",
+                "EMM-PROC  - Set tac %u in context",
                 tai->tac);
       (*emm_ctx)->tac = tai->tac;
     } else {
@@ -433,11 +442,7 @@ int emm_proc_attach_complete(unsigned int ueid, const OctetString *esm_msg_pP)
 
   LOG_FUNC_IN;
 
-  LOG_TRACE(INFO, "EMM-PROC  - EPS attach complete (ueid=%u)", ueid);
-
-  /* Stop timer T3450 */
-  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", T3450.id);
-  T3450.id = nas_timer_stop(T3450.id);
+  LOG_TRACE(INFO, "EMM-PROC  - EPS attach complete (ueid="NAS_UE_ID_FMT")", ueid);
 
   /* Release retransmission timer parameters */
   attach_data_t *data = (attach_data_t *)(emm_proc_common_get_args(ueid));
@@ -446,28 +451,27 @@ int emm_proc_attach_complete(unsigned int ueid, const OctetString *esm_msg_pP)
     if (data->esm_msg.length > 0) {
       free(data->esm_msg.value);
     }
-
     free(data);
   }
 
   /* Get the UE context */
-
 #if defined(NAS_BUILT_IN_EPC)
-
   if (ueid > 0) {
     emm_ctx = emm_data_context_get(&_emm_data, ueid);
   }
-
 #else
-
   if (ueid < EMM_DATA_NB_UE_MAX) {
     emm_ctx = _emm_data.ctx[ueid];
   }
-
 #endif
 
   if (emm_ctx) {
-    /* Delete the old GUTI and consider the GUTI sent in the Attach
+	/* Stop timer T3450 */
+	LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", emm_ctx->T3450.id);
+	emm_ctx->T3450.id = nas_timer_stop(emm_ctx->T3450.id);
+	MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 stopped UE "NAS_UE_ID_FMT" ", ueid);
+
+	/* Delete the old GUTI and consider the GUTI sent in the Attach
      * Accept message as valid */
     emm_ctx->guti_is_new = FALSE;
     emm_ctx->old_guti = NULL;
@@ -612,7 +616,7 @@ static int _emm_attach_release(void *args)
   emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
 
   if (emm_ctx) {
-    LOG_TRACE(WARNING, "EMM-PROC  - Release UE context data (ueid=%u)",
+    LOG_TRACE(WARNING, "EMM-PROC  - Release UE context data (ueid="NAS_UE_ID_FMT")",
               emm_ctx->ueid);
 
     unsigned int ueid = emm_ctx->ueid;
@@ -663,6 +667,25 @@ static int _emm_attach_release(void *args)
       emm_ctx->security = NULL;
     }
 
+    /* Stop timer T3450 */
+    if (emm_ctx->T3450.id != NAS_TIMER_INACTIVE_ID) {
+      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", emm_ctx->T3450.id);
+      emm_ctx->T3450.id = nas_timer_stop(emm_ctx->T3450.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
+    }
+    /* Stop timer T3460 */
+    if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
+      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
+      emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
+    }
+    /* Stop timer T3470 */
+    if (emm_ctx->T3470.id != NAS_TIMER_INACTIVE_ID) {
+      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", emm_ctx->T3460.id);
+      emm_ctx->T3470.id = nas_timer_stop(emm_ctx->T3470.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
+    }
+
     /* Release the EMM context */
 #if defined(NAS_BUILT_IN_EPC)
     emm_data_context_remove(&_emm_data, emm_ctx);
@@ -713,7 +736,7 @@ static int _emm_attach_reject(void *args)
   if (emm_ctx) {
     emm_sap_t emm_sap;
     LOG_TRACE(WARNING, "EMM-PROC  - EMM attach procedure not accepted "
-              "by the network (ueid=%08x, cause=%d)",
+              "by the network (ueid="NAS_UE_ID_FMT", cause=%d)",
               emm_ctx->ueid, emm_ctx->emm_cause);
     /*
      * Notify EMM-AS SAP that Attach Reject message has to be sent
@@ -783,13 +806,20 @@ static int _emm_attach_abort(void *args)
     unsigned int ueid = data->ueid;
     esm_sap_t esm_sap;
 
-    LOG_TRACE(WARNING, "EMM-PROC  - Abort the attach procedure (ueid=%u)",
+    LOG_TRACE(WARNING, "EMM-PROC  - Abort the attach procedure (ueid="NAS_UE_ID_FMT")",
               ueid);
-
-    /* Stop timer T3450 */
-    if (T3450.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", T3450.id);
-      T3450.id = nas_timer_stop(T3450.id);
+#if defined(NAS_BUILT_IN_EPC)
+    ctx = emm_data_context_get(&_emm_data, ueid);
+#else
+    ctx = _emm_data.ctx[ueid];
+#endif
+    if (ctx) {
+      /* Stop timer T3450 */
+      if (ctx->T3450.id != NAS_TIMER_INACTIVE_ID) {
+        LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", ctx->T3450.id);
+        ctx->T3450.id = nas_timer_stop(ctx->T3450.id);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 stopped UE "NAS_UE_ID_FMT" ", data->ueid);
+      }
     }
 
     /* Release retransmission timer parameters */
@@ -799,11 +829,7 @@ static int _emm_attach_abort(void *args)
 
     free(data);
 
-#if defined(NAS_BUILT_IN_EPC)
-    ctx = emm_data_context_get(&_emm_data, ueid);
-#else
-    ctx = _emm_data.ctx[ueid];
-#endif
+
 
     /*
      * Notify ESM that the network locally refused PDN connectivity
@@ -865,7 +891,7 @@ static int _emm_attach_identify(void *args)
 
   LOG_FUNC_IN;
 
-  LOG_TRACE(INFO, "EMM-PROC  - Identify incoming UE (ueid=0x%08x) using %s",
+  LOG_TRACE(INFO, "EMM-PROC  - Identify incoming UE (ueid="NAS_UE_ID_FMT") using %s",
             emm_ctx->ueid, (emm_ctx->imsi)? "IMSI" : (emm_ctx->guti)? "GUTI" :
             (emm_ctx->imei)? "IMEI" : "none");
 
@@ -1055,7 +1081,7 @@ static int _emm_attach_security(void *args)
   int rc;
   emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
 
-  LOG_TRACE(INFO, "EMM-PROC  - Setup NAS security (ueid=%u)", emm_ctx->ueid);
+  LOG_TRACE(INFO, "EMM-PROC  - Setup NAS security (ueid="NAS_UE_ID_FMT")", emm_ctx->ueid);
 
   /* Create new NAS security context */
   if (emm_ctx->security == NULL) {
@@ -1131,7 +1157,7 @@ static int _emm_attach(void *args)
 
   emm_data_context_t *emm_ctx = (emm_data_context_t *)(args);
 
-  LOG_TRACE(INFO, "EMM-PROC  - Attach UE (ueid=%u)", emm_ctx->ueid);
+  LOG_TRACE(INFO, "EMM-PROC  - Attach UE (ueid="NAS_UE_ID_FMT")", emm_ctx->ueid);
 
   /* 3GPP TS 24.401, Figure 5.3.2.1-1, point 5a
    * At this point, all NAS messages shall be protected by the NAS security
@@ -1330,16 +1356,18 @@ static int _emm_attach_accept(emm_data_context_t *emm_ctx, attach_data_t *data)
     rc = emm_sap_send(&emm_sap);
 
     if (rc != RETURNerror) {
-      if (T3450.id != NAS_TIMER_INACTIVE_ID) {
+      if (emm_ctx->T3450.id != NAS_TIMER_INACTIVE_ID) {
         /* Re-start T3450 timer */
-        T3450.id = nas_timer_restart(T3450.id);
+    	emm_ctx->T3450.id = nas_timer_restart(emm_ctx->T3450.id);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 restarted UE "NAS_UE_ID_FMT"", data->ueid);
       } else {
         /* Start T3450 timer */
-        T3450.id = nas_timer_start(T3450.sec, _emm_attach_t3450_handler, data);
+    	emm_ctx->T3450.id = nas_timer_start(emm_ctx->T3450.sec, _emm_attach_t3450_handler, data);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 started UE "NAS_UE_ID_FMT" ", data->ueid);
       }
 
       LOG_TRACE(INFO,"EMM-PROC  - Timer T3450 (%d) expires in %ld seconds",
-              T3450.id, T3450.sec);
+    		  emm_ctx->T3450.id, emm_ctx->T3450.sec);
     }
   } else {
     LOG_TRACE(WARNING,"EMM-PROC  - emm_ctx NULL");
diff --git a/openair-cn/NAS/MME/EMM/Authentication.c b/openair-cn/NAS/MME/EMM/Authentication.c
index 87de2ae416b11b13b8e9dd72f51b288c5c885162..19eb5c13a8a9274b908ebc7e9bb095447333b5e2 100644
--- a/openair-cn/NAS/MME/EMM/Authentication.c
+++ b/openair-cn/NAS/MME/EMM/Authentication.c
@@ -235,7 +235,7 @@ int emm_proc_authentication(void *ctx, unsigned int ueid, int ksi,
     		MSC_NAS_EMM_MME,
     	  	MSC_NAS_EMM_MME,
     	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_REQ ue id %06x (authentication)", ueid);
+    	  	"0 EMMREG_COMMON_PROC_REQ ue id "NAS_UE_ID_FMT" (authentication)", ueid);
 
       emm_sap_t emm_sap;
       emm_sap.primitive = EMMREG_COMMON_PROC_REQ;
@@ -279,12 +279,9 @@ int emm_proc_authentication_complete(unsigned int ueid, int emm_cause,
 
   LOG_FUNC_IN;
 
-  LOG_TRACE(INFO, "EMM-PROC  - Authentication complete (ueid=%u, cause=%d)",
+  LOG_TRACE(INFO, "EMM-PROC  - Authentication complete (ueid="NAS_UE_ID_FMT", cause=%d)",
             ueid, emm_cause);
 
-  /* Stop timer T3460 */
-  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", T3460.id);
-  T3460.id = nas_timer_stop(T3460.id);
 
   /* Release retransmission timer paramaters */
   authentication_data_t *data =
@@ -304,21 +301,22 @@ int emm_proc_authentication_complete(unsigned int ueid, int emm_cause,
 
   /* Get the UE context */
   emm_data_context_t *emm_ctx = NULL;
-
 #if defined(NAS_BUILT_IN_EPC)
-
   if (ueid > 0) {
     emm_ctx = emm_data_context_get(&_emm_data, ueid);
   }
-
 #else
-
   if (ueid < EMM_DATA_NB_UE_MAX) {
     emm_ctx = _emm_data.ctx[ueid];
   }
-
 #endif
 
+  if (emm_ctx) {
+	/* Stop timer T3460 */
+	LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
+	emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
+	MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", data->ueid);
+  }
   if (emm_cause == EMM_CAUSE_SUCCESS) {
     /* Check the received RES parameter */
     if ( (emm_ctx == NULL) ||
@@ -342,7 +340,7 @@ int emm_proc_authentication_complete(unsigned int ueid, int emm_cause,
        */
       MSC_LOG_EVENT(
       		MSC_NAS_EMM_MME,
-      	  	"SQN SYNCH_FAILURE ue id %06x", ueid);
+      	  	"0 SQN SYNCH_FAILURE ue id "NAS_UE_ID_FMT" ", ueid);
 
       LOG_TRACE(DEBUG, "EMM-PROC  - USIM has detected a mismatch in SQN Ask for a new vector");
       nas_itti_auth_info_req(ueid, emm_ctx->imsi, 0, res->value);
@@ -365,7 +363,7 @@ int emm_proc_authentication_complete(unsigned int ueid, int emm_cause,
     		MSC_NAS_EMM_MME,
     	  	MSC_NAS_EMM_MME,
     	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_REJ ue id %06x", ueid);
+    	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" ", ueid);
 
 
       emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
@@ -381,7 +379,7 @@ int emm_proc_authentication_complete(unsigned int ueid, int emm_cause,
     		MSC_NAS_EMM_MME,
     	  	MSC_NAS_EMM_MME,
     	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_CNF ue id %06x", ueid);
+    	  	"0 EMMREG_COMMON_PROC_CNF ue id "NAS_UE_ID_FMT" ", ueid);
 
     LOG_TRACE(DEBUG, "EMM-PROC  - Notify EMM that the authentication procedure successfully completed");
     emm_sap.primitive = EMMREG_COMMON_PROC_CNF;
@@ -520,22 +518,26 @@ int _authentication_request(authentication_data_t *data)
 		  MSC_NAS_EMM_MME,
 		  MSC_NAS_EMM_MME,
 		  NULL,0,
-		  "0 EMMAS_SECURITY_REQ ue id %06x", data->ueid);
+		  "0 EMMAS_SECURITY_REQ ue id "NAS_UE_ID_FMT" ", data->ueid);
 
   rc = emm_sap_send(&emm_sap);
 
   if (rc != RETURNerror) {
-    if (T3460.id != NAS_TIMER_INACTIVE_ID) {
-      /* Re-start T3460 timer */
-      T3460.id = nas_timer_restart(T3460.id);
-    } else {
-      /* Start T3460 timer */
-      T3460.id = nas_timer_start(T3460.sec, _authentication_t3460_handler,
+	if (emm_ctx) {
+	  if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
+        /* Re-start T3460 timer */
+        emm_ctx->T3460.id = nas_timer_restart(emm_ctx->T3460.id);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 restarted UE "NAS_UE_ID_FMT" ", data->ueid);
+      } else {
+        /* Start T3460 timer */
+        emm_ctx->T3460.id = nas_timer_start(emm_ctx->T3460.sec, _authentication_t3460_handler,
                                  data);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 started UE "NAS_UE_ID_FMT" ", data->ueid);
+      }
     }
 
     LOG_TRACE(INFO,"EMM-PROC  - Timer T3460 (%d) expires in %ld seconds",
-              T3460.id, T3460.sec);
+    		emm_ctx->T3460.id, emm_ctx->T3460.sec);
   }
 
   LOG_FUNC_RETURN (rc);
@@ -604,6 +606,7 @@ static int _authentication_abort(void *args)
   LOG_FUNC_IN;
 
   int rc = RETURNerror;
+  struct emm_data_context_s *emm_ctx;
 
   authentication_data_t *data = (authentication_data_t *)(args);
 
@@ -612,12 +615,19 @@ static int _authentication_abort(void *args)
     int notify_failure = data->notify_failure;
 
     LOG_TRACE(WARNING, "EMM-PROC  - Abort authentication procedure "
-              "(ueid=%u)", ueid);
-
-    /* Stop timer T3460 */
-    if (T3460.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", T3460.id);
-      T3460.id = nas_timer_stop(T3460.id);
+              "(ueid="NAS_UE_ID_FMT")", ueid);
+#if defined(NAS_BUILT_IN_EPC)
+    emm_ctx = emm_data_context_get(&_emm_data, ueid);
+#else
+    emm_ctx = _emm_data.ctx[ueid];
+#endif
+    if (emm_ctx) {
+      /* Stop timer T3460 */
+      if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
+        LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
+        emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", data->ueid);
+      }
     }
 
     /* Release retransmission timer paramaters */
diff --git a/openair-cn/NAS/MME/EMM/Detach.c b/openair-cn/NAS/MME/EMM/Detach.c
index e87b4ebd535bab1d493418c1a52d1aad3d442c23..1ba60e5b6dc4ae63305a7cd13e4bda603b6977ab 100644
--- a/openair-cn/NAS/MME/EMM/Detach.c
+++ b/openair-cn/NAS/MME/EMM/Detach.c
@@ -188,7 +188,7 @@ int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
   int rc;
   emm_data_context_t *emm_ctx = NULL;
 
-  LOG_TRACE(INFO, "EMM-PROC  - Detach type = %s (%d) requested (ueid=%u)",
+  LOG_TRACE(INFO, "EMM-PROC  - Detach type = %s (%d) requested (ueid="NAS_UE_ID_FMT")",
             _emm_detach_type_str[type], type, ueid);
 
   /* Get the UE context */
@@ -207,13 +207,13 @@ int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
 #endif
 
   if (emm_ctx == NULL) {
-    LOG_TRACE(WARNING, "No EMM context exists for the UE (ueid=%u)", ueid);
+    LOG_TRACE(WARNING, "No EMM context exists for the UE (ueid="NAS_UE_ID_FMT")", ueid);
     LOG_FUNC_RETURN(RETURNok);
   }
 
   if (switch_off) {
 	MSC_LOG_EVENT(MSC_NAS_EMM_MME,
-		    	  "0 Removing UE context ue id %06x", ueid);
+		    	  "0 Removing UE context ue id "NAS_UE_ID_FMT" ", ueid);
     /* The UE is switched off */
     if (emm_ctx->guti) {
       free(emm_ctx->guti);
@@ -249,7 +249,24 @@ int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
 
       free(emm_ctx->security);
     }
-
+    /* Stop timer T3450 */
+    if (emm_ctx->T3450.id != NAS_TIMER_INACTIVE_ID) {
+      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3450 (%d)", emm_ctx->T3450.id);
+      emm_ctx->T3450.id = nas_timer_stop(emm_ctx->T3450.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3450 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
+    }
+    /* Stop timer T3460 */
+    if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
+      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
+      emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
+    }
+    /* Stop timer T3470 */
+    if (emm_ctx->T3470.id != NAS_TIMER_INACTIVE_ID) {
+      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", emm_ctx->T3460.id);
+      emm_ctx->T3470.id = nas_timer_stop(emm_ctx->T3470.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 stopped UE "NAS_UE_ID_FMT" ", emm_ctx->ueid);
+    }
     /* Release the EMM context */
 #if defined(NAS_BUILT_IN_EPC)
     emm_data_context_remove(&_emm_data, emm_ctx);
@@ -267,7 +284,7 @@ int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
 	    		MSC_NAS_EMM_MME,
 	    		MSC_NAS_EMM_MME,
 	    	  	NULL,0,
-	    	  	"0 EMM_AS_NAS_INFO_DETACH ue id %06x", ueid);
+	    	  	"0 EMM_AS_NAS_INFO_DETACH ue id "NAS_UE_ID_FMT" ", ueid);
 
     /* Setup NAS information message to transfer */
     emm_as->NASinfo = EMM_AS_NAS_INFO_DETACH;
@@ -295,7 +312,7 @@ int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
 	    		MSC_NAS_EMM_MME,
 	    	  	MSC_NAS_ESM_MME,
 	    	  	NULL,0,
-	    	  	"0 ESM_EPS_BEARER_CONTEXT_DEACTIVATE_REQ ue id %06x", ueid);
+	    	  	"0 ESM_EPS_BEARER_CONTEXT_DEACTIVATE_REQ ue id "NAS_UE_ID_FMT" ", ueid);
 	esm_sap_t esm_sap;
     esm_sap.primitive = ESM_EPS_BEARER_CONTEXT_DEACTIVATE_REQ;
     esm_sap.ueid = ueid;
@@ -312,7 +329,7 @@ int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
   	    		MSC_NAS_EMM_MME,
   	    		MSC_NAS_EMM_MME,
   	    	  	NULL,0,
-  	    	  	"0 EMMREG_DETACH_REQ ue id %06x", ueid);
+  	    	  	"0 EMMREG_DETACH_REQ ue id "NAS_UE_ID_FMT" ", ueid);
       emm_sap.primitive = EMMREG_DETACH_REQ;
       emm_sap.u.emm_reg.ueid = ueid;
       emm_sap.u.emm_reg.ctx  = emm_ctx;
diff --git a/openair-cn/NAS/MME/EMM/Identification.c b/openair-cn/NAS/MME/EMM/Identification.c
index db40df589f020e1382e7dc3440c717d919f70949..a4e34f5be3bafa3901f669f24416083ada4d044b 100644
--- a/openair-cn/NAS/MME/EMM/Identification.c
+++ b/openair-cn/NAS/MME/EMM/Identification.c
@@ -193,7 +193,7 @@ int emm_proc_identification(unsigned int                   ueid,
       		MSC_NAS_EMM_MME,
       	  	MSC_NAS_EMM_MME,
       	  	NULL,0,
-      	  	"0 EMMREG_COMMON_PROC_REQ ue id %06x (identification)", ueid);
+      	  	"0 EMMREG_COMMON_PROC_REQ ue id "NAS_UE_ID_FMT" (identification)", ueid);
 
       emm_sap_t emm_sap;
       emm_sap.primitive = EMMREG_COMMON_PROC_REQ;
@@ -229,7 +229,7 @@ int emm_proc_identification(unsigned int                   ueid,
  **                                                                        **
  ***************************************************************************/
 int emm_proc_identification_complete(unsigned int ueid, const imsi_t *imsi,
-                                     const imei_t *imei, UInt32_t *tmsi)
+                                     const imei_t *imei, uint32_t *tmsi)
 {
   int rc = RETURNerror;
   emm_sap_t emm_sap;
@@ -238,36 +238,32 @@ int emm_proc_identification_complete(unsigned int ueid, const imsi_t *imsi,
 
   LOG_FUNC_IN;
 
-  LOG_TRACE(INFO, "EMM-PROC  - Identification complete (ueid=%u)", ueid);
-
-  /* Stop timer T3470 */
-  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", T3470.id);
-  T3470.id = nas_timer_stop(T3470.id);
+  LOG_TRACE(INFO, "EMM-PROC  - Identification complete (ueid="NAS_UE_ID_FMT")", ueid);
 
   /* Release retransmission timer paramaters */
   identification_data_t *data =
     (identification_data_t *)(emm_proc_common_get_args(ueid));
-
   if (data) {
     free(data);
   }
 
   /* Get the UE context */
 #if defined(NAS_BUILT_IN_EPC)
-
   if (ueid > 0) {
     emm_ctx = emm_data_context_get(&_emm_data, ueid);
   }
-
 #else
-
   if (ueid < EMM_DATA_NB_UE_MAX) {
     emm_ctx = _emm_data.ctx[ueid];
   }
-
 #endif
 
   if (emm_ctx) {
+	/* Stop timer T3470 */
+	LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", emm_ctx->T3470.id);
+	emm_ctx->T3470.id = nas_timer_stop(emm_ctx->T3470.id);
+	MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 stopped UE "NAS_UE_ID_FMT" ", ueid);
+
     if (imsi) {
       /* Update the IMSI */
       if (emm_ctx->imsi == NULL) {
@@ -306,7 +302,7 @@ int emm_proc_identification_complete(unsigned int ueid, const imsi_t *imsi,
     		MSC_NAS_EMM_MME,
     	  	MSC_NAS_EMM_MME,
     	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_CNF ue id %06x", ueid);
+    	  	"0 EMMREG_COMMON_PROC_CNF ue id "NAS_UE_ID_FMT" ", ueid);
 
     emm_sap.primitive = EMMREG_COMMON_PROC_CNF;
     emm_sap.u.emm_reg.ueid = ueid;
@@ -321,7 +317,7 @@ int emm_proc_identification_complete(unsigned int ueid, const imsi_t *imsi,
     		MSC_NAS_EMM_MME,
     	  	MSC_NAS_EMM_MME,
     	  	NULL,0,
-    	  	"0 EMMREG_COMMON_PROC_REJ ue id %06x", ueid);
+    	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" ", ueid);
 
     emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
     emm_sap.u.emm_reg.ueid = ueid;
@@ -428,7 +424,7 @@ int _identification_request(identification_data_t *data)
   		MSC_NAS_EMM_MME,
   	  	MSC_NAS_EMM_MME,
   	  	NULL,0,
-  	  	"0 EMMAS_SECURITY_REQ ue id %06x", data->ueid);
+  	  	"0 EMMAS_SECURITY_REQ ue id "NAS_UE_ID_FMT" ", data->ueid);
 
   emm_sap.primitive = EMMAS_SECURITY_REQ;
   emm_sap.u.emm_as.u.security.guti = NULL;
@@ -437,17 +433,13 @@ int _identification_request(identification_data_t *data)
   emm_sap.u.emm_as.u.security.identType = data->type;
 
 #if defined(NAS_BUILT_IN_EPC)
-
   if (data->ueid > 0) {
     emm_ctx = emm_data_context_get(&_emm_data, data->ueid);
   }
-
 #else
-
   if (data->ueid < EMM_DATA_NB_UE_MAX) {
     emm_ctx = _emm_data.ctx[data->ueid];
   }
-
 #endif
   /* Setup EPS NAS security data */
   emm_as_set_security_data(&emm_sap.u.emm_as.u.security.sctx,
@@ -455,17 +447,19 @@ int _identification_request(identification_data_t *data)
   rc = emm_sap_send(&emm_sap);
 
   if (rc != RETURNerror) {
-    if (T3470.id != NAS_TIMER_INACTIVE_ID) {
+    if (emm_ctx->T3470.id != NAS_TIMER_INACTIVE_ID) {
       /* Re-start T3470 timer */
-      T3470.id = nas_timer_restart(T3470.id);
+    	emm_ctx->T3470.id = nas_timer_restart(emm_ctx->T3470.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 restarted UE "NAS_UE_ID_FMT" ", data->ueid);
     } else {
       /* Start T3470 timer */
-      T3470.id = nas_timer_start(T3470.sec, _identification_t3470_handler,
+      emm_ctx->T3470.id = nas_timer_start(emm_ctx->T3470.sec, _identification_t3470_handler,
                                  data);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 started UE "NAS_UE_ID_FMT" ", data->ueid);
     }
 
     LOG_TRACE(INFO,"EMM-PROC  - Timer T3470 (%d) expires in %ld seconds",
-              T3470.id, T3470.sec);
+    		emm_ctx->T3470.id, emm_ctx->T3470.sec);
   }
 
   LOG_FUNC_RETURN (rc);
@@ -496,14 +490,25 @@ static int _identification_abort(void *args)
   if (data) {
     unsigned int ueid = data->ueid;
     int notify_failure = data->notify_failure;
-
+    struct emm_data_context_s *emm_ctx = NULL;
+    /* Get the UE context */
+  #if defined(NAS_BUILT_IN_EPC)
+    if (ueid > 0) {
+      emm_ctx = emm_data_context_get(&_emm_data, ueid);
+    }
+  #else
+    if (ueid < EMM_DATA_NB_UE_MAX) {
+      emm_ctx = _emm_data.ctx[ueid];
+    }
+  #endif
     LOG_TRACE(WARNING, "EMM-PROC  - Abort identification procedure "
-              "(ueid=%u)", ueid);
+              "(ueid="NAS_UE_ID_FMT")", ueid);
 
     /* Stop timer T3470 */
-    if (T3470.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", T3470.id);
-      T3470.id = nas_timer_stop(T3470.id);
+    if (emm_ctx->T3470.id != NAS_TIMER_INACTIVE_ID) {
+      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3470 (%d)", emm_ctx->T3470.id);
+      emm_ctx->T3470.id = nas_timer_stop(emm_ctx->T3470.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3470 stopped UE "NAS_UE_ID_FMT" ", data->ueid);
     }
 
     /* Release retransmission timer paramaters */
@@ -517,7 +522,7 @@ static int _identification_abort(void *args)
     	  		MSC_NAS_EMM_MME,
     	  	  	MSC_NAS_EMM_MME,
     	  	  	NULL,0,
-    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id %06x", ueid);
+    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" ", ueid);
       emm_sap_t emm_sap;
       emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
       emm_sap.u.emm_reg.ueid = ueid;
diff --git a/openair-cn/NAS/MME/EMM/LowerLayer.c b/openair-cn/NAS/MME/EMM/LowerLayer.c
index 1463dd28d6e36b37743957abfa1f694a8a9b8ef5..20121649757e5a679d1fb03afc4b8ff11f00bf64 100644
--- a/openair-cn/NAS/MME/EMM/LowerLayer.c
+++ b/openair-cn/NAS/MME/EMM/LowerLayer.c
@@ -102,6 +102,7 @@ int lowerlayer_success(unsigned int ueid)
 
   emm_sap.primitive = EMMREG_LOWERLAYER_SUCCESS;
   emm_sap.u.emm_reg.ueid = ueid;
+  emm_sap.u.emm_reg.ctx = NULL;
   rc = emm_sap_send(&emm_sap);
 
   LOG_FUNC_RETURN (rc);
@@ -131,6 +132,15 @@ int lowerlayer_failure(unsigned int ueid)
 
   emm_sap.primitive = EMMREG_LOWERLAYER_FAILURE;
   emm_sap.u.emm_reg.ueid = ueid;
+#if defined(NAS_BUILT_IN_EPC)
+  emm_data_context_t *emm_ctx = NULL;
+  if (ueid > 0) {
+    emm_ctx = emm_data_context_get(&_emm_data, ueid);
+  }
+  emm_sap.u.emm_reg.ctx = emm_ctx;
+#else
+  emm_sap.u.emm_reg.ctx = NULL;
+#endif
   rc = emm_sap_send(&emm_sap);
 
   LOG_FUNC_RETURN (rc);
@@ -182,6 +192,7 @@ int lowerlayer_release(int cause)
 
   emm_sap.primitive = EMMREG_LOWERLAYER_RELEASE;
   emm_sap.u.emm_reg.ueid = 0;
+  emm_sap.u.emm_reg.ctx = NULL;
   rc = emm_sap_send(&emm_sap);
 
   LOG_FUNC_RETURN (rc);
@@ -328,7 +339,7 @@ void emm_as_set_security_data(emm_as_security_data_t *data, const void *args,
               is_new,
               context->eksi,
               context->ul_count.seq_num,
-              *(UInt32_t *)(&context->ul_count));
+              *(uint32_t *)(&context->ul_count));
     LOG_TRACE(INFO,
               "knas_int %s",dump_octet_string(&context->knas_int));
     LOG_TRACE(INFO,
@@ -339,7 +350,7 @@ void emm_as_set_security_data(emm_as_security_data_t *data, const void *args,
     data->is_new = is_new;
     data->ksi    = context->eksi;
     data->sqn    = context->dl_count.seq_num;
-    // LG data->count = *(UInt32_t *)(&context->ul_count);
+    // LG data->count = *(uint32_t *)(&context->ul_count);
     data->count  = 0x00000000 | (context->dl_count.overflow << 8 ) | context->dl_count.seq_num;
     /* NAS integrity and cyphering keys may not be available if the
      * current security context is a partial EPS security context
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_as.c b/openair-cn/NAS/MME/EMM/SAP/emm_as.c
index 34454dfb3826a88da8949cb7cea2a16d84aa7c1e..882c9e800efaef049d038f18bd4566bd86af5281 100644
--- a/openair-cn/NAS/MME/EMM/SAP/emm_as.c
+++ b/openair-cn/NAS/MME/EMM/SAP/emm_as.c
@@ -201,7 +201,7 @@ int emm_as_send(const emm_as_t *msg)
   int emm_cause = EMM_CAUSE_SUCCESS;
   emm_as_primitive_t primitive = msg->primitive;
 
-  UInt32_t ueid = 0;
+  uint32_t ueid = 0;
 
   LOG_TRACE(INFO, "EMMAS-SAP - Received primitive %s (%d)",
             _emm_as_primitive_str[primitive - _EMMAS_START - 1], primitive);
@@ -445,7 +445,7 @@ static int _emm_as_data_ind(const emm_as_data_t *msg, int *emm_cause)
   int rc = RETURNerror;
 
   LOG_TRACE(INFO, "EMMAS-SAP - Received AS data transfer indication "
-            "(ueid=%u, delivered=%s, length=%d)", msg->ueid,
+            "(ueid="NAS_UE_ID_FMT", delivered=%s, length=%d)", msg->ueid,
             (msg->delivered)? "TRUE" : "FALSE", msg->NASmsg.length);
 
   if (msg->delivered) {
@@ -992,7 +992,7 @@ static int _emm_as_send(const emm_as_t *msg)
         LOG_FUNC_RETURN (RETURNok);
       } else {
         LOG_TRACE(DEBUG, "EMMAS-SAP - "
-                  "Sending nas_itti_establish_cnf to S1AP UE ID %d"
+                  "Sending nas_itti_establish_cnf to S1AP UE ID 0x%x"
                   " selected_encryption_algorithm 0x%04X",
                   " selected_integrity_algorithm 0x%04X",
                   as_msg.msg.nas_establish_rsp.UEid,
@@ -1295,9 +1295,9 @@ static int _emm_as_security_req(const emm_as_security_t *msg,
   if (emm_msg != NULL) switch (msg->msgType) {
     case EMM_AS_MSG_TYPE_IDENT:
       if (msg->guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send IDENTITY_REQUEST to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send IDENTITY_REQUEST to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
       } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send IDENTITY_REQUEST to ue id %u ", as_msg->UEid);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send IDENTITY_REQUEST to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
       }
       size = emm_send_identity_request(msg,
                                        &emm_msg->identity_request);
@@ -1305,9 +1305,9 @@ static int _emm_as_security_req(const emm_as_security_t *msg,
 
     case EMM_AS_MSG_TYPE_AUTH:
       if (msg->guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send AUTHENTICATION_REQUEST to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send AUTHENTICATION_REQUEST to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
       } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send AUTHENTICATION_REQUEST to ue id %u ", as_msg->UEid);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send AUTHENTICATION_REQUEST to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
       }
       size = emm_send_authentication_request(msg,
                                              &emm_msg->authentication_request);
@@ -1315,9 +1315,9 @@ static int _emm_as_security_req(const emm_as_security_t *msg,
 
     case EMM_AS_MSG_TYPE_SMC:
       if (msg->guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send SECURITY_MODE_COMMAND to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send SECURITY_MODE_COMMAND to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
       } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send SECURITY_MODE_COMMAND to ue id %u ", as_msg->UEid);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send SECURITY_MODE_COMMAND to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
       }
       size = emm_send_security_mode_command(msg,
                                             &emm_msg->security_mode_command);
@@ -1410,9 +1410,9 @@ static int _emm_as_security_rej(const emm_as_security_t *msg,
   if (emm_msg != NULL) switch (msg->msgType) {
     case EMM_AS_MSG_TYPE_AUTH:
       if (msg->guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send AUTHENTICATION_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send AUTHENTICATION_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
       } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send AUTHENTICATION_REJECT to ue id %x ", as_msg->UEid);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send AUTHENTICATION_REJECT to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
       }
       size = emm_send_authentication_reject(
                &emm_msg->authentication_reject);
@@ -1516,7 +1516,7 @@ static int _emm_as_establish_cnf(const emm_as_establish_t *msg,
                 "EMMAS-SAP - emm_as_establish.nasMSG.length=%d",
                 msg->NASmsg.length);
 
-      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send ATTACH_ACCEPT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send ATTACH_ACCEPT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
 
       size = emm_send_attach_accept(msg, &emm_msg->attach_accept);
       break;
@@ -1632,18 +1632,18 @@ static int _emm_as_establish_rej(const emm_as_establish_t *msg,
   if (emm_msg != NULL) switch (msg->NASinfo) {
     case EMM_AS_NAS_INFO_ATTACH:
       if (msg->UEid.guti) {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send ATTACH_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send ATTACH_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
       } else {
-        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send ATTACH_REJECT to ue id 0x%06"PRIX32" ", as_msg->UEid);
+        MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send ATTACH_REJECT to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
       }
       size = emm_send_attach_reject(msg, &emm_msg->attach_reject);
       break;
 
     case EMM_AS_NAS_INFO_TAU:
         if (msg->UEid.guti) {
-          MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send TRACKING_AREA_UPDATE_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
+          MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send TRACKING_AREA_UPDATE_REJECT to s_TMSI %u.%u ", as_msg->s_tmsi.MMEcode, as_msg->s_tmsi.m_tmsi);
         } else {
-          MSC_LOG_EVENT(MSC_NAS_EMM_MME, "send TRACKING_AREA_UPDATE_REJECT to ue id 0x%06"PRIX32" ", as_msg->UEid);
+          MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 send TRACKING_AREA_UPDATE_REJECT to ue id "NAS_UE_ID_FMT" ", as_msg->UEid);
         }
       size = emm_send_tracking_area_update_reject(msg,
              &emm_msg->tracking_area_update_reject);
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_asDef.h b/openair-cn/NAS/MME/EMM/SAP/emm_asDef.h
index e2e0a773f8af9a275e45a4a972c6d51ec894fe34..fbd2a6b38e714d7ca02cb7e741297ecfa9deb852 100644
--- a/openair-cn/NAS/MME/EMM/SAP/emm_asDef.h
+++ b/openair-cn/NAS/MME/EMM/SAP/emm_asDef.h
@@ -81,11 +81,11 @@ typedef enum emm_as_primitive_u {
 
 /* Data used to setup EPS NAS security */
 typedef struct emm_as_security_data_s {
-  UInt8_t is_new;     /* New security data indicator      */
+  uint8_t is_new;     /* New security data indicator      */
 #define EMM_AS_NO_KEY_AVAILABLE     0xff
-  UInt8_t ksi;        /* NAS key set identifier       */
-  UInt8_t sqn;        /* Sequence number          */
-  UInt32_t count;     /* NAS counter              */
+  uint8_t ksi;        /* NAS key set identifier       */
+  uint8_t sqn;        /* Sequence number          */
+  uint32_t count;     /* NAS counter              */
   const OctetString *k_enc;   /* NAS cyphering key            */
   const OctetString *k_int;   /* NAS integrity key            */
 } emm_as_security_data_t;
@@ -99,21 +99,21 @@ typedef struct emm_as_security_data_s {
  * ----------------------------
  */
 typedef struct emm_as_security_s {
-  UInt32_t ueid;      /* UE lower layer identifier        */
+  uint32_t ueid;      /* UE lower layer identifier        */
   const GUTI_t *guti;     /* GUTI temporary mobile identity   */
   emm_as_security_data_t sctx;/* EPS NAS security context     */
   int emm_cause;      /* EMM failure cause code       */
   /*
    * Identity request/response
    */
-  UInt8_t identType;      /* Type of requested UE's identity  */
+  uint8_t identType;      /* Type of requested UE's identity  */
   const imsi_t *imsi;     /* The requested IMSI of the UE     */
   const imei_t *imei;     /* The requested IMEI of the UE     */
-  UInt32_t tmsi;      /* The requested TMSI of the UE     */
+  uint32_t tmsi;      /* The requested TMSI of the UE     */
   /*
    * Authentication request/response
    */
-  UInt8_t ksi;        /* NAS key set identifier       */
+  uint8_t ksi;        /* NAS key set identifier       */
   const OctetString *rand;    /* Random challenge number      */
   const OctetString *autn;    /* Authentication token         */
   const OctetString *res; /* Authentication response      */
@@ -121,23 +121,23 @@ typedef struct emm_as_security_s {
   /*
    * Security Mode Command
    */
-  UInt8_t eea;        /* Replayed EPS encryption algorithms   */
-  UInt8_t eia;        /* Replayed EPS integrity algorithms    */
-  UInt8_t uea;        /* Replayed UMTS encryption algorithms  */
+  uint8_t eea;        /* Replayed EPS encryption algorithms   */
+  uint8_t eia;        /* Replayed EPS integrity algorithms    */
+  uint8_t uea;        /* Replayed UMTS encryption algorithms  */
   uint8_t ucs2;
-  UInt8_t uia;        /* Replayed UMTS integrity algorithms   */
-  UInt8_t gea;        /* Replayed GPRS encryption algorithms   */
-  UInt8_t umts_present;
-  UInt8_t gprs_present;
+  uint8_t uia;        /* Replayed UMTS integrity algorithms   */
+  uint8_t gea;        /* Replayed GPRS encryption algorithms   */
+  uint8_t umts_present;
+  uint8_t gprs_present;
 
   // Added by LG
-  UInt8_t selected_eea; /* Selected EPS encryption algorithms   */
-  UInt8_t selected_eia; /* Selected EPS integrity algorithms    */
+  uint8_t selected_eea; /* Selected EPS encryption algorithms   */
+  uint8_t selected_eia; /* Selected EPS integrity algorithms    */
 
 #define EMM_AS_MSG_TYPE_IDENT   0x01    /* Identification message   */
 #define EMM_AS_MSG_TYPE_AUTH    0x02    /* Authentication message   */
 #define EMM_AS_MSG_TYPE_SMC 0x03    /* Security Mode Command    */
-  UInt8_t msgType;    /* Type of NAS security message to transfer */
+  uint8_t msgType;    /* Type of NAS security message to transfer */
 } emm_as_security_t;
 
 /*
@@ -153,17 +153,17 @@ typedef struct emm_as_EPS_identity_s {
 } emm_as_EPS_identity_t;
 
 typedef struct emm_as_establish_s {
-  UInt32_t ueid;      /* UE lower layer identifier         */
+  uint32_t ueid;      /* UE lower layer identifier         */
   emm_as_EPS_identity_t UEid; /* UE's EPS mobile identity      */
   emm_as_security_data_t sctx;/* EPS NAS security context      */
   int switch_off;     /* TRUE if the UE is switched off    */
-  UInt8_t type;       /* Network attach/detach type        */
-  UInt8_t RRCcause;       /* Connection establishment cause    */
-  UInt8_t RRCtype;        /* Associated call type          */
+  uint8_t type;       /* Network attach/detach type        */
+  uint8_t RRCcause;       /* Connection establishment cause    */
+  uint8_t RRCtype;        /* Associated call type          */
   const plmn_t *plmnID;   /* Identifier of the selected PLMN   */
-  UInt8_t ksi;        /* NAS key set identifier        */
-  UInt8_t encryption:4;   /* Ciphering algorithm           */
-  UInt8_t integrity:4;    /* Integrity protection algorithm    */
+  uint8_t ksi;        /* NAS key set identifier        */
+  uint8_t encryption:4;   /* Ciphering algorithm           */
+  uint8_t integrity:4;    /* Integrity protection algorithm    */
   int emm_cause;      /* EMM failure cause code        */
   const GUTI_t *new_guti; /* New GUTI, if re-allocated         */
   int n_tacs;         /* Number of concecutive tracking areas
@@ -175,7 +175,7 @@ typedef struct emm_as_establish_s {
 #define EMM_AS_NAS_INFO_TAU 0x03    /* Tracking Area Update request  */
 #define EMM_AS_NAS_INFO_SR  0x04    /* Service Request       */
 #define EMM_AS_NAS_INFO_EXTSR   0x05    /* Extended Service Request  */
-  UInt8_t NASinfo;    /* Type of initial NAS information to transfer   */
+  uint8_t NASinfo;    /* Type of initial NAS information to transfer   */
   OctetString NASmsg;     /* NAS message to be transfered within
                  * initial NAS information message   */
 } emm_as_establish_t;
@@ -185,11 +185,11 @@ typedef struct emm_as_establish_s {
  * --------------------------------------
  */
 typedef struct emm_as_release_s {
-  UInt32_t ueid;      /* UE lower layer identifier          */
+  uint32_t ueid;      /* UE lower layer identifier          */
   const GUTI_t *guti;     /* GUTI temporary mobile identity     */
 #define EMM_AS_CAUSE_AUTHENTICATION 0x01    /* Authentication failure */
 #define EMM_AS_CAUSE_DETACH     0x02    /* Detach requested   */
-  UInt8_t cause;  /* Release cause */
+  uint8_t cause;  /* Release cause */
 } emm_as_release_t;
 
 /*
@@ -197,15 +197,15 @@ typedef struct emm_as_release_s {
  * ---------------------------------
  */
 typedef struct emm_as_data_s {
-  UInt32_t ueid;      /* UE lower layer identifier        */
+  uint32_t ueid;      /* UE lower layer identifier        */
   const GUTI_t *guti;     /* GUTI temporary mobile identity   */
   emm_as_security_data_t sctx;/* EPS NAS security context     */
   int switch_off;     /* TRUE if the UE is switched off   */
-  UInt8_t type;       /* Network detach type          */
-  UInt8_t delivered;      /* Data message delivery indicator  */
+  uint8_t type;       /* Network detach type          */
+  uint8_t delivered;      /* Data message delivery indicator  */
 #define EMM_AS_NAS_DATA_ATTACH  0x01    /* Attach complete      */
 #define EMM_AS_NAS_DATA_DETACH  0x02    /* Detach request       */
-  UInt8_t NASinfo;        /* Type of NAS information to transfer  */
+  uint8_t NASinfo;        /* Type of NAS information to transfer  */
   OctetString NASmsg;     /* NAS message to be transfered     */
 } emm_as_data_t;
 
@@ -220,7 +220,7 @@ typedef struct emm_as_page_s {} emm_as_page_t;
  * -------------------------------------
  */
 typedef struct emm_as_status_s {
-  UInt32_t ueid;      /* UE lower layer identifier        */
+  uint32_t ueid;      /* UE lower layer identifier        */
   const GUTI_t *guti;     /* GUTI temporary mobile identity   */
   emm_as_security_data_t sctx;/* EPS NAS security context     */
   int emm_cause;      /* EMM failure cause code       */
@@ -231,7 +231,7 @@ typedef struct emm_as_status_s {
  * ------------------------------------
  */
 typedef struct emm_as_cell_info_s {
-  UInt8_t found;  /* Indicates whether a suitable cell is found   */
+  uint8_t found;  /* Indicates whether a suitable cell is found   */
 #define EMM_AS_PLMN_LIST_SIZE   6
   PLMN_LIST_T(EMM_AS_PLMN_LIST_SIZE) plmnIDs;
   /* List of identifiers of available PLMNs   */
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_cn.c b/openair-cn/NAS/MME/EMM/SAP/emm_cn.c
index 3c9bf936f7b6369e7c006c9b4e41445cf480c0d9..603e849c14e02a84fdba7acfeb6634e6defd6a04 100644
--- a/openair-cn/NAS/MME/EMM/SAP/emm_cn.c
+++ b/openair-cn/NAS/MME/EMM/SAP/emm_cn.c
@@ -105,7 +105,7 @@ static int _emm_cn_authentication_res(const emm_cn_auth_res_t *msg)
 
   if (emm_ctx == NULL) {
     LOG_TRACE(ERROR, "EMM-PROC  - "
-              "Failed to find UE associated to id %u...", msg->ue_id);
+              "Failed to find UE associated to id "NAS_UE_ID_FMT"...", msg->ue_id);
     LOG_FUNC_RETURN (rc);
   }
 
@@ -166,13 +166,13 @@ static int _emm_cn_authentication_fail(const emm_cn_auth_fail_t *msg)
   LOG_FUNC_RETURN (rc);
 }
 
-static int _emm_cn_deregister_ue(const UInt32_t ue_id)
+static int _emm_cn_deregister_ue(const uint32_t ue_id)
 {
   int rc = RETURNok;
 
   LOG_FUNC_IN;
   LOG_TRACE(WARNING, "EMM-PROC  - "
-            "TODO deregister UE %u, following procedure is a test");
+            "TODO deregister UE "NAS_UE_ID_FMT", following procedure is a test", ue_id);
   emm_proc_detach_request(ue_id, EMM_DETACH_TYPE_EPS /* ??? emm_proc_detach_type_t*/,
                               1 /*switch_off*/, 0 /*native_ksi*/, 0 /*ksi*/,
                               NULL /*guti*/, NULL /*imsi*/, NULL /*imei*/);
@@ -207,7 +207,7 @@ static int _emm_cn_pdn_connectivity_res(const emm_cn_pdn_res_t *msg_pP)
 
   if (emm_ctx_p == NULL) {
     LOG_TRACE(ERROR, "EMMCN-SAP  - "
-              "Failed to find UE associated to id %u...", msg_pP->ue_id);
+              "Failed to find UE associated to id "NAS_UE_ID_FMT"...", msg_pP->ue_id);
     LOG_FUNC_RETURN (rc);
   }
 
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_cnDef.h b/openair-cn/NAS/MME/EMM/SAP/emm_cnDef.h
index d5a88b9923e629186999ac012303c7d767f61fa3..738871e5ebb433d7d6df7028b4cc7004fac462d8 100644
--- a/openair-cn/NAS/MME/EMM/SAP/emm_cnDef.h
+++ b/openair-cn/NAS/MME/EMM/SAP/emm_cnDef.h
@@ -70,7 +70,7 @@ typedef nas_pdn_connectivity_rsp_t  emm_cn_pdn_res_t;
 typedef nas_pdn_connectivity_fail_t emm_cn_pdn_fail_t;
 
 typedef struct emm_cn_deregister_ue_s {
-  UInt32_t UEid;
+  uint32_t UEid;
 } emm_cn_deregister_ue_t;
 
 typedef struct emm_mme_ul_s {
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_fsm.c b/openair-cn/NAS/MME/EMM/SAP/emm_fsm.c
index 505b49862ae4dcc765202147ae1754834a9625a4..bbbace861b81cde29192f668f92ce5b26de1997c 100644
--- a/openair-cn/NAS/MME/EMM/SAP/emm_fsm.c
+++ b/openair-cn/NAS/MME/EMM/SAP/emm_fsm.c
@@ -55,6 +55,7 @@ Description Defines the EPS Mobility Management procedures executed at
 #if defined(NAS_BUILT_IN_EPC)
 # include "assertions.h"
 #endif
+# include "msc.h"
 
 /****************************************************************************/
 /****************  E X T E R N A L    D E F I N I T I O N S  ****************/
@@ -201,11 +202,12 @@ int emm_fsm_set_status(
   DevAssert(emm_ctx != NULL);
 
   if ((status < EMM_STATE_MAX) && (ueid > 0)) {
-    LOG_TRACE(INFO, "EMM-FSM   - Status changed: %s ===> %s",
-              _emm_fsm_status_str[emm_ctx->_emm_fsm_status],
-              _emm_fsm_status_str[status]);
 
     if (status != emm_ctx->_emm_fsm_status) {
+      LOG_TRACE(INFO, "EMM-FSM   - Status changed: %s ===> %s",
+                  _emm_fsm_status_str[emm_ctx->_emm_fsm_status],
+                  _emm_fsm_status_str[status]);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 EMM state %s ", _emm_fsm_status_str[status]);
       emm_ctx->_emm_fsm_status = status;
     }
 
@@ -215,11 +217,11 @@ int emm_fsm_set_status(
 #else
 
   if ( (status < EMM_STATE_MAX) && (ueid < EMM_FSM_NB_UE_MAX) ) {
-    LOG_TRACE(INFO, "EMM-FSM   - Status changed: %s ===> %s",
-              _emm_fsm_status_str[_emm_fsm_status[ueid]],
-              _emm_fsm_status_str[status]);
-
     if (status != _emm_fsm_status[ueid]) {
+      LOG_TRACE(INFO, "EMM-FSM   - Status changed: %s ===> %s",
+                  _emm_fsm_status_str[_emm_fsm_status[ueid]],
+                  _emm_fsm_status_str[status]);
+
       _emm_fsm_status[ueid] = status;
     }
 
@@ -250,7 +252,11 @@ emm_fsm_state_t emm_fsm_get_status(unsigned int ueid, void *ctx)
 {
 # if defined(NAS_BUILT_IN_EPC)
   emm_data_context_t *emm_ctx = (emm_data_context_t *)ctx;
-
+  if (emm_ctx == NULL) {
+	LOG_TRACE(INFO, "EMM-FSM   - try again get context ueid "NAS_UE_ID_FMT" ",
+				ueid);
+    emm_ctx = emm_data_context_get(&_emm_data, ueid);
+  }
   if (emm_ctx != NULL) {
     return emm_ctx->_emm_fsm_status;
   }
@@ -290,7 +296,6 @@ int emm_fsm_process(const emm_reg_t *evt)
 
 # if defined(NAS_BUILT_IN_EPC)
   emm_data_context_t *emm_ctx = (emm_data_context_t *)evt->ctx;
-
   DevAssert(emm_ctx != NULL);
 
   status = emm_fsm_get_status(0, emm_ctx);
diff --git a/openair-cn/NAS/MME/EMM/SAP/emm_recv.c b/openair-cn/NAS/MME/EMM/SAP/emm_recv.c
index 59c771e1bc06a879a5d3204deb2fc89273f7c64c..2f0d944679b004da3a91fde0d1ae7c8e4eb17beb 100644
--- a/openair-cn/NAS/MME/EMM/SAP/emm_recv.c
+++ b/openair-cn/NAS/MME/EMM/SAP/emm_recv.c
@@ -562,7 +562,7 @@ int emm_recv_identity_response(unsigned int ueid, identity_response_msg *msg,
 
   /* Execute the identification completion procedure */
   rc = emm_proc_identification_complete(ueid, p_imsi, p_imei,
-                                        (UInt32_t *)(p_tmsi));
+                                        (uint32_t *)(p_tmsi));
   LOG_FUNC_RETURN (rc);
 }
 
diff --git a/openair-cn/NAS/MME/EMM/SecurityModeControl.c b/openair-cn/NAS/MME/EMM/SecurityModeControl.c
index 286191ea98c803420c37854bcbbf21823035a957..bd04316ee26b35d2745a4a7ffa5b6f51812e84ef 100644
--- a/openair-cn/NAS/MME/EMM/SecurityModeControl.c
+++ b/openair-cn/NAS/MME/EMM/SecurityModeControl.c
@@ -338,7 +338,7 @@ int emm_proc_security_mode_control(unsigned int ueid, int ksi,
       	  		MSC_NAS_EMM_MME,
       	  	  	MSC_NAS_EMM_MME,
       	  	  	NULL,0,
-      	  	  	"0 EMMREG_COMMON_PROC_REQ ue id %06x (security mode control)", ueid);
+      	  	  	"0 EMMREG_COMMON_PROC_REQ ue id "NAS_UE_ID_FMT" (security mode control)", ueid);
       emm_sap_t emm_sap;
       emm_sap.primitive = EMMREG_COMMON_PROC_REQ;
       emm_sap.u.emm_reg.ueid = ueid;
@@ -381,34 +381,33 @@ int emm_proc_security_mode_complete(unsigned int ueid)
 
   LOG_FUNC_IN;
 
-  LOG_TRACE(INFO, "EMM-PROC  - Security mode complete (ueid=%u)", ueid);
+  LOG_TRACE(INFO, "EMM-PROC  - Security mode complete (ueid="NAS_UE_ID_FMT")", ueid);
 
-  /* Stop timer T3460 */
-  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", T3460.id);
-  T3460.id = nas_timer_stop(T3460.id);
-
-  /* Release retransmission timer paramaters */
-  security_data_t *data = (security_data_t *)(emm_proc_common_get_args(ueid));
-
-  if (data) {
-    free(data);
-  }
 
   /* Get the UE context */
 #if defined(NAS_BUILT_IN_EPC)
-
   if (ueid > 0) {
     emm_ctx = emm_data_context_get(&_emm_data, ueid);
   }
-
 #else
-
   if (ueid < EMM_DATA_NB_UE_MAX) {
     emm_ctx = _emm_data.ctx[ueid];
   }
-
 #endif
 
+  if (emm_ctx) {
+	  /* Stop timer T3460 */
+	  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
+	  emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
+	  MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", ueid);
+  }
+  /* Release retransmission timer paramaters */
+  security_data_t *data = (security_data_t *)(emm_proc_common_get_args(ueid));
+
+  if (data) {
+    free(data);
+  }
+
   if (emm_ctx && emm_ctx->security) {
     /*
      * Notify EMM that the authentication procedure successfully completed
@@ -417,7 +416,7 @@ int emm_proc_security_mode_complete(unsigned int ueid)
       	  		MSC_NAS_EMM_MME,
       	  	  	MSC_NAS_EMM_MME,
       	  	  	NULL,0,
-      	  	  	"0 EMMREG_COMMON_PROC_CNF ue id %06x (security mode complete)", ueid);
+      	  	  	"0 EMMREG_COMMON_PROC_CNF ue id "NAS_UE_ID_FMT" (security mode complete)", ueid);
     emm_sap.primitive = EMMREG_COMMON_PROC_CNF;
     emm_sap.u.emm_reg.ueid = ueid;
     emm_sap.u.emm_reg.ctx  = emm_ctx;
@@ -431,7 +430,7 @@ int emm_proc_security_mode_complete(unsigned int ueid)
       	  		MSC_NAS_EMM_MME,
       	  	  	MSC_NAS_EMM_MME,
       	  	  	NULL,0,
-      	  	  	"0 EMMREG_COMMON_PROC_REJ ue id %06x (security mode complete)", ueid);
+      	  	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" (security mode complete)", ueid);
     emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
     emm_sap.u.emm_reg.ueid = ueid;
     emm_sap.u.emm_reg.ctx  = emm_ctx;
@@ -474,34 +473,32 @@ int emm_proc_security_mode_reject(unsigned int ueid)
   LOG_FUNC_IN;
 
   LOG_TRACE(WARNING, "EMM-PROC  - Security mode command not accepted by the UE"
-            "(ueid=0x%08x)", ueid);
-
-  /* Stop timer T3460 */
-  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", T3460.id);
-  T3460.id = nas_timer_stop(T3460.id);
+            "(ueid="NAS_UE_ID_FMT")", ueid);
 
-  /* Release retransmission timer paramaters */
-  security_data_t *data = (security_data_t *)(emm_proc_common_get_args(ueid));
 
-  if (data) {
-    free(data);
-  }
 
   /* Get the UE context */
 #if defined(NAS_BUILT_IN_EPC)
-
   if (ueid > 0) {
     emm_ctx = emm_data_context_get(&_emm_data, ueid);
     DevAssert(emm_ctx != NULL);
   }
-
 #else
-
   if (ueid < EMM_DATA_NB_UE_MAX) {
     emm_ctx = _emm_data.ctx[ueid];
   }
-
 #endif
+  if (emm_ctx) {
+	  /* Stop timer T3460 */
+	  LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
+	  emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
+	  MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", ueid);
+  }
+  /* Release retransmission timer paramaters */
+  security_data_t *data = (security_data_t *)(emm_proc_common_get_args(ueid));
+  if (data) {
+    free(data);
+  }
 
   /* Set the key set identifier to its previous value */
   if (emm_ctx && emm_ctx->security) {
@@ -521,7 +518,7 @@ int emm_proc_security_mode_reject(unsigned int ueid)
     	  		MSC_NAS_EMM_MME,
     	  	  	MSC_NAS_EMM_MME,
     	  	  	NULL,0,
-    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id %06x (security mode reject)", ueid);
+    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" (security mode reject)", ueid);
   emm_sap_t emm_sap;
   emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
   emm_sap.u.emm_reg.ueid = ueid;
@@ -642,17 +639,13 @@ int _security_request(security_data_t *data, int is_new)
   emm_sap.u.emm_as.u.security.selected_eia = data->selected_eia;
 
 #if defined(NAS_BUILT_IN_EPC)
-
   if (data->ueid > 0) {
     emm_ctx = emm_data_context_get(&_emm_data, data->ueid);
   }
-
 #else
-
   if (data->ueid < EMM_DATA_NB_UE_MAX) {
     emm_ctx = _emm_data.ctx[data->ueid];
   }
-
 #endif
 
   /* Setup EPS NAS security data */
@@ -662,22 +655,22 @@ int _security_request(security_data_t *data, int is_new)
     	  		MSC_NAS_EMM_MME,
     	  	  	MSC_NAS_EMM_MME,
     	  	  	NULL,0,
-    	  	  	"0 EMMAS_SECURITY_REQ ue id %06x", data->ueid);
+    	  	  	"0 EMMAS_SECURITY_REQ ue id "NAS_UE_ID_FMT" ", data->ueid);
   rc = emm_sap_send(&emm_sap);
 
   if (rc != RETURNerror) {
-    if (T3460.id != NAS_TIMER_INACTIVE_ID) {
+    if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
       /* Re-start T3460 timer */
-      T3460.id = nas_timer_restart(T3460.id);
+    	emm_ctx->T3460.id = nas_timer_restart(emm_ctx->T3460.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 restarted UE "NAS_UE_ID_FMT" ", data->ueid);
     } else {
       /* Start T3460 timer */
-      T3460.id = nas_timer_start(T3460.sec, _security_t3460_handler, data);
+    	emm_ctx->T3460.id = nas_timer_start(emm_ctx->T3460.sec, _security_t3460_handler, data);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 started UE "NAS_UE_ID_FMT" ", data->ueid);
     }
-
     LOG_TRACE(INFO,"EMM-PROC  - Timer T3460 (%d) expires in %ld seconds",
-              T3460.id, T3460.sec);
+    		emm_ctx->T3460.id, emm_ctx->T3460.sec);
   }
-
   LOG_FUNC_RETURN (rc);
 }
 
@@ -700,6 +693,7 @@ static int _security_abort(void *args)
 {
   LOG_FUNC_IN;
 
+  struct emm_data_context_s *emm_ctx = NULL;
   int rc = RETURNerror;
 
   security_data_t *data = (security_data_t *)(args);
@@ -709,12 +703,21 @@ static int _security_abort(void *args)
     int notify_failure = data->notify_failure;
 
     LOG_TRACE(WARNING, "EMM-PROC  - Abort security mode control procedure "
-              "(ueid=%u)", ueid);
-
+              "(ueid="NAS_UE_ID_FMT")", ueid);
+#if defined(NAS_BUILT_IN_EPC)
+    if (data->ueid > 0) {
+      emm_ctx = emm_data_context_get(&_emm_data, data->ueid);
+    }
+#else
+    if (data->ueid < EMM_DATA_NB_UE_MAX) {
+      emm_ctx = _emm_data.ctx[data->ueid];
+    }
+#endif
     /* Stop timer T3460 */
-    if (T3460.id != NAS_TIMER_INACTIVE_ID) {
-      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", T3460.id);
-      T3460.id = nas_timer_stop(T3460.id);
+    if (emm_ctx->T3460.id != NAS_TIMER_INACTIVE_ID) {
+      LOG_TRACE(INFO, "EMM-PROC  - Stop timer T3460 (%d)", emm_ctx->T3460.id);
+      emm_ctx->T3460.id = nas_timer_stop(emm_ctx->T3460.id);
+      MSC_LOG_EVENT(MSC_NAS_EMM_MME, "0 T3460 stopped UE "NAS_UE_ID_FMT" ", ueid);
     }
 
     /* Release retransmission timer paramaters */
@@ -728,7 +731,7 @@ static int _security_abort(void *args)
     	    	  		MSC_NAS_EMM_MME,
     	    	  	  	MSC_NAS_EMM_MME,
     	    	  	  	NULL,0,
-    	    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id %06x (security abort)", data->ueid);
+    	    	  	  	"0 EMMREG_COMMON_PROC_REJ ue id "NAS_UE_ID_FMT" (security abort)", data->ueid);
       emm_sap_t emm_sap;
       emm_sap.primitive = EMMREG_COMMON_PROC_REJ;
       emm_sap.u.emm_reg.ueid = ueid;
diff --git a/openair-cn/NAS/MME/EMM/TrackingAreaUpdate.c b/openair-cn/NAS/MME/EMM/TrackingAreaUpdate.c
index e6cae2ac732f469bd398e394ce47ffe9d3c85274..09ae70da85e541b226f30c7bebd75f5afde4aecb 100644
--- a/openair-cn/NAS/MME/EMM/TrackingAreaUpdate.c
+++ b/openair-cn/NAS/MME/EMM/TrackingAreaUpdate.c
@@ -158,7 +158,7 @@ static int _emm_tracking_area_update_reject(void *args)
   if (emm_ctx) {
     emm_sap_t emm_sap;
     LOG_TRACE(WARNING, "EMM-PROC  - EMM tracking area update procedure not accepted "
-              "by the network (ueid=%08x, cause=%d)",
+              "by the network (ueid="NAS_UE_ID_FMT", cause=%d)",
               emm_ctx->ueid, emm_ctx->emm_cause);
     /*
      * Notify EMM-AS SAP that Tracking Area Update Reject message has to be sent
diff --git a/openair-cn/NAS/MME/EMM/emmData.h b/openair-cn/NAS/MME/EMM/emmData.h
index 44adb669a65ac39f36bfa5907034a9321a594b1a..e17214badbd9e07e455aefb204ad2d120bd0a78a 100644
--- a/openair-cn/NAS/MME/EMM/emmData.h
+++ b/openair-cn/NAS/MME/EMM/emmData.h
@@ -110,22 +110,22 @@ typedef struct emm_security_context_s {
   OctetString knas_enc;   /* NAS cyphering key               */
   OctetString knas_int;   /* NAS integrity key               */
   struct count_s{
-    UInt32_t spare:8;
-    UInt32_t overflow:16;
-    UInt32_t seq_num:8;
+    uint32_t spare:8;
+    uint32_t overflow:16;
+    uint32_t seq_num:8;
   } dl_count, ul_count;   /* Downlink and uplink count parameters    */
   struct {
-    UInt8_t eps_encryption;   /* algorithm used for ciphering            */
-    UInt8_t eps_integrity;    /* algorithm used for integrity protection */
-    UInt8_t umts_encryption;  /* algorithm used for ciphering            */
-    UInt8_t umts_integrity;   /* algorithm used for integrity protection */
-    UInt8_t gprs_encryption;  /* algorithm used for ciphering            */
-    UInt8_t umts_present:1;
-    UInt8_t gprs_present:1;
+    uint8_t eps_encryption;   /* algorithm used for ciphering            */
+    uint8_t eps_integrity;    /* algorithm used for integrity protection */
+    uint8_t umts_encryption;  /* algorithm used for ciphering            */
+    uint8_t umts_integrity;   /* algorithm used for integrity protection */
+    uint8_t gprs_encryption;  /* algorithm used for ciphering            */
+    uint8_t umts_present:1;
+    uint8_t gprs_present:1;
   } capability;       /* UE network capability           */
   struct {
-    UInt8_t encryption:4;   /* algorithm used for ciphering           */
-    UInt8_t integrity:4;    /* algorithm used for integrity protection */
+    uint8_t encryption:4;   /* algorithm used for ciphering           */
+    uint8_t integrity:4;    /* algorithm used for integrity protection */
   } selected_algorithms;       /* MME selected algorithms                */
 } emm_security_context_t;
 
@@ -181,6 +181,10 @@ typedef struct emm_data_context_s {
 
   emm_fsm_state_t    _emm_fsm_status;
 
+  struct nas_timer_t T3450;   /* EMM message retransmission timer */
+  struct nas_timer_t T3460;   /* Authentication timer         */
+  struct nas_timer_t T3470;   /* Identification timer         */
+
   esm_data_context_t esm_data_ctx;
 } emm_data_context_t;
 
@@ -240,10 +244,6 @@ emm_data_t _emm_data;
 #define T3460_DEFAULT_VALUE 6   /* 6 seconds    */
 #define T3470_DEFAULT_VALUE 6   /* 6 seconds    */
 
-struct nas_timer_t T3450;   /* EMM message retransmission timer */
-struct nas_timer_t T3460;   /* Authentication timer         */
-struct nas_timer_t T3470;   /* Identification timer         */
-
 /*
  * mobile reachable timer
  * ----------------------
diff --git a/openair-cn/NAS/MME/EMM/emm_data_ctx.c b/openair-cn/NAS/MME/EMM/emm_data_ctx.c
index 90a96a18fbdf9d78e89018b16204103cebe10d36..4030e08e95d43acf83943ab8fd3c4d811ee18da8 100644
--- a/openair-cn/NAS/MME/EMM/emm_data_ctx.c
+++ b/openair-cn/NAS/MME/EMM/emm_data_ctx.c
@@ -80,13 +80,13 @@ struct emm_data_context_s *emm_data_context_get(
 struct emm_data_context_s *emm_data_context_remove(
   emm_data_t *emm_data, struct emm_data_context_s *elm)
 {
-  LOG_TRACE(INFO, "EMM-CTX - Remove in context %p UE id %u", elm, elm->ueid);
+  LOG_TRACE(INFO, "EMM-CTX - Remove in context %p UE id "NAS_UE_ID_FMT" ", elm, elm->ueid);
   return RB_REMOVE(emm_data_context_map, &emm_data->ctx_map, elm);
 }
 
 void emm_data_context_add(emm_data_t *emm_data, struct emm_data_context_s *elm)
 {
-  LOG_TRACE(INFO, "EMM-CTX - Add in context %p UE id %u", elm, elm->ueid);
+  LOG_TRACE(INFO, "EMM-CTX - Add in context %p UE id "NAS_UE_ID_FMT" ", elm, elm->ueid);
   RB_INSERT(emm_data_context_map, &emm_data->ctx_map, elm);
 }
 
@@ -97,7 +97,7 @@ void emm_data_context_dump(struct emm_data_context_s *elm_pP)
 	    char guti_str[22];
 	    int k, size, remaining_size;
         char key_string[KASME_LENGTH_OCTETS*2];
-	    LOG_TRACE(INFO, "EMM-CTX: ue id:            0x%06"PRIX32" (UE identifier)",                     elm_pP->ueid);
+	    LOG_TRACE(INFO, "EMM-CTX: ue id:           "NAS_UE_ID_FMT" (UE identifier)",                     elm_pP->ueid);
 	    LOG_TRACE(INFO, "         is_dynamic:       %u      (Dynamically allocated context indicator)", elm_pP->is_dynamic);
 	    LOG_TRACE(INFO, "         is_attached:      %u      (Attachment indicator)",                    elm_pP->is_attached);
 	    LOG_TRACE(INFO, "         is_emergency:     %u      (Emergency bearer services indicator)",     elm_pP->is_emergency);
diff --git a/openair-cn/NAS/MME/EMM/emm_main.c b/openair-cn/NAS/MME/EMM/emm_main.c
index 10a2891d17d7df35e28991cf2747de4c0ca56ef4..c90a7836f51ccb9481e920474da3d02d0aedbbbc 100644
--- a/openair-cn/NAS/MME/EMM/emm_main.c
+++ b/openair-cn/NAS/MME/EMM/emm_main.c
@@ -104,16 +104,6 @@ void emm_main_initialize(void)
   RB_INIT(&_emm_data.ctx_map);
 #endif
 
-  /*
-   * Initialize EMM timers
-   */
-  T3450.id = NAS_TIMER_INACTIVE_ID;
-  T3450.sec = T3450_DEFAULT_VALUE;
-  T3460.id = NAS_TIMER_INACTIVE_ID;
-  T3460.sec = T3460_DEFAULT_VALUE;
-  T3470.id = NAS_TIMER_INACTIVE_ID;
-  T3470.sec = T3470_DEFAULT_VALUE;
-
   LOG_FUNC_OUT;
 }
 
diff --git a/openair-cn/NAS/MME/EMM/emm_proc.h b/openair-cn/NAS/MME/EMM/emm_proc.h
index 15b66e8f7e09bd5763df72c2c66598b20fb1bf92..d7892a03b1bef4abedd6c995e14588137ba065f4 100644
--- a/openair-cn/NAS/MME/EMM/emm_proc.h
+++ b/openair-cn/NAS/MME/EMM/emm_proc.h
@@ -156,7 +156,7 @@ int emm_proc_identification(unsigned int                   ueid,
                             emm_common_reject_callback_t   reject,
                             emm_common_failure_callback_t  failure);
 int emm_proc_identification_complete(unsigned int ueid, const imsi_t *imsi,
-                                     const imei_t *imei, UInt32_t *tmsi);
+                                     const imei_t *imei, uint32_t *tmsi);
 
 /*
  * --------------------------------------------------------------------------
diff --git a/openair-cn/NAS/MME/ESM/DedicatedEpsBearerContextActivation.c b/openair-cn/NAS/MME/ESM/DedicatedEpsBearerContextActivation.c
index 3894f017be78bd90c2e54c4682b1d52a449997ab..813b29770d663b6ff976ffe0cb31c7bb421c6dc3 100644
--- a/openair-cn/NAS/MME/ESM/DedicatedEpsBearerContextActivation.c
+++ b/openair-cn/NAS/MME/ESM/DedicatedEpsBearerContextActivation.c
@@ -134,7 +134,7 @@ int esm_proc_dedicated_eps_bearer_context(emm_data_context_t *ctx, int pid,
   LOG_FUNC_IN;
 
   LOG_TRACE(INFO, "ESM-PROC  - Dedicated EPS bearer context activation "
-            "(ueid=%u, pid=%d)", ctx->ueid, pid);
+            "(ueid="NAS_UE_ID_FMT", pid=%d)", ctx->ueid, pid);
 
   /* Assign new EPS bearer context */
   *ebi = esm_ebr_assign(ctx, ESM_EBI_UNASSIGNED);
@@ -194,7 +194,7 @@ int esm_proc_dedicated_eps_bearer_context_request(int is_standalone,
   int rc = RETURNok;
 
   LOG_TRACE(INFO,"ESM-PROC  - Initiate dedicated EPS bearer context "
-            "activation (ueid=%d, ebi=%d)", ctx->ueid, ebi);
+            "activation (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
 
   /* Send activate dedicated EPS bearer context request message and
    * start timer T3485 */
@@ -244,7 +244,7 @@ int esm_proc_dedicated_eps_bearer_context_accept(emm_data_context_t *ctx, int eb
   int rc;
 
   LOG_TRACE(INFO, "ESM-PROC  - Dedicated EPS bearer context activation "
-            "accepted by the UE (ueid=%u, ebi=%d)", ctx->ueid, ebi);
+            "accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
 
   /* Stop T3485 timer */
   rc = esm_ebr_stop_timer(ctx, ebi);
@@ -297,7 +297,7 @@ int esm_proc_dedicated_eps_bearer_context_reject(emm_data_context_t *ctx, int eb
   LOG_FUNC_IN;
 
   LOG_TRACE(WARNING, "ESM-PROC  - Dedicated EPS bearer context activation "
-            "not accepted by the UE (ueid=%u, ebi=%d)", ctx->ueid, ebi);
+            "not accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
 
   /* Stop T3485 timer if running */
   rc = esm_ebr_stop_timer(ctx, ebi);
@@ -362,7 +362,7 @@ static void *_dedicated_eps_bearer_activate_t3485_handler(void *args)
   /* Increment the retransmission counter */
   data->count += 1;
 
-  LOG_TRACE(WARNING, "ESM-PROC  - T3485 timer expired (ueid=%d, ebi=%d), "
+  LOG_TRACE(WARNING, "ESM-PROC  - T3485 timer expired (ueid="NAS_UE_ID_FMT", ebi=%d), "
             "retransmission counter = %d",
             data->ueid, data->ebi, data->count);
 
diff --git a/openair-cn/NAS/MME/ESM/DefaultEpsBearerContextActivation.c b/openair-cn/NAS/MME/ESM/DefaultEpsBearerContextActivation.c
index ecb2dc1d2f89ddeac95a5900ad06aea59035edf7..831fc3327d257d4f5f6761eb3042b1b144ad0805 100644
--- a/openair-cn/NAS/MME/ESM/DefaultEpsBearerContextActivation.c
+++ b/openair-cn/NAS/MME/ESM/DefaultEpsBearerContextActivation.c
@@ -126,7 +126,7 @@ int esm_proc_default_eps_bearer_context(emm_data_context_t *ctx, int pid,
   LOG_FUNC_IN;
 
   LOG_TRACE(INFO, "ESM-PROC  - Default EPS bearer context activation "
-            "(ueid=%u, pid=%d, GBR UL %u GBR DL %u, MBR UL %u MBR DL %u QCI %u)",
+            "(ueid="NAS_UE_ID_FMT", pid=%d, GBR UL %u GBR DL %u, MBR UL %u MBR DL %u QCI %u)",
             ctx->ueid,
             pid,
             qos->gbrUL,
@@ -200,11 +200,11 @@ int esm_proc_default_eps_bearer_context_request(int is_standalone,
     /* Send activate default EPS bearer context request message and
      * start timer T3485 */
     LOG_TRACE(INFO,"ESM-PROC  - Initiate standalone default EPS bearer context activation "
-              "(ueid=%u, ebi=%d)", ctx->ueid, ebi);
+              "(ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
     rc = _default_eps_bearer_activate(ctx, ebi, msg);
   } else {
     LOG_TRACE(INFO,"ESM-PROC  - Initiate non standalone default EPS bearer context activation "
-              "(ueid=%u, ebi=%d)", ctx->ueid, ebi);
+              "(ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
   }
 
   if (rc != RETURNerror) {
@@ -251,7 +251,7 @@ int esm_proc_default_eps_bearer_context_accept(emm_data_context_t *ctx, int ebi,
   int rc;
 
   LOG_TRACE(INFO, "ESM-PROC  - Default EPS bearer context activation "
-            "accepted by the UE (ueid=%u, ebi=%d)", ctx->ueid, ebi);
+            "accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
 
   /* Stop T3485 timer if running */
   rc = esm_ebr_stop_timer(ctx, ebi);
@@ -300,7 +300,7 @@ int esm_proc_default_eps_bearer_context_reject(emm_data_context_t *ctx, int ebi,
   int rc;
 
   LOG_TRACE(WARNING, "ESM-PROC  - Default EPS bearer context activation "
-            "not accepted by the UE (ueid=%u, ebi=%d)", ctx->ueid, ebi);
+            "not accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
 
   /* Stop T3485 timer if running */
   rc = esm_ebr_stop_timer(ctx, ebi);
@@ -352,7 +352,7 @@ int esm_proc_default_eps_bearer_context_failure(emm_data_context_t *ctx)
   LOG_FUNC_IN;
 
   LOG_TRACE(WARNING, "ESM-PROC  - Default EPS bearer context activation "
-            "failure (ueid=%u)", ctx->ueid);
+            "failure (ueid="NAS_UE_ID_FMT")", ctx->ueid);
 
   /* Get the EPS bearer identity of the EPS bearer context which is still
    * pending in the active pending state */
@@ -417,7 +417,7 @@ static void *_default_eps_bearer_activate_t3485_handler(void *args)
   /* Increment the retransmission counter */
   data->count += 1;
 
-  LOG_TRACE(WARNING, "ESM-PROC  - T3485 timer expired (ueid=%d, ebi=%d), "
+  LOG_TRACE(WARNING, "ESM-PROC  - T3485 timer expired (ueid="NAS_UE_ID_FMT", ebi=%d), "
             "retransmission counter = %d",
             data->ueid, data->ebi, data->count);
 
diff --git a/openair-cn/NAS/MME/ESM/EpsBearerContextDeactivation.c b/openair-cn/NAS/MME/ESM/EpsBearerContextDeactivation.c
index 2b282cccd2da886c071d8f35601934a8d3f3919e..b26240a848d96aaadc97e4d54a3059fc3301bc2d 100644
--- a/openair-cn/NAS/MME/ESM/EpsBearerContextDeactivation.c
+++ b/openair-cn/NAS/MME/ESM/EpsBearerContextDeactivation.c
@@ -164,7 +164,7 @@ int esm_proc_eps_bearer_context_deactivate(emm_data_context_t *ctx, int is_local
   }
 
   LOG_TRACE(INFO, "ESM-PROC  - EPS bearer context deactivation "
-            "(ueid=%u, ebi=%d)", ctx->ueid, ebi);
+            "(ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
 
   if ((ctx != NULL) &&
       (*pid < ESM_DATA_PDN_MAX) ) {
@@ -234,7 +234,7 @@ int esm_proc_eps_bearer_context_deactivate_request(int is_standalone,
   int rc;
 
   LOG_TRACE(INFO,"ESM-PROC  - Initiate EPS bearer context deactivation "
-            "(ueid=%d, ebi=%d)", ctx->ueid, ebi);
+            "(ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
 
   /* Send deactivate EPS bearer context request message and
    * start timer T3495 */
@@ -288,7 +288,7 @@ int esm_proc_eps_bearer_context_deactivate_accept(emm_data_context_t *ctx, int e
   int pid = RETURNerror;
 
   LOG_TRACE(INFO, "ESM-PROC  - EPS bearer context deactivation "
-            "accepted by the UE (ueid=%u, ebi=%d)", ctx->ueid, ebi);
+            "accepted by the UE (ueid="NAS_UE_ID_FMT", ebi=%d)", ctx->ueid, ebi);
 
   /* Stop T3495 timer if running */
   rc = esm_ebr_stop_timer(ctx, ebi);
@@ -353,7 +353,7 @@ static void *_eps_bearer_deactivate_t3495_handler(void *args)
   /* Increment the retransmission counter */
   data->count += 1;
 
-  LOG_TRACE(WARNING, "ESM-PROC  - T3495 timer expired (ueid=%d, ebi=%d), "
+  LOG_TRACE(WARNING, "ESM-PROC  - T3495 timer expired (ueid="NAS_UE_ID_FMT", ebi=%d), "
             "retransmission counter = %d",
             data->ueid, data->ebi, data->count);
 
diff --git a/openair-cn/NAS/MME/ESM/PdnConnectivity.c b/openair-cn/NAS/MME/ESM/PdnConnectivity.c
index 7cb51e0af4307ef3052e64a4d67a6d51ee793547..e2eda77bed43a5d7aa554a2d4d1f84f7a63ca65e 100644
--- a/openair-cn/NAS/MME/ESM/PdnConnectivity.c
+++ b/openair-cn/NAS/MME/ESM/PdnConnectivity.c
@@ -162,7 +162,7 @@ int esm_proc_pdn_connectivity_request(emm_data_context_t *ctx, int pti,
   LOG_FUNC_IN;
 
   LOG_TRACE(INFO, "ESM-PROC  - PDN connectivity requested by the UE "
-            "(ueid=%u, pti=%d) PDN type = %s, APN = %s pdn addr = %s", ctx->ueid, pti,
+            "(ueid="NAS_UE_ID_FMT", pti=%d) PDN type = %s, APN = %s pdn addr = %s", ctx->ueid, pti,
             (pdn_type == ESM_PDN_TYPE_IPV4)? "IPv4" :
             (pdn_type == ESM_PDN_TYPE_IPV6)? "IPv6" : "IPv4v6",
             (apn) ? (char *)(apn->value) : "null",
@@ -323,7 +323,7 @@ int esm_proc_pdn_connectivity_reject(int is_standalone, emm_data_context_t *ctx,
   int rc = RETURNerror;
 
   LOG_TRACE(WARNING, "ESM-PROC  - PDN connectivity not accepted by the "
-            "network (ueid=%d)", ctx->ueid);
+            "network (ueid="NAS_UE_ID_FMT")", ctx->ueid);
 
   if (is_standalone) {
     emm_sap_t emm_sap;
@@ -371,7 +371,7 @@ int esm_proc_pdn_connectivity_failure(emm_data_context_t *ctx, int pid)
 
   LOG_FUNC_IN;
 
-  LOG_TRACE(WARNING, "ESM-PROC  - PDN connectivity failure (ueid=%u, pid=%d)",
+  LOG_TRACE(WARNING, "ESM-PROC  - PDN connectivity failure (ueid="NAS_UE_ID_FMT", pid=%d)",
             ctx->ueid, pid);
 
   /* Delete the PDN connection entry */
@@ -426,7 +426,7 @@ static int _pdn_connectivity_create(emm_data_context_t *ctx,
   int pid = ESM_DATA_PDN_MAX;
 
   LOG_TRACE(INFO, "ESM-PROC  - Create new PDN connection "
-            "(pti=%d) APN = %s, IP address = %s (ueid=%u)", pti, apn->value,
+            "(pti=%d) APN = %s, IP address = %s (ueid="NAS_UE_ID_FMT")", pti, apn->value,
             (pdn_type == ESM_PDN_TYPE_IPV4)? esm_data_get_ipv4_addr(pdn_addr) :
             (pdn_type == ESM_PDN_TYPE_IPV6)? esm_data_get_ipv6_addr(pdn_addr) :
             esm_data_get_ipv4v6_addr(pdn_addr), ctx->ueid);
diff --git a/openair-cn/NAS/MME/ESM/PdnDisconnect.c b/openair-cn/NAS/MME/ESM/PdnDisconnect.c
index a17744577cc624093cc40791aae26e339908d669..9dfcbd66fb3120c676b501bea03be3b9f841bf6a 100644
--- a/openair-cn/NAS/MME/ESM/PdnDisconnect.c
+++ b/openair-cn/NAS/MME/ESM/PdnDisconnect.c
@@ -123,7 +123,7 @@ int esm_proc_pdn_disconnect_request(emm_data_context_t *ctx, int pti, int *esm_c
   LOG_FUNC_IN;
 
   LOG_TRACE(INFO, "ESM-PROC  - PDN disconnect requested by the UE "
-            "(ueid=%d, pti=%d)", ctx->ueid, pti);
+            "(ueid="NAS_UE_ID_FMT", pti=%d)", ctx->ueid, pti);
 
   /* Get UE's ESM context */
   if (ctx->esm_data_ctx.n_pdns > 1) {
@@ -173,7 +173,7 @@ int esm_proc_pdn_disconnect_accept(emm_data_context_t *ctx, int pid, int *esm_ca
   LOG_FUNC_IN;
 
   LOG_TRACE(INFO, "ESM-PROC  - PDN disconnect accepted by the UE "
-            "(ueid=%d, pid=%d)", ctx->ueid, pid);
+            "(ueid="NAS_UE_ID_FMT", pid=%d)", ctx->ueid, pid);
 
   /* Release the connectivity with the requested PDN */
   int rc = mme_api_unsubscribe(NULL);
@@ -225,7 +225,7 @@ int esm_proc_pdn_disconnect_reject(int is_standalone, emm_data_context_t *ctx,
   emm_sap_t emm_sap;
 
   LOG_TRACE(WARNING, "ESM-PROC  - PDN disconnect not accepted by the network "
-            "(ueid=%d)", ctx->ueid);
+            "(ueid="NAS_UE_ID_FMT")", ctx->ueid);
 
   /*
    * Notity EMM that ESM PDU has to be forwarded to lower layers
diff --git a/openair-cn/NAS/MME/ESM/esm_ebr.c b/openair-cn/NAS/MME/ESM/esm_ebr.c
index bd85dd6643d818dd04e9a842848588097624801b..720e69a5eb59a19bd9dbf2e1fce1220f5ce374a3 100644
--- a/openair-cn/NAS/MME/ESM/esm_ebr.c
+++ b/openair-cn/NAS/MME/ESM/esm_ebr.c
@@ -53,6 +53,7 @@ Description Defines functions used to handle state of EPS bearer contexts
 #include "nas_log.h"
 
 #include "mme_api.h"
+#include "msc.h"
 
 /****************************************************************************/
 /****************  E X T E R N A L    D E F I N I T I O N S  ****************/
@@ -268,6 +269,7 @@ int esm_ebr_release(
     LOG_TRACE(INFO, "ESM-FSM   - Stop retransmission timer %d",
               ebr_ctx->timer.id);
     ebr_ctx->timer.id = nas_timer_stop(ebr_ctx->timer.id);
+    MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 Timer %x ebi %u stopped",ebr_ctx->timer.id, ebi);
   }
 
   /* Release the retransmisison timer parameters */
@@ -335,6 +337,7 @@ int esm_ebr_start_timer(emm_data_context_t *ctx, int ebi, const OctetString *msg
     if (ebr_ctx->args) {
       /* Re-start the retransmission timer */
       ebr_ctx->timer.id = nas_timer_restart(ebr_ctx->timer.id);
+      MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 Timer %x ebi %u restarted",ebr_ctx->timer.id, ebi);
     }
   } else {
     /* Setup the retransmission timer parameters */
@@ -359,6 +362,7 @@ int esm_ebr_start_timer(emm_data_context_t *ctx, int ebi, const OctetString *msg
       /* Setup the retransmission timer to expire at the given
        * time interval */
       ebr_ctx->timer.id = nas_timer_start(sec, cb, ebr_ctx->args);
+      MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 Timer %x ebi %u started",ebr_ctx->timer.id, ebi);
       ebr_ctx->timer.sec = sec;
     }
   }
@@ -415,6 +419,7 @@ int esm_ebr_stop_timer(emm_data_context_t *ctx, int ebi)
     LOG_TRACE(INFO, "ESM-FSM   - Stop retransmission timer %d",
               ebr_ctx->timer.id);
     ebr_ctx->timer.id = nas_timer_stop(ebr_ctx->timer.id);
+    MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 Timer %x ebi %u stopped",ebr_ctx->timer.id, ebi);
   }
 
   /* Release the retransmisison timer parameters */
@@ -526,13 +531,18 @@ int esm_ebr_set_status(
   old_status = ebr_ctx->status;
 
   if (status < ESM_EBR_STATE_MAX) {
-    LOG_TRACE(INFO, "ESM-FSM   - Status of EPS bearer context %d changed:"
-              " %s ===> %s", ebi,
-              _esm_ebr_state_str[old_status], _esm_ebr_state_str[status]);
-
     if (status != old_status) {
+      LOG_TRACE(INFO, "ESM-FSM   - Status of EPS bearer context %d changed:"
+                  " %s ===> %s", ebi,
+                  _esm_ebr_state_str[old_status], _esm_ebr_state_str[status]);
+      MSC_LOG_EVENT(MSC_NAS_ESM_MME, "0 ESM state %s => %s "NAS_UE_ID_FMT" ",
+        _esm_ebr_state_str[old_status], _esm_ebr_state_str[status], ctx->ueid);
+
       ebr_ctx->status = status;
       LOG_FUNC_RETURN (RETURNok);
+    } else {
+        LOG_TRACE(INFO, "ESM-FSM   - Status of EPS bearer context %d unchanged:"
+                  " %s ", ebi, _esm_ebr_state_str[status]);
     }
   }
 
diff --git a/openair-cn/NAS/MME/nas_itti_messaging.c b/openair-cn/NAS/MME/nas_itti_messaging.c
index 7dcb5c52d1421ca8cbb46a381dc8de2fc1ad9c0d..c22f40895494b6858d1d0382ce203f57571dbfd9 100644
--- a/openair-cn/NAS/MME/nas_itti_messaging.c
+++ b/openair-cn/NAS/MME/nas_itti_messaging.c
@@ -37,7 +37,7 @@
 
 
 #if defined(NAS_BUILT_IN_EPC)
-static const UInt8_t emm_message_ids[] = {
+static const uint8_t emm_message_ids[] = {
   ATTACH_REQUEST,
   ATTACH_ACCEPT,
   ATTACH_COMPLETE,
@@ -69,7 +69,7 @@ static const UInt8_t emm_message_ids[] = {
   CS_SERVICE_NOTIFICATION,
 };
 
-static const UInt8_t esm_message_ids[] = {
+static const uint8_t esm_message_ids[] = {
   ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST,
   ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT,
   ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT,
@@ -94,7 +94,7 @@ static const UInt8_t esm_message_ids[] = {
   ESM_STATUS,
 };
 
-static int _nas_find_message_index(const UInt8_t message_id, const UInt8_t *message_ids, const int ids_number)
+static int _nas_find_message_index(const uint8_t message_id, const uint8_t *message_ids, const int ids_number)
 {
   int i;
 
@@ -201,7 +201,7 @@ int nas_itti_dl_data_req(const uint32_t ue_id, void *const data,
   	  	MSC_NAS_MME,
   	  	MSC_S1AP_MME,
   	  	NULL,0,
-  	  	"0 NAS_DOWNLINK_DATA_REQ ue id %06"PRIX32" len %u", ue_id, length);
+  	  	"0 NAS_DOWNLINK_DATA_REQ ue id "NAS_UE_ID_FMT" len %u", ue_id, length);
 
   return itti_send_msg_to_task(TASK_S1AP, INSTANCE_DEFAULT, message_p);
 }
diff --git a/openair-cn/NAS/MME/nas_proc.c b/openair-cn/NAS/MME/nas_proc.c
index 4f53506dba6f1f3622dd5a280f621139a513e632..7fae146a894c23ec11e6a23b49c3e053df74f9ef 100644
--- a/openair-cn/NAS/MME/nas_proc.c
+++ b/openair-cn/NAS/MME/nas_proc.c
@@ -165,8 +165,8 @@ void nas_proc_cleanup(void)
  **      Others:    None                                       **
  **                                                                        **
  ***************************************************************************/
-int nas_proc_establish_ind(UInt32_t ueid, tac_t tac,
-                           const Byte_t *data, UInt32_t len)
+int nas_proc_establish_ind(uint32_t ueid, tac_t tac,
+                           const Byte_t *data, uint32_t len)
 {
   LOG_FUNC_IN;
 
@@ -179,7 +179,7 @@ int nas_proc_establish_ind(UInt32_t ueid, tac_t tac,
     		MSC_NAS_MME,
     		MSC_NAS_EMM_MME,
     		NULL,0,
-    		"0 EMMAS_ESTABLISH_REQ ue id %06"PRIX32" tac %u", ueid, tac);
+    		"0 EMMAS_ESTABLISH_REQ ue id "NAS_UE_ID_FMT" tac %u", ueid, tac);
     /*
      * Notify the EMM procedure call manager that NAS signalling
      * connection establishment indication message has been received
@@ -211,7 +211,7 @@ int nas_proc_establish_ind(UInt32_t ueid, tac_t tac,
  **      Others:    None                                       **
  **                                                                        **
  ***************************************************************************/
-int nas_proc_dl_transfer_cnf(UInt32_t ueid)
+int nas_proc_dl_transfer_cnf(uint32_t ueid)
 {
   LOG_FUNC_IN;
 
@@ -222,7 +222,7 @@ int nas_proc_dl_transfer_cnf(UInt32_t ueid)
   		MSC_NAS_MME,
   		MSC_NAS_EMM_MME,
   		NULL,0,
-  		"0 EMMAS_DATA_IND dl_transfer_conf ue id %06"PRIX32"", ueid);
+  		"0 EMMAS_DATA_IND dl_transfer_conf ue id "NAS_UE_ID_FMT" ", ueid);
 
   /*
    * Notify the EMM procedure call manager that downlink NAS message
@@ -254,7 +254,7 @@ int nas_proc_dl_transfer_cnf(UInt32_t ueid)
  **      Others:    None                                       **
  **                                                                        **
  ***************************************************************************/
-int nas_proc_dl_transfer_rej(UInt32_t ueid)
+int nas_proc_dl_transfer_rej(uint32_t ueid)
 {
   LOG_FUNC_IN;
 
@@ -265,7 +265,7 @@ int nas_proc_dl_transfer_rej(UInt32_t ueid)
   		MSC_NAS_MME,
   		MSC_NAS_EMM_MME,
   		NULL,0,
-  		"0 EMMAS_DATA_IND dl_transfer_reject ue id %06"PRIX32"", ueid);
+  		"0 EMMAS_DATA_IND dl_transfer_reject ue id "NAS_UE_ID_FMT" ", ueid);
 
   /*
    * Notify the EMM procedure call manager that transmission
@@ -298,7 +298,7 @@ int nas_proc_dl_transfer_rej(UInt32_t ueid)
  **      Others:    None                                       **
  **                                                                        **
  ***************************************************************************/
-int nas_proc_ul_transfer_ind(UInt32_t ueid, const Byte_t *data, UInt32_t len)
+int nas_proc_ul_transfer_ind(uint32_t ueid, const Byte_t *data, uint32_t len)
 {
   int rc = RETURNerror;
 
@@ -314,7 +314,7 @@ int nas_proc_ul_transfer_ind(UInt32_t ueid, const Byte_t *data, UInt32_t len)
     		MSC_NAS_MME,
     		MSC_NAS_EMM_MME,
     		NULL,0,
-    		"0 EMMAS_DATA_IND ue id %06"PRIX32" len %u", ueid, len);
+    		"0 EMMAS_DATA_IND ue id "NAS_UE_ID_FMT" len %u", ueid, len);
 
     emm_sap.primitive = EMMAS_DATA_IND;
     emm_sap.u.emm_as.u.data.ueid = ueid;
@@ -370,7 +370,7 @@ int nas_proc_auth_param_fail(emm_cn_auth_fail_t *emm_cn_auth_fail)
   LOG_FUNC_RETURN (rc);
 }
 
-int nas_proc_deregister_ue(UInt32_t ue_id)
+int nas_proc_deregister_ue(uint32_t ue_id)
 {
   int rc = RETURNerror;
   emm_sap_t emm_sap;
@@ -381,7 +381,7 @@ int nas_proc_deregister_ue(UInt32_t ue_id)
   		MSC_NAS_MME,
   		MSC_NAS_EMM_MME,
   		NULL,0,
-  		"0 EMMCN_DEREGISTER_UE ue_id %06"PRIX32"",ue_id);
+  		"0 EMMCN_DEREGISTER_UE ue_id "NAS_UE_ID_FMT" ",ue_id);
 
   emm_sap.primitive = EMMCN_DEREGISTER_UE;
   emm_sap.u.emm_cn.u.deregister.UEid = ue_id;
diff --git a/openair-cn/NAS/MME/nas_proc.h b/openair-cn/NAS/MME/nas_proc.h
index 9e6f6aa0254a9f78248d8c3dee6a16678313b130..a00060ed9d61194290faabfbc0404b909c185938 100644
--- a/openair-cn/NAS/MME/nas_proc.h
+++ b/openair-cn/NAS/MME/nas_proc.h
@@ -93,12 +93,12 @@ void nas_proc_cleanup(void);
 
 
 
-int nas_proc_establish_ind(UInt32_t ueid, tac_t tac, const Byte_t *data,
-                           UInt32_t len);
+int nas_proc_establish_ind(uint32_t ueid, tac_t tac, const Byte_t *data,
+                           uint32_t len);
 
-int nas_proc_dl_transfer_cnf(UInt32_t ueid);
-int nas_proc_dl_transfer_rej(UInt32_t ueid);
-int nas_proc_ul_transfer_ind(UInt32_t ueid, const Byte_t *data, UInt32_t len);
+int nas_proc_dl_transfer_cnf(uint32_t ueid);
+int nas_proc_dl_transfer_rej(uint32_t ueid);
+int nas_proc_ul_transfer_ind(uint32_t ueid, const Byte_t *data, uint32_t len);
 
 /*
  * --------------------------------------------------------------------------
@@ -108,7 +108,7 @@ int nas_proc_ul_transfer_ind(UInt32_t ueid, const Byte_t *data, UInt32_t len);
 #if defined(NAS_BUILT_IN_EPC)
 int nas_proc_auth_param_res(emm_cn_auth_res_t *emm_cn_auth_res);
 int nas_proc_auth_param_fail(emm_cn_auth_fail_t *emm_cn_auth_fail);
-int nas_proc_deregister_ue(UInt32_t ue_id);
+int nas_proc_deregister_ue(uint32_t ue_id);
 int nas_proc_pdn_connectivity_res(nas_pdn_connectivity_rsp_t *nas_pdn_connectivity_rsp);
 int nas_proc_pdn_connectivity_fail(nas_pdn_connectivity_fail_t *nas_pdn_connectivity_fail);
 #endif
diff --git a/openair-cn/NAS/TEST/AS_SIMULATOR/as_simulator.c b/openair-cn/NAS/TEST/AS_SIMULATOR/as_simulator.c
index 39139e11dfbcc925a8ac6f3250802d59d7b775fd..20c49981bdcb557c749e6ce67850d0ec29e21174 100644
--- a/openair-cn/NAS/TEST/AS_SIMULATOR/as_simulator.c
+++ b/openair-cn/NAS/TEST/AS_SIMULATOR/as_simulator.c
@@ -57,12 +57,12 @@ Description Implements the Access-Stratum simulator operating between
 /*
  * Direction of the message to be transfered to the UE NAS process
  */
-static UInt8_t _as_simulator_ue_transfer = AS_SIMULATOR_NO_TRANSFER;
+static uint8_t _as_simulator_ue_transfer = AS_SIMULATOR_NO_TRANSFER;
 
 /*
  * Direction of the message to be transfered to the MME NAS process
  */
-static UInt8_t _as_simulator_mme_transfer = AS_SIMULATOR_NO_TRANSFER;
+static uint8_t _as_simulator_mme_transfer = AS_SIMULATOR_NO_TRANSFER;
 
 /*
  * Size of the message to be transfered to the UE NAS process
diff --git a/openair-cn/NAS/TOOLS/usim_data.c b/openair-cn/NAS/TOOLS/usim_data.c
index 5354ebac88c362159a0501122e19c4c63edf2e66..ea867fef3cc2e860fb863f867fbeca38a35bb953 100644
--- a/openair-cn/NAS/TOOLS/usim_data.c
+++ b/openair-cn/NAS/TOOLS/usim_data.c
@@ -515,9 +515,9 @@ static void _display_usim_data(const usim_data_t* data)
   memcpy(kasme, data->securityctx.Kasme.value, USIM_K_ASME_SIZE);
   printf("\tKasme\t: \"%s\"\n", kasme);
   printf("\tulNAScount\t: 0x%.8x\n",
-         *(UInt32_t*)data->securityctx.ulNAScount.value);
+         *(uint32_t*)data->securityctx.ulNAScount.value);
   printf("\tdlNAScount\t: 0x%.8x\n",
-         *(UInt32_t*)data->securityctx.dlNAScount.value);
+         *(uint32_t*)data->securityctx.dlNAScount.value);
   printf("\talgorithmID\t: 0x%.2x\n\n",
          data->securityctx.algorithmID.value[0]);
 
diff --git a/openair-cn/NAS/UE/API/USER/user_indication.h b/openair-cn/NAS/UE/API/USER/user_indication.h
index 799b02114867e5268a5bd01ff71e9f4dab7314d2..4cf762b609b7ca230d68076f64455898ca68a416 100644
--- a/openair-cn/NAS/UE/API/USER/user_indication.h
+++ b/openair-cn/NAS/UE/API/USER/user_indication.h
@@ -90,7 +90,7 @@ typedef struct {
  * has activated or desactivated a PDN connection
  */
 typedef struct {
-  UInt8_t cid;    /* PDN connection identifier  */
+  uint8_t cid;    /* PDN connection identifier  */
   network_pdn_state_t status; /* PDN connection status  */
 } user_ind_pdn_t;
 
diff --git a/openair-cn/NAS/UE/API/USIM/usim_api.c b/openair-cn/NAS/UE/API/USIM/usim_api.c
index 944e7447298710321de2a76439a279cdccb08bac..e69e78ddec85d388933f3e4d442276508dda11d4 100644
--- a/openair-cn/NAS/UE/API/USIM/usim_api.c
+++ b/openair-cn/NAS/UE/API/USIM/usim_api.c
@@ -79,7 +79,7 @@ Description Implements the API used by the NAS layer to read/write
 #define USIM_API_K_SIZE         16
 #define USIM_API_K_VALUE        "8BAF473F2F8FD09487CCCBD7097C6862"
 
-static UInt8_t _usim_api_k[USIM_API_K_SIZE];
+static uint8_t _usim_api_k[USIM_API_K_SIZE];
 
 
 /*
@@ -87,16 +87,16 @@ static UInt8_t _usim_api_k[USIM_API_K_SIZE];
  */
 static struct _usim_api_data_s {
   /* Highest sequence number the USIM has ever accepted */
-  UInt32_t sqn_ms;
+  uint32_t sqn_ms;
   /* List of the last used sequence numbers   */
 #define USIM_API_SQN_LIST_SIZE  32
-  UInt8_t n_sqns;
-  UInt32_t sqn[USIM_API_SQN_LIST_SIZE];
+  uint8_t n_sqns;
+  uint32_t sqn[USIM_API_SQN_LIST_SIZE];
 } _usim_api_data;
 
-static UInt8_t _usim_api_hex_char_to_hex_value (char c);
-static void _usim_api_hex_string_to_hex_value (UInt8_t *hex_value, const char *hex_string, int size);
-static int _usim_api_check_sqn(UInt32_t seq, UInt8_t ind);
+static uint8_t _usim_api_hex_char_to_hex_value (char c);
+static void _usim_api_hex_string_to_hex_value (uint8_t *hex_value, const char *hex_string, int size);
+static int _usim_api_check_sqn(uint32_t seq, uint8_t ind);
 
 /****************************************************************************/
 /******************  E X P O R T E D    F U N C T I O N S  ******************/
@@ -274,7 +274,7 @@ int usim_api_authenticate(const OctetString* rand_pP, const OctetString* autn_pP
   }
 
   /* Verify that the received sequence number SQN is in the correct range */
-  rc = _usim_api_check_sqn(*(UInt32_t*)(sqn), sqn[USIM_API_SQN_SIZE - 1]);
+  rc = _usim_api_check_sqn(*(uint32_t*)(sqn), sqn[USIM_API_SQN_SIZE - 1]);
 
   if (rc != RETURNok) {
     /* Synchronisation failure; compute the AUTS parameter */
@@ -291,7 +291,7 @@ int usim_api_authenticate(const OctetString* rand_pP, const OctetString* autn_pP
     for (i = 0; i < USIM_API_SQN_MS_SIZE; i++) {
 #warning "LG:BUG HERE TODO"
       sqn_ms[USIM_API_SQNMS_SIZE - i] =
-        ((UInt8_t*)(_usim_api_data.sqn_ms))[USIM_API_SQN_MS_SIZE - i];
+        ((uint8_t*)(_usim_api_data.sqn_ms))[USIM_API_SQN_MS_SIZE - i];
     }
 
     u8 sqnms[USIM_API_SQNMS_SIZE];
@@ -340,7 +340,7 @@ int usim_api_authenticate(const OctetString* rand_pP, const OctetString* autn_pP
  **              Others:        None                                       **
  **                                                                        **
  ***************************************************************************/
-static UInt8_t _usim_api_hex_char_to_hex_value (char c)
+static uint8_t _usim_api_hex_char_to_hex_value (char c)
 {
   if (c >= 'A') {
     /* Remove case bit */
@@ -368,7 +368,7 @@ static UInt8_t _usim_api_hex_char_to_hex_value (char c)
  **              Others:        None                                       **
  **                                                                        **
  ***************************************************************************/
-static void _usim_api_hex_string_to_hex_value (UInt8_t *hex_value, const char *hex_string, int size)
+static void _usim_api_hex_string_to_hex_value (uint8_t *hex_value, const char *hex_string, int size)
 {
   int i;
 
@@ -396,7 +396,7 @@ static void _usim_api_hex_string_to_hex_value (UInt8_t *hex_value, const char *h
  **              Others:        None                                       **
  **                                                                        **
  ***************************************************************************/
-static int _usim_api_check_sqn(UInt32_t seq, UInt8_t ind)
+static int _usim_api_check_sqn(uint32_t seq, uint8_t ind)
 {
   /* TODO */
   return (RETURNok);
diff --git a/openair-cn/NAS/UE/API/USIM/usim_api.h b/openair-cn/NAS/UE/API/USIM/usim_api.h
index e2c09c41a6b16a4e0c4fdc11acf428f28f0bf70f..7b5a767d9858aa1a35ae0b78ec106f3be3461c93 100644
--- a/openair-cn/NAS/UE/API/USIM/usim_api.h
+++ b/openair-cn/NAS/UE/API/USIM/usim_api.h
@@ -63,7 +63,7 @@ Description Implements the API used by the NAS layer to read/write
  * USIM TLV parameter structure
  * ----------------------------
  */
-#define USIM_TLV_T(SIZE) struct {UInt8_t type; UInt8_t length; Byte_t value[SIZE];}
+#define USIM_TLV_T(SIZE) struct {uint8_t type; uint8_t length; Byte_t value[SIZE];}
 
 /*
  * Non Access Stratum Configuration
@@ -123,7 +123,7 @@ typedef struct {
 typedef struct {
   /* Length of all subsequent data        */
 #define USIM_EPS_NAS_SECURITY_CONTEXT_TAG 0xA0U
-  UInt8_t length;
+  uint8_t length;
   /* Key set identifier KSI_ASME          */
 #define USIM_KSI_ASME_TAG     0x80U
   USIM_TLV_T(1) KSIasme;
@@ -197,7 +197,7 @@ typedef struct {
   tac_t start;
   tac_t end;
   /* PLMN Network Name Record Identifier  */
-  UInt8_t record_id;
+  uint8_t record_id;
 } usim_opl_t;
 
 /*
@@ -212,7 +212,7 @@ typedef struct {
 #define USIM_ACT_CDMA_1xRTT 0x1000
 #define USIM_ACT_UTRAN    0x0080
 #define USIM_ACT_EUTRAN   0x0040
-  UInt16_t AcT;
+  uint16_t AcT;
 } usim_plmn_act_t;
 
 /*
@@ -220,7 +220,7 @@ typedef struct {
  * ------------------------------
  */
 typedef struct {
-  UInt32_t tmsi;  /* Temporary Mobile Subscriber Identity   */
+  uint32_t tmsi;  /* Temporary Mobile Subscriber Identity   */
   lai_t    lai; /* Location Area Identity     */
   Byte_t   reserved;  /* Reserved for future use      */
 #define USIM_LOCI_UPDATED     0x00
@@ -235,7 +235,7 @@ typedef struct {
  * ----------------------------------------------
  */
 typedef struct {
-  UInt32_t p_tmsi;  /* Packet Temporary Mobile Subscriber Identity  */
+  uint32_t p_tmsi;  /* Packet Temporary Mobile Subscriber Identity  */
   Byte_t   signature[3];  /* P-TMSI signature value   */
   RAI_t    rai; /* Routing Area Identity      */
 #define USIM_PSLOCI_UPDATED     0x00
@@ -280,7 +280,7 @@ typedef struct {
 #define USIM_MAINTENANCE_MODE     0x02U
 #define USIM_CELL_TEST_MODE     0x04U
   Byte_t UE_Operation_Mode; /* Mode of operation for the UE   */
-  UInt16_t Additional_Info; /* Additional information depending on
+  uint16_t Additional_Info; /* Additional information depending on
          * the UE operation mode    */
   Byte_t MNC_Length;    /* Number of digits used for extracting
          * the MNC from the IMSI    */
diff --git a/openair-cn/NAS/UE/EMM/Authentication.c b/openair-cn/NAS/UE/EMM/Authentication.c
index ce319c4d3c75a1938667d6aac714556f7eb918b8..e0acb302aca8ae6ec963fba47102b6409736787b 100755
--- a/openair-cn/NAS/UE/EMM/Authentication.c
+++ b/openair-cn/NAS/UE/EMM/Authentication.c
@@ -945,16 +945,16 @@ static int _authentication_kasme(const OctetString *autn,
             kasme->length);
 
   /* Compute the derivation key KEY = CK || IK */
-  UInt8_t key[ck->length + ik->length];
+  uint8_t key[ck->length + ik->length];
   memcpy(key, ck->value, ck->length);
   memcpy(key + ck->length, ik->value, ik->length);
 
   /* Compute the KDF input_s parameter
    * S = FC(0x10) || SNid(MCC, MNC) || 0x00 0x03 || SQN ⊕ AK || 0x00 0x06
    */
-  UInt8_t  input_s[16]; // less than 16
-  UInt8_t  sn_id[AUTH_SNID_SIZE]; // less than 16
-  UInt16_t length;
+  uint8_t  input_s[16]; // less than 16
+  uint8_t  sn_id[AUTH_SNID_SIZE]; // less than 16
+  uint16_t length;
   int      offset         = 0;
   int      size_of_length = sizeof(length);
 
diff --git a/openair-cn/NAS/UE/EMM/LowerLayer.c b/openair-cn/NAS/UE/EMM/LowerLayer.c
index f60f0cf9aeb61677ecdf779568953452f2e72390..10f7c4ccc964da452dace0c746392ff4d19f906b 100755
--- a/openair-cn/NAS/UE/EMM/LowerLayer.c
+++ b/openair-cn/NAS/UE/EMM/LowerLayer.c
@@ -453,7 +453,7 @@ void emm_as_set_security_data(emm_as_security_data_t *data, const void *args,
               is_new,
               context->eksi,
               context->ul_count.seq_num,
-              *(UInt32_t *)(&context->ul_count));
+              *(uint32_t *)(&context->ul_count));
     LOG_TRACE(INFO,
               "knas_int %s",dump_octet_string(&context->knas_int));
     LOG_TRACE(INFO,
@@ -464,7 +464,7 @@ void emm_as_set_security_data(emm_as_security_data_t *data, const void *args,
     data->is_new = is_new;
     data->ksi    = context->eksi;
     data->sqn    = context->ul_count.seq_num;
-    // LG data->count = *(UInt32_t *)(&context->ul_count);
+    // LG data->count = *(uint32_t *)(&context->ul_count);
     data->count  = 0x00000000 | (context->ul_count.overflow << 8 ) | context->ul_count.seq_num;
     /* NAS integrity and cyphering keys may not be available if the
      * current security context is a partial EPS security context
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_as.c b/openair-cn/NAS/UE/EMM/SAP/emm_as.c
index bf98dc4483716ee710eb5df9427ed70b2a88f3ab..433b4e5304787201ed65732d4d9a85d7509a4a33 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_as.c
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_as.c
@@ -203,7 +203,7 @@ int emm_as_send(const emm_as_t *msg)
   int emm_cause = EMM_CAUSE_SUCCESS;
   emm_as_primitive_t primitive = msg->primitive;
 
-  UInt32_t ueid = 0;
+  uint32_t ueid = 0;
 
   LOG_TRACE(INFO, "EMMAS-SAP - Received primitive %s (%d)",
             _emm_as_primitive_str[primitive - _EMMAS_START - 1], primitive);
diff --git a/openair-cn/NAS/UE/EMM/SAP/emm_asDef.h b/openair-cn/NAS/UE/EMM/SAP/emm_asDef.h
index e2e0a773f8af9a275e45a4a972c6d51ec894fe34..fbd2a6b38e714d7ca02cb7e741297ecfa9deb852 100755
--- a/openair-cn/NAS/UE/EMM/SAP/emm_asDef.h
+++ b/openair-cn/NAS/UE/EMM/SAP/emm_asDef.h
@@ -81,11 +81,11 @@ typedef enum emm_as_primitive_u {
 
 /* Data used to setup EPS NAS security */
 typedef struct emm_as_security_data_s {
-  UInt8_t is_new;     /* New security data indicator      */
+  uint8_t is_new;     /* New security data indicator      */
 #define EMM_AS_NO_KEY_AVAILABLE     0xff
-  UInt8_t ksi;        /* NAS key set identifier       */
-  UInt8_t sqn;        /* Sequence number          */
-  UInt32_t count;     /* NAS counter              */
+  uint8_t ksi;        /* NAS key set identifier       */
+  uint8_t sqn;        /* Sequence number          */
+  uint32_t count;     /* NAS counter              */
   const OctetString *k_enc;   /* NAS cyphering key            */
   const OctetString *k_int;   /* NAS integrity key            */
 } emm_as_security_data_t;
@@ -99,21 +99,21 @@ typedef struct emm_as_security_data_s {
  * ----------------------------
  */
 typedef struct emm_as_security_s {
-  UInt32_t ueid;      /* UE lower layer identifier        */
+  uint32_t ueid;      /* UE lower layer identifier        */
   const GUTI_t *guti;     /* GUTI temporary mobile identity   */
   emm_as_security_data_t sctx;/* EPS NAS security context     */
   int emm_cause;      /* EMM failure cause code       */
   /*
    * Identity request/response
    */
-  UInt8_t identType;      /* Type of requested UE's identity  */
+  uint8_t identType;      /* Type of requested UE's identity  */
   const imsi_t *imsi;     /* The requested IMSI of the UE     */
   const imei_t *imei;     /* The requested IMEI of the UE     */
-  UInt32_t tmsi;      /* The requested TMSI of the UE     */
+  uint32_t tmsi;      /* The requested TMSI of the UE     */
   /*
    * Authentication request/response
    */
-  UInt8_t ksi;        /* NAS key set identifier       */
+  uint8_t ksi;        /* NAS key set identifier       */
   const OctetString *rand;    /* Random challenge number      */
   const OctetString *autn;    /* Authentication token         */
   const OctetString *res; /* Authentication response      */
@@ -121,23 +121,23 @@ typedef struct emm_as_security_s {
   /*
    * Security Mode Command
    */
-  UInt8_t eea;        /* Replayed EPS encryption algorithms   */
-  UInt8_t eia;        /* Replayed EPS integrity algorithms    */
-  UInt8_t uea;        /* Replayed UMTS encryption algorithms  */
+  uint8_t eea;        /* Replayed EPS encryption algorithms   */
+  uint8_t eia;        /* Replayed EPS integrity algorithms    */
+  uint8_t uea;        /* Replayed UMTS encryption algorithms  */
   uint8_t ucs2;
-  UInt8_t uia;        /* Replayed UMTS integrity algorithms   */
-  UInt8_t gea;        /* Replayed GPRS encryption algorithms   */
-  UInt8_t umts_present;
-  UInt8_t gprs_present;
+  uint8_t uia;        /* Replayed UMTS integrity algorithms   */
+  uint8_t gea;        /* Replayed GPRS encryption algorithms   */
+  uint8_t umts_present;
+  uint8_t gprs_present;
 
   // Added by LG
-  UInt8_t selected_eea; /* Selected EPS encryption algorithms   */
-  UInt8_t selected_eia; /* Selected EPS integrity algorithms    */
+  uint8_t selected_eea; /* Selected EPS encryption algorithms   */
+  uint8_t selected_eia; /* Selected EPS integrity algorithms    */
 
 #define EMM_AS_MSG_TYPE_IDENT   0x01    /* Identification message   */
 #define EMM_AS_MSG_TYPE_AUTH    0x02    /* Authentication message   */
 #define EMM_AS_MSG_TYPE_SMC 0x03    /* Security Mode Command    */
-  UInt8_t msgType;    /* Type of NAS security message to transfer */
+  uint8_t msgType;    /* Type of NAS security message to transfer */
 } emm_as_security_t;
 
 /*
@@ -153,17 +153,17 @@ typedef struct emm_as_EPS_identity_s {
 } emm_as_EPS_identity_t;
 
 typedef struct emm_as_establish_s {
-  UInt32_t ueid;      /* UE lower layer identifier         */
+  uint32_t ueid;      /* UE lower layer identifier         */
   emm_as_EPS_identity_t UEid; /* UE's EPS mobile identity      */
   emm_as_security_data_t sctx;/* EPS NAS security context      */
   int switch_off;     /* TRUE if the UE is switched off    */
-  UInt8_t type;       /* Network attach/detach type        */
-  UInt8_t RRCcause;       /* Connection establishment cause    */
-  UInt8_t RRCtype;        /* Associated call type          */
+  uint8_t type;       /* Network attach/detach type        */
+  uint8_t RRCcause;       /* Connection establishment cause    */
+  uint8_t RRCtype;        /* Associated call type          */
   const plmn_t *plmnID;   /* Identifier of the selected PLMN   */
-  UInt8_t ksi;        /* NAS key set identifier        */
-  UInt8_t encryption:4;   /* Ciphering algorithm           */
-  UInt8_t integrity:4;    /* Integrity protection algorithm    */
+  uint8_t ksi;        /* NAS key set identifier        */
+  uint8_t encryption:4;   /* Ciphering algorithm           */
+  uint8_t integrity:4;    /* Integrity protection algorithm    */
   int emm_cause;      /* EMM failure cause code        */
   const GUTI_t *new_guti; /* New GUTI, if re-allocated         */
   int n_tacs;         /* Number of concecutive tracking areas
@@ -175,7 +175,7 @@ typedef struct emm_as_establish_s {
 #define EMM_AS_NAS_INFO_TAU 0x03    /* Tracking Area Update request  */
 #define EMM_AS_NAS_INFO_SR  0x04    /* Service Request       */
 #define EMM_AS_NAS_INFO_EXTSR   0x05    /* Extended Service Request  */
-  UInt8_t NASinfo;    /* Type of initial NAS information to transfer   */
+  uint8_t NASinfo;    /* Type of initial NAS information to transfer   */
   OctetString NASmsg;     /* NAS message to be transfered within
                  * initial NAS information message   */
 } emm_as_establish_t;
@@ -185,11 +185,11 @@ typedef struct emm_as_establish_s {
  * --------------------------------------
  */
 typedef struct emm_as_release_s {
-  UInt32_t ueid;      /* UE lower layer identifier          */
+  uint32_t ueid;      /* UE lower layer identifier          */
   const GUTI_t *guti;     /* GUTI temporary mobile identity     */
 #define EMM_AS_CAUSE_AUTHENTICATION 0x01    /* Authentication failure */
 #define EMM_AS_CAUSE_DETACH     0x02    /* Detach requested   */
-  UInt8_t cause;  /* Release cause */
+  uint8_t cause;  /* Release cause */
 } emm_as_release_t;
 
 /*
@@ -197,15 +197,15 @@ typedef struct emm_as_release_s {
  * ---------------------------------
  */
 typedef struct emm_as_data_s {
-  UInt32_t ueid;      /* UE lower layer identifier        */
+  uint32_t ueid;      /* UE lower layer identifier        */
   const GUTI_t *guti;     /* GUTI temporary mobile identity   */
   emm_as_security_data_t sctx;/* EPS NAS security context     */
   int switch_off;     /* TRUE if the UE is switched off   */
-  UInt8_t type;       /* Network detach type          */
-  UInt8_t delivered;      /* Data message delivery indicator  */
+  uint8_t type;       /* Network detach type          */
+  uint8_t delivered;      /* Data message delivery indicator  */
 #define EMM_AS_NAS_DATA_ATTACH  0x01    /* Attach complete      */
 #define EMM_AS_NAS_DATA_DETACH  0x02    /* Detach request       */
-  UInt8_t NASinfo;        /* Type of NAS information to transfer  */
+  uint8_t NASinfo;        /* Type of NAS information to transfer  */
   OctetString NASmsg;     /* NAS message to be transfered     */
 } emm_as_data_t;
 
@@ -220,7 +220,7 @@ typedef struct emm_as_page_s {} emm_as_page_t;
  * -------------------------------------
  */
 typedef struct emm_as_status_s {
-  UInt32_t ueid;      /* UE lower layer identifier        */
+  uint32_t ueid;      /* UE lower layer identifier        */
   const GUTI_t *guti;     /* GUTI temporary mobile identity   */
   emm_as_security_data_t sctx;/* EPS NAS security context     */
   int emm_cause;      /* EMM failure cause code       */
@@ -231,7 +231,7 @@ typedef struct emm_as_status_s {
  * ------------------------------------
  */
 typedef struct emm_as_cell_info_s {
-  UInt8_t found;  /* Indicates whether a suitable cell is found   */
+  uint8_t found;  /* Indicates whether a suitable cell is found   */
 #define EMM_AS_PLMN_LIST_SIZE   6
   PLMN_LIST_T(EMM_AS_PLMN_LIST_SIZE) plmnIDs;
   /* List of identifiers of available PLMNs   */
diff --git a/openair-cn/NAS/UE/EMM/SecurityModeControl.c b/openair-cn/NAS/UE/EMM/SecurityModeControl.c
index da1990923ce472d5f96ff4a2d011cfcba21f015c..359ce1ea2f818fb58ac06f0624f40741a153cc25 100755
--- a/openair-cn/NAS/UE/EMM/SecurityModeControl.c
+++ b/openair-cn/NAS/UE/EMM/SecurityModeControl.c
@@ -86,14 +86,14 @@ Description Defines the security mode control EMM procedure executed by the
  * --------------------------------------------------------------------------
  */
 static int _security_kdf(const OctetString *kasme, OctetString *key,
-                         UInt8_t algo_dist, UInt8_t algo_id);
+                         uint8_t algo_dist, uint8_t algo_id);
 
 static int _security_knas_enc(const OctetString *kasme, OctetString *knas_enc,
-                              UInt8_t eia);
+                              uint8_t eia);
 static int _security_knas_int(const OctetString *kasme, OctetString *knas_int,
-                              UInt8_t eea);
+                              uint8_t eea);
 static int _security_kenb(const OctetString *kasme, OctetString *kenb,
-                          UInt32_t count);
+                          uint32_t count);
 
 /*
  * Internal data used for security mode control procedure
@@ -166,8 +166,8 @@ int emm_proc_security_mode_command(int native_ksi, int ksi,
   /*
    * Check the replayed UE security capabilities
    */
-  UInt8_t eea = (0x80 >> _emm_data.security->capability.eps_encryption);
-  UInt8_t eia = (0x80 >> _emm_data.security->capability.eps_integrity);
+  uint8_t eea = (0x80 >> _emm_data.security->capability.eps_encryption);
+  uint8_t eia = (0x80 >> _emm_data.security->capability.eps_integrity);
 
   if ( (reea != eea) || (reia != eia) ) {
     LOG_TRACE(WARNING, "EMM-PROC  - Replayed UE security capabilities "
@@ -240,7 +240,7 @@ int emm_proc_security_mode_command(int native_ksi, int ksi,
         // LG COMMENT rc = _security_kenb(&_emm_data.security->kasme,
         rc = _security_kenb(&_emm_data.non_current->kasme,
                             &_security_data.kenb,
-                            *(UInt32_t *)(&_emm_data.non_current->ul_count));
+                            *(uint32_t *)(&_emm_data.non_current->ul_count));
       }
     }
 
@@ -416,7 +416,7 @@ static void _security_release(emm_security_context_t *ctx)
  **                                                                        **
  ***************************************************************************/
 static int _security_knas_enc(const OctetString *kasme, OctetString *knas_enc,
-                              UInt8_t eea)
+                              uint8_t eea)
 {
   LOG_FUNC_IN;
   LOG_TRACE(INFO, "%s  with algo dist %d algo id %d", __FUNCTION__,0x01, eea);
@@ -442,7 +442,7 @@ static int _security_knas_enc(const OctetString *kasme, OctetString *knas_enc,
  **                                                                        **
  ***************************************************************************/
 static int _security_knas_int(const OctetString *kasme, OctetString *knas_int,
-                              UInt8_t eia)
+                              uint8_t eia)
 {
   LOG_FUNC_IN;
   LOG_TRACE(INFO, "%s  with algo dist %d algo id %d", __FUNCTION__,0x02, eia);
@@ -468,13 +468,13 @@ static int _security_knas_int(const OctetString *kasme, OctetString *knas_int,
  **                                                                        **
  ***************************************************************************/
 static int _security_kenb(const OctetString *kasme, OctetString *kenb,
-                          UInt32_t count)
+                          uint32_t count)
 {
   /* Compute the KDF input parameter
    * S = FC(0x11) || UL NAS Count || 0x00 0x04
    */
-  UInt8_t  input[32];
-  //    UInt16_t length    = 4;
+  uint8_t  input[32];
+  //    uint16_t length    = 4;
   //    int      offset    = 0;
 
   LOG_TRACE(INFO, "%s  with count= %d", __FUNCTION__, count);
@@ -482,9 +482,9 @@ static int _security_kenb(const OctetString *kasme, OctetString *kenb,
   input[0] = 0x11;
   // P0
   input[1] = count >> 24;
-  input[2] = (UInt8_t)(count >> 16);
-  input[3] = (UInt8_t)(count >> 8);
-  input[4] = (UInt8_t)count;
+  input[2] = (uint8_t)(count >> 16);
+  input[3] = (uint8_t)(count >> 8);
+  input[4] = (uint8_t)count;
   // L0
   input[5] = 0;
   input[6] = 4;
@@ -515,14 +515,14 @@ static int _security_kenb(const OctetString *kasme, OctetString *kenb,
  **                                                                        **
  ***************************************************************************/
 static int _security_kdf(const OctetString *kasme, OctetString *key,
-                         UInt8_t algo_dist, UInt8_t algo_id)
+                         uint8_t algo_dist, uint8_t algo_id)
 {
   /* Compute the KDF input parameter
    * S = FC(0x15) || Algorithm distinguisher || 0x00 0x01
           || Algorithm identity || 0x00 0x01
   */
-  UInt8_t input[32];
-  UInt8_t output[32];
+  uint8_t input[32];
+  uint8_t output[32];
   LOG_TRACE(DEBUG, "%s:%u output key mem %p lenth %u",
             __FUNCTION__, __LINE__,
             key->value,
diff --git a/openair-cn/NAS/UE/EMM/emmData.h b/openair-cn/NAS/UE/EMM/emmData.h
index 94795bffe66d3d4ef17f2178423cee6df5798e26..7a81600871a4b8fcb51da7cb74a736363d12f9a6 100755
--- a/openair-cn/NAS/UE/EMM/emmData.h
+++ b/openair-cn/NAS/UE/EMM/emmData.h
@@ -122,22 +122,22 @@ typedef struct emm_security_context_s {
   OctetString knas_enc;   /* NAS cyphering key               */
   OctetString knas_int;   /* NAS integrity key               */
   struct count_s{
-    UInt32_t spare:8;
-    UInt32_t overflow:16;
-    UInt32_t seq_num:8;
+    uint32_t spare:8;
+    uint32_t overflow:16;
+    uint32_t seq_num:8;
   } dl_count, ul_count;   /* Downlink and uplink count parameters    */
   struct {
-    UInt8_t eps_encryption;   /* algorithm used for ciphering            */
-    UInt8_t eps_integrity;    /* algorithm used for integrity protection */
-    UInt8_t umts_encryption;  /* algorithm used for ciphering            */
-    UInt8_t umts_integrity;   /* algorithm used for integrity protection */
-    UInt8_t gprs_encryption;  /* algorithm used for ciphering            */
-    UInt8_t umts_present:1;
-    UInt8_t gprs_present:1;
+    uint8_t eps_encryption;   /* algorithm used for ciphering            */
+    uint8_t eps_integrity;    /* algorithm used for integrity protection */
+    uint8_t umts_encryption;  /* algorithm used for ciphering            */
+    uint8_t umts_integrity;   /* algorithm used for integrity protection */
+    uint8_t gprs_encryption;  /* algorithm used for ciphering            */
+    uint8_t umts_present:1;
+    uint8_t gprs_present:1;
   } capability;       /* UE network capability           */
   struct {
-    UInt8_t encryption:4;   /* algorithm used for ciphering           */
-    UInt8_t integrity:4;    /* algorithm used for integrity protection */
+    uint8_t encryption:4;   /* algorithm used for ciphering           */
+    uint8_t integrity:4;    /* algorithm used for integrity protection */
   } selected_algorithms;       /* MME selected algorithms                */
 } emm_security_context_t;
 
@@ -275,14 +275,14 @@ typedef struct emm_data_s {
   /* List of user controlled PLMNs        */
 #define EMM_DATA_PLMN_MAX   4
   PLMN_LIST_T(EMM_DATA_PLMN_MAX) plmn;
-  UInt16_t userAcT[EMM_DATA_PLMN_MAX];
+  uint16_t userAcT[EMM_DATA_PLMN_MAX];
   /* List of operator controlled PLMNs        */
 #define EMM_DATA_OPLMN_MAX  4
   PLMN_LIST_T(EMM_DATA_OPLMN_MAX) oplmn;
-  UInt16_t operAcT[EMM_DATA_OPLMN_MAX];
+  uint16_t operAcT[EMM_DATA_OPLMN_MAX];
   /* List of operator network name records    */
 #define EMM_DATA_OPNN_MAX   16
-  UInt8_t n_opnns;
+  uint8_t n_opnns;
   struct {
     const plmn_t *plmn;
     const char *fullname;
diff --git a/openair-cn/NAS/UE/EMM/emm_main.c b/openair-cn/NAS/UE/EMM/emm_main.c
index b147da86bf217101cb093f84d2854d468cf14139..51b6b693fbd892eef48705ec5e21cee450920606 100755
--- a/openair-cn/NAS/UE/EMM/emm_main.c
+++ b/openair-cn/NAS/UE/EMM/emm_main.c
@@ -287,14 +287,14 @@ void emm_main_initialize(emm_indication_callback_t cb, const char *imei)
       }
 
       /* Downlink count parameter */
-      if (_usim_data.securityctx.dlNAScount.length <= sizeof(UInt32_t)) {
+      if (_usim_data.securityctx.dlNAScount.length <= sizeof(uint32_t)) {
         memcpy(&_emm_data.security->dl_count,
                _usim_data.securityctx.dlNAScount.value,
                _usim_data.securityctx.dlNAScount.length);
       }
 
       /* Uplink count parameter */
-      if (_usim_data.securityctx.ulNAScount.length <= sizeof(UInt32_t)) {
+      if (_usim_data.securityctx.ulNAScount.length <= sizeof(uint32_t)) {
         memcpy(&_emm_data.security->ul_count,
                _usim_data.securityctx.ulNAScount.value,
                _usim_data.securityctx.ulNAScount.length);
diff --git a/openair-cn/NAS/UE/nas_itti_messaging.c b/openair-cn/NAS/UE/nas_itti_messaging.c
index 0d7ed4d3afd231daccc23df93e6ee1697cf97844..d832585ebdf5c7b8583f321f47f2182c95438363 100755
--- a/openair-cn/NAS/UE/nas_itti_messaging.c
+++ b/openair-cn/NAS/UE/nas_itti_messaging.c
@@ -35,7 +35,7 @@
 #   define TASK_ORIGIN  TASK_NAS_UE
 
 #if (defined(ENABLE_NAS_UE_LOGGING) && defined(NAS_BUILT_IN_UE) )
-static const UInt8_t emm_message_ids[] = {
+static const uint8_t emm_message_ids[] = {
   ATTACH_REQUEST,
   ATTACH_ACCEPT,
   ATTACH_COMPLETE,
@@ -67,7 +67,7 @@ static const UInt8_t emm_message_ids[] = {
   CS_SERVICE_NOTIFICATION,
 };
 
-static const UInt8_t esm_message_ids[] = {
+static const uint8_t esm_message_ids[] = {
   ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST,
   ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT,
   ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REJECT,
@@ -92,7 +92,7 @@ static const UInt8_t esm_message_ids[] = {
   ESM_STATUS,
 };
 
-static int _nas_find_message_index(const UInt8_t message_id, const UInt8_t *message_ids, const int ids_number)
+static int _nas_find_message_index(const uint8_t message_id, const uint8_t *message_ids, const int ids_number)
 {
   int i;
 
@@ -207,7 +207,7 @@ int nas_itti_cell_info_req(const plmn_t plmnID, const Byte_t rat)
   return itti_send_msg_to_task(TASK_RRC_UE, NB_eNB_INST + 0 /* TODO to be virtualized */, message_p);
 }
 
-int nas_itti_nas_establish_req(as_cause_t cause, as_call_type_t type, as_stmsi_t s_tmsi, plmn_t plmnID, Byte_t *data, UInt32_t length)
+int nas_itti_nas_establish_req(as_cause_t cause, as_call_type_t type, as_stmsi_t s_tmsi, plmn_t plmnID, Byte_t *data, uint32_t length)
 {
   MessageDef *message_p;
 
diff --git a/openair-cn/NAS/UE/nas_itti_messaging.h b/openair-cn/NAS/UE/nas_itti_messaging.h
index 316d7e6fd424d87005c15215f8a133213fa83449..4165119570ca4bd2046e4bc12946d924033a5614 100755
--- a/openair-cn/NAS/UE/nas_itti_messaging.h
+++ b/openair-cn/NAS/UE/nas_itti_messaging.h
@@ -56,7 +56,7 @@ int nas_itti_protected_msg(
 # if defined(NAS_BUILT_IN_UE)
 int nas_itti_cell_info_req(const plmn_t plmnID, const Byte_t rat);
 
-int nas_itti_nas_establish_req(as_cause_t cause, as_call_type_t type, as_stmsi_t s_tmsi, plmn_t plmnID, Byte_t *data_pP, UInt32_t lengthP);
+int nas_itti_nas_establish_req(as_cause_t cause, as_call_type_t type, as_stmsi_t s_tmsi, plmn_t plmnID, Byte_t *data_pP, uint32_t lengthP);
 
 int nas_itti_ul_data_req(const uint32_t ue_idP, void *const data_pP, const uint32_t lengthP);
 
diff --git a/openair-cn/NAS/UE/nas_proc.c b/openair-cn/NAS/UE/nas_proc.c
index 3ac27f613253aae85afe528efc08191230efa53c..f6327fd627f94355a18a7aeec9fc4a0b3ce289c4 100755
--- a/openair-cn/NAS/UE/nas_proc.c
+++ b/openair-cn/NAS/UE/nas_proc.c
@@ -1029,7 +1029,7 @@ int nas_proc_activate_pdn(int cid)
  **                                                                        **
  ***************************************************************************/
 int nas_proc_cell_info(int found, tac_t tac, ci_t ci, AcT_t AcT,
-                       UInt8_t rsrq, UInt8_t rsrp)
+                       uint8_t rsrq, uint8_t rsrp)
 {
   LOG_FUNC_IN;
 
@@ -1073,7 +1073,7 @@ int nas_proc_cell_info(int found, tac_t tac, ci_t ci, AcT_t AcT,
  **      Others:    None                                       **
  **                                                                        **
  ***************************************************************************/
-int nas_proc_establish_cnf(const Byte_t *data, UInt32_t len)
+int nas_proc_establish_cnf(const Byte_t *data, uint32_t len)
 {
   LOG_FUNC_IN;
 
@@ -1251,7 +1251,7 @@ int nas_proc_ul_transfer_rej(void)
  **      Others:    None                                       **
  **                                                                        **
  ***************************************************************************/
-int nas_proc_dl_transfer_ind(const Byte_t *data, UInt32_t len)
+int nas_proc_dl_transfer_ind(const Byte_t *data, uint32_t len)
 {
   LOG_FUNC_IN;
 
diff --git a/openair-cn/NAS/UE/nas_proc.h b/openair-cn/NAS/UE/nas_proc.h
index 8cd7ad1c9f99e5912a658cd687522cfda9ce143e..8d4897eddbd9228529f802849a2a45d8d05fc1fb 100755
--- a/openair-cn/NAS/UE/nas_proc.h
+++ b/openair-cn/NAS/UE/nas_proc.h
@@ -115,17 +115,17 @@ int nas_proc_activate_pdn(int cid);
  * --------------------------------------------------------------------------
  */
 
-int nas_proc_cell_info(int found, tac_t tac, ci_t ci, AcT_t rat, UInt8_t rsrp,
-                       UInt8_t rsrq);
+int nas_proc_cell_info(int found, tac_t tac, ci_t ci, AcT_t rat, uint8_t rsrp,
+                       uint8_t rsrq);
 
-int nas_proc_establish_cnf(const Byte_t *data, UInt32_t len);
+int nas_proc_establish_cnf(const Byte_t *data, uint32_t len);
 int nas_proc_establish_rej(void);
 
 int nas_proc_release_ind(int cause);
 
 int nas_proc_ul_transfer_cnf(void);
 int nas_proc_ul_transfer_rej(void);
-int nas_proc_dl_transfer_ind(const Byte_t *data, UInt32_t len);
+int nas_proc_dl_transfer_ind(const Byte_t *data, uint32_t len);
 
 
 
diff --git a/openair2/COMMON/commonDef.h b/openair2/COMMON/commonDef.h
index 8f719e377b6b20f24eb0fbf534a4ec5f9c7c655e..47fef519b598a7d21168b532c7154cf4e052f084 100644
--- a/openair2/COMMON/commonDef.h
+++ b/openair2/COMMON/commonDef.h
@@ -49,6 +49,9 @@ Description Contains global common definitions
 #include <stdint.h>
 #include <stddef.h>
 
+
+#define NAS_UE_ID_FMT "0x%06x"
+
 /****************************************************************************/
 /*********************  G L O B A L    C O N S T A N T S  *******************/
 /****************************************************************************/
@@ -80,17 +83,8 @@ Description Contains global common definitions
 -----------------------------------------------------------------------------
 */
 typedef int8_t      SByte_t;    /* 8 bit  signed integer     */
-typedef int8_t      Int8_t;     /* 8 bit  signed integer     */
-typedef int16_t     Int16_t;    /* 16 bit signed integer    */
-typedef int32_t     Int32_t;    /* 32 bit signed integer    */
-typedef int64_t     Int64_t;    /* 64 bit signed integer    */
-
-
 typedef uint8_t     Byte_t;     /* 8 bit unsigned integer   */
-typedef uint8_t     UInt8_t;    /* 8 bit unsigned integer   */
-typedef uint16_t    UInt16_t;   /* 16 bit unsigned integer  */
-typedef uint32_t    UInt32_t;   /* 32 bit unsigned integer  */
-typedef uint64_t    UInt64_t;   /* 64 bit unsigned integer  */
+
 
 /*
 -----------------------------------------------------------------------------
@@ -98,12 +92,12 @@ typedef uint64_t    UInt64_t;   /* 64 bit unsigned integer  */
 -----------------------------------------------------------------------------
 */
 
-typedef UInt8_t     Stat_t;     /* Registration status  */
-typedef UInt16_t    lac_t;      /* Location Area Code   */
-typedef UInt8_t     rac_t;      /* Routing Area Code    */
-typedef UInt16_t    tac_t;      /* Tracking Area Code   */
-typedef UInt32_t    ci_t;       /* Cell Identifier  */
-typedef UInt8_t     AcT_t;      /* Access Technology    */
+typedef uint8_t     Stat_t;     /* Registration status  */
+typedef uint16_t    lac_t;      /* Location Area Code   */
+typedef uint8_t     rac_t;      /* Routing Area Code    */
+typedef uint16_t    tac_t;      /* Tracking Area Code   */
+typedef uint32_t    ci_t;       /* Cell Identifier  */
+typedef uint8_t     AcT_t;      /* Access Technology    */
 
 /*
  * International Mobile Subscriber Identity
@@ -244,8 +238,8 @@ typedef struct {
  */
 typedef struct {
   plmn_t plmn;    /* <MCC> + <MNC>    */
-  UInt16_t MMEgid;    /* MME group identifier */
-  UInt8_t MMEcode;    /* MME code     */
+  uint16_t MMEgid;    /* MME group identifier */
+  uint8_t MMEcode;    /* MME code     */
 } gummei_t;
 
 /*
@@ -253,7 +247,7 @@ typedef struct {
  */
 typedef struct {
   gummei_t gummei;    /* Globally Unique MME Identity         */
-  UInt32_t m_tmsi;    /* M-Temporary Mobile Subscriber Identity   */
+  uint32_t m_tmsi;    /* M-Temporary Mobile Subscriber Identity   */
 } GUTI_t;
 #define GUTI2STR(GuTi_PtR, GuTi_StR, MaXlEn) \
         {\
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf
index 4878c7f868d4597c39798d7eec484b7a0bde1b24..8d975cf087fee3eaaa2a0d9c8c3607a9a816b4b9 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf
@@ -19,7 +19,7 @@ eNBs =
     
     mobile_country_code =  "208";
     
-    mobile_network_code =  "93";
+    mobile_network_code =  "95";
     
        ////////// Physical parameters: