Difference between revisions of "OpenBTS: E110 Yate Softswitch"

From OnnoWiki
Jump to navigation Jump to search
 
(22 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
 
  opkg remove libqtuitools4-dev --force-removal-of-dependent-packages
 
  opkg remove libqtuitools4-dev --force-removal-of-dependent-packages
  opkg install libqtuitools4-dev
+
  opkg install libqtuitools4-dev mysql5-dev sqlite3-dev qt4-x11-free qmake2
opkg install qt4-x11-free
+
  opkg install qt4-x11-free-dev libqwt-dev libqtgui4 libqtgui-dev libgsm-dev libgsm-static
opkg install qmake2
+
  opkg install libgsm1 autoconf-dev autoconf libqtcore-dev libqtcore4 libqtxml-dev
  opkg install qt4-x11-free-dev
+
  opkg install libqtxml4 libqtxmlpatterns-dev libqtxmlpatterns4 gnuradio-dev
opkg install qt4-x11-free-doc
+
  opkg install libqtassistantclient4-dev
opkg install libqwt-dev
+
  opkg install qt4-tools qt4-assistant
opkg install libqwt-examples
+
  opkg install libqtclucene-dev libqtclucene4 libqtcore-dev libqtcore4 libqtdbus-dev libqtdbus4
opkg install libqtgui4
+
  opkg install libqtdeclarative-dev libqtdeclarative4 libqtdesigner-dev libqtdesigner4
opkg install libqtgui-dev
+
  opkg install libqtdesignercomponents-dev libqtdesignercomponents4 libqtgui-dev libqtgui4 libqthelp-dev
opkg install libgsm-dev
+
  opkg install libqthelp4 libqtmultimedia-dev libqtmultimedia4 libqtnetwork-dev libqtnetwork4
opkg install libgsm-static
+
  opkg install libqtscript-dev libqtscript4 libqtscripttools-dev libqtscripttools4 libqtsql-dev
  opkg install libgsm1
+
  opkg install libqtsql4 libqtsvg-dev libqtsvg4 libqttest-dev libqttest4 libqtuitools4-dev
  opkg install autoconf-dev
 
  opkg install autoconf
 
  opkg install libqtcore-dev
 
  opkg install libqtcore4
 
  opkg install libqtxml-dev
 
  opkg install libqtxml4
 
  opkg install libqtxmlpatterns-dev
 
  opkg install libqtxmlpatterns4
 
  opkg install gnuradio-dev
 
  
 
==Download Yate==
 
==Download Yate==
Line 39: Line 30:
  
 
Untuk interoperability dengan [[OpenBTS]], kita perlu menginstalasi libgsm1-dev SEBELUM menginstall Yate. Compile Yate melalui perintah
 
Untuk interoperability dengan [[OpenBTS]], kita perlu menginstalasi libgsm1-dev SEBELUM menginstall Yate. Compile Yate melalui perintah
 +
 +
 +
mkdir -p /usr/local/etc/yate
 +
mkdir -p /usr/local/lib/yate
 +
mkdir -p /usr/local/share/yate
  
 
  cd ~/src
 
  cd ~/src
Line 48: Line 44:
 
  make
 
  make
 
  make install
 
  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
 +
vi ~/src/yate/modules/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==
 
==Cek Instalasi==
Line 53: Line 110:
 
Pastikan bahwa codec gsm telah berhasil di instalasi dengan baik dengan lihat adanya file "modules/gsmcodec.yate"
 
Pastikan bahwa codec gsm telah berhasil di instalasi dengan baik dengan lihat adanya file "modules/gsmcodec.yate"
  
  ls /usr/local/src/yate/modules/
+
  ls ~/src/yate/modules/
  ls /usr/local/src/yate/modules/gsmcodec.*
+
  ls ~/src/yate/modules/gsmcodec.*
  
 
harusnya ada
 
harusnya ada
  
  /usr/local/src/yate/modules/gsmcodec.cpp
+
  ~/src/yate/modules/gsmcodec.cpp
  /usr/local/src/yate/modules/gsmcodec.yate
+
  ~/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
+
Pastikan bahwa yate telah di instalasi dengan baik di lokasi default dengan melihat adanya folder
  
  ls /usr/local/share/yate/scripts
+
  ~/src/yate/share/scripts/
  
 
==Library Lain==
 
==Library Lain==
Line 76: Line 133:
 
Proses instalasi yang perlu dilakukan adalah,
 
Proses instalasi yang perlu dilakukan adalah,
  
  cd /usr/local/src
+
  cd ~/src
 
  git clone git://github.com/pmarti/python-messaging
 
  git clone git://github.com/pmarti/python-messaging
 
  git clone git://github.com/kheimerl/libvbts
 
  git clone git://github.com/kheimerl/libvbts
  cd /usr/local/src/python-messaging/
+
  cd ~/src/python-messaging/
 
  sudo python setup.py install
 
  sudo python setup.py install
  cd /usr/local/src/libvbts/
+
  cd ~/src/libvbts/
 
  sudo python setup_yate.py install
 
  sudo python setup_yate.py install
  
Line 288: Line 345:
 
* [[USRP: Kalibrasi ClockTamer]]
 
* [[USRP: Kalibrasi ClockTamer]]
 
* [[USRP: ClockTamer Control Protocol]]
 
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: ClockTamer Flashing]]
 
* [[USRP: Instalasi Board]]
 
* [[USRP: Instalasi Board]]
 
* [[OpenBTS: GIT Source Code]]
 
