Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-SMF
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-SMF
Commits
ad23e2d1
Commit
ad23e2d1
authored
May 23, 2021
by
Tien-Thinh Nguyen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Code cleanup
parent
ebad0f6c
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
5 additions
and
135 deletions
+5
-135
src/common/utils/3gpp_conversions.cpp
src/common/utils/3gpp_conversions.cpp
+0
-1
src/smf_app/smf_app.cpp
src/smf_app/smf_app.cpp
+0
-123
src/smf_app/smf_app.hpp
src/smf_app/smf_app.hpp
+0
-8
src/smf_app/smf_context.cpp
src/smf_app/smf_context.cpp
+4
-0
src/smf_app/smf_event.hpp
src/smf_app/smf_event.hpp
+1
-3
No files found.
src/common/utils/3gpp_conversions.cpp
View file @
ad23e2d1
...
...
@@ -466,7 +466,6 @@ void xgpp_conv::smf_event_exposure_notification_from_openapi(
static_cast
<
smf_event_t
>
(
e
.
getEvent
().
get_value
());
event_subscriptions
.
push_back
(
event_subscription
);
}
// event_subscription.smf_event = smf_event_t::SMF_EVENT_FLEXCN;
eem
.
set_event_subs
(
event_subscriptions
);
// std::vector<EventSubscription> eventSubscriptions;
...
...
src/smf_app/smf_app.cpp
View file @
ad23e2d1
...
...
@@ -330,11 +330,6 @@ smf_app::smf_app(const std::string& config_file)
set_seid_n4
=
{};
seid_n4_generator
=
0
;
// Subscribe to sm context status change
// pdu_session_status_connection =
// event_sub.subscribe_ee_pdu_session_status_change(boost::bind(
// &smf_app::handle_pdu_session_status_change, this, _1, _2, _3));
apply_config
(
smf_cfg
);
if
(
itti_inst
->
create_task
(
TASK_SMF_APP
,
smf_app_task
,
nullptr
))
{
...
...
@@ -621,19 +616,6 @@ void smf_app::handle_itti_msg(itti_n11_update_pdu_session_status& m) {
pdu_session_status_e2str
.
at
(
static_cast
<
int
>
(
m
.
pdu_session_status
))
.
c_str
());
update_pdu_session_status
(
m
.
scid
,
m
.
pdu_session_status
);
if
((
m
.
pdu_session_status
==
pdu_session_status_e
::
PDU_SESSION_ACTIVE
)
or
(
m
.
pdu_session_status
==
pdu_session_status_e
::
PDU_SESSION_INACTIVE
))
{
Logger
::
smf_app
().
info
(
"Notify PDU Session Status change"
);
std
::
string
status
;
/* if (m.pdu_session_status == pdu_session_status_e::PDU_SESSION_ACTIVE)
status = "ESTABLISHED";
else
status = "RELEASED";
event_sub.ee_pdu_session_status(
m.scid, status, 1);
*/
}
}
//------------------------------------------------------------------------------
...
...
@@ -2109,108 +2091,3 @@ void smf_app::trigger_upf_status_notification_subscribe() {
itti_msg
->
get_msg_name
());
}
}
void
smf_app
::
handle_pdu_session_status_change
(
scid_t
scid
,
const
std
::
string
&
status
,
uint8_t
http_version
)
{
/*
Logger::smf_app().debug(
"Send request to N11 to triger PDU Session Status Change Notification, "
"SMF Context ID " SCID_FMT " ",
scid);
// get the smf context
std::shared_ptr<smf_context_ref> scf = {};
if (is_scid_2_smf_context(scid)) {
scf = scid_2_smf_context(scid);
} else {
Logger::smf_app().warn(
"Context associated with this id " SCID_FMT " does not exit!", scid);
}
supi_t supi = scf.get()->supi;
supi64_t supi64 = smf_supi_to_u64(supi);
pdu_session_id_t pdu_session_id = scf.get()->pdu_session_id;
std::shared_ptr<smf_context> sc = {};
if (is_supi_2_smf_context(supi64)) {
sc = supi_2_smf_context(supi64);
Logger::smf_app().debug(
"Retrieve SMF context with SUPI " SUPI_64_FMT "", supi64);
} else {
Logger::smf_app().warn(
"Could not retrieve the corresponding SMF context with "
"Supi " SUPI_64_FMT "!",
supi64);
}
// get dnn context
std::shared_ptr<dnn_context> sd = {};
if (!sc.get()->find_dnn_context(scf.get()->nssai, scf.get()->dnn, sd)) {
if (nullptr == sd.get()) {
Logger::smf_app().warn(
"Could not retrieve the corresponding DNN context!");
}
}
// get smd_pdu_session
std::shared_ptr<smf_pdu_session> sp = {};
bool find_pdn = sd.get()->find_pdu_session(pdu_session_id, sp);
if (nullptr == sp.get()) {
Logger::smf_app().warn(
"Could not retrieve the corresponding SMF PDU Session context!");
}
Logger::smf_app().debug(
"Send request to N11 to triger PDU Session Status Change Notification "
"(Event "
"Exposure), SUPI " SUPI_64_FMT " , PDU Session ID %d, HTTP version %d",
supi, pdu_session_id, http_version);
std::vector<std::shared_ptr<smf_subscription>> subscriptions = {};
smf_app_inst->get_ee_subscriptions(
smf_event_t::SMF_EVENT_PDU_SES_REL, subscriptions);
if (subscriptions.size() > 0) {
// Send request to N11 to trigger the notification to the subscribed event
Logger::smf_app().debug(
"Send ITTI msg to SMF N11 to trigger the event notification");
std::shared_ptr<itti_n11_notify_subscribed_event> itti_msg =
std::make_shared<itti_n11_notify_subscribed_event>(
TASK_SMF_APP, TASK_SMF_SBI);
for (auto i : subscriptions) {
event_notification ev_notif = {};
ev_notif.set_supi(supi64);
ev_notif.set_pdu_session_id(pdu_session_id);
ev_notif.set_smf_event(smf_event_t::SMF_EVENT_PDU_SES_REL);
ev_notif.set_notif_uri(i.get()->notif_uri);
ev_notif.set_notif_id(i.get()->notif_id);
// custom json e.g., for FlexCN
nlohmann::json cj = {};
if (sp.get() != nullptr) {
if (sp->ipv4) {
cj["ue_ipv4_addr"] = conv::toString(sp->ipv4_address);
}
cj["pdu_session_type"] = sp->pdu_session_type.toString();
}
ev_notif.set_custom_info(cj);
itti_msg->event_notifs.push_back(ev_notif);
}
itti_msg->http_version = http_version;
int ret = itti_inst->send_msg(itti_msg);
if (RETURNok != ret) {
Logger::smf_app().error(
"Could not send ITTI message %s to task TASK_SMF_SBI",
itti_msg->get_msg_name());
}
} else {
Logger::smf_app().debug("No subscription available for this event");
}
*/
}
src/smf_app/smf_app.hpp
View file @
ad23e2d1
...
...
@@ -148,11 +148,6 @@ class smf_app {
std
::
string
smf_instance_id
;
// SMF instance id
timer_id_t
timer_nrf_heartbeat
;
// for Event Handling
// smf_event event_sub;
// bs2::connection pdu_session_status_connection;
// bs2::connection ee_pdu_session_release_connection;
/*
* Apply the config from the configuration file for DNN pools
* @param [const smf_config &cfg] cfg
...
...
@@ -541,9 +536,6 @@ class smf_app {
oai
::
smf_server
::
model
::
ProblemDetails
&
problem_details
,
uint8_t
&
http_code
);
void
handle_pdu_session_status_change
(
scid_t
scid
,
const
std
::
string
&
status
,
uint8_t
http_version
);
/*
* Trigger pdu session modification
* @param [const supi_t &] supi
...
...
src/smf_app/smf_context.cpp
View file @
ad23e2d1
...
...
@@ -3103,6 +3103,7 @@ void smf_context::handle_ee_pdu_session_release(
}
}
//------------------------------------------------------------------------------
void
smf_context
::
handle_pdu_session_status_change
(
scid_t
scid
,
const
std
::
string
&
status
,
uint8_t
http_version
)
{
Logger
::
smf_app
().
debug
(
...
...
@@ -3206,6 +3207,7 @@ void smf_context::handle_pdu_session_status_change(
}
}
//------------------------------------------------------------------------------
void
smf_context
::
handle_flexcn_event
(
scid_t
scid
,
uint8_t
http_version
)
{
Logger
::
smf_app
().
debug
(
"Send request to N11 to triger FlexCN, "
...
...
@@ -3345,10 +3347,12 @@ void smf_context::handle_flexcn_event(scid_t scid, uint8_t http_version) {
}
}
//------------------------------------------------------------------------------
void
smf_context
::
trigger_flexcn_event
(
scid_t
scid
,
uint8_t
http_version
)
{
event_sub
.
ee_flexcn
(
scid
,
http_version
);
}
//------------------------------------------------------------------------------
void
smf_context
::
trigger_pdu_session_status_change
(
scid_t
scid
,
const
std
::
string
&
status
,
uint8_t
http_version
)
{
event_sub
.
ee_pdu_session_status
(
scid
,
status
,
http_version
);
...
...
src/smf_app/smf_event.hpp
View file @
ad23e2d1
...
...
@@ -84,11 +84,9 @@ class smf_event {
sm_context_status
;
// Signal for SM Context status update
ee_pdu_session_status_sig_t
ee_pdu_session_status
;
// Signal for PDU Session status change
ee_pdu_session_release_sig_t
ee_pdu_session_release
;
// Signal for SM Context status update
ee_flexcn_sig_t
ee_flexcn
;
// Signal for FlexCN Event
ee_flexcn_sig_t
ee_flexcn
;
// Signal for FlexCN Event
};
}
// namespace smf
#endif
/* FILE_SMF_EVENT_HPP_SEEN */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment