forked from acouzens/open5gs
refine code
This commit is contained in:
parent
4648dc05d5
commit
c9e44579d8
|
@ -153,21 +153,3 @@ status_t esm_handle_information_response(mme_sess_t *sess,
|
|||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
void esm_handle_activate_default_bearer_accept(mme_bearer_t *bearer)
|
||||
{
|
||||
status_t rv;
|
||||
|
||||
d_assert(bearer, return, "Null param");
|
||||
|
||||
mme_bearer_t *dedicated_bearer = mme_bearer_next(bearer);
|
||||
while(dedicated_bearer)
|
||||
{
|
||||
rv = nas_send_activate_dedicated_bearer_context_request(
|
||||
dedicated_bearer);
|
||||
d_assert(rv == CORE_OK, return,
|
||||
"nas_send_activate_dedicated_bearer_context failed");
|
||||
|
||||
dedicated_bearer = mme_bearer_next(dedicated_bearer);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,10 +13,6 @@ CORE_DECLARE(status_t) esm_handle_pdn_connectivity_request(mme_bearer_t *bearer,
|
|||
nas_pdn_connectivity_request_t *pdn_connectivity_request);
|
||||
CORE_DECLARE(status_t) esm_handle_information_response(mme_sess_t *sess,
|
||||
nas_esm_information_response_t *bearer_information_response);
|
||||
CORE_DECLARE(void) esm_handle_activate_default_bearer_accept(
|
||||
mme_bearer_t *bearer);
|
||||
CORE_DECLARE(void) esm_handle_activate_dedicated_bearer_accept(
|
||||
mme_bearer_t *bearer);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -100,13 +100,17 @@ void esm_state_inactive(fsm_t *s, event_t *e)
|
|||
"context accept\n");
|
||||
d_trace(5, " IMSI[%s] PTI[%d] EBI[%d]\n",
|
||||
mme_ue->imsi_bcd, sess->pti, bearer->ebi);
|
||||
/* Check if Initial Context Setup Response or
|
||||
* E-RAB Setup Response is received */
|
||||
if (MME_HAVE_ENB_S1U_PATH(bearer))
|
||||
{
|
||||
rv = mme_gtp_send_modify_bearer_request(bearer, 0);
|
||||
d_assert(rv == CORE_OK, return, "gtp send failed");
|
||||
d_assert(rv == CORE_OK,, "gtp send failed");
|
||||
}
|
||||
|
||||
esm_handle_activate_default_bearer_accept(bearer);
|
||||
rv = nas_send_activate_all_dedicated_bearers(bearer);
|
||||
d_assert(rv == CORE_OK,, "nas send failed");
|
||||
|
||||
FSM_TRAN(s, esm_state_active);
|
||||
break;
|
||||
}
|
||||
|
@ -116,11 +120,12 @@ void esm_state_inactive(fsm_t *s, event_t *e)
|
|||
"context accept\n");
|
||||
d_trace(5, " IMSI[%s] PTI[%d] EBI[%d]\n",
|
||||
mme_ue->imsi_bcd, sess->pti, bearer->ebi);
|
||||
|
||||
/* Check if Initial Context Setup Response or
|
||||
* E-RAB Setup Response is received */
|
||||
if (MME_HAVE_ENB_S1U_PATH(bearer))
|
||||
{
|
||||
rv = mme_gtp_send_create_bearer_response(bearer);
|
||||
d_assert(rv == CORE_OK, return, "gtp send failed");
|
||||
d_assert(rv == CORE_OK,, "gtp send failed");
|
||||
}
|
||||
|
||||
FSM_TRAN(s, esm_state_active);
|
||||
|
|
|
@ -132,7 +132,7 @@ void mme_s11_handle_modify_bearer_response(
|
|||
|
||||
GTP_COUNTER_CHECK(mme_ue, GTP_COUNTER_MODIFY_BEARER_BY_PATH_SWITCH,
|
||||
rv = s1ap_send_path_switch_ack(mme_ue);
|
||||
d_assert(rv == CORE_OK, return, "s1ap send error");
|
||||
d_assert(rv == CORE_OK,, "s1ap send error");
|
||||
);
|
||||
|
||||
GTP_COUNTER_CHECK(mme_ue, GTP_COUNTER_MODIFY_BEARER_BY_HANDOVER_NOTIFY,
|
||||
|
@ -145,7 +145,7 @@ void mme_s11_handle_modify_bearer_response(
|
|||
S1ap_Cause_PR_radioNetwork,
|
||||
S1ap_CauseRadioNetwork_successful_handover,
|
||||
S1AP_UE_CTX_REL_DELETE_INDIRECT_TUNNEL, 300);
|
||||
d_assert(rv == CORE_OK, return, "s1ap send error");
|
||||
d_assert(rv == CORE_OK,, "s1ap send error");
|
||||
);
|
||||
|
||||
return;
|
||||
|
|
|
@ -526,7 +526,7 @@ void mme_state_operational(fsm_t *s, event_t *e)
|
|||
* If the MME receives a Downlink Data Notification after step 2 and
|
||||
* before step 9, the MME shall not send S1 interface paging messages
|
||||
*/
|
||||
if (MME_UE_ECM_IDLE(mme_ue))
|
||||
if (mme_ue->enb_ue == NULL)
|
||||
{
|
||||
s1ap_handle_paging(mme_ue);
|
||||
/* Start T3413 */
|
||||
|
|
|
@ -310,6 +310,26 @@ status_t nas_send_activate_dedicated_bearer_context_request(
|
|||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t nas_send_activate_all_dedicated_bearers(mme_bearer_t *default_bearer)
|
||||
{
|
||||
status_t rv;
|
||||
|
||||
d_assert(default_bearer, return CORE_ERROR, "Null param");
|
||||
|
||||
mme_bearer_t *dedicated_bearer = mme_bearer_next(default_bearer);
|
||||
while(dedicated_bearer)
|
||||
{
|
||||
rv = nas_send_activate_dedicated_bearer_context_request(
|
||||
dedicated_bearer);
|
||||
d_assert(rv == CORE_OK, return CORE_ERROR,
|
||||
"nas_send_activate_dedicated_bearer_context failed");
|
||||
|
||||
dedicated_bearer = mme_bearer_next(dedicated_bearer);
|
||||
}
|
||||
|
||||
return CORE_OK;
|
||||
}
|
||||
|
||||
status_t nas_send_modify_bearer_context_request(
|
||||
mme_bearer_t *bearer, int qos_presence, int tft_presence)
|
||||
{
|
||||
|
|
|
@ -34,6 +34,8 @@ CORE_DECLARE(status_t) nas_send_activate_default_bearer_context_request(
|
|||
mme_bearer_t *bearer);
|
||||
CORE_DECLARE(status_t) nas_send_activate_dedicated_bearer_context_request(
|
||||
mme_bearer_t *bearer);
|
||||
CORE_DECLARE(status_t) nas_send_activate_all_dedicated_bearers(
|
||||
mme_bearer_t *default_bearer);
|
||||
CORE_DECLARE(status_t) nas_send_modify_bearer_context_request(
|
||||
mme_bearer_t *bearer, int qos_presence, int tft_presence);
|
||||
CORE_DECLARE(status_t) nas_send_deactivate_bearer_context_request(
|
||||
|
|
Loading…
Reference in New Issue