Add New Page: You are not allowed to add pages Select section/namespace. New page title.
 

Commotion-OpenBTS-Dev Notes

Base Repos:
GPRS Support: OpenBTS and PCU (Packet Control Unit).

  • OpenBTS: github.com/chemeris/openbts-p2.8.git (gprs-exp branch)
  • PCU: git.osmocom.org/osmo-pcu (master and jolly branches)

Handover:

Multi-ARFCN:

  • github.com/ttsou/openbts-multi-arfcn.git (master branch)

Prerequisites

Misc

OpenBTS-GPRS Installation Guide

Install prerequisites:

sudo apt-get install autoconf libtool libosip2-dev libortp-dev libusb-1.0-0-dev g++ sqlite3 libsqlite3-dev erlang libreadline6-dev libreadline-dev libboost-all-dev cmake python-cheetah python-docutils doxygen liborc-0.4-dev asterisk libjpeg-dev libdbi0-dev libdbd-sqlite3 build-essential automake git-core pkg-config libfftw3-dev uml-utilities git-svn

Install UHD-Fairwaves git clone https://github.com/chemeris/UHD-Fairwaves.git
cd UHD-Fairwaves
cd host
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=../../install ../@ (will put this install into the <uhd-fairwaves source>/install directory) Note: Be sure that you read the output from this command and check that all the prerequisites are met. In particular, watch out for a missing Cheetah dependency. make
make install Install Freeswitch (http://wiki.freeswitch.org/wiki/Installation_Guide) git clone https://git.freeswitch.org/freeswitch.git
cd freeswitch\\ ./bootstrap.sh (or to run it in the background: ./bootstrap.sh -j)
./configure –prefix=`pwd`/install (this will put the binaries, etc under the source directory in install/)
make
make install
Build OpenGGSN:
git clone git.osmocom.org/openggsn.git
cd openggsn
autoreconf -i
./configure –prefix=`pwd`/install
make
make install
Build libosmocore:
git clone git.osmocom.org/libosmocore.git
cd libosmocore
autoreconf -fi
./configure –prefix=`pwd`/install
make
make install
sudo ldconfig
Build libosmo-abis:
git clone git:git.osmocom.org/libosmo-abis.git
cd libosmo-abis
autoreconf -fi
./configure –prefix=`pwd`/install PKG_CONFIG_PATH=../libosmocore
make
make install
sudo ldconfig
Build Osmo-PCU:
git clone git:
git.osmocom.org/osmo-pcu
cd osmo-pcu
autoreconf -i
./configure –prefix=`pwd`/install PKG_CONFIG_PATH=../libosmocore
make
make install
Build OpenBSC:
git clone git:git.osmocom.org/openbsc.git
cd openbsc/openbsc
autoreconf -i
./configure –prefix=`pwd`/install PKG_CONFIG_PATH=../../libosmocore:../../libosmo-abis:../../openggsn/install/lib/pkgconfig add (LIBGTP_CFLAGS) to AM_CFLAGS and add (LIBGTP_LIBS) to OSMO_LIBS in <openbsc source>/openbsc/src/gprs/Makefile make
make install
export LD_LIBRARY_PATH=<openggsn source>/install/lib/:<libosmocore source>/install/lib/
←- make sure this environment variable is set when you run osmo-sgsn! Build OpenBTS (GPRS):
git clone git:
github.com/chemeris/openbts-p2.8.git openbts-GPRS
cd openbts-GPRS
git checkout gprs-exp
./autogen.sh
./configure –prefix=`pwd`/install UHD_CFLAGS=“-I`pwd`/../UHD-Fairwaves/install/include” UHD_LIBS=“-L`pwd`/../UHD-Fairwaves/install/lib -luhd”
In <openbts-gprs>/sqlite3/Makefile, add
-ldl to LDFLAGS In Transceiver52M/UHDDevice.cpp, change \\single_usrp
to
\\multi_usrp
wherever it occurs (3 instances)
make
make install
Build OpenBTS (Handover):
git clone https://github.com/dmisol/openbts-p2.8 openbts-handover
cd openbts-handover
git checkout handover-sandbox
./autogen.sh
./configure –prefix=`pwd`/install
make
make install
Build OpenBTS (Multi-ARFCN):
git clone git:github.com/ttsou/openbts-multi-arfcn.git
cd openbts-multi-arfcn
./autogen.sh
./configure –prefix=`pwd`/install
make
make install
===== Serval integration notes ===== Add the following to /etc/asterisk/extensions.conf:
[phones]
include ⇒ openbts Make sure there the interfaces config option is set it servald, or else it won't run. Check using sudo ./servald config get . If it nothing is listed, set the option with sudo ./servald config set interfaces '+eth0'; sudo ./servald stop; sudo ./servald start Also make sure the following serval config options are set: dna.helper.executable=/home/openbts/app_servaldna/conf_adv/num2sip.py
dna.helper.argv.1=/home/openbts/app_servaldna/conf_adv/num2sip.ini'' * When following Serval's OpenBTS integration documentation, don't set the power attenuation to -60 dB, or else your phone might not pick up a signal. -20 dB seemed to work fine, however. * Make sure no device has more than one identity in its keyring…currently, this will break Serval-OpenBTS integration. * All Serval devices must be on the same subnet, or one Serval device must have interfaces on distinct subnets in order to bridge them. For example, my laptop was connected to the LAN over ethernet to the OpenBTS box, as well as connected to the wireless network along with the Serval phones. Because Serval listened both on the wireless and ethernet interfaces, the phones were able to reach the OpenBTS box.

development_resources/bts/general_openbts_notes.txt · Last modified: 2013/12/19 21:23 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported