nr,gnb,rrc: configurable RRC NR inactivity timeout

master
Francisco 3 years ago committed by Francisco Paisana
parent 9f7ae7a2b2
commit 61e923a6a6

@ -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; return SRSRAN_ERROR;
} }
rrc_nr_cfg_->inactivity_timeout_ms = args_->general.rrc_inactivity_timer;
// Create NR dedicated cell configuration from RRC configuration // Create NR dedicated cell configuration from RRC configuration
for (auto& cfg : rrc_nr_cfg_->cell_list) { for (auto& cfg : rrc_nr_cfg_->cell_list) {
cfg.phy_cell.carrier.max_mimo_layers = args_->enb.nof_ports; cfg.phy_cell.carrier.max_mimo_layers = args_->enb.nof_ports;

@ -51,6 +51,7 @@ struct rrc_nr_cfg_t {
rrc_nr_cfg_sr_t sr_cfg; rrc_nr_cfg_sr_t sr_cfg;
rrc_cfg_cqi_t cqi_cfg; rrc_cfg_cqi_t cqi_cfg;
rrc_cell_list_nr_t cell_list; rrc_cell_list_nr_t cell_list;
uint32_t inactivity_timeout_ms;
bool is_standalone; bool is_standalone;
std::array<srsran::CIPHERING_ALGORITHM_ID_NR_ENUM, srsran::CIPHERING_ALGORITHM_ID_NR_N_ITEMS> nea_preference_list; std::array<srsran::CIPHERING_ALGORITHM_ID_NR_ENUM, srsran::CIPHERING_ALGORITHM_ID_NR_N_ITEMS> nea_preference_list;

@ -59,7 +59,7 @@ void rrc_nr::ue::set_activity_timeout(activity_timeout_type_t type)
break; break;
case UE_INACTIVITY_TIMEOUT: case UE_INACTIVITY_TIMEOUT:
// TODO: Retrieve the parameters from somewhere(RRC?) - Currently hardcoded to 5s // TODO: Retrieve the parameters from somewhere(RRC?) - Currently hardcoded to 5s
deadline_ms = 10000; deadline_ms = parent->cfg.inactivity_timeout_ms;
break; break;
default: default:
logger.error("Unknown timeout type %d", type); 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 // 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 // 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 // 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; ies.non_crit_ext.master_cell_group_present = true;
// Fill masterCellGroup // Fill masterCellGroup

Loading…
Cancel
Save