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
wangjie
OpenXG-RAN
Commits
d8a67153
Commit
d8a67153
authored
Feb 07, 2018
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
store IMSI information + provide FlexRAN API to query UE's IMSI
parent
9d05a9a3
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
35 additions
and
3 deletions
+35
-3
openair2/ENB_APP/flexran_agent_ran_api.c
openair2/ENB_APP/flexran_agent_ran_api.c
+11
-0
openair2/ENB_APP/flexran_agent_ran_api.h
openair2/ENB_APP/flexran_agent_ran_api.h
+3
-0
openair2/RRC/LITE/defs.h
openair2/RRC/LITE/defs.h
+2
-1
openair2/RRC/LITE/rrc_eNB_S1AP.c
openair2/RRC/LITE/rrc_eNB_S1AP.c
+19
-2
No files found.
openair2/ENB_APP/flexran_agent_ran_api.c
View file @
d8a67153
...
@@ -889,6 +889,17 @@ int flexran_get_ue_transmission_antenna(mid_t mod_id, mid_t ue_id)
...
@@ -889,6 +889,17 @@ int flexran_get_ue_transmission_antenna(mid_t mod_id, mid_t ue_id)
}
}
}
}
uint64_t
flexran_get_ue_imsi
(
mid_t
mod_id
,
mid_t
ue_id
)
{
if
(
!
rrc_is_present
(
mod_id
))
return
-
1
;
rnti_t
rnti
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
rrc_eNB_get_ue_context
(
RC
.
rrc
[
mod_id
],
rnti
);
if
(
!
ue_context_p
)
return
-
1
;
return
ue_context_p
->
ue_context
.
imsi
;
}
long
flexran_get_lcg
(
mid_t
mod_id
,
mid_t
ue_id
,
mid_t
lc_id
)
long
flexran_get_lcg
(
mid_t
mod_id
,
mid_t
ue_id
,
mid_t
lc_id
)
{
{
if
(
!
mac_is_present
(
mod_id
))
return
0
;
if
(
!
mac_is_present
(
mod_id
))
return
0
;
...
...
openair2/ENB_APP/flexran_agent_ran_api.h
View file @
d8a67153
...
@@ -301,6 +301,9 @@ long flexran_get_extended_bsr_size(mid_t mod_id, mid_t ue_id);
...
@@ -301,6 +301,9 @@ long flexran_get_extended_bsr_size(mid_t mod_id, mid_t ue_id);
/* Get number of UE transmission antennas */
/* Get number of UE transmission antennas */
int
flexran_get_ue_transmission_antenna
(
mid_t
mod_id
,
mid_t
ue_id
);
int
flexran_get_ue_transmission_antenna
(
mid_t
mod_id
,
mid_t
ue_id
);
/* Get the IMSI of UE */
uint64_t
flexran_get_ue_imsi
(
mid_t
mod_id
,
mid_t
ue_id
);
/* Get logical channel group of a channel with id lc_id */
/* Get logical channel group of a channel with id lc_id */
long
flexran_get_lcg
(
mid_t
mod_id
,
mid_t
ue_id
,
mid_t
lc_id
);
long
flexran_get_lcg
(
mid_t
mod_id
,
mid_t
ue_id
,
mid_t
lc_id
);
...
...
openair2/RRC/LITE/defs.h
View file @
d8a67153
...
@@ -394,7 +394,8 @@ typedef struct eNB_RRC_UE_s {
...
@@ -394,7 +394,8 @@ typedef struct eNB_RRC_UE_s {
MeasResults_t
*
measResults
;
MeasResults_t
*
measResults
;
UE_EUTRA_Capability_t
*
UE_Capability
;
UE_EUTRA_Capability_t
*
UE_Capability
;
uint64_t
imsi
;
#if defined(ENABLE_SECURITY)
#if defined(ENABLE_SECURITY)
/* KeNB as derived from KASME received from EPC */
/* KeNB as derived from KASME received from EPC */
uint8_t
kenb
[
32
];
uint8_t
kenb
[
32
];
...
...
openair2/RRC/LITE/rrc_eNB_S1AP.c
View file @
d8a67153
...
@@ -86,8 +86,25 @@ static const uint16_t S1AP_INTEGRITY_EIA2_MASK = 0x4000;
...
@@ -86,8 +86,25 @@ static const uint16_t S1AP_INTEGRITY_EIA2_MASK = 0x4000;
#endif
#endif
#endif
#endif
uint64_t
compute_imsi
(
ImsiMobileIdentity_t
*
id
)
{
uint64_t
imsi
;
imsi
=
id
->
digit15
;
imsi
+=
id
->
digit14
*
10
;
// pow(10, 1)
imsi
+=
id
->
digit13
*
100
;
// pow(10, 2)
imsi
+=
id
->
digit12
*
1000
;
// pow(10, 3)
imsi
+=
id
->
digit11
*
10000
;
// pow(10, 4)
imsi
+=
id
->
digit10
*
100000
;
// pow(10, 5)
imsi
+=
id
->
digit9
*
1000000
;
// pow(10, 6)
imsi
+=
id
->
digit8
*
10000000
;
// pow(10, 7)
imsi
+=
id
->
digit7
*
100000000
;
// pow(10, 8)
imsi
+=
id
->
digit6
*
1000000000
;
// pow(10, 9)
imsi
+=
id
->
digit5
*
10000000000
;
// pow(10, 10)
imsi
+=
id
->
digit4
*
100000000000
;
// pow(10, 11)
imsi
+=
id
->
digit3
*
1000000000000
;
// pow(10, 12)
imsi
+=
id
->
digit2
*
10000000000000
;
// pow(10, 13)
imsi
+=
id
->
digit1
*
100000000000000
;
// pow(10, 14)
return
imsi
;
}
# if defined(ENABLE_ITTI)
# if defined(ENABLE_ITTI)
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
...
...
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