Difference between revisions of "OpenBTS: RangeNetwork Compile"

From OnnoWiki
Jump to navigation Jump to search
 
(25 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
  sudo apt-get install autoconf libtool libosip2-dev libortp-dev \
 
  sudo apt-get install autoconf libtool libosip2-dev libortp-dev \
 
  libusb-1.0-0-dev g++ erlang libreadline6-dev libboost-all-dev \
 
  libusb-1.0-0-dev g++ erlang libreadline6-dev libboost-all-dev \
  cmake build-essential subversion
+
  cmake build-essential subversion libncurses5-dev libncurses5
  
 
  rm /usr/local/bin/sqlite3
 
  rm /usr/local/bin/sqlite3
 
  apt-get install sqlite3 libsqlite3-dev
 
  apt-get install sqlite3 libsqlite3-dev
  
==Update==
+
==Update Jika di Perlukan==
  
ROOT_OPENBTS berada di /home/openbts/software/public
+
ROOT_OPENBTS berada di /usr/local/src/openbts-2.8.0
  
 
  mkdir -p /OpenBTS/
 
  mkdir -p /OpenBTS/
  mkdir -p /home/openbts/software/public
+
  sudo su
  cd /home/openbts/software
+
  cd /usr/local/src
  svn co http://wush.net/svn/range/software/public public
+
  svn co http://wush.net/svn/range/software/public openbts-2.8.0
  
 
==Install liba53==
 
==Install liba53==
  
  cd /home/openbts/software/public
+
  cd /usr/local/src/openbts-2.8.0/a53/trunk
  cd a53/trunk
+
  make
  sudo make install
+
  make install
  
 
==Stop OpenBTS==
 
==Stop OpenBTS==
Line 34: Line 34:
 
Pada Range Networks RAD1 tidak membutuhkan external dependency & cara compile sangat sederhana:
 
Pada Range Networks RAD1 tidak membutuhkan external dependency & cara compile sangat sederhana:
  
  cd /home/openbts/software/public/openbts/trunk
+
sudo su
 +
  cd /usr/local/src/openbts-2.8.0/openbts/trunk
 
  autoreconf -i
 
  autoreconf -i
  ./configure
+
  export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/
 +
# ./configure --with-uhd --with-resamp
 +
./configure --with-uhd
 +
make clean
 +
make
 +
 
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk/TransceiverRAD1
 +
make clean
 
  make
 
  make
  
 
Buat link
 
Buat link
  
  cd /home/openbts/software/public/openbts/trunk
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk
 
  cd apps
 
  cd apps
 
  make
 
  make
Line 48: Line 56:
 
  ln -s ../TransceiverRAD1/fpga.rbf .
 
  ln -s ../TransceiverRAD1/fpga.rbf .
  
  cd /home/openbts/software/public/openbts/trunk/TransceiverRAD1
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/TransceiverRAD1
 
  cp transceiver /OpenBTS/
 
  cp transceiver /OpenBTS/
 
  cp ezusb.ihx /OpenBTS/
 
  cp ezusb.ihx /OpenBTS/
 
  cp fpga.rbf /OpenBTS/
 
  cp fpga.rbf /OpenBTS/
  
  cd /home/openbts/software/public/openbts/trunk/apps
+
  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 OpenBTS /OpenBTS/
 
  cp OpenBTSDo /OpenBTS/
 
  cp OpenBTSDo /OpenBTS/
Line 59: Line 71:
 
  cp runloop.OpenBTS.sh /OpenBTS/
 
  cp runloop.OpenBTS.sh /OpenBTS/
  
 +
mkdir -p /var/run/OpenBTS/
 +
touch /var/run/OpenBTS/TransactionTable.db
  
 
==Inisialisasi /etc/OpenBTS/OpenBTS.db==
 
==Inisialisasi /etc/OpenBTS/OpenBTS.db==
  
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk
 
  sudo mkdir /etc/OpenBTS
 
  sudo mkdir /etc/OpenBTS
 +
rm -Rf /etc/OpenBTS/OpenBTS.db
 
  sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"
 
  sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"
  
Line 68: Line 84:
  
 
  sudo mkdir -p /var/lib/asterisk/sqlite3dir
 
  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/features/a3a8/configFiles
 +
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit"
  
  cd /home/openbts/software/public/subscriberRegistry/trunk
+
  cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/
 +
make clean
 
  make
 
  make
 
   
 
   
  cd /home/openbts/software/public/subscriberRegistry/trunk
+
  cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
 
  cp comp128 /usr/local/bin/
 
  cp comp128 /usr/local/bin/
 
  cp comp128 /OpenBTS/  
 
  cp comp128 /OpenBTS/  
Line 78: Line 98:
 
  cp runloop.sipauthserve.sh /OpenBTS/
 
  cp runloop.sipauthserve.sh /OpenBTS/
  
  cd /home/openbts/software/public/subscriberRegistry/trunk
+
rm -Rf /etc/OpenBTS/sipauthserve.db
  sudo sqlite3 -init subscriberRegistry.example.sql /etc/OpenBTS/sipauthserve.db ".quit"
+
  cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
 +
  sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit"
  
 
==Build & Install Smqueue==
 
==Build & Install Smqueue==
  
 
+
  cd /usr/local/src/openbts-2.8.0/smqueue/trunk
  cd /home/openbts/software/public/smqueue/trunk
 
 
  autoreconf -i
 
  autoreconf -i
  ./configure
+
  ./configure  
  make
+
  make clean
 +
make
 +
make install
  
  cd /home/openbts/software/public/smqueue/trunk
+
  cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue/
  sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit"
+
rm -Rf /etc/OpenBTS/smqueue.db
 +
  sudo sqlite3 -init smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit"
  
  cd /home/openbts/software/public/smqueue/trunk/smqueue
+
  cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue
 
  cp runloop.smqueue.sh /OpenBTS/
 
  cp runloop.smqueue.sh /OpenBTS/
 
  cp smqueue /OpenBTS/
 
  cp smqueue /OpenBTS/
 +
 +
==Cek RAD1==
 +
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk/TransceiverRAD1
 +
./RAD1ping
  
 
==Menjalankan OpenBTS==
 
==Menjalankan OpenBTS==
Line 100: Line 128:
 
'''[[OpenBTS: RangeNetwork Yate Compile | Pastikan Yate sudah di Instalasi.]]'''
 
'''[[OpenBTS: RangeNetwork Yate Compile | Pastikan Yate sudah di Instalasi.]]'''
  
Lakukan di tiga (3) windows yang berbeda
+
/usr/local/bin/uhd_usrp_probe
 
+
  cd /home/openbts/software/public/subscriberRegistry/trunk/
+
sleep 10
 +
  cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/
 
  ./sipauthserve &
 
  ./sipauthserve &
 
+
  cd /home/openbts/software/public/smqueue/trunk/smqueue/
+
sleep 10
 +
  cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue/
 
  ./smqueue &
 
  ./smqueue &
 
+
  /etc/init.d/asterisk restart
+
  sleep 10
 
+
  cd /usr/local/src/yate
  # cd /usr/local/src/yate
+
  rm -Rf /var/log/yate
  # rm -Rf /var/log/yate
+
  rm -Rf /var/log/VBTS.log  
  # 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
  # ./run -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate -e /usr/local/share/yate -d
+
 
+
sleep 10
 
  mkdir /var/run/OpenBTS/
 
  mkdir /var/run/OpenBTS/
 
  touch /var/run/OpenBTS/TransactionTable.db
 
  touch /var/run/OpenBTS/TransactionTable.db
  cd /home/openbts/software/public/openbts/trunk/apps
+
  cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
 
  ./OpenBTS &
 
  ./OpenBTS &
 +
 +
 +
atau letakan di /etc/rc.local
  
 
==Inisialisasi SubscriberRegistry==
 
==Inisialisasi SubscriberRegistry==
Line 178: Line 211:
 
* [[OpenBTS: Script Membuat GNURadio 3.4.2 di Ubuntu 13.04]]
 
* [[OpenBTS: Script Membuat GNURadio 3.4.2 di Ubuntu 13.04]]
 
* [[OpenBTS: Script Membuat OpenBTS dan yate di Ubuntu 13.04]]
 
* [[OpenBTS: Script Membuat OpenBTS dan yate di Ubuntu 13.04]]
 +
* [[OpenBTS: Script Membuat OpenBTS 2.8.0 di RangeNetwork Dev Kit]]
 
* [[OpenBTS: Script Membuat OpenBTS di RangeNetwork Dev Kit]]
 
* [[OpenBTS: Script Membuat OpenBTS di RangeNetwork Dev Kit]]
  
Line 237: Line 271:
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 12.10]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 12.10]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN 2.8.0 Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz dengan UHD tanpa GNURadio]] ''NOT RECOMMENDED''
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz dengan UHD tanpa GNURadio]] ''NOT RECOMMENDED''
 
