Author Topic: Queue direction and session reset  (Read 5193 times)

silmaril

  • Newbie
  • *
  • Posts: 13
  • Karma: 0
    • View Profile
    • Email
Queue direction and session reset
« on: June 13, 2008, 13:23:57 »

Few things i would like to see fixed/enhanced in queuemetrics as of now:

1/ Queue Direction
In our setup we have two queues, one 'real' (at least for asterisk) with inbound calls, one 'fake' for outbond calls.
In QM setup we can specify the 'queue direction' for each individual queue, but not when 'grouping' queues
and the call direction in the reports gave 'undefined' for everything.
Quite useless, either we review individual queue reports, for which we already knew the direction,
or we try the grouped reports but then we loss the direction, just where it was needed

2/ Session reset || tomcat restart
When restarting the servlet handler, if you reconnect an previously (to the reset) connected user, you get a message like that (which not very clear, and quite frightening for normal people):
Quote
"Errore tecnico nella classe 'it.loway.app.queuemetrics.autenticazione.testNLicMod'. -- Inner Exception -- - Exception: it.loway.tpf.common.exceptions.TechException - Stack trace: - -- Inner Exception -- - Exception: it.loway.tpf.common.exceptions.LicenceException - Stack trace: - -- Inner Exception -- - Exception: java.lang.NoSuchMethodError - Error: - it.loway.tpf.U.hexToBytes(Ljava/lang/String;)[BStack trace: - java.lang.NoSuchMethodError: it.loway.tpf.U.hexToBytes(Ljava/lang/String;)[B - at it.loway.tpf.transaction.cs.CryLicMan.validate(Unknown Source) - at it.loway.tpf.transaction.cs.CryFeatIniter.verify(Unknown Source) - at it.loway.app.queuemetrics.autenticazione.testNLicMod.doRun(Unknown Source) - 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.doPost(Unknown Source) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) - at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) - 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:275) - 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:213) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) - at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) - at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) - at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) - at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) - at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) - at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) - at java.lang.Thread.run(Thread.java:595) - -- End Inner Exception -- - - Service Type: TrustManagerFactory - SunX509 - X509 - PKIX - X.509 - SunPKIX - Service Type: CertPathValidator - PKIX - Service Type: SSLContext - TLS - SSL - TLSv1 - SSLv3 - Service Type: CertStore - com.sun.security.IndexedCollection - Collection - LDAP - Service Type: AlgorithmParameterGenerator - DSA - DiffieHellman - OID.1.2.840.113549.1.3.1 - DH - 1.2.840.113549.1.3.1 - Service Type: KeyGenerator - ARCFOUR - Rijndael - Blowfish - HmacSHA256 - RC4 - TripleDES - HmacSHA512 - DESede - HmacSHA384 - AES - HmacMD5 - HmacSHA1 - DES - RC2 - Service Type: Mac - HmacSHA512 - HmacSHA256 - HmacSHA384 - HmacMD5 - HmacSHA1 - HmacPBESHA1 - Service Type: Cipher - ARCFOUR - PBEWithMD5AndDES - Rijndael - OID.1.2.840.113549.1.12.1.6 - Blowfish - PBEWithSHA1AndDESede - PBEWithMD5AndTripleDES - AESWrap - RC4 - PBEWithSHA1AndRC2_40 - RSA - TripleDES - OID.1.2.840.113549.1.5.3 - 1.2.840.113549.1.12.1.3 - DESede - OID.1.2.840.113549.1.12.1.3 - AES - 1.2.840.113549.1.12.1.6 - DESedeWrap - 1.2.840.113549.1.5.3 - DES - RC2 - Service Type: Signature - OID.1.2.840.10040.4.3 - OID.1.2.840.113549.1.1.4 - 1.3.14.3.2.29 - SHA384withRSA - SHA/DSA - OID.1.2.840.113549.1.1.5 - SHA512withRSA - DSS - MD5withRSA - OID.1.2.840.113549.1.1.11 - SHA1withRSA - NONEwithDSA - 1.2.840.113549.1.1.4 - MD5andSHA1withRSA - 1.2.840.113549.1.1.11 - OID.1.2.840.113549.1.1.13 - 1.3.14.3.2.27 - 1.2.840.10040.4.3 - SHA256withRSA - 1.2.840.113549.1.1.2 - 1.2.840.113549.1.1.12 - RawDSA - SHA1withDSA - SHA1/DSA - 1.3.14.3.2.13 - MD2withRSA - SHAwithDSA - DSAWithSHA1 - 1.2.840.113549.1.1.13 - OID.1.3.14.3.2.29 - DSA - 1.2.840.113549.1.1.5 - SHA-1/DSA - OID.1.2.840.113549.1.1.12 - OID.1.2.840.113549.1.1.2 - Service Type: MessageDigest - SHA-512 - SHA1 - MD2 - SHA - SHA-256 - SHA-1 - MD5 - SHA-384 - Service Type: KeyStore - PKCS12 - CaseExactJKS - JKS - JCEKS - Service Type: SecureRandom - NativePRNG - SHA1PRNG - Service Type: KeyPairGenerator - RSA - DSA - 1.2.840.113549.1.1 - 1.2.840.10040.4.1 - OID.1.2.840.113549.1.1 - OID.1.2.840.113549.1.3.1 - DiffieHellman - DH - 1.2.840.113549.1.3.1 - 1.3.14.3.2.12 - OID.1.2.840.10040.4.1 - Service Type: CertificateFactory - X509 - X.509 - Service Type: Provider - id - Service Type: SaslClientFactory - PLAIN - EXTERNAL - CRAM-MD5 - DIGEST-MD5 - GSSAPI - Service Type: KeyManagerFactory - SunX509 - NewSunX509 - Service Type: AlgorithmParameters - PBEWithMD5AndDES - Blowfish - PBEWithSHA1AndDESede - PBE - PBEWithSHA1AndRC2_40 - TripleDES - 1.2.840.113549.1.12.1.3 - 1.2.840.10040.4.1 - DESede - 1.2.840.113549.1.12.1.6 - Rijndael - OID.1.2.840.113549.1.12.1.6 - OAEP - OID.1.2.840.113549.1.3.1 - DiffieHellman - PBEWithMD5AndTripleDES - DH - 1.3.14.3.2.12 - OID.1.2.840.113549.1.5.3 - DSA - OID.1.2.840.113549.1.12.1.3 - AES - 1.2.840.113549.1.3.1 - 1.2.840.113549.1.5.3 - DES - RC2 - Service Type: KeyAgreement - DiffieHellman - OID.1.2.840.113549.1.3.1 - DH - 1.2.840.113549.1.3.1 - Service Type: SecretKeyFactory - PBEWithMD5AndDES - OID.1.2.840.113549.1.12.1.6 - PBEWithSHA1AndDESede - PBEWithMD5AndTripleDES - PBKDF2WithHmacSHA1 - PBE - PBEWithSHA1AndRC2_40 - TripleDES - 1.2.840.113549.1.12.1.3 - OID.1.2.840.113549.1.5.3 - 1.2.840.113549.1.5.12 - OID.1.2.840.113549.1.5.12 - DESede - OID.1.2.840.113549.1.12.1.3 - 1.2.840.113549.1.12.1.6 - 1.2.840.113549.1.5.3 - DES - Service Type: GssApiMechanism - 1.2.840.113554.1.2.2 - Service Type: KeyFactory - RSA - DSA - 1.2.840.113549.1.1 - 1.2.840.10040.4.1 - OID.1.2.840.113549.1.1 - DiffieHellman - OID.1.2.840.113549.1.3.1 - DH - 1.2.840.113549.1.3.1 - 1.3.14.3.2.12 - Service Type: SaslServerFactory - CRAM-MD5 - DIGEST-MD5 - GSSAPI - Service Type: CertPathBuilder - PKIX - - at it.loway.tpf.transaction.cs.CryLicMan.validate(Unknown Source) - at it.loway.tpf.transaction.cs.CryFeatIniter.verify(Unknown Source) - at it.loway.app.queuemetrics.autenticazione.testNLicMod.doRun(Unknown Source) - 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.doPost(Unknown Source) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) - at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) - 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:275) - 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:213) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) - at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) - at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) - at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) - at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) - at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) - at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) - at java.lang.Thread.run(Thread.java:595) - -- End Inner Exception -- - - at it.loway.tpf.transaction.cs.CryFeatIniter.verify(Unknown Source) - at it.loway.app.queuemetrics.autenticazione.testNLicMod.doRun(Unknown Source) - 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.doPost(Unknown Source) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) - at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) - at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) - 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:275) - 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:213) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) - at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) - at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) - at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) - at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) - at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) - at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) - at java.lang.Thread.run(Thread.java:595) - -- End Inner Exception -- - "
After issuing a F5/Ctrl-R i got

