A couple of months ago, we wrote a post that explains the approach we chose to support the new Debian-based FreePBX 17 systems, along with the other distributions we already support. Well, that was the theory, now this post is the hands-on practice.

Prefer a video instead?

You are welcome!


The idea

As a quick recap: our new approach is to leave the PBX server as a pristine as possible. We install there only the services needed for data synchronization. QM is installed on a separate server - either using RPM on a Rocky Linux system, using Docker on any operating system, or installing it manually - or, of course, leaving the operations to us using QueueMetrics Live.

As we already have detailed tutorials on how to install QM in these different scenarios, I’m not going to repeat them here.

Set-up

So, let’s say your QueueMetrics is already installed. You just need to set up the FreePBX part. We log in over SSH to your PBX (as a root user), and we will create a folder so that all the versions of Uniloader will live there:

  mkdir /opt/uniloader
  cd /opt/uniloader

To get the current version of the loader, you go to the Downloads page and take the URL for the latest one.

Then we do the following:

# wget https://downloads.loway.ch/software/uniloader/uniloader-24.05.1.tar.gz
# tar zxvf uniloader-24.05.1.tar.gz
# cd ./uniloader-24.05.1

and to run the installer, simply:

# ./install.sh

Now installing Uniloader 24.05.1-2bed163: uniloader_amd64
uniloader version 24.05.1 - build: 333-20240507.1250/2bed163 - OS: linux/amd64 - RT: go1.21.7
-----------
Installing service uniloader
   Unit uniloader.service is not active, skipping restart.
Installing service unitracker
   Unit unitracker.service is not active, skipping restart.
Installing service audiovault
   Unit audiovault.service is not active, skipping restart.
Installing service uniloader-freeswitch
   Unit uniloader-freeswitch.service is not active, skipping restart.
Created symlink /etc/systemd/system/multi-user.target.wants/uniloader.service → /lib/systemd/system/uniloader.service.

*Service 'uniloader' installed successfully.*

Please set its credentials in '/etc/uniloader' and use the
supplied script './check.sh upload' to make sure they are valid.
When done, restart with 'systemctl restart uniloader'.

Other services (unitracker, audiovault, uniloader-freeswitch)
were created but not started.

Once you did that, you might have noticed two things:

  • that the message printed shows the next steps, so you just have to do that
  • that not only the main service, but also the ones you may possibly use are already installed. They are switched off until you want to switch them on, but most of the work is already done.
  • that this approach works on all distros that support systemd, so it work on the previous version of FreePBX as well.

At this point, the only thing we have to do is to take the credentials from our QM and set them the correct file (/etc/uniloader).

Now, to make sure everything is in order, you need to run check that we attempt a connection and we let you know if anything is not working.

# ./check.sh upload

=====================================================================
Checking upload credentials

- Configuration loaded from: /etc/uniloader
- Unit uniloader.service is active and is set to restart on boot.
=====================================================================

Testing upload credentials.

High Water Mark is 1694783403 [2023-09-15 13:10:03 +0000 UTC]
Connection OK


Server version : 24.05.4 / 77 - 2024.07.22-10:42 - 49c4b4233d6@rel_24_05_m
Connection time: 14 ms

Server time    : Fri Aug 30 15:25:20 CEST 2024
Uniloader time : Fri Aug 30 13:25:20 UTC 2024
-----------
Unit uniloader.service is active and is set to restart on boot.

If you see Connection OK, then we are good and our set up is complete. Make sure you restart the uniloader service so the new credentials will be picked up.

# service uniloader restart

You can login into QM, and look at the database inspector so that you can see data being uploaded. If you see nothing, try making a call on a queue and you should see data appearing.

Make sure the time is right

While we are at it, when you run the check above, it will print the “Server time” (where QM is) and the “Uniloader time” (the local time). If they don’t look the same, this means you have a time slip that may impact the way real time reports look like. Make sure that the time is set correctly on both servers and is aligned.

Enabling on-prem systems

If you run an on-prem system, you need to make sure that your webqloader user in QM is enabled, and you need to set a password for it. On a new system, it is disabled by default for security reasons, but switching it on takes just a few seconds.

At this point we are done, and you can continue the setup of your new free PBX system as explained in our tutorials.

About QueueMetrics

QueueMetrics is a highly scalable monitoring software that lets you track agent productivity, payrolls, measure targets, conversion rates, queues/ACDs, IVRs, music-on-hold, generate outbound campaign statistics and monitor realtime processes with customizable wallboards.

You can measure all activities in your contact center with more than 200 different metrics and manage realtime processes with live alarms and full control on calls and extensions, including whisper, spy and barge modes.

QueueMetrics is available on premise or as a cloud hosted service, and it is compatible with FreePBX, Grandstream, Issabel, MiRTA, Enswitch, Yeastar S PBX, VitalPBX, FusionPBX and many other Asterisk- and Freeswitch-based systems. It also supports Microsoft Teams telephony.

For more technical information please refer to the User Manual.

Visit www.queuemetrics.com for a free 15-day full-featured trial.

keyboard_arrow_left Back