VICIDIAL and QueueMetrics UPDATED: 2020-05-24 queue_log logging was added to VICIDIAL outbound auto calling as an option in the 2.0.3 release, and for inbound in the 2.0.4 release. This document goes over the features and needed changes made to VICIDIAL to enable it to insert activity records into the queue_log and other tables in MySQL that QueueMetrics uses for it's statistical analysis and reports. This document should not be taken as a HOWTO for proper installation steps to get QueueMetrics working. QueueMetrics is a closed-source, commercial product written by Loway Research in Italy/Switzerland. The writers of VICIDIAL do not support or warranty QueueMetrics or it's functionality with VICIDIAL in any way. This feature was added to the package at the request of several users of VICIDIAL and was achieved with some help from the creators of QueueMetrics(although all VICIDIAL code changes were done entirely by Matt Florell). This feature is functional on outbound manual dialing, auto dialing and inbound call handling as of 2008-06-30(SVN trunk 2.0.5). Another very important issue to note is that just like with VICIDIAL on multi-server systems, if QueueMetrics data is being generated on a multi-server system the data will be corrupted if all of the servers are not on the same time. I strongly recommend getting ntp working properly on all servers in a VICIDIAL or QueueMetrics server cluster. To be able to view stats for inbound and outbound calls properly you need to add each one individually in QueueMetrics "queues" and properly set whether each one is inbound or outbound. After that you can create a combined queue-alias with all of the campaigns and in-groups in it and it will tell you correctly the number of inbound and outbound calls. As of 2008-10-30, several validation and correction functions were added to the AST_cleanup_agent_log.pl script that is supposed to run every hour. These functions should clean up any queue_log errors that appear and cause QueueMetrics to display incorrect call totals. As of 2009-05-30, live montoring and playback of archived recordings through the QueueMetrics interface was added. To use this you must have the audio.server, audio.liveserver and default.audioRpcServer variables set properly in the configuration.properties file as specified toward the bottom of this document. 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 of 2009-11-23, DID and IVR logging through QueueMetrics queue_log is now part of the code. DID entries for the queue will be counted only for calls that actually enter the queue or are sent to an agent through a ViciDial in-group. For IVR entries, only the last Call Menu will be counted in the QueueMetrics reports. As of 2010-03-09, queuemetrics_loginout system settings option was added to allow for slightly different logging of logins and logouts. STANDARD will use standard AGENTLOGIN AGENTLOGOFF, CALLBACK will use AGENTCALLBACKLOGIN and AGENTCALLBACKLOGOFF that QM will parse differently. As of 2021-05-24, We added a "-qm-qa-duplicate-check" flag to the AST_cleanup_agent_log.pl script to check for and remove qa_data duplicate entries NOTE: having a large number of calls in queue can lead to significant load issues on the QM database server Entries you should have in your crontab on one server: ### 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 ## QM sync process, all campaigns/ingroups/agents once a day 58 6 * * * /usr/share/astguiclient/ADMIN_qm_sync.pl --all-sync --all-alias-sync --key-id-ig --debug Here is a short summary of the needed steps to install QueueMetrics on your system: NOTE: further down in this document are updated installation instructions and instructions for installing on OpenSuSE 11.1 and LEAP 42.3(VICIbox 8). First, get Sun Java SDK/JRE and install on your system. NOTE: the GCJ java JRE available on most RedHat/Feroda/CentOS systems WILL NOT WORK download and install the Java jdk-1_5_0_11-linux-i586-rpm.bin from: http://www.sun.com/software/communitysource/j2se/java2/index.xml cd /usr/local chmod 0777 jdk-1_5_0_11-linux-i586-rpm.bin ./jdk-1_5_0_11-linux-i586-rpm.bin ls -l rpm -i jdk-1_5_0_11-linux-i586.rpm wget http://www.mirrorgeek.com/apache.org/tomcat/tomcat-5/v5.5.20/bin/apache-tomcat-5.5.20.tar.gz gunzip apache-tomcat-5.5.20.tar.gz tar xvf apache-tomcat-5.5.20.tar ln -s apache-tomcat-5.5.20 tomcat cd apache-tomcat-5.5.20 * You may need to change all permissions to jar and sh files on /usr/local/apache-tomcat-6.0.18/bin to 0777 JAVA_HOME=/usr/java/jdk1.5.0_11/ JAVA_OPTS="-Xms256M -Xmx512M" JRE_HOME=/usr/java/jdk1.5.0_11/jre or JRE_HOME=/usr/java/jre1.6.0/ JAVA_HOME=/usr/java/ JAVA_OPTS="-Xms256M -Xmx512M" export JAVA_HOME export JAVA_OPTS export JRE_HOME /usr/local/tomcat/bin/startup.sh At this point you should go here on your web browser to see if the tomcat installation went well: http://ip-address:8080/ If it did, then you want to add the following lines to your /etc/rc.d/rc.local file so that tomcat will start up on boot: JAVA_HOME=/usr/java/jdk1.5.0_11/ JAVA_OPTS="-Xms256M -Xmx512M" JRE_HOME=/usr/java/jdk1.5.0_11/jre export JAVA_HOME export JAVA_OPTS export JRE_HOME /usr/local/tomcat/bin/startup.sh cd /usr/local *** download QueueMetrics and place it in /usr/local *** wget https://downloads.loway.ch/qm/QueueMetrics-21.04.1.tar.gz tar xvfz QueueMetrics-21.04.1.tar.gz mv queuemetrics-21.04.1 /usr/local/tomcat/webapps/qm cd /usr/local/tomcat/webapps/qm/WEB_INF wget ftp://mirrors.easynews.com/mysql/Downloads/Connector-J/mysql-connector-java-3.0.10-stable.tar.gz gunzip mysql-connector-java-3.0.10-stable.tar.gz tar xvf mysql-connector-java-3.0.10-stable.tar cp mysql-connector-java-3.0.10-stable/mysql-connector-java-3.0.10-stable-bin.jar ./lib/ At this point you should go here on your web browser to see if the tomcat installation went well: http://ip-address:8080/qm If you see a QueueMetrics page(probably with many errors), then installation went well up to this point. You now need to add the database tables, configure the web.xml file and configuration.properties file for your system. Now to the database side of things. First, give permissions to your user: GRANT ALL PRIVILEGES ON queuemetrics.* TO qm@'localhost' IDENTIFIED BY 'qm'; GRANT ALL PRIVILEGES ON queuemetrics.* TO qm@'%' IDENTIFIED BY 'qm'; Second, the queue_log table: (September 2016 version) mysql> describe queue_log; +------------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+------------------+------+-----+---------+----------------+ | partition | varchar(20) | NO | MUL | | | | time_id | int(11) unsigned | NO | MUL | 0 | | | call_id | varchar(200) | NO | MUL | NULL | | | queue | varchar(50) | NO | | NULL | | | agent | varchar(30) | NO | | | | | verb | varchar(30) | NO | MUL | | | | data1 | varchar(200) | NO | | | | | data2 | varchar(200) | NO | | | | | data3 | varchar(200) | NO | | | | | data4 | varchar(200) | NO | | | | | serverid | varchar(10) | NO | | | | | unique_row_count | int(10) unsigned | NO | | NULL | auto_increment | | data5 | varchar(200) | NO | | | | +------------------+------------------+------+-----+---------+----------------+ (September 2013 version) mysql> describe queue_log; +------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+------------------+------+-----+---------+-------+ | partition | char(20) | NO | MUL | NULL | | | time_id | int(11) unsigned | NO | MUL | 0 | | | call_id | char(30) | NO | MUL | NULL | | | queue | char(30) | NO | | NULL | | | agent | char(30) | NO | | NULL | | | verb | char(30) | NO | | NULL | | | data1 | char(30) | NO | | NULL | | | data2 | char(30) | NO | | NULL | | | data3 | char(30) | NO | | NULL | | | data4 | char(30) | NO | | NULL | | | serverid | varchar(10) | NO | | 0 | | | fileid | int(10) unsigned | NO | | NULL | | | recordid | int(10) unsigned | NO | | NULL | | | unique_row_count | int(11) | NO | | NULL | | +------------------+------------------+------+-----+---------+-------+ Use the following query to create a queue_log table in your asterisk database to gather queue_log entries without doing a full QueueMetrics install: CREATE TABLE queue_log ( partition VARCHAR(20) NOT NULL, time_id INT(11) UNSIGNED NOT NULL default '0', call_id VARCHAR(30) NOT NULL, queue VARCHAR(30) NOT NULL, agent VARCHAR(30) NOT NULL, verb VARCHAR(30) NOT NULL, data1 VARCHAR(30) NOT NULL, data2 VARCHAR(30) NOT NULL, data3 VARCHAR(30) NOT NULL, data4 VARCHAR(30) NOT NULL, serverid VARCHAR(10) NOT NULL default '0', fileid INT(10) UNSIGNED, recordid INT(10) UNSIGNED, unique_row_count INT(10) UNSIGNED NOT NULL, index(time_id), index(call_id) ); # NOTE: by default QueueMetrics does not index the time_id and call_id field. We strongly recommend you add these indexes: CREATE INDEX time_id on queue_log(time_id); CREATE INDEX call_id on queue_log(call_id); partition: set to "P01" for the first partition, should match up with configuration.properties presets time_id: epoch, unixtime (seconds since 1970-01-01 00:00:00) [1170345603] call_id: Asterisk unique prepended with server_id field [1-1170345497.30369] For VICIDIAL we will use the CallerIDname of the call to queue: the queue that call came into (we will use the campaign_id here) agent: we will use the user ID prepended by "agent/" [agent/6666] verbs: system actions - used by the AST_VDadapt.pl script when starting up QUEUESTART agent actions - used by vicidial.php, vdc_db_query.php and AST_VDremote_agents.pl AGENTLOGIN(agent phone channel) AGENTLOGOFF(agent phone channel|logintime) AGENTCALLBACKLOGIN(agent phone channel) AGENTCALLBACKLOGOFF(agent phone channel|logintime) PAUSEALL PAUSE UNPAUSEALL UNPAUSE PAUSEREASON ADDMEMBER2 REMOVEMEMBER CALLERONHOLD CALLEROFFHOLD call actions before going to agent - used by agi-VDAD_ALL_inbound/outbound scripts ENTERQUEUE(url|callerid) CALLOUTBOUND(url|callerid) CONNECT(holdtime) EXITWITHTIMEOUT(position) EXITWITHKEY(key|position) TRANSFER(extension|context|holdtime|calltime) INFO([IVR or DID]|[context or DID]) call actions before going to agent - used by AST_VDauto_dial.pl ABANDON(position|origposition|waittime) call actions after going to agent - used by vicidial.php, vdc_db_query.php and FastAGI_log.pl COMPLETEAGENT(holdtime|calltime|origposition) COMPLETECALLER(holdtime|calltime|origposition) CALLSTATUS(status) not used in vicidial - EXITEMPTY(position|origposition|waittime) AGENTDUMP data1: call termination codes, DID, IVR context, hold reason, on-hold length in seconds, addmember2 extension data2: callerID or number called(sometimes prepended by DNIS) [3101-9015556189], off-hold reason NOTE: the queuemetrics_eq_prepend field allows you to specify what vicidial_list field you would like to prefend to the phone number on ENTERQUEUE/CALLOUTBOUND events data3: optional qm_dispo_code variable for CALLSTATUS verbs, submitted through the agent-API external_status function data4: ?? serverid: number of the server the call came from [for VICIDIAL use the database system_settings.queuemetrics_log_id field] ### For documentation ONLY, these fields should already exist: On the vicidial database side of things, we will add the following columns to the system_settings table: enable_queuemetrics_logging ENUM('0','1') default '0', queuemetrics_server_ip VARCHAR(15), queuemetrics_dbname VARCHAR(50), queuemetrics_login VARCHAR(50), queuemetrics_pass VARCHAR(50), queuemetrics_url VARCHAR(255), queuemetrics_log_id VARCHAR(10) default 'VIC' queuemetrics_eq_prepend VARCHAR(255) default 'NONE' Instructions for setting up the XML RPC recording lookup php script: Install PEAR XML_RPC libraries: pear install XML_RPC-1.5.1 updated install instructions (2009-05-25): wget http://www.mirrorgeek.com/apache.org/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz gunzip apache-tomcat-6.0.18.tar.gz tar xvf apache-tomcat-6.0.18.tar ln -s apache-tomcat-6.0.18 tomcat cd apache-tomcat-6.0.18 /usr/local/tomcat/bin/startup.sh At this point you should go here on your web browser to see if the tomcat installation went well: http://192.168.1.100:8080/ If it did, then you want to add the following lines to your /etc/rc.d/rc.local file so that tomcat will start up on boot: /usr/local/tomcat/bin/startup.sh cd /usr/local wget http://queuemetrics.com/download/QueueMetrics-1.5.3-trial.tar.gz gunzip QueueMetrics-1.5.3-trial.tar.gz tar xvf QueueMetrics-1.5.3-trial.tar mv queuemetrics-1.5.3 /usr/local/tomcat/webapps/QM cd /usr/local/tomcat/webapps/QM/WEB-INF wget http://mirror.services.wisc.edu/mysql/Downloads/Connector-J/mysql-connector-java-3.0.10-stable.tar.gz gunzip mysql-connector-java-3.0.10-stable.tar.gz tar xvf mysql-connector-java-3.0.10-stable.tar cp mysql-connector-java-3.0.10-stable/mysql-connector-java-3.0.10-stable-bin.jar ./lib/ At this point you should go here on your web browser to see if the tomcat installation went well: http://ip-address:8080/QM If you see a QueueMetrics page(probably with many errors), then installation went well up to this point. You now need to add the database tables, configure the web.xml file and configuration.properties file for your system. mysql CREATE DATABASE queuemetrics; GRANT ALL PRIVILEGES ON queuemetrics.* TO 'queuemetrics'@'localhost' IDENTIFIED BY 'javadude'; GRANT ALL PRIVILEGES ON queuemetrics.* TO queuemetrics@localhost IDENTIFIED BY 'javadude'; GRANT ALL PRIVILEGES ON queuemetrics.* TO queuemetrics@'%' IDENTIFIED BY 'javadude'; mysql --user=queuemetrics --password=javadude queuemetrics < /usr/local/apache-tomcat-6.0.18/webapps/QM/WEB-INF/README/queuemetrics_sample.sql change the following in the configuration.properties file: # This is the default queue log file. default.queue_log_file=sql:P01 # audio recording lookup link, change the audioRpcServer to point to your server audio.server=it.loway.app.queuemetrics.callListen.listeners.ClassicXmlRpcRecordings audio.liveserver=it.loway.app.queuemetrics.callListen.RTlisteners.ClassicXmlRpcListenerRT default.audioRpcServer=http://10.0.0.4/vicidial/xml_rpc_audio_server_vicidial.php change the following in the web.xml file(change server IP): jdbc:mysql://10.0.0.4/queuemetrics?autoReconnect=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&us er=queuemetrics&password=javadude # NOTE: by default QueueMetrics does not index the time_id and call_id field. We strongly recommend you add these indexes: mysql queuemetrics CREATE INDEX time_id on queue_log(time_id); CREATE INDEX call_id on queue_log(call_id); OpenSuSE 11.1 to 11.3 installation instructions: How to install Queue Metrics on OpenSuSE v.11.1 to v 11.3 (32 or 64 bit) with a system that was installed with the ViciDial Group install script. Run them in this order to avoid funky java script bugs :D 1) Type: zypper in tomcat6 tomcat6-webapps - Say yes to install, and say yes to license 2) Type: zypper in java-1_6_0-sun - Say yes to install, and say yes to license 3) cd /usr/src 4) wget http://queuemetrics.com/download/QueueMetrics-13.04.2-trial.tar.gz 5) mkdir tars (incase it doesn't exist) 6) tar xvfz QueueMetrics-13.04.2-trial.tar.gz 7) mv QueueMetrics-13.04.2-trial.tar.gz ./tars/ 8) mkdir /srv/tomcat6/webapps/QM 9) cp -r queuemetrics-13.04.2/* /srv/tomcat6/webapps/QM/ 10) zypper in mysql-connector-java 11) cp /usr/share/java/mysql-connector-java.jar /srv/tomcat6/webapps/QM/WEB-INF/lib/ 12) chkconfig tomcat6 on 13) mysql --execute="CREATE DATABASE queuemetrics;" 14) mysql queuemetrics --execute="GRANT ALL PRIVILEGES ON queuemetrics.* TO 'queuemetrics'@'localhost' IDENTIFIED BY 'javadude';" 15) mysql queuemetrics --execute="GRANT ALL PRIVILEGES ON queuemetrics.* TO queuemetrics@localhost IDENTIFIED BY 'javadude';" 16) mysql queuemetrics --execute="GRANT ALL PRIVILEGES ON queuemetrics.* TO queuemetrics@'%' IDENTIFIED BY 'javadude';" 17) mysql queuemetrics --user=queuemetrics --password=javadude < /srv/tomcat6/webapps/QM/WEB-INF/README/queuemetrics_sample.sql 18) mysql queuemetrics --execute="CREATE INDEX time_id on queue_log(time_id);" 19) mysql queuemetrics --execute="CREATE INDEX call_id on queue_log(call_id);" 20) rctomcat6 start 21) Edit /srv/tomcat6/webapps/QM/WEB-INF/configuration.properties and change the entry to the following: - # This is the default queue log file. - default.queue_log_file=sql:P01 22) Edit /srv/tomcat6/webapps/QM/WEB-INF/web.xml and change the IP address of the following entry: - jdbc:mysql://10.0.0.4/queuemetrics?autoReconnect=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&user=queuemetrics&password=javadude 23) Go to http://:8080/QM and it should tell you the schema is old, just click next or yes to everything and have fun 24) If nothing shows up, you may need to go into 'yast' and change the firewall settings: Security --> Firewall settings, go to allowed services, type "alt-d" and add 8080 as a new port, then save and exit OpenSuSE LEAP 42.3 and VICIbox 8 installation instructions: (2017-10-06) How to install Queue Metrics on OpenSuSE LEAP 42.3 and VICIbox 8 with a system that was installed with the ViciDial Group install script. Run them in this order to avoid funky java script bugs :D 1) Type: zypper in tomcat tomcat-webapps - Say yes to install, and say yes to license 2) Type: zypper in java-1_8_0-openjdk-devel - Say yes to install, and say yes to license 3) cd /usr/src 4) wget https://downloads.loway.ch/qm/QueueMetrics-19.10.6.tar.gz 5) mkdir tars (incase it doesn't exist) 6) tar xvfz QueueMetrics-19.10.6.tar.gz 7) mv QueueMetrics-19.10.6.tar.gz ./tars/ 8) mkdir /srv/tomcat/webapps/QM 9) cp -r queuemetrics-19.10.6/* /srv/tomcat/webapps/QM/ 10) zypper in mysql-connector-java 11) cp /usr/share/java/mysql-connector-java.jar /srv/tomcat/webapps/QM/WEB-INF/lib/ 12) chkconfig tomcat on 13) mysql --execute="CREATE DATABASE queuemetrics;" 14) mysql queuemetrics --execute="GRANT ALL PRIVILEGES ON queuemetrics.* TO 'queuemetrics'@'localhost' IDENTIFIED BY 'javadude';" 15) mysql queuemetrics --execute="GRANT ALL PRIVILEGES ON queuemetrics.* TO queuemetrics@localhost IDENTIFIED BY 'javadude';" 16) mysql queuemetrics --execute="GRANT ALL PRIVILEGES ON queuemetrics.* TO queuemetrics@'%' IDENTIFIED BY 'javadude';" 17) mysql queuemetrics --user=queuemetrics --password=javadude < /srv/tomcat/webapps/QM/WEB-INF/README/queuemetrics_sample.sql 18) mysql queuemetrics --execute="CREATE INDEX time_id on queue_log(time_id);" 19) mysql queuemetrics --execute="CREATE INDEX call_id on queue_log(call_id);" 20) rctomcat start 21) Edit /srv/tomcat/webapps/QM/WEB-INF/web.xml and change the IP address of the following entry: - jdbc:mysql://10.0.0.4/queuemetrics?autoReconnect=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&user=queuemetrics&password=javadude 22) Go to http://:8080/QM and it should tell you the schema is old, just click next or yes to everything and have fun 23) If nothing shows up, you may need to go into 'yast' and change the firewall settings: Security --> Firewall settings, go to allowed services, type "alt-d" and add 8080 as a new port, then save and exit If you want to use the ADMIN_archive_log_tables.pl script with the --queue-log option you will need to run the following query in the QM database: CREATE TABLE queue_log_archive LIKE queue_log; Example queue_log output generated by ViciDial: +-----------+------------+----------------------+----------+------------+-----------------+-------------+------------+-------+-------+----------+------------------+ | partition | time_id | call_id | queue | agent | verb | data1 | data2 | data3 | data4 | serverid | unique_row_count | +-----------+------------+----------------------+----------+------------+-----------------+-------------+------------+-------+-------+----------+------------------+ | P01 | 1243280596 | NONE | NONE | Agent/6666 | AGENTLOGIN | 6666@agents | | | | VIC | 1 | | P01 | 1243280596 | NONE | NONE | Agent/6666 | PAUSEALL | NULL | | | | VIC | 2 | | P01 | 1243280603 | NONE | NONE | Agent/6666 | UNPAUSEALL | NULL | | | | VIC | 1 | | P01 | 1243280614 | V0525154325000035377 | TESTCAMP | NONE | ENTERQUEUE | NULL | 9998888112 | | | VIC | 1 | | P01 | 1243280614 | V0525154325000035377 | TESTCAMP | Agent/6666 | CONNECT | 0 | | | | VIC | 2 | | P01 | 1243280619 | V0525154328000213841 | TESTCAMP | NONE | ENTERQUEUE | NULL | 9999000016 | | | VIC | 1 | | P01 | 1243280625 | V0525154328000213841 | TESTCAMP | NONE | EXITWITHTIMEOUT | 1 | | | | VIC | 1 | | P01 | 1243280625 | V0525154328000213841 | TESTCAMP | NONE | CALLSTATUS | DROP | | | | VIC | 2 | | P01 | 1243280626 | Y0525154346000213841 | TEST_IN | NONE | ENTERQUEUE | NULL | 9999000016 | | | VIC | 1 | | P01 | 1243280631 | V0525154325000035377 | TESTCAMP | Agent/6666 | COMPLETEAGENT | 0 | 17 | 1 | | VIC | 1 | | P01 | 1243280631 | NONE | NONE | Agent/6666 | PAUSEALL | NULL | | | | VIC | 2 | | P01 | 1243280633 | NONE | NONE | Agent/6666 | UNPAUSEALL | NULL | | | | VIC | 1 | | P01 | 1243280633 | V0525154325000035377 | TESTCAMP | Agent/6666 | CALLSTATUS | N | | | | VIC | 2 | | P01 | 1243280646 | V0525154353000213842 | TESTCAMP | NONE | ENTERQUEUE | NULL | 9999000017 | | | VIC | 1 | | P01 | 1243280646 | V0525154353000213842 | TESTCAMP | Agent/6666 | CONNECT | 0 | | | | VIC | 2 | | P01 | 1243280650 | V0525154353000213842 | TESTCAMP | Agent/6666 | COMPLETEAGENT | 0 | 4 | 1 | | VIC | 1 | | P01 | 1243280650 | NONE | NONE | Agent/6666 | PAUSEALL | NULL | | | | VIC | 2 | | P01 | 1243280659 | V0525154353000213842 | TESTCAMP | Agent/6666 | CALLSTATUS | NP | | | | VIC | 1 | | P01 | 1243280672 | Y0525154346000213841 | TEST_IN | NONE | EXITWITHTIMEOUT | 1 | | | | VIC | 1 | | P01 | 1243280672 | Y0525154346000213841 | TEST_IN | NONE | CALLSTATUS | DROP | | | | VIC | 2 | | P01 | 1243280673 | Y0525154433000213841 | TEST_IN2 | NONE | ENTERQUEUE | NULL | 9999000016 | | | VIC | 1 | | P01 | 1243280686 | Y0525154433000213841 | TEST_IN2 | NONE | ABANDON | 1 | 1 | 3 | | VIC | 1 | | P01 | 1243280940 | NONE | NONE | Agent/6666 | UNPAUSEALL | NULL | | | | VIC | 1 | | P01 | 1243280940 | M0525154900000194239 | TESTCAMP | NONE | ENTERQUEUE | NULL | 9998888112 | | | VIC | 2 | | P01 | 1243280940 | M0525154900000194239 | TESTCAMP | Agent/6666 | CONNECT | 0 | | | | VIC | 3 | | P01 | 1243280965 | M0525154900000194239 | TESTCAMP | Agent/6666 | COMPLETEAGENT | 0 | 17 | 1 | | VIC | 1 | | P01 | 1243280965 | NONE | NONE | Agent/6666 | PAUSEALL | NULL | | | | VIC | 2 | | P01 | 1243280973 | M0525154900000194239 | TESTCAMP | Agent/6666 | CALLSTATUS | N | | | | VIC | 1 | | P01 | 1243281049 | Y0525155049000194239 | TEST_IN2 | NONE | ENTERQUEUE | NULL | 9998888112 | | | VIC | 1 | | P01 | 1243281052 | NONE | NONE | Agent/6666 | UNPAUSEALL | NULL | | | | VIC | 1 | | P01 | 1243281057 | Y0525155049000194239 | TEST_IN2 | Agent/6666 | CONNECT | 3 | | | | VIC | 1 | | P01 | 1243281073 | Y0525155049000194239 | TEST_IN2 | Agent/6666 | COMPLETEAGENT | 3 | 24 | 1 | | VIC | 1 | | P01 | 1243281073 | NONE | NONE | Agent/6666 | PAUSEALL | NULL | | | | VIC | 2 | | P01 | 1243281079 | Y0525155049000194239 | TEST_IN2 | Agent/6666 | CALLSTATUS | WN | | | | VIC | 1 | | P01 | 1243281088 | NONE | NONE | Agent/6666 | UNPAUSEALL | NULL | | | | VIC | 1 | | P01 | 1243281088 | M0525155128000194239 | TESTCAMP | NONE | ENTERQUEUE | NULL | 9998888112 | | | VIC | 2 | | P01 | 1243281088 | M0525155128000194239 | TESTCAMP | Agent/6666 | CONNECT | 0 | | | | VIC | 3 | | P01 | 1243281105 | M0525155128000194239 | TESTCAMP | Agent/6666 | COMPLETEAGENT | 0 | 7 | 1 | | VIC | 1 | | P01 | 1243281105 | NONE | NONE | Agent/6666 | PAUSEALL | NULL | | | | VIC | 2 | | P01 | 1243281111 | M0525155128000194239 | TESTCAMP | Agent/6666 | CALLSTATUS | NP | | | | VIC | 1 | | P01 | 1243281112 | NONE | NONE | Agent/6666 | AGENTLOGOFF | 6666@agents | 516 | | | VIC | 1 | +-----------+------------+----------------------+----------+------------+-----------------+-------------+------------+-------+-------+----------+------------------+