== Overview

=== About this manual

This manual should help you getting started with the osmo-remsim software.

It will cover aspects of configuration and running osmo-remsim as well as some
introduction about its internal architecture and external interfaces.

=== About osmo-remsim

osmo-remsim is a suite of software programs enabling physical/geographic
separation of a cellular phone (or modem) on the one hand side and the
SIM/USIM/ISIM card on the other side.

Using osmo-remsim, you can operate an entire fleet of modems/phones, as
well as banks of SIM cards and dynamically establish or remove the
connections between modems/phones and cards.

So in technical terms, it behaves like a proxy for the ISO 7816 smart
card interface between the MS/UE and the UICC/SIM/USIM/ISIM.

While originally designed to be used in context of cellular networks,
there is nothing cellular specific in the system.  It can therefore also
be used with other systems that use contact based smart cards according
to ISO 7816.  Currently only the T=0 protocol with standard
(non-extended) APDUs is supported. Both T=1 and extended APDU support
can easily be added as a pure software update, should it be required at
some future point.

=== Credits

osmo-remsim was originally developed by Harald Welte with contributions
by Kevin Redon.  It builds on top of pre-existing infrastructure of
the Osmocom project, including the Osmocom SIMtrace project.

Development of osmo-remsim software was funded by GSMK and sysmocom.

=== osmo-remsim-server

The `osmo-remsim-server` is the central element of the osmo-remsim
architecture.  All other elements connect to it.  It maintains the
inventory of other network elements, as well as the list of
slot-mappings, i.e. the relationship between each given physical card
in a bank and each card emulator attached to a phone/modem.

The tasks of `osmo-remsim-server` include:

* accepting incoming TCP control connections from `osmo-remsim-client` and
  `osmo-remsim-bankd` instances
* providing a RESTful JSON interface for external application logic to

=== osmo-remsim-client

The `osmo-remsim-client` software is co-located next to a cellular phone/modem.
It typically runs on an [embedded] computer next to the phone/modem.

The tasks of `osmo-remsim-client` include:

* interaction over USB with a device supported by the 'SIMtrace2 cardem'
  firmware, which provides the physical interface to the phone/modem SIM
  interface
* establishing a TCP connection with the `osmo-remsim-server`, in order to
  enable the server to issue control commands
* under control of `osmo-remsim-server`, establishing a TCP connection to a
  `osmo-remsim-bankd` in order to connect a card physically located at the
  bankd.

`osmo-remsim-client` supports at this point only one phone/modem.  If you have
multiple phones/modems at one location, you can simply run multiple
instances of `osmo-remsim-client` on the same system, one for each phone/modem.

=== osmo-remsim-bankd

The `osmo-remsim-bankd` software is co-located next to a bank of SIM cards.

The tasks of `osmo-remsim-bankd` include:

* interaction with the actual card reader hardware.  At this point, only
  PC/SC based readers are supported, with 1 to 255 slots per reader.
* establishing a TCP connection with the `osmo-remsim-server`, in order to
  enable the server to issue control commands
* running a TCP server where TCP connections from `osmo-remsim-client`
  instances are accepted and handled.


