Commit 860db47a authored by aligungr's avatar aligungr

L3 RRC/NAS developments

parent 06e96d4d
...@@ -113,6 +113,15 @@ void NasMm::sendMobilityRegistration(ERegUpdateCause updateCause) ...@@ -113,6 +113,15 @@ void NasMm::sendMobilityRegistration(ERegUpdateCause updateCause)
return; return;
} }
if (m_mmSubState == EMmSubState::MM_REGISTERED_NON_ALLOWED_SERVICE)
{
if (!isHighPriority() && !hasEmergency())
{
m_logger->debug("Mobility updating canceled, registered in non allowed service");
return;
}
}
// 5.5.1.3.7 Abnormal cases in the UE // 5.5.1.3.7 Abnormal cases in the UE
// a) Timer T3346 is running. // a) Timer T3346 is running.
if (m_timers->t3346.isRunning()) if (m_timers->t3346.isRunning())
...@@ -121,7 +130,7 @@ void NasMm::sendMobilityRegistration(ERegUpdateCause updateCause) ...@@ -121,7 +130,7 @@ void NasMm::sendMobilityRegistration(ERegUpdateCause updateCause)
isHighPriority() || hasEmergency() || updateCause == ERegUpdateCause::CONFIGURATION_UPDATE; isHighPriority() || hasEmergency() || updateCause == ERegUpdateCause::CONFIGURATION_UPDATE;
if (!allowed) if (!allowed)
{ {
m_logger->debug("Mobility updating updating canceled, T3346 is running"); m_logger->debug("Mobility updating canceled, T3346 is running");
return; return;
} }
} }
......
...@@ -46,14 +46,25 @@ void NasMm::sendServiceRequest(EServiceReqCause reqCause) ...@@ -46,14 +46,25 @@ void NasMm::sendServiceRequest(EServiceReqCause reqCause)
return; return;
} }
if (m_mmSubState == EMmSubState::MM_REGISTERED_NON_ALLOWED_SERVICE)
{
if (reqCause != EServiceReqCause::IDLE_PAGING &&
reqCause != EServiceReqCause::CONNECTED_3GPP_NOTIFICATION_N3GPP &&
reqCause != EServiceReqCause::IDLE_3GPP_NOTIFICATION_N3GPP && !isHighPriority() && !hasEmergency())
{
m_logger->debug("Service Request canceled, registered in non allowed service");
return;
}
}
// 5.6.1.7 Abnormal cases in the UE // 5.6.1.7 Abnormal cases in the UE
// a) Timer T3525 // a) Timer T3525
if (m_timers->t3525.isRunning()) if (m_timers->t3525.isRunning())
{ {
if (reqCause != EServiceReqCause::IDLE_PAGING && if (reqCause != EServiceReqCause::IDLE_PAGING &&
reqCause != EServiceReqCause::CONNECTED_3GPP_NOTIFICATION_N3GPP && reqCause != EServiceReqCause::CONNECTED_3GPP_NOTIFICATION_N3GPP &&
reqCause != EServiceReqCause::IDLE_3GPP_NOTIFICATION_N3GPP && !isHighPriority() && !hasEmergency() && reqCause != EServiceReqCause::IDLE_3GPP_NOTIFICATION_N3GPP &&
reqCause != EServiceReqCause::EMERGENCY_FALLBACK) reqCause != EServiceReqCause::EMERGENCY_FALLBACK && !isHighPriority() && !hasEmergency())
{ {
m_logger->debug("Service Request canceled, T3346 is running"); m_logger->debug("Service Request canceled, T3346 is running");
return; return;
......
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