Prosody installation guide

This document covers the steps required to install a Prosody TiNG distribution and run basic tests to ensure that everything is working correctly.

Getting Prosody onto your system

Normally, the Prosody package is installed using the Aculab Installer Tool (AIT), which has its own documentation. If you obtain it in another form (such as a special package sent by e-mail from Aculab), see Prosody TiNG packaging for the parts that might be supplied.

Note: whether you use the AIT or some other method, make a note of where on your system you install Prosody. If other people will be using Prosody on the system, make sure you pass on this information to them.

The directory structure

In the documentation for Prosody, references to a file or directory are often in the form:

	$(TiNG)/directory/
	$(TiNG)/dir/file

The name $(TiNG) is used to refer to the directory created when installing Prosody. This is usually a directory called TiNG in the Aculab root directory $(ACULAB_ROOT).

Some of the test programs use the APIs provided by the switch driver and the call driver, which come in separate packages. If you fetch them using the AIT, they will be put in directories beside the Prosody directory. Prebuilt TiNG libraries may be found in the $(ACULAB_ROOT)/lib directory.

If you do unpack things yourself, make sure you use this layout. The structure used inside the $(TiNG) directory is described in Prosody: layout of the distribution.

The environment for Prosody

Prosody uses one environment variable. This allows components such as scripts to come in only one variant but work successfully across all operating systems. This environment variable is TiNGTARGET and should be set as follows:

For Linux only: Set TiNGTARGET to the value LINUX_V6 for 32 bit applications or LINUX_V6_AMD64 for 64 bit applications. For example, use the shell commands:

	export TiNGTARGET=LINUX_V6

For QNX only: Set TiNGTARGET to the value QNX_PPC to build for QNX on Power PC, or the value QNX_X86 to build for QNX on x86. For example, use the shell commands:

	export TiNGTARGET=QNX_PPC

For Windows only: Set the environment variable TiNGTARGET to the value WINNT_V6 for 32 bit applications or WINNT_V6_AMD64 for 64 bit applications. For example, at a DOS prompt, use:

	set "TiNGTARGET=WINNT_V6"
Note that TiNGTARGET contains a lowercase i, so the quotes are necessary to prevent it being converted into a capital letter. It does not appear to be possible to set the environment variable from the control panel, because it changes the name into all capitals.

Using Prosody

There are two main ways to use Prosody:

Note that unlike earlier Prosody cards which used a device driver, the TiNG elements of Prosody S and Prosody X are accessed remotely over an IP network, thus no Prosody specific device driver is required. However a driver is still required for card management puposes, switching and signalling (call control).

Normally, if you are developing an application on a system you also need to run it on that system, but it's obviously possible to build an application on one system and run it on another, in which case the development system does not need to run the card driver, and you can skip down to Preparing to build applications.

Getting the driver running

The driver must be configured and started. This is done differently on each of the supported operating systems:

As soon as the driver is running, you can run test programs to verify the installation is correct. If you are installing Prosody to develop applications, you can build some of the test programs that come with Prosody; if you are only running pre-built applications, use whatever test programs that were supplied with them.

Preparing to build applications

Before building applications, you should build various libraries, tools, and test programs. They can be built using only command-line tools, as described in these steps:

Alternatively, but only on Microsoft Windows, they can be built using Visual Studio project files which are supplied with Prosody.

Testing a typical installation

Normally, Prosody is installed on a system to allow development of software that uses Prosody. Appropriate testing for this situation consists of building test programs and running them. Since the previous step, Preparing to build applications, builds all the necessary programs, all that remains is to run them.

Testing Prosody S and Prosody X

For Prosody S and Prosody X, the suggested test is to play an RTP stream and record it. The test programs to do this are rtpplay and rtprec. Here is one way you can test recording:

For example, given:

then this command would set up the receiver:

	rtprec -x x:10.0.0.1/sFVHnQX3szQ -L 10.0.0.1 -m 8 -c alaw -Fa rec.alaw

when it runs it prints a message reporting the port number it has been allocated. For example, "RTP port = 10.0.0.1:16388, RTCP port = 16389". The RTP port is the one to which the rtpplay must send its data, so it would be set up like this to play the file "test.alaw":

	rtpplay -x x:10.0.0.1/sFVHnQX3szQ -m 8 -c alaw -Fa -d 10.0.0.1 -p 16388 test.alaw 

Distributing applications that use Prosody

If you distribute applications that use Prosody, make sure you provide documentation describing the firwmare they need, and any other information that may be needed to diagnose problems. If the applications are intended to be run on a system without development tools (i.e. a C compiler, at least) ensure your package includes pre-built copies of any Prosody test and diagnostic programs that may be needed.