Commit 5f666d76 authored by aligungr's avatar aligungr

Merge branch 'dev' of https://github.com/aligungr/UERANSIM

parents 5ec6c48f 6d51a5c1
...@@ -297,15 +297,19 @@ void NasMm::receiveInitialRegistrationAccept(const nas::RegistrationAccept &msg) ...@@ -297,15 +297,19 @@ void NasMm::receiveInitialRegistrationAccept(const nas::RegistrationAccept &msg)
return; return;
// Store the TAI list as a registration area // Store the TAI list as a registration area
if (msg.taiList.has_value() && nas::utils::TaiListSize(*msg.taiList) == 0) if (msg.taiList.has_value())
{ {
m_logger->err("Invalid TAI list size"); if (nas::utils::TaiListSize(*msg.taiList) == 0)
sendMmStatus(nas::EMmCause::SEMANTICALLY_INCORRECT_MESSAGE); {
return; m_logger->err("Invalid TAI list size");
sendMmStatus(nas::EMmCause::SEMANTICALLY_INCORRECT_MESSAGE);
return;
}
m_storage->taiList->set(*msg.taiList);
} }
m_storage->taiList->set(msg.taiList.value_or(nas::IE5gsTrackingAreaIdentityList{}));
if (currentTai.hasValue() && if (nas::utils::TaiListContains(m_storage->taiList->get(), nas::VTrackingAreaIdentity{currentTai}))
nas::utils::TaiListContains(m_storage->taiList->get(), nas::VTrackingAreaIdentity{currentTai}))
m_storage->lastVisitedRegisteredTai->set(currentTai); m_storage->lastVisitedRegisteredTai->set(currentTai);
// Store the service area list // Store the service area list
...@@ -451,10 +455,11 @@ void NasMm::receiveMobilityRegistrationAccept(const nas::RegistrationAccept &msg ...@@ -451,10 +455,11 @@ void NasMm::receiveMobilityRegistrationAccept(const nas::RegistrationAccept &msg
} }
m_storage->taiList->set(*msg.taiList); m_storage->taiList->set(*msg.taiList);
if (nas::utils::TaiListContains(*msg.taiList, nas::VTrackingAreaIdentity{currentTai}))
m_storage->lastVisitedRegisteredTai->set(currentTai);
} }
if (nas::utils::TaiListContains(m_storage->taiList->get(), nas::VTrackingAreaIdentity{currentTai}))
m_storage->lastVisitedRegisteredTai->set(currentTai);
// Store the E-PLMN list and .. // Store the E-PLMN list and ..
m_storage->equivalentPlmnList->clear(); m_storage->equivalentPlmnList->clear();
if (msg.equivalentPLMNs.has_value()) if (msg.equivalentPLMNs.has_value())
......
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