Quote
Your user session has expired. The webapp will restart automatically in a few seconds.



3/ Error Messages Language
Also a translation of error and log messages from italian to english would be quite usefull,
since not everyone speak italian fluently.

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: Queue direction and session reset
« Reply #1 on: June 14, 2008, 14:07:25 »
About #1, the problem is that you should not run a report for both inbound and outbound together, unless you just want to count calls. This is because the Wait times make no sense matching together (in inbound you decide when to answer, in outbound you cannot).

About #2, this is strange and we cannot reproduce the problem. We're filing this as a bug. #408

About #3, we'll have to change that :)

silmaril

  • Newbie
  • *
  • Posts: 13
  • Karma: 0
    • View Profile
    • Email
Re: Queue direction and session reset
« Reply #2 on: June 14, 2008, 17:42:18 »
Ok i got the #2, i had made the update from 1.4.3 to 1.4.4 the wrong way, which hasn't helped.
But tomcat is at fault too, he didn't rebuild his jsp cache, don't know why.

For the #1, yes some number aren't valid in this case, but the number of calls, length of calls are.
And anyway there is a "answered calls per direction" table, what is the use if not for this kind of thing ?

This point me to my number #4: is there a way to customize the report view (ie remove some tables)

EDIT: for the #2 in fact for grouped queue, inbound calls are correctly shown as is, it's outbond calls that
have 'Undefined' for direction. strange
« Last Edit: June 14, 2008, 17:46:41 by silmaril »

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: Queue direction and session reset
« Reply #3 on: June 16, 2008, 10:09:52 »
Did you do the update manually or using yum?

QueueMetrics

  • Loway
  • Hero Member
  • *
  • Posts: 2999
  • Karma: 39
    • View Profile
    • QueueMetrics
Re: Queue direction and session reset
« Reply #4 on: June 17, 2008, 16:30:36 »
So please confirm - do you still have error #2?