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) { if (running) {
ue_task_queue.try_push([this]() { nas.switch_on(); }); ue_task_queue.try_push([this]() { nas.switch_on(); });
} }
return false; return true;
} }
bool ue_stack_lte::switch_off() bool ue_stack_lte::switch_off()

View File

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

View File

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