OpenBTS: E110 Yate Softswitch
Yate adalah sebuah mesin untuk routing message yang sangat flexible. Yate di rancang untuk dapat di jalankan mulai dari switch SIP yang sangat besar hingga SIP client yang di jalankan di pesawa telepon. Proses instalasi Yate akan di jelaskan di sini.
Siapkan Pendukung
- Pastikan ada sambungan ke Internet, banyak aplikasi yang harus di download via Internet
- Instal aplikasi pendukung
opkg remove libqtuitools4-dev --force-removal-of-dependent-packages opkg install libqtuitools4-dev mysql5-dev sqlite3-dev qt4-x11-free qmake2 opkg install qt4-x11-free-dev libqwt-dev libqtgui4 libqtgui-dev libgsm-dev libgsm-static opkg install libgsm1 autoconf-dev autoconf libqtcore-dev libqtcore4 libqtxml-dev opkg install libqtxml4 libqtxmlpatterns-dev libqtxmlpatterns4 gnuradio-dev opkg install libqtassistantclient4-dev
Entah kenapa, QtUITools tidak ada
opkg install qt4-tools qt4-assistant opkg install libqtclucene-dev libqtclucene4 libqtcore-dev libqtcore4 libqtdbus-dev libqtdbus4 opkg install libqtdeclarative-dev libqtdeclarative4 libqtdesigner-dev libqtdesigner4 opkg install libqtdesignercomponents-dev libqtdesignercomponents4 libqtgui-dev libqtgui4 libqthelp-dev opkg install libqthelp4 libqtmultimedia-dev libqtmultimedia4 libqtnetwork-dev libqtnetwork4 opkg install libqtscript-dev libqtscript4 libqtscripttools-dev libqtscripttools4 libqtsql-dev opkg install libqtsql4 libqtsvg-dev libqtsvg4 libqttest-dev libqttest4 libqtuitools4-dev
Download Yate
Source Code Yate dapat di ambil dari
- http://yate.null.ro/pmwiki/index.php?n=Main.Download
- http://yate.null.ro/tarballs/yate4/yate-4.3.0-1.tar.gz
Compile Yate
Untuk interoperability dengan OpenBTS, kita perlu menginstalasi libgsm1-dev SEBELUM menginstall Yate. Compile Yate melalui perintah
cd ~/src wget http://yate.null.ro/tarballs/yate4/yate-4.3.0-1.tar.gz cd ~/src/ tar zxvf yate-4.3.0-1.tar.gz cd ~/src/yate ./configure make make install
Masalah Dengan Embedded
Di Embedded
QtUITools
tidak bisa di compile. Makefile yang perlu di ubah untuk menghilangkan referensi ke QtUiTools
vi ~/src/yate/clients/qt4/Makefile vi ~/src/yate/clients/Makefile
Buang ketergantungan source yang tergantung pada QtUITools
vi /home/root/src/yate/clients/qt4/qt4client.cpp
Pastikan tidak menggunakan QUiLoader
// Load a widget from file QWidget* QtWindow::loadUI(const char* fileName, QWidget* parent, const char* uiName, const char* path) { if (Client::exiting()) return 0; if (!(fileName && *fileName && parent)) return 0; if (!(path && *path)) path = Client::s_skinPath.c_str(); UIBuffer* buf = UIBuffer::build(fileName); const char* err = 0; /* if (buf && buf->buffer()) { QBuffer b(buf->buffer()); QUiLoader loader; loader.setWorkingDirectory(QDir(QtClient::setUtf8(path))); QWidget* w = loader.load(&b,parent); if (w) return w; err = "loader failed"; } else err = buf ? "file is empty" : "file not found"; */ // Error TelEngine::destruct(buf); Debug(DebugWarn,"Failed to load widget '%s' file='%s' path='%s': %s", uiName,fileName,path,err); return 0; }
Jika ini tidak dilakukan maka akibatnya
../libyateqt4.so: undefined reference to `QUiLoader::QUiLoader(QObject*)' ../libyateqt4.so: undefined reference to `QUiLoader::~QUiLoader()' ../libyateqt4.so: undefined reference to `QUiLoader::load(QIODevice*, QWidget*)' ../libyateqt4.so: undefined reference to `QUiLoader::setWorkingDirectory(QDir const&)'
Cek Instalasi
Pastikan bahwa codec gsm telah berhasil di instalasi dengan baik dengan lihat adanya file "modules/gsmcodec.yate"
ls /usr/local/src/yate/modules/ ls /usr/local/src/yate/modules/gsmcodec.*
harusnya ada
/usr/local/src/yate/modules/gsmcodec.cpp /usr/local/src/yate/modules/gsmcodec.yate
Pastikan bahwa yate telah di instalasi dengan baik di lokasi default dengan melihat adanya file /usr/local/share/yate/scripts
ls /usr/local/share/yate/scripts
Library Lain
Pastikan anda mempunyai sambungan ke Internet yang baik.
Kita memerlukan dua library untuk melakukan routing di yate, yaitu:
- Python Messaging https://github.com/pmarti/python-messaging
- libvbts https://github.com/kheimerl/libvbts
Proses instalasi yang perlu dilakukan adalah,
cd /usr/local/src git clone git://github.com/pmarti/python-messaging git clone git://github.com/kheimerl/libvbts cd /usr/local/src/python-messaging/ sudo python setup.py install cd /usr/local/src/libvbts/ sudo python setup_yate.py install
Yate Configuration
Ada beberapa file yang perlu di ubah untuk mengkonfigurasi yate dengan OpenBTS. File ini berlokasi di /usr/local/etc/yate/
ysipchan.conf
ysipchan mengkonfigurasi sip module. Kita perlu memberitahukan yate untuk membuat SIP MESSAGE event.
vi /usr/local/etc/yate/ysipchan.conf
Di bagian [general], tambahkan : OpenBTS: Yate Softswitch
[general] maxpkt=4096 generate=yes
dan, di blok [methods], tambahkan :
[methods] message=yes
regexroute.conf
regexroute.conf control routing dari paket tertentu. Kita menggunakan regexroute.conf untuk mematikan authorization of messages.
vi /usr/local/etc/yate/regexroute.conf
*JANGAN*
Pastikan di bagian akhir dari blok [default] tidak ada
.*=return true
extmodule.conf
extmodule.conf mengontrol external modul yate. libvbts mengimplementasi beberapa hal yang dibutuhkan untuk operasi OpenBTS. Kita perlu mengaktif module tersebut, dengan mengedit
vi /usr/local/etc/yate/extmodule.conf
Pada block [scripts] isi:
[scripts]
VBTS_Call_Route.py=10 ; VBTS_Call_Originate.py=10 ; VBTS_Call_Provisioning.py=10 VBTS_Route_Local.py=10 VBTS_Route_Provisioning.py=5 VBTS_SMS_Echo.py=10|vbts_tp_dest_address|^100$ VBTS_SMS_Provisioning.py=5 VBTS_SMS_Route.py=50 ; VBTS_SMS_Send.py=50
Variabel ini menset prioritas penanganan message dan / atau regex yang menyebabkan bagaimana cara message di tangani.
OpenBTS configuration
Hanya perlu satu perubahan parameter untuk operasi dengan openbts: kita perlu mengarahkan OpenBTS di yate agar dapat menangani messages, ini dilakukan di OpenBTS command line:
cd /usr/local/src/openbts-2.8.0/openbts/trunk/apps ./OpenBTSCLI
OpenBTS original / yang normal
SIP.Proxy.SMS 127.0.0.1:5063
Masukan untuk Yate
config SIP.Proxy.SMS {YATE_IPADDRESS}:{YATE_PORT} #probably localhost:5060 config SIP.Proxy.Speech {YATE_IPADDRESS}:{YATE_PORT}
atau
config SIP.Proxy.SMS localhost:5060 config SIP.Proxy.Speech localhost:5060
config save
yate monitor port berikut
TCP 1720: untuk H323 UDP 4569: untuk IAX2 UDP 5060 TCP 5038: Telnet admin app
Yate Use
Dengan perubahan tersebut, yate akan secara automatis akan me-route voice / sms message. Lihat catatan yate berikut ini:
Run & Kill
Menjalankan yate menggunakan perintah
cd /usr/local/src/yate ./run -t -l /var/log/yate -vvvv -c /usr/local/etc/yate -m /usr/local/lib/yate -e /usr/local/share/yate -d
Mematikan yate
killall yate
Melihat Log
Melihat log penting sekali untuk melihat masalah dalam konfigurasi, log yang penting
- /tmp/VBTS.log
- /var/log/yate
Calling
OpenBTS call melalui Yate menjadi sangat sederhana.
Yate (default) tidak memerlukan authentikasi / registrasi untuk menerima call. File configurasi default dapat menangani incoming call. Dial ke 99991002 dari handset harunya memberikan "busy tone" dari Yate. Jika ini terjadi, maka konfigurasi anda berhasil!
Daftar nomor untuk testing
99991001 dial 99991002 busy 99991003 ring 99991004 specdial 99991005 congestion 99991006 outoforder 99991007 milliwatt 99991008 info
Memaksa Yate Authentikasi
Dengan menambahkan route di regexroute.conf memaksa semua call untuk authentikasi;
${route}^$=-;error=noauth
Messaging
Yate (default) tidak merouting SIP MESSAGE.
Modifikasi ysipchan.conf untuk menerima to SIP MESSAGE. Tambahkan kalimat berikut di bagian [methods]:
message=true
RManager
RManager adalah CLI engine Yate. Ini memungkinkan Yate untuk di control melalui telnet yang sederhana. RManager dapat di akses menggunakan perintah telnet berikut (asumsi kita beroperasi di localhost):
telnet localhost 5038
Perintah dalam RManager
Available commands: quit echo [on|off] help [command] auth password status [overview] [modulename] uptime machine [on|off] output [on|off] color [on|off] debug [module] [level|on|off] drop {chan|*|all} [reason] call chan target control chan [operation] [param=val] [param=...] reload [plugin] restart [now] stop [exitcode] alias [name [command...]] module {{load|reload} modulefile|unload modulename|list} events [clear] [type] logview status jabber [stream_name|{c2s|s2s} [remote_jid]] jabber drop {stream_name|{c2s|s2s|*|all} [remote_jid]} jabber create remote_domain [local_domain] [parameter=value...] jabber debug stream_name [debug_level|on|off] callgen {start|stop|drop|pause|resume|single|info|reset|load|save|set paramname[=value]} filetransfer {{send|receive} filename [callto:]target [[paramname=value]...]} accounts [reload|{login|logout|...} [account]] users {add user [parameter=value...]|delete user|update user [parameter=value...]} sigdump component [filename] cache {load|flush} cache_name [[param=value]...]
Referensi
- http://wush.net/trac/rangepublic/wiki/yateConfig
- http://yate.null.ro/pmwiki/index.php?n=Main.News
- http://yate.null.ro/pmwiki/index.php?n=Main.Download
- http://yate.null.ro/tarballs/yate4/yate-4.1.0-1.tar.gz
- https://github.com/kheimerl/libvbts
- https://github.com/pmarti/python-messaging
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: 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 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 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 Konfigurasi Jaringan
- OpenBTS: E110 Bekerja dengan opkg
- 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
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
- OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman