Commit cfeae369 authored by aligungr's avatar aligungr

L3 RRC/NAS developments

parent e44c83d4
......@@ -168,13 +168,19 @@ void NasMm::performMmCycle()
/* Initial registration controls */
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_NORMAL_SERVICE && !m_timers->t3346.isRunning())
initialRegistrationRequired(EInitialRegCause::MM_DEREG_NORMAL_SERVICE);
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_LIMITED_SERVICE && hasEmergency())
initialRegistrationRequired(EInitialRegCause::EMERGENCY_SERVICES);
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_ATTEMPTING_REGISTRATION && hasEmergency())
initialRegistrationRequired(EInitialRegCause::EMERGENCY_SERVICES);
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_NO_SUPI && hasEmergency())
else if (m_mmSubState == EMmSubState::MM_DEREGISTERED_NORMAL_SERVICE && hasEmergency())
initialRegistrationRequired(EInitialRegCause::EMERGENCY_SERVICES);
if (hasEmergency())
{
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_LIMITED_SERVICE ||
m_mmSubState == EMmSubState::MM_DEREGISTERED_ATTEMPTING_REGISTRATION ||
m_mmSubState == EMmSubState::MM_DEREGISTERED_NO_SUPI ||
m_mmSubState == EMmSubState::MM_REGISTERED_NON_ALLOWED_SERVICE ||
m_mmSubState == EMmSubState::MM_REGISTERED_LIMITED_SERVICE)
initialRegistrationRequired(EInitialRegCause::EMERGENCY_SERVICES);
}
/* Process TAI changes if any */
if (currentTai.hasValue() &&
!nas::utils::TaiListContains(m_storage->taiList->get(), nas::VTrackingAreaIdentity{currentTai}))
......
......@@ -248,6 +248,9 @@ void NasMm::localReleaseConnection()
void NasMm::handlePaging(const std::vector<GutiMobileIdentity> &tmsiIds)
{
if (m_rmState != ERmState::RM_REGISTERED)
return;
auto guti = m_storage->storedGuti->get();
if (guti.type == nas::EIdentityType::NO_IDENTITY)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment