Commit 0952db8d authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN

Code cleanup for Service Request

parent 5fd4ea92
......@@ -919,9 +919,9 @@ void amf_n1::service_request_handle(
amf_app_inst->set_supi_2_ue_context(supi, uc);
// Get PDU session status from Service Request
uint16_t pdu_session_status =
(uint16_t) service_request->getPduSessionStatus();
if (pdu_session_status == 0) {
uint16_t pdu_session_status = 0;
if (!service_request->GetPduSessionStatus(pdu_session_status) or
(pdu_session_status == 0)) {
// Get PDU Session Status from NAS Message Container if available
bstring plain_msg = nullptr;
if (service_request->GetNasMessageContainer(plain_msg)) {
......@@ -950,17 +950,19 @@ void amf_n1::service_request_handle(
nullptr, (uint8_t*) bdata(plain_msg), blength(plain_msg));
bdestroy_wrapper(&plain_msg);
if (service_request_nas->getPduSessionStatus() > 0) {
pdu_session_status =
(uint16_t) service_request_nas->getPduSessionStatus();
if (!service_request_nas->GetPduSessionStatus(pdu_session_status)) {
Logger::nas_mm().debug("IE PDU Session Status is not present");
}
/*
// Trigger UE Connectivity Status Notify
Logger::amf_n1().debug(
"Signal the UE Connectivity Status Event notification
for SUPI "
"%s",
supi.c_str());
event_sub.ue_connectivity_state(supi, CM_CONNECTED, 1);
*/
// Trigger UE Connectivity Status Notify
Logger::amf_n1().debug(
"Signal the UE Connectivity Status Event notification for SUPI "
"%s",
supi.c_str());
event_sub.ue_connectivity_state(supi, CM_CONNECTED, 1);
} break;
default:
......@@ -1017,7 +1019,7 @@ void amf_n1::service_request_handle(
std::shared_ptr<pdu_session_context> psc = {};
service_accept->SetPduSessionStatus(service_request->getPduSessionStatus());
service_accept->SetPduSessionStatus(pdu_session_status);
service_accept->SetPduSessionReactivationResult(0x0000);
uint8_t pdu_session_id = pdu_session_to_be_activated.at(0);
......
This diff is collapsed.
......@@ -38,35 +38,38 @@ class ServiceRequest : public NasMmPlainHeader {
int Decode(NasMmPlainHeader* header, uint8_t* buf, int len);
void SetNgKsi(uint8_t tsc, uint8_t key_set_id);
bool GetNgKSI(uint8_t& ng_ksi);
void GetNgKsi(uint8_t& ng_ksi) const;
void SetServiceType(uint8_t value);
uint8_t GetServiceType();
void GetServiceType(uint8_t& value);
void Set5gSTmsi(uint16_t amf_set_id, uint8_t amf_pointer, string tmsi);
bool Get5gSTmsi(uint16_t& amf_set_id, uint8_t& amf_pointer, string& tmsi);
void Set5gSTmsi(uint16_t amf_set_id, uint8_t amf_pointer, std::string tmsi);
bool Get5gSTmsi(
uint16_t& amf_set_id, uint8_t& amf_pointer, std::string& tmsi) const;
void SetUplinkDataStatus(uint16_t value);
uint16_t GetUplinkDataStatus();
bool GetUplinkDataStatus(uint16_t& value) const;
void SetPduSessionStatus(uint16_t value);
uint16_t GetPduSessionStatus();
bool GetPduSessionStatus(uint16_t& value) const;
std::optional<uint16_t> GetPduSessionStatus() const;
void SetAllowedPduSessionStatus(uint16_t value);
uint16_t GetAllowedPduSessionStatus();
bool GetAllowedPduSessionStatus(uint16_t& value) const;
std::optional<uint16_t> GetAllowedPduSessionStatus() const;
void SetNasMessageContainer(bstring value);
bool GetNasMessageContainer(bstring& nas);
bool GetNasMessageContainer(bstring& nas) const;
private:
NasKeySetIdentifier ie_ngKSI; // Mandatory
NasKeySetIdentifier ie_ng_ksi; // Mandatory
ServiceType ie_service_type; // Mandatory
_5GSMobileIdentity ie_5g_s_tmsi; // Mandatory
std::optional<UplinkDataStatus> ie_uplink_data_status; // Optional
std::optional<PDUSessionStatus> ie_PDU_session_status; // Optional
std::optional<PDUSessionStatus> ie_pdu_session_status; // Optional
std::optional<AllowedPDUSessionStatus>
ie_allowed_PDU_session_status; // Optional
ie_allowed_pdu_session_status; // Optional
std::optional<NasMessageContainer> ie_nas_message_container; // Optional
};
......
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