0% found this document useful (0 votes)
219 views8 pages

Open Source Mobile Network Using Openbts and Usrp 9: The University of Mississippi Undergraduate Research Journal

This article describes implementing a GSM mobile network using an USRP device and OpenBTS software. OpenBTS is open source software that allows a single computer to function as a base transceiver station to create a self-contained cellular network. The USRP hardware is used to transmit and receive radio signals, while OpenBTS handles core network functions like call establishment. Asterisk software is also used to enable long-distance calling functionality by connecting to other networks like PSTN. The authors created a simple network using a USRP B210, OpenBTS and Asterisk on a single Linux computer, and were able to make voice calls and send SMS messages between Android phones on the network.

Uploaded by

Mouhamed Fall
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
219 views8 pages

Open Source Mobile Network Using Openbts and Usrp 9: The University of Mississippi Undergraduate Research Journal

This article describes implementing a GSM mobile network using an USRP device and OpenBTS software. OpenBTS is open source software that allows a single computer to function as a base transceiver station to create a self-contained cellular network. The USRP hardware is used to transmit and receive radio signals, while OpenBTS handles core network functions like call establishment. Asterisk software is also used to enable long-distance calling functionality by connecting to other networks like PSTN. The authors created a simple network using a USRP B210, OpenBTS and Asterisk on a single Linux computer, and were able to make voice calls and send SMS messages between Android phones on the network.

Uploaded by

Mouhamed Fall
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

The University of Mississippi Undergraduate Research Journal

Volume 2 Article 12

4-1-2017

Open Source Mobile Network Using OpenBTS


and USRP 9
Erin Bratu

Bryan Harper

Follow this and additional works at: https://egrove.olemiss.edu/umurjournal

Recommended Citation
Bratu, Erin and Harper, Bryan (2017) "Open Source Mobile Network Using OpenBTS and USRP 9," The University of Mississippi
Undergraduate Research Journal: Vol. 2 , Article 12.
Available at: https://egrove.olemiss.edu/umurjournal/vol2/iss1/12

This Article is brought to you for free and open access by eGrove. It has been accepted for inclusion in The University of Mississippi Undergraduate
Research Journal by an authorized editor of eGrove. For more information, please contact [email protected].
Open Source Mobile Network Using OpenBTS and USRP 9
Erratum
2017-04-01

This article is available in The University of Mississippi Undergraduate Research Journal: https://egrove.olemiss.edu/umurjournal/
vol2/iss1/12
Open Open
Source Mobile Network Using OpenBTS and USRP
Source Mobile Network Using OpenBTS and USRP
Erin Bratu and Bryan Harper Advised by Mr. Raviteja Chinnambeti and Dr. Lei Cao
Erin Bratu and Bryan Harper
Department of ElectricalAdvised
Engineering, University
by Mr. Raviteja of Mississippi,
Chinnambeti and Dr. University,
Lei Cao MS 38677
Department of Electrical Engineering, University of Mississipi, University, MS 3867 7

Abstract— This paper describes the implementation of a


GSM (Global System for Mobile) network using a USRP
(Universal Software Radio Peripheral) module integrated with
OpenBTS (Open Base Transceiver Station). The implementa-
tion can perform the same basic functions as a commercial GSM
network, including voice, SMS (Short Message Service), MMS
(Multimedia Messaging Service), and GPRS (General packet
Radio Service). The advantage of this implementation is that
a self-contained cellular network can be created with a single
computer. This simple network can be extended with multiple
nodes to ideally use for situations where mobile communications
infrastructure is absent or compromised (e.g., in disaster struck
areas).

