rrc,ue: for RRC conn release, delay transition to RRC idle by 60ms as per TS 36.331

when receiving RRC connection release all actions shall be delayed by 60ms as
per the standard
This commit is contained in:
Andre Puschmann 2021-06-25 11:08:25 +02:00
parent 368c7b9e4f
commit 4d11e5552a
3 changed files with 8 additions and 4 deletions

View File

@ -29,6 +29,7 @@ public:
srsran::tti_point get_current_tti() override { return srsran::tti_point{tti % 10240}; }
void add_eps_bearer(uint8_t eps_bearer_id, srsran::srsran_rat_t rat, uint32_t lcid) final{};
void remove_eps_bearer(uint8_t eps_bearer_id) final{};
void reset_eps_bearers() final{};
// Testing utility functions
void run_tti()

View File

@ -1098,7 +1098,9 @@ void rrc::rrc_connection_release(const std::string& cause)
{
// Save idleModeMobilityControlInfo, etc.
srsran::console("Received RRC Connection Release (releaseCause: %s)\n", cause.c_str());
start_go_idle();
// delay actions by 60ms as per 5.3.8.3
task_sched.defer_callback(60, [this]() { start_go_idle(); });
}
/// TS 36.331, 5.3.12 - UE actions upon leaving RRC_CONNECTED

View File

@ -100,9 +100,10 @@ class dummy_sim : public usim_interface_rrc_nr
class dummy_stack : public stack_interface_rrc
{
srsran::tti_point get_current_tti() { return srsran::tti_point(); };
void add_eps_bearer(uint8_t eps_bearer_id, srsran::srsran_rat_t rat, uint32_t lcid){};
void remove_eps_bearer(uint8_t eps_bearer_id){};
srsran::tti_point get_current_tti() final { return srsran::tti_point(); };
void add_eps_bearer(uint8_t eps_bearer_id, srsran::srsran_rat_t rat, uint32_t lcid) final{};
void remove_eps_bearer(uint8_t eps_bearer_id) final{};
void reset_eps_bearers() final{};
};
int rrc_nr_cap_request_test()