Merge branch 'master' of github.com:bigbluebutton/bigbluebutton

This commit is contained in:
Richard Alam 2010-10-10 09:24:59 -04:00
commit 9b59058b1b
15 changed files with 196 additions and 149 deletions

View File

@ -4,6 +4,6 @@
<param name="listen-ip" value="127.0.0.1"/>
<param name="listen-port" value="8021"/>
<param name="password" value="ClueCon"/>
<param name="apply-inbound-acl" value="localnet.auto"/>
<!-- param name="apply-inbound-acl" value="localnet.auto"/ -->
</settings>
</configuration>

View File

@ -123,8 +123,13 @@
127 - BV32
-->
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU,G722,PCMA,GSM"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,G722,PCMA,GSM"/>
<!-- BigBlueButton: To use speex, uncomment these two lines and comment the above two lines
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=speex@16000h@20i,speex@8000h@20i,G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=speex@16000h@20i,PCMU,PCMA,GSM"/>
-->
<!--
xmpp_client_profile and xmpp_server_profile

View File

@ -48,3 +48,4 @@
<buildCSSFileEntry destPath="bin" sourcePath="src/branding/css/theme.css"/>
</buildCSSFiles>
</actionScriptProperties>

View File

@ -1,2 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flexProperties enableServiceManager="false" flexServerFeatures="0" flexServerType="0" toolCompile="true" useServerFlexSDK="false" version="1"/>

View File

@ -74,7 +74,6 @@ package org.bigbluebutton.main.model.users
break;
case "hasStream":
hasStream = status.value;
if (hasStream) sendStreamStartedEvent();
break;
case "streamName":
streamName = status.value as String;
@ -108,16 +107,5 @@ package org.bigbluebutton.main.model.users
return n;
}
private function sendStreamStartedEvent():void{
var t:Timer = new Timer(3000, 1);
t.addEventListener(TimerEvent.TIMER, dispatch);
t.start();
}
private function dispatch(e:TimerEvent):void{
var dispatcher:Dispatcher = new Dispatcher();
dispatcher.dispatchEvent(new StreamStartedEvent(this.userid, this.name, this.streamName));
}
}
}

View File

@ -268,7 +268,7 @@ package org.bigbluebutton.main.model.users
connect(_conferenceParameters, tried_tunneling);
});
retryTimer.start();
backoff = backoff *2;
if (this.backoff < 16000) this.backoff = backoff *2;
}
}
}

View File

