Difference between revisions of "OpenBTS: N210 Instalasi OpenBTS"

From OnnoWiki
Jump to navigation Jump to search
(New page: Persiapan apt-get install libortp8 libortp-dev asterisk asterisk-dev \ sqlite3 subversion)
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
Persiapan
+
Sumber: http://wush.net/trac/rangepublic/wiki/BuildInstallRun
  
  apt-get install libortp8 libortp-dev asterisk asterisk-dev \
+
Teknik yang di jelaskan disini hanya untuk Sebuah OpenBTS saja.
  sqlite3 subversion
+
 
 +
Setelah selesai menginstalasi OpenBTS P2.8 harusnya telah siap:
 +
 
 +
* OpenBTS. Implementasi GSM dengan bagian TDMA mulai dari L1 sampai dengan L3 dan L3/L4 boundary. Interface SIP bekerja pada port 5062. OpenBTS berlokasi openbts/trunk.
 +
* Transceiver. Ini adalah software radiomodem, mengimplementasikan bagian bawah dari L1. OpenBTS akan menjalankan transceiver secara automatis. Transceiver berlokasi di openbts/trunk/Transceiver*.
 +
* SIP PBX atau softswitch (Asterisk, FeeeSWITCH, yate dll.) Komponen ini menyambungkan call pembicaraan. Interface SIP bekerja pada port 5060. Softswitch bukan bagian dari [[OpenBTS]].
 +
* Sipauthserver. Ini adalah SIP registration & authorization server, digunakan untuk permohonan uutuk update lokasi dari OpenBTS dan mengupdate subscriber registry database. Interface SIP biasanya bekerja pada port 5064. Ini berlokasi di subscriberRegistry/trunk.
 +
* Smqueue. Ini adalah store-and-forward text messaging server. Ini perlu di jalankan secara tersendiri dari OpenBTS. Interface SIP biasanya berjalan di port 5063. Smqueue tidak diperlukan jika tidak dibutuh kemampuan SMS. Ini terletak di smqueue/trunk.
 +
* Rrlpserver. ini adalah RRLP aiding server yang berjalan sebagai CGI script di web server. Rrlpserver tidak dibutuhkan jika RRLP tidak digunakan. Ini terletak di RRLP/trunk.
 +
 
 +
[[Image:Openbts system diagram.png|center|300px|thumb]]
 +
 
 +
==Prasyarat==
 +
 
 +
* [[GNURadio: UHD | Compile dan Install UHD]].
 +
* GNURadio tidak perlu di instalasi.
 +
* '''[[OpenBTS: Yate Softswitch | Install Yate Softswitch]]''', kita tidak menggunakan Asterisk untuk Softswitch.
 +
 
 +
 
 +
==Instalasi Paket Pendukung dan Yate==
 +
 
 +
Instalasi paket / library pendukung tambahan
 +
 
 +
  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 libortp8 libortp-dev
 +
 
 +
Install sqlite3 terpisah
 +
 
 +
rm /usr/local/bin/sqlite3
 +
apt-get install sqlite3 libsqlite3-dev
 +
 
 +
SQLite3 suka rewel, coba di test dulu
 +
 
 +
sqlite3 --version
 +
 
 +
Yang seharusnya keluar
 +
 
 +
3.7.15.2 2013-01-09 11:53:05 c0e09560d26f0a6456be9dd3447f5311eb4f238f
 +
 
 +
Kalau ada error, SQLite header mismatch
 +
 
 +
SQLite header and source version mismatch
 +
2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e
 +
2012-06-11 02:05:22 f5b5a13f7394dc143aa136f1d4faba6839eaa6dc
 +
 
 +
Jika ada error, coba lakukan
 +
 
 +
apt-get remove --purge sqlite3 libsqlite3-dev
 +
apt-get install sqlite3 libsqlite3-dev
 +
 
 +
 
 +
==Download Source Code OpenBTS via SVN==
 +
 
 +
sudo su
 +
cd /usr/local/src
 +
svn co http://wush.net/svn/range/software/public openbts-2.8.0
 +
 
 +
==Install OpenBTS==
 +
 
 +
Compile & Instalasi [[OpenBTS]] untuk clock 52MHz
 +
 
 +
sudo su
 +
cd /usr/local/src/openbts-2.8.0/a53/trunk
 +
make
 +
make install
 +
 
 +
sudo su
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk
 +
autoreconf -i
 +
./configure --with-uhd --with-resamp --with-extref
 +
make clean
 +
make
 +
make install
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
 +
ln -s ../Transceiver52M/transceiver .
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk/
 +
sudo mkdir -p /usr/local/share/usrp/rev4/
 +
sudo cp Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/
 +
 
 +
Instalasi [[Database]] Konfigurasi [[OpenBTS]]
 +
 
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk
 +
sudo mkdir /etc/OpenBTS
 +
rm /etc/OpenBTS/OpenBTS.db
 +
sudo sqlite3 -init ./apps/OpenBTS.example.sql /etc/OpenBTS/OpenBTS.db ".quit"
 +
 
 +
Beberapa catatan minimal yang harus di set dari [[database]] [[OpenBTS]]
 +
 
 +
* GSM.Radio.Band - Set parameter ini untuk menentukan [[GSM]] band yang sesuai dengan [[hardware]] yang kita gunakan.
 +
* GSM.Radio.C0 - Ini adalah [[ARFCN]]. Set sesuai dengan band yang kita gunakan.
 +
* Control.LUR.OpenRegistration - Set menggunakan regular expression sesuai denan IMSI dari test phone. Parameter ini memberitahukan [[OpenBTS]] untuk tidak me-reject handset karena registration server di bawah tidak me-responds. Sehingga sangat bermanfaat untuk proses debugging dan inisialisasi sistem. Tentang regular expression dapat dibaca di http://en.wikipedia.org/wiki/Regular_expression
 +
 
 +
Agar semua SIM card register tanpa AMPUN konfigurasi pada prompt OpenBTS>
 +
 
 +
config Control.LUR.OpenRegistration \W+
 +
config save
 +
 
 +
Baca tentang [[OpenBTS: 2.8 Konfigurasi | cara konfigurasi OpenBTS 2.8]]
 +
 
 +
==Instalasi Subscriber Registry==
 +
 
 +
Lakukan
 +
 
 +
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/configFiles
 +
sudo mkdir /var/lib/asterisk/
 +
sudo mkdir -p /var/lib/asterisk/sqlite3dir
 +
sudo rm  -Rf /var/lib/asterisk/sqlite3dir/sqlite3.db
 +
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit"
 +
 
 +
 
 +
 
 +
==Instalasi Sipauthserve==
 +
 
 +
Sipauthserve adalah daemon yang memberikan [[SIP]] authentication services. Variabel SIP.Proxy.Registration di [[OpenBTS]] harus menunjuk pada hostname & port Sipauthserve. [[OpenBTS]] harus sudah di buat sebelum membuat Sipauthserve.
 +
 
 +
Compile Sipauthserve
 +
 
 +
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
 +
make
 +
 
 +
Setup [[database]] untuk Sipauthserve
 +
 
 +
mkdir /etc/OpenBTS
 +
rm -Rf /etc/OpenBTS/sipauthserve.db
 +
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
 +
sudo sqlite3 -init subscriberRegistry.example.sql /etc/OpenBTS/sipauthserve.db ".quit"
 +
 
 +
==Instalasi Smqueue==
 +
 
 +
Smqueue dapat di instalasi dengan melakukan langkah berikut
 +
 
 +
cd /usr/local/src/openbts-2.8.0/smqueue/trunk
 +
autoreconf -i
 +
./configure
 +
make clean
 +
make
 +
make install
 +
 
 +
Selanjutnya, inisialisasi konfigurasi [[database]] [[OpenBTS]]
 +
 
 +
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"
 +
 
 +
 
 +
==Perbaiki Kernel Parameter==
 +
 
 +
sudo sysctl -w net.core.wmem_max=1048576
 +
sudo sysctl -w net.core.rmem_max=50000000
 +
 
 +
==Menjalankan OpenBTS==
 +
 
 +
