From f503d5006b1cf1c4aa0915f14407087698d88580 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Wed, 2 Mar 2022 15:01:58 +0100 Subject: [PATCH] openvidu-server: fix lack of media_node_id to ELK summaries --- .../java/io/openvidu/server/cdr/CDREventSession.java | 4 ++-- .../java/io/openvidu/server/cdr/CallDetailRecord.java | 5 +++-- .../io/openvidu/server/core/SessionEventsHandler.java | 4 ++-- .../java/io/openvidu/server/core/SessionManager.java | 9 +++++---- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/cdr/CDREventSession.java b/openvidu-server/src/main/java/io/openvidu/server/cdr/CDREventSession.java index 8752ea09..e0cc9354 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/cdr/CDREventSession.java +++ b/openvidu-server/src/main/java/io/openvidu/server/cdr/CDREventSession.java @@ -32,10 +32,10 @@ public class CDREventSession extends CDREventEnd { } // sessionDestroyed - public CDREventSession(CDREventSession event, EndReason reason, Long timestamp) { + public CDREventSession(CDREventSession event, Session session, EndReason reason, Long timestamp) { super(CDREventName.sessionDestroyed, event.getSessionId(), event.getUniqueSessionId(), event.getTimestamp(), reason, timestamp); - this.session = event.session; + this.session = session; } public Session getSession() { diff --git a/openvidu-server/src/main/java/io/openvidu/server/cdr/CallDetailRecord.java b/openvidu-server/src/main/java/io/openvidu/server/cdr/CallDetailRecord.java index 700906c1..8b6d53b2 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/cdr/CallDetailRecord.java +++ b/openvidu-server/src/main/java/io/openvidu/server/cdr/CallDetailRecord.java @@ -74,10 +74,11 @@ public class CallDetailRecord { this.log(e); } - public void recordSessionDestroyed(String sessionId, EndReason reason) { + public void recordSessionDestroyed(Session session, EndReason reason) { + String sessionId = session.getSessionId(); CDREventSession e = this.sessions.remove(sessionId); if (e != null) { - CDREventSession eventSessionEnd = new CDREventSession(e, RecordingManager.finalReason(reason), + CDREventSession eventSessionEnd = new CDREventSession(e, session, RecordingManager.finalReason(reason), System.currentTimeMillis()); this.log(eventSessionEnd); diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java b/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java index bb9c592e..95a2bdf2 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java +++ b/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java @@ -71,8 +71,8 @@ public class SessionEventsHandler { CDR.recordSessionCreated(session); } - public void onSessionClosed(String sessionId, EndReason reason) { - CDR.recordSessionDestroyed(sessionId, reason); + public void onSessionClosed(Session session, EndReason reason) { + CDR.recordSessionDestroyed(session, reason); } public void onParticipantJoined(Participant participant, String sessionId, Set existingParticipants, diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/SessionManager.java b/openvidu-server/src/main/java/io/openvidu/server/core/SessionManager.java index 3b249ea8..aa7854c8 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/core/SessionManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/core/SessionManager.java @@ -19,8 +19,8 @@ package io.openvidu.server.core; import java.util.Collection; import java.util.HashSet; -import java.util.List; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -48,11 +48,11 @@ import io.openvidu.client.OpenViduException; import io.openvidu.client.OpenViduException.Code; import io.openvidu.client.internal.ProtocolElements; import io.openvidu.java.client.ConnectionProperties; +import io.openvidu.java.client.IceServerProperties; import io.openvidu.java.client.KurentoOptions; import io.openvidu.java.client.OpenViduRole; import io.openvidu.java.client.Recording; import io.openvidu.java.client.SessionProperties; -import io.openvidu.java.client.IceServerProperties; import io.openvidu.server.cdr.CDREventRecordingStatusChanged; import io.openvidu.server.config.OpenviduConfig; import io.openvidu.server.coturn.CoturnCredentialsService; @@ -344,7 +344,8 @@ public abstract class SessionManager { try { JsonObject serverMetadataJson = JsonParser.parseString(serverMetadata).getAsJsonObject(); String customConnectionId = serverMetadataJson.get("openviduCustomConnectionId").getAsString(); - customConnectionId = customConnectionId.replaceAll("\\W", ""); // Remove all non-word characters: [^A-Za-z0-9_] + // Remove all non-word characters: [^A-Za-z0-9_] + customConnectionId = customConnectionId.replaceAll("\\W", ""); customConnectionId = customConnectionId.replaceAll(IdentifierPrefixes.PARTICIPANT_PUBLIC_ID, ""); tokenObj.setConnectionId(IdentifierPrefixes.PARTICIPANT_PUBLIC_ID + customConnectionId); } catch (Exception e) { @@ -634,7 +635,7 @@ public abstract class SessionManager { if (session.close(reason)) { try { - sessionEventsHandler.onSessionClosed(session.getSessionId(), reason); + sessionEventsHandler.onSessionClosed(session, reason); } catch (Exception e) { log.error("Error recording 'sessionDestroyed' event for session {}: {} - {}", session.getSessionId(), e.getClass().getName(), e.getMessage());