update it

This commit is contained in:
Sukchan Lee
2025-10-16 17:07:17 +09:00
parent 75c12a52d0
commit e8dfdbaaea
8 changed files with 40 additions and 5 deletions

View File

@@ -722,6 +722,8 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
ogs_kdf_nh_enb(mme_ue->kasme, mme_ue->kenb, mme_ue->nh);
mme_ue->nhcc = 1;
ogs_fatal("[%s] TAU accept(active_flag=1)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_InitialContextSetup);
ogs_expect(r == OGS_OK);
@@ -731,6 +733,8 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
OGS_NAS_EPS_TRACKING_AREA_UPDATE_REQUEST_EPS_BEARER_CONTEXT_STATUS_TYPE)) {
ogs_debug("[%s] No EPS Bearer Context Status "
"in TAU request", mme_ue->imsi_bcd);
ogs_fatal("[%s] TAU accept(No Bearer Context Status)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_downlinkNASTransport);
ogs_expect(r == OGS_OK);
@@ -785,10 +789,12 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
}
if (deleted > 0) {
ogs_info("[%s] Deleted %d session(s) due "
ogs_fatal("[%s] Deleted %d session(s) due "
"to BCS mismatch",
mme_ue->imsi_bcd, deleted);
} else {
ogs_fatal("[%s] TAU accept(BCS match)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_downlinkNASTransport);
ogs_expect(r == OGS_OK);
@@ -798,6 +804,8 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
} else if (e->s1ap_code ==
S1AP_ProcedureCode_id_uplinkNASTransport) {
ogs_debug(" Uplink NAS Transport");
ogs_fatal("[%s] TAU accept(UplinkNASTransport)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_downlinkNASTransport);
ogs_expect(r == OGS_OK);

View File

@@ -433,7 +433,7 @@ struct mme_ue_s {
#define MME_TAU_TYPE_INITIAL_UE_MESSAGE 1
#define MME_TAU_TYPE_UPLINK_NAS_TRANPORT 2
#define MME_TAU_TYPE_UNPROTECTED_INGERITY 3
#define MME_TAU_TYPE_UNPROTECTED_INTEGRITY 3
uint8_t tracking_area_update_request_type;
/* 1. MME initiated detach request to the UE.

View File

@@ -138,10 +138,11 @@ uint8_t mme_s6a_handle_ula(
OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING_WITH_IMSI_ATTACH)) {
mme_ue->tracking_area_update_request_type =
MME_TAU_TYPE_UNPROTECTED_INGERITY;
MME_TAU_TYPE_UNPROTECTED_INTEGRITY;
ogs_assert(OGS_OK == sgsap_send_location_update_request(mme_ue));
} else {
ogs_fatal("[%s] TAU accept(Diameter ULA)", mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_InitialContextSetup);
ogs_expect(r == OGS_OK);

View File

@@ -150,11 +150,15 @@ void sgsap_handle_location_update_accept(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf)
ogs_kdf_nh_enb(mme_ue->kasme, mme_ue->kenb, mme_ue->nh);
mme_ue->nhcc = 1;
ogs_fatal("[%s] LU accept + TAU accept(active_flag==1)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_InitialContextSetup);
ogs_expect(r == OGS_OK);
ogs_assert(r != OGS_ERROR);
} else {
ogs_fatal("[%s] LU accept + TAU accept(active_flag==0)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_downlinkNASTransport);
ogs_expect(r == OGS_OK);
@@ -163,13 +167,17 @@ void sgsap_handle_location_update_accept(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf)
} else if (mme_ue->tracking_area_update_request_type ==
MME_TAU_TYPE_UPLINK_NAS_TRANPORT) {
ogs_debug(" Uplink NAS Transport");
ogs_fatal("[%s] LU accept + accept(UplinkNASTransport)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_downlinkNASTransport);
ogs_expect(r == OGS_OK);
ogs_assert(r != OGS_ERROR);
} else if (mme_ue->tracking_area_update_request_type ==
MME_TAU_TYPE_UNPROTECTED_INGERITY) {
MME_TAU_TYPE_UNPROTECTED_INTEGRITY) {
ogs_debug(" Unprotected Integrity");
ogs_fatal("[%s] LU accept + TAU accept(Unprotected Integrity)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_InitialContextSetup);
ogs_expect(r == OGS_OK);
@@ -347,11 +355,15 @@ void sgsap_handle_location_update_reject(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf)
ogs_kdf_nh_enb(mme_ue->kasme, mme_ue->kenb, mme_ue->nh);
mme_ue->nhcc = 1;
ogs_fatal("[%s] LU reject + TAU accept(active_flag==1)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_InitialContextSetup);
ogs_expect(r == OGS_OK);
ogs_assert(r != OGS_ERROR);
} else {
ogs_fatal("[%s] LU reject + TAU accept(active_flag==0)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_downlinkNASTransport);
ogs_expect(r == OGS_OK);
@@ -360,12 +372,16 @@ void sgsap_handle_location_update_reject(mme_vlr_t *vlr, ogs_pkbuf_t *pkbuf)
} else if (mme_ue->tracking_area_update_request_type ==
MME_TAU_TYPE_UPLINK_NAS_TRANPORT) {
ogs_debug(" Uplink NAS Transport");
ogs_fatal("[%s] LU reject + TAU accept(UplinkNASTransport)",
mme_ue->imsi_bcd);
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_downlinkNASTransport);
ogs_expect(r == OGS_OK);
ogs_assert(r != OGS_ERROR);
} else if (mme_ue->tracking_area_update_request_type ==
MME_TAU_TYPE_UNPROTECTED_INGERITY) {
MME_TAU_TYPE_UNPROTECTED_INTEGRITY) {
ogs_fatal("[%s] LU reject + TAU accept(Unprotected Integrity)",
mme_ue->imsi_bcd);
ogs_debug(" Unprotected Integrity");
r = nas_eps_send_tau_accept(mme_ue,
S1AP_ProcedureCode_id_InitialContextSetup);

View File

@@ -1071,6 +1071,7 @@ static void test3_func(abts_case *tc, void *data)
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
test_ue->tau_request_param.device_properties = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, true, OGS_NAS_EPS_UPDATE_TYPE_TA_UPDATING, false, false);
ABTS_PTR_NOTNULL(tc, emmbuf);
@@ -1171,6 +1172,7 @@ static void test3_func(abts_case *tc, void *data)
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
test_ue->tau_request_param.device_properties = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, true, OGS_NAS_EPS_UPDATE_TYPE_TA_UPDATING, true, true);
ABTS_PTR_NOTNULL(tc, emmbuf);

View File

@@ -247,6 +247,7 @@ static void test1_func(abts_case *tc, void *data)
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
test_ue->tau_request_param.device_properties = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, true, OGS_NAS_EPS_UPDATE_TYPE_TA_UPDATING, true, true);
ABTS_PTR_NOTNULL(tc, emmbuf);
@@ -293,6 +294,7 @@ static void test1_func(abts_case *tc, void *data)
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
test_ue->tau_request_param.device_properties = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, false,
OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING_WITH_IMSI_ATTACH,
@@ -536,6 +538,7 @@ static void test2_func(abts_case *tc, void *data)
test_ue->tau_request_param.ue_usage_setting = 1;
test_ue->tau_request_param.old_guti_type = 1;
test_ue->tau_request_param.ms_network_feature_support = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, false, OGS_NAS_EPS_UPDATE_TYPE_PERIODIC_UPDATING,
true, true);

View File

@@ -221,6 +221,7 @@ static void test_simple_func(abts_case *tc, void *data)
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
test_ue->tau_request_param.device_properties = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, true, OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING, true, true);
ABTS_PTR_NOTNULL(tc, emmbuf);
@@ -499,6 +500,7 @@ static void test_no_active_flag_func(abts_case *tc, void *data)
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
test_ue->tau_request_param.device_properties = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, false,
OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING_WITH_IMSI_ATTACH,
@@ -779,6 +781,7 @@ static void test_integrity_unprotected_func(abts_case *tc, void *data)
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
test_ue->tau_request_param.device_properties = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, true,
OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING_WITH_IMSI_ATTACH,
@@ -1295,6 +1298,7 @@ static void test_uplink_transport_func(abts_case *tc, void *data)
test_ue->tau_request_param.tmsi_status = 1;
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, true, OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING,
true, true);

View File

@@ -399,6 +399,7 @@ static void test1_func(abts_case *tc, void *data)
test_ue->tau_request_param.tmsi_status = 1;
test_ue->tau_request_param.mobile_station_classmark_2 = 1;
test_ue->tau_request_param.ue_usage_setting = 1;
ogs_error("testemm_build_tau_request");
emmbuf = testemm_build_tau_request(
test_ue, true, OGS_NAS_EPS_UPDATE_TYPE_COMBINED_TA_LA_UPDATING,
true, true);