You are on page 1of 6

Development of an Open-Source GSM Femtocell

and Integrated Core Infrastructure


Thomas Tsou, Thomas Cooper, Robert McGwier, T. Charles Clancy, Jeffrey Reed
Electrical and Computer Engineering
Virginia Tech
{ttsou, tacooper, rwmcgwi, tcc, reedjh}@vt.edu

Abstract—Open source development applied to cellular GSM In recent years, open source implementations of various
technology is a fairly recent, but growing, concept. Another trend GSM components have been introduced as viable candidates
is the continually growing capability of low-power embedded for cellular system testing, research, and deployment. In open
processors, which makes them increasingly suitable for open
source GSM applications. This paper applies two open source source development, source code or hardware designs - and
software packages, OpenBTS and OpenBSC, to an readily generally many reserved rights - are provided under an open
available embedded hardware platform, the Universal Hardware license that permits nonrestrictive use. Two such open source
Radio Peripheral (USRP) E100. The USRP E100 device is a GSM examples are OpenBTS [2] and OpenBSC [3] which
heterogeneous processor platform designed for software-defined implement Base Transceiver Station (BTS) and Base Station
radio use. The result is an embedded base station that can
be deployed in standalone configuration or as part of a larger Controller (BSC) functionalities respectively. Together, the
GSM network. A software radio transceiver implementation is BTS and BSC comprise the Base Station Subsystem (BSS),
presented that leverages optimized capabilities of all available which is the combined entity that handles air interface traffic
processors: a general purpose ARM processor, DSP, and FPGA. and signalling between mobile handsets and the GSM core
Comparative performance measures are also provided. network.
While typically associated with software, the open source
I. I NTRODUCTION
model also applies to hardware where essential design infor-
The Global System for Mobile (GSM) cellular standard, mation, such as schematics, firmware, or driver source code,
having been in existence for nearly two decades, is the most is made openly available. For example, the Universal Software
widely deployed wireless technology in the world. As of July Radio Peripheral (USRP) is a well known example of the open
2012, the number of overall cellular subscriptions worldwide source development model applied to a hardware product.
stands at 5.6 billion with roughly 75% of connections served With products such as the USRP and the general availabil-
by standard GSM [1]. Undoubtedly, third generation networks ity of low-cost, high performance processing capability, the
and beyond, such as Universal Mobile Telecommunications often complicated task of procuring dedicated – and gener-
System (UMTS) and Long Term Evolution (LTE), are under- ally restrictive – GSM baseband equipment is substantially
going extraordinary growth and will constitute a significant reduced. The combination of easily accessible open source
market share moving forward. Currently, however, users of software and hardware has allowed GSM implementations to
these advanced networks still make up a minority share of be developed and operational systems constructed in relatively
subscribers when examined at a global scale - this is especially short periods of time with significantly lower costs compared
true in many developing regions and conflict zones where sub- to more traditional development paths. With a substantially
scribers may be restricted by economic or political concerns in lower barrier to entry, open source implementations such as
addition to limited availability of high speed networks. While OpenBTS, OpenBSC, and the USRP have influenced and
we can surely expect GSM market share to decline over time, supported discussion around critical topics such as mobile
GSM networks will continue to maintain a large worldwide security [4]–[6], rural access [7], [8], privacy and public policy
presence serving billions of users for the near and indefinite [9], [10].
future. Progressing in parallel to the availability of open hardware
Given the ubiquity of GSM based products, access to is the progressing capability of embedded processors and de-
developmental GSM technology has generally been prohibitive vices. Low-power and increasingly fast embedded processors
for most researchers and individuals outside of commercial have distinctly driven a new wave of consumer and military
wireless industries. The restrictive nature of the technology is applications in products such as smartphones and military ra-
both complex and longstanding; various reasons include regu- dios. When combined with open source GSM software, similar
latory access, proprietary licensing, and patent encumbrances application processors that drive these now ubiquitous prod-
among numerous other concerns. While the state of these and ucts are also capable of supporting unconventional applications
other related issues continue to evolve within their respective such as embedded base station and network functionality.
circles, alternative development paths have recently emerged The potential effects of easily accessible open source GSM
from the open source community. technology existing in the reduced form factor of embedded

