diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/Session.java b/openvidu-server/src/main/java/io/openvidu/server/core/Session.java index d88df531..05da0587 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/core/Session.java +++ b/openvidu-server/src/main/java/io/openvidu/server/core/Session.java @@ -118,6 +118,10 @@ public class Session implements SessionInterface { return closed; } + public String getMediaServerId() { + return null; + } + protected void checkClosed() { if (isClosed()) { throw new OpenViduException(Code.ROOM_CLOSED_ERROR_CODE, "The session '" + sessionId + "' is closed"); diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/SessionInterface.java b/openvidu-server/src/main/java/io/openvidu/server/core/SessionInterface.java index 61e78e19..cb409578 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/core/SessionInterface.java +++ b/openvidu-server/src/main/java/io/openvidu/server/core/SessionInterface.java @@ -45,6 +45,8 @@ public interface SessionInterface { int getActivePublishers(); + String getMediaServerId(); + JsonObject toJson(); JsonObject withStatsToJson(); diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSession.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSession.java index 6eb72675..1fec233a 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSession.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSession.java @@ -170,6 +170,11 @@ public class KurentoSession extends Session { } } + @Override + public String getMediaServerId() { + return this.kms.getId(); + } + public void sendIceCandidate(String participantPrivateId, String senderPublicId, String endpointName, IceCandidate candidate) { this.kurentoSessionHandler.onIceCandidate(sessionId, participantPrivateId, senderPublicId, endpointName, diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/Kms.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/Kms.java index 862570f2..cf23a442 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/Kms.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/Kms.java @@ -54,6 +54,7 @@ public class Kms { private String id; private String uri; private String ip; + private boolean quarantined; private KurentoClient client; private LoadManager loadManager; @@ -66,6 +67,7 @@ public class Kms { public Kms(KmsProperties props, LoadManager loadManager) { this.id = props.getId(); this.uri = props.getUri(); + this.quarantined = false; String parsedUri = uri.replaceAll("^ws://", "http://").replaceAll("^wss://", "https://"); URL url = null; @@ -95,6 +97,14 @@ public class Kms { return ip; } + public synchronized boolean isQuarantined() { + return this.quarantined; + } + + public synchronized void setQuarantined(boolean quarantined) { + this.quarantined = quarantined; + } + public KurentoClient getKurentoClient() { return this.client; } @@ -148,13 +158,13 @@ public class Kms { json.addProperty("id", this.id); json.addProperty("uri", this.uri); json.addProperty("ip", this.ip); + json.addProperty("quarantined", this.quarantined); final boolean connected = this.isKurentoClientConnected(); json.addProperty("connected", connected); json.addProperty("connectionTime", this.getTimeOfKurentoClientConnection()); if (!connected) { json.addProperty("disconnectionTime", this.getTimeOfKurentoClientDisconnection()); } - return json; }