diff --git a/akka-bbb-apps/build.sbt b/akka-bbb-apps/build.sbt
index c5f6765651f0d648ff1d8785e20eca1ea6ee53c8..eb795efb59b3841bfd7252ed3517684bbdcb3802 100755
--- a/akka-bbb-apps/build.sbt
+++ b/akka-bbb-apps/build.sbt
@@ -6,7 +6,7 @@ organization := "org.bigbluebutton"
 
 version := "0.0.2"
 
-scalaVersion  := "2.11.7"
+scalaVersion  := "2.12.2"
 
 scalacOptions ++= Seq(
   "-unchecked",
@@ -14,7 +14,7 @@ scalacOptions ++= Seq(
   "-Xlint",
   "-Ywarn-dead-code",
   "-language:_",
-  "-target:jvm-1.7",
+  "-target:jvm-1.8",
   "-encoding", "UTF-8"
 )
 
@@ -37,35 +37,56 @@ testOptions in Test += Tests.Argument(TestFrameworks.Specs2, "html", "console",
 
 testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-h", "target/scalatest-reports")
 
+val akkaVersion  = "2.5.1"
+val scalaTestV  = "2.2.6"
+
 libraryDependencies ++= {
-  val akkaVersion  = "2.3.14"
-  val akkaStreamV = "1.0"
-  val scalaTestV  = "2.2.4"
   Seq(
-    "com.typesafe.akka"        %%  "akka-actor"                           % akkaVersion,
-    "com.typesafe.akka"        %%  "akka-testkit"                         % akkaVersion    % "test",
-    "com.typesafe.akka"        %%  "akka-slf4j"                           % akkaVersion,
-    "com.typesafe.akka"        %%  "akka-stream-experimental"             % akkaStreamV,
-    "com.typesafe.akka"        %%  "akka-http-core-experimental"          % akkaStreamV,
-    "com.typesafe.akka"        %%  "akka-http-experimental"               % akkaStreamV,
-    "com.typesafe.akka"        %%  "akka-http-spray-json-experimental"    % akkaStreamV,
-    "com.typesafe.akka"        %%  "akka-http-testkit-experimental"       % akkaStreamV,
-    "org.scalatest"            %   "scalatest_2.11"                       % scalaTestV     % "test",
     "ch.qos.logback"           %   "logback-classic"                      % "1.0.13"       % "runtime",
-    "org.pegdown"              %   "pegdown"                              % "1.4.0",
     "junit"                    %   "junit"                                % "4.11",
-    "com.etaty.rediscala"      %%  "rediscala"                            % "1.4.0",
     "commons-codec"             %  "commons-codec"                        % "1.10",
-    "joda-time"                 %  "joda-time"                            % "2.3",
-    "com.google.code.gson"      %  "gson"                                 % "2.5",
-    "redis.clients"             %  "jedis"                                % "2.7.2",
     "org.apache.commons"        %  "commons-lang3"                        % "3.2",
-    "org.bigbluebutton"         %  "bbb-common-message"                   % "0.0.19-SNAPSHOT",
-    "io.spray"                 %%  "spray-json"                           % "1.3.2"
+    "org.bigbluebutton"         %  "bbb-common-message"                   % "0.0.19-SNAPSHOT"
   )
 }
 
+// https://mvnrepository.com/artifact/org.scala-lang/scala-library
+libraryDependencies += "org.scala-lang" % "scala-library" % "2.12.2"
+// https://mvnrepository.com/artifact/org.scala-lang/scala-compiler
+libraryDependencies += "org.scala-lang" % "scala-compiler" % "2.12.2"
+
+// https://mvnrepository.com/artifact/com.typesafe.akka/akka-actor_2.12
+libraryDependencies += "com.typesafe.akka" % "akka-actor_2.12" % "2.5.1"
+
+// https://mvnrepository.com/artifact/com.typesafe.akka/akka-slf4j_2.12
+libraryDependencies += "com.typesafe.akka" % "akka-slf4j_2.12" % "2.5.1"
+
+// https://mvnrepository.com/artifact/com.github.etaty/rediscala_2.12
+libraryDependencies += "com.github.etaty" % "rediscala_2.12" % "1.8.0"
+
 libraryDependencies += "com.softwaremill.quicklens" %% "quicklens" % "1.4.8"
+libraryDependencies += "com.google.code.gson" % "gson" % "2.8.0"
+libraryDependencies += "redis.clients" % "jedis" % "2.9.0"
+libraryDependencies += "joda-time" % "joda-time" % "2.9.9"
+libraryDependencies += "io.spray" % "spray-json_2.12" % "1.3.3"
+libraryDependencies += "org.pegdown" % "pegdown" % "1.6.0"
+
+
+
+
+
+// https://mvnrepository.com/artifact/com.typesafe.akka/akka-testkit_2.12
+libraryDependencies += "com.typesafe.akka" % "akka-testkit_2.12" % "2.5.1" % "test"
+
+// https://mvnrepository.com/artifact/org.scalactic/scalactic_2.12
+libraryDependencies += "org.scalactic" % "scalactic_2.12" % "3.0.3" % "test"
+
+// https://mvnrepository.com/artifact/org.scalatest/scalatest_2.12
+libraryDependencies += "org.scalatest" % "scalatest_2.12" % "3.0.3" % "test"
+
+
+libraryDependencies += "org.mockito" % "mockito-core" % "2.7.22" % "test"
+
 
 seq(Revolver.settings: _*)
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/Boot.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/Boot.scala
index 7de96086d1352e624160d510b2da19ad66378a34..5edd96fdef0e3160fb7e8688992e5302dfbcb2a0 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/Boot.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/Boot.scala
@@ -1,23 +1,17 @@
 package org.bigbluebutton
 
-import akka.event.{ LoggingAdapter, Logging }
-import akka.actor.{ ActorSystem, Props }
-import scala.concurrent.duration._
-import redis.RedisClient
-import scala.concurrent.{ Future, Await }
+import akka.event.{ Logging }
+import akka.actor.{ ActorSystem }
+
 import org.bigbluebutton.endpoint.redis.RedisPublisher
 import org.bigbluebutton.endpoint.redis.KeepAliveRedisPublisher
 import org.bigbluebutton.endpoint.redis.AppsRedisSubscriberActor
-import org.bigbluebutton.core.api.MessageOutGateway
-import org.bigbluebutton.core.api.IBigBlueButtonInGW
 import org.bigbluebutton.core.BigBlueButtonInGW
 import org.bigbluebutton.core.MessageSender
 import org.bigbluebutton.core.OutMessageGateway
 import org.bigbluebutton.core.MessageSenderActor
 import org.bigbluebutton.core.RecorderActor
 import org.bigbluebutton.core.pubsub.receivers.RedisMessageReceiver
-import org.bigbluebutton.core.api.OutMessageListener2
-import org.bigbluebutton.core.pubsub.senders._
 import org.bigbluebutton.core.service.recorder.RedisDispatcher
 import org.bigbluebutton.core.service.recorder.RecorderApplication
 import org.bigbluebutton.core.bus._
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala
index c64e6a8327af28a1b4c6edc06371bad283dae33b..d1793cc81dd22902e9084c42324231e311c103c9 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonActor.scala
@@ -4,7 +4,6 @@ import java.io.{ PrintWriter, StringWriter }
 import akka.actor._
 import akka.actor.ActorLogging
 import akka.actor.SupervisorStrategy.Resume
-import akka.pattern.{ ask, pipe }
 import akka.util.Timeout
 
 import scala.concurrent.duration._
@@ -166,7 +165,7 @@ class BigBlueButtonActor(val system: ActorSystem,
       case None => {
         log.info("Create meeting request. meetingId={}", msg.mProps.meetingID)
 
-        var m = RunningMeeting(msg.mProps, outGW, eventBus)
+        val m = RunningMeeting(msg.mProps, outGW, eventBus)
 
         /** Subscribe to meeting and voice events. **/
         eventBus.subscribe(m.actorRef, m.mProps.meetingID)
@@ -190,7 +189,7 @@ class BigBlueButtonActor(val system: ActorSystem,
   private def handleGetAllMeetingsRequest(msg: GetAllMeetingsRequest) {
     val len = meetings.keys.size
     var currPosition = len - 1
-    var resultArray: Array[MeetingInfo] = new Array[MeetingInfo](len)
+    val resultArray: Array[MeetingInfo] = new Array[MeetingInfo](len)
 
     meetings.values.foreach(m => {
       val id = m.mProps.meetingID
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
index b4cebad5677ce49b6af70f60d39102d3ffa5c572..5a353012150c38ce79e794b625db814d2003c1df 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
@@ -157,8 +157,8 @@ class BigBlueButtonInGW(
     val disablePrivChat = s.getOrElse("disablePrivateChat", false)
     val disablePubChat = s.getOrElse("disablePublicChat", false)
     val lockedLayout = s.getOrElse("lockedLayout", false)
-    var lockOnJoin = s.getOrElse("lockOnJoin", false)
-    var lockOnJoinConfigurable = s.getOrElse("lockOnJoinConfigurable", false)
+    val lockOnJoin = s.getOrElse("lockOnJoin", false)
+    val lockOnJoinConfigurable = s.getOrElse("lockOnJoinConfigurable", false)
 
     val permissions = new Permissions(disableCam = disableCam,
       disableMic = disableMic,
@@ -331,22 +331,21 @@ class BigBlueButtonInGW(
 
   def generatePresentationPages(presId: String, numPages: Int, presBaseUrl: String): scala.collection.immutable.HashMap[String, Page] = {
     var pages = new scala.collection.immutable.HashMap[String, Page]
-    val baseUrl =
-      for (i <- 1 to numPages) {
-        val id = presId + "/" + i
-        val num = i;
-        val current = if (i == 1) true else false
-        val thumbnail = presBaseUrl + "/thumbnail/" + i
-        val swfUri = presBaseUrl + "/slide/" + i
-
-        val txtUri = presBaseUrl + "/textfiles/" + i
-        val svgUri = presBaseUrl + "/svg/" + i
-
-        val p = new Page(id = id, num = num, thumbUri = thumbnail, swfUri = swfUri,
-          txtUri = txtUri, svgUri = svgUri,
-          current = current)
-        pages += (p.id -> p)
-      }
+    for (i <- 1 to numPages) {
+      val id = presId + "/" + i
+      val num = i;
+      val current = if (i == 1) true else false
+      val thumbnail = presBaseUrl + "/thumbnail/" + i
+      val swfUri = presBaseUrl + "/slide/" + i
+
+      val txtUri = presBaseUrl + "/textfiles/" + i
+      val svgUri = presBaseUrl + "/svg/" + i
+
+      val p = new Page(id = id, num = num, thumbUri = thumbnail, swfUri = swfUri,
+        txtUri = txtUri, svgUri = svgUri,
+        current = current)
+      pages += (p.id -> p)
+    }
 
     pages
   }
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/JsonMessageDecoder.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/JsonMessageDecoder.scala
index f2f5ed4767689790359fb38307cee5cdae621ce6..643b3e18ec9bfff1055c5b508214b4f2dfbaf9f2 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/JsonMessageDecoder.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/JsonMessageDecoder.scala
@@ -1,7 +1,6 @@
 package org.bigbluebutton.core
 
 import scala.util.{ Try, Success, Failure }
-import spray.json.{ JsObject, JsonParser, DeserializationException }
 import org.parboiled.errors.ParsingException
 import org.bigbluebutton.core.api._
 import org.bigbluebutton.messages._
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/JsonMessageSenderActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/JsonMessageSenderActor.scala
index 49d4fdc8877be0a4e26742481056230fe916314c..730e0d50c5bdb07cb03a7ab31fd7a7451d133d29 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/JsonMessageSenderActor.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/JsonMessageSenderActor.scala
@@ -1,29 +1,10 @@
 package org.bigbluebutton.core
 
 import akka.actor.Actor
-import akka.actor.ActorRef
 import akka.actor.ActorLogging
 import akka.actor.Props
 import org.bigbluebutton.core.api._
 import org.bigbluebutton.common.messages.MessagingConstants
-import org.bigbluebutton.core.pubsub.senders.ChatMessageToJsonConverter
-import org.bigbluebutton.common.messages.StartRecordingVoiceConfRequestMessage
-import org.bigbluebutton.common.messages.StopRecordingVoiceConfRequestMessage
-import org.bigbluebutton.core.pubsub.senders.MeetingMessageToJsonConverter
-import org.bigbluebutton.core.pubsub.senders.PesentationMessageToJsonConverter
-import org.bigbluebutton.common.messages.GetPresentationInfoReplyMessage
-import org.bigbluebutton.common.messages.PresentationRemovedMessage
-import org.bigbluebutton.core.apps.Page
-import collection.JavaConverters._
-import scala.collection.JavaConversions._
-import org.bigbluebutton.core.apps.SimplePollResultOutVO
-import org.bigbluebutton.core.apps.SimplePollOutVO
-import org.bigbluebutton.core.pubsub.senders.UsersMessageToJsonConverter
-import org.bigbluebutton.common.messages._
-import org.bigbluebutton.core.pubsub.senders.WhiteboardMessageToJsonConverter
-import org.bigbluebutton.common.converters.ToJsonEncoder
-import org.bigbluebutton.common.messages.payload._
-import org.bigbluebutton.common.messages._
 import org.bigbluebutton.messages.payload._
 import org.bigbluebutton.messages._
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
index 1a9ccde6b38cd7bcb8c7d21883aa9014b5f95916..104c6aeffd3a8189853f34869366d7eb775de0f2 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/MessageSenderActor.scala
@@ -1,7 +1,6 @@
 package org.bigbluebutton.core
 
 import akka.actor.Actor
-import akka.actor.ActorRef
 import akka.actor.ActorLogging
 import akka.actor.Props
 import akka.actor.OneForOneStrategy
@@ -20,8 +19,6 @@ import org.bigbluebutton.common.messages.GetPresentationInfoReplyMessage
 import org.bigbluebutton.common.messages.PresentationRemovedMessage
 import org.bigbluebutton.common.messages.AllowUserToShareDesktopReply
 import org.bigbluebutton.core.apps.Page
-
-import collection.JavaConverters._
 import scala.collection.JavaConversions._
 import scala.concurrent.duration._
 import org.bigbluebutton.core.apps.SimplePollResultOutVO
@@ -38,7 +35,6 @@ import org.bigbluebutton.common.messages.LockLayoutMessage
 import org.bigbluebutton.core.pubsub.senders.WhiteboardMessageToJsonConverter
 import org.bigbluebutton.common.converters.ToJsonEncoder
 import org.bigbluebutton.common.messages.TransferUserToVoiceConfRequestMessage
-import org.bigbluebutton.core
 
 object MessageSenderActor {
   def props(msgSender: MessageSender): Props =
@@ -710,6 +706,7 @@ class MessageSenderActor(val service: MessageSender)
 
   private def handleUserJoined(msg: UserJoined) {
     val json = UsersMessageToJsonConverter.userJoinedToJson(msg)
+    println("************** Publishing [" + json + "] *******************")
     service.send(MessagingConstants.FROM_USERS_CHANNEL, json)
   }
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/OutMessageGateway.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/OutMessageGateway.scala
index f93294473d81288ab340922985a021939ab7d363..8512376da280596f239418098975d31812fb3053 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/OutMessageGateway.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/OutMessageGateway.scala
@@ -1,7 +1,5 @@
 package org.bigbluebutton.core
 
-import akka.actor.ActorRef
-import akka.actor.ActorContext
 import org.bigbluebutton.core.bus.OutgoingEventBus
 import org.bigbluebutton.core.bus.BigBlueButtonOutMessage
 import org.bigbluebutton.core.api.IOutMessage
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/OutMessageGatewayActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/OutMessageGatewayActor.scala
index c45a6c189e8c353db53ed4642526091706132382..466f4b77a3d9a619ce1f886b8922f1267644df0a 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/OutMessageGatewayActor.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/OutMessageGatewayActor.scala
@@ -1,19 +1,13 @@
 package org.bigbluebutton.core
 
 import akka.actor.Actor
-import akka.actor.ActorRef
 import akka.actor.ActorLogging
 import akka.actor.Props
 import akka.actor.OneForOneStrategy
 import akka.actor.SupervisorStrategy.Resume
 import java.io.{ PrintWriter, StringWriter }
 import org.bigbluebutton.core.api._
-import java.util.concurrent.TimeUnit
-import org.bigbluebutton.core.util._
 import scala.concurrent.duration._
-import org.bigbluebutton.core.apps.{ PollApp, UsersApp, PresentationApp, LayoutApp, ChatApp, WhiteboardApp, CaptionApp }
-import org.bigbluebutton.core.apps.{ ChatModel, LayoutModel, UsersModel, PollModel, WhiteboardModel, CaptionModel }
-import org.bigbluebutton.core.apps.PresentationModel
 import org.bigbluebutton.core.service.recorder.RecorderApplication
 
 object OutMessageGatewayActor {
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/RecorderActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/RecorderActor.scala
index f4b45140767f0b20f8ddbb890f42ac170fcf8a6b..0a4eb0f2c014a1f7e262df631b27421a58953c9e 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/RecorderActor.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/RecorderActor.scala
@@ -1,14 +1,12 @@
 package org.bigbluebutton.core
 
 import akka.actor.Actor
-import akka.actor.ActorRef
 import akka.actor.ActorLogging
 import akka.actor.Props
 import akka.actor.OneForOneStrategy
 import akka.actor.SupervisorStrategy.Resume
 import java.io.{ PrintWriter, StringWriter }
 import org.bigbluebutton.core.api._
-import org.bigbluebutton.core.api._
 import scala.collection.JavaConversions._
 import scala.concurrent.duration._
 import org.bigbluebutton.core.service.recorder.RecorderApplication
@@ -37,7 +35,6 @@ import org.bigbluebutton.core.recorders.events.AddShapeWhiteboardRecordEvent
 import org.bigbluebutton.core.recorders.events.DeskShareStartRTMPRecordEvent
 import org.bigbluebutton.core.recorders.events.DeskShareStopRTMPRecordEvent
 import org.bigbluebutton.core.recorders.events.DeskShareNotifyViewersRTMPRecordEvent
-// import org.bigbluebutton.core.service.whiteboard.WhiteboardKeyUtil
 import org.bigbluebutton.common.messages.WhiteboardKeyUtil
 import org.bigbluebutton.core.recorders.events.ModifyTextWhiteboardRecordEvent
 import org.bigbluebutton.core.recorders.events.EditCaptionHistoryRecordEvent
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/BreakoutRoomApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/BreakoutRoomApp.scala
index 3e27d9b383a0ddcc8bb31e66d478adf72959ec07..cceea8a929d6baaa934d08715f1b9a001f84d05c 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/BreakoutRoomApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/BreakoutRoomApp.scala
@@ -11,7 +11,7 @@ import org.bigbluebutton.core.api._
 import org.bigbluebutton.core.bus.BigBlueButtonEvent
 import org.bigbluebutton.core.bus.IncomingEventBus
 import org.bigbluebutton.core.models.Users
-import org.bigbluebutton.core.running.{ LiveMeeting, MeetingActor }
+import org.bigbluebutton.core.running.{ MeetingActor }
 
 trait BreakoutRoomApp extends SystemConfiguration {
   this: MeetingActor =>
@@ -174,7 +174,7 @@ object BreakoutRoomsUtil {
   }
 
   def createJoinURL(webAPI: String, apiCall: String, baseString: String, checksum: String): String = {
-    var apiURL = if (webAPI.endsWith("/")) webAPI else webAPI.concat("/")
+    val apiURL = if (webAPI.endsWith("/")) webAPI else webAPI.concat("/")
     apiURL.concat(apiCall).concat("?").concat(baseString).concat("&checksum=").concat(checksum)
   }
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/CaptionApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/CaptionApp.scala
index 37dd8f9503608dd709c53ae95ae49b1e4b2c2a93..68aeac5daf7b7a6e9f2977becdbb4e8837053d3c 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/CaptionApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/CaptionApp.scala
@@ -1,8 +1,6 @@
 package org.bigbluebutton.core.apps
 
 import org.bigbluebutton.core.api._
-
-import scala.collection.mutable.ArrayBuffer
 import org.bigbluebutton.core.OutMessageGateway
 import org.bigbluebutton.core.running.{ MeetingActor }
 
@@ -12,7 +10,7 @@ trait CaptionApp {
   val outGW: OutMessageGateway
 
   def handleSendCaptionHistoryRequest(msg: SendCaptionHistoryRequest) {
-    var history = liveMeeting.captionModel.getHistory()
+    val history = liveMeeting.captionModel.getHistory()
     //println("Caption history requested " + history)
     outGW.send(new SendCaptionHistoryReply(mProps.meetingID, mProps.recorded, msg.requesterID, history))
   }
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/CaptionModel.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/CaptionModel.scala
index 36f8ae349d27d7b0a2dbaa741242a7108542249e..b0e4bfebf0a1f71a900a278bf363e0a8454dec50 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/CaptionModel.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/CaptionModel.scala
@@ -1,8 +1,5 @@
 package org.bigbluebutton.core.apps
 
-import scala.collection.mutable.ArrayBuffer
-import scala.collection.immutable.HashMap
-
 class CaptionModel {
   var transcripts = Map[String, Array[String]]()
 
@@ -46,12 +43,12 @@ class CaptionModel {
     //println("editHistory entered")
     if (transcripts contains locale) {
       //println("editHistory found locale:" + locale)
-      var oText: String = transcripts(locale)(1)
+      val oText: String = transcripts(locale)(1)
 
       if (startIndex >= 0 && endIndex <= oText.length && startIndex <= endIndex) {
         //println("editHistory passed index test")
-        var sText: String = oText.substring(0, startIndex)
-        var eText: String = oText.substring(endIndex)
+        val sText: String = oText.substring(0, startIndex)
+        val eText: String = oText.substring(endIndex)
 
         transcripts(locale)(1) = (sText + text + eText)
         //println("editHistory new history is: " + transcripts(locale)(1))
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/ChatApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/ChatApp.scala
index 6601b7b04da1fcbb423d7ca3f759d1f507121b0c..73aa8dc2c4bf16d685d880218987084809107ac9 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/ChatApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/ChatApp.scala
@@ -1,10 +1,8 @@
 package org.bigbluebutton.core.apps
 
 import org.bigbluebutton.core.api._
-
-import scala.collection.mutable.ArrayBuffer
 import org.bigbluebutton.core.OutMessageGateway
-import org.bigbluebutton.core.running.{ LiveMeeting, MeetingActor }
+import org.bigbluebutton.core.running.{ MeetingActor }
 
 trait ChatApp {
   this: MeetingActor =>
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/ChatModel.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/ChatModel.scala
index 593c795a1fcb804f174a27293b9d2863d454a27e..b6acc3de6d7631baa3dca5487a3eacaba175e81d 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/ChatModel.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/ChatModel.scala
@@ -1,6 +1,6 @@
 package org.bigbluebutton.core.apps
 
-import org.bigbluebutton.core.models.{ DirectChats, PublicChats, UserIdAndName }
+import org.bigbluebutton.core.models.{ DirectChats, PublicChats }
 
 import scala.collection.mutable.ArrayBuffer
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/LayoutApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/LayoutApp.scala
index 778707261930eccbda67aa85a57dba8fb2864854..7cb35d397908acaa51861683eca77c94f1a5a1df 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/LayoutApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/LayoutApp.scala
@@ -5,7 +5,7 @@ import org.bigbluebutton.core.api._
 import scala.collection.mutable.ArrayBuffer
 import org.bigbluebutton.core.OutMessageGateway
 import org.bigbluebutton.core.models.{ Roles, UserVO, Users }
-import org.bigbluebutton.core.running.{ LiveMeeting, MeetingActor }
+import org.bigbluebutton.core.running.{ MeetingActor }
 
 trait LayoutApp {
   this: MeetingActor =>
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/Poll.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/Poll.scala
index 7082e483eebcdac251cea8a8c5e0a16222fb9ddf..c152421631b6ef2603591554813528c7c24c8a74 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/Poll.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/Poll.scala
@@ -1,6 +1,5 @@
 package org.bigbluebutton.core.apps
 
-import scala.collection.mutable.HashMap
 import scala.collection.mutable.ArrayBuffer
 
 object PollType {
@@ -42,7 +41,7 @@ object PollFactory {
 
     if (numQs > 0 && numQs <= 6) {
       val answers = new Array[Answer](numQs)
-      var i = 0
+
       for (i <- 0 until numQs) {
         answers(i) = new Answer(i, LetterArray(i), Some(LetterArray(i)))
         val question = new Question(0, PollType.LetterPollType, multiResponse, None, answers)
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/PresentationApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/PresentationApp.scala
index 3710d46cd4a48b90d52c709d4f65004e8566b4f8..f2ec77367aea584ee3197bf8e3e8a650f87f72fe 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/PresentationApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/PresentationApp.scala
@@ -1,10 +1,9 @@
 package org.bigbluebutton.core.apps
 
 import org.bigbluebutton.core.api._
-import com.google.gson.Gson
 import org.bigbluebutton.core.OutMessageGateway
 import org.bigbluebutton.core.models.Users
-import org.bigbluebutton.core.running.{ LiveMeeting, MeetingActor }
+import org.bigbluebutton.core.running.{ MeetingActor }
 
 trait PresentationApp {
   this: MeetingActor =>
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/SharedNotesApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/SharedNotesApp.scala
index e5dea25d48231bb3f14279524c4775e2b975408d..d2e8027b13e082e052da0313cfa056a2fe543069 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/SharedNotesApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/SharedNotesApp.scala
@@ -2,7 +2,7 @@ package org.bigbluebutton.core.apps
 
 import org.bigbluebutton.core.api._
 import org.bigbluebutton.core.OutMessageGateway
-import org.bigbluebutton.core.running.{ LiveMeeting, MeetingActor }
+import org.bigbluebutton.core.running.{ MeetingActor }
 
 trait SharedNotesApp {
   this: MeetingActor =>
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/SharedNotesModel.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/SharedNotesModel.scala
old mode 100644
new mode 100755
index 23dcdc19df4e7f380caa9fa8db0209d9da243a16..5c8074b604d4f3e8edb68b00ca001b314721ffea
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/SharedNotesModel.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/SharedNotesModel.scala
@@ -3,11 +3,9 @@ package org.bigbluebutton.core.apps
 import org.bigbluebutton.core.api._
 import org.bigbluebutton.core.api.SharedNotesOperation._
 import name.fraser.neil.plaintext.diff_match_patch
-import name.fraser.neil.plaintext.diff_match_patch._
 import scala.collection.mutable.Stack
 import scala.collection.mutable.HashMap
 import scala.collection._
-import java.util.Collections
 
 class SharedNotesModel {
   val notes = new HashMap[String, Note]()
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
index 56292e87922d3fbc64b6e3a0d433df063a497b15..8a8e2f07c9915933a280d254101b9b55a5138aec 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
@@ -1,7 +1,6 @@
 package org.bigbluebutton.core.apps
 
 import org.bigbluebutton.core.api._
-import scala.collection.immutable.ListSet
 import org.bigbluebutton.core.OutMessageGateway
 import org.bigbluebutton.core.api.GuestPolicy
 import org.bigbluebutton.core.models._
@@ -84,7 +83,6 @@ trait UsersApp {
     log.info("Got ValidateAuthToken message. meetingId=" + msg.meetingID + " userId=" + msg.userId)
     RegisteredUsers.getRegisteredUserWithToken(msg.token, msg.userId, liveMeeting.registeredUsers) match {
       case Some(u) =>
-        val replyTo = mProps.meetingID + '/' + msg.userId
 
         //send the reply
         outGW.send(new ValidateAuthTokenReply(mProps.meetingID, msg.userId, msg.token, true, msg.correlationId))
@@ -338,7 +336,7 @@ trait UsersApp {
            * If user is not joined through the web (perhaps reconnecting).
            * Send a user left event to clear up user list of all clients.
            */
-          val user = Users.userLeft(w.id, liveMeeting.users)
+          Users.userLeft(w.id, liveMeeting.users)
           outGW.send(new UserLeft(msg.meetingID, mProps.recorded, w))
         }
       }
@@ -412,7 +410,7 @@ trait UsersApp {
   def handleUserJoinedVoiceFromPhone(msg: UserJoinedVoiceConfMessage) = {
     log.info("User joining from phone.  meetingId=" + mProps.meetingID + " userId=" + msg.userId + " extUserId=" + msg.externUserId)
 
-    val user = Users.getUserWithVoiceUserId(msg.voiceUserId, liveMeeting.users) match {
+    Users.getUserWithVoiceUserId(msg.voiceUserId, liveMeeting.users) match {
       case Some(user) => {
         log.info("Voice user=" + msg.voiceUserId + " is already in conf="
           + mProps.voiceBridge + ". Must be duplicate message. meetigId=" + mProps.meetingID)
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersModel.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersModel.scala
index 6159b4e33691becde6c3caa5653ce95ac7c805a1..3348a0ddcdaf0f94b1f97334acc9ed016173d28d 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersModel.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersModel.scala
@@ -1,8 +1,6 @@
 package org.bigbluebutton.core.apps
 
-import org.bigbluebutton.core.util.RandomStringGenerator
 import org.bigbluebutton.core.api.Presenter
-import org.bigbluebutton.core.models._
 
 class UsersModel {
   //  private var uservos = new Users
@@ -15,8 +13,6 @@ class UsersModel {
    */
   private var globalAudioConnectionCounter = new collection.immutable.HashMap[String, Integer]
 
-  private var locked = false
-  private var meetingMuted = false
   private var recordingVoice = false
 
   private var currentPresenter = new Presenter("system", "system", "system")
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/WhiteboardModel.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/WhiteboardModel.scala
index 694553b1bb96a455741353a573d2639e857ed17f..963e04103cb593a77c0da7c92be74b121e740dc4 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/WhiteboardModel.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/WhiteboardModel.scala
@@ -1,10 +1,7 @@
 package org.bigbluebutton.core.apps
 
 import java.util.ArrayList;
-
 import org.bigbluebutton.core.util.jhotdraw.BezierWrapper
-import org.bigbluebutton.core.util.jhotdraw.PathData
-
 import scala.collection.immutable.List
 import scala.collection.immutable.HashMap
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/bus/IncomingEventBus.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/bus/IncomingEventBus.scala
index faecfcff989f2f0d93d6ac496284fcacfe8b57e1..b46cf1ca80add5a1245be43569f8bc240c6a5cdb 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/bus/IncomingEventBus.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/bus/IncomingEventBus.scala
@@ -2,7 +2,6 @@ package org.bigbluebutton.core.bus
 
 import akka.actor.ActorRef
 import akka.event.EventBus
-import akka.event.ActorEventBus
 import akka.event.LookupClassification
 import org.bigbluebutton.core.api.InMessage
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/bus/OutgoingEventBus.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/bus/OutgoingEventBus.scala
index bdf6ddecf69147838a6c0749db7134283e52a764..7b503f14bd4bb17811127314baefba2934891957 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/bus/OutgoingEventBus.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/bus/OutgoingEventBus.scala
@@ -2,7 +2,6 @@ package org.bigbluebutton.core.bus
 
 import akka.actor.ActorRef
 import akka.event.EventBus
-import akka.event.ActorEventBus
 import akka.event.LookupClassification
 import org.bigbluebutton.core.api._
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/CaptionMessageToJsonConverter.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/CaptionMessageToJsonConverter.scala
index 83b410b180081bdfcda0fb11e270a98828476ee3..322963c4101c6d00262f91575ecb921410312be5 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/CaptionMessageToJsonConverter.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/CaptionMessageToJsonConverter.scala
@@ -1,9 +1,7 @@
 package org.bigbluebutton.core.pubsub.senders
 
 import org.bigbluebutton.common.messages.Constants
-import scala.collection.mutable.HashMap
 import org.bigbluebutton.core.api._
-import collection.JavaConverters._
 import scala.collection.JavaConversions._
 import org.bigbluebutton.core.messaging.Util
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ChatMessageToJsonConverter.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ChatMessageToJsonConverter.scala
index 5eeef4de4e7c54dbb80d308d7ab76bdd10e432dd..c0abc68570b97993f80d5a3be9fc889c14c5c302 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ChatMessageToJsonConverter.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ChatMessageToJsonConverter.scala
@@ -1,13 +1,9 @@
 package org.bigbluebutton.core.pubsub.senders
 
-import scala.collection.mutable.HashMap
 import org.bigbluebutton.core.api._
-import com.google.gson.Gson
 import scala.collection.mutable.HashMap
-import collection.JavaConverters._
 import scala.collection.JavaConversions._
 import java.util.ArrayList
-import org.bigbluebutton.common.messages.MessagingConstants
 import org.bigbluebutton.core.messaging.Util
 import org.bigbluebutton.common.messages.ChatKeyUtil
 
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/MeetingMessageToJsonConverter.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/MeetingMessageToJsonConverter.scala
index a8ed6e52ca3d88a54b1fa14b7a2f99b7aa08c429..83c6d05b0681ae620d1afe1cac19f77e96fe82a0 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/MeetingMessageToJsonConverter.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/MeetingMessageToJsonConverter.scala
@@ -4,10 +4,6 @@ import org.bigbluebutton.core.api._
 import org.bigbluebutton.core.messaging.Util
 import org.bigbluebutton.messages._
 
-import spray.json.JsArray
-import spray.json.JsObject
-import spray.json.JsString
-
 object MeetingMessageToJsonConverter {
   def meetingDestroyedToJson(msg: MeetingDestroyed): String = {
     val payload = new java.util.HashMap[String, Any]()
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/PesentationMessageToJsonConverter.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/PesentationMessageToJsonConverter.scala
index a26548a2342e7ecf2c210ce17ecc39faac493b1f..57064969b9e2837f80d8aa770fcbc658435a40d6 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/PesentationMessageToJsonConverter.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/PesentationMessageToJsonConverter.scala
@@ -3,7 +3,6 @@ package org.bigbluebutton.core.pubsub.senders
 import org.bigbluebutton.core.api._
 import org.bigbluebutton.core.messaging.Util
 import org.bigbluebutton.core.apps.Page
-import collection.JavaConverters._
 import scala.collection.JavaConversions._
 
 object PesentationMessageToJsonConverter {
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/SharedNotesMessageToJsonConverter.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/SharedNotesMessageToJsonConverter.scala
old mode 100644
new mode 100755
index 1e263d78aaded711a8d10b3caea968bdb8ae8e59..d259986e0887b98e2b963344ea7480e199a21385
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/SharedNotesMessageToJsonConverter.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/SharedNotesMessageToJsonConverter.scala
@@ -2,7 +2,6 @@ package org.bigbluebutton.core.pubsub.senders
 
 import org.bigbluebutton.core.messaging.Util
 import org.bigbluebutton.core.api._
-import com.google.gson.Gson
 import scala.collection.JavaConverters._
 
 object SharedNotesMessageToJsonConverter {
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/UsersMessageToJsonConverter.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/UsersMessageToJsonConverter.scala
index 97bcfba3bb294ba970c9569cc56409df234a54ef..8ab88afafdbc36ae1391ff43e291599381e2d1b5 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/UsersMessageToJsonConverter.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/UsersMessageToJsonConverter.scala
@@ -1,13 +1,9 @@
 package org.bigbluebutton.core.pubsub.senders
 
 import org.bigbluebutton.core.api._
-import org.bigbluebutton.common.messages.MessagingConstants
 import org.bigbluebutton.core.messaging.Util
-import com.google.gson.Gson
 import org.bigbluebutton.core.models.{ RegisteredUser, UserVO }
-
-import collection.JavaConverters._
-import scala.collection.JavaConversions._
+import scala.collection.JavaConverters._
 
 object UsersMessageToJsonConverter {
   private def userToMap(user: UserVO): java.util.Map[String, Any] = {
@@ -38,9 +34,9 @@ object UsersMessageToJsonConverter {
     vuser += "muted" -> user.voiceUser.muted
     vuser += "talking" -> user.voiceUser.talking
 
-    wuser.put("voiceUser", mapAsJavaMap(vuser))
+    wuser.put("voiceUser", mapAsJavaMapConverter(vuser).asJava)
 
-    mapAsJavaMap(wuser)
+    mapAsJavaMapConverter(wuser).asJava
   }
 
   private def registeredUserToMap(user: RegisteredUser): java.util.Map[String, Any] = {
@@ -54,7 +50,7 @@ object UsersMessageToJsonConverter {
     wuser += "guest" -> user.guest
     wuser += "waiting_for_acceptance" -> user.waitingForAcceptance
 
-    mapAsJavaMap(wuser)
+    mapAsJavaMapConverter(wuser).asJava
   }
 
   private def buildPermissionsHashMap(perms: Permissions): java.util.HashMap[String, java.lang.Boolean] = {
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/WhiteboardMessageToJsonConverter.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/WhiteboardMessageToJsonConverter.scala
index d2b8f337c21ec26fdf132bc160d408eb49fa4f10..7a99e4ea1e8102617ec1beffd65f4fa7f50aeb1b 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/WhiteboardMessageToJsonConverter.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/WhiteboardMessageToJsonConverter.scala
@@ -3,8 +3,7 @@ package org.bigbluebutton.core.pubsub.senders
 import org.bigbluebutton.core.api._
 import org.bigbluebutton.core.messaging.Util
 import org.bigbluebutton.core.apps.AnnotationVO
-import collection.JavaConverters._
-import scala.collection.JavaConversions._
+import scala.collection.JavaConverters._
 
 object WhiteboardMessageToJsonConverter {
   private def shapeToMap(shape: AnnotationVO): java.util.Map[String, Any] = {
@@ -20,9 +19,9 @@ object WhiteboardMessageToJsonConverter {
     for ((key, value) <- shape.shape) {
       shapeMap += key -> value
     }
-    res += "shape" -> mapAsJavaMap(shapeMap)
+    res += "shape" -> mapAsJavaMapConverter(shapeMap).asJava
 
-    mapAsJavaMap(res)
+    mapAsJavaMapConverter(res).asJava
   }
 
   def getWhiteboardShapesReplyToJson(msg: GetWhiteboardShapesReply): String = {
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/RunningMeeting.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/RunningMeeting.scala
index c319d1f330a18c65313149c164a7d71fd714c47d..8460ba09975a42663e2caf05ef7a2e72f4512a89 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/RunningMeeting.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/RunningMeeting.scala
@@ -1,6 +1,5 @@
 package org.bigbluebutton.core.running
 
-import akka.actor.ActorRef
 import akka.actor.ActorContext
 import org.bigbluebutton.core.apps._
 import org.bigbluebutton.core.bus._
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/AppsRedisSubscriberActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/AppsRedisSubscriberActor.scala
index 6187fcd93cee5ace269878f0a352de05aff137fc..5ee297d272f118850122aed0639076ad408e2447 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/AppsRedisSubscriberActor.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/AppsRedisSubscriberActor.scala
@@ -8,8 +8,6 @@ import java.net.InetSocketAddress
 import redis.actors.RedisSubscriberActor
 import redis.api.pubsub.{ PMessage, Message }
 import scala.concurrent.duration._
-import akka.actor.ActorRef
-import akka.actor.actorRef2Scala
 import org.bigbluebutton.SystemConfiguration
 import org.bigbluebutton.core.pubsub.receivers.RedisMessageReceiver
 import redis.api.servers.ClientSetname
@@ -28,9 +26,8 @@ object AppsRedisSubscriberActor extends SystemConfiguration {
 class AppsRedisSubscriberActor(msgReceiver: RedisMessageReceiver, redisHost: String,
   redisPort: Int,
   channels: Seq[String] = Nil, patterns: Seq[String] = Nil)
-    extends RedisSubscriberActor(
-      new InetSocketAddress(redisHost, redisPort),
-      channels, patterns) {
+    extends RedisSubscriberActor(new InetSocketAddress(redisHost, redisPort),
+      channels, patterns, onConnectStatus = connected => { println(s"connected: $connected") }) {
 
   override val supervisorStrategy = OneForOneStrategy(maxNrOfRetries = 10, withinTimeRange = 1 minute) {
     case e: Exception => {
@@ -51,7 +48,7 @@ class AppsRedisSubscriberActor(msgReceiver: RedisMessageReceiver, redisHost: Str
   }
 
   def onPMessage(pmessage: PMessage) {
-    //log.debug(s"RECEIVED:\n $pmessage \n")
-    msgReceiver.handleMessage(pmessage.patternMatched, pmessage.channel, pmessage.data)
+    log.debug(s"RECEIVED:\n ${pmessage.data.utf8String} \n")
+    msgReceiver.handleMessage(pmessage.patternMatched, pmessage.channel, pmessage.data.utf8String)
   }
 }
\ No newline at end of file
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/KeepAliveRedisPublisher.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/KeepAliveRedisPublisher.scala
index a62e442e9f74e19550857a9fcb6e2d472f65e0f9..5fa47909280437cb4e74ae18b7ff943009ace2e4 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/KeepAliveRedisPublisher.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/KeepAliveRedisPublisher.scala
@@ -1,7 +1,5 @@
 package org.bigbluebutton.endpoint.redis
 
-import akka.actor.Props
-import redis.RedisClient
 import scala.concurrent.duration._
 import scala.concurrent.ExecutionContext.Implicits.global
 import akka.actor.ActorSystem
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/RedisPublisher.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/RedisPublisher.scala
index c81566f180c392de90a0797fbe2172b1567f0473..17bc1aac8776808f02aabdd6c0f7cde1a3e6191c 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/RedisPublisher.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/endpoint/redis/RedisPublisher.scala
@@ -1,13 +1,9 @@
 package org.bigbluebutton.endpoint.redis
 
-import akka.actor.Props
 import redis.RedisClient
-import scala.concurrent.duration._
-import scala.concurrent.ExecutionContext.Implicits.global
 import akka.actor.ActorSystem
-import scala.concurrent.Await
-import akka.actor.Actor
 import org.bigbluebutton.SystemConfiguration
+import akka.util.ByteString
 
 class RedisPublisher(val system: ActorSystem) extends SystemConfiguration {
 
@@ -18,8 +14,8 @@ class RedisPublisher(val system: ActorSystem) extends SystemConfiguration {
   redis.clientSetname("BbbAppsAkkaPub")
 
   def publish(channel: String, data: String) {
-    //println("PUBLISH TO [" + channel + "]: \n [" + data + "]")
-    redis.publish(channel, data)
+    println("PUBLISH TO [" + channel + "]: \n [" + data + "]")
+    redis.publish(channel, ByteString(data))
   }
 
 }
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as b/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
index 30f5ae09e77ef7d79583029963d6448f6ddeec6d..5f318af6e5cbeb9212f8ab845f4e12e6749d1413 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
@@ -252,6 +252,7 @@ package org.bigbluebutton.modules.users.services
     }
     
     private function handleJoinedMeeting(msg:Object):void {
+		LOGGER.debug("*** handleJoinedMeeting {0} **** \n", [msg.msg]); 
       var map:Object = JSON.parse(msg.msg);
       var userid: String = map.user.userId;