Now the next step is to describe each of the steps in as much detail as possible. The more in detail you can describe, the easier the development, testing, troubleshooting will be. There are many steps I couldn't describe here because the most of steps not described here would be related to company confidentials (Of course, you can say "Every details are in 3GPP specification".Yes, that's true, but 3GPP says only about "What to do", it doesn't say much about "How to
do". In real implementation, this "How to do" part is as important as "What to do") You can take this as a minimum of possible-detailed description. Going through this table, think about how much additional comments you think you can put in 'Memo' column. (If you want to see what's really happening in real network, see the live air example in Full Stack page and Call
Processing in Detail with Amarisoft page)
NOTE : Following sequence is based on the sequence that would be seen in eNB. Of course, you should see the same sequence on UE side except that UE should have its counter part sequence to < NW >. Some people may think I am writing this table just to confuse people :), but this table is what I have been most often for protocol troubleshooting.
Step
|
Direction
|
Message
|
Memo
|
1
|
UE <--- SS
|
MIB
|
|
2
|
UE <--- SS
|
SIB1
|
|
3
|
UE <--- SS
|
SIB2,3 and others
|
|
4
|
UE ---> SS
|
PRACH (RACH Preamble)-Msg1
|
|
5
|
< NW >
|
PHY_PRACH_IND
|
|
6
|
< NW >
|
MAC_DATA_IND
|
|
7
|
UE <--- SS
|
RACH Response - Msg2
|
|
8
|
< NW >
|
MAC_DATA_REQ
|
|
9
|
< NW >
|
PHY_PRACH_REQ
|
|
10
|
UE <--- SS
|
DCI 1A
|
To decode RAR in UE
|
11
|
< NW >
|
PHY_PRACH_IND
|
|
12
|
< NW >
|
MAC_DATA_IND
|
|
13
|
< NW >
|
RLC_DATA_IND
|
|
14
|
UE ---> SS
|
RRC Connection Request - Msg3
|
|
15
|
< UE >
|
UE MAC start mac-ContentionResolutionTimer
|
3GPP 36.321 5.1.5
CR Timer value is set in SIB2
|
16
|
UE <--- SS
|
ACK (PHICH)
|
To confirm Msg3 Reception
|
17
|
UE <--- SS
|
DCI 1A or DCI1
|
To decode CR in UE
|
18
|
UE <--- SS
|
Contention Resolution - Msg4
|
SS must send CR before CRtimer get expired
|
19
|
UE ---> SS
|
HARQ ACK
|
To Confirm CR Reception at PHY
|
20
|
< UE >
|
UE MAC stop mac-ContentionResolutionTimer
|
|
21
|
< NW >
|
MAC_DATA_REQ
|
|
22
|
< NW >
|
PHY_PRACH_REQ
|
|
23
|
UE <--- SS
|
DCI 1A
|
To decode RRC Conn Setup in UE
|
24
|
UE <--- SS
|
RRC Connection Setup
|
In some case, this message gets piggybacked to step 18.
|
25
|
< NW >
|
RLC_DATA_REQ
|
RLC Carrying step 24
|
26
|
< NW >
|
MAC_DATA_REQ
|
MAC Carrying step 24
|
27
|
UE <--- SS
|
DCI 1A
|
To decode RRC Conn Setup
|
28
|
< NW >
|
PHY_DATA_REQ
|
PHY Carrying step 24
|
29
|
UE ---> SS
|
HARQ ACK
|
Response to step 28
|
30
|
UE ---> SS
|
Scheduling Request
|
To send RLC ACK from UE
|
31
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RLC ACK from UE
|
32
|
< NW >
|
PHY_DATA_REQ
|
|
33
|
< NW >
|
MAC_DATA_REQ
|
|
34
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
35
|
UE ---> SS
|
RLC ACK
|
|
36
|
UE ---> SS
|
Scheduling Request
|
To send RRC Conn Setup Complete from UE
|
37
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RRC Conn Setup Complete from UE
|
38
|
< NW >
|
PHY_DATA_IND
|
|
39
|
< NW >
|
MAC_DATA_IND
|
|
40
|
< NW >
|
RLC_DATA_IND
|
|
41
|
< NW >
|
PDCP_DATA_IND
|
|
42
|
UE ---> SS
|
RRC Connection Setup Complete
+ Attach Requeset
+ (PDN Conn Request)
|
|
43
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
44
|
UE <--- SS
|
RLC ACK
|
|
45
|
< NW >
|
MAC_DATA_REQ
|
|
46
|
< NW >
|
PHY_DATA_REQ
|
|
47
|
UE <--- SS
|
DCI 1A
|
To decode RLC ACK in UE
|
48
|
UE <--- SS
|
Authentication Request
|
|
49
|
< NW >
|
PDCP_DATA_REQ
|
|
50
|
< NW >
|
RLC_DATA_REQ
|
|
51
|
< NW >
|
MAC_DATA_REQ
|
|
52
|
< NW >
|
PHY_DATA_REQ
|
|
53
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To decode Authentication Request in UE
|
54
|
UE ---> SS
|
HARQ ACK
|
|
55
|
UE ---> SS
|
Scheduling Request
|
To send RLC ACK from UE
|
56
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RLC ACK from UE
|
57
|
UE ---> SS
|
RLC ACK
|
|
58
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
59
|
< NW >
|
PHY_DATA_REQ
|
|
60
|
< NW >
|
MAC_DATA_REQ
|
|
61
|
UE ---> SS
|
Scheduling Request
|
|
62
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
|
63
|
< NW >
|
PHY_DATA_IND
|
|
64
|
< NW >
|
MAC_DATA_IND
|
|
65
|
< NW >
|
RLC_DATA_IND
|
|
66
|
< NW >
|
PDCP_DATA_IND
|
|
67
|
UE ---> SS
|
Authentication Response
|
|
68
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
69
|
UE <--- SS
|
RLC ACK
|
|
70
|
< NW >
|
MAC_DATA_REQ
|
|
71
|
< NW >
|
PHY_DATA_REQ
|
|
72
|
UE <--- SS
|
DCI 1A
|
To decode RLC ACK in UE
|
73
|
UE <--- SS
|
NAS Security Mode Command
|
|
74
|
< NW >
|
PDCP_DATA_REQ
|
|
75
|
< NW >
|
RLC_DATA_REQ
|
|
76
|
< NW >
|
MAC_DATA_REQ
|
|
77
|
< NW >
|
PHY_DATA_REQ
|
|
78
|
UE <--- SS
|
DCI 1A
|
To decode NAS Security Mode Command in UE
|
79
|
UE ---> SS
|
HARQ ACK
|
|
80
|
UE ---> SS
|
Scheduling Request(PUCCH)
|
To send RLC ACK from UE
|
81
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RLC ACK from UE
|
82
|
< NW >
|
PHY_DATA_IND
|
|
83
|
< NW >
|
MAC_DATA_IND
|
|
84
|
UE ---> SS
|
RLC ACK
|
|
85
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
86
|
UE ---> SS
|
Scheduling Request(PUCCH)
|
To Send NAS Security Mode Complete
|
87
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To Send NAS Security Mode Complete
|
88
|
< NW >
|
PHY_DATA_IND
|
|
89
|
< NW >
|
MAC_DATA_IND
|
|
90
|
< NW >
|
RLC_DATA_IND
|
|
91
|
< NW >
|
PDCP_DATA_IND
|
|
92
|
UE ---> SS
|
NAS Security Mode Complete
|
|
93
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
94
|
UE <--- SS
|
RLC ACK
|
|
95
|
< NW >
|
MAC_DATA_REQ
|
|
96
|
< NW >
|
PHY_DATA_REQ
|
|
97
|
UE <--- SS
|
DCI 1A
|
To decode RLC ACK in UE
|
98
|
UE <--- SS
|
RRC Security Mode Command
|
|
99
|
< NW >
|
PDCP_DATA_REQ
|
|
100
|
< NW >
|
RLC_DATA_REQ
|
|
101
|
< NW >
|
MAC_DATA_REQ
|
|
102
|
< NW >
|
PHY_DATA_REQ
|
|
103
|
UE <--- SS
|
DCI 1A
|
To decode RRC Security Mode Command in UE
|
104
|
UE ---> SS
|
HARQ ACK
|
|
105
|
UE ---> SS
|
Scheduling Request
|
To send RLC ACK from UE
|
106
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RLC ACK from UE
|
107
|
< NW >
|
PHY_DATA_IND
|
|
108
|
< NW >
|
MAC_DATA_IND
|
|
109
|
UE ---> SS
|
RLC ACK
|
|
110
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
111
|
UE ---> SS
|
Scheduling Request
|
To send RRC Security Mode Complete from UE
|
112
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RRC Security Mode Complete from UE
|
113
|
< NW >
|
PHY_DATA_IND
|
|
114
|
< NW >
|
MAC_DATA_IND
|
|
115
|
< NW >
|
RLC_DATA_IND
|
|
116
|
< NW >
|
PDCP_DATA_IND
|
|
117
|
UE ---> SS
|
RRC Security Mode Complete
|
|
118
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
119
|
UE <--- SS
|
RLC ACK
|
|
120
|
< NW >
|
MAC_DATA_REQ
|
|
121
|
< NW >
|
PHY_DATA_REQ
|
|
122
|
UE <--- SS
|
DCI 1A
|
To decode RLC ACK in UE
|
123
|
|
< Many other message can be added here depending on NW >
|
|
124
|
UE <--- SS
|
RRC Connection Reconfiguration
+ Attach Accept
+ Activate Default EPS Bearer Context Request
|
|
125
|
< NW >
|
PDCP_DATA_REQ
|
|
126
|
< NW >
|
RLC_DATA_REQ
|
|
127
|
< NW >
|
MAC_DATA_REQ
|
|
128
|
< NW >
|
PHY_DATA_REQ
|
|
129
|
UE ---> SS
|
HARQ ACK
|
|
130
|
UE ---> SS
|
Scheduling Request(PUCCH)
|
To send RLC ACK from UE
|
131
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RLC ACK from UE
|
132
|
< NW >
|
PHY_DATA_IND
|
|
133
|
< NW >
|
MAC_DATA_IND
|
|
134
|
UE ---> SS
|
RLC ACK
|
|
135
|
UE ---> SS
|
Scheduling Request(PUCCH)
|
To send RRC Connection Reconfig Complete from UE
|
136
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RRC Connection Reconfig Complete from UE
|
137
|
< NW >
|
PHY_DATA_IND
|
|
138
|
< NW >
|
MAC_DATA_IND
|
|
139
|
< NW >
|
RLC_DATA_IND
|
|
140
|
< NW >
|
PDCP_DATA_IND
|
|
141
|
UE ---> SS
|
RRC Connection Reconfiguration Complete
+ Attach Complete
+ Activate Default EPS Bearer Context Accept
|
|
142
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
143
|
UE <--- SS
|
RLC ACK
|
|
144
|
< NW >
|
MAC_DATA_REQ
|
|
145
|
< NW >
|
PHY_DATA_REQ
|
|
146
|
UE <--- SS
|
DCI 1A
|
To decode RLC ACK in UE
|
147
|
|
< IP Data Traffic if needed >
|
|
148
|
UE <--- SS
|
RRC Connection Release
|
|
149
|
< NW >
|
PDCP_DATA_REQ
|
|
150
|
< NW >
|
RLC_DATA_REQ
|
|
151
|
< NW >
|
MAC_DATA_REQ
|
|
152
|
< NW >
|
PHY_DATA_REQ
|
|
153
|
UE <--- SS
|
DCI 1A
|
To decode RRC Connection Release in UE
|
154
|
UE ---> SS
|
HARQ ACK
|
|
155
|
UE ---> SS
|
Scheduling Request(PUCCH)
|
To send RLC ACK from UE
|
156
|
UE <--- SS
|
DCI 0 (UL Grant, PDCCH)
|
To send RLC ACK from UE
|
157
|
< NW >
|
PHY_DATA_IND
|
|
158
|
< NW >
|
MAC_DATA_IND
|
|
159
|
UE ---> SS
|
RLC ACK
|
|
160
|
UE <--- SS
|
HARQ ACK (PHICH)
|
|
161
|
UE
|
< Now UE should be in IDLE mode >
|
|