Difference between revisions of "OpenBTS: RangeNetwork Compile"

From OnnoWiki
Jump to navigation Jump to search
Line 55: Line 55:
 
  cp ezusb.ihx /OpenBTS/
 
  cp ezusb.ihx /OpenBTS/
 
  cp fpga.rbf /OpenBTS/
 
  cp fpga.rbf /OpenBTS/
 +
 +
cd /OpenBTS/
 +
cp ezusb.ihx /usr/local/share/uhd/images/usrp1_fw.ihx
 +
cp fpga.rbf /usr/local/share/uhd/images/usrp1_fpga.rbf
  
 
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
 
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps

Revision as of 19:55, 16 February 2014

Install Pendukung

apt-get update
sudo apt-get install autoconf libtool libosip2-dev libortp-dev \
libusb-1.0-0-dev g++ erlang libreadline6-dev libboost-all-dev \
cmake build-essential subversion libncurses5-dev libncurses5
rm /usr/local/bin/sqlite3
apt-get install sqlite3 libsqlite3-dev

Update Jika di Perlukan

ROOT_OPENBTS berada di /usr/local/src/openbts-2.8.0

mkdir -p /OpenBTS/
sudo su
cd /usr/local/src
svn co http://wush.net/svn/range/software/public openbts-2.8.0

Install liba53

cd /usr/local/src/openbts-2.8.0/a53/trunk
make
make install

Stop OpenBTS

cd /home/openbts
killBTS

Building OpenBTS

Pada Range Networks RAD1 tidak membutuhkan external dependency & cara compile sangat sederhana:

sudo su
cd /usr/local/src/openbts-2.8.0/openbts/trunk
autoreconf -i
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/
./configure
make clean
make

Buat link

cd /usr/local/src/openbts-2.8.0/openbts/trunk
cd apps
make
ln -s ../TransceiverRAD1/transceiver .
ln -s ../TransceiverRAD1/ezusb.ihx .
ln -s ../TransceiverRAD1/fpga.rbf .
cd /usr/local/src/openbts-2.8.0/openbts/trunk/TransceiverRAD1
cp transceiver /OpenBTS/
cp ezusb.ihx /OpenBTS/
cp fpga.rbf /OpenBTS/
cd /OpenBTS/
cp ezusb.ihx /usr/local/share/uhd/images/usrp1_fw.ihx
cp fpga.rbf /usr/local/share/uhd/images/usrp1_fpga.rbf
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
cp OpenBTS /OpenBTS/
cp OpenBTSDo /OpenBTS/
cp OpenBTSCLI /OpenBTS/
cp runloop.OpenBTS.sh /OpenBTS/
mkdir /var/run/OpenBTS/
touch /var/run/OpenBTS/TransactionTable.db

Inisialisasi /etc/OpenBTS/OpenBTS.db

cd /usr/local/src/openbts-2.8.0/openbts/trunk
sudo mkdir /etc/OpenBTS
rm -Rf /etc/OpenBTS/OpenBTS.db
sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"

Build & Install Subscriber Registry dan Sipauthserve

sudo mkdir -p /var/lib/asterisk/sqlite3dir
sudo rm -Rf /var/lib/asterisk/sqlite3dir/sqlite3.db
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/
make

cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
cp comp128 /usr/local/bin/
cp comp128 /OpenBTS/ 
cp sipauthserve /OpenBTS/
cp runloop.sipauthserve.sh /OpenBTS/
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
sudo sqlite3 -init subscriberRegistry.example.sql /etc/OpenBTS/sipauthserve.db ".quit"

atau

cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit"

Build & Install Smqueue

cd /usr/local/src/openbts-2.8.0/smqueue/trunk
autoreconf -i
./configure 
make clean
make 
make install
cd /usr/local/src/openbts-2.8.0/smqueue/trunk
rm -Rf /etc/OpenBTS/smqueue.db
sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit"
cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue
cp runloop.smqueue.sh /OpenBTS/
cp smqueue /OpenBTS/

Menjalankan OpenBTS

Pastikan Yate sudah di Instalasi.

Lakukan di tiga (3) windows yang berbeda

cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/
./sipauthserve &
cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue/
./smqueue &
# /etc/init.d/asterisk restart
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 /usr/local/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTS &

Inisialisasi SubscriberRegistry

sudo su
sqlite3 /var/lib/asterisk/sqlite3dir/sqlite3.db
DELETE from DIALDATA_TABLE where ID = 1;
DELETE from DIALDATA_TABLE where ID = 2;
DELETE from DIALDATA_TABLE where ID = 3;
DELETE from DIALDATA_TABLE where ID = 4;
DELETE from DIALDATA_TABLE where ID = 5;
DELETE from DIALDATA_TABLE where ID = 6;

DELETE from SIP_BUDDIES where ID = 1;
DELETE from SIP_BUDDIES where ID = 2;
DELETE from SIP_BUDDIES where ID = 3;
DELETE from SIP_BUDDIES where ID = 4;
DELETE from SIP_BUDDIES where ID = 5;
DELETE from SIP_BUDDIES where ID = 6;

INSERT INTO dialdata_table (exten, dial) VALUES ('2001', 'IMSI001010000000001');
insert into sip_buddies (name,username,callerid,ipaddr,type,context,host) values  ('IMSI001010000000001','IMSI001010000000001','2001','127.0.0.1','friend','phones','dynamic');

INSERT INTO dialdata_table (exten, dial) VALUES ('2002', 'IMSI001010000000002');
insert into sip_buddies (name,username,callerid,ipaddr,type,context,host) values ('IMSI001010000000002','IMSI001010000000002','2002','127.0.0.1','friend','phones','dynamic');

INSERT INTO dialdata_table (exten, dial) VALUES ('2003', 'IMSI510110052460084');
insert into sip_buddies (name,username,callerid,ipaddr,type,context,host) values ('IMSI510110052460084','IMSI510110052460084','2003','127.0.0.1','friend','phones','dynamic');

INSERT INTO dialdata_table (exten, dial) VALUES ('2004', 'IMSI510112410440152');
insert into sip_buddies (name,username,callerid,ipaddr,type,context,host) values ('IMSI510112410440152','IMSI510112410440152','2004','127.0.0.1','friend','phones','dynamic');

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