978-1-4673-3/12/$31.00 ©2013 IEEE


While the GSM standard specifies that all the aforemen-
tioned elements are present for an operational network, for
many small cell configurations, creating a network with dis-
crete implementations of BTS, BSC, MSC, and a multitude of
other entities is often undesirable due to to cost and practical-
ity. As a result, small scale network installations generally
utilize techniques to reduce the maintenance and overhead
of various network components. For example, functionality
of multiple elements can be integrated into a single package
or, alternatively, the traditional core network can be bypassed
entirely.
Fig. 1. GSM network architecture
A. OpenBTS
The OpenBTS Project implements an independent BTS
devices is significant. Aforementioned security and privacy
that – rather than connecting to a typical BSC and MSC
implications are notable, and fundamentaly new applications
– interfaces through Session Initiation Protocol (SIP) to a
are possible. For example, the integration of wireless mesh
software private branch exchange (PBX). With this approach,
network backhaul [11], [12] through low-power embedded
open source PBX solutions can be used to route mobile and
devices is one novel possibility.
external connections using a standardized VoIP protocol. For
This paper describes the development of a deployable GSM the software radio air interface, multiple hardware options are
femtocell created using a combination of open source software supported with variants from the USRP product line being
and hardware while leveraging the optimized capabilities of an the most commonly used. By providing minimally integrated
embedded platform. Specifically, an open source implementa- BSC and MSC functionality and using a software PBX for
tion of the GSM air interface Um [13], OpenBTS, is ported switching and calling functions, OpenBTS functions as a
to an E100 USRP, an embedded heterogeneous processor GSM access point that can operate independently without
platform designed for software-defined radio use. Further- signalling and control from a core network. Without a standard
more, two different network configurations are introduced: a Abis connection, however, the hybrid GSM/VoIP solution
standalone hybrid Voice over IP (VoIP) approach using only lacks certain functionalities of standard GSM networks such
OpenBTS and a more conventional approach that integrates as handover support and specification compliant multi-BTS
OpenBTS with OpenBSC. configurations.
The remainder of the paper is organized as follows. Sec-
tion II introduces open source software implementations in the B. OpenBSC
framework of basic GSM network architecture. The hardware Compared to the general approach of OpenBTS, OpenBSC
platform, application partitioning, and interprocessor commu- takes a more traditional path toward GSM network imple-
nication structure are discussed in Section III. Section IV mentation. Whereas OpenBTS realizes an alternative GSM
describes the physical layer implementation and provides architecture, OpenBSC provides a network side implementa-
comparative performance results of the software-defined radio tion that closely follows the standard specifications. OpenBSC
transceiver. Configuration of OpenBTS in an alternative BSC interfaces with one or more of the supported commercial
configuration mode is discussed in Section V. BTS units and can create a stand-alone GSM network that
combines functionality from a BSC, MSC, HLR, VLR, EIR,
II. GSM N ETWORK A RCHITECTURE
and AuC into one package. Additionally, the lower layers
A basic GSM network architecture consists of multiple of the OpenBTS stack may be configured to interface to
components as shown in Figure 1. Each cell contains a OpenBSC in a traditional network architecture rather than the
Base Transceiver Station (BTS) that provides an Um radio hybrid VoIP configuration. This approach is described in more
air interface to multiple Mobile Stations (MS). The regional detail in Section V.
functionality and interconnectivity of each BTS is controlled
by a Base Station Controller (BSC) through the Abis interface. III. E100 USRP P LATFORM
The combination of one or more BTS units combined with a The E100 platform includes three reconfigurable processors
BSC creates a Base Station Subsystem (BSS), which attaches suitable for different aspects of cellular use: Xilinx Spartan-
to the GSM core network. The core network centers around 3A FPGA, ARM CortexA8, and Texas Instruments fixed point
the Mobile Switching Center (MSC) and handles routing and C64x+ DSP. The general purpose ARM processor (GPP)
switching between multiple BSC units. Finally, essential user and C64x+, as components of the TI OMAP3530 application
data is managed through various data storage elements: Au- processor, are collocated on a removable Gumstix computer-
thentication Center (AuC), Visitor Location Register (VLR), on-module board [14]. The FPGA is mounted directly on the
Home Location Register (HLR), and Equipment Identity Reg- main board and interfaces with the other processors through
ister (EIR). a combination of General Purpose Input / Output (GPIO)
the General Purpose Memory Controller (GPMC) over the
OMAP L3 and L4 interconnects. The FPGA communication
structure of the E100 can bee seen in Figure 2. Mediation
of FPGA interaction occurs through a Linux kernel driver,
which controls the GPMC to initiate DMA transfers containing
sampled data across processor boundaries. With coordination
from the kernel driver, a user space library, the Universal
Hardware Driver (UHD), exposes data from kernel space and
presents a sampled signal stream interface to the OpenBTS
application. Within the OpenBTS receiver, the sampled data
stream is segmented into TDMA bursts using timing metadata
inserted by the FPGA firmware. These formed timeslot bursts
are subsequently transferred to the DSP for signal processing
and demodulation. The transmit case consists of the inverse
set of operations with the omission of DSP interaction.
ARM to C64x+ transfers are implemented using TI
DSP/BIOS Link (DSPLINK), which provides an interface and
Fig. 2. E100 multi-processor platform abstraction layer for a shared memory and hardware interrupt
based transport. During initialization, asynchronous message
buffers are allocated from a shared memory pool. Through
pins and the OMAP3530 General Purpose Memory Controller DSPLINK, OpenBTS uses message queues for transferring
(GPMC). The overall processor structure and connections are shared memory pointers to and from the DSP; these memory
shown in Figure 2. pointers reference buffers containing the bursts received from
The embedded BTS implementation partitions base station the FPGA. Either side of the connection can access the shared
functionality across multiple processors in order to support buffer contents by translating the pointer address between the
different aspects of GSM operation in an efficient manner. ARM and DSP virtual address spaces. The data in memory
The precise timing necessary to meet the strict, real-time re- is then read or written by an explicit cache invalidation or
quirement of GSM specific TDMA access is managed through cache write respectively. The overall GPP–DSP message queue
coordinated use of the ARM and FPGA cores. Computation- transport is shown in Figure 3. This mechanism facilitates an
ally intensive signal processing operations are handled through efficient and relatively simple method to communicate a high
two approaches; the receive side operations of the transceiver volume of sampled GSM data bursts across the GPP–DSP
are offloaded to the C64x+ DSP, while the simpler transmit barrier for accelerated receiver handling.
side remains on the ARM and is vector optimized using
single instruction, multiple data (SIMD) operations. Finally,
the ARM Cortex-A8 handles upper-layer GSM signaling, user
applications, and remaining operations that do not necessitate
specialized processing.

A. Interprocessor Communication
Distribution of base station functionality across the set
of multiple, heterogeneous cores greatly improves efficiency
and increases the capabilities of the device, but introduces
the added task of managing communication across each of
the different processing units. Because of disparate physical
locations, interconnects, and the unique characteristics of each
processor, there is no unified interprocessor communication
architecture available for the E100. Rather, interaction between
the specialized DSP and FPGA cores and the GPP occurs
through separate, independently implemented interfaces. Also,
no direct FPGA–DSP line of interaction is implemented as all
communications flows through the GPP. While less optimal Fig. 3. C64x shared memory transport
than a directly mapped FPGA–DSP interface, this approach
was found sufficient for OpenBTS use as shown in the
performance results section. IV. P HYSICAL L AYER I MPLEMENTATION
The FPGA communicates with the ARM processor through The FPGA of the E100 provides a variety of functions that
a combination of GPIO and memory transfers controlled by include supporting external connectivity, device configuration,
and interfacing to mixed signal components. Serving as an
intermediate stage between GSM signal processing and the
digital converters, the FPGA provides flexible sample rate
selection and rate matching appropriate for the GSM specific
symbol rate of 270.833 ksps. Furthermore, by shifting the
high rate, and most intensive, filtering operations to the FPGA
reduces overall computational burden throughout the entire
system.

