Software installation guide

Dependencies

This software was designed to run on Linux systems, it has been developed and tested on Linux Debian unstable distribution. The software has the following dependencies, which you must take care of manually when installing the software on an operating system other than Debian Linux:

- Python >=2.4

http://python.org

- Twisted >=2.5.0

http://twistedmatrix.com

- GnuTLS >=1.4.4, <=2.1

http://www.gnu.org/software/gnutls/

- python-application >=1.0.9

http://pypi.python.org/pypi/python-application

- SQLObject (only if the database backend is used)

http://sqlobject.org

Backends

The software supports different backend modules for SIP account credentials storage. At the moment, two backends are supported.

The database backend allows the MSRP Relay to consult a database through SQLObject. SQLObject supports several database types, including MySQL and SQlite. For a complete listing, see the SQLObject documentation.

Out of the box, the software is designed to work in combinations with the subscriber database used by OpenSER (see http://openser.org).

The second backend is an in-memory backend, which can be used for testing purposes. Username and password combinations can be specified in the configuration file.

Getting started

* Make sure you have all the dependencies listed above installed.

* Build the C extension by performing "python setup.py build" and then doing "python setup.py install". Alternatively, if you do not wish to install MSRP Relay system-wide, do "python setup.py build_ext --inplace".

* Generate a CA certificate/key pair and use that to generate certificate/key pairs for each domain you want the MSRP Relay to be active in. Each certificate should refer to the domain served by the relay and not its hostname. Sample scripts for this are provided in the certs/ directory.

* Configure the MSRP Relay by copying config.ini.sample to config.ini and editing it. The domain section(s) should include the key/certificate pair(s) generated at the previous step.

* If you don't have a running user database to connect to you can test using the in-memory backend as described.

* Start the MSRP Relay, either in the console by executing ./msrprelay --no-fork or as a deamon, which is the default behaviour. This can also be done using the init.d script provided. If the MSRP Relay runs as a daemon it will log to syslog.

* The test/ directory contains a number of test scripts and a simple file file transfer sender and receiver. See the README in the test/ directory for documentation on the latter.

DNS setup

For each domain served by the relay the following DNS record should be added to the name server authoritative for the domain:

_msrps._tcp.example.com. IN SRV 0 0 2855 msrprelay.example.com.
msrprelay.example.com. IN A 10.0.0.1

Replace the domain name, hostname and IP address with the real ones.

Configuration

A sample configuration file is provided as config.ini.sample. All configuration options are documented in this file.

The software will reload its configuration file when it receives the HUP signal. All of the already established sessions will continue to operate using the old settings until a disconnection occurs within this session. This allows for changes in the configuration without disruption of service.