Project

General

Profile

WikiStart » History » Revision 144

Revision 143 (laforge, 12/12/2016 12:20 PM) → Revision 144/146 (laforge, 04/19/2017 01:42 PM)

h1. Welcome to Osmocom [[OpenBSC]] 

 {{>toc}} 

 We have started with an A-bis (plus BSC/MSC/HLR) implementation for experimentation and research purpose, but have since moved way beyond that. 

 What this means: [[OpenBSC]] is not just a standard BSC, but a _GSM network in a box_ software, implementing the minimal necessary parts to build a small, self-contained GSM network. 

 [[OpenBSC]] includes functionality normally performed by the following components of a GSM network: BSC (Base Station Controller), MSC (Mobile Switching Center), HLR (Home Location Register), AuC (Authentication Center), VLR (Visitor Location Register), EIR (Equipment Identity Register). 

 We have started with the Siemens BS11 microBTS, mainly targetted the ip.access nanoBTS for some years, but has since been extended to support a variety of other [[BTS]] equipment like the Ericsson RBS 2000 family.    Today, most of the users and active developers work not with proprietary BTSs, but with BTSs running our [[OsmoBTS]] software, i.e. either the [[sysmoBTS]] family of hardware or SDR based hardware with [[OsmoTRX:]] like the [[UmTRX:]] or "UmSITE":https://fairwaves.co/wp/products/. 

 _We are always looking for [[cellular-infrastructure:HardwareDonations]] of any kind of GSM / 3G related carrier equipment._ 

 h1. Overview Diagram 


 Please see the below overview diagram about common possible configurations of the Osmocom software. 

 !osmocom-gsm.png! 


 h2. Getting started 

 [[UnderstandingOpenBSC]] -- Where to start learning about [[OpenBSC]], what it does, and how. 

 

 h2. [[OpenBSC]] Software 

 * Software for running a full minimal GSM Network in a Box: 
 ** [[OpenBSC]] -- The Free Software project implementing various parts of the GSM network 
 *** [[osmo-nitb]] -- A stand-alone gsm-network-in-a-box program implementing minimal subset of BSC, MSC, HLR, AuC and EIR. 
 **** [[osmo-nitb_VTY]] -- Reference for the interactive command line and config file 
 * Software utilities for BTS configuration, provisioning and the like 
 ** [[bs11_config]] -- A small tool for configuring the BS-11 using RS232 
 ** [[ipaccess-find]] -- A small tool to find nanoBTS in your network  
 ** [[ipaccess-config]] -- A small tool to set NVRAM configuration of the nanoBTS 
 ** [[isdnsync]] -- A small tool to use the PSTN as frequency standard 
 * Software for running in pure _BSC only_ mode, attaching via A/SCCP to a MSC 
 ** [[osmo-bsc]] -- [[OpenBSC]] in BSC-only mode 
 ** [[bsc_mgcp]] -- A stupid [[MediaGatewayControlProtocol]] (MGCP) gateway 
 *** [[bsc_mgcp_VTY]] -- Reference for the interactive command line and config file 
 * Software for UMA/GAN (Unified Mobile Access) 
 ** [[osmo-ganc]] -- [[OpenBSC]] in GANC mode 
 * Special purpose software for aggregating multiple A or Gb links 
 ** [[bsc_nat]] -- a BSC NAT/Multiplexer 
 *** [[bsc_nat_VTY]] -- Reference for the interactive command line and config file 
 *** [[bsc_nat_release]] -- Release testing for the BSC NAT. 
 ** [[osmo-gbproxy]] -- A proxy/gateway for aggregating multiple Gb links betwen BSS and SGSN 
 *** [[osmo-gbproxy_VTY]] -- Reference for the interactive command line and config file 
 ** [[release-testing|Testing]] -- Comments and what makes sense to test for releases 
 * [[OpenBSC]] related [[PortNumbers]] -- A list of TCP port numbers as they are used by [[OpenBSC]] and related programs 
 * Protocol extensions 
 **[[MgcpExtensions]] -- Extensions to MGCP 
 * [[simulation]] -- Running [[OpenBSC]] without a GSM Basestation 
 * Important legal information on [[SoftwareLicensing]] 
 * [[meas_web]] -- Web based measurement utility for [[OpenBSC]] 

 h3. Supported BTSs 


 h2. BTS Support 

 {{graphviz_link() 
 graph G { 

         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]; 

         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, OsmoNITB, 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"; 
         } 

 } 
 }} 


 h3. Information related to a specific BTS model 

 {{child_pages(BTS_Hardware,depth=1)}} 

 h3. Topics related to BTSs with classic E1 interface (non-IP based): 

 {{child_pages(E1-Interface)}} 

 h3. Miscellaneous Information 

 * [[GSM]] -- Some links for starting to understand GSM 
 * [[LegalNotes]] -- Important Legal notes on operating GSM base stations 
 * [[FieldTests]] -- The [[OpenBSC]] field tests and their reports 

 h3. Howtos 

 * Standard configuration: 
 *** [[Building_OpenBSC]] -- Getting started with [[OpenBSC]] under Debian 
 *** [[multi-BTS_with_handover]] -- Connecting 2x BTS to a single BSC/NITB and enabling handover  

 * Advanced topics: 
 *** [[OpenBSC_with_Asterisk]] -- A comprehensive tutorial on setting up [[OpenBSC]] with Asterisk 
 *** [[OpenBSC_LCR]] -- [[OpenBSC]]+LCR with Asterisk (obsolete) 
 *** [[OpenBSC_LCR_Ubuntu1204]] -- Short installation guide for [[OpenBSC]] with Asterisk on Ubuntu 12.04 
 *** [[OpenBSC_Crypto]] -- Howto add A5/x cryptography support to your [[OpenBSC]] setup 
 *** [[SDR_OsmoTRX_network_from_scratch]] -- Building everything from scratch for SDR based hardware with [[OsmoTRX]], [[OsmoBTS]] and [[OsmoNITB]]. 

 * RF Topics: 
 *** [[cable_antenna]] -- Build new antennas for your BTS 
 *** [[ethernet_dummyload]] -- Use an old ethernet terminator as dummyload 
 *** [[10db_attenuator]] -- Turn 30mW into 3 mW 

 

 h2. Developers 

 * Browse the repositories at http://git.osmocom.org/ 
 * "Mailinglist":https://lists.osmocom.org/mailman/listinfo 
 ** For voice/SMS/..., use "OpenBSC":https://lists.osmocom.org/mailman/listinfo/openbsc 
 ** For GPRS/SGSN/data-comms related discussions, use "osmocom-net-gprs":https://lists.osmocom.org/mailman/listinfo/osmocom-net-gprs 
 * [[Jenkins|Continuous Integration efforts]] 
 * Wiki is right here ;) 
 * Developer conferences: [[OsmoDevCon]] 
 * [[Tasks]] -- Tasks/Internships/Junior Jobs for [[OpenBSC]] and Osmocom 
 * [[Devtools]] -- Various tools to find/fix errors, send patches, etc 
 * [[Coding_standards]] -- Coding standards 
 * [[PacketDump]] -- Using wireshark on PCAP files 

 

 h2. News 

 * _OpenBSC ran many more experimental and commercial networks, but no one bothered to update this section..._ 
 * [[OpenBSC]] was running an experimental GSM network at "CCC Camp":http://events.ccc.de/camp/2011/wiki/GSM in the Summer of 2011 
 * [[OpenBSC]] was running an experimental GSM network at "27c3":http://events.ccc.de/congress/2010 in December 2010 
 * The slides of the "25C3 presentation _Running your own GSM network_":http://events.ccc.de/congress/2008/Fahrplan/events/3007.en.html "are available":http://events.ccc.de/congress/2008/Fahrplan/attachments/1259_25C3-OpenBSC.pdf. 
 * The slides of the "26C3 presentation _Fuzzing GSM handsets using [[OpenBSC]]_":http://events.ccc.de/congress/2009/Fahrplan/events/3535.en.html "are available":http://events.ccc.de/congress/2009/Fahrplan/attachments/1503_openbsc_gsm_fuzzing.pdf 

 

 h2. Related projects 

 * [[simplehlr]] -- A web interface for the [[OpenBSC]] HLR database 
 * [[OsmocomBB:]] - Free Software GSM protocol stack for mobile phones 
 * "OpenBTS":http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTS 
 * "The THC GSM project":http://wiki.thc.org/gsm/ 
 * "airprobe.org":http://airprobe.org/ 
 * "Homepage of Dr.-Ing. Joachim Goeller":http://www2.informatik.hu-berlin.de/~goeller/ 

 

 h2. Thanks 

 * to "On-Waves ehf":http://on-waves.com/ and "sysmocom GmbH":http://sysmocom.de/ for funding part of the development and maintennance 
 * to http://junghanns.net for supporting us with discounted E1 boards 
 * to "Netzing AG":http://netzing.de/ for funding part of the earlier [[OpenBSC:]] development 
 * to Kevin Redon for the Osmocom logo
Add picture from clipboard (Maximum size: 48.8 MB)