| Version 11 (modified by kurtis.heimerl, 11 months ago) |
|---|
Yate Config
Disclaimer
This is a page in active development. There are no utilities to support actually running OpenBTS with yate, at this point. However, notes are stored here.
Install
Yate Install
Yate is a very flexible engine for routing messages. It's designed to run as everything from a large-scale SIP switch to an actual SIP client capable of running on a phone. The install is demonstrated http://yate.null.ro/pmwiki/index.php?n=Main.Download|Here.
To interoperate with OpenBTS, you'll need to install libgsm1-dev BEFORE building yate. Without this library installed, yate will not support the gsm codec and you will see the following message <yrtp:WARN> Wrapper neither format nor payload specified [0x1b014b0]
To remedy this, install libgsm1-dev with the following command (on ubuntu)
sudo apt-get install libgsm1-dev
Then run the normal make/install scripts for yate.
make;make install
You can confirm the gsm codec was successfully installed by seeing if the file "modules/gsmcodec.yate" exists.
You'll also need to ensure that yate was installed in the default location. Make sure that /usr/local/share/yate/scripts exists.
Other Libraries
You'll need two libraries to route in yate. These are Messaging and https://github.com/kheimerl/libvbts|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
Yate, being a modern SIP switch, requires a great deal of individual configuration. There are a number of important files:
ysipchan.conf
The SIP configuration file
regexroute.conf
The dialplan/routing file. Specifies where messages are routed.
regfile.conf
The user registration file. This isn't used by OpenBTS installations, as OpenBTS does not store it's registration information with the SIP switch.
Yate Use
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
Calling
With OpenBTS directed to make calls to Yate, calling is very simple.
Firstly, Yate (by default) does not require authentication/registration to receive calls. As such, the default conf files should be able to handle incoming calls. Dialing 99991002 from the handset should give you a "busy tone" from Yate. If so, it's working!
Adding the following to a route in regexroute.conf forces it to require authentication:
${route}^$=-;error=noauth
Messaging
Yate (by default) does not route SIP MESSAGEs. Instead, it returns a 501 Unimplemented message. Fortunately, Yate is a generic message passing engine and we can cajole it into forwarding that message to the routing service.
First, you have to modify ysipchan.conf to accept SIP MESSAGES. That's done by adding the following line to the [methods] field:
message=true
![(please configure the [header_logo] section in trac.ini)](http://wush.net/trac/rangepublic/raw-attachment/wiki/WikiStart/PublicReleaseLogo.png)
