Project

General

Profile

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
}}
Add picture from clipboard (Maximum size: 48.8 MB)