LTE Call Flow
LTE Call Flow
LTE Call Flow
Page 1 of 35
Home : www.sharetechnote.com
In this section, I will go through a typical protocol sequence of LTE packet call. This will be the backbone structure for
all other call processing.
Basic State Machine
Big Picture First
Channel Mapping Table throughout Call Processing
Cell Configuration and Channel Configuration during Call Processing
Now in Very Detailed Picture
Overall Comparision with WCDMA
Interim Comments
Following is the over protocal sequence being exchanged between UE and Network. Actually understanding all the
details of these steps would be the goal of your whole LTE career.
1) <Cell Search and Detection>
2) MIB
3) SIB 1
4) <Check Cell Selection Criteria>
5) SIB 2 and other SIBs
6) RRC : PRACH Preamble
7) RRC : RACH Response
8) RRC : RRC Connection Request
9) RRC : RRC Connection Setup
10) RRC : RRC Connection Setup Complete + NAS : Attach Request + ESM : PDN Connectivity Request
11) RRC : DL Information Transfer + NAS : Authentication Request
12) RRC : UL Information Transfer + NAS : Authentication Response
13) RRC : DL Information Transfer + NAS : Security Mode Command
14) RRC : UL Information Transfer + NAS : Security Mode Complete
15) RRC : Security Mode Command
16) RRC : Security Mode Complete
17) RRC : RRC Connection Reconfiguration + NAS : Attach Accept + NAS : Activate Default EPS Bearer Context Req
18) RRC : RRC Connection Reconfiguration Complete + NAS : Attach Complete + NAS : Activate Default EPS Bearer
Context Accept
19) RRC : RRC Connection Release
20) <Perform Neibourcell Measurement>
21) <Check Cell Reselection Criteria >
22) < MO or MT call > : In MT call, Paging should be sent.
23) RRC : PRACH Preamble
24) RRC : RACH Response
25) RRC : RRC Connection Request
26) RRC : RRC Connection Setup
27) RRC : RRC Connection Setup Complete + NAS : Service Request
28) RRC : Security Mode Command
29) RRC : Security Mode Complete
30) RRC : RRC Connection Reconfiguration + NAS : Activate Dedicated EPS Bearer Context Request
31) RRC : RRC Connection Reconfiguration Complete + NAS : Activate Dedicated EPS Bearer Context Accept
32) RRC : RRC Connection Release
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 2 of 35
Note for Step 23)~32) : Intial Registration and Default EPS Bearer Setup procedure would be common to almost all
LTE network. Of course, there would be a small variations but overall concept would be almost same. But the
procedure after <Idle> (Step 23~32) would be quite different among Network Operators. Following would be two
major variations.
Setup RRC Connection, RRC Connection Reconfiguration without creating any dedicated EPS Bearer.(In this
case, UE uses the existing Default EPS bearer for traffic).
Setup RRC Connection, RRC Connection Reconfiguration with a dedicated EPS Bearer.(In this case, Ue uses the
existing Default EPS bearer or Dedicated EPS Bearer depending on situation).
The example test sequence in this case shows the second case,
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 3 of 35
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 4 of 35
Following is a tabular presentation of DL Channel Map. (LCID and TrCH Number would be different depending on the
network or Network Simulator)
RB
Lo CH
RLC
Lo CH
LCID
MAC Hdr
HARQ
RNTI
PCCH
PDCP
TM
PCCH
N/A
NONE
NONE
NONE
PCH
BCCH 0
TM
BCCH 0
N/A
NONE
NONE
NONE
BCH 0
BCCH 1
TM
BCCH 1
N/A
NONE
Broadcast
SI RNTI
DL SCH 0
RA_RES
TM
RA_RES
N/A
NONE
NONE
RA RNTI
DL SCH 1
TM
DL CCCH
NONE
NORMAL
T-CRNTI
DL SCH 1
NORMAL
NORMAL
CRNTI
DL SCH 1
USED
Tr CH
SRB0
DL CCCH
SRB1
DL DCCH
0
USED
AM
DL DCCH
0
SRB2
DL DCCH
1
USED
AM
DL DCCH
0
NORMAL
NORMAL
CRNTI
DL SCH 1
DRB 0
DL DTCH0
USED
UM/AM
DL DTCH0
NORMAL
NORMAL
CRNTI
DL SCH 1
DRB 1
DL DTCH1
USED
UM/AM
DL DTCH1
NORMAL
NORMAL
CRNTI
DL SCH 1
DRB 2
DL DTCH2
USED
UM/AM
DL DTCH2
NORMAL
NORMAL
CRNTI
DL SCH 1
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 5 of 35
Following is a tabular presentation of DL Channel Map. (LCID and TrCH Number would be different depending on the
network or Network Simulator)
RB
Lo CH
SRB0
RA_PRE
UL CCCH
PDCP
RLC
Lo CH
LCID
MAC Hdr
HARQ
RNTI
Tr CH
RA_PRE
UL CCCH
N/A
0
NONE
NONE
NONE
NORMAL
NONE
T-CRNTI
UL SCH 0
UL SCH 0
USED
TM
TM
SRB1
UL DCCH
0
USED
AM
UL DCCH
0
NORMAL
NORMAL
CRNTI
UL SCH 0
SRB2
UL DCCH
1
USED
AM
UL DCCH
0
NORMAL
NORMAL
CRNTI
UL SCH 0
DRB 0
UL DTCH0
USED
UM/AM
UL DTCH0
NORMAL
NORMAL
CRNTI
UL SCH 0
DRB 1
UL DTCH1
USED
UM/AM
UL DTCH1
NORMAL
NORMAL
CRNTI
UL SCH 0
DRB 2
UL DTCH2
USED
UM/AM
UL DTCH2
NORMAL
NORMAL
CRNTI
UL SCH 0
Lo CH
LoCH No
MIB
Message
BCCH
LCID
-
SIB 1
BCCH
SIB 2
BCCH
SRB0
UL CCCH
SRB0
DL CCCH
RRC : RRC Connection Setup Complete + NAS : Attach Request + ESM : PDN Connectivity Request
SRB1
UL DCCH
SRB1
DL DCCH
SRB1
UL DCCH
SRB1
DL DCCH
SRB1
UL DCCH
SRB1
DL DCCH
SRB1
UL DCCH
SRB1
DL DCCH
SRB1
UL DCCH
RRC : UL InformationTransfer + NAS : Attach Complete + NAS : Activate Default EPS Bearer
SRB2
UL DCCH
SRB2
UL DCCH
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 6 of 35
16) RRC : RRC Connection Reconfiguration Complete + NAS : Attach Complete + NAS : Activate Default EPS Bearer
Context Accept
17) RRC : RRC Connection Release
Config 7) Deactivate all the channels related to DCCH, DTCH
Config 8) Activate channels for PCCH
< MO or MT call > : In MT call, Paging should be sent.
Config 9) Configure PHY, MAC for PRACH Reception and RACH Response Transmission
18) RRC : PRACH Preamble
19) RRC : RACH Response
Config 10) Configure PHY, MAC, RLC for Msg3 (RRC Connection Request) Reception (UL-CCCH)
20) RRC : RRC Connection Request
Config 11) Configure MAC, RLC, PDCH for DL DCCH, UL DCCH
21) RRC : RRC Connection Setup
22) RRC : RRC Connection Setup Complete + NAS : Service Request
23) RRC : Security Mode Command
24) RRC : Security Mode Complete
25) RRC : RRC Connection Reconfiguration + NAS : Activate Dedicated EPS Bearer Context Request
Config 12) Configure MAC, RLC, PDCP for DL/UL DTCH+DCCH
26) RRC : RRC Connection Reconfiguration Complete + NAS : Activate Dedicated EPS Bearer Context Accept
27) RRC : RRC Connection Release
Direction
Message
UE <--- SS MIB
UE <--- SS SIB1
UE ---> SS PRACH
10
11
12
13
Memo
14
UE <--- SS ACK(PHICH)
15
16
17
18
19
20
21
22
23
24
UE <--- SS ACK(PHICH)
25
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 7 of 35
26
27
28
29
30
31
32
33
34
UE <--- SS ACK(PHICH)
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
58
59
UE
60
UE
Decode MIB
61
UE
Decode SIB1
63
UE
64
UE <--- SS Paging
65
66
UE ---> SS PRACH
67
68
69
70
71
72
73
74
UE ---> SS
75
UE <--- SS ACK(PHICH)
76
77
UE <--- SS
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 8 of 35
78
79
80
81
82
UE ---> SS
83
84
85
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 9 of 35
20ms. For the detailed RV assignment for each transmission, refer to 36.321 section 5.3.1 (the last part of the
section)
RRC_LTE:BCCH-DL-SCH-Message
BCCH-DL-SCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [systemInformationBlockType1]
+-systemInformationBlockType1 ::= SEQUENCE [000]
+-cellAccessRelatedInfo ::= SEQUENCE [0]
| +-plmn-IdentityList ::= SEQUENCE OF SIZE(1..6) [1]
| | +-PLMN-IdentityInfo ::= SEQUENCE
| | +-plmn-Identity ::= SEQUENCE [1]
| | | +-mcc ::= SEQUENCE OF SIZE(3) OPTIONAL:Exist
| | | | +-MCC-MNC-Digit ::= INTEGER (0..9) [0]
| | | | +-MCC-MNC-Digit ::= INTEGER (0..9) [0]
| | | | +-MCC-MNC-Digit ::= INTEGER (0..9) [1]
| | | +-mnc ::= SEQUENCE OF SIZE(2..3) [2]
| | | +-MCC-MNC-Digit ::= INTEGER (0..9) [0]
| | | +-MCC-MNC-Digit ::= INTEGER (0..9) [1]
| | +-cellReservedForOperatorUse ::= ENUMERATED [notReserved]
| +-trackingAreaCode ::= BIT STRING SIZE(16) [0000000000000001]
| +-cellIdentity ::= BIT STRING SIZE(28) [0000000000000000000100000000]
| +-cellBarred ::= ENUMERATED [notBarred]
| +-intraFreqReselection ::= ENUMERATED [notAllowed]
| +-csg-Indication ::= BOOLEAN [FALSE]
| +-csg-Identity ::= BIT STRING OPTIONAL:Omit
+-cellSelectionInfo ::= SEQUENCE [0]
| +-q-RxLevMin ::= INTEGER (-70..-22) [-53]
| +-q-RxLevMinOffset ::= INTEGER OPTIONAL:Omit
+-p-Max ::= INTEGER OPTIONAL:Omit
+-freqBandIndicator ::= INTEGER (1..64) [7]
+-schedulingInfoList ::= SEQUENCE OF SIZE(1..maxSI-Message[32]) [2]
| +-SchedulingInfo ::= SEQUENCE
| | +-si-Periodicity ::= ENUMERATED [rf8]
| | +-sib-MappingInfo ::= SEQUENCE OF SIZE(0..maxSIB-1[31]) [0]
| +-SchedulingInfo ::= SEQUENCE
| +-si-Periodicity ::= ENUMERATED [rf8]
| +-sib-MappingInfo ::= SEQUENCE OF SIZE(0..maxSIB-1[31]) [1]
| +-SIB-Type ::= ENUMERATED [sibType3]
+-tdd-Config ::= SEQUENCE OPTIONAL:Omit
+-si-WindowLength ::= ENUMERATED [ms20]
+-systemInfoValueTag ::= INTEGER (0..31) [0]
+-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit
SIB 2
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 10 of 35
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 11 of 35
Interim Comments
From this point on, the L3 message carries both RRC and NAS messages. So you need to have overall understanding
of NAS messages as well as RRC messages.
You need to understand all the details of TS 29.274 to handle to handle data traffic related IEs in NAS message. Of
course it would be impossible to understand all those details within a day.. my approach is to go through following
tables as often as possible until I get some big picture in my mind. You may have to go back and forth between
36.331 and 29.274.
* Table 7.2.2-1: Information Elements in a Create Session Response
* Table 7.2.3-1: Information Elements in a Create Bearer Request
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
*
*
*
*
*
*
*
*
*
*
Table
Table
Table
Table
Table
Table
Table
Table
Table
Table
Page 12 of 35
Note : This example shows the case where Contention Resolution and RRC Connection Setup is being transmitted at a
single step, but it is also possible that Contention Resolution and RRC Connection Setup message is transmitted as
two separate process.
RRC : RRC Connection Setup
As you see in the following diagram, the most important IE (infomration element) in RRC Connection Setup message
is "RadioResourceConfigDedicated" under which you can setup SRB, DRB, MAC and PHY config. Even thouth there is
IEs related to DRB, in most case we setup only SRBs in RRC Connection Setup. It is similar to WCDMA RRC
Connection setup message in which you usually setup only SRB (Control Channel Part) even though there is IEs for
RB(Data Traffic).
One thing you have to notice is that you will find "RadioResourceCondigDedicated" IE not only in RRC Connection
Setup message but also in RRC Connection Reconfiguration message. In that case, you have to be careful so that the
one you set in RRC Connection Reconfig message properly match the one you set in RRC Connection Setup message.
It means that you have to understand the correlation very clearly between RRC Connection Setup message and RRC
Connection Reconfig message. This is also very similar to WCDMA case.
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 13 of 35
One example of RRC Connection Setup is as follows. As you see the contents below, main purpose of RRC Connection
Setup message is to specify the MAC/RLC/PHY setup for SRB 0 and SRB 1 bearer. So if you make any mistake in this
message, Network or UE will fail to decode messages that comes after this message.
Especially you have to be very careful about PhysicalConfigDedicated part. If you see one of the following issues after
'RRC Connection Setup', the first thing you have to check is PhysicalConfigDedicated. (You have to check all the
detailed parameter and make it sure that UE properly decoded those information and properly configure itself
according to the contents).
i) CRC Error for PUSCH
ii) UE log shows it transmit PUSCH, but Network log shows no PUSCH, not even CRC error
DL-CCCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [rrcConnectionSetup]
+-rrcConnectionSetup ::= SEQUENCE
+-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]
+-criticalExtensions ::= CHOICE [c1]
+-c1 ::= CHOICE [rrcConnectionSetup-r8]
+-rrcConnectionSetup-r8 ::= SEQUENCE [0]
+-radioResourceConfigDedicated ::= SEQUENCE [100101]
| +-srb-ToAddModList ::= SEQUENCE OF SIZE(1..2) [1] OPTIONAL:Exist
| | +-SRB-ToAddMod ::= SEQUENCE [11]
| | +-srb-Identity ::= INTEGER (1..2) [1]
| | +-rlc-Config ::= CHOICE [defaultValue] OPTIONAL:Exist
| | | +-defaultValue ::= NULL
| | +-logicalChannelConfig ::= CHOICE [defaultValue] OPTIONAL:Exist
| | +-defaultValue ::= NULL
| +-drb-ToAddModList ::= SEQUENCE OF OPTIONAL:Omit
| +-drb-ToReleaseList ::= SEQUENCE OF OPTIONAL:Omit
| +-mac-MainConfig ::= CHOICE [explicitValue] OPTIONAL:Exist
| | +-explicitValue ::= SEQUENCE [111]
| | +-ul-SCH-Config ::= SEQUENCE [11] OPTIONAL:Exist
| | | +-maxHARQ-Tx ::= ENUMERATED [n5] OPTIONAL:Exist
| | | +-periodicBSR-Timer ::= ENUMERATED [sf20] OPTIONAL:Exist
| | | +-retxBSR-Timer ::= ENUMERATED [sf320]
| | | +-ttiBundling ::= BOOLEAN [FALSE]
| | +-drx-Config ::= CHOICE [release] OPTIONAL:Exist
| | | +-release ::= NULL
| | +-timeAlignmentTimerDedicated ::= ENUMERATED [infinity]
| | +-phr-Config ::= CHOICE [setup] OPTIONAL:Exist
| | +-setup ::= SEQUENCE
| | +-periodicPHR-Timer ::= ENUMERATED [sf500]
| | +-prohibitPHR-Timer ::= ENUMERATED [sf200]
| | +-dl-PathlossChange ::= ENUMERATED [dB3]
| +-sps-Config ::= SEQUENCE OPTIONAL:Omit
| +-physicalConfigDedicated ::= SEQUENCE [1111001011] OPTIONAL:Exist
| +-pdsch-ConfigDedicated ::= SEQUENCE OPTIONAL:Exist
| | +-p-a ::= ENUMERATED [dB-3]
| +-pucch-ConfigDedicated ::= SEQUENCE [0] OPTIONAL:Exist
| | +-ackNackRepetition ::= CHOICE [release]
| | | +-release ::= NULL
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 14 of 35
RRC : RRC Connection Setup Complete + NAS : Attach Request + ESM : PDN Connectivity Request
This step would be one of very important steps during the initial registration process mainly because UE send a lot of
it's capability information (especailly NAS layer capability information) to the core network.
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 15 of 35
As you see this step carries two important NAS message as follows.
NAS : Attach Request : The most important information carried by this message would be UE capability in terms of
ciphering and integrity. If you don't do proper following step (especially at Attach accept step) based on the
information on this, UE will fail to registration. Even bigger problem is that the failure mode of registration varies
depending UE protocol stack implementation. So in many case it is very hard to find the root cause of the problem.
ESM : PDN Connectivity Request : The most information of this message would be the protocol configuration options
(PCO). From this you can figure out what kind of packet service UE support or want to get supported. If you don't
properly handle this information, it will also result in registration failure and the failure mode would vary depending
on UE implementation.
Attach request ::= DIVISION
+-Security header type ::= V
| +-Security header type ::= CHOICE [Plain NAS message, not security protected]
+-EPS mobility management protocol discriminator ::= V
| +-Protocol discriminator ::= PD [7]
+-Attach request message identity ::= V
| +-Message type ::= MSG [41]
+-NAS key set identifier ::= V
| +-TSC ::= CHOICE [native security context (for KSI ASME)]
| +-NAS key set identifier ::= CHOICE [possible values for the NAS key set identifier 1]
+-EPS attach type ::= V
| +-Spare ::= FIX [0]
| +-EPS attach type value ::= CHOICE [EPS attach]
+-Old GUTI or IMSI ::= LV
| +-Octet1 ::= DIVISION
| | +-Length of EPS mobile identity contents ::= LEN (0..255) [11]
| +-Octet2 ::= DIVISION
| | +-Spare ::= FIX [F]
| | +-Odd/even indication ::= CHOICE [even number of identity digits and also when the GUTI is used]
| | +-Type of identity ::= CHOICE [GUTI]
| +-Octet3 ::= DIVISION
| | +-MCC digit 2 ::= INT (0..15) [0]
| | +-MCC digit 1 ::= INT (0..15) [0]
| +-Octet4 ::= DIVISION
| | +-MNC digit 3 ::= INT (0..15) [15]
| | +-MCC digit 3 ::= INT (0..15) [1]
| +-Octet5 ::= DIVISION
| | +-MNC digit 2 ::= INT (0..15) [1]
| | +-MNC digit 1 ::= INT (0..15) [0]
| +-Octet6 ::= DIVISION
| | +-MME Group ID ::= INT (0..255) [0]
| +-Octet7 ::= DIVISION
| | +-MME Group ID(continued) ::= INT (0..255) [1]
| +-Octet8 ::= DIVISION
| | +-MME Code ::= INT (0..255) [1]
| +-Octet9 ::= DIVISION
| | +-M-TMSI ::= INT (0..255) [18]
| +-Octet10 ::= DIVISION
| | +-M-TMSI(continued) ::= INT (0..255) [52]
| +-Octet11 ::= DIVISION
| | +-M-TMSI(continued) ::= INT (0..255) [86]
| +-Octet12 ::= DIVISION
| +-M-TMSI(continued) ::= INT (0..255) [120]
+-UE network capability ::= LV
| +-Octet1 ::= DIVISION
| | +-Length of UE network capability contents ::= LEN (0..255) [2]
| +-Octet2 ::= DIVISION
| | +-EEA0 ::= CHOICE [EPS encryption algorithm EEA0 supported]
| | +-128-EEA1 ::= CHOICE [EPS encryption algorithm 128-EEA1 supported]
| | +-128-EEA2 ::= CHOICE [EPS encryption algorithm 128-EEA2 supported]
| | +-EEA3 ::= CHOICE [EPS encryption algorithm EEA3 not supported]
| | +-EEA4 ::= CHOICE [EPS encryption algorithm EEA4 not supported]
| | +-EEA5 ::= CHOICE [EPS encryption algorithm EEA5 not supported]
| | +-EEA6 ::= CHOICE [EPS encryption algorithm EEA6 not supported]
| | +-EEA7 ::= CHOICE [EPS encryption algorithm EEA7 not supported]
| +-Octet3 ::= DIVISION
| | +-spare ::= FIX [0]
| | +-128-EIA1 ::= CHOICE [EPS integrity algorithm 128-EIA1 supported]
| | +-128-EIA2 ::= CHOICE [EPS integrity algorithm 128-EIA2 supported]
| | +-EIA3 ::= CHOICE [EPS integrity algorithm EIA3 not supported]
| | +-EIA4 ::= CHOICE [EPS integrity algorithm EIA4 not supported]
| | +-EIA5 ::= CHOICE [EPS integrity algorithm EIA5 not supported]
| | +-EIA6 ::= CHOICE [EPS integrity algorithm EIA6 not supported]
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 16 of 35
If you decode the ESM message container contents part, you will get the following contents.
NAS_LTE:ESM,PDN connectivity request
PDN connectivity request ::= DIVISION
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 17 of 35
IF the UE sets the ESM information transfer flag in the last PDN CONNECTIVITY REQUEST message THEN the SS
transmits an ESM INFORMATION REQUEST message to initiate exchange of protocol configuration options
and/or APN
PDN Type : specifies IP version that the UE wants to use for EPS Bearer and Network may or may not use the same IP
version in Default (or Dedicated) EPS Bearer Context Request. Some UE would accept whatever IP version is specified
by the network at EPS Bearer establishment step, but some UE fail to setup EPS bearer if the IP version Network
specify in Default (or Dedicated) EPS Bearer Context Request does not match the PDN type in this message.
Access Point Name : UE shows many different behavior related to this APN name. Followings are some of the behavior
that I observed from a couple of difference devices.
i) UE does not specify any APN here and accept whatever Network specifies in Activate Default EPS Bearer Context
Request.
ii) UE specify a specific APN here, but it accept whatever Network specifies in Activate Default EPS Bearer Context
Request.
iii) UE specify a specific APN here, but it reject the APN that Network specifies in Activate Default EPS Bearer Context
Request if it is different from what UE specified here.
Protocol Configuration Options : You can get the detailed information from this protocol config options contents from
TS24_008 10.5.6.3 Protocol configuration options which can be summarized as follows.
This is a pretty complicated topic. So I will describe this on a separate post here.
"Authentication" process is a process similar to 'log in' process when you use a computer. In C2K and GSM, this
authentication process is 'uni-directional', meaning that only Network authenticate UE and UE does not authenticate
the network. As you may easily guess, this would cause a serious security problem. If I make a fake network which
accept any UE, I can cheat a UE to camp on the fake network rather than the one the UE is supposed to camp on to.
(But this kind of 'uni directional' authentication would make it so easy to test a UE using network simulator -:)
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 18 of 35
To improve this security issues, in LTE (in WCDMA as well) they do 'bi-directional' authentication, meaning that UE
has to pass the authentication process and Newtork also has to pass the process as well.
The overall authentication process is as follows.
Normally use use diffent Authentication Algorithm for testing and for live network. The most commonly used
algorithm for testing is what we often call "Dummy XOR" algorithm which is defined in 36.508 section 4.9 Common
test USIM parameters for LTE and 34.408 section 8 Test USIM Parameters for WCDMA.
The most common used algorithm in live network (as far as I know) is Milenage algorithm.
One example of Authentication Request and Authentication Response is as follows. You would notice
that RAND, AUTN are carried by Authentication Request message and RES value is carried by
Authentication Response.
NAS_LTE:EMM,Authentication request
Authentication request ::= DIVISION
+-Security header type ::= V
| +-Security header type ::= CHOICE [Plain NAS message, not security protected]
+-EPS mobility management protocol discriminator ::= V
| +-Protocol discriminator ::= PD [7]
+-Authentication request message type ::= V
| +-Message type ::= MSG [52]
+-Spare half octet ::= V
| +-Spare half octet ::= FIX [0]
+-NAS key set identifier ASME ::= V
| +-TSC ::= CHOICE [native security context (for KSI ASME)]
| +-NAS key set identifier ::= CHOICE [possible values for the NAS key set identifier 0]
+-Authentication parameter RAND ::= V
| +-Octet1-Octet16 ::= DIVISION
| +-RAND value ::= OCTETARRAY SIZE(16..16) [A3DE0C6D363E30C364A4078F1BF8D577]
+-Authentication parameter AUTN ::= LV
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 19 of 35
NAS_LTE:EMM,Authentication response
Authentication response ::= DIVISION
+-Security header type ::= V
| +-Security header type ::= CHOICE [Plain NAS message, not security protected]
+-EPS mobility management protocol discriminator ::= V
| +-Protocol discriminator ::= PD [7]
+-Authentication response message identity ::= V
| +-Message type ::= MSG [53]
+-Authentication response parameter ::= LV
+-Octet1 ::= DIVISION
| +-Length of Authentication response parameter contents ::= LEN (0..255) [8]
+-Octet2-17 ::= DIVISION
+-RES ::= OCTETARRAY SIZE(0..16) [A3CF2E5E726B56B4]
In LTE, they are using separate Security Mode process for NAS and RRC, whereas in WCDMA only one security mode
process (RRC only) was used (NAS is indirectly protected since NAS message was embedded in RRC and protected as
a part of RRC message). The part marked in blue is for item i) and ii) listed above and the part marked in red is for
item iii) and iv).
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 20 of 35
Security Mode Complete is the answer to "Security Mode Command" message, so it is simple. If UE is also capable of
the Integrity, Security algorithm that NW want to use, it send 'Security Mode Complete', if UE is not capable of them,
it send 'Security Mode Failure'.
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 21 of 35
RRC_LTE:DL-DCCH-Message
DL-DCCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [securityModeCommand]
+-securityModeCommand ::= SEQUENCE
+-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]
+-criticalExtensions ::= CHOICE [c1]
+-c1 ::= CHOICE [securityModeCommand-r8]
+-securityModeCommand-r8 ::= SEQUENCE [0]
+-securityConfigSMC ::= SEQUENCE
| +-securityAlgorithmConfig ::= SEQUENCE
| +-cipheringAlgorithm ::= ENUMERATED [eea1]
| +-integrityProtAlgorithm ::= ENUMERATED [eia1]
+-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit
RRC : RRC Connection Reconfiguration + NAS : Attach Accept + NAS : Activate Default EPS Bearer Context
Request
An important procedure done in this step is "ESM : Activate Default EPS Bearer Context Request".
One thing you notice here is that in LTE Packet call is initiated by Network where as in UMST most of the packet call is
initiated by UE. Network specifies an IP for the UE here.
If you have any experience with WCDMA protocol, you may take this message to be similar to 'Radio Bearer Setup' +
'Attach Accept' + Activate PDP Context Accept.
At this step, UE gets an IP from the network and this IP does not get returned to Network even after 'RRC connection
Release' and UE gets into IDLE mode.
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 22 of 35
An example of RRC Connection Reconfiguration is as follows. Don't try to look into all the details
since this message is one of the most complicated message in LTE. Just try to understand overall
structure and compare the tree map shown above and the real messages shown below.
Probably it will take several month to understand all the details of these elements, so don't be so
hurry.
Whenever you study a little bit further details of the topicsin the tree diagram shown above, open
up this section and see the details under the topics you studied. If you fully understand all the
information elements shown below, you can say you mastered the LTE. Again don't try to understand
all of these at once. It will just raise your blood pressure. Just look through these items as
often as possible and get familiar with the overall structure first.
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 23 of 35
AS_LTE:EMM,Attach accept
Attach accept ::= DIVISION
+-Security header type ::= V
| +-Security header type ::= CHOICE [Plain NAS message, not security protected]
+-EPS mobility management protocol discriminator ::= V
| +-Protocol discriminator ::= PD [7]
+-Attach accept message identity ::= V
| +-Message type ::= MSG [42]
+-Spare half octet ::= V
| +-Spare half octet ::= FIX [0]
+-EPS attach result ::= V
| +-Spare ::= FIX [0]
| +-EPS attach result value ::= CHOICE [EPS only]
+-T3412 value ::= V
| +-Octet1 ::= DIVISION
| +-Unit ::= CHOICE [value indicates that the timer is deactivated]
| +-Timer value ::= INT (0..31) [0]
+-TAI list ::= LV
| +-Octet1 ::= DIVISION
| | +-Length of tracking area identity list contents ::= LEN (0..255) [6]
| +-Octet2-97 ::= DIVISION
| +-tracking area identity list contents ::= OCTETARRAY SIZE(0..96) [0000F1100001]
+-ESM message container ::= LV-E
| +-Octet1-Octet2 ::= DIVISION
| | +-Length of ESM message container ::= LEN (0..65535) [44]
| +-Octet3- ::= DIVISION
| +-ESM message container contents ::= OCTETARRAY SIZE(0..65535)
[5201C10109100377777707616E726974737503636F6D
05010A012037270E8080210A0300000A81060A000001]
+-GUTI ::= TLV OPTIONAL:Exist
| +-Octet1 ::= DIVISION
| | +-EPS mobile identity IEI ::= IEI [50]
| +-Octet2 ::= DIVISION
| | +-Length of EPS mobile identity contents ::= LEN (0..255) [11]
| +-Octet3 ::= DIVISION
| | +-Spare ::= FIX [F]
| | +-Odd/even indication ::= CHOICE [even number of identity digits and also when the GUTI is
used]
| | +-Type of identity ::= CHOICE [GUTI]
| +-Octet4 ::= DIVISION
| | +-MCC digit 2 ::= INT (0..15) [0]
| | +-MCC digit 1 ::= INT (0..15) [0]
| +-Octet5 ::= DIVISION
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 24 of 35
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 25 of 35
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 26 of 35
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 27 of 35
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 28 of 35
RRC_LTE:UL-DCCH-Message
UL-DCCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [rrcConnectionReconfigurationComplete]
+-rrcConnectionReconfigurationComplete ::= SEQUENCE
+-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]
+-criticalExtensions ::= CHOICE [rrcConnectionReconfigurationComplete-r8]
+-rrcConnectionReconfigurationComplete-r8 ::= SEQUENCE [0]
+-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit
NAS part has pretty complicated structure since it is Piggybacked multiple times.
RRC_LTE:UL-DCCH-Message
UL-DCCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [ulInformationTransfer]
+-ulInformationTransfer ::= SEQUENCE
+-criticalExtensions ::= CHOICE [c1]
+-c1 ::= CHOICE [ulInformationTransfer-r8]
+-ulInformationTransfer-r8 ::= SEQUENCE [0]
+-dedicatedInfoType ::= CHOICE [dedicatedInfoNAS]
| +-dedicatedInfoNAS ::= OCTET STRING SIZE(ALIGNED) [074300035200C2]
+-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 29 of 35
If you decode dedicatedInfoNAS ::= OCTET STRING SIZE(ALIGNED) [074300035200C2], you will get the following
message(Attach Complete).
NAS_LTE:EMM,Attach complete
Attach complete ::= DIVISION
+-Security header type ::= V
| +-Security header type ::= CHOICE [Plain NAS message, not security protected]
+-EPS mobility management protocol discriminator ::= V
| +-Protocol discriminator ::= PD [7]
+-Attach complete message identity ::= V
| +-Message type ::= MSG [43]
+-ESM message container ::= LV-E
+-Octet1-Octet2 ::= DIVISION
| +-Length of ESM message container ::= LEN (0..65535) [3]
+-Octet3- ::= DIVISION
+-ESM message container contents ::= OCTETARRAY SIZE(0..65535) [5200C2]
If you decode ESM message container contents ::= OCTETARRAY SIZE(0..65535) [5200C2] part, you will get the
following message (Activate default EPS bearer context accept).
NAS_LTE:ESM,Activate default EPS bearer context accept
Activate default EPS bearer context accept ::= DIVISION
+-EPS bearer identity ::= V
| +-EPS bearer identity value ::= CHOICE [EPS bearer identity value 5]
+-EPS session management protocol discriminator ::= V
| +-Protocol discriminator ::= PD [2]
+-Procedure transaction identity ::= V
| +-Procedure transaction identity ::= CHOICE [No procedure transaction identity assigned]
+-Activate default EPS bearer context accept message identity ::= V
| +-Message type ::= MSG [C2]
+-Protocol configuration options ::= TLV OPTIONAL:Omit
+-Octet1 ::= DIVISION
| +-Protocol configuration options IEI ::= IEI [27]
+-Octet2 ::= DIVISION
| +-Length of protocol config options contents ::= LEN (0..255) [0]
+-Octet3 ::= DIVISION
| +-ext ::= EXT1 [1]
| +-spare ::= FIX [0]
| +-Configuration protocol ::= CHOICE [PPP for use with IP PDP type]
+-Octet4-Octet253 ::= DIVISION
+-protocol config options contents ::= OCTETARRAY SIZE(0..250)
RRC_LTE:UL-CCCH-Message
UL-CCCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [rrcConnectionRequest]
+-rrcConnectionRequest ::= SEQUENCE
+-criticalExtensions ::= CHOICE [rrcConnectionRequest-r8]
+-rrcConnectionRequest-r8 ::= SEQUENCE
+-ue-Identity ::= CHOICE [s-TMSI]
| +-s-TMSI ::= SEQUENCE
| +-mmec ::= BIT STRING SIZE(8) [00000001]
| +-m-TMSI ::= BIT STRING SIZE(32) [00000000000000000000000000000001]
+-establishmentCause ::= ENUMERATED [mt-Access]
+-spare ::= BIT STRING SIZE(1) [0]
RRC_LTE:UL-DCCH-Message
UL-DCCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [rrcConnectionSetupComplete]
+-rrcConnectionSetupComplete ::= SEQUENCE
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 30 of 35
If you decode dedicatedInfoNAS ::= OCTET STRING SIZE(ALIGNED) [C7E00000] part, you will get the following
message (Service Request).
NAS_LTE:EMM,Service request
Service request ::= DIVISION
+-Security header type ::= V
| +-Security header type ::= CHOICE [Security header for the SERVICE REQUEST message]
+-EPS mobility management protocol discriminator ::= V
| +-Protocol discriminator ::= PD [7]
+-KSI and sequence number ::= V
| +-Octet1 ::= DIVISION
| +-KSI ::= CHOICE [no key is available]
| +-Sequence number(short) ::= INT (0..31) [0]
+-Message authentication code (short) ::= V
+-Octet1 ::= DIVISION
| +-Short MAC value ::= INT (0..255) [0]
+-Octet2 ::= DIVISION
+-Short MAC value(continued) ::= INT (0..255) [0]
RRC : RRC Connection Reconfiguration + NAS : Activate Dedicated EPS Bearer Context Request
This is another 'RRC Connection Reconfiguration' message. But you would see some difference between this message
and the message at step 15.
You don't see any 'Attach Accept' part because you already went through 'attach' process during the registration. And
now you created only 'Dedicated EPS Bearer'. Does this mean that you cannot use the 'Default EPS Bearer' you
created at step 15) ? No.. the default Bearer is still alive once it is created during the registration. That's why you
don't have to recreate the default EPS bearer at this step.
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 31 of 35
One think you would notice would be that 'Activate Dedicated EPS Bearer Context Request' does not have IP address
setting. This is because Dedicated EPS is using the same IP configuration specified by Default EPS Bearer. The
purpose of Default EPS bearer is to create a data pipe with a different QoS from Default EPS QoS. It means Dedicated
EPS Bearer is linked to a specific Default EPS bearer.
Then, how do we know which default EPS bearer is linked to which Dedicated EPS Bearer ?
This link is specified by 'Linked EPS Bearer Identity'. For example, if 'Linked EPS Bearer Identity' is set to be 5. It
means this 'Dedicated EPS Bearer' is linked to the Default EPS Bearer with Bearer ID = 5 and use the same IP
configuration as defined in the default EPS bearer.
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 32 of 35
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 33 of 35
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 34 of 35
RRC : RRC Connection Reconfiguration Complete + NAS : Activate Dedicated EPS Bearer Context Accept
RRC_LTE:UL-DCCH-Message
UL-DCCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [rrcConnectionReconfigurationComplete]
+-rrcConnectionReconfigurationComplete ::= SEQUENCE
+-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]
+-criticalExtensions ::= CHOICE [rrcConnectionReconfigurationComplete-r8]
+-rrcConnectionReconfigurationComplete-r8 ::= SEQUENCE [0]
+-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit
ESM,Activate dedicated EPS bearer context accept part is carried by UL information transfer message
as follows.
RRC_LTE:UL-DCCH-Message
UL-DCCH-Message ::= SEQUENCE
+-message ::= CHOICE [c1]
+-c1 ::= CHOICE [ulInformationTransfer]
+-ulInformationTransfer ::= SEQUENCE
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014
ShareTechnote
Page 35 of 35
If you decode dedicatedInfoNAS ::= OCTET STRING SIZE(ALIGNED) [6200C6] part, you will get the following
message(ESM,Activate dedicated EPS bearer context accept)
http://www.sharetechnote.com/html/BasicCallFlow_LTE.html
23-03-2014