[[OpenBTS: Yate Softswitch | 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 &
 +
 
 +
cd /usr/local/src/yate
 +
rm /var/log/yate
 +
./run -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate -e /usr/local/share/yate -d
 +
 
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
 +
./OpenBTS &
 +
 
 +
Kalau di lihat di background
 +
 
 +
ps ax
 +
 
 +
Akan terlihat kira-kira
 +
 
 +
23253 pts/4    S      0:00 ./sipauthserve
 +
23254 pts/4    S      0:00 ./smqueue
 +
23258 ?        Ssl    0:03 ./yate -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate
 +
23276 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Call_Provisioning.py 10
 +
23278 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Route_Local.py 10
 +
23280 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Route_Provisioning.py 10
 +
23282 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Echo.py 10|vbts_tp_dest
 +
23284 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Provisioning.py 50
 +
23286 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Route.py 50
 +
23303 pts/4    Sl    0:00 ./OpenBTS
 +
23308 pts/4    Sl    0:00 ./transceiver 1
 +
 
 +
 
 +
 
 +
==Pastikan Yate Beroperasi dengan Baik==
 +
 
 +
Lihat
 +
 
 +
vi /var/log/yate
 +
 
 +
Pastikan
 +
 
 +
Initializing module ExtModule
 +
Loading external module 'VBTS_Call_Route.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Call_Route.py' '10'
 +
Loading external module 'VBTS_Call_Originate.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Call_Originate.py' '10'
 +
Loading external module 'VBTS_Call_Provisioning.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Call_Provisioning.py' '10'
 +
Loading external module 'VBTS_Route_Local.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Route_Local.py' '10'
 +
Loading external module 'VBTS_Route_Provisioning.py' '10'
 +
Execing '/usr/local/share/yate/scripts/VBTS_Route_Provisioning.py' '10'
 +
Loading external module 'VBTS_SMS_Echo.py' '10|vbts_tp_dest_address|^100$'
 +
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Echo.py' '10|vbts_tp_dest_address|^100$'
 +
Loading external module 'VBTS_SMS_Provisioning.py' '50'
 +
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Provisioning.py' '50'
 +
Loading external module 'VBTS_SMS_Route.py' '50'
 +
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Route.py' '50'
 +
Loading external module 'VBTS_SMS_Send.py' '50'
 +
Initializing module SIP Channel
 +
..
 +
..
 +
..
 +
Yate engine is initialized and starting up on openbts28
 +
<INFO> Creating new message dispatching thread (0 running)
 +
VBTS Provisioning Starting
 +
VBTS Provisioning_SMS Installing sip.message at 50
 +
VBTS Provisioner Starting
 +
VBTS Provisioner Installing chan.dtmf
 +
VBTS Provisioner Installing chan.notify
 +
VBTS Echo_SMS filtering: [('vbts_tp_dest_address', <_sre.SRE_Pattern object at 0xb703c2c0>)]
 +
VBTS Echo Starting
 +
VBTS Echo_SMS Installing sip.message at 10
 +
VBTS Route Provisioning on
 +
VBTS Echo Starting
 +
VBTS Echo_SMS Installing call.route at 10
 +
VBTS SMS_Route filtering: []
 +
VBTS SMS_Route Starting
 +
VBTS SMS_Route Installing sip.message at 50
 +
VBTS Route Local on
 +
VBTS Echo Starting
 +
VBTS Echo_SMS Installing call.route at 10
 +
 
 +
==Mengkonfigurasi OpenBTS==
 +
 
 +
OpenBTS saat ini menggunakan CLI sendiri untuk di konfigurasi. Ini bisa di akses melalui
 +
 
 +
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
 +
  ./OpenBTSCLI
 +
 
 +
Lebih detail-nya bisa di baca di [[OpenBTS: 2.8 Konfigurasi | Konfigurasi OpenBTS 2.8]]
 +
 
 +
 
 +
 
 +
==Referensi==
 +
 
 +
* http://wush.net/trac/rangepublic/wiki/BuildInstallRun
 +
* http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTSBuildingAndRunning
 +
* http://en.wikipedia.org/wiki/Regular_expression
 +
* http://www.mentby.com/modesto-aguirre-gomez/is-it-possible-to-run-the-usrp-at-64mhz-with-openbts28.html
 +
* http://www.mentby.com/Group/openbts-discuss/is-it-possible-to-run-the-usrp-at-64mhz-with-openbts28.html
 +
 
 +
==Pranala Menarik==
 +
 
 +
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
 +
 
 +
===Persiapan===
 +
 
 +
* [[USRP: High Precision Clock]]
 +
* [[USRP: Menyambungkan ClockTamer ke USRP1]]
 +
* [[USRP: Kalibrasi ClockTamer]]
 +
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: ClockTamer Flashing]]
 +