I. INTRODUCTION
The creation of affordable, transportable, easily installable,
Fig. 1. Hardware Setup.
and reliable networks has been a prime motivation in the
field of communication. These network features can be
realized by integration of hardware and software as a single
II. SYSTEM AND COMPONENTS
functioning network unit. Such a network is called a Software
Defined Network (SDN). The advantage of using an SDN Open Base Station Transceiver
over traditional networking methods is that much of the OpenBTS is an open source software, written in C++, that
configuration can be adjusted as needed, with few to no can be used to implement a self-contained cellular network.
changes to the existing hardware infrastructure required. Peripherals—such as USRP devices—are used as base sta-
This paper describes the use of USRP as a hardware unit tions. GSM (Global System for Mobile Communications)
and OpenBTS as a software unit to create a functioning, devices can be used as mobile stations, as OpenBTS uses the
portable GSM network. This network can be used for Search GSM protocol stack [2]. However, core network functions,
and Rescue (SAR) missions in disaster struck areas, as a local such as resource management, connection establishment,
commercial or non-commercial network in remote areas for switching, etc., are performed internally on the computer(s)
communication, as a local network between employees in an running the software [3]. The services which can be provided
industrial zone e.t.c.. include voice, SMS, MMS, and data.
All of the above situations call for a dynamic, low-cost
mobile network that can be configured as needed. A demon- Asterisk
stration of this type of system may be seen in Fig. 1. This For long-distance calling functionality we use the software
particular system uses a computer running Linux Ubuntu Asterisk. Asterisk is an open source software implementation
14.04, a USRP B210, two GSM-band antennae, and Android- of a PBX (Private Branch Exchange). In addition to commu-
based mobile phones, as well as the Asterisk and OpenBTS nication within the PBX, Asterisk is capable of connecting
softwares to create the network. The implementation of with other networks such as the PSTN (Public Switched
GSM network using USRP can be found online but never Telephone network) or VoIP (Voice over Internet Protocol)
given in detailed description, this paper gives full insight on services [9]. OpenBTS delivers calls via SIP (session ini-
implementation including the debugging process if any error tiation protocol) via Asterisk. Without Asterisk or a VoIP
persists during installation process, as well as presents some soft switch, OpenBTS would require calls to be forwarded
field test results. through an operator’s mobile switching center.
The rest of the paper is organized as follows. Section II
explains the system components and requirements. section III Universal Software Radio Peripheral
describes the implementation procedure of GSM network. USRP is an inexpensive hardware platform for software
Section IV shows the performance of the system in a defined radio. Generally, a USRP device is connected to
practical scenario, and discusses possible ways for network a host computer by using high-speed links. Host-based
extension. Finally, section V concludes the paper. software is used to control the USRP in order to transmit
and receive data. All USRP products utilize free, open-source Step 2: Install GNU Radio and UHD
USRP hardware driver (UHD) software package. USRP Open the terminal window in ubuntu and install GNU
devices are commonly used with the GNU Radio software Radio along with UHD by running the following script:
suite to create complex software-defined radio systems.
wget h t t p : / / www. s b r a c . o r g / f i l e s / b u i l d g n u r a d i o &&
The USRP hardware driver (UHD) is provided by Ettus chmod a+x b u i l d g n u r a d i o && . / b u i l d g n u r a d i o
Research (National instruments subsidiary) for use with the
USRP product family. It is supported for use with Linux, For any additional instruction or detail refer to [5].
MacOS, Windows systems and several frameworks including
GNU Radio, LabVIEW, MATLAB and simulink. The UHD Step 3: Install Development Packages
functionality can also be directly accessed using UHD API It is necessary to install the following prerequisite devel-
which provides native support for C++. Any other languages opment packages on your Linux machine:
that can import C++ functions can also use UHD. For • autoconf
example, this can be used by Python through Simplified • libtool
Wrapper and Interface Generator (SWIG). • libosip2-dev
USRP B200/B210 are used in our implementation and • libortp-dev
their specifications include: • libusb-1.0-0-dev
• g++
• USB 3.0 interface
• sqlite3
• Xilinx Spartan 6 XC6SLX75 FPGA
• libsqlite3-dev
• A Cypress EZ-USB FX3 High-speed USB 3.0 controller
• erlang
• Analog Devices AD9361 RFIC
• libreadline6-dev
• Coverage from 70 MHz - 6 GHz RF
• libncurses5-dev
• Flexible rate 12 bit ADC/DAC
• libuhd-dev
• 1 TX, 1 RX, Half or Full Duplex (B200) / 2 TX, 2 RX,
• libuhd003
Half or Full Duplex (B210)
• -host
• Fully coherent 2 ⇥ 2MIMO capability (B210)
• libboost-dev
• Up to 56 MHz of real-time bandwidth 1 ⇥ 1
• bind9
• Up to 32 MHz of real-time bandwidth 2 ⇥ 2 (B210)
• ntp

Each package can be installed by opening a terminal window


III. IMPLEMENTATION
and entering the following command:
apt g e t i n s t a l l [ p a c k a g e ]
TABLE I
R EQUISITE E QUIPMENT FOR O PEN BTS I MPLEMENTATION WITH USRP. Multiple packages can be installed with a single command
by listing additional arguments:
Item Quantitiy
apt g e t i n s t a l l [ f i r s t ] [ s e c o n d ] . . .
USRP (B210 / B200) 1
Mobile Phone 2
SIM Card 2 Step 4: Update and Install Git
Antenna (900 1800 MHz) 2
Computer (Ubuntu 14.04) 1 Git is a free and open source distributed version control
system for small to very large projects, Run the following
scripts on terminal window to install Git which is used by
OpenBTS:
Step 1: Install Operating System
apt get i n s t a l l s o f t w a r e p r o p e r t i e s common
apt get i n s t a l l python s o f t w a r e p r o p e r t i e s
This implementation requires that one’s operating system add apt r e p o s i t o r y ppa : g i t c o r e / ppa
can be run using the “Upstart” initialization daemon, as apt get update
OpenBTS currently does not have support for other systems, apt get install git
such as “systemd” which is a system and session manager
for linux. Upstart is available in all Linux Ubuntu distribu- Step 5: Install SSH
tions beginning with Ubuntu 6.10; however, beginning with
Register your own SSH keys on Github, use Github
Ubuntu 15.04, the default is “systemd”, so for this project
registered account for this before entering the following
the Ubuntu 14.04 distribution is used.
command on terminal window.
One can find instructions on hard drive partitions
and dual booting with Windows and Ubuntu here: apt g e t i n s t a l l s s h
ssh keygen t r s a C ‘ ‘ name@email . com ’ ’
http://www.tecmint.com/ubuntu-14-04-installation-guide/. ssh a g e n t s
Alternatively, if enough RAM is available, one can use ssh add / . ssh / id r s a
VirtualBox: https://www.virtualbox.org/. xclip sel clip / . s s h / i d r s a . pub
After copying the SSH key paste it into the Github account
dpkg i ⇤ . deb
under the SSH key field and enter the following command
in the terminal to connect ssh from Github. For further help please refer to [6] and [8]. After the
ssh T g i t @ g i t h u b . com deb installation follow the instructions given in [7] to install
Asterisk and FreePBX.After that reboot the computer and
Step 6: Install OpenBTS test the services using the following commands:
Create a directory for installation of OpenBTS: start sipauthserve
start smqueue
cd dev start openbts
start asterisk
Download OpenBTS:
The above commands will start the services or displays mes-
g i t c l o n e h t t p s : / / g i t h u b . com / RangeNetworks / dev . g i t
. / clone . sh
sage “start: Job is already running: openbts” on successful
installation and similarly use the following commands to
Select the version or branch: stop the services for further configuration of Openbts and
. / s w i t c h t o . sh mas te r Asterisk.
stop sipauthserve
or s t o p smqueue
stop a s t e r i s k
. / s w i t c h t o . sh 5 . 0 i n s t a l l a t i o n of l i b a 5 3
cd / s r c / dev / l i b a 5 3
Step 8: Configuration
Install liba53:
Configuring the USRP and OpenBTS:
cd / s r c / dev / l i b a 5 3 After the successful installation of software components
make i n s t a l l
ldconfig required to setup the mobile network, the next important task
cd . . / to be performed is to configure the software to initiate the
connectivity between GSM mobiles with active SIM cards
Install libcoredumper and USRP.
cd l i b c o r e d u m p e r Note: Connect the USRP along with the two antennas
. / b u i l d . sh
dpkg i ⇤ . deb
before proceeding further.
cd . . The easiest way to manipulate the configuration keys is
g i t s u b m o d u l e update init recursive via the OpenBTS command line interface (CLI) with the
. / NodeManager / i n s t a l l l i b z m q . s h following shell command:
OpenBTS installation and debugging: / OpenBTS / OpenBTSCLI

cd dev Now configure the GSM band and Absolute Radio Fre-
. / b u i l d . s h B210
quency Channel Number (ARFCN) by the following com-
The above commands should have installed OpenBTS and mand and customize them if necessary.
built the necessary files but if any error persists one can use OpenBTS > c o n f i g GSM. R a d i o
the following commands: GSM. R a d i o . ARFCNs 1 [ d e f a u l t ]
GSM. R a d i o . Band 900 [ d e f a u l t ]
. / s w i t c h t o . sh 5 . 0 GSM. R a d i o . C0 51 [ d e f a u l t ]
cd o p e n b t s GSM. R a d i o . M a x E x p e c t e d D e l a y S p r e a d 4 [ d e f a u l t ]
g i t checkout master GSM. R a d i o . PowerManager . MaxAttenDB 10 [ d e f a u l t ]
git pull GSM. R a d i o . PowerManager . MinAttenDB 0 [ d e f a u l t ]
g i t submodule i n i t GSM. R a d i o . R S S I T a r g e t 50 [ d e f a u l t ]
g i t s u b m o d u l e update GSM. R a d i o . SNRTarget 10 [ d e f a u l t ]
cd . .
i n s t a l l l i b s o d i u m 13 d e p e n d e n c y f i l e i f prompted OpenBTS > c o n f i g
. / NodeManager / i n s t a l l l i b z m q . s h GSM. R a d i o . Band 850
. / b u i l d . s h B210 GSM. R a d i o . Band c h a n g e d from 900 to 850
WARNING: GSM. R a d i o . C0 ( 5 1 ) f a l l s o u t s i d e t h e v a l i d
The above commands should have resolved most of the r a n g e o f ARFCNs
128 251 f o r GSM. R a d i o . Band ( 8 5 0 )
installation issues. GSM. R a d i o . Band i s s t a t i c ; c h a n g e t a k e s e f f e c t on
Step 7: Install deb Packages restart

A Debian Package (.deb) is an archive file that consists If ARFCN falls outside the range please use the following
of executable files, libraries and documentation associated command to get it inside the range.
with particular suite of a program or group of programs. OpenBTS > c o n f i g
To install .deb files go to BUILDS folder installed in dev GSM. R a d i o . C0 166
GSM. R a d i o . C0 c h a n g e d from 5 1 to 166
and look for the folder named in the format year-month- GSM. R a d i o . C0 i s s t a t i c ; c h a n g e t a k e s e f f e c t on
date hours-minutes-seconds (ex: 2016-03-1410-47-42) and restart
run the following command:
Configuring the Mobile Phones:
c o n f i g C o n t r o l . LUR . O p e n R e g i s t r a t i o n . ⇤
Once the configuration is done proceed with the following
instructions to detect the USRP OpenBTS network (often
Now check the IMSI numbers of the connected mobiles
seen as Test PLMN 1-1 or 001005).
using the following command:
1) Launch the Settings application from the Android
menu system. OpenBTS > t m s i s
2) Select More. IMSI TMSI IMEI AUTH CREATED ACCESSED TMSI ASSIGNED
214057715229963 012546629231850 0 78 s 78 s 0
3) Select Mobile networks. 001010000000002 312547515229963 1 80 h 95 s 0
4) Select Network operators. This may or may not start 001010000000003 351771053005400 1 80 h 108 s 0
a search. If it does not, select Search networks.
5) Once the search has finished, a list of available carrier Here, a ’1’ in the AUTH column indicates the LUR
networks is presented. (Location Update Request) succeeded due to being a known
subscriber and a ’0’ indicates LUR failed due to the mobile
not being a known subscriber.

Step 9: Sending SMS Between Computer and Mobile


For enabling messaging between mobile phones we need
to text the phone number of each mobile phone (here
2201001 and 2202002) to 101 from the respective phones
for registering the mobile numbers.
Got SMS ’273 lnobw ’ from IMSI312547515229963 f o r
101.
R e s p o n d i n g w i t h ” 202 Queued ” .
S h o r t c o d e SMS 1 0 1 ( 2 2 0 1 0 0 1 ) .
a n s w e r i n g ” Your phone i s r e g i s t e r e d a s . ”

After registering the mobiles, send a text from one mobile


to the other using their respective registered numbers, as seen
in Fig. 3 and 4. In this case, the registered mobile numbers
are 2201001 and 2202002.
Doing this will test that both the devices and the network
are working properly before proceeding to the next step of
making calls from one mobile phone to another. If both
mobiles can receive texts from one another, then one can
move onto the next step. However, if the texts either do not
send or are not received, carefully check the configuration
from Step 8 to make sure that everything is set up properly.

Fig. 2. Manual carrier selection of network.

Now that the network is being seen by the mobiles,


we proceed to register the international mobile subscriber
identity (IMSI) numbers of the SIM cards for establishing the
mobile network. Use the following command in OpenBTS Fig. 3. Messaging from 2201001 to 2202002.
CLI to allow all the mobiles to connect to OpenBTS:
Fig. 6. Calling from 2201001 to 2202002.

Fig. 4. Messaging from 2202002 to 2201001.

