Dunia Komputer

Ayo jelajahi dunia komputer disekitar kita, dan buka tabir teknologinya...

Telekomunikasi

Dengan teknologi, kita terbantu untuk saling berkomunikasi tanpa terhambat jarak dan waktu...

Networking

Era kekinian, komunikasi data terhubung begitu cepat begitu mudah...

Kesehatan

Kesehatan adalah kekayaan sejati... Bukan emas atau perak (Mahatma Gandhi)

Ngaji

“Ingatlah! lima perkara sebelum lima perkara, ”Sehat sebelum sakit, muda sebelum tua, kaya sebelum miskin, lapang sebelum sempit dan hidup sebelum mati. (Hr. Hakim dan Baihaqi dalama bab Iman. Dan Ahmad dalam bab zuhud dari Ibnu Abbas r.hu).

Jumat, 13 April 2012

Menariknya SMS Gratisan dengan Open BTS



Open Base Transceiver Station, atau disingkat OpenBTS, adalah sebuah BTS GSM berbasis software, yang memungkinkan pengguna ponsel GSM melakukan pangilan telepon atau berkirim pesan singkat (sms), tanpa menggunakan jaringan operator selular komersial.

Artinya, dengan teknologi ini pengguna bisa melakukan telepon atau sms tanpa membutuhkan pulsa. Bahkan, dengan merakit OpenBTS ini, sebenarnya ibaratnya membangun operator seluler sendiri. Hanya saja jangkauan sinyalnya terbatas, dan hanya bisa berkomunikasi dengan ponsel lain yang terkoneksi dengan jaringan OpenBTS ini.
Penerapan OpenBTS di Indonesia sedang digalakkan oleh praktisi teknologi informasi Onno W Purbo. Berikut adalah dasar-dasar perangkat dan piranti lunak yang dibutuhkan untuk menggunakan teknologi ini seperti dikemukakan oleh Onno saat ditemui di kediamannya.

Hardware

Tentu saja hal yang paling dasar adalah seperangkat komputer, bisa desktop ataupun notebook.
Kemudian, untuk OpenBTS versi minimal, dibutuhkan hardware untuk memancarkan sinyal radio bernama Universal Sofware Radio Peripheral (USRP) dan dua jenis antena, yakni antena transmitter dan receiver.

USRP inilah yang menggantikan peran pemancar pada Base Transceiver Station (BTS) operator seluler komersil. USRP versi minimal bisa didapatkan dengan harga 15 sampai 20 juta.
Lewat kabel USB, sambungkan komputer ke USRP. Setelah itu, dua kabel yang ada di USRP disambungkan ke dua antena tersebut.

Software

Sebelumnya, komputer yang digunakan harus bersistem operasi Linux. Sistem operasi lain seperti Windows atau Mac tidak bisa digunakan untuk menjalankan OpenBTS.

Semua software yang digunakan untuk OpenBTS ini bisa di-download secara gratis, dan semuanya merupakan software open source.

Gunakan software GNU Radio, untuk mengendalikan USRP. Kemudian software OpenBTS, untuk mengontrol operasi BTS. Dan juga ada software sentral telepon bernama Asterisk. Software ini biasa digunakan untuk teknologi sentral telepon generasi 4G.

Protokol yang digunakan oleh sentral telepon Asterisk adalah Session Initiation Protocol (SIP). Protokol macam ini juga dipakai oleh operator seluler komersil seperti Indosat, Telkomsel, XL, Axis, dan lain-lain.

Logika berpikir hardware USRP

Logika berpikir USRP dalam OpenBTS ini kira-kira seperti sound card pada komputer. Sebuahsound card harus diprogram agar mengeluarkan sinyal audio.

Nah, begitu juga dengan USRP yang diprogram agar mengeluarkan sinyal radio. Bukan hanya sinyal radio, USRP ini bisa diatur untuk mengeluarkan sinyal AM, FM, ataupun sinyal TV. Semua sinyal itu diprogram melalui software.

Inilah yang menyebabkan OpenBTS bisa dirakit dengan harga yang murah. Karena pemancarnya diatur lewat software. Jika pemancarnya berupa hardware pasti membutuhkan biaya miliaran rupiah.

Jangkauan OpenBTS versi minimal ini hanya 5 sampai 10 meter saja. Karena, konsumsi listriknya hanya 100 mili watt. Jika power amplifier-nya diganti menjadi 10 watt, seharga 120 juta rupiah (belum termasuk ongkos kirim), jangkauannya bisa mencapai 5 kilometer lebih.
Coba bandingkan dengan BTS milik operator seluler. Untuk versi yang serupa, dibutuhkan biaya 1,5 miliar rupiah.

Gambaran Umum GSM Open Source

