wiki:OpenBTS

Version 17 (modified by davemsolomon, 9 years ago) ( diff )

Orbit + OpenBTS

All that you will need to create a tiny GSM network using Orbit Hardware is a GSM Phone, any SIM Card and the OpenBTS software. Actually you need a few more pieces of software but they are included in the steps below. The additional software is Asterisk which handles Voice over IP, you need Asterisk because OpenBTS "just" implements the GSM wireless communication between the phone and the base station, but asterisk stitches voice calls together using the TCP/IP stack. Additional software also includes SMQueue to give you Text Messaging and the NMCli.py software makes it easy to add "subscribers" to your tiny GSM network.

The following book was my guide when I was doing this install → http://openbts.org/site/wp-content/uploads/ebook/Getting_Started_with_OpenBTS_Range_Networks.pdf

The first thing you should ask is → Which SDR's does OpenBTS support for GSM? → http://openbts.org/w/index.php/RadioIntegration

I have had all of my success with the N210, which was available on Orbit Sandbox 3 at the time of writing this article. How did I know the N210 was available on SB3? → If you can find the "Orbit Online Scheduler" then you should be able to find the "Orbit Status Page", you can ask the "Orbit Status Page", "On which nodes is the N210 installed?"

Once you know which box is hosting your target SDR, the next thing you should do is to verify that the SDR is working on your target box.

Starting from scratch, let's make sure we start with an Image that already has SDR support:

davemsolomon@console.sb3:~$ omf load -t node1-1 -i ubuntu-14-04-64bit-sdr.ndz
davemsolomon@console.sb3:~$ omf tell -a on -t node1-1

SSH to the target box with the SDR:

davemsolomon@console.sb3:~$ ssh root@node1-1

Before doing anything with OpenBTS, make sure the SDR is happy:

root@node1-1:~# uhd_usrp_probe
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.002-86-g566dbc2b

-- Opening a USRP2/N-Series device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes
  _____________________________________________________
 /
|       Device: USRP2 / N-Series Device
|     _____________________________________________________
|    /
|   |       Mboard: N210r4
|   |   hardware: 2577
|   |   mac-addr: 00:80:2f:0a:cc:db
|   |   ip-addr: 192.168.10.2
|   |   subnet: 255.255.255.255
|   |   gateway: 255.255.255.255
|   |   gpsdo: none
|   |   serial: F297B6
|   |   FW Version: 12.4
|   |   FPGA Version: 10.1
...

Install the dependencies

root@node1-1:~# apt-get install software-properties-common python-software-properties
root@node1-1:~# add-apt-repository ppa:git-core/ppa
root@node1-1:~# apt-get update
root@node1-1:~# apt-get install git
root@node1-1:~# apt-get install bind9
root@node1-1:~# apt-get -f install

Download and prepare to build OpenBTS, Asterisk, SMQueue and Node Manager

root@node1-1:~# git clone https://github.com/RangeNetworks/dev.git
root@node1-1:~# cd dev
root@node1-1:~/dev# ./clone.sh
root@node1-1:~/dev# ./switchto.sh master

Build packages for OpenBTS with support for our SDR as well as Asterisk, SMQueue and Node Manager:
(this will take about 10 minutes, grab a cup of coffee)

root@node1-1:~/dev#./build.sh N210 
Note: See TracWiki for help on using the wiki.