Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tank30

Pages: [1]
1
Running QueueMetrics / phantom ABANDON calls!
« on: January 29, 2009, 12:03:12 »
Hello,
  I am getting weird phantom calls with disconnection "Abandon" and "*"  as caller.



from the queue log i found the below:

1233144264|1233144140.2005|SalesQueue|Agent/1015|COMPLETEAGENT|10|57|1
1233144304|1233144089.1998|SalesQueue|Agent/1009|COMPLETECALLER|7|179|1
1233144314|1233144302.2038|ReceptionQueueGR|NONE|ENTERQUEUE||22740223
1233144318|1233144302.2038|ReceptionQueueGR|SIP/334|CONNECT|4|1233144314.2039
1233144322|1233144288.2037|TechSupportQueue|NONE|ENTERQUEUE||99826624
1233144330|1233144288.2037|TechSupportQueue|Agent/1007|CONNECT|8|1233144322.2043
1233144376|1233144302.2038|ReceptionQueueGR|SIP/334|TRANSFER|s|macro-tl-userexten-base|4|58
1233144488|1233144475.2058|ReceptionQueueGR|NONE|ENTERQUEUE||Unavailable
1233144493|1233144475.2058|ReceptionQueueGR|SIP/334|CONNECT|5|1233144488.2059
1233144542|1233144496.2060|SalesQueue|NONE|ENTERQUEUE||99102821
1233144555|1233144496.2060|SalesQueue|Agent/1009|ABANDON|1|1|13
1233144555|1233144496.2060|SalesQueue|NONE|ABANDON|1|1|13

1233144572|1233144475.2058|ReceptionQueueGR|SIP/334|COMPLETEAGENT|5|79|1
1233144649|1233144613.2082|SalesQueue|NONE|ENTERQUEUE||22813888
1233144659|1233144613.2082|SalesQueue|Agent/1015|CONNECT|10|1233144649.2086
1233144674|1233144615.2083|SalesQueue|NONE|ENTERQUEUE||22882600
1233144682|1233144615.2083|SalesQueue|Agent/1009|CONNECT|8|1233144674.2091
1233144783|1233144288.2037|TechSupportQueue|Agent/1007|COMPLETECALLER|8|453|1
1233144802|1233144615.2083|SalesQueue|Agent/1009|COMPLETECALLER|8|120|1
1233143781|1233143760.1978|Outbound|Agent/1014|CONNECT|21|


Any ideas?
thanks,
KM

2
QueueMetrics installation / Upgrade from 1.4.4 to 1.4.7 problem
« on: November 06, 2008, 15:26:00 »
Hi,
 after upgrading to 1.4.7 from 1.4.4 the possibility for listening to recorded calls is lost. I cannot listen to recorded calls even though they are there.
I used qm_show_files.do  and the files are there!
Also another strange thing is after downloading and installing 1.4.7 , the license info gives me the below:
Software release: Loway QueueMetrics - 1.4.4
Maximum licenced agents:     20 [S:1]
Licence expires on:  2011-05-02
   Show end-user licence agreement 
 
Operating System:  O.S.: Linux - Ver: 2.6.18-4-amd64 - amd64 
Java Runtime:  Version: 1.5.0_14
Vendor: Sun Microsystems Inc.
Class Version: 49.0
Java Home: /usr/lib/jvm/java-1.5.0-sun-1.5.0.14/jre
[...] 
System path:  /var/lib/tomcat5/webapps/queuemetrics/WEB-INF 
Loway TPF:  Version: $Revision: 1.47 $ #Build: 1221#P 
Language pack:  $Id: queuemetrics_en_US.properties,v 1.19 2008/06/23 19:13:07 lenz Exp $ 
System time:  Java Time: 2008-11-06 16:22:55 [1225981375]
Java Time Zone: Europe/Nicosia
MySQL Time: 2008-11-06 16:22:55.0 [1225981375] 


which is a bit strange!!!!!



3
I would like to make my own reports using XML RPC but I am a bit lost on what exactly i need to do  (what data to read , etc).
for example i would like to have a report for each agent that would tell me how much of the time that is logged in was idle and how much  time was used for talking to customers. This should be done on a daily, weekly , monthly basis, etc. So basically for Agent 361 i would like to know if for today he spent 40 minutes  (80%) idle and 10 minutes (20%) talking to customers, out of 50 minutes logged in time in total for the day.
also i would like to have this report for all agents as a team ,  per queue or queueset.
Anyone care to help?   ;)

thanks
KM

4
We have just upgraded from 1.4.3 to 1.4.4 and it seems that Show Active queues button is not working anymore..   :-\
Anyone had the same problem?

Best regards
Kyriakos

5
Hello,
  it seems that on 1.4.3 the waiting calls are not shown on wallboard until an agent answers the call.
This system is an upgrade from 1.4.2. When running 1.4.2 waiting calls were showing ok.
I have checked and qloader is uploading the lines ENTERQUEUE in database ok.
Also the waiting calls are showing up ok on Live monitoring but when the call is answered it dissapears from Live and appears on Realtime/Wallboard.
Anyone else had this problem?



KM

6
General Asterisk configuration / Qloader upload interval
« on: February 11, 2008, 14:21:14 »
Hi,
  What exactly is the time interval that qloader parses the queue.log and uploads into mysql? Im guessing
$log_every_num is relevant but I need to be sure.
 I have searched the site but found nothing.

Thank you
Kyriakos

7
Running QueueMetrics / ACD attempts clarification
« on: February 04, 2008, 15:45:57 »
Hi,
  I am a bit confused regarding what "Lost"  and "Taken' actually means in the reports.

OK,  lost means call was sent to agent but it was not answered. So if we had 2 calls in a queue with 3 lost attempts then in total we should have 6 lost attempts for this queue, am i right?

Taken Im not sure what it means. Is is a succesful attempt after a lost attempt? On ACD by terminal what does it mean exactly when an agent has 5 lost and 1 taken?

Documentation is not exactly rich on description for these so it would be nice to give me some details.
 :) :) :)
Thanks!






8
Outbound and QueueMetrics / queueDial.agi not working
« on: January 31, 2008, 16:46:34 »
I am using Asterisk 1.4.11 on Debian etch. I am trying to implement outbound queue but it seems that agi is not executing succesfully:

    -- Executing [dial-SIP@macro-KM-Dialout-base:5] DeadAGI("SIP/391-b5766b60", "queueDial.agi|22693314|SIP/22693314@PRDSER|Outbound|Agent/392") in new stack
[Jan 31 17:15:26] WARNING[19519]: res_agi.c:2089 deadagi_exec: Running DeadAGI on a live channel will cause problems, please use AGI
    -- Launched AGI Script /var/lib/asterisk/agi-bin/queueDial.agi
    -- AGI Script queueDial.agi completed, returning 0


I do not see anything on asterisk console being executed by the agi script.  Script is the untouched file that i got from qm.


cassius:/var/lib/asterisk/agi-bin# cat queueDial.agi
#!/usr/bin/perl
$|=1;

print STDERR "started agi script \n"

#
# Outbound call queue events generator
#      (c) 2006, 2007 Loway - All rights reserved.
#          This software is a part of QueueMetrics.
#          http://queuemetrics.com
#
# $Id: queueDial.agi,v 1.5 2007/04/18 12:07:46 lenz Exp $
#
# This script emulates queue_log events for outgoing calls.
# Use:
# exten => 426,1,DeadAGI(queueDial.agi|34|SIP/34|queue-dps|Agent/101)
#
# The following params must be passed:
# - the caller*ID of the number you are trying to dial. Usually the number itself.
# - the actual dial string, like SIP/34, or IAX2/usr:pass@iax.server/34
# - the outbound queue to be used for accounting. Must be defined in QueueMetrics
# - the agent placing the call. Like Agent/123
#
# RESULTS
# If the call can go through, the events ENTERQUEUE, CONNECT and COMPLETEAGENT or
# COMPLETECALLER will be generated on the system queue_log file.
# If the call is not answered, the events ENTERQUEUE and ABANDON are generated.
#
# Extensive debugging output available at $logfile
#

