Project

General

Profile

Osmo-remsim » History » Revision 8

Revision 7 (laforge, 03/04/2020 08:11 PM) → Revision 8/16 (laforge, 03/04/2020 08:13 PM)

{{>toc}} 

 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. Typical osmo-remsim deployment with 8 sim cards and two modems 

 {{graphviz_link() 
 digraph { 
         rankdir=LR; 

         subgraph cluster_0 { 
                 label="Data Center"; 
                 SIM0 [shape=rect]; 
                 SIM1 [shape=rect]; 
                 SIM2 [shape=rect]; 
                 SIM3 [shape=rect]; 
                 SIM4 [shape=rect]; 
                 SIM5 [shape=rect]; 
                 SIM6 [shape=rect]; 
                 SIM7 [shape=rect]; 
                 sysmoOCTSIM [shape=rect]; 
                 { 
                         rank=same; 
                         bankd [label="remsim-bankd"]; 
                         server [label="remsim-server"]; 
                 } 

                 SIM0 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; 
                 SIM1 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; 
                 SIM2 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; 
                 SIM3 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; 
                 SIM4 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; 
                 SIM5 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; 
                 SIM6 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; 
                 SIM7 -> sysmoOCTSIM [label="ISO-7816-2/3",dir=both]; 

                 sysmoOCTSIM -> bankd [label="USB CCID",dir=both]; 

                 bankd -> server [label="RSPRO/IPA/TCP"]; 
         } 

         subgraph cluster_1 { 
                 label="Remote Site A"; 
                 client1 [label="remsim-client"]; 
                 SIMtrace1 [label="SIMtrace2\nAPP=cardem",shape=rect]; 
                 Phone1 [label="Phone/Modem",shape=rect]; 
                 client1 -> SIMtrace1 [label="USB",dir=both]; 
                 SIMtrace1 -> Phone1 [label="ISO-7816-2/3",dir=both]; 
                 bankd -> client1 [label="RSPRO/IPA/TCP/IP",dir=both]; 
                 client1 -> server [label="RSPRO/IPA/TCP"]; 
         } 

         subgraph cluster_2 { 
                 label="Remote Site B"; 
                 client2 [label="remsim-client"]; 
                 SIMtrace2 [label="SIMtrace2\nAPP=cardem",shape=rect]; 
                 Phone2 [label="Phone/Modem",shape=rect]; 
                 client2 -> SIMtrace2 [label="USB",dir=both]; 
                 SIMtrace2 -> Phone2 [label="ISO-7816-2/3",dir=both]; 
                 bankd -> client2 [label="RSPRO/IPA/TCP/IP",dir=both]; 
                 client2 -> server [label="RSPRO/IPA/TCP"]; 
         } 


 } 
 }} 

 {{include(cellular-infrastructure:MacroBinaryPackages)}} 

 h2. User Manual 

 The latest user manual is available from https://ftp.osmocom.org/docs/latest/osmobsc-usermanual.pdf 

 h2. Presentation / Video 

 An early presentation video recording is available:"osmo-remsim: Remote SIM card Software":https://media.ccc.de/v/osmocon2018-93-osmo-remsim-remote-sim-card-software 

 Please keep in mind that this video was done at a relatively early point in the development, so not everything may still be correct today. 

 h2. Source code 

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

 Public read-only access is available via 
 <pre> 
 git clone git://git.osmocom.org/osmo-remsim.git 
 </pre> 

 You can browse it via cgit:    https://git.osmocom.org/osmo-remsim 

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

 h2. Test Suite 

 We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]] 

 * source code: https://git.osmocom.org/osmo-ttcn3-hacks/tree/remsim 
 * results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-remsim-test/ 

 h2. Supported Hardware 

 h3. SIM card readers/banks 

 * lab / small deployments (less than 8 slots) 
 ** any readers supported by "pcsc-lite":https://pcsclite.apdu.fr/ (USB-CCID readers like "CM3121":http://shop.sysmocom.de/products/cm3121 or "CM6121":http://shop.sysmocom.de/products/cm6121) 
 * medium size deployments (8 slots or multiple) 
 ** "sysmoOCTSIM":https://www.sysmocom.de/products/lab/sysmooctsim (8 slot reader) 
 * large size deployments (96 slots and up) 
 ** sysmoSIMBANK-96 and sysmoSIMBANK-192 (19" units with 95 and 192 slots, respectively 

 Support for other SIM bank hardware or card readers can of course be added by either contributing related patches or funding related development. 

 h3. Interface to Phone/Modem 

 * "sysmoQMOD":https://www.sysmocom.de/products/lab/sysmoqmod (board with four mPCIe modem slots and remote SIM support) 

 In theory, the [[simtrace2:]] hardware is also capable, but unfortuantely the software is currently not in a fully supported state, see https://osmocom.org/news/114 for an update. Any support is welcome to get this fulyl working again! 

 h2. Contact / Getting Help 

 Contact us via the simtrace@lists.osmocom.org 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. 

 h2. Further pages in this wiki 

 {{child_pages}}
Add picture from clipboard (Maximum size: 48.8 MB)