Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
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
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
zzha zzha
OpenXG-RAN
Commits
1b62c915
Commit
1b62c915
authored
3 years ago
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add configurable USIM
parent
6749c5f7
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
142 additions
and
207 deletions
+142
-207
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+21
-104
cmake_targets/build_oai
cmake_targets/build_oai
+0
-3
cmake_targets/install_external_packages.ubuntu20
cmake_targets/install_external_packages.ubuntu20
+6
-10
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+0
-4
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
+1
-1
openair1/PHY/defs_nr_UE.h
openair1/PHY/defs_nr_UE.h
+1
-0
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+11
-6
openair3/NAS/COMMON/IES/FGSMobileIdentity.c
openair3/NAS/COMMON/IES/FGSMobileIdentity.c
+14
-7
openair3/NAS/COMMON/IES/FGSMobileIdentity.h
openair3/NAS/COMMON/IES/FGSMobileIdentity.h
+1
-1
openair3/NAS/COMMON/NR_NAS_defs.h
openair3/NAS/COMMON/NR_NAS_defs.h
+1
-0
openair3/NAS/NR_UE/nr_nas_msg_sim.c
openair3/NAS/NR_UE/nr_nas_msg_sim.c
+79
-63
openair3/NAS/NR_UE/nr_nas_msg_sim.h
openair3/NAS/NR_UE/nr_nas_msg_sim.h
+1
-3
openair3/UICC/usim_interface.c
openair3/UICC/usim_interface.c
+6
-5
No files found.
cmake_targets/CMakeLists.txt
View file @
1b62c915
...
...
@@ -997,7 +997,6 @@ add_boolean_option(PHY_TX_THREAD False "enable UE_EXPANSION w
add_boolean_option
(
PRE_SCD_THREAD False
"enable UE_EXPANSION with max 256 UE"
)
add_boolean_option
(
UESIM_EXPANSION False
"enable UESIM_EXPANSION with max 256 UE"
)
add_boolean_option
(
ITTI_SIM False
"enable itti simulator"
)
add_boolean_option
(
RFSIM_NAS False
"enable rfsim nas"
)
########################
# Include order
##########################
...
...
@@ -2443,108 +2442,6 @@ set (libnas_utils_OBJS
${
NAS_SRC
}
COMMON/UTIL/OctetString.c
)
if
(
NAS_UE
)
set
(
libnas_ue_api_OBJS
${
NAS_SRC
}
UE/API/USER/at_command.c
${
NAS_SRC
}
UE/API/USER/at_error.c
${
NAS_SRC
}
UE/API/USER/at_response.c
${
NAS_SRC
}
UE/API/USER/user_api.c
${
NAS_SRC
}
UE/API/USER/user_indication.c
${
NAS_SRC
}
UE/API/USIM/aka_functions.c
${
NAS_SRC
}
UE/API/USIM/usim_api.c
)
set
(
libnas_ue_emm_OBJS
${
NAS_SRC
}
UE/EMM/Attach.c
${
NAS_SRC
}
UE/EMM/Authentication.c
${
NAS_SRC
}
UE/EMM/Detach.c
${
NAS_SRC
}
UE/EMM/emm_main.c
${
NAS_SRC
}
UE/EMM/EmmStatusHdl.c
${
NAS_SRC
}
UE/EMM/Identification.c
${
NAS_SRC
}
UE/EMM/IdleMode.c
${
NAS_SRC
}
UE/EMM/LowerLayer.c
${
NAS_SRC
}
UE/EMM/SecurityModeControl.c
${
NAS_SRC
}
UE/EMM/ServiceRequestHdl.c
${
NAS_SRC
}
UE/EMM/TrackingAreaUpdate.c
)
set
(
libnas_ue_emm_sap_OBJS
${
NAS_SRC
}
UE/EMM/SAP/emm_as.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregisteredAttachNeeded.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregisteredAttemptingToAttach.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregistered.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregisteredInitiated.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregisteredLimitedService.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregisteredNoCellAvailable.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregisteredNoImsi.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregisteredNormalService.c
${
NAS_SRC
}
UE/EMM/SAP/EmmDeregisteredPlmnSearch.c
${
NAS_SRC
}
UE/EMM/SAP/emm_esm.c
${
NAS_SRC
}
UE/EMM/SAP/emm_fsm.c
${
NAS_SRC
}
UE/EMM/SAP/EmmNull.c
${
NAS_SRC
}
UE/EMM/SAP/emm_recv.c
${
NAS_SRC
}
UE/EMM/SAP/emm_reg.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegisteredAttemptingToUpdate.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegistered.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegisteredImsiDetachInitiated.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegisteredInitiated.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegisteredLimitedService.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegisteredNoCellAvailable.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegisteredNormalService.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegisteredPlmnSearch.c
${
NAS_SRC
}
UE/EMM/SAP/EmmRegisteredUpdateNeeded.c
${
NAS_SRC
}
UE/EMM/SAP/emm_sap.c
${
NAS_SRC
}
UE/EMM/SAP/emm_send.c
${
NAS_SRC
}
UE/EMM/SAP/EmmServiceRequestInitiated.c
${
NAS_SRC
}
UE/EMM/SAP/EmmTrackingAreaUpdatingInitiated.c
)
set
(
libnas_ue_esm_OBJS
${
NAS_SRC
}
UE/ESM/DedicatedEpsBearerContextActivation.c
${
NAS_SRC
}
UE/ESM/DefaultEpsBearerContextActivation.c
${
NAS_SRC
}
UE/ESM/EpsBearerContextDeactivation.c
${
NAS_SRC
}
UE/ESM/esm_ebr.c
${
NAS_SRC
}
UE/ESM/esm_ebr_context.c
${
NAS_SRC
}
UE/ESM/esm_ip.c
${
NAS_SRC
}
UE/ESM/esm_main.c
${
NAS_SRC
}
UE/ESM/esm_pt.c
${
NAS_SRC
}
UE/ESM/EsmStatusHdl.c
${
NAS_SRC
}
UE/ESM/PdnConnectivity.c
${
NAS_SRC
}
UE/ESM/PdnDisconnect.c
)
set
(
libnas_ue_esm_sap_OBJS
${
NAS_SRC
}
UE/ESM/SAP/esm_recv.c
${
NAS_SRC
}
UE/ESM/SAP/esm_send.c
${
NAS_SRC
}
UE/ESM/SAP/esm_sap.c
)
add_library
(
LIB_NAS_UE
${
NAS_SRC
}
UE/nas_itti_messaging.c
${
NAS_SRC
}
UE/nas_network.c
${
NAS_SRC
}
UE/nas_parser.c
${
NAS_SRC
}
UE/nas_proc.c
${
NAS_SRC
}
UE/nas_user.c
${
libnas_api_OBJS
}
${
libnas_ue_api_OBJS
}
${
libnas_emm_msg_OBJS
}
${
libnas_esm_msg_OBJS
}
${
libnas_ies_OBJS
}
${
libnas_utils_OBJS
}
${
libnas_ue_emm_OBJS
}
${
libnas_ue_emm_sap_OBJS
}
${
libnas_ue_esm_OBJS
}
${
libnas_ue_esm_sap_OBJS
}
)
add_dependencies
(
LIB_NAS_UE rrc_flag
)
set
(
NAS_UE_LIB LIB_NAS_UE
)
include_directories
(
${
NAS_SRC
}
UE
)
include_directories
(
${
NAS_SRC
}
UE/API/USER
)
include_directories
(
${
NAS_SRC
}
UE/API/USIM
)
include_directories
(
${
NAS_SRC
}
UE/EMM
)
include_directories
(
${
NAS_SRC
}
UE/EMM/SAP
)
include_directories
(
${
NAS_SRC
}
UE/ESM
)
include_directories
(
${
NAS_SRC
}
UE/ESM/SAP
)
endif
()
#if(ITTI_SIM OR RFSIM_NAS)
set
(
libnas_ue_api_OBJS
${
NAS_SRC
}
UE/API/USER/at_command.c
${
NAS_SRC
}
UE/API/USER/at_error.c
...
...
@@ -2662,6 +2559,27 @@ endif()
add_dependencies
(
LIB_NAS_SIMUE rrc_flag
)
set
(
NAS_SIM_LIB LIB_NAS_SIMUE
)
add_library
(
LIB_NAS_UE
${
NAS_SRC
}
UE/nas_itti_messaging.c
${
NAS_SRC
}
UE/nas_network.c
${
NAS_SRC
}
UE/nas_parser.c
${
NAS_SRC
}
UE/nas_proc.c
${
NAS_SRC
}
UE/nas_user.c
${
libnas_api_OBJS
}
${
libnas_ue_api_OBJS
}
${
libnas_emm_msg_OBJS
}
${
libnas_esm_msg_OBJS
}
${
libnas_ies_OBJS
}
${
libnas_utils_OBJS
}
${
libnas_ue_emm_OBJS
}
${
libnas_ue_emm_sap_OBJS
}
${
libnas_ue_esm_OBJS
}
${
libnas_ue_esm_sap_OBJS
}
)
add_dependencies
(
LIB_NAS_UE rrc_flag
)
set
(
NAS_UE_LIB LIB_NAS_UE
)
include_directories
(
${
NAS_SRC
}
NR_UE
)
include_directories
(
${
NAS_SRC
}
UE
)
include_directories
(
${
NAS_SRC
}
UE/API/USER
)
...
...
@@ -2670,7 +2588,6 @@ endif()
include_directories
(
${
NAS_SRC
}
UE/EMM/SAP
)
include_directories
(
${
NAS_SRC
}
UE/ESM
)
include_directories
(
${
NAS_SRC
}
UE/ESM/SAP
)
#endif()
# nbiot
add_definitions
(
"-DNUMBER_OF_UE_MAX_NB_IoT=16"
)
...
...
This diff is collapsed.
Click to expand it.
cmake_targets/build_oai
View file @
1b62c915
...
...
@@ -68,7 +68,6 @@ USRP_REC_PLAY="False"
BUILD_ECLIPSE
=
0
NR
=
"False"
ITTI_SIM
=
"False"
RFSIM_NAS
=
"False"
SANITIZE_ADDRESS
=
"False"
OPTIONAL_LIBRARIES
=
"telnetsrv enbscope uescope nrscope msc"
trap
handle_ctrl_c INT
...
...
@@ -264,7 +263,6 @@ function main() {
nrUE
=
1
NR
=
"True"
rfsimNas
=
1
RFSIM_NAS
=
"True"
echo_info
"Will compile NR UE"
shift
;;
--mu
)
...
...
@@ -619,7 +617,6 @@ function main() {
echo
"set ( USRP_REC_PLAY
$USRP_REC_PLAY
)"
>>
$cmake_file
echo
"set ( SKIP_SHARED_LIB_FLAG
$SKIP_SHARED_LIB_FLAG
)"
>>
$cmake_file
echo
"set ( ITTI_SIM
$ITTI_SIM
)"
>>
$cmake_file
echo
"set ( RFSIM_NAS
$RFSIM_NAS
)"
>>
$cmake_file
echo
"set ( SANITIZE_ADDRESS
$SANITIZE_ADDRESS
)"
>>
$cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
cd
$DIR
/
$build_dir
/build
...
...
This diff is collapsed.
Click to expand it.
cmake_targets/install_external_packages.ubuntu20
View file @
1b62c915
...
...
@@ -159,16 +159,8 @@ install_protobuf_from_source(){
#cd protobuf-2.6.1/
rm
-rf
/tmp/protobuf-cpp-3.3.0.tar.gz
*
/tmp/protobuf-3.3.0
wget
--tries
=
3
--retry-connrefused
https://github.com/google/protobuf/releases/download/v3.3.0/protobuf-cpp-3.3.0.tar.gz
tar
-xzvf
protobuf-cpp-3.3.0.tar.gz
--owner
$(
id
-u
)
--group
$(
id
-g
)
--no-same-owner
cd
protobuf-3.3.0/
else
export
LD_LIBRARY_PATH
=
/usr/local/lib
#protoc needs to know where toclook for shared libs
rm
-rf
/tmp/protobuf
git clone
--depth
=
1
--branch
=
v3.3.0 https://github.com/protocolbuffers/protobuf.git /tmp/protobuf
cd
/tmp/protobuf
git submodule update
--init
--recursive
./autogen.sh
fi
tar
-xzvf
protobuf-cpp-3.3.0.tar.gz
--owner
"
$USER
"
--group
"
$(
groups
|
cut
-d
" "
-f1
)
"
--no-same-owner
cd
protobuf-3.3.0/
||
exit
./configure
echo
"Compiling protobuf"
make
-j
"
$(
nproc
)
"
...
...
@@ -339,6 +331,10 @@ check_install_ubuntu_packages() {
$SUDO
apt
install
-y
software-properties-common
case
"
$(
get_distribution_release
)
"
in
"ubuntu20.04"
)
specific_packages
=
"libtasn1-6-dev libgnutls28-dev iproute2 libconfig-dev"
LAPACK_LIBNAME
=
"liblapack.so-x86_64-linux-gnu"
LAPACK_TARGET
=
"/usr/lib/x86_64-linux-gnu/atlas/liblapack.so"
;;
"ubuntu21.04"
)
specific_packages
=
"libtasn1-6-dev libgnutls28-dev iproute2 libconfig-dev"
LAPACK_LIBNAME
=
"liblapack.so-x86_64-linux-gnu"
...
...
This diff is collapsed.
Click to expand it.
executables/nr-uesoftmodem.c
View file @
1b62c915
...
...
@@ -87,9 +87,7 @@ unsigned short config_frames[4] = {2,9,11,13};
#include "executables/softmodem-common.h"
#include "executables/thread-common.h"
#if defined(ITTI_SIM) || defined(RFSIM_NAS)
#include "nr_nas_msg_sim.h"
#endif
extern
const
char
*
duplex_mode
[];
THREAD_STRUCT
thread_struct
;
...
...
@@ -193,12 +191,10 @@ int create_tasks_nrue(uint32_t ue_nb) {
LOG_E
(
NR_RRC
,
"Create task for RRC UE failed
\n
"
);
return
-
1
;
}
#if defined(ITTI_SIM) || defined(RFSIM_NAS)
if
(
itti_create_task
(
TASK_NAS_NRUE
,
nas_nrue_task
,
NULL
)
<
0
)
{
LOG_E
(
NR_RRC
,
"Create task for NAS UE failed
\n
"
);
return
-
1
;
}
#endif
}
itti_wait_ready
(
0
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
View file @
1b62c915
...
...
@@ -83,11 +83,11 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, uint8_t slot){
mu
=
nrUE_config
->
prach_config
.
prach_sub_c_spacing
;
restricted_set
=
prach_pdu
->
restricted_set
;
rootSequenceIndex
=
prach_pdu
->
root_seq_id
;
fd_occasion
=
0
;
n_ra_prb
=
nrUE_config
->
prach_config
.
num_prach_fd_occasions_list
[
fd_occasion
].
k1
,
//prach_pdu->freq_msg1;
NCS
=
prach_pdu
->
num_cs
;
prach_fmt_id
=
prach_pdu
->
prach_format
;
preamble_index
=
prach_resources
->
ra_PreambleIndex
;
fd_occasion
=
0
;
prach_len
=
0
;
dftlen
=
0
;
first_nonzero_root_idx
=
0
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/defs_nr_UE.h
View file @
1b62c915
...
...
@@ -1071,6 +1071,7 @@ typedef struct {
#endif
int
dl_stats
[
5
];
void
*
uicc
;
}
PHY_VARS_NR_UE
;
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR_UE/rrc_UE.c
View file @
1b62c915
...
...
@@ -69,9 +69,7 @@
#include "SIMULATION/TOOLS/sim.h" // for taus
#include <executables/softmodem-common.h>
#if defined(ITTI_SIM) || defined(RFSIM_NAS)
#include "nr_nas_msg_sim.h"
#endif
NR_UE_RRC_INST_t
*
NR_UE_rrc_inst
;
/* NAS Attach request with IMSI */
...
...
@@ -1349,14 +1347,21 @@ static void rrc_ue_generate_RRCSetupComplete(
AssertFatal
(
1
==
0
,
"2 > csi_MeasConfig is not null
\n
"
);
if
(
AMF_MODE_ENABLED
)
{
#if defined(ITTI_SIM)
|| defined(RFSIM_NAS)
#if defined(ITTI_SIM)
as_nas_info_t
initialNasMsg
;
generateRegistrationRequest
(
&
initialNasMsg
);
generateRegistrationRequest
(
&
initialNasMsg
,
ctxt_pP
->
module_id
);
nas_msg
=
(
char
*
)
initialNasMsg
.
data
;
nas_msg_length
=
initialNasMsg
.
length
;
#else
nas_msg
=
(
char
*
)
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
initialNasMsg
.
data
;
nas_msg_length
=
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
initialNasMsg
.
length
;
if
(
get_softmodem_params
()
->
sa
)
{
as_nas_info_t
initialNasMsg
;
generateRegistrationRequest
(
&
initialNasMsg
,
ctxt_pP
->
module_id
);
nas_msg
=
(
char
*
)
initialNasMsg
.
data
;
nas_msg_length
=
initialNasMsg
.
length
;
}
else
{
nas_msg
=
(
char
*
)
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
initialNasMsg
.
data
;
nas_msg_length
=
NR_UE_rrc_inst
[
ctxt_pP
->
module_id
].
initialNasMsg
.
length
;
}
#endif
}
else
{
nas_msg
=
nr_nas_attach_req_imsi
;
...
...
This diff is collapsed.
Click to expand it.
openair3/NAS/COMMON/IES/FGSMobileIdentity.c
View file @
1b62c915
...
...
@@ -194,23 +194,23 @@ static int encode_guti_5gs_mobile_identity(Guti5GSMobileIdentity_t *guti, uint8_
static
int
encode_suci_5gs_mobile_identity
(
Suci5GSMobileIdentity_t
*
suci
,
uint8_t
*
buffer
)
{
uint32_t
encoded
=
0
;
*
(
buffer
+
encoded
)
=
0x00
|
(
suci
->
supiformat
<<
4
)
|
(
suci
->
typeofidentity
);
*
(
buffer
+
encoded
)
=
(
suci
->
supiformat
<<
4
)
|
(
suci
->
typeofidentity
);
encoded
++
;
*
(
buffer
+
encoded
)
=
0x00
|
((
suci
->
mccdigit2
&
0xf
)
<<
4
)
|
*
(
buffer
+
encoded
)
=
((
suci
->
mccdigit2
&
0xf
)
<<
4
)
|
(
suci
->
mccdigit1
&
0xf
);
encoded
++
;
*
(
buffer
+
encoded
)
=
0x00
|
((
suci
->
mncdigit3
&
0xf
)
<<
4
)
|
*
(
buffer
+
encoded
)
=
((
suci
->
mncdigit3
&
0xf
)
<<
4
)
|
(
suci
->
mccdigit3
&
0xf
);
encoded
++
;
*
(
buffer
+
encoded
)
=
0x00
|
((
suci
->
mncdigit2
&
0xf
)
<<
4
)
|
*
(
buffer
+
encoded
)
=
((
suci
->
mncdigit2
&
0xf
)
<<
4
)
|
(
suci
->
mncdigit1
&
0xf
);
encoded
++
;
*
(
buffer
+
encoded
)
=
0x00
|
((
suci
->
routingindicatordigit2
&
0xf
)
<<
4
)
|
*
(
buffer
+
encoded
)
=
((
suci
->
routingindicatordigit2
&
0xf
)
<<
4
)
|
(
suci
->
routingindicatordigit1
&
0xf
);
encoded
++
;
*
(
buffer
+
encoded
)
=
0x00
|
((
suci
->
routingindicatordigit4
&
0xf
)
<<
4
)
|
*
(
buffer
+
encoded
)
=
((
suci
->
routingindicatordigit4
&
0xf
)
<<
4
)
|
(
suci
->
routingindicatordigit3
&
0xf
);
encoded
++
;
...
...
@@ -220,8 +220,15 @@ static int encode_suci_5gs_mobile_identity(Suci5GSMobileIdentity_t *suci, uint8_
*
(
buffer
+
encoded
)
=
suci
->
homenetworkpki
;
encoded
++
;
IES_ENCODE_U32
(
buffer
,
encoded
,
suci
->
schemeoutput
);
char
*
ptr
=
suci
->
schemeoutput
;
while
(
ptr
<
suci
->
schemeoutput
+
strlen
(
suci
->
schemeoutput
)
)
{
buffer
[
encoded
]
=
((
*
(
ptr
+
1
)
-
'0'
)
<<
4
)
|
(
*
(
ptr
)
-
'0'
);
encoded
++
;
ptr
+=
2
;
}
if
(
strlen
(
suci
->
schemeoutput
)
%
2
==
1
)
buffer
[
encoded
++
]
=
((
*
(
ptr
-
1
)
-
'0'
))
|
0xF0
;
return
encoded
;
}
...
...
This diff is collapsed.
Click to expand it.
openair3/NAS/COMMON/IES/FGSMobileIdentity.h
View file @
1b62c915
...
...
@@ -64,7 +64,7 @@ typedef struct {
uint8_t
spare6
:
1
;
uint8_t
protectionschemeId
:
4
;
uint8_t
homenetworkpki
;
uint32_t
schemeoutput
;
char
schemeoutput
[
32
]
;
}
Suci5GSMobileIdentity_t
;
typedef
struct
{
...
...
This diff is collapsed.
Click to expand it.
openair3/NAS/COMMON/NR_NAS_defs.h
View file @
1b62c915
...
...
@@ -387,5 +387,6 @@ void processNAS(void *msg, NRUEcontext_t *UE);
int
identityRequest
(
void
**
msg
,
NRUEcontext_t
*
UE
);
int
authenticationRequest
(
void
**
msg
,
NRUEcontext_t
*
UE
);
int
securityModeCommand
(
void
**
msg
,
NRUEcontext_t
*
UE
);
void
servingNetworkName
(
uint8_t
*
msg
,
char
*
imsiStr
,
int
nmc_size
);
#endif
This diff is collapsed.
Click to expand it.
openair3/NAS/NR_UE/nr_nas_msg_sim.c
View file @
1b62c915
This diff is collapsed.
Click to expand it.
openair3/NAS/NR_UE/nr_nas_msg_sim.h
View file @
1b62c915
...
...
@@ -115,9 +115,7 @@ typedef union {
fgs_nas_message_plain_t
plain
;
}
fgs_nas_message_t
;
void
generateRegistrationRequest
(
as_nas_info_t
*
initialNasMsg
);
void
generateIdentityResponse
(
as_nas_info_t
*
initialNasMsg
,
uint8_t
identitytype
);
void
generateAuthenticationResp
(
as_nas_info_t
*
initialNasMsg
,
uint8_t
*
buf
);
void
generateRegistrationRequest
(
as_nas_info_t
*
initialNasMsg
,
int
Mod_id
);
void
generateSecurityModeComplete
(
as_nas_info_t
*
initialNasMsg
);
void
generateRegistrationComplete
(
as_nas_info_t
*
initialNasMsg
,
SORTransparentContainer
*
sortransparentcontainer
);
void
generatePduSessionEstablishRequest
(
as_nas_info_t
*
initialNasMsg
);
...
...
This diff is collapsed.
Click to expand it.
openair3/UICC/usim_interface.c
View file @
1b62c915
...
...
@@ -20,6 +20,7 @@
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include <ctype.h>
#include <openair3/UICC/usim_interface.h>
#include <openair3/NAS/COMMON/milenage.h>
...
...
@@ -34,10 +35,10 @@
/* optname helpstr paramflags XXXptr defXXXval type numelt */
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
#define UICC_PARAMS_DESC {\
{"imsi", "USIM IMSI\n", 0, strptr:&(uicc->imsiStr), defstrval:"", TYPE_STRING, 0 },\
{"imsi", "USIM IMSI\n", 0, strptr:&(uicc->imsiStr), defstrval:"
2089900007487
", TYPE_STRING, 0 },\
{"nmc_size" "number of digits in NMC", 0, iptr:&(uicc->nmc_size), defintval:2, TYPE_INT, 0 },\
{"key", "USIM Ki\n", 0, strptr:&(uicc->keyStr), defstrval:"
",
TYPE_STRING, 0 },\
{"opc", "USIM OPc\n", 0, strptr:&(uicc->opcStr), defstrval:"
",
TYPE_STRING, 0 },\
{"key", "USIM Ki\n", 0, strptr:&(uicc->keyStr), defstrval:"
fec86ba6eb707ed08905757b1bb44b8f",
TYPE_STRING, 0 },\
{"opc", "USIM OPc\n", 0, strptr:&(uicc->opcStr), defstrval:"
c42449363bbad02b66d16bc975d77cc1",
TYPE_STRING, 0 },\
{"amf", "USIM amf\n", 0, strptr:&(uicc->amfStr), defstrval:"8000", TYPE_STRING, 0 },\
{"sqn", "USIM sqn\n", 0, strptr:&(uicc->sqnStr), defstrval:"000000", TYPE_STRING, 0 },\
};
...
...
@@ -45,7 +46,7 @@
const
char
*
hexTable
=
"0123456789abcdef"
;
static
inline
uint8_t
mkDigit
(
unsigned
char
in
)
{
for
(
int
i
=
0
;
i
<
16
;
i
++
)
if
(
in
==
hexTable
[
i
])
if
(
tolower
(
in
)
==
hexTable
[
i
])
return
i
;
LOG_E
(
SIM
,
"Impossible hexa input: %c
\n
"
,
in
);
return
0
;
...
...
@@ -65,7 +66,7 @@ uicc_t *init_uicc(char *sectionName) {
// we can read the IMSI from the USIM
// key, OPc, sqn, amf don't need to be read from the true USIM
int
ret
=
config_get
(
uicc_params
,
sizeof
(
uicc_params
)
/
sizeof
(
paramdef_t
),
sectionName
);
AssertFatal
(
ret
>=
0
,
"configuration couldn't be performed
"
);
AssertFatal
(
ret
>=
0
,
"configuration couldn't be performed
for uicc name: %s"
,
sectionName
);
LOG_I
(
SIM
,
"UICC simulation: IMSI=%s, Ki=%s, OPc=%s
\n
"
,
uicc
->
imsiStr
,
uicc
->
keyStr
,
uicc
->
opcStr
);
to_hex
(
uicc
->
keyStr
,
uicc
->
key
,
sizeof
(
uicc
->
key
)
);
to_hex
(
uicc
->
opcStr
,
uicc
->
opc
,
sizeof
(
uicc
->
opc
)
);
...
...
This diff is collapsed.
Click to expand it.
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