Implicitly S1 release without sending UE context release command

This commit is contained in:
Sukchan Lee 2018-01-28 15:08:52 +09:00
parent 5774aeb62d
commit 21a130bc16
6 changed files with 34 additions and 8 deletions

View File

@ -328,6 +328,12 @@ status_t emm_handle_service_request(
/* Set EPS Update Type */
mme_ue->nas_eps.type = MME_EPS_TYPE_SERVICE_REQUEST;
d_trace(5, " GUTI[G:%d,C:%d,M_TMSI:0x%x] IMSI[%s]\n",
mme_ue->guti.mme_gid,
mme_ue->guti.mme_code,
mme_ue->guti.m_tmsi,
MME_UE_HAVE_IMSI(mme_ue) ? mme_ue->imsi_bcd : "Unknown");
return CORE_OK;
}

View File

@ -257,6 +257,14 @@ void mme_state_operational(fsm_t *s, event_t *e)
"nas_security_decode failed");
}
}
if (mme_ue->enb_ue)
{
d_warn("Implicitly S1 released");
d_warn(" ENB_UE_S1AP_ID[%d] MME_UE_S1AP_ID[%d]",
mme_ue->enb_ue->enb_ue_s1ap_id,
mme_ue->enb_ue->mme_ue_s1ap_id);
enb_ue_remove(mme_ue->enb_ue);
}
mme_ue_associate_enb_ue(mme_ue, enb_ue);
}

View File

@ -149,8 +149,20 @@ void s1ap_handle_initial_ue_message(mme_enb_t *enb, s1ap_message_t *message)
}
else
{
d_trace(5, " S_TMSI[G:%d,C:%d,M_TMSI:0x%x]\n",
guti.mme_gid, guti.mme_code, guti.m_tmsi);
d_trace(5, " S_TMSI[G:%d,C:%d,M_TMSI:0x%x] IMSI:[%s]\n",
mme_ue->guti.mme_gid,
mme_ue->guti.mme_code,
mme_ue->guti.m_tmsi,
MME_UE_HAVE_IMSI(mme_ue)
? mme_ue->imsi_bcd : "Unknown");
if (mme_ue->enb_ue)
{
d_warn("Implicitly S1 released");
d_warn(" ENB_UE_S1AP_ID[%d] MME_UE_S1AP_ID[%d]",
mme_ue->enb_ue->enb_ue_s1ap_id,
mme_ue->enb_ue->mme_ue_s1ap_id);
enb_ue_remove(mme_ue->enb_ue);
}
mme_ue_associate_enb_ue(mme_ue, enb_ue);
}
}
@ -181,8 +193,8 @@ void s1ap_handle_initial_ue_message(mme_enb_t *enb, s1ap_message_t *message)
enb_ue->nas.e_cgi.cell_id = (ntohl(enb_ue->nas.e_cgi.cell_id) >> 4);
d_assert(enb->sock, enb_ue_remove(enb_ue); return,);
d_trace(5, " ENB_UE_S1AP_ID[%d] TAC[%d]\n",
enb_ue->enb_ue_s1ap_id, enb_ue->nas.tai.tac);
d_trace(5, " ENB_UE_S1AP_ID[%d] MME_UE_S1AP_ID[%d] TAC[%d]\n",
enb_ue->enb_ue_s1ap_id, enb_ue->mme_ue_s1ap_id, enb_ue->nas.tai.tac);
d_assert(s1ap_send_to_nas(enb_ue, &ies->nas_pdu) == CORE_OK,,
"s1ap_send_to_nas failed");

View File

@ -417,8 +417,8 @@ status_t s1ap_send_handover_request(
d_trace(5, " Source : ENB_UE_S1AP_ID[%d] MME_UE_S1AP_ID[%d]\n",
source_ue->enb_ue_s1ap_id, source_ue->mme_ue_s1ap_id);
d_trace(5, " Target : ENB_UE_S1AP_ID[%d] MME_UE_S1AP_ID[%d]\n",
target_ue->enb_ue_s1ap_id, target_ue->mme_ue_s1ap_id);
d_trace(5, " Target : ENB_UE_S1AP_ID[Unknown] MME_UE_S1AP_ID[%d]\n",
target_ue->mme_ue_s1ap_id);
rv = source_ue_associate_target_ue(source_ue, target_ue);
d_assert(rv == CORE_OK, return CORE_ERROR,);

View File

@ -528,7 +528,7 @@ status_t tests1ap_build_esm_information_response(pkbuf_t **pkbuf, int i)
"000d403e00000500 0000020001000800 02001f001a001514 27505a0b5301023c"
"da280908696e7465 726e657400644008 0000f110002343d0 004340060000f110"
"3039",
"000d403e00000500 0000020001000800 02001f001a001514 27b531c64f01023c"
"000d403e00000500 0000020002000800 020011001a001514 27b531c64f01023c"
"da280908696e7465 726e657400644008 0000f110002343d0 004340060000f110"
"3039",
"",

View File

@ -528,7 +528,7 @@ status_t tests1ap_build_esm_information_response(pkbuf_t **pkbuf, int i)
"000d403e00000500 0000020001000800 02001f001a001514 27505a0b5301023c"
"da280908696e7465 726e657400644008 0000f110002343d0 004340060000f110"
"3039",
"000d403e00000500 0000020001000800 02001f001a001514 27b531c64f01023c"
"000d403e00000500 0000020002000800 020011001a001514 27b531c64f01023c"
"da280908696e7465 726e657400644008 0000f110002343d0 004340060000f110"
"3039",
"",