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
4961ab02
Commit
4961ab02
authored
May 11, 2021
by
yangjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix amf plmn != 07
parent
076411c2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
9 deletions
+32
-9
src/amf-app/amf_n2.cpp
src/amf-app/amf_n2.cpp
+9
-4
src/nas/ies/5GSMobilityIdentity.cpp
src/nas/ies/5GSMobilityIdentity.cpp
+8
-1
src/ngap/ngapIEs/PlmnId.cpp
src/ngap/ngapIEs/PlmnId.cpp
+15
-4
No files found.
src/amf-app/amf_n2.cpp
View file @
4961ab02
...
...
@@ -51,6 +51,7 @@
#include "itti_msg_amf_app.hpp"
#include "logger.hpp"
#include "sctp_server.hpp"
#include "String2Value.hpp"
extern
"C"
{
#include "dynamic_memory_check.h"
...
...
@@ -1380,8 +1381,10 @@ bool amf_n2::verifyPlmn(vector<SupportedItem_t> list) {
continue
;
}
for
(
int
k
=
0
;
k
<
list
[
j
].
b_plmn_list
.
size
();
k
++
)
{
if
(
!
(
list
[
j
].
b_plmn_list
[
k
].
mcc
.
compare
(
amf_cfg
.
plmn_list
[
i
].
mcc
))
&&
!
(
list
[
j
].
b_plmn_list
[
k
].
mnc
.
compare
(
amf_cfg
.
plmn_list
[
i
].
mnc
)))
{
//if (!(list[j].b_plmn_list[k].mcc.compare(amf_cfg.plmn_list[i].mcc)) &&
// !(list[j].b_plmn_list[k].mnc.compare(amf_cfg.plmn_list[i].mnc))) {
if
((
fromString
<
int
>
(
list
[
j
].
b_plmn_list
[
k
].
mcc
)
==
fromString
<
int
>
(
amf_cfg
.
plmn_list
[
i
].
mcc
))
&&
(
fromString
<
int
>
(
list
[
j
].
b_plmn_list
[
k
].
mnc
)
==
fromString
<
int
>
(
amf_cfg
.
plmn_list
[
i
].
mnc
)))
{
return
true
;
}
}
...
...
@@ -1404,8 +1407,10 @@ std::vector<SupportedItem_t> amf_n2::get_common_plmn(
continue
;
}
for
(
int
k
=
0
;
k
<
list
[
j
].
b_plmn_list
.
size
();
k
++
)
{
if
(
!
(
list
[
j
].
b_plmn_list
[
k
].
mcc
.
compare
(
amf_cfg
.
plmn_list
[
i
].
mcc
))
&&
!
(
list
[
j
].
b_plmn_list
[
k
].
mnc
.
compare
(
amf_cfg
.
plmn_list
[
i
].
mnc
)))
{
//if (!(list[j].b_plmn_list[k].mcc.compare(amf_cfg.plmn_list[i].mcc)) &&
// !(list[j].b_plmn_list[k].mnc.compare(amf_cfg.plmn_list[i].mnc))) {
if
((
fromString
<
int
>
(
list
[
j
].
b_plmn_list
[
k
].
mcc
)
==
fromString
<
int
>
(
amf_cfg
.
plmn_list
[
i
].
mcc
))
&&
(
fromString
<
int
>
(
list
[
j
].
b_plmn_list
[
k
].
mnc
)
==
fromString
<
int
>
(
amf_cfg
.
plmn_list
[
i
].
mnc
)))
{
plmn_list
.
push_back
(
list
[
j
]);
}
}
...
...
src/nas/ies/5GSMobilityIdentity.cpp
View file @
4961ab02
...
...
@@ -543,7 +543,10 @@ int _5GSMobilityIdentity::suci_decodefrombuffer(
"MCC %s, MNC %s"
,
std
::
to_string
(
mcc
).
c_str
(),
std
::
to_string
(
mnc
).
c_str
());
supi_format_imsi
->
mcc
=
(
const
string
)(
std
::
to_string
(
mcc
));
supi_format_imsi
->
mnc
=
(
const
string
)(
std
::
to_string
(
mnc
));
if
(
std
::
to_string
(
mnc
).
size
()
==
1
)
supi_format_imsi
->
mnc
=
(
const
string
)(
"0"
+
(
const
string
)(
std
::
to_string
(
mnc
)));
else
supi_format_imsi
->
mnc
=
(
const
string
)(
std
::
to_string
(
mnc
));
int
routid
=
0
;
uint8_t
digit
[
4
];
octet
=
*
(
buf
+
decoded_size
);
...
...
@@ -639,6 +642,10 @@ int _5GSMobilityIdentity::_5g_guti_decodefrombuffer(uint8_t* buf, int len) {
"MCC %s, MNC %s"
,
std
::
to_string
(
mcc
).
c_str
(),
std
::
to_string
(
mnc
).
c_str
());
_5g_guti
->
mcc
=
(
const
string
)(
std
::
to_string
(
mcc
));
if
(
std
::
to_string
(
mnc
).
size
()
==
1
)
_5g_guti
->
mnc
=
(
const
string
)(
"0"
+
(
const
string
)(
std
::
to_string
(
mnc
)));
else
_5g_guti
->
mnc
=
(
const
string
)(
std
::
to_string
(
mnc
));
_5g_guti
->
mnc
=
(
const
string
)(
std
::
to_string
(
mnc
));
_5g_guti
->
amf_region_id
=
*
(
buf
+
decoded_size
);
...
...
src/ngap/ngapIEs/PlmnId.cpp
View file @
4961ab02
...
...
@@ -66,12 +66,23 @@ void PlmnId::getMcc(std::string& mcc) {
//------------------------------------------------------------------------------
void
PlmnId
::
getMnc
(
std
::
string
&
mnc
)
{
int
m_mnc
=
0
;
//
int m_mnc = 0;
if
(
mnc_digit1
==
0xf
)
m_mnc
=
mnc_digit2
*
10
+
mnc_digit3
;
{
//m_mnc = mnc_digit2 * 10 + mnc_digit3;
mnc
=
to_string
(
mnc_digit2
);
mnc
+=
to_string
(
mnc_digit3
);
}
else
m_mnc
=
mnc_digit1
*
100
+
mnc_digit2
*
10
+
mnc_digit3
;
mnc
=
to_string
(
m_mnc
);
{
//m_mnc = mnc_digit1 * 100 + mnc_digit2 * 10 + mnc_digit3;
mnc
=
to_string
(
mnc_digit1
);
mnc
=
to_string
(
mnc_digit2
);
mnc
+=
to_string
(
mnc_digit3
);
}
//mnc = to_string(m_mnc);
cout
<<
"################ MNC "
<<
mnc
<<
endl
;
}
//------------------------------------------------------------------------------
...
...
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