Commit 7a5b83ea authored by Tien-Thinh Nguyen's avatar Tien-Thinh Nguyen

Get AMF IP addr from PDU session establishment request instead of from conf file

parent d1ad9a38
...@@ -582,6 +582,11 @@ void smf_pdu_session::get_amf_addr(std::string& addr) const { ...@@ -582,6 +582,11 @@ void smf_pdu_session::get_amf_addr(std::string& addr) const {
addr = amf_addr; addr = amf_addr;
} }
//------------------------------------------------------------------------------
std::string smf_pdu_session::get_amf_addr() const {
return amf_addr;
}
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
void session_management_subscription::insert_dnn_configuration( void session_management_subscription::insert_dnn_configuration(
const std::string& dnn, const std::string& dnn,
...@@ -769,9 +774,10 @@ void smf_context::handle_itti_msg( ...@@ -769,9 +774,10 @@ void smf_context::handle_itti_msg(
get_supi_prefix(supi_prefix); get_supi_prefix(supi_prefix);
std::string supi_str = supi_prefix + "-" + smf_supi_to_string(supi); std::string supi_str = supi_prefix + "-" + smf_supi_to_string(supi);
std::string url = std::string url =
std::string(inet_ntoa( //std::string(inet_ntoa(
*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) + // *((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) +
":" + std::to_string(smf_cfg.amf_addr.port) + //":" + std::to_string(smf_cfg.amf_addr.port) +
sp.get()->get_amf_addr() +
NAMF_COMMUNICATION_BASE + smf_cfg.amf_addr.api_version + NAMF_COMMUNICATION_BASE + smf_cfg.amf_addr.api_version +
fmt::format( fmt::format(
NAMF_COMMUNICATION_N1N2_MESSAGE_TRANSFER_URL, NAMF_COMMUNICATION_N1N2_MESSAGE_TRANSFER_URL,
...@@ -1446,6 +1452,7 @@ void smf_context::handle_pdu_session_create_sm_context_request( ...@@ -1446,6 +1452,7 @@ void smf_context::handle_pdu_session_create_sm_context_request(
} else { } else {
scf.get()->amf_addr = amf_addr_str; scf.get()->amf_addr = amf_addr_str;
sp.get()->set_amf_addr(amf_addr_str); sp.get()->set_amf_addr(amf_addr_str);
Logger::smf_api_server().debug("AMF IP Addr %s", amf_addr_str.c_str());
} }
} }
...@@ -1553,9 +1560,10 @@ void smf_context::handle_pdu_session_create_sm_context_request( ...@@ -1553,9 +1560,10 @@ void smf_context::handle_pdu_session_create_sm_context_request(
supi_str = sm_context_resp_pending->res.get_supi_prefix() + "-" + supi_str = sm_context_resp_pending->res.get_supi_prefix() + "-" +
smf_supi_to_string(supi); smf_supi_to_string(supi);
std::string url = std::string url =
std::string( // std::string(
inet_ntoa(*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) + // inet_ntoa(*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) +
":" + std::to_string(smf_cfg.amf_addr.port) + NAMF_COMMUNICATION_BASE + // ":" + std::to_string(smf_cfg.amf_addr.port) + NAMF_COMMUNICATION_BASE +
sp.get()->get_amf_addr() + NAMF_COMMUNICATION_BASE +
smf_cfg.amf_addr.api_version + smf_cfg.amf_addr.api_version +
fmt::format( fmt::format(
NAMF_COMMUNICATION_N1N2_MESSAGE_TRANSFER_URL, supi_str.c_str()); NAMF_COMMUNICATION_N1N2_MESSAGE_TRANSFER_URL, supi_str.c_str());
...@@ -2750,8 +2758,9 @@ void smf_context::handle_pdu_session_modification_network_requested( ...@@ -2750,8 +2758,9 @@ void smf_context::handle_pdu_session_modification_network_requested(
std::string supi_str = std::string supi_str =
itti_msg->msg.get_supi_prefix() + "-" + smf_supi_to_string(supi); itti_msg->msg.get_supi_prefix() + "-" + smf_supi_to_string(supi);
std::string url = std::string url =
std::string(inet_ntoa(*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) + //std::string(inet_ntoa(*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) +
":" + std::to_string(smf_cfg.amf_addr.port) + NAMF_COMMUNICATION_BASE + //":" + std::to_string(smf_cfg.amf_addr.port) + NAMF_COMMUNICATION_BASE +
sp.get()->get_amf_addr() + NAMF_COMMUNICATION_BASE +
smf_cfg.amf_addr.api_version + smf_cfg.amf_addr.api_version +
fmt::format( fmt::format(
NAMF_COMMUNICATION_N1N2_MESSAGE_TRANSFER_URL, supi_str.c_str()); NAMF_COMMUNICATION_N1N2_MESSAGE_TRANSFER_URL, supi_str.c_str());
......
...@@ -403,6 +403,7 @@ class smf_pdu_session : public std::enable_shared_from_this<smf_pdu_session> { ...@@ -403,6 +403,7 @@ class smf_pdu_session : public std::enable_shared_from_this<smf_pdu_session> {
* @return void * @return void
*/ */
void get_amf_addr(std::string& addr) const; void get_amf_addr(std::string& addr) const;
std::string get_amf_addr() const;
bool ipv4; // IP Address(es): IPv4 address and/or IPv6 prefix bool ipv4; // IP Address(es): IPv4 address and/or IPv6 prefix
bool ipv6; // IP Address(es): IPv4 address and/or IPv6 prefix bool ipv6; // IP Address(es): IPv4 address and/or IPv6 prefix
......
...@@ -419,8 +419,9 @@ void session_create_sm_context_procedure::handle_itti_msg( ...@@ -419,8 +419,9 @@ void session_create_sm_context_procedure::handle_itti_msg(
std::string supi_str = n11_triggered_pending->res.get_supi_prefix() + "-" + std::string supi_str = n11_triggered_pending->res.get_supi_prefix() + "-" +
smf_supi_to_string(supi); smf_supi_to_string(supi);
std::string url = std::string url =
std::string(inet_ntoa(*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) + //std::string(inet_ntoa(*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) +
":" + std::to_string(smf_cfg.amf_addr.port) + NAMF_COMMUNICATION_BASE + //":" + std::to_string(smf_cfg.amf_addr.port) + NAMF_COMMUNICATION_BASE +
sps.get()->get_amf_addr() + NAMF_COMMUNICATION_BASE +
smf_cfg.amf_addr.api_version + smf_cfg.amf_addr.api_version +
fmt::format( fmt::format(
NAMF_COMMUNICATION_N1N2_MESSAGE_TRANSFER_URL, supi_str.c_str()); NAMF_COMMUNICATION_N1N2_MESSAGE_TRANSFER_URL, supi_str.c_str());
...@@ -453,9 +454,10 @@ void session_create_sm_context_procedure::handle_itti_msg( ...@@ -453,9 +454,10 @@ void session_create_sm_context_procedure::handle_itti_msg(
// N1N2MsgTxfrFailureNotification // N1N2MsgTxfrFailureNotification
std::string callback_uri = std::string callback_uri =
std::string( //std::string(
inet_ntoa(*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) + // inet_ntoa(*((struct in_addr*) &smf_cfg.amf_addr.ipv4_addr))) +
":" + std::to_string(smf_cfg.amf_addr.port) + NSMF_PDU_SESSION_BASE + //":" + std::to_string(smf_cfg.amf_addr.port) + NSMF_PDU_SESSION_BASE +
sps.get()->get_amf_addr() + NSMF_PDU_SESSION_BASE +
smf_cfg.sbi_api_version + smf_cfg.sbi_api_version +
fmt::format( fmt::format(
NSMF_CALLBACK_N1N2_MESSAGE_TRANSFER_FAILURE, supi_str.c_str()); NSMF_CALLBACK_N1N2_MESSAGE_TRANSFER_FAILURE, supi_str.c_str());
......
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