diff --git a/srsgnb/hdr/stack/ngap/ngap.h b/srsgnb/hdr/stack/ngap/ngap.h index 76dd3e6a9..6c8a2d12f 100644 --- a/srsgnb/hdr/stack/ngap/ngap.h +++ b/srsgnb/hdr/stack/ngap/ngap.h @@ -74,7 +74,7 @@ public: // Stack interface bool - handle_amf_rx_msg(srsran::unique_byte_buffer_t pdu, const sockaddr_in& from, const sctp_sndrcvinfo& sri, int flags); + handle_amf_rx_msg(srsran::unique_byte_buffer_t pdu, const sockaddr_in& from, const sctp_sndrcvinfo& sri, int flags); void get_metrics(ngap_metrics_t& m); void get_args(ngap_args_t& args_); @@ -138,6 +138,8 @@ private: bool handle_initial_ctxt_setup_request(const asn1::ngap::init_context_setup_request_s& msg); // TS 38.413 - Section 9.2.1.1 - PDU Session Resource Setup Request bool handle_ue_pdu_session_res_setup_request(const asn1::ngap::pdu_session_res_setup_request_s& msg); + // TS 38.413 - Section 9.2.4.1 - Paging + bool handle_paging(const asn1::ngap::paging_s& msg); // PCAP srsran::ngap_pcap* pcap = nullptr; diff --git a/srsgnb/src/stack/ngap/ngap.cc b/srsgnb/src/stack/ngap/ngap.cc index 3f6e36fd4..b6e15cb0d 100644 --- a/srsgnb/src/stack/ngap/ngap.cc +++ b/srsgnb/src/stack/ngap/ngap.cc @@ -435,6 +435,8 @@ bool ngap::handle_initiating_message(const asn1::ngap::init_msg_s& msg) return handle_ue_context_release_cmd(msg.value.ue_context_release_cmd()); case ngap_elem_procs_o::init_msg_c::types_opts::pdu_session_res_setup_request: return handle_ue_pdu_session_res_setup_request(msg.value.pdu_session_res_setup_request()); + case ngap_elem_procs_o::init_msg_c::types_opts::paging: + return handle_paging(msg.value.paging()); default: logger.error("Unhandled initiating message: %s", msg.value.type().to_string()); } @@ -574,6 +576,20 @@ bool ngap::handle_ue_pdu_session_res_setup_request(const asn1::ngap::pdu_session return true; } +bool ngap::handle_paging(const asn1::ngap::paging_s& msg) +{ + logger.info("Paging is not supported yet."); + + // TODO: Handle Paging after RRC Paging is implemented + + // uint32_t ue_paging_id = msg->ue_paging_id.id; + // Note: IMSI Paging is not supported in NR + // uint64_t tmsi = msg->ue_paging_id.value.five_g_s_tmsi().five_g_tmsi.to_number(); + // rrc->add_paging(ue_paging_id, tmsi); + + return true; +} + /******************************************************************************* /* NGAP message senders ********************************************************************************/