From 4d8a354b17a55d035dfcc8d3b7b9ce7249eecaa6 Mon Sep 17 00:00:00 2001 From: Francisco Date: Fri, 22 Oct 2021 18:07:23 +0100 Subject: [PATCH] nr,gnb,rrc: implement reestablishment reject in case of reestablishment with cause reconfigfailure and no NR carrier --- srsenb/src/stack/rrc/rrc_ue.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/srsenb/src/stack/rrc/rrc_ue.cc b/srsenb/src/stack/rrc/rrc_ue.cc index c870588ce..d4e091fe4 100644 --- a/srsenb/src/stack/rrc/rrc_ue.cc +++ b/srsenb/src/stack/rrc/rrc_ue.cc @@ -648,7 +648,16 @@ void rrc::ue::handle_rrc_con_reest_req(rrc_conn_reest_request_s* msg) srsran::console("RRCReestablishmentReject for rnti=0x%x. Cause: no context available\n", rnti); return; } - ue* old_ue = old_ue_it->second.get(); + ue* old_ue = old_ue_it->second.get(); + bool old_ue_supported_endc = old_ue->endc_handler and old_ue->endc_handler->is_endc_supported(); + if (not old_ue_supported_endc and req_r8.reest_cause.value == reest_cause_opts::recfg_fail) { + // Reestablishment Reject for ReconfigFailures of LTE-only mode + parent->logger.info( + "RRCReestablishmentReject for rnti=0x%x. Cause: Unhandled Reestablishment due to ReconfigFailure", rnti); + srsran::console("RRCReestablishmentReject for rnti=0x%x. Cause: Unhandled Reestablishment due to ReconfigFailure\n", + rnti); + return; + } // Reestablishment procedure going forward parent->logger.info("ConnectionReestablishmentRequest for rnti=0x%x. Sending Connection Reestablishment", old_rnti);