* [[OpenBTS: GIT Source Code]]
Line 293: Line 351:
 
* [[OpenBTS: Tethr untuk Bencana Alam]]
 
* [[OpenBTS: Tethr untuk Bencana Alam]]
 
* [[USRP: Tip Pemesanan]]
 
* [[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===
 
===OpenBTS 2.6===
Line 351: Line 416:
 
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 12.10]] '''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 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 dari SVN Install Clock 52MHz dengan UHD tanpa GNURadio]] ''NOT RECOMMENDED''
 
* [[OpenBTS: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
 
* [[OpenBTS: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
 
* [[OpenBTS: Yate Softswitch]] '''RECOMMENDED'''
 
* [[OpenBTS: Yate Softswitch]] '''RECOMMENDED'''
 
* [[OpenBTS: Yate Softswitch install Ubuntu 12.10]] '''RECOMMENDED'''
 
* [[OpenBTS: Yate Softswitch install Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 13.04]] '''RECOMMENDED'''
 
* [[OpenBTS: Yate Config Test]]
 
* [[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 Menjalankan]] '''RECOMMENDED'''
 
* [[OpenBTS: 2.8 Konfigurasi]]
 
* [[OpenBTS: 2.8 Konfigurasi]]
 +
* [[OpenBTS: 2.8 Konfigurasi Cognitive Radio Elsabagh]]
 
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 
* [[OpenBTS: Database SQLite]]
 
* [[OpenBTS: Database SQLite]]
 +
* [[OpenBTS: Set SQLite Subscriber Registry secara manual]]
 +
* [[OpenBTS: Set SQLite parameter smqueue]]
 +
* [[OpenBTS: FreeSWITCH]]
  
 
===Multi OpenBTS 2.8===
 
===Multi OpenBTS 2.8===
Line 366: Line 437:
 
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 
* [[Multi OpenBTS: Catatan Konfigurasi]] '''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===
 
===Ettus E110===
Line 374: Line 458:
 
* [[OpenBTS: E110 Mengubah Master Clock]]
 
* [[OpenBTS: E110 Mengubah Master Clock]]
 
* [[OpenBTS: E110 Kalibrasi Clock]]
 
* [[OpenBTS: E110 Kalibrasi Clock]]
 +
* [[OpenBTS: E110 Konfigurasi Jaringan]]
 
* [[OpenBTS: E110 Bekerja dengan opkg]]
 
* [[OpenBTS: E110 Bekerja dengan opkg]]
 +
* [[OpenBTS: E110 Instalasi iptables]]
 
* [[OpenBTS: E110 GNURadio]]
 
* [[OpenBTS: E110 GNURadio]]
* [[OpenBTS: E110 Compile UHD]] '''*RECOMMENDED*'''
+
* [[OpenBTS: E110 Compile UHD]] ''Not Recommended''
* [[OpenBTS: E110 UHD burn EEPROM RFX Board]] '''*RECOMMENDED*'''
+
* [[OpenBTS: E110 Compile UHD dari Release Bukan git]] ''Not Recommended''
* [[OpenBTS: E110 Install UHD Image]] '''*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]]
 
* [[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*'''
 
* [[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===
 
===GPRS===
  
 
* [[OpenBTS: GPRS]]
 
* [[OpenBTS: GPRS]]
 +
* [[OpenBTS: GPRS Konfigurasi]]
 +
* [[OpenBTS: GPRS untuk dibelakang Router dengan NAT]]
 +
 +
===Briker OpenBTS===
 +
 +
* [[OpenBTS: Briker]]
 +
 +
===FreeSWITCH OpenBTS===
 +
 +
* [[OpenBTS: FreeSWITCH]]
  
 
===Power Amplifier===
 
===Power Amplifier===
Line 425: Line 549:
 
* [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]]
 
* [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]]
 
* [[OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman]]
 
* [[OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman]]
 +
* [[OpenBTS: Beroperasi di Papua]]
  
 
===Dokumentasi Video===
 
===Dokumentasi Video===
Line 435: Line 560:
 
* http://youtu.be/6LCuoeI57ak (5/6)
 
* http://youtu.be/6LCuoeI57ak (5/6)
 
* http://youtu.be/-dEqcHoIlYk (6/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: Wireless]]
 
[[Category: Selular]]
 
[[Category: Selular]]

Latest revision as of 06:03, 11 March 2014

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
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

Compile Yate

Untuk interoperability dengan OpenBTS, kita perlu menginstalasi libgsm1-dev SEBELUM menginstall Yate. Compile Yate melalui perintah


mkdir -p /usr/local/etc/yate
mkdir -p /usr/local/lib/yate
mkdir -p /usr/local/share/yate
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
vi ~/src/yate/modules/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 ~/src/yate/modules/
ls ~/src/yate/modules/gsmcodec.*

harusnya ada

~/src/yate/modules/gsmcodec.cpp
~/src/yate/modules/gsmcodec.yate

Pastikan bahwa yate telah di instalasi dengan baik di lokasi default dengan melihat adanya folder

~/src/yate/share/scripts/

Library Lain

Pastikan anda mempunyai sambungan ke Internet yang baik.

Kita memerlukan dua library untuk melakukan routing di yate, yaitu:

Proses instalasi yang perlu dilakukan adalah,

cd ~/src
git clone git://github.com/pmarti/python-messaging
git clone git://github.com/kheimerl/libvbts
cd ~/src/python-messaging/
sudo python setup.py install
cd ~/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

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