Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
U
UERANSIM
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
Libraries
UERANSIM
Commits
614ac12e
Commit
614ac12e
authored
May 23, 2021
by
aligungr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
L3 RRC/NAS developments
parent
1221531b
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
14 additions
and
132 deletions
+14
-132
src/lib/app/cli_cmd.cpp
src/lib/app/cli_cmd.cpp
+0
-1
src/ue/nas/mm/radio.cpp
src/ue/nas/mm/radio.cpp
+4
-3
src/ue/nas/mm/timer.cpp
src/ue/nas/mm/timer.cpp
+3
-3
src/ue/types.cpp
src/ue/types.cpp
+0
-78
src/ue/types.hpp
src/ue/types.hpp
+7
-5
src/utils/common_types.cpp
src/utils/common_types.cpp
+0
-40
src/utils/common_types.hpp
src/utils/common_types.hpp
+0
-2
No files found.
src/lib/app/cli_cmd.cpp
View file @
614ac12e
...
...
@@ -235,7 +235,6 @@ static std::unique_ptr<UeCliCommand> UeCliParseImpl(const std::string &subCmd, c
else
if
(
subCmd
==
"deregister"
)
{
auto
cmd
=
std
::
make_unique
<
UeCliCommand
>
(
UeCliCommand
::
DE_REGISTER
);
cmd
->
deregCause
=
EDeregCause
::
UNSPECIFIED
;
if
(
options
.
positionalCount
()
==
0
)
CMD_ERR
(
"De-registration type is expected"
)
if
(
options
.
positionalCount
()
>
1
)
...
...
src/ue/nas/mm/radio.cpp
View file @
614ac12e
...
...
@@ -144,9 +144,10 @@ void NasMm::handleActiveCellChange(const Tai &prevTai)
// of the serving cell has changed, if timer T3346 is not running, the PLMN identity of the new cell is not in
// one of the forbidden PLMN lists and the tracking area is not in one of the lists of 5GS forbidden tracking
// area"
if
(
!
m_timers
->
t3346
.
isRunning
()
&&
currentCell
.
category
==
ECellCategory
::
SUITABLE_CELL
)
if
(
m_mmSubState
==
EMmSubState
::
MM_REGISTERED_ATTEMPTING_REGISTRATION_UPDATE
&&
!
m_timers
->
t3346
.
isRunning
()
&&
currentCell
.
category
==
ECellCategory
::
SUITABLE_CELL
)
{
mobilityUpdatingRequired
(
ERegUpdateCause
::
UNSPECIFIE
D
);
mobilityUpdatingRequired
(
ERegUpdateCause
::
TAI_CHANGE_IN_ATT_UP
D
);
}
}
...
...
@@ -160,7 +161,7 @@ void NasMm::handleActiveCellChange(const Tai &prevTai)
!
m_storage
->
equivalentPlmnList
->
contains
(
currentTai
.
plmn
)
&&
currentCell
.
category
==
ECellCategory
::
SUITABLE_CELL
)
{
mobilityUpdatingRequired
(
ERegUpdateCause
::
UNSPECIFIE
D
);
mobilityUpdatingRequired
(
ERegUpdateCause
::
PLMN_CHANGE_IN_ATT_UP
D
);
}
}
...
...
src/ue/nas/mm/timer.cpp
View file @
614ac12e
...
...
@@ -33,7 +33,7 @@ void NasMm::onTimerExpire(UeTimer &timer)
else
if
(
m_mmSubState
==
EMmSubState
::
MM_REGISTERED_ATTEMPTING_REGISTRATION_UPDATE
)
{
logExpired
();
mobilityUpdatingRequired
(
ERegUpdateCause
::
UNSPECIFIE
D
);
mobilityUpdatingRequired
(
ERegUpdateCause
::
T3346_EXPIRY_IN_ATT_UP
D
);
}
break
;
}
...
...
@@ -45,7 +45,7 @@ void NasMm::onTimerExpire(UeTimer &timer)
resetRegAttemptCounter
();
if
(
m_mmSubState
==
EMmSubState
::
MM_REGISTERED_ATTEMPTING_REGISTRATION_UPDATE
)
mobilityUpdatingRequired
(
ERegUpdateCause
::
UNSPECIFIE
D
);
mobilityUpdatingRequired
(
ERegUpdateCause
::
T3502_EXPIRY_IN_ATT_UP
D
);
}
break
;
}
...
...
@@ -85,7 +85,7 @@ void NasMm::onTimerExpire(UeTimer &timer)
if
(
m_mmSubState
==
EMmSubState
::
MM_REGISTERED_ATTEMPTING_REGISTRATION_UPDATE
)
{
logExpired
();
mobilityUpdatingRequired
(
ERegUpdateCause
::
UNSPECIFIE
D
);
mobilityUpdatingRequired
(
ERegUpdateCause
::
T3511_EXPIRY_IN_ATT_UP
D
);
}
break
;
}
...
...
src/ue/types.cpp
View file @
614ac12e
...
...
@@ -182,55 +182,6 @@ Json ToJson(const E5UState &state)
}
}
Json
ToJson
(
const
ERegUpdateCause
&
v
)
{
switch
(
v
)
{
case
ERegUpdateCause
:
:
UNSPECIFIED
:
return
"UNSPECIFIED"
;
case
ERegUpdateCause
:
:
ENTER_UNLISTED_TRACKING_AREA
:
return
"ENTER_UNLISTED_TRACKING_AREA"
;
case
ERegUpdateCause
:
:
T3512_EXPIRY
:
return
"T3512_EXPIRY"
;
case
ERegUpdateCause
:
:
CONFIGURATION_UPDATE
:
return
"CONFIGURATION_UPDATE"
;
case
ERegUpdateCause
:
:
PAGING_OR_NOTIFICATION
:
return
"PAGING_OR_NOTIFICATION"
;
case
ERegUpdateCause
:
:
INTER_SYSTEM_CHANGE_S1_TO_N1
:
return
"INTER_SYSTEM_CHANGE_S1_TO_N1"
;
case
ERegUpdateCause
:
:
CONNECTION_RECOVERY
:
return
"CONNECTION_RECOVERY"
;
case
ERegUpdateCause
:
:
FALLBACK_INDICATION
:
return
"FALLBACK_INDICATION"
;
case
ERegUpdateCause
:
:
MM_OR_S1_CAPABILITY_CHANGE
:
return
"MM_OR_S1_CAPABILITY_CHANGE"
;
case
ERegUpdateCause
:
:
USAGE_SETTING_CHANGE
:
return
"USAGE_SETTING_CHANGE"
;
case
ERegUpdateCause
:
:
SLICE_CHANGE
:
return
"SLICE_CHANGE"
;
case
ERegUpdateCause
:
:
DRX_CHANGE
:
return
"DRX_CHANGE"
;
case
ERegUpdateCause
:
:
EMERGENCY_CASE
:
return
"EMERGENCY_CASE"
;
case
ERegUpdateCause
:
:
SMS_OVER_NAS_CHANGE
:
return
"SMS_OVER_NAS_CHANGE"
;
case
ERegUpdateCause
:
:
PS_STATUS_INFORM
:
return
"PS_STATUS_INFORM"
;
case
ERegUpdateCause
:
:
RADIO_CAP_CHANGE
:
return
"RADIO_CAP_CHANGE"
;
case
ERegUpdateCause
:
:
NEW_LADN_NEEDED
:
return
"NEW_LADN_NEEDED"
;
case
ERegUpdateCause
:
:
MICO_MODE_CHANGE
:
return
"MICO_MODE_CHANGE"
;
case
ERegUpdateCause
:
:
ENTER_EQUIVALENT_PLMN_CELL
:
return
"ENTER_EQUIVALENT_PLMN_CELL"
;
case
ERegUpdateCause
:
:
RESTRICTED_SERVICE_AREA
:
return
"RESTRICTED_SERVICE_AREA"
;
default:
return
"?"
;
}
}
Json
ToJson
(
const
EPsState
&
state
)
{
switch
(
state
)
...
...
@@ -260,35 +211,6 @@ Json ToJson(const UePduSessionInfo &v)
});
}
Json
ToJson
(
const
EServiceReqCause
&
v
)
{
switch
(
v
)
{
case
EServiceReqCause
:
:
UNSPECIFIED
:
return
"UNSPECIFIED"
;
case
EServiceReqCause
:
:
IDLE_PAGING
:
return
"IDLE_PAGING"
;
case
EServiceReqCause
:
:
CONNECTED_3GPP_NOTIFICATION_N3GPP
:
return
"CONNECTED_3GPP_NOTIFICATION_N3GPP"
;
case
EServiceReqCause
:
:
IDLE_UPLINK_SIGNAL_PENDING
:
return
"IDLE_UPLINK_SIGNAL_PENDING"
;
case
EServiceReqCause
:
:
IDLE_UPLINK_DATA_PENDING
:
return
"IDLE_UPLINK_DATA_PENDING"
;
case
EServiceReqCause
:
:
CONNECTED_UPLINK_DATA_PENDING
:
return
"CONNECTED_UPLINK_DATA_PENDING"
;
case
EServiceReqCause
:
:
NON_3GPP_AS_ESTABLISHED
:
return
"NON_3GPP_AS_ESTABLISHED"
;
case
EServiceReqCause
:
:
IDLE_3GPP_NOTIFICATION_N3GPP
:
return
"IDLE_3GPP_NOTIFICATION_N3GPP"
;
case
EServiceReqCause
:
:
EMERGENCY_FALLBACK
:
return
"EMERGENCY_FALLBACK"
;
case
EServiceReqCause
:
:
FALLBACK_INDICATION
:
return
"FALLBACK_INDICATION"
;
default:
return
"?"
;
}
}
bool
ActiveCellInfo
::
hasValue
()
const
{
return
cellId
!=
0
;
...
...
src/ue/types.hpp
View file @
614ac12e
...
...
@@ -465,8 +465,6 @@ struct UePduSessionInfo
enum
class
ERegUpdateCause
{
// unspecified cause
UNSPECIFIED
,
// when the UE detects entering a tracking area that is not in the list of tracking areas that the UE previously
// registered in the AMF
ENTER_UNLISTED_TRACKING_AREA
,
...
...
@@ -515,13 +513,17 @@ enum class ERegUpdateCause
// belonging to an equivalent PLMN of the registered PLMN and not belonging to the registered PLMN;
ENTER_EQUIVALENT_PLMN_CELL
,
// when the UE receives a SERVICE REJECT message with the 5GMM cause value set to #28 "Restricted service area".
RESTRICTED_SERVICE_AREA
RESTRICTED_SERVICE_AREA
,
// ------ following are not specified by 24.501 ------
TAI_CHANGE_IN_ATT_UPD
,
PLMN_CHANGE_IN_ATT_UPD
,
T3346_EXPIRY_IN_ATT_UPD
,
T3502_EXPIRY_IN_ATT_UPD
,
T3511_EXPIRY_IN_ATT_UPD
,
};
enum
class
EServiceReqCause
{
// unspecified cause
UNSPECIFIED
,
// a) the UE, in 5GMM-IDLE mode over 3GPP access, receives a paging request from the network
IDLE_PAGING
,
// b) the UE, in 5GMM-CONNECTED mode over 3GPP access, receives a notification from the network with access type
...
...
src/utils/common_types.cpp
View file @
614ac12e
...
...
@@ -57,25 +57,6 @@ Json ToJson(const PlmnSupport &v)
return
Json
::
Obj
({{
"plmn"
,
ToJson
(
v
.
plmn
)},
{
"nssai"
,
ToJson
(
v
.
sliceSupportList
)}});
}
Json
ToJson
(
const
EDeregCause
&
v
)
{
switch
(
v
)
{
case
EDeregCause
:
:
UNSPECIFIED
:
return
"NORMAL"
;
case
EDeregCause
:
:
SWITCH_OFF
:
return
"SWITCH-OFF"
;
case
EDeregCause
:
:
USIM_REMOVAL
:
return
"USIM-REMOVAL"
;
case
EDeregCause
:
:
DISABLE_5G
:
return
"DISABLE-5G"
;
case
EDeregCause
:
:
ECALL_INACTIVITY
:
return
"ECALL-INACTIVITY"
;
default:
return
"?"
;
}
}
Json
ToJson
(
const
ECellCategory
&
v
)
{
switch
(
v
)
...
...
@@ -93,27 +74,6 @@ Json ToJson(const ECellCategory &v)
}
}
Json
ToJson
(
const
EInitialRegCause
&
v
)
{
switch
(
v
)
{
case
EInitialRegCause
:
:
UNSPECIFIED
:
return
"UNSPECIFIED"
;
case
EInitialRegCause
:
:
EMERGENCY_SERVICES
:
return
"EMERGENCY_SERVICES"
;
case
EInitialRegCause
:
:
MM_DEREG_NORMAL_SERVICE
:
return
"MM_DEREG_NORMAL_SERVICE"
;
case
EInitialRegCause
:
:
T3346_EXPIRY
:
return
"T3346_EXPIRY"
;
case
EInitialRegCause
:
:
DUE_TO_DEREGISTRATION
:
return
"DUE_TO_DEREGISTRATION"
;
case
EInitialRegCause
:
:
DUE_TO_SERVICE_REJECT
:
return
"DUE_TO_SERVICE_REJECT"
;
default:
return
"?"
;
}
}
bool
operator
==
(
const
SingleSlice
&
lhs
,
const
SingleSlice
&
rhs
)
{
if
((
int
)
lhs
.
sst
!=
(
int
)
rhs
.
sst
)
...
...
src/utils/common_types.hpp
View file @
614ac12e
...
...
@@ -127,7 +127,6 @@ struct Supi
enum
class
EDeregCause
{
UNSPECIFIED
,
SWITCH_OFF
,
USIM_REMOVAL
,
DISABLE_5G
,
...
...
@@ -136,7 +135,6 @@ enum class EDeregCause
enum
class
EInitialRegCause
{
UNSPECIFIED
,
EMERGENCY_SERVICES
,
MM_DEREG_NORMAL_SERVICE
,
T3346_EXPIRY
,
...
...
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