diff --git a/srsenb/src/enb_cfg_parser.cc b/srsenb/src/enb_cfg_parser.cc index f89c872e1..e9a65cb1e 100644 --- a/srsenb/src/enb_cfg_parser.cc +++ b/srsenb/src/enb_cfg_parser.cc @@ -1510,6 +1510,8 @@ int set_derived_args_nr(all_args_t* args_, rrc_nr_cfg_t* rrc_nr_cfg_, phy_cfg_t* return SRSRAN_ERROR; } + rrc_nr_cfg_->inactivity_timeout_ms = args_->general.rrc_inactivity_timer; + // Create NR dedicated cell configuration from RRC configuration for (auto& cfg : rrc_nr_cfg_->cell_list) { cfg.phy_cell.carrier.max_mimo_layers = args_->enb.nof_ports; diff --git a/srsgnb/hdr/stack/rrc/rrc_nr_config.h b/srsgnb/hdr/stack/rrc/rrc_nr_config.h index 7f8dfa3c8..11c4873f1 100644 --- a/srsgnb/hdr/stack/rrc/rrc_nr_config.h +++ b/srsgnb/hdr/stack/rrc/rrc_nr_config.h @@ -51,6 +51,7 @@ struct rrc_nr_cfg_t { rrc_nr_cfg_sr_t sr_cfg; rrc_cfg_cqi_t cqi_cfg; rrc_cell_list_nr_t cell_list; + uint32_t inactivity_timeout_ms; bool is_standalone; std::array nea_preference_list; diff --git a/srsgnb/src/stack/rrc/rrc_nr_ue.cc b/srsgnb/src/stack/rrc/rrc_nr_ue.cc index f809fcd52..7c35f2392 100644 --- a/srsgnb/src/stack/rrc/rrc_nr_ue.cc +++ b/srsgnb/src/stack/rrc/rrc_nr_ue.cc @@ -59,7 +59,7 @@ void rrc_nr::ue::set_activity_timeout(activity_timeout_type_t type) break; case UE_INACTIVITY_TIMEOUT: // TODO: Retrieve the parameters from somewhere(RRC?) - Currently hardcoded to 5s - deadline_ms = 10000; + deadline_ms = parent->cfg.inactivity_timeout_ms; break; default: logger.error("Unknown timeout type %d", type); @@ -1044,8 +1044,7 @@ void rrc_nr::ue::send_rrc_reconfiguration() // If no bearer to add/mod/remove, do not include master_cell_group // Set ies.non_crit_ext_present (a few lines below) only if // master_cell_group_present == true or ies.non_crit_ext.ded_nas_msg_list_present == true - if (ies.radio_bearer_cfg_present){ - + if (ies.radio_bearer_cfg_present) { ies.non_crit_ext.master_cell_group_present = true; // Fill masterCellGroup