@ -5,6 +5,8 @@ package org.bigbluebutton.modules.chat.events
public class PublicChatMessageEvent extends Event
{
public static const PUBLIC_CHAT_MESSAGE_EVENT:String = 'PUBLIC_CHAT_MESSAGE_EVENT';
public static const CHAT_TRANSCRIPT_EVENT:String = "CHAT_TRANSCRIPT_EVENT";
public var message:String;
public function PublicChatMessageEvent(type:String, bubbles:Boolean=true, cancelable:Boolean=false)

View File

@ -116,7 +116,7 @@ package org.bigbluebutton.modules.chat.services
*/
public function newChatMessage(message:String):void{
trace("Received New Chat Message " + message);
var event:PublicChatMessageEvent = new PublicChatMessageEvent(PublicChatMessageEvent.PUBLIC_CHAT_MESSAGE_EVENT);
var event:PublicChatMessageEvent = new PublicChatMessageEvent(PublicChatMessageEvent.CHAT_TRANSCRIPT_EVENT);
event.message = message;
var globalDispatcher:Dispatcher = new Dispatcher();
@ -139,7 +139,7 @@ package org.bigbluebutton.modules.chat.services
function(result:Object):void {
LogUtil.debug("Successfully sent message: ");
if (result != null) {
receivedShapesHistory(result);
receivedChatHistory(result);
}
},
// status - On error occurred
@ -153,7 +153,7 @@ package org.bigbluebutton.modules.chat.services
); //_netConnection.call
}
private function receivedShapesHistory(result:Object):void{
private function receivedChatHistory(result:Object):void{
if (result == null) return;
var messages:Array = result as Array;

View File

@ -10,7 +10,6 @@
import be.boulevart.google.events.GoogleApiEvent;
import mx.binding.utils.ChangeWatcher;
import mx.controls.Alert;
[Bindable] private var rolledOver:Boolean = false;
private var dataWatcher:ChangeWatcher;

View File

@ -8,6 +8,7 @@
<mate:Listener type="{PrivateChatMessageEvent.PRIVATE_CHAT_MESSAGE_EVENT}" method="handlePrivateChatMessageEvent"/>
<mate:Listener type="{PublicChatMessageEvent.PUBLIC_CHAT_MESSAGE_EVENT}" method="handlePublicChatMessageEvent"/>
<mate:Listener type="{PublicChatMessageEvent.CHAT_TRANSCRIPT_EVENT}" method="handleChatTranscriptEvent" />
<mate:Listener type="{BBBEvent.SEND_PUBLIC_CHAT_MESSAGE_EVENT}" method="sendMessageReceivedFromBBBEvent"/>
<mate:Listener type="{ChatOptionsEvent.CHANGE_FONT_SIZE}" method="changeFontSize" />
<mate:Listener type="{ChatOptionsEvent.CHANGE_LANGUAGE}" method="changeLanguage" />
@ -347,9 +348,13 @@
return tabBox;
}
private function handleChatTranscriptEvent(event:PublicChatMessageEvent):void{
showMessage(PUBLIC_CHAT_USERID, event.message, false);
}
private function handlePublicChatMessageEvent(event:PublicChatMessageEvent):void {
LogUtil.debug("Got PublicChatMessageEvent");
showMessage(PUBLIC_CHAT_USERID, event.message);
showMessage(PUBLIC_CHAT_USERID, event.message, autoTranslation);
if (!this.focus)
ExternalInterface.call("startblink", ResourceUtil.getInstance().getString('bbb.chat.publicMsgAwaiting'), ResourceUtil.getInstance().getString('bbb.chat.publicMsgAwaiting2'));
globalDispatcher.dispatchEvent(new BBBEvent(BBBEvent.RECEIVED_PUBLIC_CHAT_MESSAGE_EVENT, event.message));
@ -359,7 +364,7 @@
LogUtil.debug("Got PrivateChatMessageEvent");
if (!this.focus)
ExternalInterface.call("startblink", ResourceUtil.getInstance().getString('bbb.chat.privateMsgAwaiting'), ResourceUtil.getInstance().getString('bbb.chat.privateMsgAwaiting2'));
showMessage(event.message.sender, event.message.message);
showMessage(event.message.sender, event.message.message, autoTranslation);
}
private function participantHasChatBox(id:String):Boolean {
@ -372,14 +377,14 @@
return chatTabs.getChildByName(id) as ChatBox;
}
private function showMessage(sender:String, message:String):void{
private function showMessage(sender:String, message:String, translate:Boolean):void{
var chatBox:ChatBox;
if (! participantHasChatBox(sender)) {
chatBox = createChatBoxFor(sender);
}
chatBox = getChatBoxForParticipant(sender);
chatBox.showNewMessage(message, autoTranslation, currentLangCode);
chatBox.showNewMessage(message, translate, currentLangCode);
if (! isChatBoxCurrentlySelected(sender)) {
notifyParticipantOfUnreadMessageFrom(sender);

View File

@ -332,7 +332,7 @@
}
onResetZoom();
reinitWindowToDefaultSize();
this.setFocus();
//this.setFocus();
}
private function displaySlideNavigationControls(show:Boolean):void {

View File

@ -19,6 +19,8 @@
*/
package org.bigbluebutton.modules.videoconf.business
{
import com.asfusion.mate.events.Dispatcher;
import flash.events.AsyncErrorEvent;
import flash.events.IOErrorEvent;
import flash.events.NetStatusEvent;
@ -26,9 +28,14 @@ package org.bigbluebutton.modules.videoconf.business
import flash.net.NetConnection;
import flash.net.NetStream;
import mx.collections.ArrayCollection;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.main.api.UserManager;
import org.bigbluebutton.main.model.users.BBBUser;
import org.bigbluebutton.main.model.users.events.StreamStartedEvent;
import org.bigbluebutton.modules.videoconf.events.StartBroadcastEvent;
import org.bigbluebutton.modules.videoconf.events.StopBroadcastEvent;
import org.bigbluebutton.common.LogUtil;
public class VideoProxy
{
@ -58,6 +65,7 @@ package org.bigbluebutton.modules.videoconf.business
break;
case "NetConnection.Connect.Success":
ns = new NetStream(nc);
openAvailableVideos();
break;
case "NetConnection.Connect.Rejected":
break;
@ -125,6 +133,15 @@ package org.bigbluebutton.modules.videoconf.business
public function onBWDone():void{
}
public function openAvailableVideos():void{
var dispatcher:Dispatcher = new Dispatcher();
var users:ArrayCollection = UserManager.getInstance().getConference().users;
for (var i:int=0; i<users.length; i++){
var user:BBBUser = (users.getItemAt(i) as BBBUser);
if (user.hasStream) dispatcher.dispatchEvent(new StreamStartedEvent(user.userid, user.name, user.streamName));
}
}
}
}

View File

@ -23,13 +23,16 @@
<EventMap xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="http://mate.asfusion.com/">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import org.bigbluebutton.common.LogUtil;
import org.bigbluebutton.main.api.UserManager;
import org.bigbluebutton.main.events.BBBEvent;
import org.bigbluebutton.main.events.MadePresenterEvent;
import org.bigbluebutton.main.events.OpenWindowEvent;
import org.bigbluebutton.main.events.ToolbarButtonEvent;
import org.bigbluebutton.main.model.users.BBBUser;
import org.bigbluebutton.main.model.users.events.BroadcastStartedEvent;
import org.bigbluebutton.main.model.users.events.BroadcastStoppedEvent;
import org.bigbluebutton.main.model.users.events.StreamStartedEvent;
@ -42,6 +45,7 @@
import org.bigbluebutton.modules.videoconf.views.ToolbarButton;
import org.bigbluebutton.modules.videoconf.views.VideoWindow;
import org.bigbluebutton.modules.viewers.events.ViewCameraEvent;
import org.flexunit.runner.manipulation.filters.IncludeAllFilter;
public var module:VideoconfModule;
private var button:ToolbarButton;

View File

@ -1,12 +1,12 @@
#!/bin/bash
#
# Copyright (c) 2008-2009 by BigBlueButton
# Copyright (c) 2008-2010 by BigBlueButton Inc.
#
# This file is part of BigBlueButton - http://www.bigbluebutton.org
#
#
# BigBlueButton is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free Software
# Foundation; either version 3 of the License, or (at your option) any later
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
@ -20,15 +20,15 @@
# Fred Dixon <ffdixon@bigbluebutton.org>
#
# Changelog:
# 2009-10-18 FFD Inital Version
# 2009-11-05 FFD Updated for 0.62
# 2009-12-09 FFD Updated for 0.63
# 2009-12-11 FFD Added ability to swtich conference servers
# 2009-12-12 FFD Added cleaning and watching of log files
# 2010-01-05 FFD Added zipping of log files
# 2010-01-18 FFD Added resetting of environment back to using packages
# 2010-03-02 JRT Added trunk checkout options / fixed bbb-apps instructions
# 2010-04-02 FFD Updated for 0.64
# 2009-10-18 FFD Inital Version
# 2009-11-05 FFD Updated for 0.62
# 2009-12-09 FFD Updated for 0.63
# 2009-12-11 FFD Added ability to swtich conference servers
# 2009-12-12 FFD Added cleaning and watching of log files
# 2010-01-05 FFD Added zipping of log files
# 2010-01-18 FFD Added resetting of environment back to using packages
# 2010-03-02 JRT Added trunk checkout options / fixed bbb-apps instructions
# 2010-04-02 FFD Updated for 0.64
# 2010-06-21 SEB Cleaned up some code / Updated for 0.70
# 2010-06-25 SEB Added ability to change the security salt
# 2010-06-30 SEB Added some extra errorchecking
@ -47,7 +47,7 @@ elif cat /usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml | grep -v '<
VOICE_CONFERENCE="bbb-voice-freeswitch.xml"
fi
IP=$(ifconfig | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{print $1}')
IP=$(ifconfig | grep -v '127.0.0.1' | egrep -m 1 'inet (.*):' | cut -d: -f2 | awk '{ print $1}')
GENTOO=$(uname -r | grep gentoo | cut -d- -f2);
TOMCAT=""
@ -143,7 +143,7 @@ need_root() {
}
usage() {
echo "BigBlueButton Configuration Utility - Version 0.71-dev2"
echo "BigBlueButton Configuration Utility - Version 0.71-dev4"
echo "http://code.google.com/p/bigbluebutton/wiki/BBBConf"
echo
echo "$0 [options]"
@ -162,7 +162,9 @@ usage() {
echo
echo "Administration":
echo " --restart Restart BigBueButton"
echo " --clean Clear all the log files and restart BigBlueButton"
echo " --stop Stop BigBueButton"
echo " --start Start BigBueButton"
echo " --clean Restart and clean all log files"
echo " --zip Zip up log files for reporting an error"
echo
if [ "$(is_vm)" ]; then
@ -220,9 +222,9 @@ uncomment () {
}
stop_bigbluebutton () {
/etc/init.d/red5 stop
/etc/init.d/${TOMCAT} stop
/etc/init.d/nginx stop
/etc/init.d/red5 stop
/etc/init.d/${TOMCAT} stop
/etc/init.d/nginx stop
if [ -a /opt/freeswitch/run/freeswitch.pid ]; then
/etc/init.d/freeswitch stop
@ -245,12 +247,48 @@ start_bigbluebutton () {
/etc/init.d/asterisk start
fi
/etc/init.d/activemq start
echo -n "Waiting for active MQ to start: "
while ! nc -z -w 1 127.0.0.1 61616; do
echo -n "."
sleep 1
done
echo
if [ "$VOICE_CONFERENCE" == "bbb-voice-freeswitch.xml" ]; then
echo -n "Waiting for FreeSwitch to start: "
while ! nc -z -w 1 127.0.0.1 8021; do
echo -n "."
sleep 1
done
echo
else
echo -n "Waiting for Asterisk to start: "
while ! nc -z -w 1 127.0.0.1 5038; do
echo -n "."
sleep 1
done
fi
/etc/init.d/bbb-openoffice-headless start
sleep 5
/etc/init.d/nginx start
/etc/init.d/red5 start
/etc/init.d/${TOMCAT} start
sleep 5
#
# At this point the red5 and tomcat6 applications are starting up.
#
echo -n "Waiting for BigBlueButton to finish starting up: "
NGINX_IP=$(cat /etc/nginx/sites-available/bigbluebutton | sed -n '/server_name/{s/.*name[ ]*//;s/;//;p}')
if ! wget http://$NGINX_IP/bigbluebutton/api -O - --quiet | grep -q SUCCESS; then
echo "Startup unsuccessful"
exit 1
else
echo "... done"
fi
}
display_bigbluebutton_status () {
@ -267,6 +305,16 @@ fi
# Parse the parameters
while [ $# -gt 0 ]; do
if [ "$1" = "-stop" -o "$1" = "--stop" ]; then
stop_bigbluebutton
exit 0
fi
if [ "$1" = "-start" -o "$1" = "--start" ]; then
start_bigbluebutton
exit 0
fi
if [ "$1" = "-check" -o "$1" = "--check" -o "$1" = "-c" ]; then
CHECK=1
shift;shift
@ -342,16 +390,10 @@ while [ $# -gt 0 ]; do
# all other parameters requires at least 1 argument
#
#if [ $# -lt 2 ]; then
#usage
# exit 1
#fi
if [ "$1" = "-setip" -o "$1" = "--setip" ]; then
HOST="${2}"
if [ -z "$HOST" ]; then
echo "HOST IP=$IP"
#echo "PORT=`echo ${2}|cut -d: -f2`"
fi
if echo $HOST|grep -q ":"; then
@ -427,7 +469,6 @@ fi
if [ $SALT ]; then
need_root
# echo $SALT;
change_var_salt /var/lib/$TOMCAT/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties beans.dynamicConferenceService.securitySalt $SALT
echo "Changed the security salt to $SALT"
fi
@ -718,11 +759,10 @@ fi
if [ $RESET_DEV ]; then
check_root
echo "Reseting /etc/nginx/sites-available/bigbluebutton to point to /var/www/bigbluebutton"
sudo sed -i "s/\/home\/firstuser\/dev\/source\/bigbluebutton\/bigbluebutton-client;/\/var\/www\/bigbluebutton;/g" \
/etc/nginx/sites-available/bigbluebutton
sudo /etc/init.d/nginx restart
echo "Reseting /etc/nginx/sites-available/bigbluebutton to point to /var/www/bigbluebutton"
sudo sed -i "s/\/home\/firstuser\/dev\/source\/bigbluebutton\/bigbluebutton-client;/\/var\/www\/bigbluebutton;/g" \
/etc/nginx/sites-available/bigbluebutton
sudo /etc/init.d/nginx restart
fi
check_state() {
@ -730,7 +770,7 @@ check_state() {
print_header
#
# Check for potential problems
# Check for potential problems in the BigBlueButton configuration
#
RUNNING_APPS=""
@ -750,19 +790,19 @@ check_state() {
RUNNING_APPS="${RUNNING_APPS} Red5"
fi
#check asterisk if asterisk has been started
#same for freeswitch
# Check asterisk if asterisk has been started
# same for freeswitch
if [ -a /var/run/asterisk/asterisk.pid ] && [ -a /opt/freeswitch/run/freeswitch.pid ]; then
print_header
echo "Asterisk and Freeswitch are running parallel"
echo "Please run bbb-conf freeswitch or bbb-conf asterisk"
elif [ -a /var/run/asterisk/asterisk.pid ]; then
if ! ps aux | grep -v grep | grep '[/]usr/sbin/asterisk' > /dev/null; then
print_header
NOT_RUNNING_APPS="${NOT_RUNNING_APPS} Asterisk"
else
RUNNING_APPS="${RUNNING_APPS} Asterisk"
fi
if ! ps aux | grep -v grep | grep '[/]usr/sbin/asterisk' > /dev/null; then
print_header
NOT_RUNNING_APPS="${NOT_RUNNING_APPS} Asterisk"
else
RUNNING_APPS="${RUNNING_APPS} Asterisk"
fi
elif [ -a /opt/freeswitch/run/freeswitch.pid ]; then
if ! ps aux | grep -v grep | grep '[/]opt/freeswitch/bin/freeswitch' > /dev/null; then
print_header
@ -827,7 +867,7 @@ check_state() {
#
# Checking red5 apps
# Check red5 applictaions
#
AVAIL_RED5_APPS=""
UNAVAIL_RED5_APPS=""
@ -871,7 +911,7 @@ check_state() {
SALT_DEMO=$(cat /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp | tr -d '\r' | sed -n '/salt =/{s/.* = "//;s/".*//g;p}')
if [ "$SALT_PROPERTIES" != "$SALT_DEMO" ]; then
echo "Salt mismatch: "
echo "Salt mismatch: "
echo " /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties=$SALT_PROPERTIES"
echo " /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp=$SALT_DEMO"
fi
@ -905,7 +945,7 @@ $RED5_DIR/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
echo " $bbb_app did not start properly"
fi
else
echo " " $RED5_DIR/log/$bbb_app.log "not found"
echo " $RED5_DIR/log/$bbb_app.log not found"
fi
done
@ -962,24 +1002,24 @@ $RED5_DIR/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
# Check that the supporting applications are installed
#
VARFolder=$(cat /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties | grep swfToolsDir | cut -d= -f2)
if [ ! -x $VARFolder/pdf2swf ] && [ ! -x $VARFolder/jpeg2swf ] && [ ! -x $VARFolder/png2swf ]; then
echo "pdf2swf, jpeg2swf and png2swf are not installed in $VARFolder"
fi
if [ ! -x $VARFolder/pdf2swf ] && [ ! -x $VARFolder/jpeg2swf ] && [ ! -x $VARFolder/png2swf ]; then
echo "pdf2swf, jpeg2swf and png2swf are not installed in $VARFolder"
fi
VARFolder=$(cat /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties | grep imageMagickDir | cut -d= -f2)
if [ ! -x $VARFolder/convert ]; then
echo "ImageMagick's convert is not installed in $VARFolder"
fi
VARFolder=$(cat /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties | grep imageMagickDir | cut -d= -f2)
if [ ! -x $VARFolder/convert ]; then
echo "ImageMagick's convert is not installed in $VARFolder"
fi
VARFolder=$(cat /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties | grep ghostScriptExec | cut -d= -f2)
if [ ! -x $VARFolder ]; then
echo "Ghostscript is not installd in $VARFolder"
fi
VARFolder=$(cat /var/lib/tomcat6/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties | grep ghostScriptExec | cut -d= -f2)
if [ ! -x $VARFolder ]; then
echo "Ghostscript is not installd in $VARFolder"
fi
#
# Check if the deskshare module is installed but disalbed
#
if dpkg -l | grep -q bbb-apps-deskshare; then
if dpkg -l | grep -q bbb-apps-deskshare; then
if grep -q -i '<!--[ ]*module name="DeskShareModule"' /var/www/bigbluebutton/client/conf/config.xml; then
echo "The DeskShare module is disabled in /var/www/bigbluebutton/client/conf/config.xml."
fi
@ -990,7 +1030,7 @@ $RED5_DIR/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
echo "Deskshare did not start up correctly"
fi
fi
fi
fi
#
# Check if the local server can access the API. This is a common problem when setting up BigBlueButton behind
@ -1010,10 +1050,10 @@ $RED5_DIR/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
# Check that BigBlueButton can connect to port 80, 1935, and 9123
#
if ! nc -z -w 3 $NGINX_IP 80; then
echo
echo "Unable to connect to port 80 on $NGINX_IP"
fi
#if ! nc -z -w 3 $NGINX_IP 80; then
# echo
# echo "Unable to connect to port 80 on $NGINX_IP"
#fi
if ! nc -z -w 3 $NGINX_IP 1935; then
echo
@ -1033,7 +1073,10 @@ $RED5_DIR/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
ESL_HOST=$(cat /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties | grep esl.host | sed 's/esl.host=//g')
if [ "$FREESWITCH_ESL_IP" != "$ESL_HOST" ]; then
echo
echo "The values for event socket layers in /opt/freeswitch/conf/autoload_configs/event_socket.conf.xml do not match the settings for esl.host in /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties"
echo " The values for event socket layers in "
echo " /opt/freeswitch/conf/autoload_configs/event_socket.conf.xml"
echo " do not match the settings for esl.host in"
echo " /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties"
fi
exit 0
@ -1041,10 +1084,8 @@ $RED5_DIR/webapps/sip/WEB-INF/bigbluebutton-sip.properties"
#
# Check current setup
# Print out the status of the current setup and look for bugs.
#
# TODO:
# Check if asterisk and freeswitch are running
if [ $CHECK ]; then
echo "Server"
echo " Kernel version:" `uname -r`
@ -1063,49 +1104,49 @@ if [ $CHECK ]; then
MEM=`free -m | grep Mem | awk '{ print $2}'`
echo " Memory: $MEM MB"
echo
echo "/var/www/bigbluebutton/client/conf/config.xml"
IP=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/porttest /{s/.*host="//;s/".*//;p}')
echo " Port test (tunnel): $IP"
echo
echo "/var/www/bigbluebutton/client/conf/config.xml"
IP=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/porttest /{s/.*host="//;s/".*//;p}')
echo " Port test (tunnel): $IP"
IP=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/uri.*video/{s/.*rtmp:\/\///;s/\/.*//;p}')
echo " Red5: $IP"
IP=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/uri.*video/{s/.*rtmp:\/\///;s/\/.*//;p}')
echo " Red5: $IP"
# HOST=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/recordingHost/{s/.*recordingHost="http:\/\///;s/"//;p}')
# echo " host for bbb-web interface: $HOST"
echo
echo "/etc/nginx/sites-available/bigbluebutton"
IP=$(cat /etc/nginx/sites-available/bigbluebutton | sed -n '/server_name/{s/.*name[ ]*//;s/;//;p}')
echo " server name: $IP"
echo
echo "/etc/nginx/sites-available/bigbluebutton"
IP=$(cat /etc/nginx/sites-available/bigbluebutton | sed -n '/server_name/{s/.*name[ ]*//;s/;//;p}')
echo " server name: $IP"
PORT=$(cat /etc/nginx/sites-available/bigbluebutton | sed -n '/listen/{s/.*listen[ ]*//;s/;//;p}')
echo " port: $PORT"
PORT=$(cat /etc/nginx/sites-available/bigbluebutton | sed -n '/listen/{s/.*listen[ ]*//;s/;//;p}')
echo " port: $PORT"
BBB_CLIENT_DOC_ROOT=$(cat /etc/nginx/sites-available/bigbluebutton | grep \/client -A 1 | head -n 2 | grep root | sed -n '{s/[ ]*root[ ]*//;s/;//;p}')
echo " bbb-client dir: $BBB_CLIENT_DOC_ROOT"
echo " bbb-client dir: $BBB_CLIENT_DOC_ROOT"
IP=$(cat /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties | sed -n '/^bigbluebutton.web.serverURL/{s/.*\///;p}')
echo
echo "/var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)"
echo " bbb-web host: $IP"
IP=$(cat /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties | sed -n '/^bigbluebutton.web.serverURL/{s/.*\///;p}')
echo
echo "/var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)"
echo " bbb-web host: $IP"
if [ -f /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ]; then
IP=$(cat /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp | sed -n '/String BigBlueButtonURL/{s/.*http:\/\///;s/\/.*//;p}' | tr -d '\015')
echo
echo "/var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp (API demos)"
echo " bbb-web-api host: $IP"
IP=$(cat /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp | sed -n '/String BigBlueButtonURL/{s/.*http:\/\///;s/\/.*//;p}' | tr -d '\015')
echo
echo "/var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp (API demos)"
echo " bbb-web-api host: $IP"
fi
if ps aux | grep '[/]usr/sbin/asterisk' > /dev/null; then
CONFERENCING_MODULE="$(cat $RED5_DIR/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties | sed -n '/asterisk.application/{s/.*=[ ]*//g;p}')"
if ps aux | grep '[/]usr/sbin/asterisk' > /dev/null; then
CONFERENCING_MODULE="$(cat $RED5_DIR/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties | sed -n '/asterisk.application/{s/.*=[ ]*//g;p}')"
else
CONFERENCING_MODULE="FreeSWITCH"
fi
echo
echo "/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml"
echo " voice conference: $CONFERENCING_MODULE"
echo
echo "/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml"
echo " voice conference: $CONFERENCING_MODULE"
check_state
echo ""
@ -1174,7 +1215,7 @@ if [ $DEBUG ]; then
if [ -s /tmp/t ]; then
echo " -- ERRORS found in $RED5_DIR/log/* -- "
cat /tmp/t
echo
echo
fi
@ -1261,7 +1302,6 @@ fi
# if asked to print the version that's all we do
if [ -n "$HOST" ]; then
#
# Just use the IP for port test in /var/www/bigbluebutton/client/conf/config.xml
#
@ -1296,7 +1336,7 @@ if [ -n "$HOST" ]; then
sudo sed -i "s/bigbluebutton.web.serverURL=http:\/\/.*/bigbluebutton.web.serverURL=http:\/\/$HOST/g" \
/var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties
# 3 paramenter: the file, the variable name, the new value
# 3 paramenter: the file, the variable name, the new value
# echo "Assigning $HOST for FreeSWITCH Event Socket Layer URL in /var/lib/${TOMCAT}/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties"
# change_var_ip /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties esl.host $HOST
@ -1319,11 +1359,11 @@ if [ -n "$HOST" ]; then
# Update api demos
#
if [ -f /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ]; then
if [ -f /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp ]; then
echo "Assigning $HOST for api demos in /var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp"
sudo sed -i "s/BigBlueButtonURL = \"http:\/\/\([^\"\/]*\)\([\"\/]\)/BigBlueButtonURL = \"http:\/\/$HOST\2/g" \
/var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp
fi
/var/lib/${TOMCAT}/webapps/bigbluebutton/demo/bbb_api_conf.jsp
fi
#
# Update Freeswitch config
@ -1352,9 +1392,6 @@ if [ -n "$HOST" ]; then
stop_bigbluebutton
echo
start_bigbluebutton
# echo "Restarting ${TOMCAT} and nginx ..."
# sudo /etc/init.d/${TOMCAT} restart > /tmp/result 2>&1;cat /tmp/result;rm /tmp/result
# sudo /etc/init.d/nginx restart
exit 0
fi
@ -1385,7 +1422,7 @@ if [ $CONFERENCE ]; then
fi
fi
if [ $CONFERENCE = "meetme" ]; then
if [ $CONFERENCE = "meetme" ]; then
#
# update $RED5_DIR/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties
#
@ -1393,8 +1430,8 @@ if [ $CONFERENCE ]; then
# -- XXX
# EVENTIP=$(sudo cat /opt/freeswitch/conf/autoload_configs/event_socket.conf.xml | grep 'name="listen-ip"' | cut -d\" -f4 | awk '{print $1}')
sudo sed -i "s/asterisk.application[ ]*=.*/asterisk.application=meetme/g" \
$RED5_DIR/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties
sudo sed -i "s/asterisk.application[ ]*=.*/asterisk.application=meetme/g" \
$RED5_DIR/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties
#
# update /etc/asterisk/bbb_extensions.conf
@ -1422,7 +1459,7 @@ if [ $CONFERENCE ]; then
sudo /etc/init.d/red5 restart
fi
if [ $CONFERENCE = "app_konference" ]; then
if [ $CONFERENCE = "app_konference" ]; then
#
# update $RED5_DIR/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties
#
@ -1455,12 +1492,12 @@ if [ $CONFERENCE ]; then
echo "Switching to $CONFERENCE ... "
sudo /etc/init.d/freeswitch stop
sudo update-rc.d -f freeswitch remove >/dev/null
sudo update-rc.d -f freeswitch remove >/dev/null
sudo update-rc.d asterisk defaults 21 > /dev/null
sudo update-rc.d asterisk defaults 21 > /dev/null
sudo /etc/init.d/asterisk restart
sudo /etc/init.d/red5 restart
sudo /etc/init.d/asterisk restart
sudo /etc/init.d/red5 restart
fi
if [ $CONFERENCE = "freeswitch" ]; then
@ -1491,26 +1528,16 @@ if [ $CONFERENCE ]; then
sudo /etc/init.d/freeswitch start
sudo /etc/init.d/red5 restart
fi
# echo "Switching to $CONFERENCE ... "
# sudo /etc/init.d/asterisk restart
# sudo /etc/init.d/red5 restart
fi
if [ $RESTART ]; then
need_root
echo "Restarting BigBlueButton ..."
stop_bigbluebutton
echo
display_bigbluebutton_status
echo
start_bigbluebutton
fi
@ -1560,11 +1587,8 @@ if [ $NETWORK ]; then
PORT_1935=$(cat /tmp/t_net | grep :1935 | cut -c 45-68 | cut -d ":" -f1 | grep $IP | wc -l)
PORT_9123=$(cat /tmp/t_net | grep :9123 | cut -c 45-68 | cut -d ":" -f1 | grep $IP | wc -l )
PORT_80=$(cat /tmp/t_net | grep :80 | cut -c 45-68 | cut -d ":" -f1 | grep $IP | wc -l )
#if cat /tmp/t_net | grep 9123 | cut -c 45-68 | cut -d ":" -f1 | grep $IP > /dev/null; then
# DESKSHARE=" XXX"
#fi
echo -e "$IP\t\t$PORT_80\t$PORT_1935\t$PORT_9123"
echo -e "$IP\t\t$PORT_80\t$PORT_1935\t$PORT_9123"
done
fi
fi
@ -1572,6 +1596,6 @@ fi
if [ $WATCH ]; then
need_root
watch -n 2 "top -n 1 -b | head -n 5; echo; asterisk -r -x \"core show channels\"; echo; bbb-conf --network; bbb-conf --debug"
watch -n 2 "top -n 1 -b | head -n 5; echo; asterisk -r -x \"core show channels\"; echo; bbb-conf --network; bbb-conf --debug"
fi

View File

@ -25,7 +25,8 @@
<p style="text-align:right;"><strong>What's new in version 0.71-dev</strong></p>
<p style="text-align:right;">Improved VoIP</p>
<p style="text-align:right;">Selectable region for desktop sharing</p>
<p style="text-align:right;"><a href="http://code.google.com/p/bigbluebutton/wiki/ReleaseNotes"><font color="#0000FF">more...</font></a></p>
<p style="text-align:right;">Automatic chat translation</p>
<p style="text-align:right;"><a href="http://code.google.com/p/bigbluebutton/wiki/071Overview"><font color="#0000FF">more...</font></a></p>
</div>
</div>
</div>
@ -41,7 +42,7 @@
<div id="welcome">
<h1>WELCOME</h1>
<p class="content"> <a href="http://www.bigbluebutton.org/sites/all/videos/join/index.html"><img src="http://www.bigbluebutton.org/sites/default/files/images/vm_overview.png" width="138" height="91" border="0" align="right" style="padding-left:10px; padding-top: 3px;" /> </a>BigBlueButton supports sharing of slides (PDF and PPT), video, whiteboard, chat, voice (using Asterisk), and desktops. It's built using over <a href="http://bigbluebutton.org/components">fifteen open source components</a>, runs on Mac, Unix, and PC computers, and is backed by an <a href="http://code.google.com/p/bigbluebutton/">open source community</a> that cares about good design and a streamlined user experience.</p>
<p class="content"> <a href="http://www.bigbluebutton.org/sites/all/videos/join/index.html"><img src="http://www.bigbluebutton.org/sites/default/files/images/vm_overview.png" width="138" height="91" border="0" align="right" style="padding-left:10px; padding-top: 3px;" /> </a>BigBlueButton supports sharing of slides (PDF and PPT), video, whiteboard, chat, voice (using Asterisk or FreeSWITCH), and desktops. It's built using over <a href="http://bigbluebutton.org/components">fifteen open source components</a>, runs on Mac, Unix, and PC computers, and is supported by a <a href="http://bigbluebutton.org/support">community</a> that cares about good design and a streamlined user experience.</p>
</div>
<div id="join">
<h2>Join a Demo Meeting</h2>