Project

General

Profile

Virtual Um » History » Revision 2

Revision 1 (laforge, 07/19/2017 03:03 PM) → Revision 2/23 (laforge, 07/19/2017 03:11 PM)

h1. Virtual Um 

 In July 2017, the Osmocom project has inroduced a _Virtual Um interface_ (i.e. virtual radio layer) between [[OsmoBTS:]] and [[OsmocomBB:]].    This allows us to run a complete GSM network with 1-N BTSs and 1-M MSs without any actual radio hardware, which is of course excellent for all kinds of testing scenarios. 

 The Virtual Um layer is based on sending L2 frames (blocks) encapsulated via GSMTAP UDP multicast packets.    There are two separate multicast groups, one for uplink and one for downlink.    The multicast nature simulates the shared medium and enables any simulated phone to receive the signal from multiple BTSs via the downlink multicast group. 

 In [[OsmoBTS:]], this is implemented via the new @osmo-bts-virtual@ BTS model. 

 In [[OsmocomBB:]], this is realized by adding @virtphy@ virtual L1, which speask the same [[OsmocomBB:L1A_L23_Interface|L1CTL]] protocol that is used between the _real_ OsmcoomBB Layer1 and the Layer2/3 programs such as [[OsmocomBB:Mobile] and the like. 

 This page describes how to set up the Virtual Um layer.    It assumes that you are famliar with classic operation of [[OsmocomBB:]] and [[OsmoBTS:]] and [[OsmoNITB:]] with a real radio layer.    In case of doubt, look at the genric documentation and tutorials for real RF hardware. 

 

 h1. The big picture 

 h2. Using OsmoNITB 

 {{graphviz_link() 
 digraph G { 
   rankdir = LR; 
   bts [label="osmo-bts-virtual"]; 
   mobile [label="OsmocomBB mobile"]; 
   network [label="GSMTAP multicast\nUDP/IP" shape="diamond"]; 
   subgraph cluster_ms { 
     label = "Mobile Station side" 
     mobile -> virtphy 
   } 
   virtphy -> network 
   network -> bts 
   subgraph cluster_net { 
     label = "Network side" 
     bts -> OsmoNITB 
   } 
 } 
 }} 

 h2. Using OsmoBSC, OsmoMSC, OsmoHLR 

 {{graphviz_link() 
 digraph G { 
   rankdir = LR; 
   bts [label="osmo-bts-virtual"]; 
   mobile [label="OsmocomBB mobile"]; 
   network [label="GSMTAP multicast\nUDP/IP" shape="diamond"]; 
   subgraph cluster_ms { 
     label = "Mobile Station side" 
     mobile -> virtphy 
   } 
   virtphy -> network 
   network -> bts 
   subgraph cluster_net { 
     label = "Network side" 
     bts -> OsmoBSC 
     OsmoBSC -> OsmoMSC 
     OsmoMSC -> OsmoHLR 
   } 
 } 
 }} 

 



 h1. The BTS side 


 h1. The MS side 

Add picture from clipboard (Maximum size: 48.8 MB)