The QueueMetrics Platform model

Platforms are the way QueueMetrics is able to connect to different models of PBXs; each platform encapsulates the logic required to exchange data with the underlying PBX.

Generic concepts

A Platform is composed of a number of swappable components that encapsulate all interaction with the underlying PBX.

Those components let you define the way QueueMetrics:

  • pulls data from the PBX ("Ingestor")

  • analyzes and stores data sent from the PBX ("Storage")

  • interacts with the PBX ("PBX Actions")

  • drives an outbound dialer ("Dialer")

  • listens to stored recordings ("PM Recordings")

  • listens to live calls ("PM Listen")

Each platform is defined through the 'configuration.properties' file by setting the appropriate properties.

Platform feature Main controlling property Notes

Ingestor

-

Not yet implemented.

Storage

default.queue_log_file

PBX Actions

platform.pbx

Dialer

platform.dialer

PM Recordings

audio.server

PM Listen

audio.liveserver

These components are meant to be "mix-and-match", so that you can e.g. use the same audio recordings mechanism with totally different storage engines.

Defining system properties for members of a cluster

Unless otherwise specified, in the case you are running a clustered system, you can have "default" settings and then separate settings for each machine in the cluster.

For example, if you are trying to read a configuration property called "my.prop" and you are on a cluster server called "alpha":

  • first, a property called cluster.alpha.my.prop is read

  • if not found, the property my.prop is read

  • if not found, the default value is used.

Ingestors

No ingestors are currently used.

Storage models

At the moment, QueueMetrics only supports its classic storage model, either reading from the database or through a flat-file.

Outbound dialer

The outbound dialer is controlled through the platform.dialer configuration property.

Allowed values are:

  • NONE - no dialer available

  • WOMBATDIALER - Connects to an instance of WombatDialer. This parameter is inferred if the property `default.wombat.agent_recall_enabled is set to true.

None

No dialer is available, all dialer actions are turned off.

WombatDialer

QueueMetrics is able to connect to a WombatDialer instance to schedule calls.

This must be provided in the form of four system parameters (that can be set in the Edit System Parameters page).

  • wombat.url: The URL of our WombatDialer instance.

  • wombat.username: A valid username associated with a user with the needed grants.

  • wombat.password: The password for the user.

RecallParameters

For more information of how to integrate WombatDialer within QueueMetrics, please see The Recall Scheduler.

Listening to calls using Pluggable Modules (PM)

Pluggable modules are used in two areas:

  • Listening to recorded (closed) calls, i.e retrieving recordings

  • Listening to live calls, i.e. setting up a channel "spy" feature.

In order to control which module is called, two configuration properties are set:

  • audio.server controls the module to do find recorded calls

  • audio.liveserver controls the module to set up live call listening

Each configuration property is set to the complete name of a Java class that implements the required server. Such names must be set exactly as described, or an exception will be raised. Each module can then have its own configuration properties to control its own behaviour.