Merge branch 'master' of github.com:bigbluebutton/bigbluebutton
This commit is contained in:
commit
9b59058b1b
@ -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>
|
||||
|
@ -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
|
||||
|
@ -48,3 +48,4 @@
|
||||
<buildCSSFileEntry destPath="bin" sourcePath="src/branding/css/theme.css"/>
|
||||
</buildCSSFiles>
|
||||
</actionScriptProperties>
|
||||
|
||||
|
@ -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"/>
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -332,7 +332,7 @@
|
||||
}
|
||||
onResetZoom();
|
||||
reinitWindowToDefaultSize();
|
||||
this.setFocus();
|
||||
//this.setFocus();
|
||||
}
|
||||
|
||||
private function displaySlideNavigationControls(show:Boolean):void {
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user