Commit affae9df authored by aligungr's avatar aligungr

L3 RRC/NAS developments

parent 22aca1d6
......@@ -19,9 +19,21 @@
namespace nr::ue
{
void NasMm::initialRegistrationRequired(EInitialRegCause cause)
{
// TODO
triggerMmCycle();
}
void NasMm::mobilityUpdatingRequired(ERegUpdateCause cause)
{
// TODO
// TODO: "the periodic registration update procedure is delayed until the UE returns to
// 5GMM-REGISTERED.NORMAL-SERVICE over 3GPP access." See 5.3.7
triggerMmCycle();
}
} // namespace nr::ue
\ No newline at end of file
......@@ -49,9 +49,11 @@ void UeRrcTask::notifyCellLost(int cellId)
return;
bool isActiveCell = false;
m_base->shCtx.currentCell.mutate([&isActiveCell, cellId](auto &value) {
ActiveCellInfo lastActiveCell;
m_base->shCtx.currentCell.mutate([&isActiveCell, &lastActiveCell, cellId](auto &value) {
if (value.cellId == cellId)
{
lastActiveCell = value;
value = {};
isActiveCell = true;
}
......@@ -62,8 +64,17 @@ void UeRrcTask::notifyCellLost(int cellId)
m_logger->debug("Signal lost for cell[%d], total [%d] cells in coverage", cellId,
static_cast<int>(m_cellDesc.size()));
if (isActiveCell && m_state != ERrcState::RRC_IDLE)
declareRadioLinkFailure(rls::ERlfCause::SIGNAL_LOST_TO_CONNECTED_CELL);
if (isActiveCell)
{
if (m_state != ERrcState::RRC_IDLE)
declareRadioLinkFailure(rls::ERlfCause::SIGNAL_LOST_TO_CONNECTED_CELL);
else
{
auto w2 = new NmUeRrcToNas(NmUeRrcToNas::ACTIVE_CELL_CHANGED);
w2->previousTai = Tai{lastActiveCell.plmn, lastActiveCell.tac};
m_base->nasTask->push(w2);
}
}
updateAvailablePlmns();
}
......
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