Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Prerequisites

...

 

...

Install Asterisk Prereqs

In order to make sure that all of the current Asterisk prerequisites are installed and set up, we will first check-out Asterisk and make sure that we can build and run Asterisk outside of the control of Bamboo.

Open a terminal and enter the following:

...

$ mkdir -p ~/asterisk/src
$ cd ~/asterisk/src
$ git clone https://gerrit.asterisk.org/asterisk
$ cd contrib
$ cd scripts
$ sudo ./install_prereq install

This will typically install a large number of Asterisk prerequisites. When it is finished, you should see:

...

######################################
## install completed successfully
######################################
Info

As of the time writing this, install_prereq does not install the SQLite3 package. If the Asterisk ./configure script fails, install sqlite-devel

Perform the following:

...

$ cd ../../
$ ./configure --enable-dev-mode
$ make
$ sudo make install
$ asterisk -cvvvg

Verify that Asterisk starts. On the Asterisk CLI, enter:

...

CLI> core stop now
Note

If installing Asterisk as a non-root user, Asterisk may not be able to find libasteriskssl.so.1. Verify that the shared library was built and in /usr/lib. If it is, activate the current library path by entering "sudo ldconfig"

Third Party Libraries

Install spandsp

For fax support, you'll need spandsp.

Install libtiff

...

$ sudo yum install libtiff-devel

...

Assuming that you downloaded it to Downloads (we'll assume that this is spandsp-0.0.6):

...

$ cd ~/Downloads/
$ tar -xzf spandsp-0.0.6
$ cd spandsp-0.0.6
$ ./configure
$ make
$ sudo make install
Note

spandsp installs itself into /usr/local/lib. If that isn't in your library include path, res_fax_spandsp will build but will not load, causing the fax tests to fail (typically with INIT failures).

Install libsrtp

For SRTP, you'll need libsrtp. To obtain that library, perform the following:

...

$ wget http://srtp.sourceforge.net/srtp-1.4.2.tgz
$ tar xvf srtp-1.4.2.tgz
$ cd srtp
$ ./configure CFLAGS=-fPIC --prefix=/usr
$ make
$ make runtest
$ sudo make install

Install Asterisk Test Suite Prereqs

Check out the Asterisk Test Suite by doing the following:

...

$ mkdir -p ~/asterisk/testsuite
$ cd ~/asterisk/testsuite
$ git clone https://gerrit.asterisk.org/testsuite

With the Test Suite checked out, we can begin to install its various prerequisites.

ASTTest Installation

Enter the following:

...

$ cd asttest
$ make
$ sudo make install

Verify that asttest was installed by doing the following:

...

$ asttest
asttest: missing arguments -- specify at least one test directory
Usage:
 ....

When finished, return to the Test Suite directory:

...

$ cd ..

Third Party Libraries

The following needs to be installed:

  • lua-devel
  • lua
  • python-twisted
  • libpcap-devel
  • python-yaml

StarPY Installation

StarPY is used as a wrapper around AMI for a large number of tests. It depends on Python twisted, which a number of the tests use as well.

Perform the following:

...

$ cd addons
$ make update
$ cd starpy
$ sudo python setup.py install

When finished, return to the testsuite directory:

...

$ cd ../..

SIPp Installation

For SIPp, we'll need to download the source and build it ourselves, as we'll want both pcap and openssl support.  The current minimum version required is 3.4.1.

Enter the following:

...

$ mkdir sipp
$ cd sipp
$ wget https://github.com/SIPp/sipp/archive/v3.4.1.tar.gz
$ tar -zxvf v3.4.1.tar.gz
$ cd sipp-3.4.1
$ ./configure --with-pcap --with-openssl
$ sudo make install

By default, sipp is installed in /usr/local/bin.  If you want it installed to /usr/bin, add '–prefix=/usr' to the configure command.

 

Verify that sipp is installed and configured correctly:

...

$ sipp -v

SIPp v3.4.1-TLS-PCAP-RTPSTREAM ...

When finished, return to the testsuite directory

...

$ cd ../..

PJSUA Installation

Enter the following:

...

$ svn co http://svn.pjsip.org/repos/pjproject/trunk pjproject
$ cd pjproject
$ ./configure CFLAGS=-fPIC
$ cp pjlib/include/pj/config_site_sample.h pjlib/include/pj/config_site.h
$ vim pjlib/include/pj/config_site.h

in the vim console, hit i and insert the following:

...

#define PJ_HAS_IPV6 1

...

Continue the pjsip build process:

...

$ make dep
$ make

Copy the pjsua executable:

...

$ sudo cp pjsip-apps/bin/pjsua-x86_64-unknown-linux-gnu /usr/sbin/pjsua

Verify that pjsua executes:

...

$ pjsua
...
You have 0 active call
>>>

...

Install pjsua Python bindings

...

sudo make -C pjsip-apps/src/python install

Return to the testsuite directory:

...

$ cd ~/asterisk/testsuite

Verify the Test Suite

Note

If you haven't run make samples (which you shouldn't have, if you were following the instructions), you'll need to have an asterisk.conf file in /etc/asterisk before the Test Suite will work. Copy one over - it doesn't matter what is in it for now

Enter the following:

...

$ ./runtests.py -l

...

The Asterisk Test Suite has been moved to a Python 3 version with simplified installation. Instructions for this can be found here.