fix s1ap UE find method

master
Francisco 4 years ago committed by Francisco Paisana
parent 2bde28252c
commit cd68e604b0

@ -1617,11 +1617,11 @@ s1ap::ue* s1ap::find_s1apmsg_user(uint32_t enb_id, uint32_t mme_id)
ue* user_ptr = users.find_ue_enbid(enb_id); ue* user_ptr = users.find_ue_enbid(enb_id);
cause_c cause; cause_c cause;
if (user_ptr != nullptr) { if (user_ptr != nullptr) {
if (not user_ptr->ctxt.mme_ue_s1ap_id_present or user_ptr->ctxt.mme_ue_s1ap_id != mme_id) { if (not user_ptr->ctxt.mme_ue_s1ap_id_present) {
if (not user_ptr->ctxt.mme_ue_s1ap_id_present) { user_ptr->ctxt.mme_ue_s1ap_id_present = true;
user_ptr->ctxt.mme_ue_s1ap_id_present = true; user_ptr->ctxt.mme_ue_s1ap_id = mme_id;
user_ptr->ctxt.mme_ue_s1ap_id = mme_id; return user_ptr;
} } else if (user_ptr->ctxt.mme_ue_s1ap_id == mme_id) {
return user_ptr; return user_ptr;
} else { } else {
logger.warning("MME UE S1AP ID=%d not found - discarding message", enb_id); logger.warning("MME UE S1AP ID=%d not found - discarding message", enb_id);
@ -1633,7 +1633,6 @@ s1ap::ue* s1ap::find_s1apmsg_user(uint32_t enb_id, uint32_t mme_id)
? cause_radio_network_opts::unknown_enb_ue_s1ap_id ? cause_radio_network_opts::unknown_enb_ue_s1ap_id
: cause_radio_network_opts::unknown_pair_ue_s1ap_id; : cause_radio_network_opts::unknown_pair_ue_s1ap_id;
} }
logger.warning("ENB UE S1AP ID=%d not found - discarding message", enb_id);
send_error_indication(SRSLTE_INVALID_RNTI, cause); send_error_indication(SRSLTE_INVALID_RNTI, cause);
return nullptr; return nullptr;
} }

Loading…
Cancel
Save