Amarisoft

Installation - PJSIP

 

The purpose of this tutorial is to show how to install PJSIP. PJSIP is an open source SIP client that can be installed on UEsim and function as a sip client on Amarisoft UEsim.

NOTE : PJSIP is not an Amarisoft product, so Amarisoft does not provide any technical support for this software.  The procedure of installation in this tutorial is just an example. The exact procedure may vary a little bit depending on various dependencies (e.g, the current status of Amarisoft UEsim, the specific release of the downloaded PJSIP etc).

NOTE : Based on our experience, most of the installation problem happens at the step of building the source code mainly due to various dependencies. How to resolve the issues would vary depending on the exact issues that happened and hard to be generalized and documented in this tutorial. Personal recommendation is to ask chatGPT (or any other AI) to tackle the problem step by step.

 

 

Table of Contents

 

 

Create a directory

You can install the program in any existing directory, but I would recommend you to install it in a new distinctive directory.

You can specify anything you like as the name of the directory. In this tutorial, I created the directory named siptrunk under /root directory. (NOTE : In this tutorial, if I say 'Installation directory', it indicates '/root/siptrunk. This may be different from yours if you created a directory with different name and created it in different location)

 

Installation of AMR codec

We installed two packages related to AMR for PJSIP here. (NOTE : We are not 100% sure if we need both package or just the first package(opencore-amr), but we installed both package and confirmed them working)

opencore-amr installation

Download the package from https://sourceforge.net/projects/opencore-amr/files/opencore-amr/ and put it in the installation package (/root/siptrunk in this tutorial). You may refer to  https://trac.pjsip.org/repos/wiki/Using-OpenCORE-AMR-NB-WB-Codec for the document.

Uncompress the tarball and confirm the tarball is properly uncompressed.

Then move to the directory by uncompression (opencore-amr-0.1.6 in case of this tutorial) and run ./configure --prefix=/root/siptrunk  

Then build the code and install with command 'make && make install'. (NOTE : In many cases, this is the most common step where you may come across various issues. Amarisoft does not provide any technical support for resolving those issues because this is not Amarisoft product and we don't have enough technical skills to resolve every problems at this step).

You sould see some new files create during building and installation if the process went through properly.

If you move to the installation directory (/root/siptrunk in this ase), you will see that include and lib directory is created as well.

 

vo-amrwbenc installation

dowload vo-amrwbenc from https://sourceforge.net/projects/opencore-amr/files/vo-amrwbenc/ and place it in the installation directory (/root/siptrunk in this case)

Uncompress the tarball.

Move to the uncompressed directory (vo-amrwbench-0.1.3  in this case)

Then run the configure program (./configure --prefix=/root/siptrunk)

build and install (make && make install)  (NOTE : In many cases, this is the most common step where you may come across various issues. Amarisoft does not provide any technical support for resolving those issues because this is not Amarisoft product and we don't have enough technical skills to resolve every problems at this step).

(Optional) move to the installation directory (/root/siptrunk in this case) and you will see the directories and files as shown below.

Check out the files in the /root/siptrunk/include an check if you have the subdirectories as shown below.

 

Installation of PJSIP

Now let's install the application PJSIP

Download the pjsip here https://www.pjsip.org/download.htm (NOTE : This is the specific version that I installed Dec 2024)

Place the downloaded file in the installation directory (/root/siptrunk in this case).

Uncompress the downloaded file.

Go to the unzipped directory and you will see the files and subdirectories as shown below.

Now run the configure program as shown below (./configure --with-opencore-amr=/root/siptrunk')

build the project with the command 'make dep && make clean && make'(NOTE : In many cases, this is the most common step where you may come across various issues. Amarisoft does not provide any technical support for resolving those issues because this is not Amarisoft product and we don't have enough technical skills to resolve every problems at this step).

If the build process is properly done, you can move to the built directory (/root/siptrunk/pjproject-2.14.1/pjsip-apps/bin directory in this case). You would see the executable files as shown below.

Just to make it sure that the executable ./pjsua-x86-64-unknown-linux-gnu'.

If the executable is properly built, you will get the execution screen as shown below.

Now you can check if AMR codec is properly installed and associated with pjsip with Cp (Codec priorities) command as shown below. (NOTE : When necessary, you can change the priorities of the codec with Cp command as shown below)