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

Cleanup for N2 handover

parent 91226be5
...@@ -205,6 +205,7 @@ void amf_app::set_supi_2_ue_context( ...@@ -205,6 +205,7 @@ void amf_app::set_supi_2_ue_context(
supi2ue_ctx[supi] = uc; supi2ue_ctx[supi] = uc;
} }
//------------------------------------------------------------------------------
bool amf_app::find_pdu_session_context( bool amf_app::find_pdu_session_context(
const string& supi, const std::uint8_t pdu_session_id, const string& supi, const std::uint8_t pdu_session_id,
std::shared_ptr<pdu_session_context>& psc) { std::shared_ptr<pdu_session_context>& psc) {
...@@ -215,6 +216,7 @@ bool amf_app::find_pdu_session_context( ...@@ -215,6 +216,7 @@ bool amf_app::find_pdu_session_context(
return true; return true;
} }
//------------------------------------------------------------------------------
bool amf_app::get_pdu_sessions_context( bool amf_app::get_pdu_sessions_context(
const string& supi, const string& supi,
std::vector<std::shared_ptr<pdu_session_context>>& sessions_ctx) { std::vector<std::shared_ptr<pdu_session_context>>& sessions_ctx) {
......
...@@ -2002,7 +2002,6 @@ bool amf_n1::start_security_mode_control_procedure( ...@@ -2002,7 +2002,6 @@ bool amf_n1::start_security_mode_control_procedure(
nc.get()->is_current_security_available = true; nc.get()->is_current_security_available = true;
} }
// SecurityModeCommand* smc = new SecurityModeCommand();
std::unique_ptr<SecurityModeCommand> smc = std::unique_ptr<SecurityModeCommand> smc =
std::make_unique<SecurityModeCommand>(); std::make_unique<SecurityModeCommand>();
smc->setHeader(PLAIN_5GS_MSG); smc->setHeader(PLAIN_5GS_MSG);
......
...@@ -1296,7 +1296,7 @@ void amf_n2::handle_itti_message(itti_handover_request_Ack& itti_msg) { ...@@ -1296,7 +1296,7 @@ void amf_n2::handle_itti_message(itti_handover_request_Ack& itti_msg) {
// TODO: Experimental procedure, to be tested // TODO: Experimental procedure, to be tested
unsigned long amf_ue_ngap_id = itti_msg.handoverrequestAck->getAmfUeNgapId(); unsigned long amf_ue_ngap_id = itti_msg.handoverrequestAck->getAmfUeNgapId();
uint32_t ran_ue_ngap_id = itti_msg.handoverrequestAck->getRanUeNgapId(); uint32_t ran_ue_ngap_id = itti_msg.handoverrequestAck->getRanUeNgapId();
Logger::amf_n2().error( Logger::amf_n2().debug(
"Handover Request Ack ran_ue_ngap_id (0x%d) amf_ue_ngap_id (%d)", "Handover Request Ack ran_ue_ngap_id (0x%d) amf_ue_ngap_id (%d)",
ran_ue_ngap_id, amf_ue_ngap_id); ran_ue_ngap_id, amf_ue_ngap_id);
...@@ -1390,44 +1390,22 @@ void amf_n2::handle_itti_message(itti_handover_request_Ack& itti_msg) { ...@@ -1390,44 +1390,22 @@ void amf_n2::handle_itti_message(itti_handover_request_Ack& itti_msg) {
uptlinfo.gtp_teid = teid; uptlinfo.gtp_teid = teid;
uptlinfo.ip_address = n3_ip_address; uptlinfo.ip_address = n3_ip_address;
handovercommandtransfer->setUPTransportLayerInformation(uptlinfo); handovercommandtransfer->setUPTransportLayerInformation(uptlinfo);
uint8_t buffer2[500];
int encoded_size2 = uint8_t buffer_ho_cmd_transfer[BUFFER_SIZE_512];
int encoded_size =
handovercommandtransfer->encodePDUSessionResourceHandoverCommandTransfer( handovercommandtransfer->encodePDUSessionResourceHandoverCommandTransfer(
buffer2, 500); buffer_ho_cmd_transfer, BUFFER_SIZE_512);
OCTET_STRING_t OCT_handovercommandtransfer; item.HandoverCommandTransfer.buf = buffer_ho_cmd_transfer;
OCT_handovercommandtransfer.buf = buffer2; item.HandoverCommandTransfer.size = encoded_size;
OCT_handovercommandtransfer.size = encoded_size2;
item.HandoverCommandTransfer = OCT_handovercommandtransfer;
handover_list.push_back(item); handover_list.push_back(item);
handovercommand->setPduSessionResourceHandoverList(handover_list); handovercommand->setPduSessionResourceHandoverList(handover_list);
handovercommand->setTargetToSource_TransparentContainer(targetTosource); handovercommand->setTargetToSource_TransparentContainer(targetTosource);
// setPduSessionResourceHandoverList_PDYSessionID_handovercommandtransfer-end
uint8_t buffer[BUFFER_SIZE_1024];
int encoded_size = handovercommand->encode2buffer(buffer, BUFFER_SIZE_1024);
bstring b = blk2bstr(buffer, encoded_size);
/* uint8_t buffer[BUFFER_SIZE_1024];
// Create/Update UE NGAP Context if necessary encoded_size = handovercommand->encode2buffer(buffer, BUFFER_SIZE_1024);
// TO be verified bstring b = blk2bstr(buffer, encoded_size);
if (!is_ran_ue_id_2_ue_ngap_context(unc.get()->ran_ue_ngap_id)) {
Logger::amf_n2().debug(
"Create a new ue ngap context with ran_ue_ngap_id(0x%x)",
unc.get()->ran_ue_ngap_id);
unc = std::shared_ptr<ue_ngap_context>(new ue_ngap_context());
set_ran_ue_ngap_id_2_ue_ngap_context(unc.get()->ran_ue_ngap_id, unc);
unc.get()->gnb_assoc_id = source_assoc_id;
} else {
unc =
ran_ue_id_2_ue_ngap_context(unc.get()->ran_ue_ngap_id);
unc.get()->gnb_assoc_id = source_assoc_id;
}
*/
// std::shared_ptr<ue_ngap_context> ngc =
// ran_ue_id_2_ue_ngap_context(nc.get()->ran_ue_ngap_id);
// std::shared_ptr<ue_ngap_context> ngc =
// ran_ue_id_2_ue_ngap_context(unc.get()->ran_ue_ngap_id);
// sctp_s_38412.sctp_send_msg(ngc.get()->gnb_assoc_id, 0, &b);
sctp_s_38412.sctp_send_msg(unc.get()->gnb_assoc_id, 0, &b); sctp_s_38412.sctp_send_msg(unc.get()->gnb_assoc_id, 0, &b);
} }
......
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