Few things i would like to see fixed/enhanced in queuemetrics as of now:
1/ Queue DirectionIn 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 restartWhen 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):
"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
Your user session has expired. The webapp will restart automatically in a few seconds.
3/ Error Messages LanguageAlso a translation of error and log messages from italian to english would be quite usefull,
since not everyone speak italian fluently.