Commit d74c4230 authored by Arina Prostakova's avatar Arina Prostakova

make sub_event public and trigger LOC DEREG from N2

parent 8d84d140
......@@ -100,7 +100,6 @@ class amf_event {
bs2::connection subscribe_ue_loss_of_connectivity(
const ue_loss_of_connectivity_sig_t::slot_type& sig);
private:
ue_location_report_sig_t ue_location_report; // Signal for UE Location Report
ue_reachability_status_sig_t
ue_reachability_status; // Signal for UE Reachability Report
......
......@@ -824,6 +824,14 @@ class amf_n1 {
void handle_ue_loss_of_connectivity_change(
std::string supi, uint8_t status, uint8_t http_version);
// for Event Handling
amf_event event_sub;
bs2::connection ee_ue_location_report_connection;
bs2::connection ee_ue_reachability_status_connection;
bs2::connection ee_ue_registration_state_connection;
bs2::connection ee_ue_connectivity_state_connection;
bs2::connection ee_ue_loss_of_connectivity_connection;
private:
/*
* Handle UE-initiated Deregistration Request message
......@@ -985,14 +993,6 @@ class amf_n1 {
static uint8_t no_random_delta;
random_state_t random_state;
database_t* db_desc;
// for Event Handling
amf_event event_sub;
bs2::connection ee_ue_location_report_connection;
bs2::connection ee_ue_reachability_status_connection;
bs2::connection ee_ue_registration_state_connection;
bs2::connection ee_ue_connectivity_state_connection;
bs2::connection ee_ue_loss_of_connectivity_connection;
};
} // namespace amf_application
......
......@@ -2198,6 +2198,12 @@ void amf_n2::remove_ue_context_with_ran_ue_ngap_id(
if (nc.get()->is_stacs_available) {
stacs.update_5gmm_state(nc.get()->imsi, "5GMM-DEREGISTERED");
}
// Trigger UE Loss of Connectivity Status Notify
Logger::amf_n1().debug(
"Signal the UE Loss of Connectivity Event notification for SUPI %s",
supi.c_str());
amf_n1_inst->event_sub.ue_loss_of_connectivity(supi, DEREGISTERED, 1);
amf_n1_inst->remove_imsi_2_nas_context(supi);
// TODO: remove_guti_2_nas_context(guti);
......@@ -2274,6 +2280,11 @@ void amf_n2::remove_ue_context_with_amf_ue_ngap_id(
if (nc.get()->is_stacs_available) {
stacs.update_5gmm_state(nc.get()->imsi, "5GMM-DEREGISTERED");
}
// Trigger UE Loss of Connectivity Status Notify
Logger::amf_n1().debug(
"Signal the UE Loss of Connectivity Event notification for SUPI %s",
supi.c_str());
amf_n1_inst->event_sub.ue_loss_of_connectivity(supi, DEREGISTERED, 1);
amf_n1_inst->remove_imsi_2_nas_context(supi);
// TODO: remove_guti_2_nas_context(guti);
......
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