Installing videoconference in Chamilo and D0keos

Fuente: http://www.dokeos.com/wiki/index.php/Installing_videoconference

Contents

  • 1 Introduction
  • 2 Pre-Installation
  • 3 Dokeos 1.8.3: New videoconference system
  • 4 Streaming Service
  • 5 Installing VideoConference OpenLaszlo/Client
  • 6 Connecting , Openlaszlo and Dokeos
  • 7 Troubleshooting
    • 7.1 I use https …
    • 7.2 I use a subdirectory of the DocumentRoot…
    • 7.3 NetConnection.Connect.InvalidApp

Introduction

The videoconference tool is composed of three components: – The Apache 2 Jk module (Tomcat) – The Red5 server (open-source substitute for the Flash server dealing with the central processing of videoconf communication data) – The OpenLazslo server (dealing with the user interface generation, display and interaction)

These three components can be used from separate servers, and the Tomcat server should be able to get requests on a different port from the normal Apache server that serves the Dokeos application. This means that, if you want to provide an all-on-port-80 server you need either two different servers, or one server with two different network interfaces (or two different IP addresses).

The following guide is an evoluting attempt at helping you install these three components on your servers.

Pre-Installation

Dependencies: JDK 1.5
JAVA_HOME must be set. This generally involves knowing how to configure the JDK on your system. Ask for assistance for system administrators to do that.

ooservice (OpenOffice.org) must be up and listening in headless mode on port 2002 on localhost. Headless mode means that the application runs but doesn’t use a graphical interface, so you can run it on a server. More info on starting OpenOffice.org server in headless mode can be found on this page MakeOOOListening

The OpenLaszlo server and ooservice must be on the same physical server.

Apache should be up and running with the jk_mod module already installed.

Dokeos 1.8.3: New videoconference system

Stating from 1.8.3 you don’t need Openlazlo anymore. In order to install videoconference now, you should always install red5 and Dokeos application for red5. Into videoconference administration page of dokeos, you should enter ip address and port of the red5 servers. The urls you have to enter are now:

  • for the audio recorder, inside oogie tabs: /main/webrooms/recorder.swf
  • for videoconference: /main/webrooms/videoconference.html and /main/webrooms/videoconference2.html

Take care that this new videoconference system should not be used at the present time into a production environment.

Streaming Service

Installing Red5
On Linux-Environment:

File: $RED5_HOME/conf/red5.porperties

 rtmp.host_port = 0.0.0.0:1935   # this is the default port of rtmp
 rtmp.threadcount = 4
 debug_proxy.host_port = 0.0.0.0:1936
 proxy_forward.host_port = 127.0.0.1:1935
 rtmps.host_port = 127.0.0.1:1945
 http.host=0.0.0.0
 http.port=5080         #this is the port of the HTTP-Interface
 rtmpt.host=<your public ip for streaming which must be different from the one apache is using>
 rtmpt.port=80          #this is the port of the rtmpt (HTTP-Tunnel)

If one if these ports is smaller than 1024, you will probably need to start the service as root as your system may otherwise prevent you to do so. You have to make sure that there is no other service already running on any of those ports or you won’t be able to startup

  • Securing the streaming service

Browse to: $RED5_HOME/webapps/dokeos/WEB-INF/red5-web.properties Alter the following line:

 webapp.virtualHosts=*,localhost, 127.0.0.1

The * means every host can connect to this streaming server. Alter the * to set your client application’s domain address, so no third party applications can connect to your streaming service.

Do the same thing for $RED5_HOME/webapps/dokeosrecorder/WEB-INF/red5-web.properties

  • Change password of the administrative interface by editing $RED5_HOME/conf/realm.properties:
 admin: admin,admin

