aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-03-04 15:16:47 +0100
committerHarald Welte <laforge@osmocom.org>2020-03-04 15:17:59 +0100
commit8c0adf681f0f7ab87d68a7f651e19884a032bb2b (patch)
treebb95d3fc588105ce2f6790947f7d72875c459a7c /doc
parenta8e2db9ae3489a1024feb13e6c1e396b4eb101c4 (diff)
client: Add diagram for osmo-remsim-st2 use case
Diffstat (limited to 'doc')
-rw-r--r--doc/manuals/chapters/remsim-client.adoc39
1 files changed, 39 insertions, 0 deletions
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: