Classroom odd behaviors

Hello,

i’ve deployed Openvidu on my Linux server (Ubuntu 16.04) connection is fine and i can join calls on the main page at https//mylocalIP between multiple pcs.

Now i’ve installed the classroom demo at port 5000 and are able to log in just fine.

The problems i have are: if i log as teacher and start a lesson all i see is the gray bar on the top screen with lesson name and mic/camera/fullscreen option. but there is only a white background and no camera feed.
Also students account seems to log on a different istance of the server since thay cant join calls even if i’m connected as a teacher inside (receiving “teacher not started yet” error) and also can’t see new lessons ( but if i create a new lesson as teacher from a pc than connect with the same teacher account from another i can see my new lesson)

Thanks for any help, im not quite familiar whit server sided tech :slight_smile:

EDIT:

after some research i’ve found this error when i join a session as a teacher
{"exception":"io.openvidu.java.client.OpenViduJavaClientException","cause":{"cause":null,"stackTrace":[{"methodName":"socketConnect","fileName":"PlainSocketImpl.java","lineNumber":-2,"className":"java.net.PlainSocketImpl","nativeMethod":true},{"methodName":"doConnect","fileName":"AbstractPlainSocketImpl.java","lineNumber":350,"className":"java.net.AbstractPlainSocketImpl","nativeMethod":false},{"methodName":"connectToAddress","fileName":"AbstractPlainSocketImpl.java","lineNumber":206,"className":"java.net.AbstractPlainSocketImpl","nativeMethod":false},{"methodName":"connect","fileName":"AbstractPlainSocketImpl.java","lineNumber":188,"className":"java.net.AbstractPlainSocketImpl","nativeMethod":false},{"methodName":"connect","fileName":"SocksSocketImpl.java","lineNumber":392,"className":"java.net.SocksSocketImpl","nativeMethod":false},{"methodName":"connect","fileName":"Socket.java","lineNumber":607,"className":"java.net.Socket","nativeMethod":false},{"methodName":"connectSocket","fileName":"SSLConnectionSocketFactory.java","lineNumber":368,"className":"org.apache.http.conn.ssl.SSLConnectionSocketFactory","nativeMethod":false},{"methodName":"connect","fileName":"DefaultHttpClientConnectionOperator.java","lineNumber":142,"className":"org.apache.http.impl.conn.DefaultHttpClientConnectionOperator","nativeMethod":false},{"methodName":"connect","fileName":"PoolingHttpClientConnectionManager.java","lineNumber":374,"className":"org.apache.http.impl.conn.PoolingHttpClientConnectionManager","nativeMethod":false},{"methodName":"establishRoute","fileName":"MainClientExec.java","lineNumber":393,"className":"org.apache.http.impl.execchain.MainClientExec","nativeMethod":false},{"methodName":"execute","fileName":"MainClientExec.java","lineNumber":236,"className":"org.apache.http.impl.execchain.MainClientExec","nativeMethod":false},{"methodName":"execute","fileName":"ProtocolExec.java","lineNumber":186,"className":"org.apache.http.impl.execchain.ProtocolExec","nativeMethod":false},{"methodName":"execute","fileName":"RetryExec.java","lineNumber":89,"className":"org.apache.http.impl.execchain.RetryExec","nativeMethod":false},{"methodName":"execute","fileName":"RedirectExec.java","lineNumber":110,"className":"org.apache.http.impl.execchain.RedirectExec","nativeMethod":false},{"methodName":"doExecute","fileName":"InternalHttpClient.java","lineNumber":185,"className":"org.apache.http.impl.client.InternalHttpClient","nativeMethod":false},{"methodName":"execute","fileName":"CloseableHttpClient.java","lineNumber":83,"className":"org.apache.http.impl.client.CloseableHttpClient","nativeMethod":false},{"methodName":"execute","fileName":"CloseableHttpClient.java","lineNumber":108,"className":"org.apache.http.impl.client.CloseableHttpClient","nativeMethod":false},{"methodName":"execute","fileName":"CloseableHttpClient.java","lineNumber":56,"className":"org.apache.http.impl.client.CloseableHttpClient","nativeMethod":false},{"methodName":"getSessionIdHttp","fileName":"Session.java","lineNumber":473,"className":"io.openvidu.java.client.Session","nativeMethod":false},{"methodName":"<init>","fileName":"Session.java","lineNumber":57,"className":"io.openvidu.java.client.Session","nativeMethod":false},{"methodName":"createSession","fileName":"OpenVidu.java","lineNumber":131,"className":"io.openvidu.java.client.OpenVidu","nativeMethod":false},{"methodName":"createSession","fileName":"SessionController.java","lineNumber":83,"className":"io.openvidu.classroom.demo.session_manager.SessionController","nativeMethod":false},{"methodName":"invoke0","fileName":"NativeMethodAccessorImpl.java","lineNumber":-2,"className":"sun.reflect.NativeMethodAccessorImpl","nativeMethod":true},{"methodName":"invoke","fileName":"NativeMethodAccessorImpl.java","lineNumber":62,"className":"sun.reflect.NativeMethodAccessorImpl","nativeMethod":false},{"methodName":"invoke","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":43,"className":"sun.reflect.DelegatingMethodAccessorImpl","nativeMethod":false},{"methodName":"invoke","fileName":"Method.java","lineNumber":498,"className":"java.lang.reflect.Method","nativeMethod":false},{"methodName":"doInvoke","fileName":"InvocableHandlerMethod.java","lineNumber":189,"className":"org.springframework.web.method.support.InvocableHandlerMethod","nativeMethod":false},{"methodName":"invokeForRequest","fileName":"InvocableHandlerMethod.java","lineNumber":138,"className":"org.springframework.web.method.support.InvocableHandlerMethod","nativeMethod":false},{"methodName":"invokeAndHandle","fileName":"ServletInvocableHandlerMethod.java","lineNumber":102,"className":"org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod","nativeMethod":false},{"methodName":"invokeHandlerMethod","fileName":"RequestMappingHandlerAdapter.java","lineNumber":892,"className":"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter","nativeMethod":false},{"methodName":"handleInternal","fileName":"RequestMappingHandlerAdapter.java","lineNumber":797,"className":"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter","nativeMethod":false},{"methodName":"handle","fileName":"AbstractHandlerMethodAdapter.java","lineNumber":87,"className":"org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter","nativeMethod":false},{"methodName":"doDispatch","fileName":"DispatcherServlet.java","lineNumber":1038,"className":"org.springframework.web.servlet.DispatcherServlet","nativeMethod":false},{"methodName":"doService","fileName":"DispatcherServlet.java","lineNumber":942,"className":"org.springframework.web.servlet.DispatcherServlet","nativeMethod":false},{"methodName":"processRequest","fileName":"FrameworkServlet.java","lineNumber":1005,"className":"org.springframework.web.servlet.FrameworkServlet","nativeMethod":false},{"methodName":"doPost","fileName":"FrameworkServlet.java","lineNumber":908,"className":"org.springframework.web.servlet.FrameworkServlet","nativeMethod":false},{"methodName":"service","fileName":"HttpServlet.java","lineNumber":660,"className":"javax.servlet.http.HttpServlet","nativeMethod":false},{"methodName":"service","fileName":"FrameworkServlet.java","lineNumber":882,"className":"org.springframework.web.servlet.FrameworkServlet","nativeMethod":false},{"methodName":"service","fileName":"HttpServlet.java","lineNumber":741,"className":"javax.servlet.http.HttpServlet","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":231,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":166,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"WsFilter.java","lineNumber":53,"className":"org.apache.tomcat.websocket.server.WsFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":193,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":166,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":320,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"invoke","fileName":"FilterSecurityInterceptor.java","lineNumber":127,"className":"org.springframework.security.web.access.intercept.FilterSecurityInterceptor","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterSecurityInterceptor.java","lineNumber":91,"className":"org.springframework.security.web.access.intercept.FilterSecurityInterceptor","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ExceptionTranslationFilter.java","lineNumber":119,"className":"org.springframework.security.web.access.ExceptionTranslationFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"SessionManagementFilter.java","lineNumber":137,"className":"org.springframework.security.web.session.SessionManagementFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"AnonymousAuthenticationFilter.java","lineNumber":111,"className":"org.springframework.security.web.authentication.AnonymousAuthenticationFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"SecurityContextHolderAwareRequestFilter.java","lineNumber":170,"className":"org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"RequestCacheAwareFilter.java","lineNumber":63,"className":"org.springframework.security.web.savedrequest.RequestCacheAwareFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"BasicAuthenticationFilter.java","lineNumber":158,"className":"org.springframework.security.web.authentication.www.BasicAuthenticationFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"LogoutFilter.java","lineNumber":116,"className":"org.springframework.security.web.authentication.logout.LogoutFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"HeaderWriterFilter.java","lineNumber":74,"className":"org.springframework.security.web.header.HeaderWriterFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"SecurityContextPersistenceFilter.java","lineNumber":105,"className":"org.springframework.security.web.context.SecurityContextPersistenceFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"WebAsyncManagerIntegrationFilter.java","lineNumber":56,"className":"org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":334,"className":"org.springframework.security.web.FilterChainProxy$VirtualFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"FilterChainProxy.java","lineNumber":215,"className":"org.springframework.security.web.FilterChainProxy","nativeMethod":false},{"methodName":"doFilter","fileName":"FilterChainProxy.java","lineNumber":178,"className":"org.springframework.security.web.FilterChainProxy","nativeMethod":false},{"methodName":"invokeDelegate","fileName":"DelegatingFilterProxy.java","lineNumber":357,"className":"org.springframework.web.filter.DelegatingFilterProxy","nativeMethod":false},{"methodName":"doFilter","fileName":"DelegatingFilterProxy.java","lineNumber":270,"className":"org.springframework.web.filter.DelegatingFilterProxy","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":193,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":166,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"RequestContextFilter.java","lineNumber":99,"className":"org.springframework.web.filter.RequestContextFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":193,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":166,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"FormContentFilter.java","lineNumber":92,"className":"org.springframework.web.filter.FormContentFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":193,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":166,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"HiddenHttpMethodFilter.java","lineNumber":93,"className":"org.springframework.web.filter.HiddenHttpMethodFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":193,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":166,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilterInternal","fileName":"CharacterEncodingFilter.java","lineNumber":200,"className":"org.springframework.web.filter.CharacterEncodingFilter","nativeMethod":false},{"methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":107,"className":"org.springframework.web.filter.OncePerRequestFilter","nativeMethod":false},{"methodName":"internalDoFilter","fileName":"ApplicationFilterChain.java","lineNumber":193,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"doFilter","fileName":"ApplicationFilterChain.java","lineNumber":166,"className":"org.apache.catalina.core.ApplicationFilterChain","nativeMethod":false},{"methodName":"invoke","fileName":"StandardWrapperValve.java","lineNumber":200,"className":"org.apache.catalina.core.StandardWrapperValve","nativeMethod":false},{"methodName":"invoke","fileName":"StandardContextValve.java","lineNumber":96,"className":"org.apache.catalina.core.StandardContextValve","nativeMethod":false},{"methodName":"invoke","fileName":"AuthenticatorBase.java","lineNumber":490,"className":"org.apache.catalina.authenticator.AuthenticatorBase","nativeMethod":false},{"methodName":"invoke","fileName":"StandardHostValve.java","lineNumber":139,"className":"org.apache.catalina.core.StandardHostValve","nativeMethod":false},{"methodName":"invoke","fileName":"ErrorReportValve.java","lineNumber":92,"className":"org.apache.catalina.valves.ErrorReportValve","nativeMethod":false},{"methodName":"invoke","fileName":"StandardEngineValve.java","lineNumber":74,"className":"org.apache.catalina.core.StandardEngineValve","nativeMethod":false},{"methodName":"service","fileName":"CoyoteAdapter.java","lineNumber":343,"className":"org.apache.catalina.connector.CoyoteAdapter","nativeMethod":false},{"methodName":"service","fileName":"Http11Processor.java","lineNumber":408,"className":"org.apache.coyote.http11.Http11Processor","nativeMethod":false},{"methodName":"process","fileName":"AbstractProcessorLight.java","lineNumber":66,"className":"org.apache.coyote.AbstractProcessorLight","nativeMethod":false},{"methodName":"process","fileName":"AbstractProtocol.java","lineNumber":834,"className":"org.apache.coyote.AbstractProtocol$ConnectionHandler","nativeMethod":false},{"methodName":"doRun","fileName":"NioEndpoint.java","lineNumber":1415,"className":"org.apache.tomcat.util.net.NioEndpoint$SocketProcessor","nativeMethod":false},{"methodName":"run","fileName":"SocketProcessorBase.java","lineNumber":49,"className":"org.apache.tomcat.util.net.SocketProcessorBase","nativeMethod":false},{"methodName":"runWorker","fileName":"ThreadPoolExecutor.java","lineNumber":1149,"className":"java.util.concurrent.ThreadPoolExecutor","nativeMethod":false},{"methodName":"run","fileName":"ThreadPoolExecutor.java","lineNumber":624,"className":"java.util.concurrent.ThreadPoolExecutor$Worker","nativeMethod":false},{"methodName":"run","fileName":"TaskThread.java","lineNumber":61,"className":"org.apache.tomcat.util.threads.TaskThread$WrappingRunnable","nativeMethod":false},{"methodName":"run","fileName":"Thread.java","lineNumber":748,"className":"java.lang.Thread","nativeMethod":false}],"message":"Connessione rifiutata (Connection refused)","localizedMessage":"Connessione rifiutata (Connection refused)","suppressed":[]},"error":"Connect to localhost:4443 [localhost/127.0.0.1] failed: Connessione rifiutata (Connection refused)"}

Is it you are running openvidu server when you run your classroom in localhost and also check port and url in classroom properties’ .
I hope your problems would be solve
Thanks

It seems you have connection problems between classroom demo and OpenVidu platform container.

Thank you. I forgot i had to change the app prop with the specified ports. Now it works :slight_smile:

1 Like