Step 10: Calling Between Mobiles

NOTE : We use the Asterisk software for calling between


mobiles and configure the files (extensions.conf and sip.conf)
accordingly to enable GSM calling functions between mo-
biles After configuring the Asterisk files (extennsions.conf,

Fig. 7. Calling from 2202002 to 2201001.

IV. R ESULTS
A. Field Test:

TABLE II
PARAMETERS SET B EFORE ESTIMATING PERFORMANCE OF NETWORK .

Parameter Value
Frequency of operation 900 MHz
Transmitted power of BTS 23dBm
BTS gain 3dB
Transmitted power of MS 33dBm
Height of antenna at BTS 24.2cm
Noise RSSI -63dB
Uplink SNR cutoff 10dB

Before testing the performance of the network we fix the


parameters as listed in table II. Testing is conducted in such a
way that the host computer, USRP and one of the subscriber
to the network (Mobile 2201001) are made stationary at a
point while another subscriber (Mobile 2202002) moves to a
certain distance intervals and initiates calls. The performance
metrics like uplink signal to noise ratio ( UPLINK SNR ) in
dB, uplink frame erasure rate ( UPLINK FER ), downlink
received signal strength indicator ( DOWNLINK RSSI ) in
dBm and downlink bit error rate ( DOWNLINK BER ) of
Fig. 5. Configuring Asterisk. mobile calls are analyzed and plotted against the intervals
of distance. All these readings are calculated using “chans”
command available in OpenBTS terminal and averaging is
sip.conf) we will now be able to make calls between the reg- considered for consistency. Fig. 8 gives the Ariel view of
istered mobiles located within the USRP-OpenBTS network. testing site which is located at Oxford, Mississippi. The
Fig. 13. MULTI-BTS.

V. C ONCLUSION
The above implementation creates a complete, self-
contained cellular network with minimal hardware (a com-
puter and a USRP device). It is light, portable, cheap, and
simple to install. Additionally, all software used is free and
open-source. Thus, the implementation can find utility in
applications including SAR missions in areas with compro-
mised communication infrastructures, private networks for a
business or work site, or research and development.
Acknowledgments
This work is supported by NASA EPSCoR program under
grant NNX14AN38A.
R EFERENCES
[1] T. Rappaport, Wireless communications, 1st ed. Upper Saddle River,
N.J.: Prentice Hall PTR, 2002.
[2] ”OpenBTS”, En.wikipedia.org, 2016. [Online]. Available:
https://en.wikipedia.org/wiki/OpenBTS. [Accessed: 23- Nov- 2016].
[3] ”GSM”, En.wikipedia.org, 2016. [Online]. Available:
https://en.wikipedia.org/wiki/GSM. [Accessed: 23- Nov- 2016].
[4] ”2G”, En.wikipedia.org, 2016. [Online]. Available:
https://en.wikipedia.org/wiki/2G. [Accessed: 23- Nov- 2016].
[5] ”ECEN 4652/5002, Communications Lab, Spring 2016
- GNU Radio Installation”, Ecee.colorado.edu, 2016.
[Online]. Available: http://ecee.colorado.edu/ mathys/e-
cen4652/SDRsoftware/GNURadioInstall.html. [Accessed: 23- Nov-
2016].
[6] ”Instalasi dan Konfigurasi OpenBTS 5.0”, My notebook, 2016.
[Online]. Available: https://antonraharja.com/2016/03/16/instalasi-dan-
konfigurasi-openbts-5-0/. [Accessed: 23- Nov- 2016].
[7] ”Asterisk 13 and FreePBX 13 on Ubuntu 14.04”, My notebook, 2016.
[Online]. Available: https://antonraharja.com/2016/03/12/asterisk-13-
and-freepbx-13-on-ubuntu-14-04/. [Accessed: 23- Nov- 2016].
[8] ”OpenBTS 5.0 install”, MessageLoop Footprints, 2016. [Online].
Available: https://xmsg.org/wordpress/?p=819. [Accessed: 23- Nov-
2016].
[9] ”Asterisk (PBX)”. En.wikipedia.org. N.p., 2017. Web. 24 Jan. 2017.
[10] Anthony, Faustine, Maria Gabriel, and Bertha Shao. ”Open Source
Cellular Technologies for Cost Effective Cellular Connectivity in Rural
Areas.” International Journal of Computer Applications 146, no. 15
(2016).

You might also like