Project

General

Profile

OsmoBSC » History » Revision 23

Revision 22 (laforge, 07/25/2022 08:52 AM) → Revision 23/28 (laforge, 08/10/2022 07:19 AM)

{{>toc}} 

 h1. OsmoBSC 

 [[OsmoBSC:]] is an implementation of a GSM BSC (Base Station Controller), i.e. it offers the following interfaces: 
 * an A-bis interface towards the Base Transceiver Stations (BTSs) BTSs 
 * an A-over-IP (AoIP) interface towards an Mobile Switching Centre (MSC) MSC (e.g. [[OsmoMSC:]]). 
 * an Media Gateway Control Protocol (MGCP) interface towards a Media Gateway (MGW) MGW (e.g. [[OsmoMGW:]] for handling the RTP user plane (voice call codec frames) 
 * Lb interface towards 

 h2. History / Naming / SCCPlite 

 Until 2017, we used to have an @osmo-bsc@ part of the old @openbsc.git@ repository which implemented a Serving Mobile Location Centre (SMLC) (e.g. [[OsmoSMLC:]]) 
 * CBSP interface towards a Cell Broadcast Centre (CBC) (e.g. [[OsmoCBC:]]) 


 OsmoBSC started as a very humble implementation, but by smaller sub-set of the BSC functionality with an [[cellular-infrastructure:SCCPLite]] based A interface.    This legacy program is now called @osmo-bsc-sccplite@ and continues to be available for legacy users.    However, it is a rather feature-complete Base Station Controller with not actively developed anymore.    SCCPlite protocol support for (example) 
 * intra-BSC, inter-BSC, inter-MSC, inter-PLMN hand-over 
 * interference, power has been re-introduced in the new @osmo-bsc@ from @osmo-bsc.git@.    Users should not use the obsolete and load based hand-over 
 * circuit-switched fallback (CSFB) from LTE/E-UTRAN with fast return 
 * dynamic timeslot usage (SDCCH/TCH/PDCH) - depending on BTS support 
 * MSC pooling 
 * Cell Broadcast (CBS) / Emergency Broadcast (ETWS) 
 * Location Services 
 * SACCH Repetition 
 * Basic VAMOS support - depending on BTS support 


 unmaintained @osmo-bsc-sccplite@ anymore. 

 h2. OsmoBSC in the Osmocom architecture 

 h3. Signaling Plane only 

 {{graphviz_link() 
 digraph G { 
     rankdir = LR; 
     subgraph cluster_RAN { 
         OsmoBTS; 
         OsmoBTS1 [label="OsmoBTS"]; 
         OsmoBTS2 [label="OsmoBTS"]; 
         OsmoBSC [color=red]; 
         label = "RAN"; 
     } 
     subgraph cluster_CN { 
         OsmoMSC [label="MSC\ne.g. OsmoMSC"]; 
         Core [label="Other CN Elements"]; 
         label = "CN"; 
     } 
     OsmoBTS -> OsmoBSC [label="Abis/IP"]; 
     OsmoBTS1 -> OsmoBSC [label="Abis/IP"]; 
     OsmoBTS2 -> OsmoBSC [label="Abis/IP"]; 
     OsmoBSC -> OsmoMSC [label="3GPP AoIP\nvia SIGTRAN/STP"]; 
     OsmoMSC -> Core [label="MAP/ISUP/SIP/GSUP"]; 


     } 
 } 
 }} 

 h3. Signaling + User (Media) Plane 

 {{graphviz_link() 
 digraph G { 
     rankdir = LR; 
     subgraph cluster_RAN { 
         OsmoBTS; 
         OsmoBTS1 [label="OsmoBTS"]; 
         OsmoBTS2 [label="OsmoBTS"]; 
         OsmoBSC [color=red]; 
         OsmoMGW [label="OsmoMGW\n(for BSC)"]; 

         OsmoBTS -> OsmoBSC [label="Abis/IP"]; 
         OsmoBTS1 -> OsmoBSC [label="Abis/IP"]; 
         OsmoBTS2 -> OsmoBSC [label="Abis/IP"]; 
         OsmoBSC -> OsmoMGW [label="MGCP"]; 
         { rank = same; OsmoBSC; OsmoMGW } 

         OsmoBTS -> OsmoMGW [label="RTP"]; 
         OsmoBTS1 -> OsmoMGW [label="RTP"]; 
         OsmoBTS2 -> OsmoMGW [label="RTP"]; 

         label = "RAN"; 
     } 
     subgraph cluster_CN { 
         OsmoMGW1 [label="OsmoMGW\n(for MSC)"]; 
         OsmoMSC [label="MSC\ne.g. OsmoMSC"]; 
         Core [label="Other CN Elements"]; 
         OsmoMSC -> Core [label="MAP/ISUP/SIP/GSUP"]; 
         OsmoMSC -> OsmoMGW1 [label="MGCP"]; 
         { rank = same; OsmoMSC; OsmoMGW1 } 
         OsmoMGW -> OsmoMGW1 [label="RTP"]; 
         OsmoMGW1 -> Core [label="RTP"]; 
         label = "CN"; 
     } 

     OsmoBSC -> OsmoMSC [label="3GPP AoIP\nvia SIGTRAN/STP"]; 

 } 
 }} 


 h2. BTS Support 

 OsmoBSC supports currently all BTSs running the [[OsmoBTS:]] software (such as sysmoBTS), as well as ip.access nanoBTS devices.    Other Abis/IP devices may be supported. 

 Support for legacy E1/T1 TDM based BTSs (like those supported by [[OsmoNITB:]] is on the roadmap. 

 {{graphviz_link() 
 graph G { 

         MSC [label="MSC\n(e.g. OsmoMSC)"]; 
         STP [label="STP\n(e.g. OsmoSTP)"]; 
         nanoBTS [label="ip.access\nnanoBTS", shape=box]; 
         OsmoBTS; 
         sysmoBTS [label="sysmocom sysmoBTS\n(many models)", shape=box]; 
         LC15 [label="Nuran\nLitecell 1.5", shape=box]; 
         OCT [label="Octasic\nOCTBTS", shape=box]; 
         TRX [label="OsmoTRX"]; 
         OtherSDR [label="Other SDR HW", shape=box, style=dashed]; 
         OtherPHY [label="Other GSM PHY", shape=box, style=dashed]; 
         UmTRX [label="Fairwaves\nUmTRX", shape=box]; 
         USRP [label="Ettus USRP\nFamily", shape=box]; 

         MSC -- STP [label="A/IP"]; 
         STP -- BSC [label="A/IP"]; 

         BSC -- nanoBTS [label="Abis/IP"]; 
         BSC -- OsmoBTS [label="Abis/IP"]; 

         BSC -- BS11 [label="Siemens\nAbis/E1"]; 
         BSC -- RBS2K [label="Ericsson\nAbis/E1"]; 
         BSC -- Nokia [label="Nokia\nAbis/E1"]; 

         subgraph cluster_2 { 
                 BSC [label="BSC\n(OsmoBSC, 3rd party)" color=red]; 
                 color=white 
         } 

         subgraph cluster_0 { 
                 BS11 [label="Siemens BS-11", shape=box]; 
                 SIU [label="Ericsson SIU"]; 
                 RBS2K [label="Ericsson RBS 2000\n(many models)", shape=box]; 
                 Nokia [label="Nokia InSite, MetroSite", shape=box]; 

                 BSC -- L2TPD [label="Unix Socket"]; 
                 L2TPD -- SIU [label="Ericsson\nL2TP/IP"]; 
                 SIU -- RBS2K [label="Ericsson\nAbis/E1"]; 

                 { rank=same; BS11 RBS2K Nokia } 

                 label = "Classic E1/T1"; 
         } 

         subgraph cluster_1 { 

                 OsmoBTS -- sysmoBTS [label="osmo-bts-sysmo"]; 
                 OsmoBTS -- LC15 [label="osmo-bts-lc15"]; 
                 OsmoBTS -- OCT [label="osmo-bts-octphy"]; 
                 OsmoBTS -- TRX [label="osmo-bts-trx"]; 
                 OsmoBTS -- OtherPHY [style=dashed]; 

                 TRX -- USRP; 
                 TRX -- UmTRX; 
                 TRX -- OtherSDR [style=dashed]; 

                 { rank=same; nanoBTS sysmoBTS LC15 OCT UmTRX } 

                 label = "IP/Ethernet based"; 
         } 

 } 
 }} 

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

 h2. User Manuals 

 * osmo-bsc User Manual: http://ftp.osmocom.org/docs/latest/osmobsc-usermanual.pdf 
 * osmo-bsc VTY Reference: http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf 

 h2. Source code 

 The source code is available from @gitea.osmocom.org@ (module @osmo-bsc@). 

 Public read-only access is available via 
 <pre> 
 git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc 
 </pre> 

 You can browse it via gitea: https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc 

 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://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/bsc 
 * results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/ 

 h2. Contact / Getting Help 

 Contact us via the openbsc@ 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 

 The old OsmoBSC-SCCPlite was created by Holger Freyther based on the earler OpenBSC/OsmoNITB code by Dieter Spaar, Harald Welte, Holger Freyther and contributors. 

 3GPP AoIP support was developed by sysmocom.    Today, OsmoBSC is maintained by Harald Welte and his team at sysmocom. 

 h2. History / Naming / SCCPlite 

 Until 2017, we used to have an @osmo-bsc@ part of the old @openbsc.git@ repository which implemented a smaller sub-set of the BSC functionality with an [[cellular-infrastructure:SCCPLite]] based A interface.    This legacy program is now called @osmo-bsc-sccplite@ and continues to be available for legacy users.    However, it is not actively developed anymore.    SCCPlite protocol support has been re-introduced in the new @osmo-bsc@ from @osmo-bsc.git@.    Users should not use the obsolete and unmaintained @osmo-bsc-sccplite@ anymore. 

 {{include(cellular-infrastructure:MacroCommercialSupport)}}
Add picture from clipboard (Maximum size: 48.8 MB)