Prerequisites
- A working knowledge of Linux, Subversion, and Asterisk.
- A Linux distribution. This guide does not assume a lot has been installed on the machine in question; however, some things may be needed on your distribution that were already installed for this guide. Use common sense here.
- Git is installed.
- SVN is installed (only needed for the PJSUA Installation step).
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:
This will typically install a large number of Asterisk prerequisites. When it is finished, you should see:
Perform the following:
Verify that Asterisk starts. On the Asterisk CLI, enter:
Third Party Libraries
Install spandsp
For fax support, you'll need spandsp.
Install libtiff
- Download the spandsp source from http://soft-switch.org/downloads/spandsp. Pick a recent revision.
Assuming that you downloaded it to Downloads (we'll assume that this is spandsp-0.0.6):
Install libsrtp
For SRTP, you'll need libsrtp. To obtain that library, perform the following:
Install Asterisk Test Suite Prereqs
Check out the Asterisk Test Suite by doing the following:
With the Test Suite checked out, we can begin to install its various prerequisites.
ASTTest Installation
Enter the following:
Verify that asttest was installed by doing the following:
When finished, return to the Test Suite directory:
Third Party Libraries
The following needs to be installed:
- lua-devel
- lua
- python-twisted
- libpcap-devel
- python-yaml
- python-devel
- python-construct
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:
When finished, return to the testsuite directory:
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:
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:
When finished, return to the testsuite directory
PJSUA Installation
Enter the following:
in the vim console, hit i and insert the following:
- Hit Esc, then type :wq to save and exit vim
Continue the pjsip build process:
Copy the pjsua executable:
Verify that pjsua executes:
- Enter q to exit
Install pjsua Python bindings
Return to the testsuite directory:
Verify the Test Suite
Enter the following:
- Verify that the tests are listed out, and that the required dependencies (that you care about, anyway) are true.
16 Comments
Scott Griepentrog
When installing on CentOS 6, I had to install these additional packages:
David M. Lee
Most of those make sense, but gcc-objc? Where did that come from?
Scott Griepentrog
When making pjproject for pjsua, it barfed on not having a cc1obj. A quick yum whatprovides told me it was in gcc-objc, which I installed, then it was happy.
Walter Doekes
I had to go into pjsip-apps/build to make the pjsua app.
(Both for the svn checkout as mentioned above and the asterisk-git version from Installing pjproject.)
(P.S. Copying to /usr/sbin seems wrong, no need for the s.)
George Joseph
I had to install python-setuptools and python-requests for Fedora
Also needed autobahn installed via pip. There's no Fedora package.
Samuel Galarneau
On Ubuntu server 12.04, using apt-get to install python-requests installs a really old version of the library (0.8.3) that leads to test failures for some tests. Use easy_install to install it instead.
George Joseph
There are now tests that require sipp 3.4.1
Samuel Galarneau
git should be added to the list of prerequisites.
Ashley Sanders
Yes. I added it to the list. I also inserted a caveat for the SVN prerequisite in that SVN is only needed to complete the PJSUA Installation steps (as documented on this page). It is worth noting that it is possible to obtain the PJSIP source code without using SVN.
Samuel Galarneau
Shouldn't the git clone commands pull from the anonymous gerrit URLs ( https://gerrit.asterisk.org/asterisk and https://gerrit.asterisk.org/testsuite)? It should be possible to run the testsuite without having a gerrit login.
Ashley Sanders
Good point. I updated the text to reflect this.
Steve Murphy
On CentOS 6, after the initial prereq install, I found that doing a "yum install epel-release" made a large number of packages installable.
I had to hand install sqlite-devel and gmime-devel.
I had to yum install python-requests... and autobahn... although that didn't help run that last command,
sudo
make
-C pjsip-apps
/src/python
install
Steve Murphy
Aaarggg! Got it. I needed to do a "yum install python-devel" !
After that install, I was able to run the make successfully; but runtests.py -l says: "No handlers could be found for logger "asterisk.version"".. which I guess is ignorable.
Many thanks!
Rodrigo Ramirez Norambuena
The instruction not ever working for all cases
maybe, can try with
$ sudo cp pjsip-apps/bin/pjsua-$(grep "export TARGET_NAME" ./build.mak | cut -f 2 --delimiter="="|xargs) /usr/sbin/pjsua
is not a clean command but its works
Kyle Kurz
Centos 6, 32-bit, I had to install:
python-setuptools PyYAML
Additionally, I had to `make samples` in the asterisk directory, even though the Verify the Test Suite section says clearly not to do that.
Kyle Kurz
libsrtp is now on github: https://github.com/cisco/libsrtp.git
wget https://github.com/cisco/libsrtp/archive/v1.6.0.tar.gz
cd libsrtp-1.6.0
./configure CFLAGS=-fPIC --prefix=/usr
make
make runtest
sudo make install