Gambaran umum sistem GSM murah meriah ini di perlihatkan pada gambar. Proyek ini di kenal di Internet dengan keyword GNURadio pada situs http://gnuradio.org.






Kunci base station GSM open source adalah sebuah Universal Software Radio Peripheral (USRP) yang merupakan software radio yang berbasis Digital Signal Processing (DSP) berkecepatan tinggi. USRP berupa hardware, ada beberapa versi USRP. Versi yang paling baru tampaknya menggunakan Gigabit Ethernet sehingga kita dapat meletakannya di atas tower dengan mudah agar dapat mengcover wilayah yang luas. USRP ini dapat di peroleh dengan harga sekitar US$1500-an dari Amerika Serikat, tepatnya dari Ettus Research pada alamat http://www.ettus.com/. Versi yang tampaknya akan mendominasi GSM murmer ini adalah USRP2 yang menggunakan Gigabit Ethernet. USRP2 membutuhkan power amplifer sampai sekitar 1 Watt pada frekuensi 915MHz untuk dapat memberikan layanan dengan baik. Modul power amplifier ini cukup banyak di pasaran dan dapat dicari di Google. Tanpa modul power amplier USRP2 tetap dapat digunakan dengan daya pancar sekitar 200mW saja.

Open Source Software

Yang menarik, semua software ini dapat di ambil secara cuma-cuma di alamat di bawah ini,
  • Sistem operasi, Ubuntu, dapat di ambil di http://kambing.ui.edu.
  • OpenBTS, dapat di ambil di http://gnuradio.org/trac/wiki/Download
  • Asterisk, dapat di ambil di http://www.asterisk.org/downloads
  • Jabber, dapat di ambil di http://xmpp.org/software/servers.shtml. Ada banyak pilihan software server Jabber yang dapat digunakan. Salah satu yang mungkin cocok untuk aplikasi Asterisk mungkin adalah ejabberd.
Selanjutnya akan di tulis secara detail teknik instalasi dan konfigurasi OpenBTS bagi mereka yang ingin “ngoprek” dan membuat sendiri BTS GSM.

Instalasi GNURadio di Ubuntu

Development Tool yang dibutuhkan adalah g++, subversion, make, autoconf, automake, libtool, sdcc, guile, ccache
Kita perlu menginstalasi berbagai library yang dibutuhkan. Langkah yang dapat dilakukan adalah
sudo apt-get update
Instal untuk Maverick (10.10)
sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake libtool python-dev libfftw3-dev
libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries
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
Install secara manual SWIG
Download dari http://sourceforge.net/projects/swig/files/swig/
cp swig-2.0.1.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf swig-2.0.1.tar.gz
cd /usr/local/src/swig-2.0.1/
./configure
make
make install
Install secara manul QWT
Download dari http://sourceforge.net/projects/qwt/files/
cp qwt-5.2.1.tar.bz2 /usr/local/src/
cd /usr/local/src/
tar jxvf qwt-5.2.1.tar.bz2
cd /usr/local/src/qwt-5.2.1/
qmake
make
make install
Install GNURadio
cp gnuradio-3.3.0.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf gnuradio-3.3.0.tar.gz
cd /usr/local/src/gnuradio-3.3.0/
./configure
make
make check
make install
Untuk handling USRP, Ubuntu menggunakan udev untuk menanganihotplug devices, dan secara default tidak memberikan akses non-root ke USRP. Script berikut akan memberikan akses bagi user untuk menghandel USRP via USB baik secara live atau hot-plug.
sudo addgroup usrp
sudo usermod -G usrp -a
echo ‘ACTION==”add”, BUS==”usb”, SYSFS{idVendor}==”fffe”, SYSFS{idProduct}==”0002″, GROUP:=”usrp”, MODE:=”0660″‘ > tmpfile
sudo chown root.root tmpfile
sudo mv tmpfile /etc/udev/rules.d/10-usrp.rules
Pada titik ini, Ubuntu telah di konfigurasi untuk tahu apa yang harus di kerjakan jika medeteksi USRP di USB tapi “udev” perlu me-reload rules untuk memasukan rules yang baru kita buat. Langkah berikut dapat dilakukan sehingga kita tidak perlu me-reboot komputer.
sudo udevadm control –reload-rules
atau
sudo /etc/init.d/udev stop
sudo /etc/init.d/udev start
atau
sudo killall -HUP udevd
Kita dapat mencek jika USRP telah di kenali dengan mengamati /dev/bus/usb setelah USRP di pasang menggunakan perintah
ls -lR /dev/bus/usb | grep usrp
Harusnya akan keluar seperti
crw-rw—- 1 root usrp 189,             1 2010-12-09 17 begin_of_the_skype_highlighting            1 2010-12-09 17      end_of_the_skype_highlighting      :38 002
Setiap USRP yang terpasang akan terdaftar pada group ‘usrp’ dan mode ‘crw-rw—-’.
Selanjutnya kita perlu memverifikasi apakah GNURadio dapat bekerja dengan USRP. Untuk tahapan ini kita perlu menyambungkan USRP ke komputer.
Cek kecepatan sambungan USB ke USRP
cd /usr/local/src/gnuradio-3.3.0/gnuradio-examples/python/usrp
./usrp_benchmark_usb.py
C++ interface ke USRP, memberikan estimasi throughput maksimum antara PC ke USRP
cd /usr/local/src/gnuradio-3.3.0/usrp/host/apps
./test_usrp_standard_tx
./test_usrp_standard_rx
Jika di butuhkan, kita dapat mengupgrade seluruh sistem. Tapi ini lumayan riskan.
sudo apt-get -y upgrade