* [[USRP: Instalasi Board]]
 +
* [[OpenBTS: GIT Source Code]]
 +
* [[USRP: Rangkaian Board USRP]]
 +
* [[OpenBTS: Tethr untuk Bencana Alam]]
 +
* [[USRP: Tip Pemesanan]]
 +
 
 +
===Script===
 +
 
 +
* [[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 2.8.0 di RangeNetwork Dev Kit]]
 +
* [[OpenBTS: Script Membuat OpenBTS di RangeNetwork Dev Kit]]
 +
 
 +
===OpenBTS 2.6===
 +
 
 +
* [[GNURadio]]
 +
* [[GNURadio: Ubuntu Install]]
 +
* [[GNURadio: Menggunakan UHD]]
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 13.04 Install GNURadio 3.4.2 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Contoh Aplikasi]]
 +
* [[GNURadio: Spectrum Analizer GSM]]
 +
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]]
 +
* [[GNURadio: Programming Untuk Pemula]]
 +
* [[OpenBTS: Ubuntu Install]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu 13.04 Install OpenBTS 2.6 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: Konfigurasi]] '''RECOMMENDED'''
 +
* [[OpenBTS: Kalibrasi]]
 +
* [[OpenBTS: Konfigurasi Asterisk untuk OpenBTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Menjalankan smqueue]]
 +
* [[OpenBTS: Mengoperasikan BTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 +
* [[OpenBTS: Operasi 1800 MHz]]
 +
* [[OpenBTS: Beberapa Tips]]
 +
* [[OpenBTS: USRP2]]
 +
* [[OpenBTS: Amplifier]]
 +
* [[OpenBTS: SMS]]
 +
* [[AirProbe]]
 +
 
 +
===OpenBTS 2.8===
 +
 
 +
* [[GNURadio: Ubuntu 11.10 Install]] ''NOT RECOMMENED''
 +
* [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Download GNURadio]]
 +
* [[GNURadio: Install UHD]]
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04.1 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 13.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.6.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
 +
* [[GNURadio: UHD]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Image]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Identifikasi Device]]
 +
* [[OpenBTS: Ubuntu 11.10 Install]]
 +
* [[OpenBTS: dari GIT ttsou]]
 +
* [[OpenBTS: 2.8 dari SVN Install]]
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz]] '''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 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 Edit User di sqlite3.db]] '''RECOMMEND'''
 +
* [[OpenBTS: Yate Softswitch]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Config Test]]
 +
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Konfigurasi]]
 +
* [[OpenBTS: 2.8 Konfigurasi Cognitive Radio Elsabagh]]
 +
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 +
* [[OpenBTS: Database SQLite]]
 +
* [[OpenBTS: Set SQLite Subscriber Registry secara manual]]
 +
* [[OpenBTS: Set SQLite parameter smqueue]]
 +
* [[OpenBTS: FreeSWITCH]]
 +
 
 +
===Multi OpenBTS 2.8===
 +
 
 +
* [[OpenBTS: Pola Multi OpenBTS]] '''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===
 +
 
 +
* [[OpenBTS: E110 Cara Login]]
 +
* [[OpenBTS: E110 Install Image di MicroSD]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Cek Daughter Board]]
 +
* [[OpenBTS: E110 Mengubah Master Clock]]
 +
* [[OpenBTS: E110 Kalibrasi Clock]]
 +
* [[OpenBTS: E110 Konfigurasi Jaringan]]
 +
* [[OpenBTS: E110 Bekerja dengan opkg]]
 +
* [[OpenBTS: E110 Instalasi iptables]]
 +
* [[OpenBTS: E110 GNURadio]]
 +
* [[OpenBTS: E110 Compile UHD]] ''Not Recommended''
 +
* [[OpenBTS: E110 Compile UHD dari Release Bukan git]] ''Not Recommended''
 +
* [[OpenBTS: E110 UHD burn EEPROM RFX Board]] ''Not Recommended''
 +
* [[OpenBTS: E110 Install UHD Image]] ''Not Recommended''
 +
* [[OpenBTS: E110 Instalasi OpenBTS]]
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Yate Softswitch]]
 +
 
 +
