Fixed TTCN UE for starting a service request in rrc_idle

This commit is contained in:
David Rupprecht 2020-11-11 13:56:51 +01:00 committed by Andre Puschmann
parent 454162cea7
commit a8074fe39d
3 changed files with 18 additions and 7 deletions

View File

@ -168,7 +168,7 @@ bool ue_stack_lte::switch_on()
if (running) {
ue_task_queue.try_push([this]() { nas.switch_on(); });
}
return false;
return true;
}
bool ue_stack_lte::switch_off()

View File

@ -406,11 +406,22 @@ bool nas::detach_request(const bool switch_off)
// Signal from RRC that connection request proc completed
bool nas::connection_request_completed(bool outcome)
{
nas_log->debug("RRC connection request completed. NAS State %s.\n", state.get_full_state_text().c_str());
if (state.get_state() == emm_state_t::state_t::service_request_initiated) {
srslte::console("Service Request Finished.\n");
rrc->paging_completed(true);
state.set_registered(emm_state_t::registered_substate_t::normal_service);
if (outcome == true) {
nas_log->debug("RRC connection request completed. NAS State %s.\n", state.get_full_state_text().c_str());
if (state.get_state() == emm_state_t::state_t::service_request_initiated) {
srslte::console("Service Request successful.\n");
nas_log->info("Service Request successful.\n");
rrc->paging_completed(true);
state.set_registered(emm_state_t::registered_substate_t::normal_service);
}
} else {
nas_log->debug("RRC connection request failed. NAS State %s.\n", state.get_full_state_text().c_str());
if (state.get_state() == emm_state_t::state_t::service_request_initiated) {
srslte::console("RRC connection for Service Request failed.\n");
nas_log->info("RRC connection for Service Request failed.\n");
rrc->paging_completed(false);
state.set_registered(emm_state_t::registered_substate_t::normal_service);
}
}
return true;
}

View File

@ -238,7 +238,7 @@ void ttcn3_ue::send_queued_data()
{
if (!stack->is_rrc_connected()) {
log.info("RRC not connected, requesting NAS attach\n");
if (not stack->switch_on()) {
if (not stack->start_service_request()) {
log.warning("Could not reestablish the connection\n");
}
stack->get_task_sched().defer_callback(500, [&]() { send_queued_data(); });