Ladder Diagrams » History » Revision 3
Revision 2 (laforge, 03/03/2022 08:49 PM) → Revision 3/8 (laforge, 03/03/2022 08:51 PM)
h1. Ladder Diagrams h2. Initial connection setup {{mscgen_link() msc { hscale=2; client [label="Client"], server [label="Server (main port)"], worker [label="Server (worker port)"], hlr [label="HLR (database)"]; |||; --- [label="Initial connection attempt from client to well-known server/port"]; |||; client => server [label="HELLO_REQ (user_id)"]; server <=> hlr [label="Obtain auth vectors"]; client <= server [label="AUTH_REQ (rand, autn)"]; client => server [label="AUTH_RESP (res)"]; server box server [label="Verify res == xres?"]; server => worker [label="Create worker socket"]; server note server [label="Server accepts client + redirects to worker IP+Port"]; client <= server [label="HELLO_ACK (worker IP:Port, token)"]; ...; client => worker [label="HELLO_REQ (user_id, token)"]; worker box worker [label="Verify user_id + token"]; client <= worker [label="HELLO_ACK"]; ...; client <=> worker [label="TDMoIP"]; ...; } }} h2. subsequent re-authentication {{mscgen_link() msc { hscale=2; client [label="Client"], server [label="Server (main port)"], worker [label="Server (worker port)"], hlr [label="HLR (database)"]; |||; --- [label="At any later point in time, whenever the server wants"]; worker <=> hlr [label="Obtain auth vectors"]; client <= worker [label="AUTH_REQ (rand, autn)"]; client => worker [label="AUTH_RESP (res)"]; worker box worker [label="Verify res == xres?"]; } }}