From b1055f703af9f4e10d9243c7b3a7926934dd8f37 Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Tue, 27 Mar 2018 09:42:23 +0900 Subject: [PATCH] if Unknown GUTI in TAU request, MME sends TAU-reject (#42) --- src/mme/emm_sm.c | 12 +++++++++++- src/mme/s1ap_handler.c | 6 +++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/mme/emm_sm.c b/src/mme/emm_sm.c index ff708d877..acdc4d729 100644 --- a/src/mme/emm_sm.c +++ b/src/mme/emm_sm.c @@ -100,7 +100,7 @@ static void common_register_state(fsm_t *s, event_t *e) if (!MME_UE_HAVE_IMSI(mme_ue)) { - d_warn("Unknown UE"); + d_warn("[EMM] Service request : Unknown UE"); rv = nas_send_service_reject(mme_ue, EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK); d_assert(rv == CORE_OK,, @@ -180,6 +180,16 @@ static void common_register_state(fsm_t *s, event_t *e) return; } + if (!MME_UE_HAVE_IMSI(mme_ue)) + { + d_warn("[EMM] TAU request : Unknown UE"); + rv = nas_send_tau_reject(mme_ue, EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK); + d_assert(rv == CORE_OK,, + "nas_send_tau_reject() failed"); + FSM_TRAN(s, &emm_state_exception); + return; + } + break; } case NAS_TRACKING_AREA_UPDATE_COMPLETE: diff --git a/src/mme/s1ap_handler.c b/src/mme/s1ap_handler.c index f4bfd3ba3..2b3e91348 100644 --- a/src/mme/s1ap_handler.c +++ b/src/mme/s1ap_handler.c @@ -1351,8 +1351,8 @@ void s1ap_handle_enb_configuration_transfer( target_enb = mme_enb_find_by_enb_id(target_enb_id); if (target_enb == NULL) { - d_warn("Cannot find target eNB-id[%d] " - "in eNB-Configuration-Transfer", target_enb_id); + d_warn("eNB configuration transfer : cannot find target eNB-id[%d]", + target_enb_id); return; } @@ -1447,7 +1447,7 @@ void s1ap_handle_handover_required(mme_enb_t *enb, s1ap_message_t *message) target_enb = mme_enb_find_by_enb_id(target_enb_id); if (target_enb == NULL) { - d_warn("Cannot find target eNB-id[%d] in Handover-Required", + d_warn("Handover required : cannot find target eNB-id[%d]", target_enb_id); return; }