This tutorial shows you how to install the interface “local retrieve” on a fresh Ubuntu Linux (Server). These instructions should be valid for any distributions based on Debian Linux. For other types of Linux distributions, you need to search for the corresponding command of your distribution. You will find that in the documentation.

In this installation, the web root is located at “/var/www/” and the recordings are saved in “/var/mixvoip/”.

Download

If you want to check the archive’s contents before downloading it to your server, here it is.

Localretrieve_1.0.Zip

Requirements

Ubuntu Linux with a Apache2 running php>=5.3.0

Installation: apache2 and php

With the following commands, we are going to update the packet cache, install apache2 and the necessary modules for our purpose, enable modules, and restart apache2:

sudo apt-get update
sudo apt-get install curl apache2 php php-curl libapache2-mod-php
sudo a2enmod rewrite
sudo systemctl restart apache2

Configuration: apache2

You should know how to handle these files if you already have various virtual hosts on your server.

In the next step, we will create the virtual host file in /etc/apache2/sites-available/, in this case, we use nano and the filename localretrieve.conf.

sudo nano /etc/apache2/sites-available/localretrieve.conf

Copy the following content into your file, and adapt it to your needs. You can leave it as it is for testing and edit it later.

<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot /var/www/localretrieve
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/localretrieve>
        AllowOverride all
    </Directory>
</VirtualHost>

We press ctrl-x to close and confirm save with “y”.

Installation: Interface

Now we will download and extract the interface. We go to the web root, download the file, extract the archive, and delete it after.

cd /var/www/
sudo wget https://www.mixvoip.com/docs/localretrieve_1.0.zip
sudo unzip localretrieve_1.0.zip
sudo rm localretrieve_1.0.zip

Configuration: Interface

A quick explanation of the variables

The configuration file can be found in /var/www/localretrieve/app/Config/AppSettings.php

* RECUSER: This should be replaced by your MIXvoip username.
  * RECPASSWORD: This will be the password used to login to the web interface.
  * ALLOWDELETE: Defines if the recordings can be deleted.
  * RECDOMAIN: The domain where this web interface is located (name of the v-host).
  * RECPATH: The folder where the recordings are located.

The RECPATH folder must be accessible by the web server and should contain a sub-folder with your Mixvoip username. The access right will be given in the last step.

The configuration itself

Now, let’s open the file. The contents of your file might be different. The only thing we have to edit are the variables. In our file below, we have already edited them to fit our needs. Our user, in this case, we replaced “mixvoip_user” with “mixvoipcloud” (use your username) and replaced “some_password” with “12345678” (do not use for production).

sudo nano /var/www/localretrieve/app/Config/AppSettings.php

Adapted contents of the file:

<?php
//Login data
define('RECUSER','mixvoipcloud'); //The MIXvoip username
define('RECPASSWORD','12345678'); //Password to login to the interface

//true or false : can recordings be deleted
define('ALLOWDELETE',true);

//Domain and path where the recordings.php is located aka this app
define('RECDOMAIN','localhost');

//Path of the recordings ( !! must end with / !!)
define('RECPATH','/var/mixvoip/');

We press ctrl-x and confirm the changes with “y”

RECPATH folder Structure

In order that the interface can find the recordings, the RECPATH folder must have this structure. The RECPATH folder contains a subfolder with your Mixvoip username (in the image mixvoipcloud). In this folder is a subfolder with the dates, which contains the .wav files.

retrieve folder

The files must have the following filename:

<time>__<src>__<dst>__<callID>__<username>.wav
  • time is when the call started
  • src source number/extension
  • dst destination number/extension
  • callID uid of the call
  • username Mixvoip username

File Access Rights

To complete the configuration, we need to give apache2 the rights to access the folders and its files. First, we give apache2 the rights for the interface and also for the audio files.

sudo chown -R www-data /var/www/localretrieve/
sudo chown -R www-data /var/mixvoip/

And we are done.