* [[OpenBTS: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
 
* [[OpenBTS: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
Line 250: Line 285:
 
* [[OpenBTS: Database SQLite]]
 
* [[OpenBTS: Database SQLite]]
 
* [[OpenBTS: Set SQLite Subscriber Registry secara manual]]
 
* [[OpenBTS: Set SQLite Subscriber Registry secara manual]]
 +
* [[OpenBTS: Set SQLite parameter smqueue]]
 
* [[OpenBTS: FreeSWITCH]]
 
* [[OpenBTS: FreeSWITCH]]
  
Line 256: Line 292:
 
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
 
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan BSIC=NCC+BCC]]
 +
* [[Multi OpenBTS: Catatan Frekuensi Planning di GSM]]
 +
* [[Multi OpenBTS: Catatan BTS Color Code BCC di GSM]]
 +
* [[Multi OpenBTS: Catatan Network Color Code NCC di GSM]]
 +
* [[Multi OpenBTS: Catatan BCCH]]
 +
* [[Multi OpenBTS: Catatan Public Land Mobile Network PLMN]]
 +
 +
===OpenBTS 3.1.x===
 +
 +
* [[OpenBTS: Install UHD untuk USRP1]]
 +
* [[OpenBTS: UHD Identifikasi Device]]
 +
* [[OpenBTS: OpenBTS 3.1.3 Compile]] '''Tidak bisa untuk USRP1'''
 +
* [[OpenBTS: Yate Compile]]
  
 
===Ettus E110===
 
===Ettus E110===
Line 289: Line 338:
 
===RangeNetworks===
 
===RangeNetworks===
  
 +
* [[OpenBTS: RangeNetwork Foto]]
 +
* [[OpenBTS: RangeNetwork menggunakan USB recovery image]]
 
* [[OpenBTS: RangeNetwork Default Setting]]
 
* [[OpenBTS: RangeNetwork Default Setting]]
 +
* [[OpenBTS: RangeNetwork Instalasi UHD]]
 +
* [[OpenBTS: RangeNetwork Compile GNURadio UHD]]
 
* [[OpenBTS: RangeNetwork Compile]]
 
* [[OpenBTS: RangeNetwork Compile]]
* [[OpenBTS: RangeNetwork Yate Compile]]
+
* [[OpenBTS: RangeNetwork Compile OpenBTS 2.8.0]]
 +
* [[OpenBTS: RangeNetwork Compile OpenBTS 3.1.3]]
 +
* [[OpenBTS: RangeNetwork Yate Compile]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: RangeNetwork Web Interface]]
 +
* [[OpenBTS: RangeNetwork Trunk ke Asterisk Lain]]
 +
* [[VoIP: Trunk]]
  
 
===GPRS===
 
===GPRS===

Latest revision as of 14:10, 2 March 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 --with-uhd --with-resamp 
./configure --with-uhd
make clean
make
cd /usr/local/src/openbts-2.8.0/openbts/trunk/TransceiverRAD1
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 -p /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/features/a3a8/configFiles
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit"
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/
make clean
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/
rm -Rf /etc/OpenBTS/sipauthserve.db
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/smqueue/
rm -Rf /etc/OpenBTS/smqueue.db
sudo sqlite3 -init 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/

Cek RAD1

cd /usr/local/src/openbts-2.8.0/openbts/trunk/TransceiverRAD1
./RAD1ping

Menjalankan OpenBTS

Pastikan Yate sudah di Instalasi.

/usr/local/bin/uhd_usrp_probe

sleep 10
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/
./sipauthserve &

sleep 10
cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue/
./smqueue &

sleep 10
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

sleep 10
mkdir /var/run/OpenBTS/
touch /var/run/OpenBTS/TransactionTable.db
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTS &


atau letakan di /etc/rc.local

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