Anda di halaman 1dari 47

Pusat Pelatihan OpenBTS Surya University

Mengenal OpenBTS

Adityo Pratomo Prodi Informatika Surya University

OpenBTS Development Kit

GSM850 / GSM900 / DCS1800 / PCS1900

single ARFCN

up to 30m service radius

100mW output power

100-240V power supply

/ DCS1800 / PCS1900 ❖ single ARFCN ❖ up to 30m service radius ❖ 100mW output

OpenBTS Development Kit

Di dalamnya, ada Ubuntu Server 12.04 32-bit

Source Code OpenBTS ada di https://github.com/ RangeNetworks/openbts

Di dalamnya, ada Ubuntu Server 12.04 32-bit ❖ Source Code OpenBTS ada di https://github.com/ RangeNetworks/openbts

OpenBTS Development Kit

Akses ke dalam OpenBTS via web

(buka browser, arahkan ke

192.168.0.21)

Atau via SSH

ke dalam OpenBTS via web ❖ (buka browser, arahkan ke 192.168.0.21) ❖ Atau via SSH ❖

Arsitektur Komponen OpenBTS

Arsitektur Komponen OpenBTS

Arsitektur Komponen OpenBTS

• VoIP switch • Menangani rekues SIP Invite • Membentuk panggilan • Menghubungkan kedua penelepon
• VoIP switch
• Menangani rekues SIP Invite
• Membentuk panggilan
• Menghubungkan kedua
penelepon

Arsitektur Komponen OpenBTS

• Memproses permintaan SIP REGISTER • Mengupdate database pelanggan
• Memproses permintaan SIP REGISTER
• Mengupdate database pelanggan

Arsitektur Komponen OpenBTS

• Memproses permintaan SIP MESSAGE yang dihasilkan OpenBTS saat sebuah device mengirimkan SMS • Menyimpan
• Memproses permintaan SIP MESSAGE
yang dihasilkan OpenBTS saat sebuah
device mengirimkan SMS
• Menyimpan pesan, menjadwalkan
pengiriman pesan

Arsitektur Komponen OpenBTS

• Mengimplementasikan interface GSM udara di software • Berkomunikasi langsung dengan handset GSM
• Mengimplementasikan interface GSM udara di software
• Berkomunikasi langsung dengan handset GSM

Hubungan Handset dan OpenBTS

Komunikasi antara Handset GSM dan OpenBTS dikonvesikan menjadi SIP dan RTP di sisi jaringan IP

Hubungan ini berinteraksi dengan SMQueue, SIPAuthServe dan Asterisk, membentuk core network

Handset GSM melihat jaringan OpenBTS sebagai sebuah jaringan radio yang kompatibel

Core network melihat sebuah ujung standar SIP

Konfigurasi Dasar

Setting Awal Komputer

$ sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0

$ ping 192.168.0.21

Set agar komputer dan OpenBTS berada dalam 1 jaringan Lalu SSH dengan:

username openbts, password: openbts

Keadaan Awal

$ sudo stop openbts

$ sudo stop asterisk

$ sudo stop sipauthserve

$ sudo stop smqueue

Memastikan bahwa tidak ada servis yang berjalan sebelum beberapa pengujian dilakukan

Memastikan Konektivitas Radio

$ cd /OpenBTS

$ sudo ./transceiver

$ uhd_find_devices

$ uhd_usrp_probe

Kalau hasilnya positif, artinya device radio ada dan siap untuk digunakan

Menjalankan Jaringan

$ sudo start openbts

Kini servis OpenBTS akan berjalan dan bisa terhubung dengan handset GSM

CLI dan Sistem Konfigurasi

$ sudo /OpenBTS/OpenBTSCLI

Konfigurasi OpenBTS disimpan di database SQLite3 di /etc/OpenBTS/OpenBTS.db Untuk mengubah konfigurasi, cara termudah adalah lewat CLI seperti perintah di atas

Memeriksa Konfigurasi OpenBTS

OpenBTS> config OpenBTS> config GSM.Radio

Perintah pertama menampilkan semua konfigurasi Perintah kedua hanya menampilkan konfigurasi yang berkaitan dengan GSM.Radio

Mengubah GSM Band dan ARFCN

OpenBTS> config GSM.Radio.Band 850 OpenBTS> config GSM.Radio.C0 166

$ sudo stop openbts

$ sudo start openbts

Mengubah GSM Band menjadi 850 MHz dan ARFCN menjadi 166 Konfigurasi disimpan dan agar aktif OpenBTS harus direstart

Mengubah GSM Band dan ARFCN

OpenBTS> config GSM.Radio.Band 1800 OpenBTS> config GSM.Radio.C0 605

$ sudo stop openbts

$ sudo start openbts

Mengubah GSM Band menjadi 1800 MHz dan ARFCN menjadi 605 Silakan ganti ARFCN dengan selisih 2 antar OpenBTS Konfigurasi disimpan dan agar aktif OpenBTS harus direstart

Mengganti Identitas Jaringan

OpenBTS> config GSM.Identity.Shortname OperatorKu OpenBTS> config GSM.Identity.MCC 001 OpenBTS> config GSM.Identity.MNC 15

Mengubah nama jaringan seluler menjadi OperatorKu Mengubah Mobile Country Code menjadi 001 Mengubah Mobile Network Code menjadi 15

Ringkasan Konfigurasi OpenBTS

 

grup 1

grup 2

grup 3

grup 4

grup 5

C0

605

607

609

611

613

MCC

001

001

001

001

001

MNC

sesuai no kotak

sesuai no kotak

sesuai no kotak

sesuai no kotak

sesuai no kotak

Memeriksa Kualitas Jaringan

OpenBTS> noise

Menampilkan besar noise dalam jaringan. Perhatikan margin antara RSSI dan target RSSI di handset. Margin > 10 dB = bagus Margin < 10 dB = kurang bagus Margin < 0 dB = buruk

Mengurangi Noise

OpenBTS> noise
OpenBTS> noise

Perbaiki posisi antena, sudut 90 derajat antara antena

Mengurangi Noise

OpenBTS> power OpenBTS> power 20

Mengurangi kekuatan transmisi downlink sebesar 20 dB untuk membersihkan sinyal. Tradeoffnya, kekuatan pancaran sinyal jadi lemah, tidak sejauh pada keadaan normal

Mengurangi Noise

$ cd /OpenBTS $ ./PowerScanner

Gunakan PowerScanner untuk memeriksa saluran ARFCN yang ada. Lalu pindahkan ARFCN ke saluran yang lebih sedikit digunakan.

Untuk lab ini, pisahkan ARFCN dengan selisih 2 antar OpenBTS

Menambahkan Pelanggan

$ sudo start sipauthserve

OpenBTS> tmsis

sipauthserve dinyalakan karena ia yang akan menangani masalah registrasi serta update pelanggan Setelah mencoba register ke jaringan, tmsis akan menampilkan daftar handset yang telah berinteraksi dengan OpenBTS. Perhatikan IMEI handset GSM anda, gunakan perintah *#06# untuk memeriksa IMEI. Biasanya digit terakhir berbeda dg yg ditampilkan oleh tmsis

Menambahkan Pelanggan

$ cd dev/NodeManager

$ ./nmcli.py sipauthserve subscribers create name imsi msisdn

$ ./nmcli.py sipauthserve subscribers create “iPhone 4” IMSI214507715229963 \6055551234

Di sini pelanggan ditambahkan melalui command line Gunakan IMSI sesuai dengan hasil scan tmsis, pastikan ini adalah IMSI dari IMEI yang sama dengan handset GSM Anda MSISDN bisa dibuat sesuai kemauan Anda

Menambahkan Pelanggan

OpenBTS> tmsis

Coba lagi untuk bergabung dengan jaringan OpenBTS. Kali ini menjalankan tmsis akan menghasilkan pesan “1” pada kolom AUTH yang menandakan handset sudah masuk ke dalam jaringan

