{"id":2899,"date":"2023-05-08T15:14:37","date_gmt":"2023-05-08T19:14:37","guid":{"rendered":"https:\/\/dialer.one\/?p=2899"},"modified":"2024-12-05T18:58:54","modified_gmt":"2024-12-05T23:58:54","slug":"how-to-integrate-queuemetrics-with-vicidial","status":"publish","type":"post","link":"https:\/\/dialer.one\/index.php\/how-to-integrate-queuemetrics-with-vicidial\/","title":{"rendered":"How to &#8211; Integrate Queuemetrics with Vicidial"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">How to &#8211; Integrate Queuemetrics with Vicidial<\/h1>\n\n\n\n<p>This article will go over how to integrate Queuemetrics with ViciDial<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"VICIDIAL\"><br>ViciDial integration<\/h2>\n\n\n\n<p>ViciDial is an enterprise class, open source call center suite in use by many large call centers around the world.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>It can also be easily integrated with QueueMetrics.<\/p>\n\n\n\n<p>For more information, see&nbsp;<a href=\"http:\/\/www.vicidial.com\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.vicidial.com<\/a><\/p>\n\n\n\n<p>ViciDial is a registered trademark.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"_prerequisites\"><a href=\"https:\/\/docs.loway.ch\/QueueMetrics_Advanced\/1_vicidial.html#_prerequisites\" target=\"_blank\" rel=\"noopener\"><\/a>Prerequisites<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A working ViciDial instance, version 2.0.4 or later<\/li>\n<\/ul>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>In order to translate ViciDial data to QueueMetrics, the following conventions are used:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The campaign_id in ViciDial is seen as the queue in QueueMetrics<\/li>\n\n\n\n<li>The user ID in ViciDial is prepended by &#8220;agent\/&#8221; and translated to the agent code in QueueMetrics (e.g. user 123 appears as agent\/123)<\/li>\n\n\n\n<li>The UniqueID for the call appears as Asterisk\u2019s unique id prepended with server_id field (e.g. 1-1170345123.1234)<\/li>\n<\/ul>\n\n\n\n<p>In this example, we imagine that:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The QueueMetrics server has IP 1.2.3.4<\/li>\n\n\n\n<li>The QueueMetrics database server has IP 1.2.3.5 and the QM database is called &#8220;queuemetrics&#8221;<\/li>\n\n\n\n<li>The ViciDial server has IP 1.2.3.6<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"_changes_to_queuemetrics_database\"><a href=\"https:\/\/docs.loway.ch\/QueueMetrics_Advanced\/1_vicidial.html#_changes_to_queuemetrics_database\" target=\"_blank\" rel=\"noopener\"><\/a>Changes to QueueMetrics database<\/h3>\n\n\n\n<p>ViciDial and QueueMetrics work together by sharing the database.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>GRANT ALL PRIVILEGES ON queuemetrics.* TO vicidial@'1.2.3.6' IDENTIFIED BY 'qm';<\/code><\/pre>\n\n\n\n<p>ViciDial will also need special indexing on the &#8216;queue_log&#8217; table to work efficiently:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE INDEX vici_time_id on queue_log(time_id);\nCREATE INDEX vici_call_id on queue_log(call_id);<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"_changes_to_vicidial\"><a href=\"https:\/\/docs.loway.ch\/QueueMetrics_Advanced\/1_vicidial.html#_changes_to_vicidial\" target=\"_blank\" rel=\"noopener\"><\/a>Changes to ViciDial<\/h3>\n\n\n\n<p>The system configuration can easily be set from the ViciDial Admin \/ System Settings page:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/docs.loway.ch\/QueueMetrics_Advanced\/_images\/Pictures\/vicidial_system_settings.png\" alt=\"vicidial system settings\" title=\"\"><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enable QueueMetrics logging: set to 1<\/li>\n\n\n\n<li>QueueMetrics server IP: this is the IP for the MySQL DB server, in our example &#8220;1.2.3.5&#8221;<\/li>\n\n\n\n<li>QueueMetrics DB name: the database name, in our example &#8220;queuemetrics&#8221;<\/li>\n\n\n\n<li>QueueMetrics DB login: the database login, in our example &#8220;vicidial&#8221;<\/li>\n\n\n\n<li>QueueMetrics DB password: the database password, in our example &#8220;qm&#8221;<\/li>\n\n\n\n<li>QueueMetrics URL: the login URL for QM, e.g. &#8220;http:\/\/1.2.3.4:8080\/queuemetrics&#8221;<\/li>\n\n\n\n<li>QueueMetrics LogID: leave it to VIC (this in an ID for the server)<\/li>\n\n\n\n<li>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.<\/li>\n<\/ul>\n\n\n\n<p>A set of cron jobs is expected to run to keep the logs updated; check that they are present by issuing a &#8216;crontab -e&#8217;:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">### fix the vicidial_agent_log once every hour and the full day run at night\n33 * * * * \/usr\/share\/astguiclient\/AST_cleanup_agent_log.pl\n50 0 * * * \/usr\/share\/astguiclient\/AST_cleanup_agent_log.pl --last-24hours\n*\/5 * * * * \/usr\/share\/astguiclient\/AST_cleanup_agent_log.pl --only-qm-live-call-check\n1 1 * * * \/usr\/share\/astguiclient\/Vtiger_optimize_all_tables.pl --quiet<\/pre>\n\n\n\n<p>Also, you will need to install the PHP XML-RPC library in order to have audio data accessible from the QueueMetrics server:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pear install XML_RPC-1.5.1<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"_changes_to_queuemetrics\"><a href=\"https:\/\/docs.loway.ch\/QueueMetrics_Advanced\/1_vicidial.html#_changes_to_queuemetrics\" target=\"_blank\" rel=\"noopener\"><\/a>Changes to QueueMetrics<\/h3>\n\n\n\n<p>Edit the &#8216;configuration.properties&#8217; file in order to set the following properties:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># This is the default queue log file.\ndefault.queue_log_file=sql:P01<\/pre>\n\n\n\n<p>By default, ViciDial logs all data to partition &#8220;P01&#8221;.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">audio.server=it.loway.app.queuemetrics.callListen.listeners.ClassicXmlRpcRecordings\n\naudio.liveserver=it.loway.app.queuemetrics.callListen.RTlisteners.ClassicXmlRpcListenerRT\n\ndefault.audioRpcServer=http:\/\/1.2.3.6\/vicidial\/xml_rpc_audio_server_vicidial.php<\/pre>\n\n\n\n<p>Change &#8216;1.2.3.6&#8217; to your ViciDial server address.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>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<\/p>\n\n\n\n<p>Chris aka carpenox <\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to &#8211; 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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[96],"tags":[533,536],"class_list":["post-2899","post","type-post","status-publish","format-standard","hentry","category-vicidial","tag-howto","tag-vicidial"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":2378,"url":"https:\/\/dialer.one\/index.php\/table-of-contents\/","url_meta":{"origin":2899,"position":0},"title":"Table of Contents &#8211; Knowledge Base","author":"carpenox","date":"March 7, 2022","format":false,"excerpt":"Welcome to my blog, some of you may know me from the ViciDial forums, I am carpenox and I am here to share my knowledge with everyone, for free!","rel":"","context":"In &quot;Vicidial&quot;","block_context":{"text":"Vicidial","link":"https:\/\/dialer.one\/index.php\/category\/vicidial\/"},"img":{"alt_text":"CyburDial","src":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/02\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/02\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/02\/image.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/02\/image.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/02\/image.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":2232,"url":"https:\/\/dialer.one\/index.php\/how-to-integrate-vtiger-7-3-into-vicidial\/","url_meta":{"origin":2899,"position":1},"title":"How to &#8211; integrate vTiger 7.3 into Vicidial","author":"carpenox","date":"October 28, 2021","format":false,"excerpt":"How to - integrate vTiger 7.3 into Vicidial This article will go over how to complete a vTiger integration into Vicidial, I have done it and its working on version 7.3. I would like to go a little deeper on this than the original coder wrote up but I will\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2021\/07\/cyburcrm3.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2021\/07\/cyburcrm3.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2021\/07\/cyburcrm3.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2021\/07\/cyburcrm3.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2021\/07\/cyburcrm3.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":4511,"url":"https:\/\/dialer.one\/index.php\/custom-vicidial-reports-on-github\/","url_meta":{"origin":2899,"position":2},"title":"Custom VICIdial Reports on GitHub","author":"carpenox","date":"January 11, 2025","format":false,"excerpt":"Custom VICIdial Reports on GitHub Introducing My New GitHub Repository for Custom VICIdial Reports Hey there, fellow VICIdial enthusiasts! I am thrilled to announce the launch of my latest GitHub repository, dedicated to creating custom reports for VICIdial. As a long-time user and developer in the VICIdial community, I understand\u2026","rel":"","context":"In &quot;CyburDial&quot;","block_context":{"text":"CyburDial","link":"https:\/\/dialer.one\/index.php\/category\/cyburdial\/"},"img":{"alt_text":"Custom Reports","src":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/01\/image-png.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/01\/image-png.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/01\/image-png.webp?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1314,"url":"https:\/\/dialer.one\/index.php\/how-to-set-timed-actions-during-a-call-in-your-campaign\/","url_meta":{"origin":2899,"position":3},"title":"How to set timed actions during a call in your campaign","author":"carpenox","date":"December 17, 2020","format":false,"excerpt":"How to - Set timer action in Vicidial for your campaign This will show you how to drop a call to a call menu or other options after a certain amount of time How to set timer action in Vicidial: Go into detail view of the campaign and scroll down\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2020\/12\/image-4.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2020\/12\/image-4.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2020\/12\/image-4.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2020\/12\/image-4.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2020\/12\/image-4.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":2557,"url":"https:\/\/dialer.one\/index.php\/how-to-create-an-ivr-for-inbound-calls\/","url_meta":{"origin":2899,"position":4},"title":"How to &#8211; Create an IVR for inbound calls","author":"carpenox","date":"June 29, 2022","format":false,"excerpt":"How to - Create an IVR for inbound calls In this article I am going to over how to create an inbound call menu or IVR (Interactive Voice Response) for ViciDial which will help reduce your drop percent to help you legally within the 3% drop rate for the USA\u2026","rel":"","context":"In &quot;Vicidial&quot;","block_context":{"text":"Vicidial","link":"https:\/\/dialer.one\/index.php\/category\/vicidial\/"},"img":{"alt_text":"IVR","src":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/06\/image-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/06\/image-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/06\/image-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/06\/image-1.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2022\/06\/image-1.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":4622,"url":"https:\/\/dialer.one\/index.php\/introducing-the-new-and-improved-full-white-label-theme-for-vicidial-2025-edition-by-cyburdial\/","url_meta":{"origin":2899,"position":5},"title":"Introducing the New and Improved Full White Label Theme for ViciDial 2025 Edition by CyburDial","author":"carpenox","date":"February 3, 2025","format":"gallery","excerpt":"Introducing the New and Improved Full White Label Theme for ViciDial 2025 Edition by CyburDial CyburDial is excited to announce the release of the 2025 edition of its Full White Label Theme for ViciDial! This latest version brings a host of new features and improvements designed to enhance the user\u2026","rel":"","context":"In &quot;CyburDial&quot;","block_context":{"text":"CyburDial","link":"https:\/\/dialer.one\/index.php\/category\/cyburdial\/"},"img":{"alt_text":"Agent 2025","src":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/02\/agent-2025-png.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/02\/agent-2025-png.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/02\/agent-2025-png.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/02\/agent-2025-png.webp?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/02\/agent-2025-png.webp?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/dialer.one\/wp-content\/uploads\/2025\/02\/agent-2025-png.webp?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/posts\/2899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/comments?post=2899"}],"version-history":[{"count":0,"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/posts\/2899\/revisions"}],"wp:attachment":[{"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/media?parent=2899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/categories?post=2899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dialer.one\/index.php\/wp-json\/wp\/v2\/tags?post=2899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}