my $logfile  = "/var/log/asterisk/agi-log.txt";
my $queuelog = "/var/log/asterisk/queue_log";

# Entering the program
logit(0,  "QueueDial ---- " . $ARGV[0] . "- " . $ARGV[1] ."----" . (scalar localtime) );

my $NUMBER  = $ARGV[0];
my $CHANNEL = $ARGV[1];
my $QUEUE   = $ARGV[2];
my $AGENT   = $ARGV[3];

logit( 0, "Dial Num: '$NUMBER' Chan: '$CHANNEL' on Queue: '$QUEUE' Agent: '$AGENT'");

#legge stdin
my %AGI_IN;
while ( my $rl = <STDIN>  ){
        chomp $rl;
        $AGI_IN{$1} = $2 if $rl =~ /^(.+?): (.+)/;
#       logit(0, "In:   $1: '$2'");
        last if length( $rl ) == 0;
}
#logit( 0, "-fine args-");
my $callId = $AGI_IN{'agi_uniqueid'};

#imposta le variabili del canale che saranno lette dal manager
setVar( "QDIALER_NUMBER" , $NUMBER );
setVar( "QDIALER_CHANNEL", $CHANNEL);
setVar( "QDIALER_QUEUE"  , $QUEUE  );
setVar( "QueueName"      , $QUEUE  );
setVar( "QDIALER_AGENT"  , $AGENT  );
#setVar( "CDR(accountcode)", "1234" );


my $nowStart = time();
logQueue( $nowStart, $callId, $QUEUE, "NONE", "ENTERQUEUE", "-", $NUMBER );
logQueue( $nowStart, $callId, $QUEUE, $AGENT, "CONNECT", 0, "" );
#logit( 0, "Chiamo $CHANNEL" );

$whoHung = cmd( "EXEC dial \"$CHANNEL||g\"" );

my $nowEnd = time();
my $asweredTime = getVar( "ANSWEREDTIME" )  ;
my $dialStatus  = getVar( "DIALSTATUS" );
$answeredTime = getVar( "ANSWEREDTIME" ) ;

logit(0, "Hangup: '$whoHung' AT: '$answeredTime' DS: '$dialStatus'" );

if ( $answeredTime == 0 ) {
        my $waitTime = ( $nowEnd - $nowStart );
        logit( 0, "EXITTIMEOUT $nowEnd" );
        logQueue( $nowEnd, $callId, $QUEUE, "NONE", "ABANDON", "1", "1|$waitTime" );
} else {
        my $waitTime = ( $nowEnd - $nowStart ) - $answeredTime;
        my $connectTime = $nowEnd - $answeredTime;
        my $verb = ( $whoHung ? "COMPLETEAGENT" : "COMPLETECALLER" );

        logit( 0, "$connectTime - $nowEnd - $verb - $waitTime - $answeredTime ");

        logQueue( $connectTime, $callId, $QUEUE, $AGENT, "CONNECT", $waitTime, "" );
        logQueue( $nowEnd,      $callId, $QUEUE, $AGENT, $verb, $waitTime, $answeredTime );
}

logit( 0, "Terminating" );

exit;



#
# appoggio
#

sub logit {
        my ($level, $string) = @_;
        open L, ">>$logfile" or die "$! $logfile";
        print L "*" . $string . "\n";
        close L;
}

sub cmd {
        my ( $c ) = @_;
        print $c . "\n";
        my $rIn = <STDIN>;
        my $res = "";
        logit( 1, "Cmd: $c\n" );
        logit( 1, "  A: $rIn\n" );
        $res = $1 if $rIn =~ /^200 result=(.+)/;
        return $res;
}

sub getVar {
        my ( $v ) = @_;
        print "GET VARIABLE $v\n";
        my $rIn = <STDIN>;
        my $rOut = "";
        $rOut = "$1" if $rIn =~ /^200 result=1 \((.+)\)/;
        logit( 0, "GetVar: '$v' = '$rOut'");
        return $rOut;
}

sub setVar {
        my ( $var, $val ) = @_;
        print "SET VARIABLE $var $val\n";
        my $rIn = <STDIN>;
        logit( 0, "SetVar: '$var' = '$val' - $rIn" );
}