Instalasi Software OpenBTS di Ubuntu

Pastikan kita sudah mengcompile dan menginstalasi software GNURadio dengan baik. Karena tanpa GNURadio terinstall maka OpenBTS tidak mungkin di instalasi.
Instalasi paket / library pendukung tambahan
apt-get install libosip2-4 libosip2-dev libortp8 libortp-dev
Download source code dari
http://www.openbts.org
http://sourceforge.net/projects/openbts/
Lakukan
cp openbts-2.6.0Mamou.tar.gz /usr/local/src/
cd /usr/local/src/
tar zxvf openbts-2.6.0Mamou.tar.gz
cd /usr/local/src/openbts-2.6.0Mamou/
./configure
make
make all
make install
Selesai :)

Konfigurasi Asterisk untuk OpenBTS

Kunci dari keberhasilan operasi OpenBTS adalah sentral telepon di belakangnya. Kita biasanya menggunakan asterisk sebagai sentral telepon. Asterisk sendiri adalah sentral telepon berbasis Session Initiation Protocol (SIP) yang saat ini banyak digunakan oleh para operator telekomunkasi di Indonesia, baik itu Telkom, Indosat, XL, Esia, Bakrie Telecom dll. Pembahasan tentang Asterisk atau sentral telepon berbasis SIP ini dapat di baca di
http://opensource.telkomspeedy.com/wiki/index.php/VoIP
http://opensource.telkomspeedy.com/speedyorari/index.php?dir=ebook-voip
Integrasi OpenBTS ke Asterisk sangat sederhana secara prinsip. Setiap SIM akan di konfigurasi sebagai SIP user menggunakan IMSI sebagai username. Proses memasukan pelanggan OpenBTS melalui dua tahap:
  1. Mendapatkan IMSI dari SIM, hal ini di implementasi dengan mengirim SMS saat handphone tersambung ke OpenBTS
  2. Masukan ke sip.conf dan extensions.conf untuk mendukung SIP user baru tersebut.
Pada dasarnya tidak banyak yang perlu di konfigurasi di Asterisk agar dia dapat berbicara dengan OpenBTS. Kita terutama perlu mengedit file
/etc/asterisk/sip.conf
/etc/asterisk/extensions.conf
Conth konfigurasi ada di folder
/usr/local/src/openbts-2.6.0Mamou/AsteriskConfig
Contoh isi /etc/asterisk/sip.conf adalah sebagai berikut
[IMSI520010104743577]
callerid=21011
canreinvite=no
type=friend
allow=gsm
context=sip-external
host=dynamic
[IMSI510110301694405]
callerid=21019
canreinvite=no
type=friend
allow=gsm
context=sip-external
host=dynamic
Contoh isi /etc/asterisk/extensions.conf adalah sebagai berikut
[sip-external]
exten => 21011,1,Dial(SIP/IMSI520010104743577)
exten => 21022,1,Dial(SIP/IMSI520010201115028)
exten => 21023,1,Dial(SIP/IMSI520012391814084)
exten => 21024,1,Dial(SIP/IMSI520990400939846)
exten => 21025,1,Dial(SIP/IMSI520189200141327)
exten => 21025,1,Dial(SIP/IMSI520189200141327)
exten => 21019,1,Dial(SIP/IMSI510110301694405)
exten => 21018,1,Dial(SIP/IMSI520154100006647)
Angka IMSI520154100006647 di peroleh dari SMS yang di terima oleh user OpenBTS.

Membuat Telkom Sendiri

Agar kita dapat membuat Telkom sendiri sebetulnya selain ilmu OpenBTS, sisanya kebanyakan berbentuk software, yaitu,
  • Membuat sentral telepon sendiri, seperti Asterisk atau opensips
  • Membuat ENUM, agar dapat mengenali penomoran +62.
  • Analog Telepon Adapter bagi mereka yang membutuhkan sambungan ke telepon konvensional.
Referensi :