===Ettus N210===
 +
 
 +
* [[OpenBTS: N210 Instalasi GPSDO Kit]]
 +
* [[OpenBTS: N210 GNURadio]]
 +
* [[OpenBTS: N210 GNURadio 3.7.0]]
 +
* [[OpenBTS: N210 Instalasi OpenBTS]]
 +
* [[OpenBTS: N210 Instalasi Yate]]
 +
* [[OpenBTS: N210 Yate Config Test]]
 +
* [[OpenBTS: N210 Burn Firmware]]
 +
 
 +
===RangeNetworks===
 +
 
 +
* [[OpenBTS: RangeNetwork Foto]]
 +
* [[OpenBTS: RangeNetwork menggunakan USB recovery image]]
 +
* [[OpenBTS: RangeNetwork Default Setting]]
 +
* [[OpenBTS: RangeNetwork Instalasi UHD]]
 +
* [[OpenBTS: RangeNetwork Compile GNURadio UHD]]
 +
* [[OpenBTS: RangeNetwork 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]]
 +
* [[OpenBTS: RangeNetwork Audit]]
 +
* [[VoIP: Trunk]]
 +
 
 +
===GPRS===
 +
 
 +
* [[OpenBTS: GPRS]]
 +
* [[OpenBTS: GPRS Konfigurasi]]
 +
* [[OpenBTS: GPRS untuk dibelakang Router dengan NAT]]
 +
 
 +
===Briker OpenBTS===
 +
 
 +
* [[OpenBTS: Briker]]
 +
 
 +
===FreeSWITCH OpenBTS===
 +
 
 +
* [[OpenBTS: FreeSWITCH]]
 +
 
 +
===Power Amplifier===
 +
 
 +
* [[Driver 900MHz]]
 +
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
 +
 
 +
===Lain Lain===
 +
 
 +
* [[OpenBTS: Materi Magang di ICTWATCH]]
 +
* [[OpenBTS: Seminar Outline]]
 +
* [[OpenBTS: Workshop Outline]]
 +
* [[Membuat Base Station GSM Open Source]]
 +
* [[Teknologi Selular]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
* [[Wireless Internet]]
 +
* [[OpenBSC]]
 +
* [[AirProbe]]
 +
* [[Base station subsystem]]
 +
* [[GSM]]
 +
* [[Asterisk]]
 +
* [[Mobile phone]]
 +
 
 +
===Catatan Legal dan Pendukung===
 +
 
 +
* [[Siapa Bilang OpenBTS Ilegal?]]
 +
* [[OpenBTS: Catatan MNC dan MCC Indonesia]]
 +
* [[OpenBTS: Catatan MNC dan MCC COOL]]
 +
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
 
 +
===Catatan Sejarah===
 +
 
 +
* [[2011/04/30 - Workshop OpenBTS Pertama di Indonesia dilakukan di Univ Gajah Putih Takengon Aceh Tengah]]
 +
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 +
* [[OpenBTS: Daftar Artikel di Media]]
 +
* [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]]
 +
* [[OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman]]
 +
* [[OpenBTS: Beroperasi di Papua]]
 +
 
 +
===Dokumentasi Video===
 +
 
 +
* http://www.metrotvnews.com/read/newsprograms/2012/10/14/14624/212/Teknologi-BTS
 +
* http://youtu.be/8ogOcUSpINU (1/6)
 +
* http://youtu.be/F5d7HGuhppk (2/6)
 +
* http://youtu.be/90Jgq6bOgrQ (3/6)
 +
* http://youtu.be/cNkx_qNqdfc (4/6)
 +
* http://youtu.be/6LCuoeI57ak (5/6)
 +
* http://youtu.be/-dEqcHoIlYk (6/6)
 +
* http://www.youtube.com/watch?v=Ff_rw4kAOZg&feature=share
 +
 
 +
===Perjuangan OpenBTS===
 +
 
 +
* http://www.technologyreview.com/news/522371/how-remote-places-can-get-cellular-coverage-by-doing-it-themselves/?utm_campaign=socialsync&utm_medium=social-post&utm_source=twitter
 +
 
 +
 
 +
 
 +
[[Category: Wireless]]
 +
[[Category: Selular]]

Latest revision as of 06:41, 21 June 2014

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

