Здравствуйте.
Обнаружилась неприятная проблема с тарификацией VoIP звонков.
Заключается в следующем:
Если в тарифно плане использовать только тарификацию по префиксам (без использования зон), то при попытке посмотреть наработку у клиента три раза возникает "Неизвестная ошибка", в лог (server.error.log) пишеться следующее:
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - java.lang.NullPointerException
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at java.math.BigDecimal.add(BigDecimal.java:1064)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at bitel.billing.server.voiceip.bean.VoiceIpReportUtils.addLoginsAmounts(VoiceIpReportUtils.java:77)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at bitel.billing.server.call.ActionLoginsAmount.amounts(ActionLoginsAmount.java:46)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at bitel.billing.server.call.ActionLoginsAmount.doAction(ActionLoginsAmount.java:19)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at bitel.billing.server.Executer.doModule(Executer.java:740)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at bitel.billing.server.Executer.doPost(Executer.java:190)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:37)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
server 07-01/12:12:42 ERROR [http-8443-1] LoggingPrintStream - at java.lang.Thread.run(Thread.java:619)
Я думаю, что это происходит из-за наличия в log_session_ записей с zone=-1
По крайней мере у клиентов с зоновой тарификацией с полями zone!=-1 такого не наблюдается.
Спасибо.
|