Commit a0d42520 authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

Fix issue to get NSSAI from Security Mode Complete

parent 23e5e58b
......@@ -2199,6 +2199,12 @@ void amf_n1::security_mode_complete_handle(
std::vector<SNSSAI_t> requested_nssai = {};
if (registration_request->getRequestedNssai(requested_nssai)) {
nc.get()->requestedNssai = requested_nssai;
for (auto s : nc.get()->requestedNssai) {
Logger::amf_n1().debug(
"Requested NSSAI SST (0x%x) SD (0x%x) hplmnSST (0x%x) hplmnSD "
"(%d)",
s.sst, s.sd, s.mHplmnSst, s.mHplmnSd);
}
}
}
}
......
......@@ -45,6 +45,13 @@ typedef struct SNSSAI_s {
int32_t sd;
int32_t mHplmnSst;
int32_t mHplmnSd;
SNSSAI_s& operator=(const struct SNSSAI_s& s) {
sst = s.sst;
sd = s.sd;
mHplmnSst = s.mHplmnSst;
mHplmnSd = s.mHplmnSd;
return *this;
}
} SNSSAI_t;
typedef struct {
uint8_t ie_type;
......
......@@ -153,7 +153,7 @@ int SecurityModeComplete::encode2buffer(uint8_t* buf, int len) {
int SecurityModeComplete::decodefrombuffer(
NasMmPlainHeader* header, uint8_t* buf, int len) {
Logger::nas_mm().debug("Decoding SecurityModeComplete message");
int decoded_size = 3;
int decoded_size = 3; // For the header
plain_header = header;
Logger::nas_mm().debug("Decoded_size (%d)", decoded_size);
......@@ -167,24 +167,18 @@ int SecurityModeComplete::decodefrombuffer(
ie_imeisv = new _5GSMobilityIdentity();
decoded_size += ie_imeisv->decodefrombuffer(
buf + decoded_size, len - decoded_size, true);
// octet = *(buf + decoded_size);
Logger::nas_mm().debug("Next IEI (0x%x)", octet);
} break;
case 0x71: {
Logger::nas_mm().debug("Decoding IEI (0x71)");
ie_nas_message_container = new NAS_Message_Container();
decoded_size += ie_nas_message_container->decodefrombuffer(
buf + decoded_size, len - decoded_size, true);
// octet = *(buf + decoded_size);
Logger::nas_mm().debug("Next IEI (0x%x)", octet);
} break;
case 0x78: {
Logger::nas_mm().debug("Decoding IEI (0x78)");
ie_non_imeisvpei = new _5GSMobilityIdentity();
decoded_size += ie_non_imeisvpei->decodefrombuffer(
buf + decoded_size, len - decoded_size, true);
// octet = *(buf + decoded_size);
Logger::nas_mm().debug("Next IEI (0x%x)", octet);
} break;
default: {
Logger::nas_mm().debug("Unexpected IEI (0x%x)", octet);
......
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