Commit 0254844e authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

Add AmfEventState

parent e102d11f
......@@ -83,10 +83,8 @@ class amf_event {
private:
ue_reachability_status_sig_t
ue_reachability_status; // Signal for UE Reachability Report
ue_registration_state_sig_t
ue_registration_state; // Signal for UE Registration State Report
ue_connectivity_state_sig_t
ue_connectivity_state; // Signal for UE Connectivity State Report
};
......
......@@ -36,6 +36,10 @@
namespace bs2 = boost::signals2;
namespace amf_application {
// TODO: Location-Report
// TODO: Presence-In-AOI-Report
// TODO: Time-Zone-Report
// TODO: Access-Type-Report
// Signal for UE Reachability Report
// SUPI, status, HTTP version
......@@ -58,5 +62,9 @@ typedef bs2::signal_type<
bs2::keywords::mutex_type<bs2::dummy_mutex>>::type
ue_connectivity_state_sig_t;
// TODO: Communication-Failure-Report
// TODO: UEs-In-Area-Report
// TODO: Loss-of-Connectivity
} // namespace amf_application
#endif
......@@ -3130,8 +3130,12 @@ void amf_n1::handle_ue_reachability_status_change(
oai::amf::model::AmfEventReport event_report = {};
oai::amf::model::AmfEventType amf_event_type = {};
amf_event_type.set_value("REACHABILITY_REPORT");
event_report.setType(amf_event_type);
AmfEventState amf_event_state = {};
amf_event_state.setActive(true);
event_report.setState(amf_event_state);
oai::amf::model::UeReachability ue_reachability = {};
if (status == CM_CONNECTED)
ue_reachability.set_value("REACHABLE");
......@@ -3190,6 +3194,10 @@ void amf_n1::handle_ue_registration_state_change(
amf_event_type.set_value("REGISTRATION_STATE_REPORT");
event_report.setType(amf_event_type);
AmfEventState amf_event_state = {};
amf_event_state.setActive(true);
event_report.setState(amf_event_state);
std::vector<oai::amf::model::RmInfo> rm_infos;
oai::amf::model::RmInfo rm_info = {};
oai::amf::model::RmState rm_state = {};
......@@ -3254,6 +3262,10 @@ void amf_n1::handle_ue_connectivity_state_change(
amf_event_type.set_value("CONNECTIVITY_STATE_REPORT");
event_report.setType(amf_event_type);
AmfEventState amf_event_state = {};
amf_event_state.setActive(true);
event_report.setState(amf_event_state);
std::vector<oai::amf::model::CmInfo> cm_infos;
oai::amf::model::CmInfo cm_info = {};
oai::amf::model::CmState cm_state = {};
......
......@@ -75,22 +75,6 @@ typedef struct amf_event_s {
} amf_event_t;
/*
typedef struct amf_event_state_s {
bool m_active;
int32_t m_remain_reports;
bool m_remain_reports_is_set;
int32_t m_remain_duration;
bool m_remain_duration_is_set;
} amf_event_state_t;
typedef enum ue_reachability_e {
UNREACHABLE = 1,
REACHABLE = 2,
REGULATORY_ONLY = 3
} ue_reachability_t;
*/
enum n1_n2_message_transfer_cause_e {
ATTEMPTING_TO_REACH_UE = 1,
N1_N2_TRANSFER_INITIATED = 2,
......
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