forked from acouzens/open5gs
Revert the previous commit on #1797
This commit is contained in:
parent
d1ed8aa61d
commit
3955e9ba8d
|
@ -240,6 +240,11 @@ void mme_send_after_paging(mme_ue_t *mme_ue, bool failed)
|
|||
ogs_warn("MME-initiated Detach cannot be invoked");
|
||||
} else {
|
||||
ogs_assert(OGS_OK == nas_eps_send_detach_request(mme_ue));
|
||||
if (MME_P_TMSI_IS_AVAILABLE(mme_ue)) {
|
||||
ogs_assert(OGS_OK == sgsap_send_detach_indication(mme_ue));
|
||||
} else {
|
||||
mme_send_delete_session_or_detach(mme_ue);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -226,15 +226,35 @@ void mme_s6a_handle_clr(mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message)
|
|||
switch (clr_message->cancellation_type) {
|
||||
case OGS_DIAM_S6A_CT_SUBSCRIPTION_WITHDRAWL:
|
||||
mme_ue->detach_type = MME_DETACH_TYPE_HSS_EXPLICIT;
|
||||
|
||||
/*
|
||||
* Before sending Detach-Request,
|
||||
* we need to check whether UE is IDLE or not.
|
||||
*/
|
||||
if (ECM_IDLE(mme_ue)) {
|
||||
MME_STORE_PAGING_INFO(mme_ue, MME_PAGING_TYPE_DETACH_TO_UE, NULL);
|
||||
ogs_assert(OGS_OK == s1ap_send_paging(mme_ue, S1AP_CNDomain_ps));
|
||||
} else {
|
||||
ogs_assert(OGS_OK == nas_eps_send_detach_request(mme_ue));
|
||||
if (MME_P_TMSI_IS_AVAILABLE(mme_ue)) {
|
||||
ogs_assert(OGS_OK == sgsap_send_detach_indication(mme_ue));
|
||||
} else {
|
||||
mme_send_delete_session_or_detach(mme_ue);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case OGS_DIAM_S6A_CT_MME_UPDATE_PROCEDURE:
|
||||
mme_ue->detach_type = MME_DETACH_TYPE_HSS_IMPLICIT;
|
||||
|
||||
/*
|
||||
* There is no need to send NAS or S1AP message to the UE.
|
||||
* So, we don't have to check whether UE is IDLE or not.
|
||||
*/
|
||||
if (MME_P_TMSI_IS_AVAILABLE(mme_ue)) {
|
||||
ogs_assert(OGS_OK == sgsap_send_detach_indication(mme_ue));
|
||||
} else {
|
||||
mme_send_delete_session_or_detach(mme_ue);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
ogs_fatal("Unsupported Cancellation-Type [%d]",
|
||||
|
@ -242,12 +262,6 @@ void mme_s6a_handle_clr(mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message)
|
|||
ogs_assert_if_reached();
|
||||
break;
|
||||
}
|
||||
|
||||
if (MME_P_TMSI_IS_AVAILABLE(mme_ue)) {
|
||||
ogs_assert(OGS_OK == sgsap_send_detach_indication(mme_ue));
|
||||
} else {
|
||||
mme_send_delete_session_or_detach(mme_ue);
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t mme_ue_session_from_slice_data(mme_ue_t *mme_ue,
|
||||
|
|
Loading…
Reference in New Issue