and setting it to your preferences (you can enter the admin interface later by browsing: http://$RED5_HOST:5080/admin).

  • Start the service (on debian use /etc/init.d/red5 start)

Installing VideoConference OpenLaszlo/Client

In a Linux environment:

  • Login into your server as any user except root
  • Get packages: wget http://www.dokeos.com/download/dokeos-openlaszlo-1_8.tar.gz
  • Unzip package
  • Browse to the package
  • Rename package folder name to “lps-latest” (this will be your $LASZLO_HOME)
  • Set JAVA_HOME to fit your JDK Installation by editing the following files:
 $LASZLO_HOME/Server/tomcat-5.0.24/bin/startup.sh
 $LASZLO_HOME/Server/tomcat-5.0.24/bin/shutdown.sh

On line 5 you can find export JAVA_HOME=…. Alter it to fit your system’s settings

  • Make shell scripts executable:
 chmod +x $LASZLO_HOME/Server/tomcat-5.0.24/bin/*.sh
 chmod +x $LASZLO_HOME/ooservice/testoo.sh
  • Start service:
 $LASZLO_HOME/Server/tomcat-5.0.24/bin/startup.sh
  • Browse to the following URLs:
 http://$LASZLO_HOST:8080/lps-latest/      (this tells you if Tomcat works)
 http://$LASZLO_HOST/lps-latest/  or http://$LASZLO_HOST/lps-latest/dokeos/  (this tomcat with Apache works)

Connecting Red5, Openlaszlo and Dokeos

  • Change the host and port of the VideoConferencing client to match your red5.properties. See Chapter: Installing Red5 for your Red5 port properties then edit $LASZLO_HOME/Server/lps-latest/dokeos/videoconference/host.lzx:
 <library>
   <attribute name="rmpthostlocal" value="your_red5_host" type="string" />       

   <attribute name="iswebrtmp" value="false" type="boolean" />   

   <attribute name="rmptport" value="1935" type="string" />      

   <attribute name="rmptTunnelport" value="80" type="string" />
 </library>

where your_red5_host is the host on which you have installed the red5 server.

 Note: these settings (above) will soon be moved to the Dokeos administration interface
  • Edit the dokeos Platfrom administration values as follows:
    • goto your dokeos portal and click the Platfrom Administration tab
    • goto: Visio-conference
    • Enter the following URLs:
 Path to dokeos LiveConferencing:
 /lps-latest/dokeos/videoconference/videoconference.html
 Path to classroom live conferencing:
 /lps-latest/dokeos/videoconference/videoconference2.html
  • Edit the VideoConference to load the session from the Dokeos portal by editing $LPS_HOME/Server/lps-latest/dokeos/videoconference/conference/global/functions.lzx and changing line 72 to:
 <dataset name="getSessionVarsData" request="false" proxied="false"^
       querytype="POST" src="${ 'http://'+canvas.rmpthost+'/main/webrooms/checksession.php' }" ^
       type="http" >^

The /main/webrooms/checksession.php should point to your Dokeos installation. There might be small variations. For example, if you have installed Dokeos in a subdirectory of your Apache’s DocumentRoot, it will be something like /subfolder/main/webrooms/checksession.php.

  • Check your changes:
    • Create a course and browse to the course’s homepage
    • Enter the VideoConference tool

Troubleshooting

Configuring the videoconference tool is clearly much more difficult than the configuring the other parts of Dokeos. If you have a problem, if no one else can help and if you can find it, maybe you can use this section…

I use https …

…and the videoconference doesn’t work (red dot and red cross, displaying “Loading session data”) This might be due (depending on the version you use) to a nasty hardcoded protocol in some Lazslo file. Not a programmer? Please ask around you for people that know at least a bit how to code, and that have heard of JavaScript before.

Go to the lps-latest (as defined above) directory: $LAZSLO_HOME/Server/lps-latest/dokeos/videoconference/conference/global/ and look for a file called functions.lzx. In this file, around line 73, you should find a hardcoded “http://”+ canvas.server + …. Change that http for an https and try that videoconference tool again…

I use a subdirectory of the DocumentRoot…

…for my Dokeos portal and the videoconference tool shows only a red dot and a red cross and says “Loading session data”

(If you’re not technical, find a programmer and ask him to):

  • go into the $LAZSLO_HOME/Server/lps-latest/dokeos/videoconference/ folder and look for *.lzx files. In each of them, look for a line like this:
 server = _url.indexOf(...
  • change the indexOf(“/”,… in there for an indexOf(“/main”,….
  • try the videoconference tool again

NetConnection.Connect.InvalidApp

When starting the videoconference in debug mode, I get an error message saying: NetConnection.Connect.InvalidApp.

Although this message is coming from the Red5 streaming server, you are probably seeing it because you forgot to install the package relative to Red5-combined-with-Dokeos as mentioned in the installation manual (the http://www.dokeos.com/download/dokeos-red5APP-1_8.tar.gz file). Re-read the installation manual.