in case of RA problem during handover, the UE cannot trigger RLF. It has to let t304 expire, which will then trigger the reestablishment procedure with the right cause

master
Francisco Paisana 4 years ago
parent cbac98c89e
commit aed9120458

@ -585,7 +585,9 @@ void rrc::release_pucch_srs()
void rrc::ra_problem()
{
radio_link_failure();
if (not t304.is_running()) {
radio_link_failure();
}
}
void rrc::max_retx_attempted()
@ -622,7 +624,8 @@ void rrc::timer_expired(uint32_t timeout_id)
} else if (timeout_id == t300.id()) {
// Do nothing, handled in connection_request()
} else if (timeout_id == t304.id()) {
rrc_log->console("Timer T304 expired: Handover failed\n");
rrc_log->console("Timer t304 expired: Handover failed\n");
rrc_log->info("Timer t304 expired: Handover failed\n");
ho_failed();
} else {
rrc_log->error("Timeout from unknown timer id %d\n", timeout_id);

@ -1518,11 +1518,11 @@ srslte::proc_outcome_t rrc::ho_proc::react(ra_completed_ev ev)
}
bool ho_successful = ev.success and not sec_cfg_failed;
// TS 36.331, sec. 5.3.5.4, last "1>"
rrc_ptr->t304.stop();
rrc_ptr->apply_rr_config_dedicated_on_ho_complete(recfg_r8.rr_cfg_ded);
if (ho_successful) {
// TS 36.331, sec. 5.3.5.4, last "1>"
rrc_ptr->t304.stop();
rrc_ptr->apply_rr_config_dedicated_on_ho_complete(recfg_r8.rr_cfg_ded);
if (not rrc_ptr->measurements->parse_meas_config(&recfg_r8, true, ho_src_cell.get_earfcn())) {
Error("Parsing measurementConfig. TODO: Send ReconfigurationReject\n");
ho_successful = false;

Loading…
Cancel
Save