Customized version

The virtual office is customized to your trade mark, colors and commercial offers: lay-out, subscriptions and prices. End users don't notice they use a private label version hosted on our or your servers.

ContactOffice is a virtual office allowing individuals and (leisure or work) groups to organize, communicate and collaborate. A virtual office comprises a set of tools (Messaging, Documents, Address book, Agenda, etc.) and can be accessed from computers, smartphones, tablets, etc.

The total cost depends of the following factors:
  • Number of users
  • Subscriptions capacities
  • Integration level (Single Sign-On, LDAP, etc.)
  • Hosting plan: our servers (Cloud model) or your servers (license model)
Test our standard solution for free, without time limit: Free registration.

To get a quote, please contact: :

Patrick De Schutter
sales(-at-)contactoffice.com
+ 32 2 647 92 35

More info? Error


Error !

An exception of type org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: [15] in the generated java file: [/var/lib/tomcat8/work/Catalina/localhost/ROOT/org/apache/jsp/virtual_002doffice/en/includes/include_005fquote_005frequest_jsp.java] Only a type can be imported. nl.captcha.Captcha resolves to a package Stacktrace: was thrown with the following trace :

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: [15] in the generated java file: [/var/lib/tomcat8/work/Catalina/localhost/ROOT/org/apache/jsp/virtual_002doffice/en/includes/include_005fquote_005frequest_jsp.java]
Only a type can be imported. nl.captcha.Captcha resolves to a package

Stacktrace:
	at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
	at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:212)
	at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:574)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:381)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
	at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:597)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:591)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:527)
	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:868)
	at org.apache.jsp.virtual_002doffice.en.product.versions.private_002dlabel_jsp._jspService(private_002dlabel_jsp.java:2675)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at com.contactoffice.util.filters.RootFilter.doFilter(RootFilter.java:78)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at fr.xebia.servlet.filter.XForwardedFilter.doFilter(XForwardedFilter.java:906)
	at fr.xebia.servlet.filter.XForwardedFilter.doFilter(XForwardedFilter.java:922)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at com.contactoffice.security.tomcat.COValve.invoke(COValve.java:45)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)