Test Call

$ sudo start asterisk

Jalankan asterisk karena ia yang akan menangani panggilan Coba telepon ke 2602 untuk test tone Telepon ke 2600 untuk echo call Telepon ke nomor lain dalam jaringan OpenBTS

Hands-On - Trace an MOC

SIP Switch

OpenBTS

Handset

INVITE Status: 100 Trying Status: 182 Ringing Status: 200 OK CHAN. REQ. IMMED. ASSIGN. CM
INVITE
Status: 100 Trying
Status: 182 Ringing
Status: 200 OK
CHAN. REQ.
IMMED. ASSIGN.
CM SVC. REQ.
CM SVC. ACCEPT
SETUP
CALL PROCEEDING
RTP traffic
ALERTING
CONNECT
CONNECT ACK.
GSM traffic

Hands-On - Trace an MOC

$ echo extension 2600

OpenBTS> rawconfig Log.Level.L3CallControl.cpp INFO

OpenBTS> rawconfig Log.Level.SIP2Interface.cpp INFO

$ sudo tail -f /var/log/OpenBTS.log

OpenBTS> chans

OpenBTS> calls

Test SMS

$ sudo start smqueue

Jika sudah di dalam jaringan, kita bisa melakukan test SMS. Jalankan smqueue karena ia yang akan menangani SMS kirim sms berisi pesan apa saja ke 411, nanti ia akan mengirim SMS balik dengan status jaringan dan SMS Coba juga SMS ke nomor lain dalam jaringan OpenBTS

Hands-On - Trace an MO-SMS

OpenBTS

smqueue

Handset

CHAN. REQ. ASSIGNMENT CM SVC. REQ. CM SVC. ACCEPT CP-DATA/RP-DATA CP-ACK MESSAGE OK CP-DATA/RP-ACK CP-ACK
CHAN. REQ.
ASSIGNMENT
CM SVC. REQ.
CM SVC. ACCEPT
CP-DATA/RP-DATA
CP-ACK
MESSAGE
OK
CP-DATA/RP-ACK
CP-ACK
CHANNEL RELEASE

Mengukur Kualitas Jaringan

OpenBTS> chans

Setelah melakukan test call, menjalankan perintah ini akan menunjukkan kualitas jaringan dengan menampilkan beberapa statistik. Perhatikan statistik berikut:

SNR: rasio sinyal dan noise uplink, lebih tinggi lebih baik TXPWR: kekuatan transmisi uplink yang dilaporkan oleh handset RXLEV_DL: tingkat sinyal downlink yang dilaporkan oleh handset

Personalisasi Jaringan

OpenBTS> config GSM.Identity.ShortName SU

Mengganti shortname dari OpenBTS saat dicari oleh handset Silakan ubah Shortname, MCC dan MNC sesuai keinginan Anda, lalu perhatikan perubahan nama saat handset ingin registrasi ke jaringan

OpenRegistration

OpenBTS> config OpenRegistration

OpenRegistration memungkinkan jaringan secara otomatis menerima subscriber dari IMSI baru tanpa cara manual. Konfigurasi di atas menunjukkan status OpenRegistration di OpenBTS anda

OpenRegistration

OpenBTS> config Control.LUR.OpenRegistration .*

OpenRegistration dikonfigurasi untuk menerima semua IMSI

OpenRegistration

OpenBTS> config Control.LUR.OpenRegistration.Message Halo Selamat Datang

OpenRegistration dikonfigurasi untuk mengirimkan pesan ke handset yang sudah teregistrasi ke jaringan

Hands-On - Trace an LUR

MS

OpenBTS

SubscriberRegistry

Asterisk

CHAN. REQ.

an LUR MS OpenBTS SubscriberRegistry Asterisk CHAN. REQ. ❖ CLI> rawconfig Log.Level.MobilityManagement.cpp
an LUR MS OpenBTS SubscriberRegistry Asterisk CHAN. REQ. ❖ CLI> rawconfig Log.Level.MobilityManagement.cpp
an LUR MS OpenBTS SubscriberRegistry Asterisk CHAN. REQ. ❖ CLI> rawconfig Log.Level.MobilityManagement.cpp

