- Table of contents
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.
Osmocom provides binary packages for several flavors of Debian and Ubuntu GNU/Linux on a variety of architectures (i586, x86_64, armhf, armv7l). Unless you are a software developer interested in developing on Osmocom, it is recommended you use those packages instead of building from source.
For more details see Binary_Packages
The source code is available from
Public read-only access is available via
git clone git://git.osmocom.org/osmo-remsim.git
You can browse it via cgit: https://git.osmocom.org/osmo-remsim
Contributions are welcome via Gerrit.
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
- 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
Contact / Getting Help¶
You can file issues (bugs / feature requests) using the redmine project you're currently viewing.
Authors / Credit¶
osmo-remsim was mainly developed by Harald Welte, with contributions from Kevin Redon.