Teknik yang di jelaskan disini hanya untuk Sebuah OpenBTS saja.

Setelah selesai menginstalasi OpenBTS P2.8 harusnya telah siap:

  • OpenBTS. Implementasi GSM dengan bagian TDMA mulai dari L1 sampai dengan L3 dan L3/L4 boundary. Interface SIP bekerja pada port 5062. OpenBTS berlokasi openbts/trunk.
  • Transceiver. Ini adalah software radiomodem, mengimplementasikan bagian bawah dari L1. OpenBTS akan menjalankan transceiver secara automatis. Transceiver berlokasi di openbts/trunk/Transceiver*.
  • SIP PBX atau softswitch (Asterisk, FeeeSWITCH, yate dll.) Komponen ini menyambungkan call pembicaraan. Interface SIP bekerja pada port 5060. Softswitch bukan bagian dari OpenBTS.
  • Sipauthserver. Ini adalah SIP registration & authorization server, digunakan untuk permohonan uutuk update lokasi dari OpenBTS dan mengupdate subscriber registry database. Interface SIP biasanya bekerja pada port 5064. Ini berlokasi di subscriberRegistry/trunk.
  • Smqueue. Ini adalah store-and-forward text messaging server. Ini perlu di jalankan secara tersendiri dari OpenBTS. Interface SIP biasanya berjalan di port 5063. Smqueue tidak diperlukan jika tidak dibutuh kemampuan SMS. Ini terletak di smqueue/trunk.
  • Rrlpserver. ini adalah RRLP aiding server yang berjalan sebagai CGI script di web server. Rrlpserver tidak dibutuhkan jika RRLP tidak digunakan. Ini terletak di RRLP/trunk.
Openbts system diagram.png

Prasyarat


Instalasi Paket Pendukung dan Yate

Instalasi paket / library pendukung tambahan

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 libortp8 libortp-dev

Install sqlite3 terpisah

rm /usr/local/bin/sqlite3
apt-get install sqlite3 libsqlite3-dev

SQLite3 suka rewel, coba di test dulu

sqlite3 --version

Yang seharusnya keluar

3.7.15.2 2013-01-09 11:53:05 c0e09560d26f0a6456be9dd3447f5311eb4f238f

Kalau ada error, SQLite header mismatch

SQLite header and source version mismatch
2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e
2012-06-11 02:05:22 f5b5a13f7394dc143aa136f1d4faba6839eaa6dc

Jika ada error, coba lakukan

apt-get remove --purge sqlite3 libsqlite3-dev
apt-get install sqlite3 libsqlite3-dev


Download Source Code OpenBTS via SVN

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

Install OpenBTS

Compile & Instalasi OpenBTS untuk clock 52MHz

sudo su
cd /usr/local/src/openbts-2.8.0/a53/trunk
make
make install
sudo su
cd /usr/local/src/openbts-2.8.0/openbts/trunk
autoreconf -i
./configure --with-uhd --with-resamp --with-extref
make clean
make
make install
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
ln -s ../Transceiver52M/transceiver .
cd /usr/local/src/openbts-2.8.0/openbts/trunk/
sudo mkdir -p /usr/local/share/usrp/rev4/
sudo cp Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/

Instalasi Database Konfigurasi OpenBTS

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

Beberapa catatan minimal yang harus di set dari database OpenBTS

  • GSM.Radio.Band - Set parameter ini untuk menentukan GSM band yang sesuai dengan hardware yang kita gunakan.
  • GSM.Radio.C0 - Ini adalah ARFCN. Set sesuai dengan band yang kita gunakan.
  • Control.LUR.OpenRegistration - Set menggunakan regular expression sesuai denan IMSI dari test phone. Parameter ini memberitahukan OpenBTS untuk tidak me-reject handset karena registration server di bawah tidak me-responds. Sehingga sangat bermanfaat untuk proses debugging dan inisialisasi sistem. Tentang regular expression dapat dibaca di http://en.wikipedia.org/wiki/Regular_expression

Agar semua SIM card register tanpa AMPUN konfigurasi pada prompt OpenBTS>

config Control.LUR.OpenRegistration \W+
config save

Baca tentang cara konfigurasi OpenBTS 2.8

Instalasi Subscriber Registry

Lakukan

cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/configFiles
sudo mkdir /var/lib/asterisk/
sudo mkdir -p /var/lib/asterisk/sqlite3dir
sudo rm  -Rf /var/lib/asterisk/sqlite3dir/sqlite3.db
sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit"


Instalasi Sipauthserve

Sipauthserve adalah daemon yang memberikan SIP authentication services. Variabel SIP.Proxy.Registration di OpenBTS harus menunjuk pada hostname & port Sipauthserve. OpenBTS harus sudah di buat sebelum membuat Sipauthserve.

Compile Sipauthserve

cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk
make

Setup database untuk Sipauthserve

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

Instalasi Smqueue

Smqueue dapat di instalasi dengan melakukan langkah berikut

cd /usr/local/src/openbts-2.8.0/smqueue/trunk
autoreconf -i
./configure 
make clean
make 
make install

Selanjutnya, inisialisasi konfigurasi database OpenBTS

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"


Perbaiki Kernel Parameter

sudo sysctl -w net.core.wmem_max=1048576
sudo sysctl -w net.core.rmem_max=50000000

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 &
cd /usr/local/src/yate
rm /var/log/yate
./run -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate -e /usr/local/share/yate -d
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTS &

Kalau di lihat di background

ps ax

Akan terlihat kira-kira

23253 pts/4    S      0:00 ./sipauthserve
23254 pts/4    S      0:00 ./smqueue
23258 ?        Ssl    0:03 ./yate -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate
23276 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Call_Provisioning.py 10
23278 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Route_Local.py 10
23280 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_Route_Provisioning.py 10
23282 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Echo.py 10|vbts_tp_dest
23284 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Provisioning.py 50
23286 ?        S      0:00 /usr/bin/python /usr/local/share/yate/scripts/VBTS_SMS_Route.py 50
23303 pts/4    Sl     0:00 ./OpenBTS
23308 pts/4    Sl     0:00 ./transceiver 1


Pastikan Yate Beroperasi dengan Baik

Lihat

vi /var/log/yate

Pastikan

Initializing module ExtModule
Loading external module 'VBTS_Call_Route.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Call_Route.py' '10'
Loading external module 'VBTS_Call_Originate.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Call_Originate.py' '10'
Loading external module 'VBTS_Call_Provisioning.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Call_Provisioning.py' '10'
Loading external module 'VBTS_Route_Local.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Route_Local.py' '10'
Loading external module 'VBTS_Route_Provisioning.py' '10'
Execing '/usr/local/share/yate/scripts/VBTS_Route_Provisioning.py' '10'
Loading external module 'VBTS_SMS_Echo.py' '10|vbts_tp_dest_address|^100$'
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Echo.py' '10|vbts_tp_dest_address|^100$'
Loading external module 'VBTS_SMS_Provisioning.py' '50'
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Provisioning.py' '50'
Loading external module 'VBTS_SMS_Route.py' '50'
Execing '/usr/local/share/yate/scripts/VBTS_SMS_Route.py' '50'
Loading external module 'VBTS_SMS_Send.py' '50'
Initializing module SIP Channel
..
..
..
Yate engine is initialized and starting up on openbts28
<INFO> Creating new message dispatching thread (0 running)
VBTS Provisioning Starting
VBTS Provisioning_SMS Installing sip.message at 50
VBTS Provisioner Starting
VBTS Provisioner Installing chan.dtmf
VBTS Provisioner Installing chan.notify
VBTS Echo_SMS filtering: [('vbts_tp_dest_address', <_sre.SRE_Pattern object at 0xb703c2c0>)]
VBTS Echo Starting
VBTS Echo_SMS Installing sip.message at 10
VBTS Route Provisioning on
VBTS Echo Starting
VBTS Echo_SMS Installing call.route at 10
VBTS SMS_Route filtering: []
VBTS SMS_Route Starting
VBTS SMS_Route Installing sip.message at 50
VBTS Route Local on
VBTS Echo Starting
VBTS Echo_SMS Installing call.route at 10

Mengkonfigurasi OpenBTS

OpenBTS saat ini menggunakan CLI sendiri untuk di konfigurasi. Ini bisa di akses melalui

cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
./OpenBTSCLI

Lebih detail-nya bisa di baca di Konfigurasi OpenBTS 2.8


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