Project

General

Profile

Actions

OpenBSC » History » Revision 15

« Previous | Revision 15/45 (diff) | Next »
laforge, 02/19/2016 10:47 PM


PageOutline
'''OpenBSC''' is the current name for a software program that started with the name bs11-abis.

What is OpenBSC
It is a [wiki:BSC] (Base Station Controller) side implementation of the A-bis protocol, as implemented in the GSM Technical Specification 08.5x and 12.21. It implements a minimal subset of the [wiki:BSC], [wiki:MSC] and [wiki:HLR]. It does not implement ant of the interfaces (like the A and B interfaces) between the higher-order GSM network components.

The goal of the project is to * provide a basis for experimentation and security research with GSM from the network side * document, publicized and point out any security related issues that we find as part of that * learn more about GSM networks on a lower level, particularly the practical aspects with real-world equipment

We '''are not interested''' in * building a stable/reliable BSC/MSC for deployment in networks requiring high-9 (99.999....) availability * building something that follows the GSM spec to the last detail * disrupting actual commercial GSM network

Requirements

While OpenBSC is mainly written in portable C99 code, there are some non-portable parts: * The E1 input driver requires a Linux kernel with mISDN support and an [wiki:E1] interface card compatible with [wiki:mISDN]

To opertate a GSM network, you not only need OpenBSC but of course also some kind of GSM [wiki:BTS]. The only currently tested configurations are with a * Siemens [wiki:BS11 BS-11] microBTS * [wiki:nanoBTS ip.access nanoBTS]

Source code

=== Releases ===
As we're a mostly research oriented project, we don't really have any releases yet. This will likely change soon.

=== Development Version ===
You can check out the source code via {{{
git clone git://git.osmocom.org/openbsc.git
}}}
or browse it at http://openbsc.gnumonks.org/trac/browser

Mailing list

There's a developer mailing list called
Subscription is available at [http://lists.gnumonks.org/mailman/listinfo/openbsc/]

IRC (Internet Relay Chat)

We have an IRC channel where some developers and users hang out. You can find it at:
irc.freenode.net/#openbsc

Project status

=== Things that work === * Housekeeping * [wiki:OML] Initialization of the BTS * Support for frequency hopping channels on BTS equipment that supports it (like BS-11) * [wiki:RSL] bringup, channel allocation, Channel required / Immediate Assign * Mobility Management * Very simplistic [wiki:HLR] implemented as sqlite database * Non-secure Authentication using [wiki:IMEI]/[wiki:IMSI] and regular SIM cards. * [wiki:IMEI]/[wiki:IMSI] skimming of all phones that try to register with OpenBSC * Transmission of MM INFO packets with operator name and local time / timezone * paging of mobiles that are registered to the BTS * keeping track of which location area a phone has last performed location updating * in-call handover between multiple cells inside one BSC * SMS Support * [wiki:SMS] reception and [wiki:SMS] sending, including routing between subscribers * Sending of SMS from OpenBSC commandline * Sending of SMS from external applications by writing to the SQL tables * Voice Call Support * MO (Mobile Originated) and MT (Mobile Terminated) calls * TCH/F support with FR and EFR codec * TCH/H support with AMR codec (in BSC-only configuration) * E1 support * demultiplex of the four 16k sub-channels with voice data contained in one [wiki:E1] timeslot * support for multiple [wiki:TRX] in one [wiki:BTS] * support for multiple [wiki:BTS] connected to the same E1 link (multi-loop configuration) * Abis/IP support * Abis/IP protocol for nanoBTS * RTP gateway to interoperate E1 based BTS and nanoBTS on one BSC and switch calls between them * GPRS/EDGE support * configuring the nanoBTS OML objects/attributes for GPRS and EDGE * setting SYSTEM INFORMATION 13 via RSL * configurable RAID/CGI/NSVCI/NSEI/BVCI * have the BTS interoperate a SGSN with Gb (NS-over-IP) interface * pre-alpha state [wiki:OsmoSGSN] included in OpenBSC

=== Things that are implemented but don't work yet or aren't tested yet === * GPRS support (SGSN + GGSN inside OpenBSC) * Support the use of A3/A8 and A5/1 (we need SIM cards with known Ki, e.g. simulated SIM cards)

=== Things being worked at === * GPS/DCF77 disciplined quartz reference for the HFC-E1 card (via HS-Esslingen, Student Research Project)

=== Things that are missing === * Cell Broadcast * transcoding of voice data * TCH/H voice calls (in standalone config) * [wiki:CSD] calls * emergency call handling * Discontinuous TX and RX ([wiki:DTX] / [wiki:DRX]) support

Authors

OpenBSC was mainly developed by [http://laforge.gnumonks.org/ Harald Welte]. Contributions by Holger Freyther, Stefan Schmidt, Daniel Willmann, Jan Luebbe, Thomas Seiler and Andreas Eversberg.

Special thanks to Dieter Spaar for [wiki:BS11-Init] and tons of feedback and comments, without which we would not have been able to make progress as quickly as we did.

Files (0)

Updated by laforge about 8 years ago · 15 revisions

Add picture from clipboard (Maximum size: 48.8 MB)