Project

General

Profile

Wiki » History » Version 15

laforge, 03/06/2016 05:25 AM

1 13 laforge
h1. Intro: Osmocom Cellular Network Infrastructure
2 1 laforge
3 7 laforge
{{>toc}}
4 7 laforge
5 13 laforge
This is a project aiming to create a [[Free / Open Source 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.
6 1 laforge
7 13 laforge
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.
8 1 laforge
9 13 laforge
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.
10 1 laforge
11 13 laforge
At the heart of most installations is the OpenBSC project with its two flavors
12 13 laforge
* [[OsmoNITB:]] - a _GSM network in a box_ software, implementing the minimal necessary parts to build a small, self-contained GSM network.
13 13 laforge
* [[OsmoBSC:]] - a pure _GSM Base Station Controller_ with support for many different BTS vendors and models attached via Abis (over E1 and IP).
14 1 laforge
15 13 laforge
The actual radio interface 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)
16 1 laforge
17 13 laforge
In addition, the Osmocom project also develops and maintains the [[OsmoPCU:]], [[OsmoSGSN:]] and [[OpenGGSN:]] programs for adding GPRS and EDGE capabilities.
18 1 laforge
19 13 laforge
Most recently, there is a project for adding 3G (UMTS, HSPA) support.  Specifically, this is adding Iu-CS and Iu-PS support to [[OsmoNITB:]], as well as a new [[OsmoHNBGW:]] to offer an Iuh interface towards hNodeBs (femtocells, small cells)
20 6 laforge
21 11 laforge
_We are always looking for [[HardwareDonations]] of any kind of 2G / 3G / LTE related carrier equipment._
22 6 laforge
23 13 laforge
There is also work on creating SS7 / SIGTRAN / TCAP / MAP protocol stacks, both in the [[erlang-core-network-signalling-projects:Erlang]] programming language as well as in Smalltalk.
24 6 laforge
25 13 laforge
There are many other side projects like the "SIMtrace":http://simtrace.osmocom.org/ protocol tracer/sniffer for (U)SIM APDUs.
26 6 laforge
27 13 laforge
28 6 laforge
h1. Overview Diagram
29 6 laforge
30 6 laforge
Please see the below overview diagram about common possible configurations of the Osmocom software.
31 6 laforge
32 4 laforge
!osmocom-gsm.png!
33 6 laforge
34 6 laforge
35 6 laforge
h2. Getting started
36 6 laforge
37 9 laforge
[[OpenBSC:UnderstandingOpenBSC]] -- Where to start learning about [[OpenBSC:]], what it does, and how.
38 6 laforge
39 6 laforge
40 6 laforge
h2. Software
41 6 laforge
42 6 laforge
h3.  Software for a Base Transceiver Station
43 6 laforge
44 6 laforge
* [[OsmoBTS:]] -- A BTS implementation
45 6 laforge
** [[OsmoTRX:]] -- A transceiver for [[OsmoBTS:]] to use with SDR hardware
46 8 laforge
* [[OsmoPCU:]] -- A packet control unit for GPRS/EDGE enabling the BTS.
47 6 laforge
48 6 laforge
h3. Software for running a full minimal GSM Network in a Box
49 6 laforge
50 6 laforge
* [[OsmoNITB:]] -- A stand-alone gsm-network-in-a-box program implementing minimal subset of BSC, MSC, HLR, AuC and EIR.
51 6 laforge
52 6 laforge
h3. Software for running in pure _BSC only_ mode, attaching via A/SCCP to a MSC
53 6 laforge
54 9 laforge
* [[OsmoBSC:]] -- [[OpenBSC:]] in BSC-only mode
55 9 laforge
** [[OsmoBSC:OpenBSCWithSCCP]] -- Howto use [[OpenBSC:]] with a separate/real MSC
56 6 laforge
* [[bsc_mgcp]] -- A stupid [[MediaGatewayControlProtocol]] (MGCP) gateway
57 6 laforge
** [[bsc_mgcp_VTY]] -- Reference for the interactive command line and config file
58 6 laforge
59 6 laforge
h3.  Software for UMA/GAN (Unified Mobile Access)
60 6 laforge
61 6 laforge
* [[OpenBSC:osmo-ganc]] -- [[OpenBSC:]] in GANC mode
62 6 laforge
63 6 laforge
h3.  Special purpose software for aggregating multiple A or Gb links
64 1 laforge
65 1 laforge
** [[bsc_nat]] -- a BSC NAT/Multiplexer
66 6 laforge
*** [[bsc_nat_VTY]] -- Reference for the interactive command line and config file
67 1 laforge
*** [[bsc_nat_release]] -- Release testing for the BSC NAT.
68 6 laforge
** [[osmo-gbproxy]] -- A proxy/gateway for aggregating multiple Gb links betwen BSS and SGSN
69 1 laforge
*** [[osmo-gbproxy_VTY]] -- Reference for the interactive command line and config file
70 6 laforge
** [[release-testing|Testing]] -- Comments and what makes sense to test for releases
71 6 laforge
72 6 laforge
h3. GPRS/EDGE related software
73 6 laforge
74 13 laforge
* [[OsmoPCU:]] -- A GPRS + EDGE RLC/MAC and PCU implementation to be used with [[OsmoBTS:]]
75 13 laforge
* [[OsmoSGSN:]] -- A Serving GPRS Support Node
76 14 laforge
* [[OpenGGSN:]] -- A Gateway GPRS Support Node
77 6 laforge
78 13 laforge
There's also a tutorial at [[OpenBSC_GPRS]] explaining how to add data support to your [[OsmoNITB:]] setup
79 6 laforge
80 13 laforge
81 9 laforge
* Important legal information on [[SoftwareLicensing]]
82 6 laforge
* [[meas_web]] -- Web based measurement utility for [[OpenBSC:]]
83 6 laforge
84 6 laforge
h2. Developers
85 6 laforge
86 9 laforge
* Browse the repositories at http://git.osmocom.org/
87 13 laforge
* Mailinglists at http://lists.osmocom.org/mailman/listinfo/
88 13 laforge
* Jenkins (continuous integration at http://jenkins.osmocom.org/jenkins/
89 9 laforge
* Wiki is right here ;)
90 9 laforge
* Developer conferences: [[OpenBSC:OsmoDevCon]]
91 6 laforge
* [[Tasks]] -- Tasks/Internships/Junior Jobs for [[OpenBSC:]] and Osmocom
92 6 laforge
* [[Devtools]] -- Various tools to find/fix errors, send patches, etc
93 6 laforge
* [[Coding_standards]] -- Coding standards
94 6 laforge
95 6 laforge
96 6 laforge
h2. Related projects
97 6 laforge
98 6 laforge
99 6 laforge
* [[OsmocomBB:]] - Free Software GSM protocol stack for mobile phones
100 6 laforge
* [http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTS [[OpenBTS]]":http://bb.osmocom.org/]
101 6 laforge
* "The THC GSM project":http://wiki.thc.org/gsm/
102 6 laforge
* "airprobe.org":http://airprobe.org/
103 6 laforge
* "Homepage of Dr.-Ing. Joachim Goeller":http://www2.informatik.hu-berlin.de/~goeller/
104 6 laforge
105 6 laforge
106 6 laforge
h2. Thanks
107 9 laforge
108 9 laforge
* to "On-Waves ehf":http://on-waves.com/ and "sysmocom GmbH":http://sysmocom.de/ for funding part of the development and maintennance
109 9 laforge
* to http://junghanns.net for supporting us with discounted E1 boards
110 6 laforge
* to "Netzing AG":http://netzing.de/ for funding part of the earlier [[OpenBSC:]] development
111 6 laforge
* to Kevin Redon for the Osmocom logo
112 6 laforge
 
113 4 laforge
---
114 5 laforge
115 5 laforge
Please check the project/wiki pages of the respecitve sub-projects.
116 4 laforge
117 4 laforge
h2. This Wiki
118 4 laforge
119 4 laforge
This wiki contains information that is shared by the various sub-projects.  
120 4 laforge
121 1 laforge
A full list of wiki pages is listed below:
122 3 laforge
123 1 laforge
{{child_pages}}
Add picture from clipboard (Maximum size: 48.8 MB)