This document covers the steps required to install a Prosody TiNG distribution and run basic tests to ensure that everything is working correctly.
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.
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.
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.
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.
The driver must be configured and started. This is done differently on each of the supported operating systems:
dacpinst
script gathers the configuration information and builds the
aculab_dacp
script, which starts the driver.
These are covered in a separate installation guide.
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.
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:
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.
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:
sFVHnQX3szQ
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
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.