diff --git a/src/amf/ngap-sm.c b/src/amf/ngap-sm.c index 86d764a6f..206c19a00 100644 --- a/src/amf/ngap-sm.c +++ b/src/amf/ngap-sm.c @@ -66,8 +66,10 @@ void ngap_state_operational(ogs_fsm_t *s, amf_event_t *e) pdu = e->ngap.message; ogs_assert(pdu); - if (!(pdu->present == NGAP_NGAP_PDU_PR_initiatingMessage && pdu->choice.initiatingMessage->procedureCode == NGAP_ProcedureCode_id_NGSetup) && !gnb->state.ng_setup_success) - { + if (!gnb->state.ng_setup_success && + !(pdu->present == NGAP_NGAP_PDU_PR_initiatingMessage && + pdu->choice.initiatingMessage->procedureCode == + NGAP_ProcedureCode_id_NGSetup)) { break; } diff --git a/src/mme/s1ap-sm.c b/src/mme/s1ap-sm.c index b4de04230..c6edc7616 100644 --- a/src/mme/s1ap-sm.c +++ b/src/mme/s1ap-sm.c @@ -71,6 +71,13 @@ void s1ap_state_operational(ogs_fsm_t *s, mme_event_t *e) pdu = e->s1ap_message; ogs_assert(pdu); + if (!enb->state.s1_setup_success && + !(pdu->present == S1AP_S1AP_PDU_PR_initiatingMessage && + pdu->choice.initiatingMessage->procedureCode == + S1AP_ProcedureCode_id_S1Setup)) { + break; + } + switch (pdu->present) { case S1AP_S1AP_PDU_PR_initiatingMessage : initiatingMessage = pdu->choice.initiatingMessage;