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
9ab6fd90
Commit
9ab6fd90
authored
Sep 23, 2021
by
Tien-Thinh Nguyen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add PLMN ID as parameter to query UDM
parent
64e521a2
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
6 deletions
+15
-6
src/smf_app/smf_app.cpp
src/smf_app/smf_app.cpp
+5
-3
src/smf_app/smf_sbi.cpp
src/smf_app/smf_sbi.cpp
+8
-2
src/smf_app/smf_sbi.hpp
src/smf_app/smf_sbi.hpp
+2
-1
No files found.
src/smf_app/smf_app.cpp
View file @
9ab6fd90
...
...
@@ -701,8 +701,8 @@ void smf_app::handle_pdu_session_create_sm_context_request(
std
::
string
n1_sm_message
,
n1_sm_message_hex
;
nas_message_t
decoded_nas_msg
=
{};
cause_value_5gsm_e
cause_n1
=
{
cause_value_5gsm_e
::
CAUSE_0_UNKNOWN
};
pdu_session_type_t
pdu_session_type
=
{
.
pdu_session_type
=
PDU_SESSION_TYPE_E_IPV4
};
pdu_session_type_t
pdu_session_type
=
{
.
pdu_session_type
=
PDU_SESSION_TYPE_E_IPV4
};
// Step 1. Decode NAS and get the necessary information
int
decoder_rc
=
smf_n1
::
get_instance
().
decode_n1_sm_container
(
...
...
@@ -954,7 +954,9 @@ void smf_app::handle_pdu_session_create_sm_context_request(
if
(
not
use_local_configuration_subscription_data
(
dnn_selection_mode
))
{
Logger
::
smf_app
().
debug
(
"Retrieve Session Management Subscription data from the UDM"
);
if
(
smf_sbi_inst
->
get_sm_data
(
supi64
,
dnn
,
snssai
,
subscription
))
{
plmn_t
plmn
=
{};
sc
.
get
()
->
get_plmn
(
plmn
);
if
(
smf_sbi_inst
->
get_sm_data
(
supi64
,
dnn
,
snssai
,
subscription
,
plmn
))
{
// Update dnn_context with subscription info
sc
.
get
()
->
insert_dnn_subscription
(
snssai
,
dnn
,
subscription
);
}
else
{
...
...
src/smf_app/smf_sbi.cpp
View file @
9ab6fd90
...
...
@@ -836,11 +836,17 @@ void smf_sbi::subscribe_upf_status_notify(
//------------------------------------------------------------------------------
bool
smf_sbi
::
get_sm_data
(
const
supi64_t
&
supi
,
const
std
::
string
&
dnn
,
const
snssai_t
&
snssai
,
std
::
shared_ptr
<
session_management_subscription
>&
subscription
)
{
std
::
shared_ptr
<
session_management_subscription
>&
subscription
,
plmn_t
plmn
)
{
nlohmann
::
json
jsonData
=
{};
std
::
string
query_str
=
{};
std
::
string
mcc
=
{};
std
::
string
mnc
=
{};
conv
::
plmnToMccMnc
(
plmn
,
mcc
,
mnc
);
query_str
=
"?single-nssai={
\"
sst
\"
:"
+
std
::
to_string
(
snssai
.
sST
)
+
",
\"
sd
\"
:"
+
snssai
.
sD
+
"}&dnn=oai"
;
",
\"
sd
\"
:"
+
snssai
.
sD
+
"}&dnn=oai"
+
"&plmn-id={
\"
mcc
\"
:"
+
mcc
+
",
\"
mnc
\"
:"
+
mnc
+
"}"
;
std
::
string
url
=
std
::
string
(
inet_ntoa
(
*
((
struct
in_addr
*
)
&
smf_cfg
.
udm_addr
.
ipv4_addr
)))
+
":"
+
std
::
to_string
(
smf_cfg
.
udm_addr
.
port
)
+
NUDM_SDM_BASE
+
...
...
src/smf_app/smf_sbi.hpp
View file @
9ab6fd90
...
...
@@ -157,7 +157,8 @@ class smf_sbi {
*/
bool
get_sm_data
(
const
supi64_t
&
supi
,
const
std
::
string
&
dnn
,
const
snssai_t
&
snssai
,
std
::
shared_ptr
<
session_management_subscription
>&
subscription
);
std
::
shared_ptr
<
session_management_subscription
>&
subscription
,
plmn_t
plmn
=
{});
/*
* Subscribe to be notify from UDM
...
...
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