OpenBTS: Yate Softswitch

From OnnoWiki
Revision as of 10:10, 2 August 2012 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

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.


Yate Install

Untuk interoperability dengan OpenBTS, kita perlu menginstalasi libgsm1-dev SEBELUM mengbuat Yate. Tanpa library tersebut, yate tidak akan mendukung codec gsm dan kita akan melihat message berikut:

<yrtp:WARN> Wrapper neither format nor payload specified [0x1b014b0] 

Untuk mengatasi hal ini, kita perlu menginstalasi libgsm1-dev melalui perintah berikut,

sudo apt-get install libgsm1-dev 

Download source code dari

http://yate.null.ro/pmwiki/index.php?n=Main.Download

Compile menggunakan perintah

make;make install 

Pastikan bahwa codec gsm telah berhasil di instalasi dengan baik dengan lihat adanya file "modules/gsmcodec.yate"

Pastikan bahwa yate telah di instalasi dengan baik di lokasi default dengqan melihat adanya file /usr/local/share/yate/scripts

Library Lain

Kita memerlukan dua library untuk melakukan routing di yate. Ini adalah Python Messaging dan libvbts. Ikuti cara instalasi python untuk menginstalasinya,

Python Messaging:

sudo python setup.py install

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.

Di bagian [general], tambahkanYate 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.

:
[general]
maxpkt=4096
generate=yes

dan, di blok [methods], tambahkan :

[methods] 
message=yes 

regexroute.conf

regexroute.conf controls the routing of specific packets. We use regexroute.conf to disable the authorization of messages.

In the [extras] block...

[extras]
;skipping auth step
user.auth=20

And the actual routing rule at the end of the file. Note that this block doesn't exist yet, you'll have to add it:

[user.auth]
.*=return true

extmodule.conf

extmodule.conf controls external yate modules. libvbts implements a number of these that support OpenBTS. You'll need to turn these on.

In the [scripts] block:

[scripts]
VBTS_SMS_Route.py=50
VBTS_Call_Route.py=10
VBTS_Echo_SMS.py=10|vbts_tp_dest_address|^100$

These variables set the priority of the message handlers and/or the regex that cause the message to be handled.

OpenBTS configuration

There's only one openbts change required: You have to point OpenBTS at yate to cause it to handle messages. This is done from the OpenBTS command line:

config SIP.Proxy.SMS {YATE_IPADDRESS}:{YATE_PORT}

Yate Use

With the changes, yate should automatically route voice/sms messages. Some yate notes follow:

RManager

RManager is Yate's CLI engine. It allows for Yate to be controlled by a simple telnet client. RManager can be accessed by running the following command (assuming it's running on localhost):

telnet localhost 5038 

Referensi

Pranala Menarik

Persiapan

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

Ettus E110

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video