sub logQueue {
        my ( $t, $c, $q, $a, $p1, $p2, $p3 ) = @_;
        open F, ">>$queuelog" or die "$!";
        print F "$t|$c|$q|$a|$p1|$p2|$p3\n";
        close F;
}



# ===================================================================
# $Log: queueDial.agi,v $
# Revision 1.5  2007/04/18 12:07:46  lenz
# Copyright messages.
#
# Revision 1.4  2007/04/14 10:09:11  lenz
# Aggiunta var standard QueueName al canale.
#
# Revision 1.3  2007/03/29 21:29:43  lenz
# Channel variables per Manager
#
#

Any help would be appreciated    ;)

KM

9
Running QueueMetrics / Pause while being paused!
« on: December 13, 2007, 16:37:39 »
Hi guys,

Im running Asterisk 1.4 and QM 1.4.2 on debian etch. I have noticed the following weird bug:

When an agent is paused for a reason lets say code 10. Agen website will allow him to repause his status while being paused and change the pause code! This has the effect of totally removing the pause sesion of the agent! So at the end of the day , on agent report , agent pause session will not be shown so the supervisor would think that agent was logged in and available but no calls were routed to him by the ACD.
I am using qloaderd for uploading the lines from queue.log into mysql. I checked the logfile and this is an example of what im saying:

sample from queue.log:
1197550494|1197550494.2256|NONE|Agent/1001|PAUSEREASON|10
1197550494|1197550494.2255|NONE|Agent/1001|PAUSEREASON|10
1197554597|NONE|NONE|Agent/1001|PAUSEALL|
1197554597|NONE|Telepassport|Agent/1001|PAUSE|
1197554597|NONE|AnyOtherQueue|Agent/1001|PAUSE|
1197554597|NONE|TechSupportQueue|Agent/1001|PAUSE|
1197554597|NONE|TechnicalFaultQueue|Agent/1001|PAUSE|
1197554597|NONE|SalesQueue|Agent/1001|PAUSE|
1197554597|NONE|AccountingQueue|Agent/1001|PAUSE|
1197554597|NONE|NONE|Agent/1001|PAUSEALL|
1197554597|NONE|Telepassport|Agent/1001|PAUSE|
1197554597|NONE|AnyOtherQueue|Agent/1001|PAUSE|
1197554597|NONE|TechSupportQueue|Agent/1001|PAUSE|
1197554597|NONE|TechnicalFaultQueue|Agent/1001|PAUSE|
1197554597|NONE|SalesQueue|Agent/1001|PAUSE|
1197554597|NONE|AccountingQueue|Agent/1001|PAUSE|
1197554597|1197554597.2613|NONE|Agent/1001|PAUSEREASON|13
1197554597|1197554597.2612|NONE|Agent/1001|PAUSEREASON|13
1197555699|NONE|NONE|Agent/1001|UNPAUSEALL|
1197555699|NONE|Telepassport|Agent/1001|UNPAUSE|
1197555699|NONE|AnyOtherQueue|Agent/1001|UNPAUSE|
1197555699|NONE|TechSupportQueue|Agent/1001|UNPAUSE|
1197555699|NONE|TechnicalFaultQueue|Agent/1001|UNPAUSE|
1197555699|NONE|SalesQueue|Agent/1001|UNPAUSE|
1197555699|NONE|AccountingQueue|Agent/1001|UNPAUSE|
1197555699|NONE|NONE|Agent/1001|UNPAUSEALL|
1197555699|NONE|Telepassport|Agent/1001|UNPAUSE|
1197555699|NONE|AnyOtherQueue|Agent/1001|UNPAUSE|
1197555699|NONE|TechSupportQueue|Agent/1001|UNPAUSE|
1197555699|NONE|TechnicalFaultQueue|Agent/1001|UNPAUSE|
1197555699|NONE|SalesQueue|Agent/1001|UNPAUSE|
1197555699|NONE|AccountingQueue|Agent/1001|UNPAUSE|

The above has a consequence of not showing the session pause beetween 3 pm and 4pm (hours are in GMT+2)


