Commit 2a66fe90 authored by aligungr's avatar aligungr

L3 RRC/NAS developments

parent 0ad6cf29
...@@ -88,6 +88,9 @@ void NasMm::performMmCycle() ...@@ -88,6 +88,9 @@ void NasMm::performMmCycle()
if (m_mmState == EMmState::MM_NULL) if (m_mmState == EMmState::MM_NULL)
return; return;
if (m_sm->anyUplinkDataPending() && missingSessionBearer())
serviceNeededForUplinkData();
if (m_mmState == EMmState::MM_DEREGISTERED) if (m_mmState == EMmState::MM_DEREGISTERED)
{ {
if (switchToECallInactivityIfNeeded()) if (switchToECallInactivityIfNeeded())
......
...@@ -166,6 +166,7 @@ class NasMm ...@@ -166,6 +166,7 @@ class NasMm
void handleRadioLinkFailure(); void handleRadioLinkFailure();
void handlePaging(const std::vector<GutiMobileIdentity> &tmsiIds); void handlePaging(const std::vector<GutiMobileIdentity> &tmsiIds);
void updateProvidedGuti(bool provide = true); void updateProvidedGuti(bool provide = true);
bool missingSessionBearer();
private: /* Access Control */ private: /* Access Control */
bool isHighPriority(); bool isHighPriority();
......
...@@ -321,4 +321,13 @@ void NasMm::updateProvidedGuti(bool provide) ...@@ -321,4 +321,13 @@ void NasMm::updateProvidedGuti(bool provide)
} }
} }
bool NasMm::missingSessionBearer()
{
if (m_cmState == ECmState::CM_IDLE)
return true;
// TODO
return false;
}
} // namespace nr::ue } // namespace nr::ue
\ No newline at end of file
...@@ -62,11 +62,9 @@ bool NasSm::anyEmergencySession() ...@@ -62,11 +62,9 @@ bool NasSm::anyEmergencySession()
void NasSm::handleUplinkStatusChange(int psi, bool isPending) void NasSm::handleUplinkStatusChange(int psi, bool isPending)
{ {
m_logger->debug("Uplink data status changed PSI[%d] pending[%s]", psi, isPending ? "true" : "false"); m_logger->debug("Uplink data status changed PSI[%d] pending[%s]", psi, isPending ? "true" : "false");
m_pduSessions[psi]->uplinkPending = isPending; m_pduSessions[psi]->uplinkPending = isPending;
if (isPending) m_mm->triggerMmCycle();
m_mm->serviceNeededForUplinkData();
} }
bool NasSm::anyUplinkDataPending() bool NasSm::anyUplinkDataPending()
......
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