A. TDMA Interface
The GSM standard uses time division multiple access
(TDMA) for network access which places strict timing re-
quirements on the hardware in order to maintain precise times-
lot alignment. Real time performance limitations of general
purpose application processors, such as the ARM, prohibit
their direct use for cellular applications. Even when real
time operating systems (RTOS) are employed, the necessary
sample stability for cellular TDMA access [15] is a significant
magnitude greater than the performance available from a GPP.
Consequently, OpenBTS leverages the FPGA, which provides Fig. 4. OpenBTS L1/PHY receive chain
predictable, deterministic behavior based on programmable
logic for timeslot alignment.
For the OpenBTS transceiver, the FPGA maintains send
and receive side buffers that contain packets of sampled data
and additional timing metadata. The timing metadata indicates
when the samples arrived or when samples should be sent for
receive and transmit functionalities respectively. With these
hardware generated timestamp values, TDMA timeslots are
precisely aligned by the FPGA with respect to other timeslots
in both downlink and uplink directions.
The combination of FPGA and ARM packet handling with
added timing metadata relaxes real time requirements that
would otherwise be intractable on the host GPP processor.
Real time requirements still exist on the host in the need
for packets to arrive on the FPGA before a rolling deadline,
however, this limitation is significantly less restrictive than that Fig. 5. OpenBTS L1/PHY transmit chain
of maintaining accurate sample timing alignment.

B. Signal Processing filtering operations – make up the majority receiver operations.


A particularly unique aspect of OpenBTS is that the im- The repetitive nature of MAC operations justifies offloading
plementation does not depend on any dedicated baseband such tasks to the DSP core. For example, the interpolation and
hardware and relies completely on a software-defined radio fractional delay processing are two operations implemented
transceiver. The GSM uses symbol rate of 270.833 kHz; using polyphase filterbanks, which can easily leverage opti-
though modest by comparison to more recent cellular stan- mized libraries and specialized capabilities of the C64x+.
dards, the required signal bandwidth is substantial on an 2) Transmitter Structure: As is typical in many commu-
embedded application processor without DSP acceleration nication systems, the transmitter is simpler than the receiver
or any other forms of optimized operation. Consequently, since no synchronization or timing recovery stages are nec-
targeting DSP utilization along with maximizing efficiency essary. In particular, the GMSK modulator implementation in
through specialized ARM instructions is a critical objective OpenBTS is implemented with a low complexity linearized
of running OpenBTS on the E100 platform. Laurent representation [16]. The transmitter path is shown in
1) Receiver Structure: The OpenBTS receiver design is Figure 5
shown in Figure 4 and encompasses all portions of the GSM Because of the comparatively simpler design, the transmit
physical layer with the exception of channel coding, which is chain does not justify full offload onto the DSP processor
implemented separately from the transceiver. Notably, tasks given the addition transport overhead. Instead, the transmit
consisting of high-volume complex multiply and multiply- signal processing runs on the ARM processor with critical
accumulate (MAC) instructions – such as convolution used in processing sections optimized with ARM NEON assembly
TABLE I
GSM BURST HANDLING RATE

Configuration Transfer Size Bursts / second


ARM baseline N/A 3.3e3
ARM w/ NEON N/A 40.3e3
ARM w/ DSP 8 kB 22.0e3
ARM w/ DSP 16 kB 44.1e3
ARM w/ DSP 32 kB 87.9e3

operations, which take advantage of SIMD vector extensions


[17]. These extensions allow for the use of 128-bit quadword
registers that perform four floating point multiplications with a
single instructions. In addition, memory can be managed more Fig. 6. OpenBSC / OpenBTS network architecture
accurately to minimize load and store operations.

