Commit da91fa0b authored by aligungr's avatar aligungr

L3 RRC/NAS developments

parent 7a81bd41
......@@ -49,20 +49,17 @@ bool NasMm::isInNonAllowedArea()
return false;
auto plmn = m_base->shCtx.getCurrentPlmn();
if (!plmn.hasValue())
return false;
if (nas::utils::ServiceAreaListForbidsPlmn(m_storage->m_serviceAreaList->get(), nas::utils::PlmnFrom(plmn)))
return true;
if (m_usim->m_servingCell.has_value())
{
if (nas::utils::ServiceAreaListForbidsTai(
m_storage->m_serviceAreaList->get(),
nas::VTrackingAreaIdentity{nas::utils::PlmnFrom(plmn), octet3{m_usim->m_servingCell->tac}}))
return true;
}
int tac = m_base->shCtx.currentCell.get<int>([](auto &value) { return value.tac; });
if (nas::utils::ServiceAreaListForbidsTai(m_storage->m_serviceAreaList->get(),
nas::VTrackingAreaIdentity{nas::utils::PlmnFrom(plmn), octet3{tac}}))
return true;
return false;
}
......
......@@ -38,10 +38,6 @@ void NasMm::handleRrcEvent(const NwUeRrcToNas &msg)
handleRadioLinkFailure();
break;
}
case NwUeRrcToNas::SERVING_CELL_CHANGE: {
handleServingCellChange(msg.servingCell);
break;
}
case NwUeRrcToNas::PAGING: {
handlePaging(msg.pagingTmsi);
break;
......
......@@ -163,7 +163,6 @@ class NasMm
void localReleaseConnection();
void handleRrcConnectionSetup();
void handleRrcConnectionRelease();
void handleServingCellChange(const UeCellInfo &servingCell);
void handleRadioLinkFailure();
void handlePaging(const std::vector<GutiMobileIdentity> &tmsiIds);
......
......@@ -142,7 +142,7 @@ void NasMm::performPlmnSelection()
}
}
void NasMm::handleServingCellChange(const UeCellInfo &servingCell)
/*void NasMm::handleServingCellChange(const UeCellInfo &servingCell)
{
if (m_cmState == ECmState::CM_CONNECTED)
{
......@@ -177,7 +177,7 @@ void NasMm::handleServingCellChange(const UeCellInfo &servingCell)
m_usim->m_servingCell = servingCell;
m_usim->m_currentTai =
nas::VTrackingAreaIdentity{nas::utils::PlmnFrom(servingCell.cellId.plmn), octet3{servingCell.tac}};
}
}*/
void NasMm::handleRrcConnectionSetup()
{
......@@ -196,7 +196,6 @@ void NasMm::handleRadioLinkFailure()
m_logger->err("Radio link failure detected");
}
m_usim->m_servingCell = std::nullopt;
m_usim->m_currentTai = std::nullopt;
handleRrcConnectionRelease();
......
......@@ -35,7 +35,6 @@ class Usim
nas::IE5gsMobileIdentity m_storedGuti{};
// Plmn related
std::optional<UeCellInfo> m_servingCell{};
std::optional<nas::VTrackingAreaIdentity> m_currentTai{};
std::optional<nas::IE5gsTrackingAreaIdentity> m_lastVisitedRegisteredTai{};
nas::IE5gsTrackingAreaIdentityList m_taiList{};
......
......@@ -68,7 +68,6 @@ struct NwUeRrcToNas : NtsMessage
RRC_CONNECTION_SETUP,
RRC_CONNECTION_RELEASE,
RADIO_LINK_FAILURE,
SERVING_CELL_CHANGE,
PAGING,
NAS_NOTIFY,
} present;
......@@ -76,9 +75,6 @@ struct NwUeRrcToNas : NtsMessage
// NAS_DELIVERY
OctetString nasPdu{};
// SERVING_CELL_CHANGE
UeCellInfo servingCell{};
// PAGING
std::vector<GutiMobileIdentity> pagingTmsi{};
......
......@@ -162,26 +162,6 @@ enum class ECellCategory
SUITABLE_CELL,
};
struct UeCellMeasurement
{
uint64_t sti{};
GlobalNci cellId;
int tac{};
int dbm{};
std::string gnbName;
std::string linkIp;
};
struct UeCellInfo
{
uint64_t sti{};
GlobalNci cellId;
int tac{};
ECellCategory cellCategory{};
std::string gnbName;
std::string linkIp;
};
struct Vector3
{
int x{};
......
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