Categories: Vicidial

How to – Integrate Queuemetrics with Vicidial

How to – Integrate Queuemetrics with Vicidial

This article will go over how to integrate Queuemetrics with ViciDial


ViciDial integration

ViciDial is an enterprise class, open source call center suite in use by many large call centers around the world.

VICIdial has a full featured predictive dialer. It can also function as an ACD for inbound calls, or closer calls coming from VICIdial outbound frontiers. It is capable of inbound, outbound, and blended call handling.

It can also be easily integrated with QueueMetrics.

For more information, see http://www.vicidial.com

ViciDial is a registered trademark.

Prerequisites

  • A working ViciDial instance, version 2.0.4 or later

It is very important that all servers involved (be they for QueueMetrics or ViciDial or general Asterisk usage) are on the same time zone and time, aligned with sub-second precision by an NTP daemon. If this is not so, the setting may lead to data corruption and inaccurate reports.

In order to translate ViciDial data to QueueMetrics, the following conventions are used:

  • The campaign_id in ViciDial is seen as the queue in QueueMetrics
  • The user ID in ViciDial is prepended by “agent/” and translated to the agent code in QueueMetrics (e.g. user 123 appears as agent/123)
  • The UniqueID for the call appears as Asterisk’s unique id prepended with server_id field (e.g. 1-1170345123.1234)

In this example, we imagine that:

  • The QueueMetrics server has IP 1.2.3.4
  • The QueueMetrics database server has IP 1.2.3.5 and the QM database is called “queuemetrics”
  • The ViciDial server has IP 1.2.3.6

Changes to QueueMetrics database

ViciDial and QueueMetrics work together by sharing the database.

You must log on to the QueueMetrics database and create a user for ViciDial to connect to it. We use a different username from the one QM uses so it is easy to monitor who is doing what.

GRANT ALL PRIVILEGES ON queuemetrics.* TO vicidial@'1.2.3.6' IDENTIFIED BY 'qm';

ViciDial will also need special indexing on the ‘queue_log’ table to work efficiently:

CREATE INDEX vici_time_id on queue_log(time_id);
CREATE INDEX vici_call_id on queue_log(call_id);

Changes to ViciDial

The system configuration can easily be set from the ViciDial Admin / System Settings page:

  • Enable QueueMetrics logging: set to 1
  • QueueMetrics server IP: this is the IP for the MySQL DB server, in our example “1.2.3.5”
  • QueueMetrics DB name: the database name, in our example “queuemetrics”
  • QueueMetrics DB login: the database login, in our example “vicidial”
  • QueueMetrics DB password: the database password, in our example “qm”
  • QueueMetrics URL: the login URL for QM, e.g. “http://1.2.3.4:8080/queuemetrics”
  • QueueMetrics LogID: leave it to VIC (this in an ID for the server)
  • QueueMetrics EnterQueue Prepend: This field is used to allow for prepending of one of the vicidial_list data fields in front of the phone number of the customer for customized QueueMetrics reports. Default is NONE to avoid populating anything.

A set of cron jobs is expected to run to keep the logs updated; check that they are present by issuing a ‘crontab -e’:

### fix the vicidial_agent_log once every hour and the full day run at night
33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl
50 0 * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --last-24hours
*/5 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --only-qm-live-call-check
1 1 * * * /usr/share/astguiclient/Vtiger_optimize_all_tables.pl --quiet

Also, you will need to install the PHP XML-RPC library in order to have audio data accessible from the QueueMetrics server:

pear install XML_RPC-1.5.1

Changes to QueueMetrics

Edit the ‘configuration.properties’ file in order to set the following properties:

# This is the default queue log file.
default.queue_log_file=sql:P01

By default, ViciDial logs all data to partition “P01”.

audio.server=it.loway.app.queuemetrics.callListen.listeners.ClassicXmlRpcRecordings

audio.liveserver=it.loway.app.queuemetrics.callListen.RTlisteners.ClassicXmlRpcListenerRT

default.audioRpcServer=http://1.2.3.6/vicidial/xml_rpc_audio_server_vicidial.php

Change ‘1.2.3.6’ to your ViciDial server address.

After this, you need to define each ViciDial campaign as a QueueMetrics queue, and set it properly as an inbound or outbound one. After that, you can freely create composite queues to report on all or some activity at once.

The live monitoring asks for an extension to send the call to, this is an extension dialed on the active voicemail server as defined in the system settings. If there is no active voicemail defined then the live monitor will place the call to the extension on the server that the agent is on.

As far as I know, no one uses this anymore, but I wanted to give those of you that are interested the ability to give it a try if you wanted, so here it is

Chris aka carpenox

carpenox

View Comments

Recent Posts

How to – Fix Apache not starting on ViciBox

How to - Fix Apache not starting on ViciBox There is a new issue with…

3 weeks ago

How to – Use the full functionality of the ViciDial installer by carpenox

How to - Use the full functionality of the ViciDial installer by carpenox Vicidial administrators, take note: the Carpenox Auto Installer is about to change the game. This tool transforms the usually complex setup of Vicidial into a smooth, hassle-free experience. Let…

2 months ago

How to – Decrease SDP(short duration percent) in ViciDial

How to - Decrease SDP(short duration percent) in ViciDial There is a new feature in…

2 months ago

August 2024 VICIdial Security Update

August 2024 VICIdial Security Update Please read this carefully as it contains important information regarding…

4 months ago

50% off by joining our discord!

50% off by joining our discord! Unlock 50% Off Any Item in Our Store by…

4 months ago

Empower Your Business with a White Labeled Dialer Solution from CyburDial

Empower Your Business with a White Labeled Dialer Solution from CyburDial In today's rapidly evolving…

8 months ago

This website uses cookies.