Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-AMF
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
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-AMF
Commits
288b0824
Commit
288b0824
authored
Mar 25, 2022
by
gauthier
Committed by
Tien-Thinh Nguyen
Mar 25, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Harmonize RAN and AMF UE-NGAP-ID printing by using a common definition of print format
parent
bd3eeb3d
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
147 additions
and
91 deletions
+147
-91
src/amf-app/amf_app.cpp
src/amf-app/amf_app.cpp
+5
-3
src/amf-app/amf_n1.cpp
src/amf-app/amf_n1.cpp
+53
-32
src/amf-app/amf_n11.cpp
src/amf-app/amf_n11.cpp
+2
-1
src/amf-app/amf_n2.cpp
src/amf-app/amf_n2.cpp
+84
-55
src/common/amf.hpp
src/common/amf.hpp
+3
-0
No files found.
src/amf-app/amf_app.cpp
View file @
288b0824
...
...
@@ -357,7 +357,8 @@ void amf_app::handle_itti_message(
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
{};
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
))
{
Logger
::
amf_n1
().
error
(
"Could not find UE NGAP Context with ran_ue_ngap_id (0x%x)"
,
"Could not find UE NGAP Context with ran_ue_ngap_id "
"("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
}
else
{
unc
=
amf_n2_inst
->
ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
);
...
...
@@ -564,7 +565,7 @@ void amf_app::handle_itti_message(itti_sbi_n1_message_notification& itti_msg) {
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
{};
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
))
{
Logger
::
amf_app
().
debug
(
"Create a new UE NGAP context with ran_ue_ngap_id
0x%x"
,
"Create a new UE NGAP context with ran_ue_ngap_id
"
GNB_UE_NGAP_ID_FMT
,
ran_ue_ngap_id
);
unc
=
std
::
shared_ptr
<
ue_ngap_context
>
(
new
ue_ngap_context
());
amf_n2_inst
->
set_ran_ue_ngap_id_2_ue_ngap_context
(
ran_ue_ngap_id
,
unc
);
...
...
@@ -572,7 +573,8 @@ void amf_app::handle_itti_message(itti_sbi_n1_message_notification& itti_msg) {
unc
=
amf_n2_inst
->
ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
);
if
(
!
unc
.
get
())
{
Logger
::
amf_app
().
error
(
"Failed to get UE NGAP context for ran_ue_ngap_id 0x%x"
,
"Failed to get UE NGAP context for "
"ran_ue_ngap_id "
GNB_UE_NGAP_ID_FMT
,
ran_ue_ngap_id
);
return
;
}
...
...
src/amf-app/amf_n1.cpp
View file @
288b0824
...
...
@@ -194,7 +194,8 @@ void amf_n1::handle_itti_message(itti_downlink_nas_transfer& itti_msg) {
nc
=
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
else
{
Logger
::
amf_n1
().
warn
(
"No existed nas_context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No existed nas_context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
nas_secu_ctx
*
secu
=
nc
.
get
()
->
security_ctx
;
...
...
@@ -245,7 +246,8 @@ void amf_n1::handle_itti_message(itti_downlink_nas_transfer& itti_msg) {
std
::
shared_ptr
<
nas_context
>
nc
=
{};
if
(
!
is_amf_ue_id_2_nas_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n1
().
warn
(
"No existed NAS context for UE with amf_ue_ngap_id (0x%x)"
,
"No existed NAS context for UE with amf_ue_ngap_id "
"("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
...
...
@@ -385,7 +387,8 @@ void amf_n1::handle_itti_message(itti_uplink_nas_data_ind& nas_data_ind) {
nc
=
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
else
Logger
::
amf_n1
().
warn
(
"No existing nas_context with amf_ue_ngap_id 0x%x"
,
amf_ue_ngap_id
);
"No existing nas_context with amf_ue_ngap_id "
AMF_UE_NGAP_ID_FMT
,
amf_ue_ngap_id
);
}
SecurityHeaderType
type
=
{};
...
...
@@ -507,7 +510,8 @@ void amf_n1::nas_signalling_establishment_request_handle(
// Create NAS Context, or Update if existed
if
(
!
nc
.
get
())
{
Logger
::
amf_n1
().
debug
(
"No existing nas_context with amf_ue_ngap_id 0x%x --> Create a new one"
,
"No existing nas_context with amf_ue_ngap_id "
AMF_UE_NGAP_ID_FMT
" --> Create a new one"
,
amf_ue_ngap_id
);
nc
=
std
::
shared_ptr
<
nas_context
>
(
new
nas_context
);
if
(
!
nc
.
get
())
{
...
...
@@ -535,7 +539,8 @@ void amf_n1::nas_signalling_establishment_request_handle(
event_sub
.
ue_reachability_status
(
supi
,
CM_CONNECTED
,
1
);
}
else
{
Logger
::
amf_n1
().
debug
(
"Existing nas_context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"Existing nas_context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
// nc = amf_ue_id_2_nas_context(amf_ue_ngap_id);
set_amf_ue_ngap_id_2_nas_context
(
amf_ue_ngap_id
,
nc
);
}
...
...
@@ -701,7 +706,8 @@ void amf_n1::identity_response_handle(
if
(
is_amf_ue_id_2_nas_context
(
amf_ue_ngap_id
))
{
nc
=
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
Logger
::
amf_n1
().
debug
(
"Find nas_context(%p) by amf_ue_ngap_id(%d)"
,
nc
.
get
(),
amf_ue_ngap_id
);
"Find nas_context(%p) by amf_ue_ngap_id("
AMF_UE_NGAP_ID_FMT
")"
,
nc
.
get
(),
amf_ue_ngap_id
);
}
else
{
nc
=
std
::
shared_ptr
<
nas_context
>
(
new
nas_context
);
set_amf_ue_ngap_id_2_nas_context
(
amf_ue_ngap_id
,
nc
);
...
...
@@ -776,7 +782,9 @@ void amf_n1::service_request_handle(
supi2amfId
[
supi
]
=
amf_ue_ngap_id
;
supi2ranId
[
supi
]
=
ran_ue_ngap_id
;
Logger
::
amf_n1
().
debug
(
"amf_ue_ngap_id %d, ran_ue_ngap_id %d"
,
amf_ue_ngap_id
,
ran_ue_ngap_id
);
"amf_ue_ngap_id "
AMF_UE_NGAP_ID_FMT
", ran_ue_ngap_id "
GNB_UE_NGAP_ID_FMT
,
amf_ue_ngap_id
,
ran_ue_ngap_id
);
Logger
::
amf_n1
().
debug
(
"Key for PDU Session context: SUPI %s"
,
supi
.
c_str
());
// get the status of PDU Session context
...
...
@@ -792,10 +800,9 @@ void amf_n1::service_request_handle(
std::shared_ptr<ue_ngap_context> unc = {};
if (!amf_n2_inst->is_ran_ue_id_2_ue_ngap_context(ran_ue_ngap_id)) {
Logger::amf_n1().error(
"Could not find UE NGAP Context with ran_ue_ngap_id (0x%x)",
ran_ue_ngap_id);
} else {
unc.get()->amf_ue_ngap_id = amf_ue_ngap_id;
"Could not find UE NGAP Context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT ")", ran_ue_ngap_id); } else { unc.get()->amf_ue_ngap_id
= amf_ue_ngap_id;
}
*/
// associate SUPI with UC
...
...
@@ -1046,8 +1053,8 @@ void amf_n1::registration_request_handle(
nc
.
get
()
->
security_ctx
->
sc_type
=
SECURITY_CTX_TYPE_NOT_AVAILABLE
;
}
else
{
Logger
::
amf_n1
().
debug
(
"No existing nas_context with amf_ue_ngap_id (
0x%x) --> Create new "
"one"
,
"No existing nas_context with amf_ue_ngap_id (
"
AMF_UE_NGAP_ID_FMT
"
) --> Create new
one"
,
amf_ue_ngap_id
);
nc
=
std
::
shared_ptr
<
nas_context
>
(
new
nas_context
);
if
(
!
nc
.
get
())
{
...
...
@@ -1056,7 +1063,9 @@ void amf_n1::registration_request_handle(
return
;
}
Logger
::
amf_n1
().
info
(
"Created new nas_context (%p) associated with amf_ue_ngap_id (%d) "
"Created new nas_context (%p) associated with amf_ue_ngap_id "
"("
AMF_UE_NGAP_ID_FMT
") "
"for nas_signalling_establishment_request"
,
nc
.
get
(),
amf_ue_ngap_id
);
set_amf_ue_ngap_id_2_nas_context
(
amf_ue_ngap_id
,
nc
);
...
...
@@ -1108,7 +1117,8 @@ void amf_n1::registration_request_handle(
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
))
{
Logger
::
amf_n1
().
error
(
"No UE NGAP context with ran_ue_ngap_id (%d)"
,
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
ran_ue_ngap_id
);
return
;
}
...
...
@@ -1236,7 +1246,8 @@ void amf_n1::registration_request_handle(
// Trigger UE Location Report
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
))
{
Logger
::
amf_n1
().
warn
(
"No UE NGAP context with ran_ue_ngap_id (%d)"
,
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
ran_ue_ngap_id
);
}
else
{
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
amf_n2_inst
->
ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
);
...
...
@@ -1899,7 +1910,8 @@ void amf_n1::handle_auth_vector_successful_result(
int
vindex
=
nc
.
get
()
->
security_ctx
->
vector_pointer
;
if
(
!
start_authentication_procedure
(
nc
,
vindex
,
nc
.
get
()
->
ngKsi
))
{
Logger
::
amf_n1
().
error
(
"Start authentication procedure failure, reject..."
);
Logger
::
amf_n1
().
error
(
"Ran_ue_ngap_id 0x%x"
,
nc
.
get
()
->
ran_ue_ngap_id
);
Logger
::
amf_n1
().
error
(
"Ran_ue_ngap_id "
GNB_UE_NGAP_ID_FMT
,
nc
.
get
()
->
ran_ue_ngap_id
);
response_registration_reject_msg
(
_5GMM_CAUSE_INVALID_MANDATORY_INFO
,
nc
.
get
()
->
ran_ue_ngap_id
,
nc
.
get
()
->
amf_ue_ngap_id
);
// cause?
...
...
@@ -1949,7 +1961,8 @@ bool amf_n1::start_authentication_procedure(
comUt
::
print_buffer
(
"amf_n1"
,
"Authentication-Request message buffer"
,
(
uint8_t
*
)
bdata
(
b
),
blength
(
b
));
Logger
::
amf_n1
().
debug
(
"amf_ue_ngap_id 0x%x"
,
nc
.
get
()
->
amf_ue_ngap_id
);
Logger
::
amf_n1
().
debug
(
"amf_ue_ngap_id "
AMF_UE_NGAP_ID_FMT
,
nc
.
get
()
->
amf_ue_ngap_id
);
itti_send_dl_nas_buffer_to_task_n2
(
b
,
nc
.
get
()
->
ran_ue_ngap_id
,
nc
.
get
()
->
amf_ue_ngap_id
);
return
true
;
...
...
@@ -1984,7 +1997,7 @@ void amf_n1::authentication_response_handle(
if
(
!
is_amf_ue_id_2_nas_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n1
().
error
(
"No existed NAS context for UE with amf_ue_ngap_id
(0x%x)"
,
"No existed NAS context for UE with amf_ue_ngap_id
"
AMF_UE_NGAP_ID_FMT
,
amf_ue_ngap_id
);
response_registration_reject_msg
(
_5GMM_CAUSE_ILLEGAL_UE
,
ran_ue_ngap_id
,
...
...
@@ -1993,8 +2006,8 @@ void amf_n1::authentication_response_handle(
}
nc
=
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
Logger
::
amf_n1
().
info
(
"Found nas_context (%p) with amf_ue_ngap_id (
0x%x)"
,
nc
.
get
()
,
amf_ue_ngap_id
);
"Found nas_context (%p) with amf_ue_ngap_id (
"
AMF_UE_NGAP_ID_FMT
")"
,
nc
.
get
(),
amf_ue_ngap_id
);
// Stop timer? common procedure finished!
nc
.
get
()
->
is_common_procedure_for_authentication_running
=
false
;
// MM state: COMMON-PROCEDURE-INITIATED -> DEREGISTRED
...
...
@@ -2054,7 +2067,7 @@ void amf_n1::authentication_response_handle(
// reject message with corresponding cause
if
(
!
isAuthOk
)
{
Logger
::
amf_n1
().
error
(
"Authentication failed for UE with amf_ue_ngap_id
0x%x"
,
"Authentication failed for UE with amf_ue_ngap_id
"
AMF_UE_NGAP_ID_FMT
,
amf_ue_ngap_id
);
response_registration_reject_msg
(
_5GMM_CAUSE_ILLEGAL_UE
,
ran_ue_ngap_id
,
...
...
@@ -2076,7 +2089,8 @@ void amf_n1::authentication_failure_handle(
std
::
shared_ptr
<
nas_context
>
nc
;
if
(
!
is_amf_ue_id_2_nas_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n1
().
error
(
"No existed NAS context for UE with amf_ue_ngap_id(0x%x)"
,
"No existed NAS context for UE with amf_ue_ngap_id("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
response_registration_reject_msg
(
_5GMM_CAUSE_ILLEGAL_UE
,
ran_ue_ngap_id
,
...
...
@@ -2132,7 +2146,8 @@ void amf_n1::authentication_failure_handle(
if
(
!
start_authentication_procedure
(
nc
,
vindex
,
nc
.
get
()
->
ngKsi
))
{
Logger
::
amf_n1
().
error
(
"Start authentication procedure failure, reject..."
);
Logger
::
amf_n1
().
error
(
"Ran_ue_ngap_id 0x%x"
,
nc
.
get
()
->
ran_ue_ngap_id
);
Logger
::
amf_n1
().
error
(
"Ran_ue_ngap_id "
GNB_UE_NGAP_ID_FMT
,
nc
.
get
()
->
ran_ue_ngap_id
);
response_registration_reject_msg
(
_5GMM_CAUSE_INVALID_MANDATORY_INFO
,
nc
.
get
()
->
ran_ue_ngap_id
,
nc
.
get
()
->
amf_ue_ngap_id
);
...
...
@@ -2277,7 +2292,8 @@ void amf_n1::security_mode_complete_handle(
nc
=
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
else
{
Logger
::
amf_n1
().
warn
(
"No existed nas_context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No existed nas_context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
// Decode Security Mode Complete
...
...
@@ -2396,8 +2412,10 @@ void amf_n1::security_mode_complete_handle(
if
(
!
uc
.
get
()
->
isUeContextRequest
)
{
Logger
::
amf_n1
().
debug
(
"UE Context is not requested, UE with ran_ue_ngap_id %d, "
"amf_ue_ngap_id %d attached"
,
"UE Context is not requested, UE with "
"ran_ue_ngap_id "
GNB_UE_NGAP_ID_FMT
", "
"amf_ue_ngap_id "
AMF_UE_NGAP_ID_FMT
" attached"
,
ran_ue_ngap_id
,
amf_ue_ngap_id
);
// TODO: Use DownlinkNasTransport to convey Registration Accept
...
...
@@ -2496,8 +2514,8 @@ void amf_n1::registration_complete_handle(
nc = amf_ue_id_2_nas_context(amf_ue_ngap_id);
else {
Logger::amf_n1().warn(
"No existed nas_context with amf_ue_ngap_id(
0x%x)", amf_ue_ngap_id);
return;
"No existed nas_context with amf_ue_ngap_id(
" AMF_UE_NGAP_ID_FMT ")",
amf_ue_ngap_id);
return;
}
nas_secu_ctx* secu = nc.get()->security_ctx;
// protect nas message
...
...
@@ -2715,7 +2733,8 @@ void amf_n1::ue_initiate_de_registration_handle(
nc
=
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
else
{
Logger
::
amf_n1
().
warn
(
"No existed nas_context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No existed nas_context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
...
...
@@ -3593,7 +3612,8 @@ void amf_n1::mobile_reachable_timer_timeout(
nc
=
amf_n1_inst
->
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
else
{
Logger
::
amf_n1
().
warn
(
"No existed nas_context with amf_ue_ngap_id(0x%x)"
,
amf_ue_ngap_id
);
"No existed nas_context with amf_ue_ngap_id("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
}
set_mobile_reachable_timer_timeout
(
nc
,
true
);
...
...
@@ -3615,7 +3635,8 @@ void amf_n1::implicit_deregistration_timer_timeout(
nc
=
amf_n1_inst
->
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
else
{
Logger
::
amf_n1
().
warn
(
"No existed nas_context with amf_ue_ngap_id(0x%x)"
,
amf_ue_ngap_id
);
"No existed nas_context with amf_ue_ngap_id("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
}
// Implicitly de-register UE
// TODO (4.2.2.3.3 Network-initiated Deregistration @3GPP TS 23.502V16.0.0):
...
...
src/amf-app/amf_n11.cpp
View file @
288b0824
...
...
@@ -290,7 +290,8 @@ void amf_n11::handle_itti_message(itti_nsmf_pdusession_create_sm_context& smf) {
if
(
!
amf_n1_inst
->
is_amf_ue_id_2_nas_context
(
smf
.
amf_ue_ngap_id
))
{
Logger
::
amf_n11
().
error
(
"No UE NAS context with amf_ue_ngap_id (0x%x)"
,
smf
.
amf_ue_ngap_id
);
"No UE NAS context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
smf
.
amf_ue_ngap_id
);
return
;
}
...
...
src/amf-app/amf_n2.cpp
View file @
288b0824
...
...
@@ -251,15 +251,17 @@ void amf_n2::handle_itti_message(itti_paging& itti_msg) {
if
(
!
is_ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id (%d)"
,
itti_msg
.
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
unc
=
ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
);
if
(
unc
.
get
()
->
amf_ue_ngap_id
!=
itti_msg
.
amf_ue_ngap_id
)
{
Logger
::
amf_n2
().
error
(
"The requested UE (amf_ue_ngap_id: 0x%x) is not valid, existed UE "
"which's amf_ue_ngap_id (0x%x)"
,
"The requested UE (amf_ue_ngap_id: "
AMF_UE_NGAP_ID_FMT
") is not valid, existed UE "
"which's amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
itti_msg
.
amf_ue_ngap_id
,
unc
.
get
()
->
amf_ue_ngap_id
);
}
...
...
@@ -271,7 +273,7 @@ void amf_n2::handle_itti_message(itti_paging& itti_msg) {
nc
=
amf_n1_inst
->
amf_ue_id_2_nas_context
(
itti_msg
.
amf_ue_ngap_id
);
else
{
Logger
::
amf_n2
().
warn
(
"No existed nas_context with amf_ue_ngap_id(
0x%x
)"
,
"No existed nas_context with amf_ue_ngap_id(
"
AMF_UE_NGAP_ID_FMT
"
)"
,
itti_msg
.
amf_ue_ngap_id
);
}
// Network stops sending paging messages since the mobile reachable timer
...
...
@@ -494,7 +496,8 @@ void amf_n2::handle_itti_message(itti_ng_reset& itti_msg) {
nc
=
amf_n1_inst
->
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
else
{
Logger
::
amf_n2
().
warn
(
"No existed nas_context with amf_ue_ngap_id(0x%x)"
,
"No existed nas_context with amf_ue_ngap_id("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
}
stacs
.
update_5gmm_state
(
nc
.
get
()
->
imsi
,
"5GMM-DEREGISTERED"
);
...
...
@@ -541,7 +544,9 @@ void amf_n2::handle_itti_message(itti_ng_shutdown& itti_msg) {
stacs
.
update_5gmm_state
(
nc
.
get
()
->
imsi
,
"5GMM-DEREGISTERED"
);
}
else
{
Logger
::
amf_n2
().
warn
(
"No existed nas_context with amf_ue_ngap_id(0x%x)"
,
amf_ue_ngap_id
);
"No existed nas_context with amf_ue_ngap_id("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
}
}
}
...
...
@@ -611,7 +616,7 @@ void amf_n2::handle_itti_message(itti_initial_ue_message& init_ue_msg) {
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
{};
if
(
!
is_ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
debug
(
"Create a new UE NGAP context with ran_ue_ngap_id
0x%x"
,
"Create a new UE NGAP context with ran_ue_ngap_id
"
GNB_UE_NGAP_ID_FMT
,
ran_ue_ngap_id
);
unc
=
std
::
shared_ptr
<
ue_ngap_context
>
(
new
ue_ngap_context
());
set_ran_ue_ngap_id_2_ue_ngap_context
(
ran_ue_ngap_id
,
unc
);
...
...
@@ -621,7 +626,7 @@ void amf_n2::handle_itti_message(itti_initial_ue_message& init_ue_msg) {
if
(
unc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Failed to get UE NGAP context for ran_ue_ngap_id
0x%x"
,
"Failed to get UE NGAP context for ran_ue_ngap_id
"
GNB_UE_NGAP_ID_FMT
,
ran_ue_ngap_id
);
}
else
{
// Store related information into UE NGAP context
...
...
@@ -725,7 +730,8 @@ void amf_n2::handle_itti_message(itti_ul_nas_transport& ul_nas_transport) {
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
{};
if
(
!
is_ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"UE with ran_ue_ngap_id (0x%x) is not attached to gnb with assoc_id "
"UE with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
") is not attached to gnb with assoc_id "
"(%d)"
,
ran_ue_ngap_id
,
ul_nas_transport
.
assoc_id
);
return
;
...
...
@@ -734,8 +740,9 @@ void amf_n2::handle_itti_message(itti_ul_nas_transport& ul_nas_transport) {
unc
=
ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
);
if
(
unc
.
get
()
->
amf_ue_ngap_id
!=
amf_ue_ngap_id
)
{
Logger
::
amf_n2
().
error
(
"The requested UE (amf_ue_ngap_id: 0x%x) is not valid, existed UE "
"which's amf_ue_ngap_id (0x%x)"
,
"The requested UE (amf_ue_ngap_id: "
AMF_UE_NGAP_ID_FMT
") is not valid, existed UE "
"which's amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
,
unc
.
get
()
->
amf_ue_ngap_id
);
}
/*
...
...
@@ -788,7 +795,7 @@ void amf_n2::handle_itti_message(itti_dl_nas_transport& dl_nas_transport) {
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
dl_nas_transport
.
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id (
%d
)"
,
"No UE NGAP context with ran_ue_ngap_id (
"
GNB_UE_NGAP_ID_FMT
"
)"
,
dl_nas_transport
.
ran_ue_ngap_id
);
return
;
}
...
...
@@ -797,7 +804,7 @@ void amf_n2::handle_itti_message(itti_dl_nas_transport& dl_nas_transport) {
unc
=
ran_ue_id_2_ue_ngap_context
(
dl_nas_transport
.
ran_ue_ngap_id
);
if
(
unc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal UE with ran_ue_ngap_id (
0x%x
)"
,
"Illegal UE with ran_ue_ngap_id (
"
GNB_UE_NGAP_ID_FMT
"
)"
,
dl_nas_transport
.
ran_ue_ngap_id
);
return
;
}
...
...
@@ -811,7 +818,7 @@ void amf_n2::handle_itti_message(itti_dl_nas_transport& dl_nas_transport) {
gc
=
assoc_id_2_gnb_context
(
unc
.
get
()
->
gnb_assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (
0x%x
)"
,
unc
.
get
()
->
gnb_assoc_id
);
"Illegal gNB with assoc id (
%d
)"
,
unc
.
get
()
->
gnb_assoc_id
);
return
;
}
unc
.
get
()
->
amf_ue_ngap_id
=
dl_nas_transport
.
amf_ue_ngap_id
;
...
...
@@ -836,7 +843,8 @@ void amf_n2::handle_itti_message(itti_initial_context_setup_request& itti_msg) {
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id (%d)"
,
itti_msg
.
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
...
...
@@ -844,7 +852,8 @@ void amf_n2::handle_itti_message(itti_initial_context_setup_request& itti_msg) {
unc
=
ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
);
if
(
unc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal UE with ran_ue_ngap_id (0x%x)"
,
itti_msg
.
ran_ue_ngap_id
);
"Illegal UE with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
unc
.
get
()
->
ncc
=
1
;
...
...
@@ -857,7 +866,7 @@ void amf_n2::handle_itti_message(itti_initial_context_setup_request& itti_msg) {
gc
=
assoc_id_2_gnb_context
(
unc
.
get
()
->
gnb_assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (
0x%x
)"
,
unc
.
get
()
->
gnb_assoc_id
);
"Illegal gNB with assoc id (
%d
)"
,
unc
.
get
()
->
gnb_assoc_id
);
return
;
}
InitialContextSetupRequestMsg
*
msg
=
new
InitialContextSetupRequestMsg
();
...
...
@@ -932,7 +941,8 @@ void amf_n2::handle_itti_message(itti_initial_context_setup_request& itti_msg) {
nc
=
amf_n1_inst
->
amf_ue_id_2_nas_context
(
itti_msg
.
amf_ue_ngap_id
);
else
{
Logger
::
amf_n2
().
warn
(
"No existed nas_context with amf_ue_ngap_id(0x%x)"
,
"No existed nas_context with amf_ue_ngap_id("
AMF_UE_NGAP_ID_FMT
")"
,
itti_msg
.
amf_ue_ngap_id
);
// TODO:
}
...
...
@@ -994,7 +1004,8 @@ void amf_n2::handle_itti_message(
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id (%d)"
,
itti_msg
.
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
...
...
@@ -1003,7 +1014,8 @@ void amf_n2::handle_itti_message(
unc
=
ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
);
if
(
unc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal UE with ran_ue_ngap_id (0x%x)"
,
itti_msg
.
ran_ue_ngap_id
);
"Illegal UE with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
std
::
shared_ptr
<
gnb_context
>
gc
=
{};
...
...
@@ -1015,7 +1027,7 @@ void amf_n2::handle_itti_message(
gc
=
assoc_id_2_gnb_context
(
unc
.
get
()
->
gnb_assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (
0x%x
)"
,
unc
.
get
()
->
gnb_assoc_id
);
"Illegal gNB with assoc id (
%d
)"
,
unc
.
get
()
->
gnb_assoc_id
);
return
;
}
...
...
@@ -1041,7 +1053,7 @@ void amf_n2::handle_itti_message(
nc
=
amf_n1_inst
->
amf_ue_id_2_nas_context
(
itti_msg
.
amf_ue_ngap_id
);
else
{
Logger
::
amf_n2
().
warn
(
"No existed nas_context with amf_ue_ngap_id(
0x%x
)"
,
"No existed nas_context with amf_ue_ngap_id(
"
AMF_UE_NGAP_ID_FMT
"
)"
,
itti_msg
.
amf_ue_ngap_id
);
// TODO:
}
...
...
@@ -1097,7 +1109,8 @@ void amf_n2::handle_itti_message(
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id (%d)"
,
itti_msg
.
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
...
...
@@ -1105,7 +1118,8 @@ void amf_n2::handle_itti_message(
unc
=
ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
);
if
(
unc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal UE with ran_ue_ngap_id (0x%x)"
,
itti_msg
.
ran_ue_ngap_id
);
"Illegal UE with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
std
::
shared_ptr
<
gnb_context
>
gc
=
{};
...
...
@@ -1117,7 +1131,7 @@ void amf_n2::handle_itti_message(
gc
=
assoc_id_2_gnb_context
(
unc
.
get
()
->
gnb_assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (
0x%x
)"
,
unc
.
get
()
->
gnb_assoc_id
);
"Illegal gNB with assoc id (
%d
)"
,
unc
.
get
()
->
gnb_assoc_id
);
return
;
}
...
...
@@ -1173,7 +1187,8 @@ void amf_n2::handle_itti_message(
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id (%d)"
,
itti_msg
.
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
...
...
@@ -1181,7 +1196,8 @@ void amf_n2::handle_itti_message(
unc
=
ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
);
if
(
unc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal UE with ran_ue_ngap_id (0x%x)"
,
itti_msg
.
ran_ue_ngap_id
);
"Illegal UE with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
std
::
shared_ptr
<
gnb_context
>
gc
=
{};
...
...
@@ -1193,7 +1209,7 @@ void amf_n2::handle_itti_message(
gc
=
assoc_id_2_gnb_context
(
unc
.
get
()
->
gnb_assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (
0x%x
)"
,
unc
.
get
()
->
gnb_assoc_id
);
"Illegal gNB with assoc id (
%d
)"
,
unc
.
get
()
->
gnb_assoc_id
);
return
;
}
...
...
@@ -1261,7 +1277,8 @@ void amf_n2::handle_itti_message(itti_ue_context_release_command& itti_msg) {
if
(
!
amf_n2_inst
->
is_ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id (%d)"
,
itti_msg
.
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
...
...
@@ -1269,7 +1286,8 @@ void amf_n2::handle_itti_message(itti_ue_context_release_command& itti_msg) {
unc
=
ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
);
if
(
unc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal UE with ran_ue_ngap_id (0x%x)"
,
itti_msg
.
ran_ue_ngap_id
);
"Illegal UE with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
std
::
shared_ptr
<
gnb_context
>
gc
=
{};
...
...
@@ -1281,7 +1299,7 @@ void amf_n2::handle_itti_message(itti_ue_context_release_command& itti_msg) {
gc
=
assoc_id_2_gnb_context
(
unc
.
get
()
->
gnb_assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (
0x%x
)"
,
unc
.
get
()
->
gnb_assoc_id
);
"Illegal gNB with assoc id (
%d
)"
,
unc
.
get
()
->
gnb_assoc_id
);
return
;
}
...
...
@@ -1320,7 +1338,8 @@ void amf_n2::handle_itti_message(itti_ue_context_release_complete& itti_msg) {
nc
=
amf_n1_inst
->
amf_ue_id_2_nas_context
(
amf_ue_ngap_id
);
else
{
Logger
::
amf_n2
().
warn
(
"No existed nas_context with amf_ue_ngap_id(0x%x)"
,
amf_ue_ngap_id
);
"No existed nas_context with amf_ue_ngap_id("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
}
amf_n1_inst
->
set_5gcm_state
(
nc
,
CM_IDLE
);
...
...
@@ -1352,8 +1371,7 @@ void amf_n2::handle_itti_message(
gc
=
assoc_id_2_gnb_context
(
itti_msg
.
assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (0x%x)"
,
itti_msg
.
assoc_id
);
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (%d)"
,
itti_msg
.
assoc_id
);
return
;
}
unsigned
long
amf_ue_ngap_id
=
{
0
};
...
...
@@ -1383,8 +1401,7 @@ bool amf_n2::handle_itti_message(itti_handover_required& itti_msg) {
gc
=
assoc_id_2_gnb_context
(
itti_msg
.
assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (0x%x)"
,
itti_msg
.
assoc_id
);
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (%d)"
,
itti_msg
.
assoc_id
);
return
false
;
}
...
...
@@ -1395,15 +1412,17 @@ bool amf_n2::handle_itti_message(itti_handover_required& itti_msg) {
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
{};
if
(
!
is_ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id (0x%x)"
,
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
")"
,
ran_ue_ngap_id
);
return
false
;
}
unc
=
ran_ue_id_2_ue_ngap_context
(
ran_ue_ngap_id
);
if
(
unc
.
get
()
->
amf_ue_ngap_id
!=
amf_ue_ngap_id
)
{
Logger
::
amf_n2
().
error
(
"The requested UE (amf_ue_ngap_id 0x%x) is not valid, existed UE "
"with amf_ue_ngap_id (0x%x)"
,
"The requested UE (amf_ue_ngap_id "
AMF_UE_NGAP_ID_FMT
") is not valid, existed UE "
"with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
,
unc
.
get
()
->
amf_ue_ngap_id
);
return
false
;
}
...
...
@@ -1509,7 +1528,8 @@ bool amf_n2::handle_itti_message(itti_handover_required& itti_msg) {
// Security context
if
(
!
amf_n1_inst
->
is_amf_ue_id_2_nas_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NAS context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No UE NAS context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
false
;
}
...
...
@@ -1660,7 +1680,8 @@ void amf_n2::handle_itti_message(itti_handover_request_Ack& itti_msg) {
unsigned
long
amf_ue_ngap_id
=
itti_msg
.
handoverrequestAck
->
getAmfUeNgapId
();
uint32_t
ran_ue_ngap_id
=
itti_msg
.
handoverrequestAck
->
getRanUeNgapId
();
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 ("
GNB_UE_NGAP_ID_FMT
") amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
ran_ue_ngap_id
,
amf_ue_ngap_id
);
std
::
shared_ptr
<
gnb_context
>
gc
=
{};
...
...
@@ -1671,8 +1692,7 @@ void amf_n2::handle_itti_message(itti_handover_request_Ack& itti_msg) {
}
gc
=
assoc_id_2_gnb_context
(
itti_msg
.
assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (0x%x)"
,
itti_msg
.
assoc_id
);
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (%d)"
,
itti_msg
.
assoc_id
);
return
;
}
Logger
::
amf_n2
().
debug
(
...
...
@@ -1682,7 +1702,8 @@ void amf_n2::handle_itti_message(itti_handover_request_Ack& itti_msg) {
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
{};
if
(
!
is_amf_ue_id_2_ue_ngap_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No UE NGAP context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
unc
=
amf_ue_id_2_ue_ngap_context
(
amf_ue_ngap_id
);
...
...
@@ -1700,7 +1721,8 @@ void amf_n2::handle_itti_message(itti_handover_request_Ack& itti_msg) {
if
(
!
amf_n1_inst
->
is_amf_ue_id_2_nas_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NAS context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No UE NAS context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
...
...
@@ -1819,7 +1841,8 @@ void amf_n2::handle_itti_message(itti_handover_notify& itti_msg) {
unsigned
long
amf_ue_ngap_id
=
itti_msg
.
handovernotify
->
getAmfUeNgapId
();
uint32_t
ran_ue_ngap_id
=
itti_msg
.
handovernotify
->
getRanUeNgapId
();
Logger
::
amf_n2
().
debug
(
"Handover Notify ran_ue_ngap_id (0x%d) amf_ue_ngap_id (%lu)"
,
"Handover Notify ran_ue_ngap_id ("
GNB_UE_NGAP_ID_FMT
") amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
ran_ue_ngap_id
,
amf_ue_ngap_id
);
std
::
shared_ptr
<
gnb_context
>
gc
=
{};
...
...
@@ -1830,8 +1853,7 @@ void amf_n2::handle_itti_message(itti_handover_notify& itti_msg) {
}
gc
=
assoc_id_2_gnb_context
(
itti_msg
.
assoc_id
);
if
(
gc
.
get
()
==
nullptr
)
{
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (0x%x)"
,
itti_msg
.
assoc_id
);
Logger
::
amf_n2
().
error
(
"Illegal gNB with assoc id (%d)"
,
itti_msg
.
assoc_id
);
return
;
}
Logger
::
amf_n2
().
debug
(
...
...
@@ -1841,7 +1863,8 @@ void amf_n2::handle_itti_message(itti_handover_notify& itti_msg) {
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
{};
if
(
!
is_amf_ue_id_2_ue_ngap_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No UE NGAP context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
unc
=
amf_ue_id_2_ue_ngap_context
(
amf_ue_ngap_id
);
...
...
@@ -1855,7 +1878,8 @@ void amf_n2::handle_itti_message(itti_handover_notify& itti_msg) {
if
(
!
amf_n1_inst
->
is_amf_ue_id_2_nas_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NAS context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No UE NAS context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
...
...
@@ -1958,7 +1982,8 @@ void amf_n2::handle_itti_message(itti_handover_notify& itti_msg) {
if
(
!
is_amf_ue_id_2_ue_ngap_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No UE NGAP context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
unc
=
amf_ue_id_2_ue_ngap_context
(
amf_ue_ngap_id
);
...
...
@@ -1974,7 +1999,8 @@ void amf_n2::handle_itti_message(itti_uplink_ran_status_transfer& itti_msg) {
Logger
::
amf_n2
().
debug
(
"Handling Uplink RAN Status Transfer ..."
);
unsigned
long
amf_ue_ngap_id
=
itti_msg
.
uplinkrantransfer
->
getAmfUeNgapId
();
Logger
::
amf_n2
().
error
(
"Uplink RAN Status Transfer amf_ue_ngap_id (%d)"
,
amf_ue_ngap_id
);
"Uplink RAN Status Transfer amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
if
(
!
is_assoc_id_2_gnb_context
(
itti_msg
.
assoc_id
))
{
Logger
::
amf_n2
().
error
(
"gNB with assoc_id (%d) is illegal"
,
itti_msg
.
assoc_id
);
...
...
@@ -1984,7 +2010,8 @@ void amf_n2::handle_itti_message(itti_uplink_ran_status_transfer& itti_msg) {
std
::
shared_ptr
<
ue_ngap_context
>
unc
=
{};
if
(
!
is_amf_ue_id_2_ue_ngap_context
(
amf_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with amf_ue_ngap_id (0x%x)"
,
amf_ue_ngap_id
);
"No UE NGAP context with amf_ue_ngap_id ("
AMF_UE_NGAP_ID_FMT
")"
,
amf_ue_ngap_id
);
return
;
}
unc
=
amf_ue_id_2_ue_ngap_context
(
amf_ue_ngap_id
);
...
...
@@ -2046,7 +2073,8 @@ void amf_n2::handle_itti_message(itti_rereoute_nas& itti_msg) {
if
(
!
is_ran_ue_id_2_ue_ngap_context
(
itti_msg
.
ran_ue_ngap_id
))
{
Logger
::
amf_n2
().
error
(
"No UE NGAP context with ran_ue_ngap_id 0x%x"
,
itti_msg
.
ran_ue_ngap_id
);
"No UE NGAP context with ran_ue_ngap_id "
GNB_UE_NGAP_ID_FMT
,
itti_msg
.
ran_ue_ngap_id
);
return
;
}
...
...
@@ -2054,7 +2082,8 @@ void amf_n2::handle_itti_message(itti_rereoute_nas& itti_msg) {
if
(
unc
.
get
()
->
amf_ue_ngap_id
!=
itti_msg
.
amf_ue_ngap_id
)
{
Logger
::
amf_n2
().
error
(
"AMF UE NGAP ID does not match the expected value (requested "
"amf_ue_ngap_id 0x%x, existed amf_ue_ngap_id 0x%x)"
,
"amf_ue_ngap_id "
AMF_UE_NGAP_ID_FMT
", existed amf_ue_ngap_id "
AMF_UE_NGAP_ID_FMT
")"
,
itti_msg
.
amf_ue_ngap_id
,
unc
.
get
()
->
amf_ue_ngap_id
);
return
;
}
...
...
src/common/amf.hpp
View file @
288b0824
...
...
@@ -45,6 +45,9 @@ constexpr auto CURL_MIME_BOUNDARY = "----Boundary";
#define FUTURE_STATUS_TIMEOUT_MS 100
#define GNB_UE_NGAP_ID_FMT "%" PRIu32
#define AMF_UE_NGAP_ID_FMT "%" PRIu64
// Event Subscription IDs)
typedef
uint32_t
evsub_id_t
;
#define EVSUB_ID_FMT "0x%" PRIx32
...
...
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