From 8c0adf681f0f7ab87d68a7f651e19884a032bb2b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 4 Mar 2020 15:16:47 +0100 Subject: [PATCH] client: Add diagram for osmo-remsim-st2 use case Change-Id: Iddd870ddbadc2b6570deb00ea6886c3b34ea1e38 --- doc/manuals/chapters/remsim-client.adoc | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/doc/manuals/chapters/remsim-client.adoc b/doc/manuals/chapters/remsim-client.adoc index 977a772..8e26f8e 100644 --- a/doc/manuals/chapters/remsim-client.adoc +++ b/doc/manuals/chapters/remsim-client.adoc @@ -20,6 +20,45 @@ per slot, we can implement the client in blocking mode, i.e. use blocking I/O on the TCP/RSPRO side. This simplifies the code compared to a more complex async implementation. +[graphviz] +.Overall osmo-remsim architecture using osmo-remsim-client-st2 +---- +graph G { + rankdir = LR; + + subgraph cluster_0 { + label = "Client"; + modem [label="Phone/Modem",shape="rectangle"]; + cardem [label="cardem firmware\ne.g. on sysmoQMOD",shape="rectangle"]; + client [label="remsim-client-st2"]; + modem -- cardem [label="ISO 7816-3"]; + cardem -- client [label="USB ST2"]; + } + + subgraph cluster_2 { + label = "SIM Bank"; + bankd [label="remsim-bankd"]; + reader [label="Card Reader\ne.g. sysmoOCTSIM",shape="rectangle"]; + b_pcscd [label="PC/SC Daemon\nlibccid driver"]; + bankd -- b_pcscd; + b_pcscd -- reader [label = "USB CCID"]; + } + + subgraph cluster_1 { + label = "Server/Backend"; + server [label="remsim-server"]; + backend [label="Back-End Application"]; + server -- backend [label="REST Interface"]; + } + + client -- bankd [label="RSPRO Data"]; + client -- server [label="RSPRO Control"]; + bankd -- server [label="RSPRO Control"]; +} +---- + + + === Running osmo-remsim-client-st2 currently has the following command-line options: