forked from acouzens/open5gs
add to trace for testing tracking area update
This commit is contained in:
parent
34986be707
commit
857a250e4f
|
@ -42,7 +42,12 @@ status_t emm_build_attach_accept(
|
|||
t3412_value->unit = NAS_GRPS_TIMER_UNIT_MULTIPLES_OF_DECI_HH;
|
||||
t3412_value->value = 9;
|
||||
|
||||
d_trace(5, " TAI[PLMN_ID:0x%x,TAC:%d]\n",
|
||||
mme_ue->tai.plmn_id, mme_ue->tai.tac);
|
||||
d_trace(5, " E_CGI[PLMN_ID:0x%x,CELL_ID:%d]\n",
|
||||
mme_ue->e_cgi.plmn_id, mme_ue->e_cgi.cell_id);
|
||||
served_tai_index = mme_find_served_tai(&mme_ue->tai);
|
||||
d_trace(5, " SERVED_TAI_INDEX[%d]\n", served_tai_index);
|
||||
d_assert(served_tai_index >= 0 &&
|
||||
served_tai_index < MAX_NUM_OF_SERVED_TAI, return CORE_ERROR,
|
||||
"Cannot find Served TAI. Check 'mme.tai' configuration");
|
||||
|
@ -302,9 +307,6 @@ status_t emm_build_tau_accept(pkbuf_t **emmbuf, mme_ue_t *mme_ue)
|
|||
|
||||
d_assert(mme_ue, return CORE_ERROR,);
|
||||
|
||||
d_trace(3, "[EMM] Tracking area update accept\n");
|
||||
d_trace(5, " IMSI[%s]\n", mme_ue->imsi_bcd);
|
||||
|
||||
memset(&message, 0, sizeof(message));
|
||||
message.emm.h.protocol_discriminator = NAS_PROTOCOL_DISCRIMINATOR_EMM;
|
||||
message.emm.h.message_type = NAS_TRACKING_AREA_UPDATE_ACCEPT;
|
||||
|
@ -321,7 +323,12 @@ status_t emm_build_tau_accept(pkbuf_t **emmbuf, mme_ue_t *mme_ue)
|
|||
tau_accept->presencemask |=
|
||||
NAS_TRACKING_AREA_UPDATE_ACCEPT_TAI_LIST_PRESENT;
|
||||
|
||||
d_trace(5, " TAI[PLMN_ID:0x%x,TAC:%d]\n",
|
||||
mme_ue->tai.plmn_id, mme_ue->tai.tac);
|
||||
d_trace(5, " E_CGI[PLMN_ID:0x%x,CELL_ID:%d]\n",
|
||||
mme_ue->e_cgi.plmn_id, mme_ue->e_cgi.cell_id);
|
||||
served_tai_index = mme_find_served_tai(&mme_ue->tai);
|
||||
d_trace(5, " SERVED_TAI_INDEX[%d]\n", served_tai_index);
|
||||
d_assert(served_tai_index >= 0 &&
|
||||
served_tai_index < MAX_NUM_OF_SERVED_TAI, return CORE_ERROR,
|
||||
"Cannot find Served TAI. Check 'mme.tai' configuration");
|
||||
|
|
|
@ -69,6 +69,15 @@ status_t emm_handle_attach_request(
|
|||
mme_ue->nas_eps.type = MME_EPS_TYPE_ATTACH_REQUEST;
|
||||
d_trace(9, " ATTACH_TYPE[%d]\n", eps_attach_type->attach_type);
|
||||
|
||||
d_trace(5, " OLD TAI[PLMN_ID:0x%x,TAC:%d]\n",
|
||||
mme_ue->tai.plmn_id, mme_ue->tai.tac);
|
||||
d_trace(5, " OLD E_CGI[PLMN_ID:0x%x,CELL_ID:%d]\n",
|
||||
mme_ue->e_cgi.plmn_id, mme_ue->e_cgi.cell_id);
|
||||
d_trace(5, " TAI[PLMN_ID:0x%x,TAC:%d]\n",
|
||||
enb_ue->nas.tai.plmn_id, enb_ue->nas.tai.tac);
|
||||
d_trace(5, " E_CGI[PLMN_ID:0x%x,CELL_ID:%d]\n",
|
||||
enb_ue->nas.e_cgi.plmn_id, enb_ue->nas.e_cgi.cell_id);
|
||||
|
||||
/* Copy TAI and ECGI from enb_ue */
|
||||
memcpy(&mme_ue->tai, &enb_ue->nas.tai, sizeof(tai_t));
|
||||
memcpy(&mme_ue->e_cgi, &enb_ue->nas.e_cgi, sizeof(e_cgi_t));
|
||||
|
@ -78,11 +87,14 @@ status_t emm_handle_attach_request(
|
|||
if (served_tai_index < 0)
|
||||
{
|
||||
/* Send Attach Reject */
|
||||
d_warn("Cannot find Served TAI[PLMN_ID:0x%x,TAC:%d]",
|
||||
mme_ue->tai.plmn_id, mme_ue->tai.tac);
|
||||
nas_send_attach_reject(mme_ue,
|
||||
EMM_CAUSE_TRACKING_AREA_NOT_ALLOWED,
|
||||
ESM_CAUSE_PROTOCOL_ERROR_UNSPECIFIED);
|
||||
return CORE_ERROR;
|
||||
}
|
||||
d_trace(5, " SERVED_TAI_INDEX[%d]\n", served_tai_index);
|
||||
|
||||
/* Store UE specific information */
|
||||
if (attach_request->presencemask &
|
||||
|
@ -356,6 +368,27 @@ status_t emm_handle_tau_request(
|
|||
sizeof(nas_eps_update_type_t));
|
||||
mme_ue->nas_eps.type = MME_EPS_TYPE_TAU_REQUEST;
|
||||
|
||||
if (ECM_CONNECTED(mme_ue))
|
||||
d_trace(5, " ECM-Connected\n");
|
||||
else
|
||||
d_trace(5, " ECM-Idle\n");
|
||||
|
||||
if (mme_ue->nas_eps.update.active_flag)
|
||||
d_trace(5, " Active flag[UPD:0x%x]\n",
|
||||
mme_ue->nas_eps.update.active_flag);
|
||||
else
|
||||
d_trace(5, " No Active flag[UPD:0x%x]\n",
|
||||
mme_ue->nas_eps.update.active_flag);
|
||||
|
||||
d_trace(5, " OLD TAI[PLMN_ID:0x%x,TAC:%d]\n",
|
||||
mme_ue->tai.plmn_id, mme_ue->tai.tac);
|
||||
d_trace(5, " OLD E_CGI[PLMN_ID:0x%x,CELL_ID:%d]\n",
|
||||
mme_ue->e_cgi.plmn_id, mme_ue->e_cgi.cell_id);
|
||||
d_trace(5, " TAI[PLMN_ID:0x%x,TAC:%d]\n",
|
||||
enb_ue->nas.tai.plmn_id, enb_ue->nas.tai.tac);
|
||||
d_trace(5, " E_CGI[PLMN_ID:0x%x,CELL_ID:%d]\n",
|
||||
enb_ue->nas.e_cgi.plmn_id, enb_ue->nas.e_cgi.cell_id);
|
||||
|
||||
/* Copy TAI and ECGI from enb_ue */
|
||||
memcpy(&mme_ue->tai, &enb_ue->nas.tai, sizeof(tai_t));
|
||||
memcpy(&mme_ue->e_cgi, &enb_ue->nas.e_cgi, sizeof(e_cgi_t));
|
||||
|
@ -365,9 +398,12 @@ status_t emm_handle_tau_request(
|
|||
if (served_tai_index < 0)
|
||||
{
|
||||
/* Send TAU reject */
|
||||
d_warn("Cannot find Served TAI[PLMN_ID:0x%x,TAC:%d]",
|
||||
mme_ue->tai.plmn_id, mme_ue->tai.tac);
|
||||
nas_send_tau_reject(mme_ue, EMM_CAUSE_TRACKING_AREA_NOT_ALLOWED);
|
||||
return CORE_ERROR;
|
||||
}
|
||||
d_trace(5, " SERVED_TAI_INDEX[%d]\n", served_tai_index);
|
||||
|
||||
/* Store UE specific information */
|
||||
if (tau_request->presencemask &
|
||||
|
|
|
@ -396,23 +396,29 @@ status_t nas_send_tau_accept(mme_ue_t *mme_ue)
|
|||
|
||||
d_assert(mme_ue, return CORE_ERROR, "Null param");
|
||||
|
||||
rv = emm_build_tau_accept(&emmbuf, mme_ue);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR, "emm build error");
|
||||
|
||||
rv = nas_send_to_downlink_nas_transport(mme_ue, emmbuf);
|
||||
d_assert(rv == CORE_OK,, "nas_send_to_downlink_nas_transport");
|
||||
|
||||
d_trace(3, "[EMM] Tracking area update accept\n");
|
||||
d_trace(5, " IMSI[%s]\n", mme_ue->imsi_bcd);
|
||||
if (ECM_CONNECTED(mme_ue))
|
||||
{
|
||||
d_trace(5, " ECM-Connected\n");
|
||||
bearer_establishment_requested = 1;
|
||||
}
|
||||
else
|
||||
d_trace(5, " ECM-Idle\n");
|
||||
|
||||
if (mme_ue->nas_eps.update.active_flag)
|
||||
{
|
||||
d_trace(5, " Active flag\n");
|
||||
bearer_establishment_requested = 1;
|
||||
}
|
||||
else
|
||||
d_trace(5, " No Active flag\n");
|
||||
|
||||
rv = emm_build_tau_accept(&emmbuf, mme_ue);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR, "emm build error");
|
||||
|
||||
rv = nas_send_to_downlink_nas_transport(mme_ue, emmbuf);
|
||||
d_assert(rv == CORE_OK,, "nas_send_to_downlink_nas_transport");
|
||||
|
||||
if (bearer_establishment_requested == 0)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue