README.md: add 'osmo-' prefix to remsim-{server,bankd,client}

Change-Id: I42df660d8c7f696a12118d4e4c38f7ee9e48d2e8
This commit is contained in:
Harald Welte 2019-04-03 17:24:42 +02:00
parent 942f0f981f
commit f0184cb4af
1 changed files with 21 additions and 20 deletions

View File

@ -4,22 +4,23 @@ osmo-remsim - Osmocom remote SIM software suite
This software suite is a work in progress.
remsim-client
-------------
osmo-remsim-client
------------------
The client interfaces with GSM phones / modems via dedicated "Card
Emulation" devices such as the Osmocom SIMtrace2 or sysmocom sysmoQMOD
board + firmware. This hardware implements the ISO7816-3 electrical
interface and protocol handling and passes any TPDU headers received
from the phone/modem to remsim-client for further processing of the
from the phone/modem to osmo-remsim-client for further processing of the
TPDUs associated to the given APDU transfer.
remsim-client connects via a RSPRO control connection to remsim-server
at startup and registers itself. It will receive configuration data
such as the remsim-bankd IP+Port and the ClientId from remsim-server.
osmo-remsim-client connects via a RSPRO control connection to
osmo-remsim-server at startup and registers itself. It will receive
configuration data such as the osmo-remsim-bankd IP+Port and the
ClientId from osmo-remsim-server.
After receiving the configuration, remsim-client will establish a RSPRO
data connection to the remsim-bankd IP:Port.
After receiving the configuration, osmo-remsim-client will establish a
RSPRO data connection to the osmo-remsim-bankd IP:Port.
As the USB interface for remote SIM in simtrace2.git uses one interface
per slot, we can implement the client in blocking mode, i.e. use
@ -27,22 +28,22 @@ blocking I/O on the TCP/RSPRO side. This simplifies the code compared
to a more complex async implementation.
remsim-bankd
------------
osmo-remsim-bankd
-----------------
The remsim-bankd (SIM Bank Daemon) manages one given SIM bank. The
The osmo-remsim-bankd (SIM Bank Daemon) manages one given SIM bank. The
initial implementation supports a PC/SC driver to expose any PC/SC
compatible card readers as SIM bank.
remsim-bankd initially connects via a RSPRO control connection to
remsim-server at startup, and will in turn receive a set of initial
osmo-remsim-bankd initially connects via a RSPRO control connection to
osmo-remsim-server at startup, and will in turn receive a set of initial
[client,slot]:[bankd,slot] mappings. These mappings determine which
slot on the client (corresponding to a modem) is mapped to which slot on
the SIM bank. Mappings can be updated by remsim-server at any given
the SIM bank. Mappings can be updated by osmo-remsim-server at any given
point in time.
remsim-bankd implements a RSPRO server, where it listens to connections
from remsim-clients.
osmo-remsim-bankd implements a RSPRO server, where it listens to
connections from osmo-remsim-clients.
As PC/SC only offers a blocking API, there is one thread per PC/SC slot.
This thread will perform blocking I/O on the socket towards the client,
@ -62,10 +63,10 @@ reader, and that mapping is only established at a later point after the
client has identified itself. The advantage is that the entire bankd
can live without any non-blocking I/O.
The main thread handles the connection to remsim-server, where it can
also use non-blocking I/O. However, re-connection would be required, to
avoid stalling all banks/cards in the event of a connection loss to the
server.
The main thread handles the connection to osmo-remsim-server, where it
can also use non-blocking I/O. However, re-connection would be
required, to avoid stalling all banks/cards in the event of a connection
loss to the server.
worker threads have the following states:
* INIT (just started)