OpenBSC » History » Version 4
laforge, 02/19/2016 10:47 PM
update status
1 | 1 | laforge | '''OpenBSC''' is the current name for a software program that started with the name bs11-abis. |
---|---|---|---|
2 | |||
3 | == What is OpenBSC == |
||
4 | 2 | laforge | 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. |
5 | 1 | laforge | |
6 | The goal of the project is to |
||
7 | * provide a basis for experimentation and security research with GSM from the network side |
||
8 | * document, publicized and point out any security related issues that we find as part of that |
||
9 | * learn more about GSM networks on a lower level, particularly the practical aspects with real-world equipment |
||
10 | |||
11 | We '''are not interested''' in |
||
12 | * building a stable/reliable BSC/MSC for deployment in actual networks |
||
13 | * building something that follows the GSM spec to the last detail |
||
14 | * disrupting actual commercial GSM network |
||
15 | |||
16 | == Requirements == |
||
17 | |||
18 | 2 | laforge | OpenBSC runs only on Linux systems and requires a [wiki:E1] interface card compatible with [wiki:mISDN] |
19 | 1 | laforge | |
20 | 2 | laforge | It requires a GSM [wiki:BTS]. The only currently tested configuration is with a Siemens [wiki:BS-11] microBTS. |
21 | 1 | laforge | |
22 | == Source code == |
||
23 | |||
24 | You can check out the source code via |
||
25 | {{{ |
||
26 | svn checkout http://bs11-abis.gnumonks.org/svn/trunk/openbsc |
||
27 | }}} |
||
28 | or browse it at http://bs11-abis.gnumonks.org/trac/browser |
||
29 | |||
30 | 3 | laforge | == Mailing list == |
31 | |||
32 | There's a developer mailing list called openbsc@lists.gnumonks.org |
||
33 | Subscription is available at [http://lists.gnumonks.org/mailman/listinfo/openbsc/] |
||
34 | |||
35 | 2 | laforge | == Project status == |
36 | |||
37 | === Things that work === |
||
38 | * [wiki:OML] Initialization of the BTS |
||
39 | * [wiki:RSL] bringup, channel allocation, Channel required / Immediate Assign |
||
40 | * Very simplistic [wiki:HLR] implemented as sqlite database |
||
41 | * Non-secure Authentication using [wiki:IMEI]/[wiki:IMSI] and regular SIM cards. |
||
42 | * [wiki:IMEI]/[wiki:IMSI] skimming of all phones that try to register with OpenBSC |
||
43 | * [wiki:SMS] reception and [wiki:SMS] sending (simplistic, not possible to route them yet) |
||
44 | * Transmission of MM INFO packets with operator name and local time / timezone |
||
45 | * Extremely simplistic call control for MO (Mobile Originated) calls |
||
46 | 4 | laforge | * TCH/F support |
47 | * paging of mobiles that are registered |
||
48 | * signalling of mobile-originated and mobile-terminated calls |
||
49 | 2 | laforge | |
50 | === Things that are implemented but don't work === |
||
51 | 4 | laforge | * support for multiple [wiki:TRX] in one [wiki:BTS] |
52 | 2 | laforge | |
53 | === Things that are missing === |
||
54 | * Cell Broadcast |
||
55 | * processing/switching of calls from one phone to another |
||
56 | * demultiplex of the four 16k sub-channels with voice data contained in one [wiki:E1] timeslot |
||
57 | * transcoding of voice data |
||
58 | * TCH/H voice calls |
||
59 | * [wiki:CSD] calls |
||
60 | 1 | laforge | * handover between multiple [wiki:BTS] |
61 | 2 | laforge | * emergency call handling |
62 | * Discontinuous TX and RX ([wiki:DTX] / [wiki:DRX]) support |
||
63 | 4 | laforge | * Support the use of A3/A8 and A5/1 (we need SIM cards with known Ki, e.g. simulated SIM cards) |
64 | 2 | laforge | |
65 | 1 | laforge | == Authors == |
66 | |||
67 | 2 | laforge | OpenBSC was mainly developed by [http://laforge.gnumonks.org/ Harald Welte]. Contributions by Holger Freyther, Stefan Schmidt, Daniel Willmann, Jan Luebbe and Thomas Seiler. |
68 | 1 | laforge | |
69 | 2 | laforge | Thanks to Dieter Spaar for his [wiki:BS11-Init], without which we would not have been able to make progress as quickly as we did. |