OpenBTS: OpenBTS 3.1.3 Compile

From OnnoWiki
Jump to navigation Jump to search

Sumber: http://wush.net/trac/rangepublic/wiki/InstallOpenBTSrP313

Spesifikas Sistem

  • Sistem Operasi : Ubuntu 13.04
  • Hardware : USRP1


Install Pendukung

sudo apt-get -y install autoconf libtool libosip2-dev libusb-1.0-0-dev g++ sqlite3 \
libsqlite3-dev erlang libreadline6-dev libncurses5-dev libortp-dev libortp \
libfontconfig1-dev libxrender-dev libpulse-dev \
gcc-4.7 g++ automake libtool python-dev libfftw3-dev \
libcppunit-dev libboost-all-dev libusb-dev fort77 \
libsdl1.2-dev python-wxgtk2.8 subversion git-core guile-1.8-dev \
libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
python-cheetah python-lxml doxygen qt4-dev-tools \
libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools \
libpcre3 libpcre3-dbg libpcre3-dev libpcrecpp0 \
python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev \
autoconf libtool libosip2-dev libortp-dev \
libusb-1.0-0-dev g++ erlang bison flex

Install SDCC

Sebaiknya jangan mengcompile dari source code karena membuat pusing kepala. Install sdcc sebaiknya langsung dari file .deb saja.

cd /usr/local/src
wget -c http://launchpadlibrarian.net/38703081/sdcc_2.9.0-5_amd64.deb
wget -c http://launchpadlibrarian.net/38689168/sdcc-libraries_2.9.0-5_all.deb
dpkg -i sdcc_2.9.0-5_amd64.deb sdcc-libraries_2.9.0-5_all.deb

Download Source Code UHD

echo "/usr/local/lib" >> /etc/ld.so.conf
cd /usr/local/src
git clone git://ettus.sourcerepo.com/ettus/uhd.git uhd.git

Compile UHD

cd /usr/local/src/uhd.git/host/
mkdir build
cd /usr/local/src/uhd.git/host/build
cmake -DENABLE_LIBUHD=ON -DENABLE_EXAMPLES=ON -DENABLE_UTILS=ON -DENABLE_TESTS=ON ../
make
make test
make install
ldconfig
/usr/local/lib/uhd/utils/uhd_images_downloader.py

Image UHD ada di /usr/local/share/uhd/images

Install UHD USRP ke udev

cd /usr/local/share/uhd/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules

Download Source Code OpenBTS

ROOT_OPENBTS berada di /home/openbts/software/public

mkdir -p /OpenBTS/
mkdir -p /home/openbts/software/public
cd /home/openbts/software
svn co http://wush.net/svn/range/software/public public


Install liba53

cd /home/openbts/software/public
cd a53/trunk
sudo make install

Compile

Perbaiki source code

vi /home/openbts/software/public/openbts/tags/rP3.1.3/Control/TransactionTable.cpp

Pastikan pada line 1071

// mSIP.RTPSession()->rtp.last_rtcp_report_snt_r << "," <<
// mSIP.RTPSession()->rtp.last_rtcp_report_snt_s << "," <<
// mSIP.RTPSession()->rtp.rtcp_report_snt_interval << "," <<


cd /home/openbts/software/public/openbts/tags/rP3.1.3
sudo autoreconf -i
sudo ./configure --with-uhd --with-resamp 
sudo make

cd apps
sudo ln -s ../Transceiver52M/transceiver .
cd /home/openbts/software/public/openbts/tags/rP3.1.3/Transceiver52M
cp transceiver /OpenBTS/
cd /home/openbts/software/public/openbts/tags/rP3.1.3/apps
cp OpenBTS /OpenBTS/
cp OpenBTSDo /OpenBTS/
cp OpenBTSCLI /OpenBTS/
cp runloop.OpenBTS.sh /OpenBTS/

Set database konfigurasi OpenBTS

sudo mkdir /etc/OpenBTS 
sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"

Install Subscriber Registry

Buat directory Asterisk subscriber.

sudo mkdir -p /var/lib/asterisk/sqlite3dir  

Build SIPAuthServe.

cd /home/openbts/software/public/subscriberRegistry/tags/rP3.1.3
sudo make
cd /home/openbts/software/public/subscriberRegistry/tags/rP3.1.3
cp comp128 /usr/local/bin/
cp comp128 /OpenBTS/ 
cp sipauthserve /OpenBTS/
cp runloop.sipauthserve.sh /OpenBTS/

Inisialisasi subscriberRegistry config database. Run:

cd subscriberRegistry
sudo sqlite3 -init subscriberRegistry.example.sql /etc/OpenBTS/sipauthserve.db ".quit"

Install smqueue

Build SMQueue.

cd /home/openbts/software/public/smqueue/tags/rP3.1.3
sudo autoreconf -i
sudo ./configure
sudo make
cd /home/openbts/software/public/smqueue/tags/rP3.1.3
sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit"
cd /home/openbts/software/public/smqueue/tags/rP3.1.3/smqueue
cp runloop.smqueue.sh /OpenBTS/
cp smqueue /OpenBTS/

Menjalankan OpenBTS

Pastikan Yate di Compile & Install dengan baik


Menjalankan dapat dari /OpenBTS/

cd /OpenBTS/
./sipauthserve &
mkdir -p /var/lib/OpenBTS
touch /var/lib/OpenBTS/smq.cdr
./smqueue &
cd /usr/local/src/yate
rm -Rf /var/log/yate
rm -Rf /var/log/VBTS.log 
./run -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate -e /usr/local/share/yate -d
mkdir /var/run/OpenBTS/
touch /var/run/OpenBTS/TransactionTable.db
cd /OpenBTS/
./OpenBTS &


Error dengan UHD

Pada saat menggunakan UHD dengan USRP1 akan error

ALERT 140146465306432 06:36:57.2 UHDDevice.cpp:409:parse_dev_type: USRP1 is not supported using the UHD driver
ALERT 140146465306432 06:36:57.2 UHDDevice.cpp:410:parse_dev_type: Please compile with GNU Radio libusrp support
ALERT 140146465306432 06:36:57.2 runTransceiver.cpp:94:main: Transceiver exiting...

EMERG 140031097902848 06:36:57.2 OpenBTS.cpp:145:startTransceiver: Transceiver quit with status 256. Exiting.

Referensi


Pranala Menarik

Persiapan

Script

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

OpenBTS 3.1.x

Ettus E110

Ettus N210

RangeNetworks

GPRS

Briker OpenBTS

FreeSWITCH OpenBTS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video

Perjuangan OpenBTS