Commit da91fa0b authored by aligungr's avatar aligungr

L3 RRC/NAS developments

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