Project

General

Profile

Osmo-remsim » History » Revision 7

Revision 6 (laforge, 03/04/2020 08:00 PM) → Revision 7/16 (laforge, 03/04/2020 08:11 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. 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)