CLI>

rawconfig Log.Level.MobilityManagement.cpp INFO

IMMED. ASSIGN.

LOC. UPDATE REQ.

INFO IMMED. ASSIGN. LOC. UPDATE REQ. REGISTER OK ❖ CLI> rawconfig

REGISTER

INFO IMMED. ASSIGN. LOC. UPDATE REQ. REGISTER OK ❖ CLI> rawconfig Log.Level.RadioResource.cpp INFO
INFO IMMED. ASSIGN. LOC. UPDATE REQ. REGISTER OK ❖ CLI> rawconfig Log.Level.RadioResource.cpp INFO

OK

INFO IMMED. ASSIGN. LOC. UPDATE REQ. REGISTER OK ❖ CLI> rawconfig Log.Level.RadioResource.cpp INFO ❖

CLI> rawconfig Log.Level.RadioResource.cpp INFO

$

CLI> rawconfig Log.Level.RadioResource.cpp INFO ❖ $ sudo tail -f /var/log/OpenBTS.log LOC. UPDATE ACCEPT CHAN.

sudo tail -f /var/log/OpenBTS.log

CLI> rawconfig Log.Level.RadioResource.cpp INFO ❖ $ sudo tail -f /var/log/OpenBTS.log LOC. UPDATE ACCEPT CHAN. REL.
CLI> rawconfig Log.Level.RadioResource.cpp INFO ❖ $ sudo tail -f /var/log/OpenBTS.log LOC. UPDATE ACCEPT CHAN. REL.

LOC. UPDATE ACCEPT CHAN. REL.

LOC. UPDATE ACCEPT CHAN. REL.
CLI> rawconfig Log.Level.RadioResource.cpp INFO ❖ $ sudo tail -f /var/log/OpenBTS.log LOC. UPDATE ACCEPT CHAN. REL.
CLI> rawconfig Log.Level.RadioResource.cpp INFO ❖ $ sudo tail -f /var/log/OpenBTS.log LOC. UPDATE ACCEPT CHAN. REL.
CLI> rawconfig Log.Level.RadioResource.cpp INFO ❖ $ sudo tail -f /var/log/OpenBTS.log LOC. UPDATE ACCEPT CHAN. REL.

Hands-On - Trace an LUR

OpenBTS> rawconfig Log.Level.L3MobilityManagement.cpp INFO

OpenBTS> rawconfig Log.Level.RadioResource.cpp INFO

$ sudo tail -f /var/log/OpenBTS.log

OpenBTS> tmsis

OpenRegistration

OpenBTS> unconfig Control.LUR.OpenRegistration

OpenRegistration dimatikan

Konfigurasi Asterisk

$ sudo nano /etc/asterisk/extensions.conf

$ sudo nano /etc/asterisk/sip.conf

GPRS

OpenBTS> config GPRS.Enable 1

GPRS aktif, jangan lupa matikan dan nyalakan lagi OpenBTS

GPRS: Central Services

$ ifconfig sgsntun

Konfirmasi bahwa tunnel untuk SGSN sudah aktif, artinya interface virtual untuk GPRS sudah siap

GPRS: Central Services

$ sudo modprobe iptable_nat

$ sudo iptables -t nat -F

$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

$ sudo iptables-restore < /etc/OpenBTS/iptables.rules

Konfigurasi IP Table untuk jaringan ke internet.

GPRS: Central Services

$ sudo modprobe iptable_nat

$ sudo iptables -t nat -F

$ sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to- source XXX.XX.XX.XXX

Jika BTS menggunakan static IP address, di mana XXX.XX.XX.XXX adalah static IP address milik BTS,

GPRS: Central Services

$ netstat -nr

Konfirmasi IP Table yang baru. Pastikan ada sgsntun