summaryrefslogtreecommitdiff
path: root/2018/phone_protocol-eh2018/location_update_l3only.svg
diff options
context:
space:
mode:
Diffstat (limited to '2018/phone_protocol-eh2018/location_update_l3only.svg')
-rw-r--r--2018/phone_protocol-eh2018/location_update_l3only.svg215
1 files changed, 215 insertions, 0 deletions
diff --git a/2018/phone_protocol-eh2018/location_update_l3only.svg b/2018/phone_protocol-eh2018/location_update_l3only.svg
new file mode 100644
index 0000000..da26e9f
--- /dev/null
+++ b/2018/phone_protocol-eh2018/location_update_l3only.svg
@@ -0,0 +1,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