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 3291a0e6bc8d80f86013e3d491054e11ec1a56b8..04002b462c00aa598c7733180e1aa92a9f58beca 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
@@ -23,7 +23,7 @@ class RedisPublisher(val system: ActorSystem) extends SystemConfiguration {
 
   // publish after 2 seconds every 2 or 5 seconds
   //system.scheduler.schedule(2 seconds, 2 seconds)(redis.publish("time", System.currentTimeMillis()))
-  //  system.scheduler.schedule(2 seconds, 5 seconds)(redis.publish("bigbluebutton:to-bbb-apps:users", "pattern value"))
+  //system.scheduler.schedule(10 seconds, 5 seconds)(redis.publish("bigbluebutton:to-bbb-apps:users", "pattern value"))
 
   def publish(channel: String, data: String) {
     println("PUBLISH TO [" + channel + "]: \n [" + data + "]")
diff --git a/bbb-common-message/build.sbt b/bbb-common-message/build.sbt
index debb98a81b1e51ba5239d1e659ae3940b60c3897..06e4376d76b0647c346d8a8a64f62a4c0ef92996 100755
--- a/bbb-common-message/build.sbt
+++ b/bbb-common-message/build.sbt
@@ -4,7 +4,7 @@ name := "bbb-common-message"
 
 organization := "org.bigbluebutton"
 
-version := "0.0.12"
+version := "0.0.13-SNAPSHOT"
 
 // We want to have our jar files in lib_managed dir.
 // This way we'll have the right path when we import
@@ -48,12 +48,12 @@ autoScalaLibrary := false
 * publish to the local maven repo using "sbt publish"
 */
 // Uncomment this to publish to local maven repo while commenting out the nexus repo
-//publishTo := Some(Resolver.file("file",  new File(Path.userHome.absolutePath+"/.m2/repository")))
+publishTo := Some(Resolver.file("file",  new File(Path.userHome.absolutePath+"/.m2/repository")))
 
 
 // Comment this out when publishing to local maven repo using SNAPSHOT version.
 // To push to sonatype "sbt publishSigned"
-
+/*
 publishTo := {
   val nexus = "https://oss.sonatype.org/"
   if (isSnapshot.value)
@@ -61,7 +61,7 @@ publishTo := {
   else
     Some("releases"  at nexus + "service/local/staging/deploy/maven2")
 }
-
+*/
 
 // Enables publishing to maven repo
 publishMavenStyle := true
diff --git a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/PubSubPingMessage.java b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/PubSubPingMessage.java
new file mode 100755
index 0000000000000000000000000000000000000000..c01d23a995c6507dd68c98e82e93a3afec5e65e1
--- /dev/null
+++ b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/PubSubPingMessage.java
@@ -0,0 +1,11 @@
+package org.bigbluebutton.common.messages;
+
+import org.bigbluebutton.common.messages.payload.PubSubPingMessagePayload;
+
+public class PubSubPingMessage implements IBigBlueButtonMessage {
+
+	public static final String PUBSUB_PING = "BbbPubSubPingMessage";
+	
+	public MessageHeader header;		
+	public PubSubPingMessagePayload payload;
+}
diff --git a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/PubSubPongMessage.java b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/PubSubPongMessage.java
new file mode 100755
index 0000000000000000000000000000000000000000..36d7467e0d635311379fb57658c996d94c171aaf
--- /dev/null
+++ b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/PubSubPongMessage.java
@@ -0,0 +1,11 @@
+package org.bigbluebutton.common.messages;
+
+import org.bigbluebutton.common.messages.payload.PubSubPingMessagePayload;
+
+public class PubSubPongMessage implements IBigBlueButtonMessage {
+
+	public static final String PUBSUB_PONG = "BbbPubSubPongMessage";
+	
+	public MessageHeader header;		
+	public PubSubPingMessagePayload payload;
+}
diff --git a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessage.java b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessage.java
index c0a99875d091442008a6c72fe024d237dd86f3d4..da6a6b4e956f9fec12cf05c3377b55379f718b90 100755
--- a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessage.java
+++ b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessage.java
@@ -1,5 +1,7 @@
 package org.bigbluebutton.common.messages;
 
+import org.bigbluebutton.common.messages.payload.StartCustomPollRequestMessagePayload;
+
 public class StartCustomPollRequestMessage implements IBigBlueButtonMessage {
 
 	public static final String START_CUSTOM_POLL_REQUEST = "start_custom_poll_request_message";
diff --git a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Util.java b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Util.java
index 2219090ab01c8ffd9e2eb7cc5fdc608aca949c2b..ed475eb25f8c5e088e6f5327e4af1b26f87e4fe4 100755
--- a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Util.java
+++ b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Util.java
@@ -4,8 +4,6 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
-
-import com.google.gson.Gson;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
diff --git a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/payload/PubSubPingMessagePayload.java b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/payload/PubSubPingMessagePayload.java
new file mode 100755
index 0000000000000000000000000000000000000000..1e60a5b01449d486f63b5ec4d1cb03b60e66fcc8
--- /dev/null
+++ b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/payload/PubSubPingMessagePayload.java
@@ -0,0 +1,6 @@
+package org.bigbluebutton.common.messages.payload;
+
+public class PubSubPingMessagePayload {
+	public String system;
+	public Long timestamp;
+}
diff --git a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessagePayload.java b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/payload/StartCustomPollRequestMessagePayload.java
similarity index 81%
rename from bbb-common-message/src/main/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessagePayload.java
rename to bbb-common-message/src/main/java/org/bigbluebutton/common/messages/payload/StartCustomPollRequestMessagePayload.java
index db604a7ba5b03bef4c67fff098ef17212ecee723..e72d90145dab17b38a8143770b06cd0f2932c0ce 100755
--- a/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessagePayload.java
+++ b/bbb-common-message/src/main/java/org/bigbluebutton/common/messages/payload/StartCustomPollRequestMessagePayload.java
@@ -1,4 +1,4 @@
-package org.bigbluebutton.common.messages;
+package org.bigbluebutton.common.messages.payload;
 
 import java.util.ArrayList;
 
diff --git a/bbb-common-message/src/test/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessageTest.java b/bbb-common-message/src/test/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessageTest.java
index d57e074a4bd8d8f271b63317d2e48bf2099494a3..c8f3cd58ca56f8a8201f4bc6ef7da577b43f280b 100755
--- a/bbb-common-message/src/test/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessageTest.java
+++ b/bbb-common-message/src/test/java/org/bigbluebutton/common/messages/StartCustomPollRequestMessageTest.java
@@ -2,6 +2,7 @@ package org.bigbluebutton.common.messages;
 
 import java.util.ArrayList;
 
+import org.bigbluebutton.common.messages.payload.StartCustomPollRequestMessagePayload;
 import org.junit.*;
 
 import com.google.gson.Gson;
diff --git a/bigbluebutton-apps/build.gradle b/bigbluebutton-apps/build.gradle
index 7c417fb7c1a5e7b443cade9d506a29b05ea4ded3..7332e7a3703fb227872feeacace74f9127923c50 100755
--- a/bigbluebutton-apps/build.gradle
+++ b/bigbluebutton-apps/build.gradle
@@ -88,7 +88,6 @@ dependencies {
   providedCompile 'org.slf4j:jul-to-slf4j:1.7.9@jar'
   providedCompile 'org.slf4j:slf4j-api:1.7.9@jar'
   	
-  compile "redis.clients:jedis:2.1.0"
   compile "org.codehaus.jackson:jackson-core-asl:$jacksonVersion"
   compile "org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion"
   compile "javax.servlet:com.springsource.javax.servlet.jsp.jstl:1.2.0"
@@ -106,13 +105,13 @@ dependencies {
   compile 'org.easymock:easymock:2.4@jar'
   
   //redis
-  //compile 'redis.clients:jedis:2.0.0'
-  providedCompile 'commons-pool:commons-pool:1.5.6'
+  compile "redis.clients:jedis:2.7.2"
+  compile 'org.apache.commons:commons-pool2:2.3'
  
    compile 'com.google.code.gson:gson:1.7.1'
    providedCompile 'org.apache.commons:commons-lang3:3.2'
 
-  compile 'org.bigbluebutton:bbb-common-message:0.0.12'
+  compile 'org.bigbluebutton:bbb-common-message:0.0.13-SNAPSHOT'
 }
 
 test {
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/monitoring/BbbAppsIsAliveMonitorService.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/monitoring/BbbAppsIsAliveMonitorService.java
index 9b741a9bb7981bb3acecce470065064440bb23cd..75a067972be6d2abb26287d2b13a5f392239401e 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/monitoring/BbbAppsIsAliveMonitorService.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/monitoring/BbbAppsIsAliveMonitorService.java
@@ -7,11 +7,18 @@ import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
+import org.bigbluebutton.common.messages.MessageHeader;
+import org.bigbluebutton.common.messages.MessagingConstants;
+import org.bigbluebutton.common.messages.PubSubPingMessage;
+import org.bigbluebutton.common.messages.payload.PubSubPingMessagePayload;
 import org.bigbluebutton.red5.client.messaging.ConnectionInvokerService;
 import org.bigbluebutton.red5.client.messaging.DisconnectAllMessage;
+import org.bigbluebutton.red5.pubsub.redis.MessageSender;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.gson.Gson;
+
 public class BbbAppsIsAliveMonitorService {
 	private static Logger log = LoggerFactory.getLogger(BbbAppsIsAliveMonitorService.class);
 	
@@ -27,6 +34,12 @@ public class BbbAppsIsAliveMonitorService {
 	private ConnectionInvokerService service;
 	private Long lastKeepAliveMessage = 0L;
 	
+	private MessageSender sender;
+	
+	public void setMessageSender(MessageSender sender) {
+		this.sender = sender;
+	}
+	
 	public void setConnectionInvokerService(ConnectionInvokerService s) {
 		this.service = s;
 	}
@@ -99,6 +112,20 @@ public class BbbAppsIsAliveMonitorService {
 	    public void run() {
 	     	CheckIsAliveTimer ping = new CheckIsAliveTimer();
 	     	queueMessage(ping);
+	     	
+	     	PubSubPingMessage msg = new PubSubPingMessage();
+	     	MessageHeader header = new MessageHeader();
+	     	header.name = PubSubPingMessage.PUBSUB_PING;
+	     	header.timestamp = System.nanoTime();
+	     	header.replyTo = "BbbRed5";
+	     	header.version = "0.0.1";
+	     	PubSubPingMessagePayload payload = new PubSubPingMessagePayload();
+	     	payload.system = "BbbAppsRed5";
+	     	payload.timestamp = System.currentTimeMillis();
+	     	msg.header = header;
+	     	msg.payload = payload;
+	     	Gson gson = new Gson();
+	     	sender.send(MessagingConstants.TO_SYSTEM_CHANNEL, gson.toJson(msg));
 	    }
 	  }
 }
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/GenericObjectPoolConfigWrapper.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/GenericObjectPoolConfigWrapper.java
deleted file mode 100755
index 0fc77788e9352d99f3d4f8af8e04f2c933c8c837..0000000000000000000000000000000000000000
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/GenericObjectPoolConfigWrapper.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
-* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
-* 
-* Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below).
-*
-* This program 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.0 of the License, or (at your option) any later
-* version.
-* 
-* BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
-* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public License along
-* with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
-*
-*/
-package org.bigbluebutton.red5.pubsub.redis;
-
-import org.apache.commons.pool.impl.GenericObjectPool;
-
-public class GenericObjectPoolConfigWrapper {
-	
-	private final GenericObjectPool.Config config;
- 
-    public GenericObjectPoolConfigWrapper() {
-        this.config = new GenericObjectPool.Config();
-    }
- 
-    public GenericObjectPool.Config getConfig() {
-        return config;
-    }
- 
-    public int getMaxIdle() {
-        return this.config.maxIdle;
-    }
- 
-    public void setMaxIdle(int maxIdle) {
-        this.config.maxIdle = maxIdle;
-    }
- 
-    public int getMinIdle() {
-        return this.config.minIdle;
-    }
- 
-    public void setMinIdle(int minIdle) {
-        this.config.minIdle = minIdle;
-    }
- 
-    public int getMaxActive() {
-        return this.config.maxActive;
-    }
- 
-    public void setMaxActive(int maxActive) {
-        this.config.maxActive = maxActive;
-    }
- 
-    public long getMaxWait() {
-        return this.config.maxWait;
-    }
- 
-    public void setMaxWait(long maxWait) {
-        this.config.maxWait = maxWait;
-    }
- 
-    public byte getWhenExhaustedAction() {
-        return this.config.whenExhaustedAction;
-    }
- 
-    public void setWhenExhaustedAction(byte whenExhaustedAction) {
-        this.config.whenExhaustedAction = whenExhaustedAction;
-    }
- 
-    public boolean isTestOnBorrow() {
-        return this.config.testOnBorrow;
-    }
- 
-    public void setTestOnBorrow(boolean testOnBorrow) {
-        this.config.testOnBorrow = testOnBorrow;
-    }
- 
-    public boolean isTestOnReturn() {
-        return this.config.testOnReturn;
-    }
- 
-    public void setTestOnReturn(boolean testOnReturn) {
-        this.config.testOnReturn = testOnReturn;
-    }
- 
-    public boolean isTestWhileIdle() {
-        return this.config.testWhileIdle;
-    }
- 
-    public void setTestWhileIdle(boolean testWhileIdle) {
-        this.config.testWhileIdle = testWhileIdle;
-    }
- 
-    public long getTimeBetweenEvictionRunsMillis() {
-        return this.config.timeBetweenEvictionRunsMillis;
-    }
- 
-    public void setTimeBetweenEvictionRunsMillis(
-            long timeBetweenEvictionRunsMillis) {
-        this.config.timeBetweenEvictionRunsMillis =
-                timeBetweenEvictionRunsMillis;
-    }
- 
-    public int getNumTestsPerEvictionRun() {
-        return this.config.numTestsPerEvictionRun;
-    }
- 
-    public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun) {
-        this.config.numTestsPerEvictionRun = numTestsPerEvictionRun;
-    }
- 
-    public long getMinEvictableIdleTimeMillis() {
-        return this.config.minEvictableIdleTimeMillis;
-    }
- 
-    public void setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis) {
-        this.config.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis;
-    }
- 
-    public long getSoftMinEvictableIdleTimeMillis() {
-        return this.config.softMinEvictableIdleTimeMillis;
-    }
- 
-    public void setSoftMinEvictableIdleTimeMillis(
-            long softMinEvictableIdleTimeMillis) {
-        this.config.softMinEvictableIdleTimeMillis =
-                softMinEvictableIdleTimeMillis;
-    }
- 
-    public boolean isLifo() {
-        return this.config.lifo;
-    }
- 
-    public void setLifo(boolean lifo) {
-        this.config.lifo = lifo;
-    }
-}
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/MessageReceiver.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/MessageReceiver.java
index db0ba373b79a36979f0ea078e1415e268d398e20..3b4a6b65b5f230307c0d4e5ab264219b0c9ccee6 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/MessageReceiver.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/MessageReceiver.java
@@ -2,13 +2,10 @@ package org.bigbluebutton.red5.pubsub.redis;
 
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
-
 import org.bigbluebutton.common.messages.MessagingConstants;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
-
 import redis.clients.jedis.Jedis;
-import redis.clients.jedis.JedisPool;
 import redis.clients.jedis.JedisPubSub;
 
 public class MessageReceiver {
@@ -16,11 +13,14 @@ public class MessageReceiver {
 	
 	private ReceivedMessageHandler handler;
 	
-	private JedisPool redisPool;
+	private Jedis jedis;
 	private volatile boolean receiveMessage = false;
 	
 	private final Executor msgReceiverExec = Executors.newSingleThreadExecutor();
 
+	private String host;
+	private int port;
+	
 	public void stop() {
 		receiveMessage = false;
 	}
@@ -29,7 +29,8 @@ public class MessageReceiver {
 		log.info("Ready to receive messages from Redis pubsub.");
 		try {
 			receiveMessage = true;
-			final Jedis jedis = redisPool.getResource();
+			jedis = new Jedis(host, port);
+			jedis.clientSetname("red5-psubscriber");
 			
 			Runnable messageReceiver = new Runnable() {
 			    public void run() {
@@ -45,8 +46,12 @@ public class MessageReceiver {
 		}			
 	}
 	
-	public void setRedisPool(JedisPool redisPool){
-		this.redisPool = redisPool;
+	public void setHost(String host){
+		this.host = host;
+	}
+	
+	public void setPort(int port) {
+		this.port = port;
 	}
 	
 	public void setMessageHandler(ReceivedMessageHandler handler) {
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/MessageSender.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/MessageSender.java
index 322b2b6acc2a2878890c025244f84741bb5401e4..b4eacbfc704a81715b509d3b278e0260abfd7076 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/MessageSender.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/pubsub/redis/MessageSender.java
@@ -4,10 +4,14 @@ import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingQueue;
+
+import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
+
 import redis.clients.jedis.Jedis;
 import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.Protocol;
 
 public class MessageSender {
 	private static Logger log = Red5LoggerFactory.getLogger(MessageSender.class, "bigbluebutton");
@@ -19,11 +23,17 @@ public class MessageSender {
 	private final Executor runExec = Executors.newSingleThreadExecutor();
 	private BlockingQueue<MessageToSend> messages = new LinkedBlockingQueue<MessageToSend>();
 	
+	private String host;
+	private int port;
+	
 	public void stop() {
 		sendMessage = false;
 	}
 	
-	public void start() {	
+	public void start() {
+		redisPool = new JedisPool(new GenericObjectPoolConfig(), host, port, Protocol.DEFAULT_TIMEOUT, null,
+		        Protocol.DEFAULT_DATABASE, "red5-publisher");
+		
 		log.info("Redis message publisher starting!");
 		try {
 			sendMessage = true;
@@ -60,7 +70,7 @@ public class MessageSender {
 		  		} catch(Exception e){
 		  			log.warn("Cannot publish the message to redis", e);
 		  		} finally {
-		  			redisPool.returnResource(jedis);
+		  			jedis.close();
 		  		}	    	
 		    }
 		};
@@ -68,7 +78,11 @@ public class MessageSender {
 		runExec.execute(task);
 	}
 	
-	public void setRedisPool(JedisPool redisPool){
-		this.redisPool = redisPool;
+	public void setHost(String host){
+		this.host = host;
+	}
+	
+	public void setPort(int port) {
+		this.port = port;
 	}
 }
diff --git a/bigbluebutton-apps/src/main/webapp/WEB-INF/bbb-red5-redis-pubsub.xml b/bigbluebutton-apps/src/main/webapp/WEB-INF/bbb-red5-redis-pubsub.xml
index 1d2dc3b44eb2cc988a42250a00b130d5723e3f66..f156d73c1f33aa717fcb439e97763719ab891378 100755
--- a/bigbluebutton-apps/src/main/webapp/WEB-INF/bbb-red5-redis-pubsub.xml
+++ b/bigbluebutton-apps/src/main/webapp/WEB-INF/bbb-red5-redis-pubsub.xml
@@ -29,13 +29,15 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 
     <bean id="red5RedisSender" class="org.bigbluebutton.red5.pubsub.redis.MessageSender" 
                     init-method="start" destroy-method="stop">
-      <property name="redisPool"> <ref bean="redisPool"/></property>
+      <property name="host" value="${redis.host}" />
+      <property name="port" value="${redis.port}" />
     </bean>
 
     <bean id="red5RedisReceiver" class="org.bigbluebutton.red5.pubsub.redis.MessageReceiver" 
                     init-method="start" destroy-method="stop">
-      <property name="redisPool"> <ref bean="redisPool"/></property>
       <property name="messageHandler"> <ref local="red5RedisHandler"/> </property>
+      <property name="host" value="${redis.host}" />
+      <property name="port" value="${redis.port}" />
     </bean>
 
     <bean id="red5RedisHandler" class="org.bigbluebutton.red5.pubsub.redis.ReceivedMessageHandler" 
diff --git a/bigbluebutton-apps/src/main/webapp/WEB-INF/bbb-redis-pool.xml b/bigbluebutton-apps/src/main/webapp/WEB-INF/bbb-redis-pool.xml
index ba2ae3e2a089af8b07777109e626e5d97098770c..f6ea08db3ba0fe4a7c5897d4e142cbd7409bfe6c 100755
--- a/bigbluebutton-apps/src/main/webapp/WEB-INF/bbb-redis-pool.xml
+++ b/bigbluebutton-apps/src/main/webapp/WEB-INF/bbb-redis-pool.xml
@@ -28,39 +28,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 			">
   	
     <bean id="redisPool" class="redis.clients.jedis.JedisPool">
-    	<constructor-arg index="0">
-    		<bean factory-bean="config" factory-method="getConfig" />
-  		</constructor-arg>
-        <constructor-arg index="1" value="${redis.host}"/>
-        <constructor-arg index="2" value="${redis.port}"/>
+        <constructor-arg index="0" value="${redis.host}"/>
+        <constructor-arg index="1" value="${redis.port}"/>
     </bean>
-	    
-    <bean id="config" class="org.bigbluebutton.red5.pubsub.redis.GenericObjectPoolConfigWrapper">
-	  <!-- Action to take when trying to acquire a connection and all connections are taken -->
-	  <property name="whenExhaustedAction">
-	    <!-- Fail-fast behaviour, we don't like to keep the kids waiting -->
-	    <util:constant static-field="org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_FAIL" />
-	    <!-- Default behaviour, block the caller until a resource becomes available -->
-	    <!--<util:constant static-field="org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_BLOCK" />-->
-	  </property>
-	  <!-- Maximum active connections to Redis instance -->
-	  <property name="maxActive" value="12" />
-	  <!-- Number of connections to Redis that just sit there and do nothing -->
-	  <property name="maxIdle" value="6" />
-	  <!-- Minimum number of idle connections to Redis - these can be seen as always open and ready to serve -->
-	  <property name="minIdle" value="1" />
-	  <!-- Tests whether connection is dead when connection retrieval method is called -->
-	  <property name="testOnBorrow" value="true" />
-	  <!-- Tests whether connection is dead when returning a connection to the pool -->
-	  <property name="testOnReturn" value="true" />
-	  <!-- Tests whether connections are dead during idle periods -->
-	  <property name="testWhileIdle" value="true" />
-	  <!-- Maximum number of connections to test in each idle check -->
-	  <property name="numTestsPerEvictionRun" value="12" />
-	  <!-- Idle connection checking period -->
-	  <property name="timeBetweenEvictionRunsMillis" value="60000" />
-	  <!-- Maximum time, in milliseconds, to wait for a resource when exausted action is set to WHEN_EXAUSTED_BLOCK -->
-	  <property name="maxWait" value="5000" />
-	</bean>
-    
+	       
 </beans>
diff --git a/bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml b/bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
index f9709f7d95c8adf0f2edf0f225a4bd2519fcc316..71e33b7777ed0c95c2ffb9e26209b3545a9f7804 100755
--- a/bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
+++ b/bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
@@ -111,6 +111,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
     <bean id="bbbAppsIsAliveMonitorService" class="org.bigbluebutton.red5.monitoring.BbbAppsIsAliveMonitorService"
                 init-method="start" destroy-method="stop">
         <property name="connectionInvokerService"> <ref bean="connInvokerService"/></property>
+        <property name="messageSender" ref="red5RedisSender"/>
     </bean>
 
     <bean id="bbbAppsIsKeepAliveHandler" class="org.bigbluebutton.red5.monitoring.BbbAppsIsKeepAliveHandler">