diff --git a/bbb-screenshare/app/project/Dependencies.scala b/bbb-screenshare/app/project/Dependencies.scala index a3802c86e86626a2fb9a642210fd4a52e589fb89..0441ac6a6300ba4584374f1f9ac145082774ff49 100644 --- a/bbb-screenshare/app/project/Dependencies.scala +++ b/bbb-screenshare/app/project/Dependencies.scala @@ -17,7 +17,7 @@ object Dependencies { val jackson = "2.9.7" val logback = "1.2.3" val springVersion = "4.3.20.RELEASE" - val red5 = "1.0.10-M9" + val red5 = "1.0.10-M5" val servlet = "2.5" val ffmpeg = "4.0.2-1.4.3" val openCv = "1.4.3" diff --git a/bbb-video/build.gradle b/bbb-video/build.gradle index 1a332bef987669c0affe51660f088733ab875950..d767f014d3cf047f18e6bcba33f5d539b99cc5a0 100755 --- a/bbb-video/build.gradle +++ b/bbb-video/build.gradle @@ -34,10 +34,10 @@ dependencies { providedCompile 'org.apache.mina:mina-integration-jmx:2.0.17@jar' // Spring - providedCompile 'org.springframework:spring-web:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-beans:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-context:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-core:4.3.13.RELEASE@jar' + providedCompile 'org.springframework:spring-web:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-beans:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-context:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-core:4.3.20.RELEASE@jar' // Red5 providedCompile 'org.red5:red5-server:1.0.10-M5@jar' @@ -54,12 +54,9 @@ dependencies { // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. // Otherwise we get exception on aop utils class not found. - providedCompile 'org.springframework:spring-aop:4.3.12.RELEASE@jar' + providedCompile 'org.springframework:spring-aop:4.3.20.RELEASE@jar' compile 'aopalliance:aopalliance:1.0@jar' - // Testing - testRuntime 'org.easymock:easymock:3.6@jar' - //redis compile 'org.apache.commons:commons-pool2:2.6.0' compile 'com.google.code.gson:gson:2.8.5' @@ -68,10 +65,6 @@ dependencies { compile 'org.bigbluebutton:bbb-common-message_2.12:0.0.20-SNAPSHOT' } -test { - useTestNG() -} - war.doLast { ant.unzip(src: war.archivePath, dest: "$buildDir/video") } @@ -80,6 +73,7 @@ war.doLast { task deploy() << { def red5AppsDir = '/usr/share/red5/webapps' def videoDir = new File("${red5AppsDir}/video") + println "Deleting $videoDir" if (videoDir.exists()) ant.delete(dir: videoDir) ant.mkdir(dir: videoDir) ant.copy(todir: videoDir) { diff --git a/bbb-video/src/main/webapp/WEB-INF/bbb-redis-messaging.xml b/bbb-video/src/main/webapp/WEB-INF/bbb-redis-messaging.xml index 56b09f1b2ee9be767aeb1b0ff1ada21b2745c45c..864c7d3abb2f662f1db6e797bfe418618f31165f 100755 --- a/bbb-video/src/main/webapp/WEB-INF/bbb-redis-messaging.xml +++ b/bbb-video/src/main/webapp/WEB-INF/bbb-redis-messaging.xml @@ -27,6 +27,15 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. http://www.springframework.org/schema/util/spring-util-2.0.xsd "> + <bean id="meetingMessageHandler" class="org.bigbluebutton.red5.pubsub.MeetingMessageHandler"> + <property name="meetingManager" ref="meetingManager"/> + <property name="connInvokerService" ref="connInvokerService"/> + </bean> + + <bean id="receivedMessageHandler" class="org.bigbluebutton.common2.redis.pubsub.ReceivedMessageHandler" + init-method="start" destroy-method="stop"> + </bean> + <bean id="redisStorageService" class="org.bigbluebutton.common2.redis.RedisStorageService" init-method="start" destroy-method="stop"> @@ -66,14 +75,5 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. </set> </property> </bean> - - <bean id="meetingMessageHandler" class="org.bigbluebutton.red5.pubsub.MeetingMessageHandler"> - <property name="meetingManager" ref="meetingManager"/> - <property name="connInvokerService" ref="connInvokerService"/> - </bean> - - <bean id="receivedMessageHandler" class="org.bigbluebutton.common2.redis.pubsub.ReceivedMessageHandler" - init-method="start" destroy-method="stop"> - </bean> </beans> diff --git a/bbb-video/src/main/webapp/WEB-INF/bigbluebutton-video.properties b/bbb-video/src/main/webapp/WEB-INF/bigbluebutton-video.properties index 5f8030de0c73cfb61b1eb9fa6816b9cec420445a..afaaf239a5b58137b7aac0516fdb48b7d0e85107 100755 --- a/bbb-video/src/main/webapp/WEB-INF/bigbluebutton-video.properties +++ b/bbb-video/src/main/webapp/WEB-INF/bigbluebutton-video.properties @@ -1,4 +1,5 @@ redis.host=127.0.0.1 redis.port=6379 +redis.password= # recording keys should expire in 14 days redis.keyExpiry=1209600 diff --git a/bbb-video/src/main/webapp/WEB-INF/red5-web.xml b/bbb-video/src/main/webapp/WEB-INF/red5-web.xml index 6639e50543d095dccdd015edc85b293d76acda98..7bb5cd84a90081366c201545814a2212bad14f82 100755 --- a/bbb-video/src/main/webapp/WEB-INF/red5-web.xml +++ b/bbb-video/src/main/webapp/WEB-INF/red5-web.xml @@ -21,8 +21,10 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:lang="http://www.springframework.org/schema/lang" - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd - http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.0.xsd"> + xsi:schemaLocation="http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans-2.0.xsd + http://www.springframework.org/schema/lang + http://www.springframework.org/schema/lang/spring-lang-2.0.xsd"> <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> @@ -34,6 +36,11 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. </bean> <import resource="bbb-redis-messaging.xml"/> + + <bean id="meetingManager" class="org.bigbluebutton.app.video.MeetingManager"/> + + <bean id="connInvokerService" class="org.bigbluebutton.app.video.ConnectionInvokerService" + init-method="start" destroy-method="stop"/> <bean id="web.context" class="org.red5.server.Context" autowire="byType" /> @@ -47,11 +54,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <property name="virtualHosts" value="${webapp.virtualHosts}" /> </bean> - <bean id="connInvokerService" class="org.bigbluebutton.app.video.ConnectionInvokerService" - init-method="start" destroy-method="stop"/> - - <bean id="meetingManager" class="org.bigbluebutton.app.video.MeetingManager"/> - <bean id="web.handler" class="org.bigbluebutton.app.video.VideoApplication"> <property name="packetTimeout" value="10000"/> <property name="eventRecordingService" ref="redisStorageService"/> diff --git a/bbb-voice/build.gradle b/bbb-voice/build.gradle index c90d8a47b9b459d516d39d512c2f9ede7f3b4269..bbcd993045e11bb14f071d101b18d7d2a7f08947 100755 --- a/bbb-voice/build.gradle +++ b/bbb-voice/build.gradle @@ -33,11 +33,11 @@ dependencies { providedCompile 'org.apache.mina:mina-integration-beans:2.0.17@jar' providedCompile 'org.apache.mina:mina-integration-jmx:2.0.17@jar' - // Spring - providedCompile 'org.springframework:spring-web:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-beans:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-context:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-core:4.3.13.RELEASE@jar' + // Spring + providedCompile 'org.springframework:spring-web:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-beans:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-context:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-core:4.3.20.RELEASE@jar' // Red5 providedCompile 'org.red5:red5-server:1.0.10-M5@jar' @@ -54,7 +54,7 @@ dependencies { // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. // Otherwise we get exception on aop utils class not found. - providedCompile 'org.springframework:spring-aop:4.3.12.RELEASE@jar' + providedCompile 'org.springframework:spring-aop:4.3.20.RELEASE@jar' compile 'aopalliance:aopalliance:1.0@jar' //redis @@ -63,13 +63,6 @@ dependencies { compile 'org.apache.commons:commons-lang3:3.8.1' compile 'org.bigbluebutton:bbb-common-message_2.12:0.0.20-SNAPSHOT' - - // Testing - testRuntime 'org.easymock:easymock:3.6@jar' -} - -test { - useTestNG() } war.doLast { diff --git a/bbb-voice/src/main/webapp/WEB-INF/bbb-redis-messaging.xml b/bbb-voice/src/main/webapp/WEB-INF/bbb-redis-messaging.xml index 8246ea68348c93471bdcd42f56362e8559015f8b..e7344b49f9e731084cec9daf3895893b6c5fffd8 100755 --- a/bbb-voice/src/main/webapp/WEB-INF/bbb-redis-messaging.xml +++ b/bbb-voice/src/main/webapp/WEB-INF/bbb-redis-messaging.xml @@ -27,6 +27,20 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. http://www.springframework.org/schema/util/spring-util-2.0.xsd "> + <bean id="redisMessageDistributor" class="org.bigbluebutton.common2.redis.pubsub.MessageDistributor"> + <property name="messageHandler"> <ref local="redisMessageHandler"/> </property> + <property name="messageListeners"> + <set> + <ref bean="meetingMessageHandler" /> + </set> + </property> + </bean> + + <bean id="redisMessageHandler" class="org.bigbluebutton.common2.redis.pubsub.ReceivedMessageHandler" + init-method="start" destroy-method="stop"> + <property name="messageDistributor"><ref bean="redisMessageDistributor" /></property> + </bean> + <bean id="redisMessageSender" class="org.bigbluebutton.common2.redis.pubsub.MessageSender" init-method="start" destroy-method="stop"> <property name="host" value="${redis.host}"/> @@ -52,18 +66,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <property name="messageHandler"> <ref local="redisMessageHandler"/> </property> </bean> - <bean id="redisMessageHandler" class="org.bigbluebutton.common2.redis.pubsub.ReceivedMessageHandler" - init-method="start" destroy-method="stop"> - <property name="messageDistributor"><ref bean="redisMessageDistributor" /></property> - </bean> - - <bean id="redisMessageDistributor" class="org.bigbluebutton.common2.redis.pubsub.MessageDistributor"> - <property name="messageHandler"> <ref local="redisMessageHandler"/> </property> - <property name="messageListeners"> - <set> - <ref bean="meetingMessageHandler" /> - </set> - </property> - </bean> - </beans> diff --git a/bbb-voice/src/main/webapp/WEB-INF/red5-web.xml b/bbb-voice/src/main/webapp/WEB-INF/red5-web.xml index bf68930d6af2fe274b27b8b6e85d487a99a628e6..610836054c018196d4416822c6ab1049a4cd1df7 100755 --- a/bbb-voice/src/main/webapp/WEB-INF/red5-web.xml +++ b/bbb-voice/src/main/webapp/WEB-INF/red5-web.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> - <!-- BigBlueButton open source conferencing system - http://www.bigbluebutton.org/ @@ -55,6 +54,16 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <property name="contextPath" value="${webapp.contextPath}" /> <property name="virtualHosts" value="${webapp.virtualHosts}" /> </bean> + + <bean id="sipPeerManager" class="org.bigbluebutton.voiceconf.sip.SipPeerManager"> + <property name="sipStackDebugLevel" value="${sipStackDebugLevel}"/> + <property name="sipRemotePort" value="${freeswitch.port}"/> + <property name="messagingService" ref="messagingService"/> + </bean> + + <bean id="voiceconf.service" class="org.bigbluebutton.voiceconf.red5.Service"> + <property name="sipPeerManager" ref="sipPeerManager"/> + </bean> <bean id="web.handler" class="org.bigbluebutton.voiceconf.red5.Application"> <property name="sipClientRtpIp" value="${bbb.sip.app.ip}" /> @@ -70,14 +79,4 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. <property name="messagingService" ref="messagingService"/> </bean> - <bean id="sipPeerManager" class="org.bigbluebutton.voiceconf.sip.SipPeerManager"> - <property name="sipStackDebugLevel" value="${sipStackDebugLevel}"/> - <property name="sipRemotePort" value="${freeswitch.port}"/> - <property name="messagingService" ref="messagingService"/> - </bean> - - <bean id="voiceconf.service" class="org.bigbluebutton.voiceconf.red5.Service"> - <property name="sipPeerManager" ref="sipPeerManager"/> - </bean> - </beans> diff --git a/bigbluebutton-apps/build.gradle b/bigbluebutton-apps/build.gradle index 1a8d19d706820fc782e0d406427bf56e30f943cd..2d9aa55366af35e00c7685fdca68f7b5f8a8906b 100755 --- a/bigbluebutton-apps/build.gradle +++ b/bigbluebutton-apps/build.gradle @@ -38,10 +38,10 @@ dependencies { providedCompile 'org.apache.mina:mina-integration-jmx:2.0.17@jar' // Spring - providedCompile 'org.springframework:spring-web:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-beans:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-context:4.3.12.RELEASE@jar' - providedCompile 'org.springframework:spring-core:4.3.13.RELEASE@jar' + providedCompile 'org.springframework:spring-web:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-beans:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-context:4.3.20.RELEASE@jar' + providedCompile 'org.springframework:spring-core:4.3.20.RELEASE@jar' // Red5 providedCompile 'org.red5:red5-server:1.0.10-M5@jar' @@ -58,7 +58,7 @@ dependencies { // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. // Otherwise we get exception on aop utils class not found. - providedCompile 'org.springframework:spring-aop:4.3.12.RELEASE@jar' + providedCompile 'org.springframework:spring-aop:4.3.20.RELEASE@jar' compile 'aopalliance:aopalliance:1.0@jar' // Testing