summaryrefslogtreecommitdiff
path: root/2018/phone_protocol-eh2018/location_update_l3only.svg
blob: da26e9fac08af2ac0879e8a61bf73e4d0842d142 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1"
 width="1200px" height="577px"
 viewBox="0 0 1200 577"
 xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges"
 stroke-width="1" text-rendering="geometricPrecision">
<polygon fill="white" points="185,7 213,7 213,16 185,16"/>
<text x="200" y="16" textLength="27" font-family="Helvetica" font-size="12" fill="black" text-anchor="middle">

MSC
</text>
<polygon fill="white" points="572,7 626,7 626,16 572,16"/>
<text x="600" y="16" textLength="53" font-family="Helvetica" font-size="12" fill="black" text-anchor="middle">

MSC/VLR
</text>
<polygon fill="white" points="986,7 1012,7 1012,16 986,16"/>
<text x="1000" y="16" textLength="24" font-family="Helvetica" font-size="12" fill="black" text-anchor="middle">

HLR
</text>
<line x1="200" y1="22" x2="200" y2="39" stroke="black"/>
<line x1="600" y1="22" x2="600" y2="39" stroke="black"/>
<line x1="1000" y1="22" x2="1000" y2="39" stroke="black"/>
<line x1="200" y1="39" x2="200" y2="56" stroke="black" stroke-dasharray="2,2"/>
<line x1="600" y1="39" x2="600" y2="56" stroke="black" stroke-dasharray="2,2"/>
<line x1="1000" y1="39" x2="1000" y2="56" stroke="black" stroke-dasharray="2,2"/>
<polygon fill="white" points="514,40 684,40 684,49 514,49"/>
<text x="515" y="49" textLength="168" font-family="Helvetica" font-size="12" fill="black">
GSM Location Update (L3 only)
</text>
<line x1="200" y1="56" x2="200" y2="73" stroke="black"/>
<line x1="600" y1="56" x2="600" y2="73" stroke="black"/>
<line x1="1000" y1="56" x2="1000" y2="73" stroke="black"/>
<line x1="200" y1="73" x2="200" y2="101" stroke="black"/>
<line x1="600" y1="73" x2="600" y2="101" stroke="black"/>
<line x1="1000" y1="73" x2="1000" y2="101" stroke="black"/>
<line x1="200" y1="84" x2="600" y2="84" stroke="black"/>
<polygon fill="black" points="600,84 590,90 590,78"/>
<polygon fill="white" points="345,74 453,74 453,83 345,83"/>
<text x="346" y="83" textLength="106" font-family="Helvetica" font-size="12" fill="black">
MM LOC UPD REQ
</text>
<line x1="200" y1="101" x2="200" y2="129" stroke="black"/>
<line x1="600" y1="101" x2="600" y2="129" stroke="black"/>
<line x1="1000" y1="101" x2="1000" y2="129" stroke="black"/>
<polygon fill="white" points="14,101 786,101 786,123 14,123"/>
<polygon fill="white" points="8,107 792,107 792,117 8,117"/>
<circle fill="white" cx="14" cy="107" r="6"/>
<circle fill="white" cx="786" cy="107" r="6"/>
<circle fill="white" cx="14" cy="117" r="6"/>
<circle fill="white" cx="786" cy="117" r="6"/>
<line x1="14" y1="101" x2="786" y2="101" stroke="black"/>
<line x1="14" y1="123" x2="786" y2="123" stroke="black"/>
<line x1="8" y1="107" x2="8" y2="117" stroke="black"/>
<line x1="792" y1="107" x2="792" y2="117" stroke="black"/>
<path d="M 8 107 A6,6 0 0,1 14,101" stroke="black" fill="none"/><path d="M 786 101 A6,6 0 0,1 792,107" stroke="black" fill="none"/><path d="M 792 117 A6,6 0 0,1 786,123" stroke="black" fill="none"/><path d="M 14 123 A6,6 0 0,1 8,117" stroke="black" fill="none"/><polygon fill="white" points="207,108 592,108 592,117 207,117"/>
<text x="208" y="117" textLength="383" font-family="Helvetica" font-size="12" fill="black">
optional: MM IDENTITY REQ + RESP (IMSI) if MSC doesn't know TMSI
</text>
<line x1="200" y1="129" x2="200" y2="157" stroke="black"/>
<line x1="600" y1="129" x2="600" y2="157" stroke="black"/>
<line x1="1000" y1="129" x2="1000" y2="157" stroke="black"/>
<line x1="600" y1="140" x2="1000" y2="140" stroke="black"/>
<polygon fill="black" points="1000,140 990,146 990,134"/>
<polygon fill="white" points="723,130 876,130 876,139 723,139"/>
<text x="724" y="139" textLength="151" font-family="Helvetica" font-size="12" fill="black">
MAP SEND AUTH INFO req
</text>
<line x1="200" y1="157" x2="200" y2="185" stroke="black"/>
<line x1="600" y1="157" x2="600" y2="185" stroke="black"/>
<line x1="1000" y1="157" x2="1000" y2="185" stroke="black"/>
<polygon fill="white" points="808,157 1192,157 1192,179 808,179"/>
<line x1="808" y1="157" x2="1192" y2="157" stroke="black"/>
<line x1="808" y1="179" x2="1192" y2="179" stroke="black"/>
<line x1="808" y1="157" x2="808" y2="179" stroke="black"/>
<line x1="1192" y1="157" x2="1192" y2="179" stroke="black"/>
<polygon fill="white" points="940,164 1059,164 1059,173 940,173"/>
<text x="941" y="173" textLength="117" font-family="Helvetica" font-size="12" fill="black">
Generate Auth Tuples
</text>
<line x1="200" y1="185" x2="200" y2="213" stroke="black"/>
<line x1="600" y1="185" x2="600" y2="213" stroke="black"/>
<line x1="1000" y1="185" x2="1000" y2="213" stroke="black"/>
<line x1="1000" y1="196" x2="600" y2="196" stroke="black"/>
<polygon fill="black" points="600,196 610,202 610,190"/>
<polygon fill="white" points="720,186 879,186 879,195 720,195"/>
<text x="721" y="195" textLength="157" font-family="Helvetica" font-size="12" fill="black">
MAP SEND AUTH INFO resp
</text>
<line x1="200" y1="213" x2="200" y2="241" stroke="black"/>
<line x1="600" y1="213" x2="600" y2="241" stroke="black"/>
<line x1="1000" y1="213" x2="1000" y2="241" stroke="black"/>
<line x1="600" y1="224" x2="200" y2="224" stroke="black"/>
<polygon fill="black" points="200,224 210,230 210,218"/>
<polygon fill="white" points="333,214 466,214 466,223 333,223"/>
<text x="334" y="223" textLength="131" font-family="Helvetica" font-size="12" fill="black">
MM AUTH REQ (RAND)
</text>
<line x1="200" y1="241" x2="200" y2="269" stroke="black"/>
<line x1="600" y1="241" x2="600" y2="269" stroke="black"/>
<line x1="1000" y1="241" x2="1000" y2="269" stroke="black"/>
<line x1="200" y1="252" x2="600" y2="252" stroke="black"/>
<polygon fill="black" points="600,252 590,258 590,246"/>
<polygon fill="white" points="330,242 468,242 468,251 330,251"/>
<text x="331" y="251" textLength="136" font-family="Helvetica" font-size="12" fill="black">
MM AUTH RESP (SRES)
</text>
<line x1="200" y1="269" x2="200" y2="297" stroke="black"/>
<line x1="600" y1="269" x2="600" y2="297" stroke="black"/>
<line x1="1000" y1="269" x2="1000" y2="297" stroke="black"/>
<polygon fill="white" points="408,269 792,269 792,291 408,291"/>
<line x1="408" y1="269" x2="792" y2="269" stroke="black"/>
<line x1="408" y1="291" x2="792" y2="291" stroke="black"/>
<line x1="408" y1="269" x2="408" y2="291" stroke="black"/>
<line x1="792" y1="269" x2="792" y2="291" stroke="black"/>
<polygon fill="white" points="521,276 677,276 677,285 521,285"/>
<text x="522" y="285" textLength="154" font-family="Helvetica" font-size="12" fill="black">
SRES(MS) == SRES(HLR) ?
</text>
<line x1="200" y1="297" x2="200" y2="325" stroke="black"/>
<line x1="600" y1="297" x2="600" y2="325" stroke="black"/>
<line x1="1000" y1="297" x2="1000" y2="325" stroke="black"/>
<line x1="600" y1="308" x2="1000" y2="308" stroke="black"/>
<polygon fill="black" points="1000,308 990,314 990,302"/>
<polygon fill="white" points="729,298 870,298 870,307 729,307"/>
<text x="730" y="307" textLength="139" font-family="Helvetica" font-size="12" fill="black">
MAP UPD LOC AREA req
</text>
<line x1="200" y1="325" x2="200" y2="353" stroke="black"/>
<line x1="600" y1="325" x2="600" y2="353" stroke="black"/>
<line x1="1000" y1="325" x2="1000" y2="353" stroke="black"/>
<line x1="1000" y1="336" x2="600" y2="336" stroke="black"/>
<polygon fill="black" points="600,336 610,342 610,330"/>
<polygon fill="white" points="707,326 892,326 892,335 707,335"/>
<text x="708" y="335" textLength="183" font-family="Helvetica" font-size="12" fill="black">
MAP INSERT SUBSCR DATA req
</text>
<line x1="200" y1="353" x2="200" y2="381" stroke="black"/>
<line x1="600" y1="353" x2="600" y2="381" stroke="black"/>
<line x1="1000" y1="353" x2="1000" y2="381" stroke="black"/>
<line x1="600" y1="364" x2="1000" y2="364" stroke="black"/>
<polygon fill="black" points="1000,364 990,370 990,358"/>
<polygon fill="white" points="704,354 895,354 895,363 704,363"/>
<text x="705" y="363" textLength="189" font-family="Helvetica" font-size="12" fill="black">
MAP INSERT SUBSCR DATA resp
</text>
<line x1="200" y1="381" x2="200" y2="409" stroke="black"/>
<line x1="600" y1="381" x2="600" y2="409" stroke="black"/>
<line x1="1000" y1="381" x2="1000" y2="409" stroke="black"/>
<line x1="1000" y1="392" x2="600" y2="392" stroke="black"/>
<polygon fill="black" points="600,392 610,398 610,386"/>
<polygon fill="white" points="726,382 873,382 873,391 726,391"/>
<text x="727" y="391" textLength="145" font-family="Helvetica" font-size="12" fill="black">
MAP UPD LOC AREA resp
</text>
<line x1="200" y1="409" x2="200" y2="437" stroke="black"/>
<line x1="600" y1="409" x2="600" y2="437" stroke="black"/>
<line x1="1000" y1="409" x2="1000" y2="437" stroke="black"/>
<line x1="600" y1="420" x2="200" y2="420" stroke="black"/>
<polygon fill="black" points="200,420 210,426 210,414"/>
<polygon fill="white" points="353,410 446,410 446,419 353,419"/>
<text x="354" y="419" textLength="91" font-family="Helvetica" font-size="12" fill="black">
CIPH MOD CMD
</text>
<line x1="200" y1="437" x2="200" y2="465" stroke="black"/>
<line x1="600" y1="437" x2="600" y2="465" stroke="black"/>
<line x1="1000" y1="437" x2="1000" y2="465" stroke="black"/>
<line x1="200" y1="448" x2="600" y2="448" stroke="black"/>
<polygon fill="black" points="600,448 590,454 590,442"/>
<polygon fill="white" points="345,438 453,438 453,447 345,447"/>
<text x="346" y="447" textLength="106" font-family="Helvetica" font-size="12" fill="black">
CIPH MOD COMPL
</text>
<line x1="200" y1="465" x2="200" y2="493" stroke="black"/>
<line x1="600" y1="465" x2="600" y2="493" stroke="black"/>
<line x1="1000" y1="465" x2="1000" y2="493" stroke="black"/>
<line x1="600" y1="476" x2="200" y2="476" stroke="black"/>
<polygon fill="black" points="200,476 210,482 210,470"/>
<polygon fill="white" points="342,466 457,466 457,475 342,475"/>
<text x="343" y="475" textLength="113" font-family="Helvetica" font-size="12" fill="black">
MM LOC UPD RESP
</text>
<line x1="200" y1="493" x2="200" y2="521" stroke="black"/>
<line x1="600" y1="493" x2="600" y2="521" stroke="black"/>
<line x1="1000" y1="493" x2="1000" y2="521" stroke="black"/>
<line x1="200" y1="504" x2="600" y2="504" stroke="black"/>
<polygon fill="black" points="600,504 590,510 590,498"/>
<polygon fill="white" points="320,494 479,494 479,503 320,503"/>
<text x="321" y="503" textLength="157" font-family="Helvetica" font-size="12" fill="black">
MM TMSI REALLOC COMPL
</text>
<line x1="200" y1="521" x2="200" y2="549" stroke="black"/>
<line x1="600" y1="521" x2="600" y2="549" stroke="black"/>
<line x1="1000" y1="521" x2="1000" y2="549" stroke="black"/>
<line x1="600" y1="532" x2="200" y2="532" stroke="black"/>
<polygon fill="black" points="200,532 210,538 210,526"/>
<polygon fill="white" points="363,522 436,522 436,531 363,531"/>
<text x="364" y="531" textLength="71" font-family="Helvetica" font-size="12" fill="black">
CLEAR CMD
</text>
<line x1="200" y1="549" x2="200" y2="577" stroke="black"/>
<line x1="600" y1="549" x2="600" y2="577" stroke="black"/>
<line x1="1000" y1="549" x2="1000" y2="577" stroke="black"/>
<line x1="200" y1="560" x2="600" y2="560" stroke="black"/>
<polygon fill="black" points="600,560 590,566 590,554"/>
<polygon fill="white" points="355,550 443,550 443,559 355,559"/>
<text x="356" y="559" textLength="86" font-family="Helvetica" font-size="12" fill="black">
CLEAR COMPL
</text>
<line x1="200" y1="571" x2="200" y2="577" stroke="black"/>
<line x1="600" y1="571" x2="600" y2="577" stroke="black"/>
<line x1="1000" y1="571" x2="1000" y2="577" stroke="black"/>
</svg>
personal git repositories of Harald Welte. Your mileage may vary