====== Installing BigBlueButton ====== Follow the instruction given here (http://code.google.com/p/bigbluebutton/wiki/InstallingBigBlueButton). The installation steps are given for ubuntu OS. If you are not using a VM then skip the networking part ( ie. Check if you have a internet connection section in the document). Please set up a dev environment and also verify the configuration changes as per the instructions below so that the BBB server is completely set up and ready. After you are done with the installation, please make sure the following configuration changes are made so that voice conference creates no issues. - https://wiki.exphosted.com/doku.php?id=installing_bigbluebutton#bbb_configuration_changes Note - When download the red5-0.9.1.taz.gz, make sure that it is from the URL specified in the instuctions. This is a bigger file than standard red5-0.9.1 and this is needed for BBB setup. ====== Setting up the development environment ====== ==== BBB 1.1 ==== https://wiki.exphosted.com/doku.php?id=setup_and_deploy_bbb_11 ==== BBB 1.0 ==== https://wiki.exphosted.com/doku.php?id=setup_and_deploy_bbb_10 ==== BBB 0.9 ==== Please look at the following links for BBB 0.9 installation steps on ubuntu machine: https://github.com/ehomework/bigbluebutton-fork/wiki/How-to-install-BigBlueButton-0.9.0-beta https://www.unixmen.com/install-bigbluebutton-web-conferencing-system-ubuntu/ http://docs.bigbluebutton.org/install/install.html ==== BBB 0.8 ==== https://wiki.exphosted.com/doku.php?id=setup_bbb_server Please look at - http://code.google.com/p/bigbluebutton/wiki/08SettingDevEnvironment for the instructions to setup the dev environment of bbb0.8. One point to note is that the setup steps and commands are explained here considering that you are setting up the bbb as a user 'firstuser' on the VM. Edit the bbb-conf file and replace 'firstuser' with your username on the VM. **Note - ** To change all of BigBlueButton's configuration files to use a different IP address or hostname, use sudo bbb-conf --setip Also, These commands can be used while configuring - http://code.google.com/p/bigbluebutton/wiki/BBBConf ==== BBB 0.71 ==== The following instructions hold good for bbb 0.71 Check Out the Source Code Type the following command to checkout BigBlueButton from our github repository. (ensure that you have git installed ) bbb-conf --checkout This will checkout into /home//dev/source/bigbluebutton directory Install Flexsdk wget http://fpdownload.adobe.com/pub/flex/sdk/builds/flex3/flex_sdk_3.4.0.9271.zip mkdir -p /opt/flexsdk mv flex_sdk_3.4.0.9271.zip /opt/flexsdk/. unzip flex_sdk_3.4.0.9271.zip rm -rf flex_sdk_3.4.0.9271.zip create a new environment variable FLEX_HOME and point to /opt/flexsdk directory. Also append /opt/flexsdk/bin to PATH on ubuntu this can be done by editing /etc/environment. Open the /etc/environment file and change the PATH to include /opt/flexsdk/bin Add a new line with FLEX_HOME="/opt/flexsdk" Make sure that the current user has read permission on /opt/flexsdk and /tmp/Adobe directories. To setup a development environment for bbb-client, enter the following command bbb-conf --setup-dev client This will setup some directories and modify nginx config to use your development client. Everything is now setup to compile bbb-client. To compile the client: cd ~/dev/source/bigbluebutton/bigbluebutton-client ant To apply our branding: ant branding -DthemeFile=live_event.css if ant is not available on the system then apt-get install ant The compilation might take some time. In case you get 'Error: PermGen space' then export ANT_OPTS=-XX:MaxPermSize=512m and recompile. Once the compilation is over. Open a browser and point to http://ip-address-or-hostname and join a meeting. **Debugging Tips** 1. Make sure that the client config file (/bigbluebutton/bigbluebutton-client/src/config/conf.xml) has the IP address on the local VM. If it is not then change and recompile the client. 2. If you get a 404 error on launching client then, make sure that the application is pointing to the correct directory in /etc/nginx/sites-enabled/bigbluebutton file. ie /home//dev/source/bigbluebutton/bigbluebutton-client directory. ====== BBB Configuration Changes ====== **1. Voice conference related configuration (both BBB - 0.71 && 0.8)** In BigBlueButton 0.7, Asterisk was configured to use any 5-digit conference number. However, for BigBlueButton 0.71, FreeSWITCH is configured to use any 5-digit number that begins with 7 (i.e. 7XXXX). To configure FreeSWITCH to accept any n-digit conference number, in /opt/freeswitch/conf/dialplan/public.xml change to and then restart FreeSWITCH. sudo /etc/init.d/freeswitch restart __Disabling the music which is not required -__ For FreeSWITCH, comment out the following entries in the wideband profile in /opt/freeswitch/conf/autoload_configs/conference.conf.xml For more info - http://wiki.freeswitch.org/wiki/Mod_conference. If you are using Asterisk - http://www.voip-info.org/wiki/view/Asterisk+cmd+MeetMe Now , restart bbb sudo bbb-conf --restart **2. Mount Recordings directory of BBB on crossbow machine** Please mount the /var/bigbluebutton/recording/publish/slides directory of BBB server on to the machine which runs crossbow and add this in the bigbluebutton.yml file as "recording_dir" entry. Please create 'slides' directory if does not exist already. The crossbow app should be able to copy files from here. (read access is needed to this directory). __Open Issue__ When we join the voice conference, we could hear others but with a lot of echoing and discrepancy. A little search in the BBB FAQs said that "This may happen when some one using a laptop joins the voice conf without head set.", but nothing like that was observed. The echoing is there on the demo meeting of BBB too. So, it might be fixed in future releases. **3. BBB client configuration** The bbb client can be configured by changing the settings in the config.xml of client. We can change the branding of the client, help url link and also load only the modules required for us. The changes are made as per out need and are present at - (https://repos.exphosted.com/svnrepos/collaboration/bbb/trunk/) Find the instructions to setup the dev environment of your bbb version here - http://code.google.com/p/bigbluebutton/wiki/DevelopingBBB Replace the /dev/source/bigbluebutton/bigbluebutton-client directory with this to see our customized client. Recompile the client. * More information about client configuration - [[http://code.google.com/p/bigbluebutton/wiki/ClientConfiguration]] ====== Configuring the API for Crossbow App ======= The crossbow app communicates with BBB through the API exposed by BBB. The communication happens via the plugin 'bigbluebutton'. The configuration settings are present in rails_app/config/bigbluebutton.yml please run "sudo bbb-conf --salt" on the machine with BBB. You would find two entries URL and Salt. base_url: http://192.168.7.10 (The URL of the BBB server without '/bigbluebutton' or the proxy url) checksum: e0389bc9ee779cc970415bcd7802053b (Salt value) dialin_number: 613-555-1234 (this is optional to have. Should be the dialin number configured on bbb. Can be ignored for now.) recording_dir: /deploy/crossbow/shared/bbb_recordings (location to which BBB machine's "/var/bigbluebutton/recording/publish/slides" is mounted to) Note: Please make sure "/var/bigbluebutton/recording/publish/slides" directory of BBB server is mounted on the machine where crossbow app is running and that location is mentioned in the above bigbluebutton.yml file. (Please create 'slides' directory if does not exist already.) The process running the crossbow server should have a read access to this directory. ====== SettingUp IDE ============ Please find the instructions on how to setup an IDE and remotely access the code - http://code.google.com/p/bigbluebutton/wiki/DevelopingBBB We can use flash builder for development. One key point to note is 0.71 version of BBB client uses flexsdk version 3.5 To configure flash builder 4.5 to use flexsdk version 3.5 - Install flash builder 4.5 - Download Adobe flex sdk 3.5 from http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3 - unzip this to C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks - Open your flash builder. Go to Windows > Preferences > installedflexsdks. Now add the unzipped flex sdk directory here and check it to make it as default directory. - You could now import the project here. Make sure to use flexsdk 3.5 when you are importing the project. You can verify this after importing the project by going to Project > preferences > flexcompiler => see flexsdks.