C. Performance Results in the form of small and large sized memory transactions
respectively.
In order to justify the architecture choices, independent test
cases were created to evaluate and compare different code and V. BSC I NTERFACING
processor combinations. The benchmark test case was based With an operational embedded transceiver, OpenBTS can be
on iterative convolution operations, which form the basis of the configured for standalone operation or modified for more typ-
OpenBTS transceiver signal processing. Repeated convolution ical BSC interface use. Section II described typical OpenBTS
closely reflects the transmit side modulation operation as well operation using a hybrid GSM–VoIP approach that operates
as interpolation filtering heavily used in the OpenBTS receiver. without a dedicated BSC. This section describes the alternative
The tests included 20,000 iterations of randomized GSM bursts approach of attaching a BSC to OpenBTS over IP.
(sequences of 156 complex symbols sampled at 2 samples
per symbol) convolved with an 8 tap real valued FIR filter. A. Motivations
Mean burst processing rate was then derived from the overall Integrating OpenBTS and OpenBSC connects two major
completion time. We compared NEON and DSP optimized open source projects together, allowing for more control
implementations against the ARM processor with the standard and customization of GSM components and protocols. This
GCC compiler output. Because use of the DSP involves inter- approach is accommodated by Osmo-USRP, a new interface
processor communication, we also examine various message layer designed to provide an interface between the two open
transport sizes. source packages. There are a number of motivations for such
A large increase in achievable burst handling rate was ob- an approach, which include addressing certain limitations of
served with SIMD and DSP optimization as shown in Table I. OpenBTS network configuration. Since OpenBTS has a hybrid
With NEON we observed a 12x speedup much higher than L3 with GSM and SIP features, the program cannot connect to
the expected 4x from vector operations alone. This disparity any GSM core infrastructure via the standard Abis interface.
is attributed selective memory operations, which constitute While this is an advantage of a strictly OpenBTS configuration
a sizeable portion of processor time in addition to internal in many ways, it can be prohibitive in other situations – namely
register–register arithmetic operations. Much larger speedups OpenBTS does not support standardized multi-cellular features
are found in the DSP case with the dedicated processor enabled by the BSC. By building an interface to connect
and fixed point implementation. Note that DSP performance OpenBTS to OpenBSC and effectively remove hybrid SIP
was directly linked to transport message size, which clearly functionality, there are additional possibilities for operating
illustrates the overhead of interprocessor communications. In a custom open source GSM network with multiple BTS
fact, we can conclude that for our GSM test case, the C64x components. Configuration and operating status, as well as
DSP is underutilized and primarily limited by memory and custom goals such as monitoring target users, can then be
transport overhead rather than actual signal processing. managed at a centralized instance of OpenBSC.
In summary, the GCC compiler is not particularly effec-
tive in generating efficient ARM code for repetitive filtering B. Design Implementation
operations. Substantial increases can be found by optimizing The L1 and transceiver functionality of OpenBTS is inte-
with NEON assembly instructions. Not surprisingly, addi- grated with the GSM core network of OpenBSC and Osmo-
tional, substantial gains can be found by using the dedicated BTS. This integration is achieved through the Osmo-USRP
DSP coprocessor. With this approach, though, the accelerated layer, which removes most of L2 and hybrid L3 from
computing capability must be balanced with the overhead of OpenBTS and provides an interface to the L2 of Osmo-BTS.
interprocessor communication. Additionally, in both NEON In Figure 6, the architecture of interconnecting open source
and DSP cases, we encounter limitations of memory I/O speed programs is compared to that of the standard GSM network.
Finally, source code was also modified to support multiple
configurations of standalone OpenBTS operation or standard
GSM networked operation with OpenBSC.
R EFERENCES
[1] Global mobile Suppliers Association (GSA), “Global mobile market
update and output for GSM, WCDMA-HSPA/HSPA+ and LTE,” Sept
2011.
[2] D. Burgess, H. Samra, et al., “The OpenBTS Project,” [Online] Avail-
able: http://wush.net/trac/rangepublic, April 2012.
[3] H. Welte, H. Freyther, et al., “OpenBSC,” [Online] Available: http://
openbsc.osmocom.org, April 2012.
[4] I. Androulidakis, “Confidentiality, Integrity, and Availability Threats
in Mobile Phones,” in Mobile Phone Security and Forensics, ser.
SpringerBriefs in Electrical and Computer Engineering, 2012, pp. 1–
11.
[5] M. Becher, F. Freiling, J. Hoffmann, T. Holz, S. Uellenbeck, and
C. Wolf, “Mobile Security Catching Up? Revealing the Nuts and Bolts
of the Security of Mobile Devices,” in Security and Privacy, 2011 IEEE
Symposium on, May 2011, pp. 96 –111.
Fig. 7. Osmo-BTS inter-layer message handling [6] M. Paik, “Stragglers of the herd get eaten: security concerns for GSM
mobile banking applications,” in Proceedings of the Eleventh Workshop
on Mobile Computing Systems & Applications, ser. HotMobile ’10. New
York, NY, USA: ACM, 2010, pp. 54–59.
Osmo-USRP is highlighted to show its place in the GSM stack [7] A. Anand, V. Pejovic, E. M. Belding, and D. L. Johnson, “Villagecell:
of a standard BTS, between the L1 USRP transceiver and the cost effective cellular connectivity in rural areas,” in Proceedings of
the Fifth International Conference on Information and Communication
L2-L3 Osmo-BTS. Technologies and Development. New York, NY, USA: ACM, 2012, pp.
Osmo-USRP uses inter-layer primitives defined in Osmo- 180–189.
BTS to process messages passed between the L1 and an event- [8] V. Gabale, R. Gopalakrishnan, and B. Raman, “The pilot deployment of
a low cost, low power gateway to extend cellular coverage in developing
driven L2 via a pair of Unix domain sockets. In the downlink regions,” in Proceedings of the 5th ACM workshop on Networked
direction, a thread multiplexer functions to route the message systems for developing regions. New York, NY, USA: ACM, 2011,
to the appropriate OpenBTS L1 logical channel specified by pp. 21–26.
[9] S. D. Meinrath, J. W. Losey, and B. Lennett, “A Growing Digital Divide:
the L2 header. In the reverse direction, L2 header information Internet Freedom and the Negative Impact of Command-and-Control
is attached to L1 messages, which are then written to the Networking,” IEEE Internet Computing, vol. 15, no. 4, pp. 75–79, 2011.
uplink socket and processed in Osmo-BTS L2. This system [10] K. Rechert, K. Meier, B. Greschbach, D. Wehrle, and D. von Su-
chodoletz, “Assessing Location Privacy in Mobile Communication Net-
architecture, along with the connections to USRP and Osmo- works,” in Information Security, X. Lai, J. Zhou, and H. Li, Eds.
BTS, is shown in Figure 7. Springer, 2011, vol. 7001, pp. 309–324.
[11] A. Dhananjay, M. Tierney, J. Li, and L. Subramanian, “Wire: a new rural
VI. C ONCLUSION connectivity paradigm,” SIGCOMM Comput. Commun. Rev., vol. 41,
no. 4, pp. 462–463, Aug. 2011.
While the long term impact of open source GSM software [12] M. Kretschmer, C. Niephaus, T. Horstmann, and K. Jonas, “Providing
and hardware on the cellular environment remains to be seen, mobile phone access in rural areas via heterogeneous meshed wireless
back-haul networks,” in Communications Workshops (ICC), 2011 IEEE
more immediate influences can be observed in the greater International Conference on, June 2011, pp. 1–6.
availability and comparatively easy access of products suitable [13] 3GPP, “Physical layer on the radio path; General description,” 3rd
for GSM development. This paper describes one such example Generation Partnership Project (3GPP), TS 05.01, Dec. 2004.
[14] Gumstix, “Overo COMS,” [Online] Available: http://www.gumstix.com,
in the form of an embedded GSM femtocell built from open April 2012.
source software packages, OpenBTS and OpenBSC, and a [15] 3GPP, “Radio subsystem synchronization,” 3rd Generation Partnership
popular off-the-shelf software radio product, USRP E100. Project (3GPP), TS 05.10, Sep. 2003.
[16] P. Laurent, “Exact and approximate construction of digital phase
Required toolchains and supporting libraries were freely avail- modulations by superposition of amplitude modulated pulses (amp),”
able to support multi-processor integration and optimization Communications, IEEE Transactions on, vol. 34, no. 2, pp. 150 – 160,
for signal processing. Performance results demonstrate that Feb 1986.
[17] ARM, “ARM Architecture Reference Manual: ARMv7-A and ARMv7-
the open hardware and software combination is capable of R edition,” ARM DDI 0406C, 2011.
obtaining the desired result of supporting OpenBTS operation
on the target E100 embedded platform.

You might also like