Ladder Diagrams » History » Version 3
laforge, 03/03/2022 08:51 PM
1 | 1 | laforge | h1. Ladder Diagrams |
---|---|---|---|
2 | |||
3 | 3 | laforge | h2. Initial connection setup |
4 | |||
5 | 1 | laforge | {{mscgen_link() |
6 | msc { |
||
7 | hscale=2; |
||
8 | client [label="Client"], server [label="Server (main port)"], worker [label="Server (worker port)"], hlr [label="HLR (database)"]; |
||
9 | |||; |
||
10 | --- [label="Initial connection attempt from client to well-known server/port"]; |
||
11 | |||; |
||
12 | client => server [label="HELLO_REQ (user_id)"]; |
||
13 | server <=> hlr [label="Obtain auth vectors"]; |
||
14 | client <= server [label="AUTH_REQ (rand, autn)"]; |
||
15 | client => server [label="AUTH_RESP (res)"]; |
||
16 | server box server [label="Verify res == xres?"]; |
||
17 | server => worker [label="Create worker socket"]; |
||
18 | server note server [label="Server accepts client + redirects to worker IP+Port"]; |
||
19 | client <= server [label="HELLO_ACK (worker IP:Port, token)"]; |
||
20 | ...; |
||
21 | client => worker [label="HELLO_REQ (user_id, token)"]; |
||
22 | worker box worker [label="Verify user_id + token"]; |
||
23 | client <= worker [label="HELLO_ACK"]; |
||
24 | ...; |
||
25 | client <=> worker [label="TDMoIP"]; |
||
26 | 2 | laforge | ...; |
27 | 3 | laforge | } |
28 | }} |
||
29 | |||
30 | h2. subsequent re-authentication |
||
31 | |||
32 | {{mscgen_link() |
||
33 | msc { |
||
34 | hscale=2; |
||
35 | client [label="Client"], server [label="Server (main port)"], worker [label="Server (worker port)"], hlr [label="HLR (database)"]; |
||
36 | |||; |
||
37 | 2 | laforge | --- [label="At any later point in time, whenever the server wants"]; |
38 | worker <=> hlr [label="Obtain auth vectors"]; |
||
39 | client <= worker [label="AUTH_REQ (rand, autn)"]; |
||
40 | client => worker [label="AUTH_RESP (res)"]; |
||
41 | 1 | laforge | worker box worker [label="Verify res == xres?"]; |
42 | } |
||
43 | }} |