Commit cfeae369 authored by aligungr's avatar aligungr

L3 RRC/NAS developments

parent e44c83d4
...@@ -168,12 +168,18 @@ void NasMm::performMmCycle() ...@@ -168,12 +168,18 @@ void NasMm::performMmCycle()
/* Initial registration controls */ /* Initial registration controls */
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_NORMAL_SERVICE && !m_timers->t3346.isRunning()) if (m_mmSubState == EMmSubState::MM_DEREGISTERED_NORMAL_SERVICE && !m_timers->t3346.isRunning())
initialRegistrationRequired(EInitialRegCause::MM_DEREG_NORMAL_SERVICE); initialRegistrationRequired(EInitialRegCause::MM_DEREG_NORMAL_SERVICE);
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_LIMITED_SERVICE && hasEmergency()) else if (m_mmSubState == EMmSubState::MM_DEREGISTERED_NORMAL_SERVICE && hasEmergency())
initialRegistrationRequired(EInitialRegCause::EMERGENCY_SERVICES); initialRegistrationRequired(EInitialRegCause::EMERGENCY_SERVICES);
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_ATTEMPTING_REGISTRATION && hasEmergency())
initialRegistrationRequired(EInitialRegCause::EMERGENCY_SERVICES); if (hasEmergency())
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_NO_SUPI && 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); initialRegistrationRequired(EInitialRegCause::EMERGENCY_SERVICES);
}
/* Process TAI changes if any */ /* Process TAI changes if any */
if (currentTai.hasValue() && if (currentTai.hasValue() &&
......
...@@ -248,6 +248,9 @@ void NasMm::localReleaseConnection() ...@@ -248,6 +248,9 @@ void NasMm::localReleaseConnection()
void NasMm::handlePaging(const std::vector<GutiMobileIdentity> &tmsiIds) void NasMm::handlePaging(const std::vector<GutiMobileIdentity> &tmsiIds)
{ {
if (m_rmState != ERmState::RM_REGISTERED)
return;
auto guti = m_storage->storedGuti->get(); auto guti = m_storage->storedGuti->get();
if (guti.type == nas::EIdentityType::NO_IDENTITY) 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