Commit 360d0e47 authored by aligungr's avatar aligungr

L3 RRC/NAS developments

parent f4816086
......@@ -95,7 +95,28 @@ void NasMm::performMmCycle()
if (m_mmSubState == EMmSubState::MM_DEREGISTERED_PS)
{
switchMmState(EMmSubState::MM_DEREGISTERED_PLMN_SEARCH);
if (m_cmState == ECmState::CM_IDLE)
switchMmState(EMmSubState::MM_DEREGISTERED_PLMN_SEARCH);
else
{
auto cell = m_base->shCtx.currentCell.get();
if (cell.hasValue())
{
if (!m_usim->isValid())
switchMmState(EMmSubState::MM_DEREGISTERED_NO_SUPI);
else if (cell.category == ECellCategory::SUITABLE_CELL)
switchMmState(EMmSubState::MM_DEREGISTERED_NORMAL_SERVICE);
else if (cell.category == ECellCategory::ACCEPTABLE_CELL)
switchMmState(EMmSubState::MM_DEREGISTERED_LIMITED_SERVICE);
else
switchMmState(EMmSubState::MM_DEREGISTERED_PLMN_SEARCH);
}
else
{
switchMmState(EMmSubState::MM_DEREGISTERED_PLMN_SEARCH);
}
}
return;
return;
}
else if (m_mmSubState == EMmSubState::MM_DEREGISTERED_NORMAL_SERVICE)
......@@ -144,7 +165,25 @@ void NasMm::performMmCycle()
if (m_mmSubState == EMmSubState::MM_REGISTERED_PS)
{
switchMmState(EMmSubState::MM_REGISTERED_PLMN_SEARCH);
if (m_cmState == ECmState::CM_IDLE)
switchMmState(EMmSubState::MM_REGISTERED_PLMN_SEARCH);
else
{
auto cell = m_base->shCtx.currentCell.get();
if (cell.hasValue())
{
if (cell.category == ECellCategory::SUITABLE_CELL)
switchMmState(EMmSubState::MM_REGISTERED_NORMAL_SERVICE);
else if (cell.category == ECellCategory::ACCEPTABLE_CELL)
switchMmState(EMmSubState::MM_REGISTERED_LIMITED_SERVICE);
else
switchMmState(EMmSubState::MM_REGISTERED_PLMN_SEARCH);
}
else
{
switchMmState(EMmSubState::MM_REGISTERED_PLMN_SEARCH);
}
}
return;
}
else if (m_mmSubState == EMmSubState::MM_REGISTERED_NORMAL_SERVICE)
......
......@@ -73,6 +73,9 @@ bool NasMm::startECallInactivityIfNeeded()
bool NasMm::switchToECallInactivityIfNeeded()
{
if (!m_usim->isValid())
return false;
if (!m_usim->m_isECallOnly)
return false;
......
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