OpenBTS: Yate Softswitch

From OnnoWiki
Revision as of 07:40, 28 July 2012 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

Yate Install

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.

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 

selanjutnya compile yate 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

You'll need two libraries to route in yate. These are Python Messaging and libvbts. These follow the (well-established) python installation methodology.

Python Messaging:

sudo python setup.py install

libvbts:

sudo python setup_yate.py install

Yate Configuration

There are a few files that have to be changed to configure yate with OpenBTS. These files are located in /usr/local/etc/yate/

ysipchan.conf

ysipchan configures the sip module. We need to tell it to generate SIP MESSAGE events.

In the [general] section, add the following:

[general]
maxpkt=4096
generate=yes

And, in the [methods] block, add the following:

[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