Make sure RRC identity is set when NAS reads UE context from file.

master
Pedro Alvarez 4 years ago
parent ca7a38a2ba
commit a5229a02d1

@ -307,6 +307,7 @@ void rrc::ue::handle_rrc_con_req(rrc_conn_request_s* msg)
parent->logger.info("RRC connection request: UE context already exists. M-TMSI=%d", m_tmsi); parent->logger.info("RRC connection request: UE context already exists. M-TMSI=%d", m_tmsi);
parent->rem_user_thread(ue_it->first); // Simply remove the old context. No need to notify the MME, it will parent->rem_user_thread(ue_it->first); // Simply remove the old context. No need to notify the MME, it will
// update the eNB/MME-UE S1AP Id pair. // update the eNB/MME-UE S1AP Id pair.
break;
} }
} }
} }

@ -137,8 +137,6 @@ void rrc::init(phy_interface_rrc_lte* phy_,
t311 = task_sched.get_unique_timer(); t311 = task_sched.get_unique_timer();
t304 = task_sched.get_unique_timer(); t304 = task_sched.get_unique_timer();
ue_identity_configured = false;
transaction_id = 0; transaction_id = 0;
cell_clean_cnt = 0; cell_clean_cnt = 0;

@ -822,7 +822,9 @@ proc_outcome_t rrc::connection_request_proc::step()
if (state == state_t::cell_selection) { if (state == state_t::cell_selection) {
// NOTE: cell selection will signal back with an event trigger // NOTE: cell selection will signal back with an event trigger
return proc_outcome_t::yield; return proc_outcome_t::yield;
} else if (state == state_t::config_serving_cell) { }
if (state == state_t::config_serving_cell) {
if (rrc_ptr->serv_cell_cfg.run()) { if (rrc_ptr->serv_cell_cfg.run()) {
return proc_outcome_t::yield; return proc_outcome_t::yield;
} }

@ -1885,6 +1885,7 @@ void nas::send_attach_request()
logger.error("Couldn't allocate PDU in %s().", __FUNCTION__); logger.error("Couldn't allocate PDU in %s().", __FUNCTION__);
return; return;
} }
gen_attach_request(pdu); gen_attach_request(pdu);
rrc->write_sdu(std::move(pdu)); rrc->write_sdu(std::move(pdu));
} }
@ -2522,6 +2523,11 @@ bool nas::read_ctxt_file(nas_sec_ctxt* ctxt_)
have_ctxt = true; have_ctxt = true;
current_sec_hdr = LIBLTE_MME_SECURITY_HDR_TYPE_INTEGRITY_AND_CIPHERED; current_sec_hdr = LIBLTE_MME_SECURITY_HDR_TYPE_INTEGRITY_AND_CIPHERED;
// Set UE identity in RRC
s_tmsi_t s_tmsi;
s_tmsi.mmec = ctxt.guti.mme_code;
s_tmsi.m_tmsi = ctxt.guti.m_tmsi;
rrc->set_ue_identity(s_tmsi);
return true; return true;
} }
return false; return false;

Loading…
Cancel
Save