Difference between revisions of "OpenBTS: 2.8 dari SVN Install Clock 52MHz"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(52 intermediate revisions by the same user not shown) | |||
Line 18: | Line 18: | ||
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2 | Compile dan Install GNURadio 3.4.2]]. Tanpa [[GNURadio]] terinstall maka [[OpenBTS]] tidak mungkin di instalasi. | * [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2 | Compile dan Install GNURadio 3.4.2]]. Tanpa [[GNURadio]] terinstall maka [[OpenBTS]] tidak mungkin di instalasi. | ||
* Perhatikan max. GNURadio 3.4.2 yang masih membuat libusrp. | * Perhatikan max. GNURadio 3.4.2 yang masih membuat libusrp. | ||
+ | * '''[[OpenBTS: Yate Softswitch | Install Yate Softswitch]]''' | ||
+ | ==Instalasi Paket Pendukung dan Yate== | ||
− | + | Tampaknya OpenBTS 2.8 ini lebih baik pakai gcc 4.7, maka remove gcc yang versi baru | |
+ | Instalasi paket / library pendukung tambahan | ||
+ | |||
+ | sudo apt-get remove --purge gcc | ||
+ | apt-get install gcc-4.7 build-essential libboost-all-dev libboost-python-dev \ | ||
+ | libboost-python1.46-dev gccxml autoconf libtool libosip2-dev libortp-dev \ | ||
+ | libusb-1.0-0-dev g++ erlang libreadline6-dev libboost-all-dev \ | ||
+ | cmake build-essential subversion | ||
+ | |||
+ | Install sqlite3 terpisah | ||
+ | |||
+ | rm /usr/local/bin/sqlite3 | ||
+ | apt-get install sqlite3 libsqlite3-dev | ||
+ | cp /usr/bin/sqlite3 /usr/local/bin | ||
+ | |||
+ | SQLite3 suka rewel, coba di test dulu | ||
+ | |||
+ | sqlite3 --version | ||
+ | |||
+ | Yang seharusnya keluar | ||
+ | |||
+ | 3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e | ||
+ | |||
+ | 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 | |
− | |||
Load [[GNURadio]] | Load [[GNURadio]] | ||
Line 32: | Line 60: | ||
sudo ldconfig | sudo ldconfig | ||
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ | export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ | ||
+ | export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/ | ||
Cek apakah [[USRP]] [[GNURadio]] terinstalasi dengan baik menggunakan | Cek apakah [[USRP]] [[GNURadio]] terinstalasi dengan baik menggunakan | ||
Line 64: | Line 93: | ||
sleep(5); | sleep(5); | ||
− | + | Pada masa lalu kita bisa men-delay, sekarang jangan dilakukan akan membuat transceiver shutdown | |
sleep(15); | sleep(15); | ||
− | |||
− | |||
==Install OpenBTS== | ==Install OpenBTS== | ||
+ | Nyalakan USRP1 dan sambungkan ke komputer. | ||
Compile & Instalasi [[OpenBTS]] untuk clock 52MHz | Compile & Instalasi [[OpenBTS]] untuk clock 52MHz | ||
Line 87: | Line 115: | ||
sudo cp Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/ | sudo cp Transceiver52M/std_inband.rbf /usr/local/share/usrp/rev4/ | ||
− | |||
+ | Inisialisasi Transaction Table & Instalasi [[Database]] Konfigurasi [[OpenBTS]] | ||
+ | |||
+ | mkdir /var/run/OpenBTS | ||
cd /usr/local/src/openbts-2.8.0/openbts/trunk | cd /usr/local/src/openbts-2.8.0/openbts/trunk | ||
sudo mkdir /etc/OpenBTS | sudo mkdir /etc/OpenBTS | ||
− | rm /etc/OpenBTS/OpenBTS.db | + | 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 103: | Line 133: | ||
config Control.LUR.OpenRegistration \W+ | config Control.LUR.OpenRegistration \W+ | ||
+ | config Control.LUR.OpenRegistration . | ||
+ | config save | ||
+ | |||
+ | Agar semua SIM Card dengan 510xxxx register dapat menggunakan | ||
+ | |||
+ | config Control.LUR.OpenRegistration [510]. | ||
config save | config save | ||
Line 126: | Line 162: | ||
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig | export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig | ||
+ | # Untuk 64bit masukan | ||
− | = | + | export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Instalasi Subscriber Registry== | ==Instalasi Subscriber Registry== | ||
Line 146: | Line 173: | ||
sudo mkdir /var/lib/asterisk/ | sudo mkdir /var/lib/asterisk/ | ||
sudo mkdir -p /var/lib/asterisk/sqlite3dir | 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" | sudo sqlite3 -init subscriberRegistryInit.sql /var/lib/asterisk/sqlite3dir/sqlite3.db ".quit" | ||
− | + | ===Perlu di Hack ini?=== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Buat link CGI | Buat link CGI | ||
Line 193: | Line 207: | ||
mkdir /etc/OpenBTS | mkdir /etc/OpenBTS | ||
− | rm /etc/OpenBTS/sipauthserve.db | + | rm -Rf /etc/OpenBTS/sipauthserve.db |
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk | cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk | ||
sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit" | sudo sqlite3 -init sipauthserve.example.sql /etc/OpenBTS/sipauthserve.db ".quit" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Instalasi Smqueue== | ==Instalasi Smqueue== | ||
Line 227: | Line 228: | ||
sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit" | sudo sqlite3 -init smqueue/smqueue.example.sql /etc/OpenBTS/smqueue.db ".quit" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 298: | Line 289: | ||
==Menjalankan OpenBTS== | ==Menjalankan OpenBTS== | ||
+ | |||
+ | [[OpenBTS: Yate Softswitch | Pastikan Yate sudah di Instalasi.]] | ||
Lakukan di tiga (3) windows yang berbeda | Lakukan di tiga (3) windows yang berbeda | ||
− | |||
− | |||
cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/ | cd /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/ | ||
Line 308: | Line 299: | ||
cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue/ | cd /usr/local/src/openbts-2.8.0/smqueue/trunk/smqueue/ | ||
./smqueue & | ./smqueue & | ||
+ | |||
+ | cd /usr/local/src/yate | ||
+ | rm -Rf /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 | cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps | ||
./OpenBTS & | ./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== | ==Mengkonfigurasi OpenBTS== | ||
Line 413: | Line 476: | ||
killall transceiver | killall transceiver | ||
+ | |||
+ | |||
+ | ===Error /var/run/OpenBTS/TransactionTable.db=== | ||
+ | |||
+ | '''Error:''' | ||
+ | |||
+ | ALERT 140385169614656 TransactionTable.cpp:868:init: Cannot open Transaction Table database at /var/run/OpenBTS/TransactionTable.db: unable to open database file | ||
+ | 1356917323.929728 140385169614656: | ||
+ | Starting the system... | ||
+ | ALERT 140385169614656 TRXManager.cpp:408:powerOn: POWERON failed with status -1 | ||
+ | transceiver: no process found | ||
+ | |||
+ | '''Solusi:''' | ||
+ | |||
+ | mkdir /var/run/OpenBTS | ||
+ | touch /var/run/OpenBTS/TransactionTable.db | ||
==Referensi== | ==Referensi== | ||
Line 425: | Line 504: | ||
* [[OpenBTS]] | * [[OpenBTS]] | ||
+ | * [[OpenBTS: Arsitektur secara umum]] | ||
===Persiapan=== | ===Persiapan=== | ||
Line 436: | Line 516: | ||
* [[USRP: Rangkaian Board USRP]] | * [[USRP: Rangkaian Board USRP]] | ||
* [[OpenBTS: Tethr untuk Bencana Alam]] | * [[OpenBTS: Tethr untuk Bencana Alam]] | ||
+ | * [[USRP: Tip Pemesanan]] | ||
===OpenBTS 2.6=== | ===OpenBTS 2.6=== | ||
Line 470: | Line 551: | ||
* [[GNURadio: Install UHD]] | * [[GNURadio: Install UHD]] | ||
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]] | * [[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 11.10 Instal GNURadio 3.4.2]] '''RECOMMENDED''' | ||
− | * [[GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2]] ''NOT 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 11.10 Instal GNURadio 3.5.0]] ''NOT 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.5.3.2]] ''NOT RECOMMENDED'' | ||
Line 477: | Line 562: | ||
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED'' | * [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED'' | ||
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]] | * [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]] | ||
− | * [[GNURadio: UHD]] | + | * [[GNURadio: UHD]] ''NOT RECOMMENDED'' |
− | * [[GNURadio: UHD Image]] | + | * [[GNURadio: UHD Image]] ''NOT RECOMMENDED'' |
+ | * [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED'' | ||
* [[GNURadio: UHD Identifikasi Device]] | * [[GNURadio: UHD Identifikasi Device]] | ||
* [[OpenBTS: Ubuntu 11.10 Install]] | * [[OpenBTS: Ubuntu 11.10 Install]] | ||
Line 484: | Line 570: | ||
* [[OpenBTS: 2.8 dari SVN Install]] | * [[OpenBTS: 2.8 dari SVN Install]] | ||
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz]] '''RECOMMENDED''' | * [[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 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 Config Test]] | ||
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED''' | * [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED''' | ||
+ | * [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED''' | ||
* [[OpenBTS: 2.8 Konfigurasi]] | * [[OpenBTS: 2.8 Konfigurasi]] | ||
+ | * [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]] | ||
* [[OpenBTS: Database SQLite]] | * [[OpenBTS: Database SQLite]] | ||
===Multi OpenBTS 2.8=== | ===Multi OpenBTS 2.8=== | ||
− | * [[OpenBTS: Pola Multi OpenBTS]] | + | * [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED''' |
+ | * [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED''' | ||
===Ettus E110=== | ===Ettus E110=== | ||
* [[OpenBTS: E110 Cara Login]] | * [[OpenBTS: E110 Cara Login]] | ||
− | * [[OpenBTS: E110 Install Image di MicroSD]] | + | * [[OpenBTS: E110 Install Image di MicroSD]] '''*RECOMMENDED*''' |
* [[OpenBTS: E110 Cek Daughter Board]] | * [[OpenBTS: E110 Cek Daughter Board]] | ||
* [[OpenBTS: E110 Mengubah Master Clock]] | * [[OpenBTS: E110 Mengubah Master Clock]] | ||
Line 501: | Line 596: | ||
* [[OpenBTS: E110 Bekerja dengan opkg]] | * [[OpenBTS: E110 Bekerja dengan opkg]] | ||
* [[OpenBTS: E110 GNURadio]] | * [[OpenBTS: E110 GNURadio]] | ||
− | * [[OpenBTS: E110 Install UHD Image]] | + | * [[OpenBTS: E110 Compile UHD]] '''*RECOMMENDED*''' |
+ | * [[OpenBTS: E110 UHD burn EEPROM RFX Board]] '''*RECOMMENDED*''' | ||
+ | * [[OpenBTS: E110 Install UHD Image]] '''*RECOMMENDED*''' | ||
* [[OpenBTS: E110 Instalasi OpenBTS]] | * [[OpenBTS: E110 Instalasi OpenBTS]] | ||
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED'' | * [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED'' | ||
+ | * [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*''' | ||
+ | |||
+ | ===GPRS=== | ||
+ | |||
+ | * [[OpenBTS: GPRS]] | ||
+ | |||
+ | ===Power Amplifier=== | ||
+ | |||
+ | * [[Driver 900MHz]] | ||
+ | * [[Power Amplifier 900MHz]] | ||
+ | * [[Duplexer]] | ||
+ | * [[OpenBTS: Menaikan Jangkauan OpenBTS]] | ||
===Lain Lain=== | ===Lain Lain=== | ||
Line 534: | Line 643: | ||
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]] | * [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]] | ||
* [[OpenBTS: Daftar Artikel di Media]] | * [[OpenBTS: Daftar Artikel di Media]] | ||
+ | * [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]] | ||
+ | |||
+ | ===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) | ||
[[Category: Wireless]] | [[Category: Wireless]] | ||
[[Category: Selular]] | [[Category: Selular]] |
Latest revision as of 19:09, 31 December 2012
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.
Prasyarat
- Compile dan Install GNURadio 3.4.2. Tanpa GNURadio terinstall maka OpenBTS tidak mungkin di instalasi.
- Perhatikan max. GNURadio 3.4.2 yang masih membuat libusrp.
- Install Yate Softswitch
Instalasi Paket Pendukung dan Yate
Tampaknya OpenBTS 2.8 ini lebih baik pakai gcc 4.7, maka remove gcc yang versi baru Instalasi paket / library pendukung tambahan
sudo apt-get remove --purge gcc apt-get install gcc-4.7 build-essential libboost-all-dev libboost-python-dev \ libboost-python1.46-dev gccxml autoconf libtool libosip2-dev libortp-dev \ libusb-1.0-0-dev g++ erlang libreadline6-dev libboost-all-dev \ cmake build-essential subversion
Install sqlite3 terpisah
rm /usr/local/bin/sqlite3 apt-get install sqlite3 libsqlite3-dev cp /usr/bin/sqlite3 /usr/local/bin
SQLite3 suka rewel, coba di test dulu
sqlite3 --version
Yang seharusnya keluar
3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e
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
Load GNURadio
sudo ldconfig export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/
Cek apakah USRP GNURadio terinstalasi dengan baik menggunakan
pkg-config --cflags usrp
Harus keluar informasi, misalnya,
-I/usr/local/include
Jika tidak maka instalasi GNURadio gagal. Cara yang tampaknya baik bisa di baca di Instalasi GNURadio 3.3.0 di Ubuntu 11.10
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
Edit OpenBTS
sudo su cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps
Edit
vi OpenBTS.cpp
Edit
// Start the transceiver interface. // Sleep long enough for the USRP to bootload. sleep(5);
Pada masa lalu kita bisa men-delay, sekarang jangan dilakukan akan membuat transceiver shutdown
sleep(15);
Install OpenBTS
Nyalakan USRP1 dan sambungkan ke komputer. Compile & Instalasi OpenBTS untuk clock 52MHz
sudo su cd /usr/local/src/openbts-2.8.0/openbts/trunk autoreconf -i ./configure --with-usrp1 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/
Inisialisasi Transaction Table & Instalasi Database Konfigurasi OpenBTS
mkdir /var/run/OpenBTS 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"
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 Control.LUR.OpenRegistration . config save
Agar semua SIM Card dengan 510xxxx register dapat menggunakan
config Control.LUR.OpenRegistration [510]. config save
Baca tentang cara konfigurasi OpenBTS 2.8
Contoh Error Saat Compile OpenBTS
Jika GNURadio tidak terinstalasi dengan baik akan keluar Error berikut
configure: error: Package requirements (usrp > 3.1) were not met: No package 'usrp' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables USRP_CFLAGS and USRP_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
SOLUSI:
- Gunakan GNURADIO 3.4.2
- Masukan PKG_CONFIG_PATH ke .bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
- Untuk 64bit masukan
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
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"
Perlu di Hack ini?
Buat link CGI
vi /etc/apache2/sites-enabled/000-default
ScriptAlias /cgi/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory>
cd /usr/lib/cgi-bin/ ln -s /usr/local/src/openbts-2.8.0/subscriberRegistry/trunk/srmanager.cgi
Yang agak repot adalah menginstalasi Asterisk Real Time
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 sipauthserve.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"
Cek Sebelum Menjalankan OpenBTS
Cek USRP apakah sudah di deteksi sistem operasi
ls -lR /dev/bus/usb | grep usrp
Harusnya akan keluar seperti
crw-rw---- 1 root usrp 189, 2 2012-02-22 07:39 003
Cek sambungan antara PC ke USRP
cd /usr/local/src/openbts-2.8.0/openbts/trunk/Transceiver52M ./USRPping
Harusnya keluar
ALERT 3078412512 USRPDevice.cpp:526:setTxFreq: set TX: 8.254e+08failed baseband freq: 0 DDC freq: 5.74e+07 residual freq: 5.74e+07 ALERT 3078412512 USRPDevice.cpp:546:setRxFreq: set RX: 8.254e+08failed baseband freq: 0 DDC freq: -6.6e+06 residual freq: -0.00596046 19000: 0 0 19001: 0 0 19002: 0 0 19003: 0 0 19004: 0 0 19005: 0 0
Contoh jika gagal
usrp_open_interface:usb_claim_interface: failed interface 2 could not claim interface 2: Device or resource busy usrp_basic_rx: can't open rx interface
Error UHD
Error saat USRPping
cd /usr/local/src/openbts-2.8.0/openbts/trunk/Transceiver52M ./USRPping
Error
linux; GNU C++ version 4.6.1; Boost_104601; UHD_003.004.001-101-gff2649ca ALERT 3063285456 UHDDevice.cpp:409:parse_dev_type: USRP1 is not supported using the UHD driver ALERT 3063285456 UHDDevice.cpp:410:parse_dev_type: Please compile with GNU Radio libusrp support Segmentation fault
SOLUSI:
Kita punya masalah dengan UHD rupanya USRP1 tidak cocok dengan UHD. Lebih baik menggunakan GNURadio 3.4.2
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 -Rf /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
Beberapa Error
Saat menjalankan OpenBTS akan keluar Error
ALERT 3079285616 USRPDevice.cpp:546:setRxFreq: set RX: 9.002e+08failed baseband freq: 8.96e+08 DDC freq: -4.2e+06 residual freq: 0.00298023 ALERT 3079285616 Transceiver.cpp:540:driveControl: RX failed to tune ALERT 3079272144 TRXManager.cpp:342:tune: RXTUNE failed with status 1 ALERT 3079272144 TRXManager.cpp:395:powerOn: POWERON failed with status 1 ALERT 3079272144 TRXManager.cpp:409:setPower: SETPOWER failed with status 1 ALERT 3079272144 TRXManager.cpp:409:setPower: SETPOWER failed with status 1 1329902709.029597 3079272144: Welcome to OpenBTS. Type "help" to see available commands. OpenBTS> ALERT 3045964656 TRXManager.cpp:409:setPower: SETPOWER failed with status 1 ALERT 3068914544 TRXManager.cpp:86:clockHandler: TRX clock interface timed out, assuming TRX is dead. Aborted
Biasanya ini di barengi dengan konsumsi CPU yang sangat tinggi.
PROBLEM: Kemungkinan besar anda menjalankan program transceiver yang salah. Untuk USRP 64MHz gunakan Transceiver/transceiver. Untuk USRP 52MHz gunakan Transceiver52M/transceiver.
SOLUSI: Set path TRX.Path yang benar di OpenBTS.config.
Error SubscriberRegistry Configurasi
Keluar error saat menjalankan subscriberRegistry
cannot find configuration value Log.Level terminate called after throwing an instance of 'ConfigurationTableKeyNotFound'
SOLUSI:
- Tampaknya ini karena sqlite belum di install & di jalankan.
Error SubscriberRegistry database
Keluar error saat menjalankan OpenBTS
EMERG 3077609168 SubscriberRegistry.cpp:160:init: Cannot open SubscriberRegistry database: unable to open database file
SOLUSI:
Lakukan Instalasi Subscriber Registry
Error SubscriberRegistry.UpstreamServer
Keluar error saat menjalankan smqueue server
cannot find configuration value SubscriberRegistry.UpstreamServer
SOLUSI:
Jalankan SipAuth Server sebelum smqueue server
Error Stray Transceiver Process
Masalah:
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps ./OpenBTS
Keluar message error
bind() failed: Address already in use terminate called after throwing an instance of 'SocketError' Aborted
PROBLEM: OpenBTS shutdown tidak bersih dan masih ada proses transceiver yang masih jalan.
SOLUSI: Kill proses transceiver yang masih jalan dan coba sekali lagi seperti di bawah ini.
ps | grep transceiver
Keluar misalnya
30208 pts/1 00:00:00 transceiver
Kill
kill -KILL 30208
atau
killall transceiver
Error /var/run/OpenBTS/TransactionTable.db
Error:
ALERT 140385169614656 TransactionTable.cpp:868:init: Cannot open Transaction Table database at /var/run/OpenBTS/TransactionTable.db: unable to open database file 1356917323.929728 140385169614656: Starting the system... ALERT 140385169614656 TRXManager.cpp:408:powerOn: POWERON failed with status -1 transceiver: no process found
Solusi:
mkdir /var/run/OpenBTS touch /var/run/OpenBTS/TransactionTable.db
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
Persiapan
- USRP: High Precision Clock
- USRP: Menyambungkan ClockTamer ke USRP1
- USRP: Kalibrasi ClockTamer
- USRP: ClockTamer Control Protocol
- USRP: Instalasi Board
- OpenBTS: GIT Source Code
- USRP: Rangkaian Board USRP
- OpenBTS: Tethr untuk Bencana Alam
- USRP: Tip Pemesanan
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: 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: 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 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 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 Config Test
- OpenBTS: 2.8 Instalasi Real Time Asterisk RECOMMENDED
- OpenBTS: 2.8 Menjalankan RECOMMENDED
- OpenBTS: 2.8 Konfigurasi
- OpenBTS: 2.8 Konfigurasi Subscriber Registery
- OpenBTS: Database SQLite
Multi OpenBTS 2.8
- OpenBTS: Pola Multi OpenBTS RECOMMENDED
- Multi OpenBTS: Catatan Konfigurasi RECOMMENDED
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 Bekerja dengan opkg
- OpenBTS: E110 GNURadio
- OpenBTS: E110 Compile UHD *RECOMMENDED*
- OpenBTS: E110 UHD burn EEPROM RFX Board *RECOMMENDED*
- OpenBTS: E110 Install UHD Image *RECOMMENDED*
- OpenBTS: E110 Instalasi OpenBTS
- OpenBTS: E110 Instalasi OpenBTS 2.6 NOT RECOMMENDED
- OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS *RECOMMENDED*
GPRS
Power Amplifier
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