Osmo-remsim » History » Version 2

Version 1 (laforge, 04/01/2019 07:13 PM) → Version 2/4 (roh, 07/10/2019 05:31 PM)


h1. 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.


h2. User Manual

h2. Source code

The source code is available from (module @osmo-remsim@).

Public read-only access is available via
git clone git://

You can browse it via cgit:

Contributions are welcome via [[Cellular-Infrastructure:Gerrit]].

h2. Test Suite

There is a testbed designed for CI and longterm tests of the whole suite of components(server, bankd, clients).
It is a small but not minimal configuration:
* 1x host with 2 x virtual machines, all running debian stable, virt is provided by kvm and libvirt
* 1x sysmoQMOD board with 4 modems connected via usb
* 1x SIM card reader with 5 slots using USB CCID
* bankd vm:
** runs osmo-remsim-bankd
** has a forwarded usb device (5slot cardreader)
* server vm:
** runs osmo-remsim-server
** has a netem script in the network sending path - limiting the delay/latency/jitter/bandwith to 'good' VSAT values
* hostsystem:
** runs 4 instances of osmo-remsim-client-st2
** this cannot be done inside a kvm vm due to bugs/limitations forwarding complex usb devices/hubs (sysmoQMOD is a hub with multiple devices behind)

FIXME: add tests/description

2. Contact / Getting Help

Contact us via the mailing list, see [[Cellular-Infrastructure:Mailing Lists]].

You can file issues (bugs / feature requests) using the redmine project you're currently viewing.

h2. Authors / Credit

osmo-remsim was mainly developed by Harald Welte, with contributions from Kevin Redon.
Add picture from clipboard (Maximum size: 48.8 MB)