Project

General

Profile

Wiki » History » Revision 13

Revision 12 (laforge, 02/21/2016 08:16 PM) → Revision 13/41 (laforge, 02/27/2016 08:32 PM)

h1. Intro: Osmocom Cellular Network Infrastructure 

 {{>toc}} 

 This is a project aiming to create a [[Free / Open Source Software]], Free Software, (A)GPL-licensed software implementations for the GSM/3GPP protocol stacks and network elements, preferably as pure software implementations running on general-purpose computers.    All our software is available in source code form, to anyone. elements. 

 This is very contrary to classic telecom vendors, where every network element is implemented as proprietary hardware and software, without the ability to understand or modify then, and where each and every feature is subject to license fees. 

 We had originally started with an A-bis (plus BSC/MSC/HLR) implementation for experimentation and research purpose (now called [[OpenBSC:]], but have since moved way beyond that and implemented many other interfaces and network elements of GSM, GPRS, EDGE and UMTS/HSPA networks. 

 At the heart of most installations that. 



 What this means: [[OpenBSC:]] is the OpenBSC project with its two flavors 
 * [[OsmoNITB:]] - 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. 
 * [[OsmoBSC:]] - a pure _GSM Base Station Controller_ with support for many different BTS vendors and models attached via Abis (over E1 and IP). 

 The actual radio interface [[OpenBSC:]] includes functionality normally performed by the following components of such a network can be provided by classic GSM BTS equipment from classic Vendors like Siemens, Nokia, Ericsson, ip.access.    However, a variety of more modern BTS options are avalable, based on our [[OsmoBTS:]] software using hardware from sysmocom ([[openbsc:sysmoBTS]]), Fairwaves ([[UmTRX:]]) or Ettus (USRP) network: BSC (Base Station Controller), MSC (Mobile Switching Center), HLR (Home Location Register), AuC (Authentication Center), VLR (Visitor Location Register), EIR (Equipment Identity Register). 

 In addition, the Osmocom project also develops and maintains the [[OsmoPCU:]], [[OsmoSGSN:]] and [[OpenGGSN:]] programs for adding GPRS and EDGE GPRS/EDGE capabilities. 

 Most recently, there is 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 project for adding 3G (UMTS, HSPA) support. variety of other [[BTS]] equipment like the Ericsson RBS 2000 family.    Specifically, this is adding Iu-CS Today, most of the users and Iu-PS support to [[OsmoNITB:]], as well as a new [[OsmoHNBGW:]] to offer an Iuh interface towards hNodeBs (femtocells, small cells) active developers work not with proprietary BTSs, but with BTSs running our [[OsmoBTS:]] software, i.e. either the "sysmoBTS":http://www.sysmocom.de/products/sysmobts family of hardware or SDR based hardware with [[OsmoTRX:]] like the "UmSITE":https://fairwaves.co/wp/products/. 

 _We are always looking for [[HardwareDonations]] of any kind of 2G / 3G / LTE related carrier equipment._ 

 There is also continued work on creating a Free Software / Open Source software SS7 / SIGTRAN / TCAP / MAP (M3UA, SUA, SCCP, TCAP, MAP) protocol stacks, both stack in the [[erlang-core-network-signalling-projects:Erlang]] programming language Erlang, as well as in Smalltalk. 

 There are many a number of other side projects like the "SIMtrace":http://simtrace.osmocom.org/ protocol tracer/sniffer for (U)SIM APDUs. 


 h1. Overview Diagram 

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

 !osmocom-gsm.png! 


 h2. Getting started 

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


 h2. Software 

 h3.    Software for a Base Transceiver Station 

 * [[OsmoBTS:]] -- A BTS implementation 
 ** [[OsmoTRX:]] -- A transceiver for [[OsmoBTS:]] to use with SDR hardware 
 * [[OsmoPCU:]] -- A packet control unit for GPRS/EDGE enabling the BTS. 

 h3. Software for running a full minimal GSM Network in a Box 

 * [[OsmoNITB:]] -- A stand-alone gsm-network-in-a-box program implementing minimal subset of BSC, MSC, HLR, AuC and EIR. 

 h3. Software for running in pure _BSC only_ mode, attaching via A/SCCP to a MSC 

 * [[OsmoBSC:]] -- [[OpenBSC:]] in BSC-only mode 
 ** [[OsmoBSC:OpenBSCWithSCCP]] -- Howto use [[OpenBSC:]] with a separate/real MSC 
 * [[bsc_mgcp]] -- A stupid [[MediaGatewayControlProtocol]] (MGCP) gateway 
 ** [[bsc_mgcp_VTY]] -- Reference for the interactive command line and config file 

 h3.    Software for UMA/GAN (Unified Mobile Access) 

 * [[OpenBSC:osmo-ganc]] -- [[OpenBSC:]] in GANC mode 

 h3.    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 

 h3. GPRS/EDGE related software 

 * [[OsmoPCU:]] -- A GPRS + EDGE RLC/MAC and PCU implementation to be used with [[OsmoBTS:]] 
 * [[OsmoSGSN:]] -- A Serving GPRS Support Node work-in-progress SGSN 
 ** [[OsmoSGSN:osmo-sgsn_VTY]] -- Reference for the interactive command line and config file 
 * [[[OpenGGSN:]] ** [[OpenBSC_GPRS]] -- A Gateway GPRS Support Node 

 There's also a tutorial at [[OpenBSC_GPRS]] explaining how to Howto add data support to your [[OsmoNITB:]] [[OpenBSC:]] setup 
 ** [[OsmoPCU:]] -- A work-in-progress RLC/MAC and PCU implementation 


 * Important legal information on [[SoftwareLicensing]] 
 * [[meas_web]] -- Web based measurement utility for [[OpenBSC:]] 

 h2. Developers 

 * Browse the repositories at http://git.osmocom.org/ 
 * Mailinglists Mailinglist is at http://lists.osmocom.org/mailman/listinfo/ http://lists.gnumonks.org/mailman/listinfo/openbsc 
 * Jenkins (continuous integration at http://jenkins.osmocom.org/jenkins/ http://jenkins.osmocom.org/jenkins 
 * Wiki is right here ;) 
 * Developer conferences: [[OpenBSC:OsmoDevCon]] 
 * [[Tasks]] -- Tasks/Internships/Junior Jobs for [[OpenBSC:]] and Osmocom 
 * [[Devtools]] -- Various tools to find/fix errors, send patches, etc 
 * [[Coding_standards]] -- Coding standards 


 h2. Related projects 


 * [[OsmocomBB:]] - Free Software GSM protocol stack for mobile phones 
 * [http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTS [[OpenBTS]]":http://bb.osmocom.org/] 
 * "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 
 
 --- 

 Please check the project/wiki pages of the respecitve sub-projects. 

 h2. This Wiki 

 This wiki contains information that is shared by the various sub-projects.   

 A full list of wiki pages is listed below: 

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