Agent pause report:
Agent Ext. Duration On pause Activity Start hour End hour
Giorgos Georgiou  361 8:56:45         -  12/13 - 8:32:44  12/13 - 17:29:29 
        3:59    Out call  12/13 - 10:26:08  12/13 - 10:30:07 
        21:56    short  12/13 - 12:06:08  12/13 - 12:28:04 
        5:56    Backoffice jobs  12/13 - 12:30:51  12/13 - 12:36:47 
        8:09    Backoffice jobs  12/13 - 13:05:53  12/13 - 13:14:02 
        18:56    Lunch  12/13 - 13:45:15  12/13 - 14:04:11 
        18:22    Backoffice jobs  12/13 - 16:03:17  12/13 - 16:21:39 
        36:47    Backoffice jobs  12/13 - 16:23:10  12/13 - 16:59:57 

Normal behavior would be that if already paused, the agent page should not allow the agent to repause and choose another pause code.
Can you please verify that this is a bug in the site or perhaps something i missed in the configuration properties?

thanks!
Kyriakos Mavromichalis
Otenet-Telecom

10
Agents show up ok on reports, loging in and out when using the dial extension i have setup on Asterisk.
If an agent tries to login using the "LogOn" button from the agent's QM web interface it fails with error
"You do not have the rights to perform the requested action. "   

What rights exactly are we talking about here?   ???
Any ideas on how to resolve this?


thanks
KM

11
Hi to the forum!
 Im trying to install queuemetrics on a debian etch system.
Whatever i tried i could not get it to work.
Java , Tomcat 5  and Mysql 5 server are installed and working.
In jdbc test page i get the following error:
"Problem encountered:
The file WEB-INF/web.xml might be unreadable or the JDBC_URL may not be defined
Java Error:
Errore parsing XML in '/var/lib/tomcat5/webapps/queuemetrics/WEB-INF/web.xml'"

JDBC_URL is at its default value since it corresponds with what i have installed in MySQL.

This is the error im getting from themain queuemetrics site:

"Errore JDBC:java.sql.SQLException: Server connection failure during transaction. Due to underlying exception: 'java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve)'. - - ** BEGIN NESTED EXCEPTION ** - - java.security.AccessControlException - MESSAGE: access denied (java.net.SocketPermission localhost resolve) - - STACKTRACE: - - java.security.AccessControlException: access denied (java.net.SocketPermission localhost resolve) - at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264) - at java.security.AccessController.checkPermission(AccessController.java:427) - at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) - at java.lang.SecurityManager.checkConnect(SecurityManager.java:1031) - at java.net.InetAddress.getAllByName0(InetAddress.java:1117) - at java.net.InetAddress.getAllByName0(InetAddress.java:1098) - at java.net.InetAddress.getAllByName(InetAddress.java:1061) - at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:125) - at com.mysql.jdbc.MysqlIO.(MysqlIO.java:225) - at com.mysql.jdbc.Connection.createNewIO(Connection.java:1923) - at com.mysql.jdbc.Connection.(Connection.java:452) - at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411) - at java.sql.DriverManager.getConnection(DriverManager.java:525) - at java.sql.DriverManager.getConnection(DriverManager.java:193) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequest(Unknown Source) - at it.loway.tpf.transaction.servlets.LowayTransactionController.serveRequestWrapper(Unknown Source) - at it.loway.tpf.transaction.servlets.LowayTransactionController.doGet(Unknown Source) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) - at java.lang.reflect.Method.invoke(Method.java:585) - at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) - at java.security.AccessController.doPrivileged(Native Method) - at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) - at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:272) - at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245) - at org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:177) - at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156) - at java.security.AccessController.doPrivileged(Native Method) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) - at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) - at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) - at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) - at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) - at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) - at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) - at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) - at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) - at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) - at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) - at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) - at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) - at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) - at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) - at java.lang.Thread.run(Thread.java:595) - - - ** END NESTED EXCEPTION ** - - - Attempted reconnect 3 times. Giving up."


I have tried with all versions of mysql connectors but nothing worked.

Any help would be deeply appreciated.

Thanks


Pages: [1]