forked from acouzens/open5gs
Follow-up on #2100
This commit is contained in:
parent
10168f1f19
commit
c3f0c57554
|
@ -1078,7 +1078,7 @@ static void common_register_state(ogs_fsm_t *s, amf_event_t *e,
|
||||||
r = nas_5gs_send_service_reject(amf_ue,
|
r = nas_5gs_send_service_reject(amf_ue,
|
||||||
OGS_5GMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
|
OGS_5GMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
|
||||||
ogs_expect(r == OGS_OK);
|
ogs_expect(r == OGS_OK);
|
||||||
ogs_expect(r != OGS_ERROR);
|
ogs_assert(r != OGS_ERROR);
|
||||||
OGS_FSM_TRAN(s, gmm_state_exception);
|
OGS_FSM_TRAN(s, gmm_state_exception);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -262,6 +262,18 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
|
||||||
if (message->emm.h.security_header_type
|
if (message->emm.h.security_header_type
|
||||||
== OGS_NAS_SECURITY_HEADER_FOR_SERVICE_REQUEST_MESSAGE) {
|
== OGS_NAS_SECURITY_HEADER_FOR_SERVICE_REQUEST_MESSAGE) {
|
||||||
ogs_info("[%s] Service request", mme_ue->imsi_bcd);
|
ogs_info("[%s] Service request", mme_ue->imsi_bcd);
|
||||||
|
|
||||||
|
if (state != EMM_COMMON_STATE_REGISTERED) {
|
||||||
|
ogs_info("Service request : Not registered[%s]",
|
||||||
|
mme_ue->imsi_bcd);
|
||||||
|
r = nas_eps_send_service_reject(mme_ue,
|
||||||
|
OGS_NAS_EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
|
||||||
|
ogs_expect(r == OGS_OK);
|
||||||
|
ogs_assert(r != OGS_ERROR);
|
||||||
|
OGS_FSM_TRAN(s, &emm_state_exception);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
rv = emm_handle_service_request(
|
rv = emm_handle_service_request(
|
||||||
mme_ue, &message->emm.service_request);
|
mme_ue, &message->emm.service_request);
|
||||||
if (rv != OGS_OK) {
|
if (rv != OGS_OK) {
|
||||||
|
@ -281,7 +293,7 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!SECURITY_CONTEXT_IS_VALID(mme_ue)) {
|
if (!SECURITY_CONTEXT_IS_VALID(mme_ue)) {
|
||||||
ogs_warn("No Security Context : IMSI[%s]", mme_ue->imsi_bcd);
|
ogs_error("No Security Context : IMSI[%s]", mme_ue->imsi_bcd);
|
||||||
r = nas_eps_send_service_reject(mme_ue,
|
r = nas_eps_send_service_reject(mme_ue,
|
||||||
OGS_NAS_EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
|
OGS_NAS_EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
|
||||||
ogs_expect(r == OGS_OK);
|
ogs_expect(r == OGS_OK);
|
||||||
|
@ -291,7 +303,7 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!SESSION_CONTEXT_IS_AVAILABLE(mme_ue)) {
|
if (!SESSION_CONTEXT_IS_AVAILABLE(mme_ue)) {
|
||||||
ogs_warn("No Session Context : IMSI[%s]", mme_ue->imsi_bcd);
|
ogs_error("No Session Context : IMSI[%s]", mme_ue->imsi_bcd);
|
||||||
r = nas_eps_send_service_reject(mme_ue,
|
r = nas_eps_send_service_reject(mme_ue,
|
||||||
OGS_NAS_EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
|
OGS_NAS_EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
|
||||||
ogs_expect(r == OGS_OK);
|
ogs_expect(r == OGS_OK);
|
||||||
|
@ -301,7 +313,7 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ACTIVE_EPS_BEARERS_IS_AVAIABLE(mme_ue)) {
|
if (!ACTIVE_EPS_BEARERS_IS_AVAIABLE(mme_ue)) {
|
||||||
ogs_warn("No active EPS bearers : IMSI[%s]", mme_ue->imsi_bcd);
|
ogs_error("No active EPS bearers : IMSI[%s]", mme_ue->imsi_bcd);
|
||||||
r = nas_eps_send_service_reject(mme_ue,
|
r = nas_eps_send_service_reject(mme_ue,
|
||||||
OGS_NAS_EMM_CAUSE_NO_EPS_BEARER_CONTEXT_ACTIVATED);
|
OGS_NAS_EMM_CAUSE_NO_EPS_BEARER_CONTEXT_ACTIVATED);
|
||||||
ogs_expect(r == OGS_OK);
|
ogs_expect(r == OGS_OK);
|
||||||
|
@ -571,16 +583,6 @@ static void common_register_state(ogs_fsm_t *s, mme_event_t *e,
|
||||||
case OGS_NAS_EPS_EXTENDED_SERVICE_REQUEST:
|
case OGS_NAS_EPS_EXTENDED_SERVICE_REQUEST:
|
||||||
ogs_info("[%s] Extended service request", mme_ue->imsi_bcd);
|
ogs_info("[%s] Extended service request", mme_ue->imsi_bcd);
|
||||||
|
|
||||||
if (state != EMM_COMMON_STATE_REGISTERED) {
|
|
||||||
ogs_info("Service request : Not registered[%s]",
|
|
||||||
MME_UE_HAVE_IMSI(mme_ue) ? mme_ue->imsi_bcd : "Unknown IMSI");
|
|
||||||
r = nas_eps_send_service_reject(mme_ue,
|
|
||||||
OGS_NAS_EMM_CAUSE_UE_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK);
|
|
||||||
ogs_expect(r == OGS_OK);
|
|
||||||
ogs_assert(r != OGS_ERROR);
|
|
||||||
OGS_FSM_TRAN(s, &emm_state_exception);
|
|
||||||
}
|
|
||||||
|
|
||||||
rv = emm_handle_extended_service_request(
|
rv = emm_handle_extended_service_request(
|
||||||
mme_ue, &message->emm.extended_service_request);
|
mme_ue, &message->emm.extended_service_request);
|
||||||
if (rv != OGS_OK) {
|
if (rv != OGS_OK) {
|
||||||
|
|
Loading…
Reference in New Issue