Commit 845e8471 authored by aligungr's avatar aligungr

UE generic configuration update improvement

parent 27b26942
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "mm.hpp" #include "mm.hpp"
#include <lib/nas/utils.hpp> #include <lib/nas/utils.hpp>
#include <ue/nas/sm/sm.hpp>
namespace nr::ue namespace nr::ue
{ {
...@@ -127,6 +128,14 @@ void NasMm::receiveConfigurationUpdate(const nas::ConfigurationUpdateCommand &ms ...@@ -127,6 +128,14 @@ void NasMm::receiveConfigurationUpdate(const nas::ConfigurationUpdateCommand &ms
} }
} }
// "If acknowledgement requested is indicated in the Configuration update indication IE in the CONFIGURATION UPDATE
// COMMAND message, the UE shall send a CONFIGURATION UPDATE COMPLETE message."
if (msg.configurationUpdateIndication.has_value() &&
msg.configurationUpdateIndication->ack == nas::EAcknowledgement::REQUESTED)
{
sendNasMessage(nas::ConfigurationUpdateComplete{});
}
// "If the CONFIGURATION UPDATE COMMAND message indicates "registration requested" in the Configuration update // "If the CONFIGURATION UPDATE COMMAND message indicates "registration requested" in the Configuration update
// indication IE and:" // indication IE and:"
if (msg.configurationUpdateIndication.has_value() && if (msg.configurationUpdateIndication.has_value() &&
...@@ -137,7 +146,7 @@ void NasMm::receiveConfigurationUpdate(const nas::ConfigurationUpdateCommand &ms ...@@ -137,7 +146,7 @@ void NasMm::receiveConfigurationUpdate(const nas::ConfigurationUpdateCommand &ms
if (!hasNewConfig || (msg.allowedNssai.has_value() || msg.configuredNssai.has_value() || if (!hasNewConfig || (msg.allowedNssai.has_value() || msg.configuredNssai.has_value() ||
msg.networkSlicingIndication.has_value())) msg.networkSlicingIndication.has_value()))
{ {
if (hasEmergency()) // "an emergency PDU session exists," if (m_sm->anyEmergencySession()) // "an emergency PDU session exists,"
{ {
// "the UE shall, after the completion of the generic UE configuration // "the UE shall, after the completion of the generic UE configuration
// update procedure and after the emergency PDU session is released, release the existing N1 NAS // update procedure and after the emergency PDU session is released, release the existing N1 NAS
...@@ -163,14 +172,6 @@ void NasMm::receiveConfigurationUpdate(const nas::ConfigurationUpdateCommand &ms ...@@ -163,14 +172,6 @@ void NasMm::receiveConfigurationUpdate(const nas::ConfigurationUpdateCommand &ms
// TODO // TODO
} }
} }
// "If acknowledgement requested is indicated in the Configuration update indication IE in the CONFIGURATION UPDATE
// COMMAND message, the UE shall send a CONFIGURATION UPDATE COMPLETE message."
if (msg.configurationUpdateIndication.has_value() &&
msg.configurationUpdateIndication->ack == nas::EAcknowledgement::REQUESTED)
{
sendNasMessage(nas::ConfigurationUpdateComplete{});
}
} }
} // namespace nr::ue } // namespace nr::ue
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