diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/KurentoOptions.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/KurentoOptions.java
index 0bec883f..80d59a41 100644
--- a/openvidu-java-client/src/main/java/io/openvidu/java/client/KurentoOptions.java
+++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/KurentoOptions.java
@@ -110,7 +110,7 @@ public class KurentoOptions {
* value to this property will override the global configuration set in OpenVidu Server configuration (parameter
- * openvidu.streams.video.max-recv-bandwidth
) for every incoming
+ * OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH
) for every incoming
* stream of the user owning the token.
* WARNING: the lower value set to this property limits every
* other bandwidth of the WebRTC pipeline this server-to-client stream belongs
@@ -127,7 +127,7 @@ public class KurentoOptions {
* to this property will override the global configuration set in OpenVidu Server configuration (parameter
- * openvidu.streams.video.min-recv-bandwidth
) for every incoming
+ * OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH
) for every incoming
* stream of the user owning the token.
*/
public Integer getVideoMinRecvBandwidth() {
@@ -140,7 +140,7 @@ public class KurentoOptions {
* to this property will override the global configuration set in OpenVidu Server configuration (parameter
- * openvidu.streams.video.max-send-bandwidth
) for every outgoing
+ * OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH
) for every outgoing
* stream of the user owning the token.
* WARNING: this value limits every other bandwidth of the
* WebRTC pipeline this client-to-server stream belongs to. This includes every
@@ -156,7 +156,7 @@ public class KurentoOptions {
* this property will override the global configuration set in OpenVidu Server configuration (parameter
- * openvidu.streams.video.min-send-bandwidth
) for every outgoing
+ * OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH
) for every outgoing
* stream of the user owning the token.
*/
public Integer getVideoMinSendBandwidth() {
diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java
index 4e3f1fca..ecc64c87 100644
--- a/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java
+++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/OpenVidu.java
@@ -185,7 +185,7 @@ public class OpenVidu {
* or it is already being recorded
*
501
: OpenVidu Server
* recording module is disabled
- * (openvidu.recording property set
+ * (OPENVIDU_RECORDING property set
* to false)
*
*/
@@ -282,7 +282,7 @@ public class OpenVidu {
* or it is already being recorded
* 501
: OpenVidu Server
* recording module is disabled
- * (openvidu.recording property set
+ * (OPENVIDU_RECORDING property set
* to false)
*
*/
@@ -323,7 +323,7 @@ public class OpenVidu {
* or it is already being recorded
* 501
: OpenVidu Server
* recording module is disabled
- * (openvidu.recording property set
+ * (OPENVIDU_RECORDING property set
* to false)
*
*/
diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java
index e864f036..2e4051f4 100644
--- a/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java
+++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java
@@ -197,7 +197,7 @@ public class Recording {
* null
until recording reaches "ready" or "failed" status. If
* OpenVidu Server configuration property
- * openvidu.recording.public-access
is false, this path will be
+ * OPENVIDU_RECORDING_PUBLIC_ACCESS
is false, this path will be
* secured with OpenVidu credentials
*/
public String getUrl() {
diff --git a/openvidu-node-client/src/OpenVidu.ts b/openvidu-node-client/src/OpenVidu.ts
index 0d7d3bd7..817b04f5 100644
--- a/openvidu-node-client/src/OpenVidu.ts
+++ b/openvidu-node-client/src/OpenVidu.ts
@@ -130,7 +130,7 @@ export class OpenVidu {
* - `422`: when passing [[RecordingProperties]], `resolution` parameter exceeds acceptable values (for both width and height, min 100px and max 1999px) or trying
* to start a recording with both `hasAudio` and `hasVideo` to false
* - `409`: the session is not configured for using [[MediaMode.ROUTED]] or it is already being recorded
- * - `501`: OpenVidu Server recording module is disabled (`openvidu.recording` property set to `false`)
+ * - `501`: OpenVidu Server recording module is disabled (`OPENVIDU_RECORDING` property set to `false`)
*/
public startRecording(sessionId: string, param2?: string | RecordingProperties): Promise {
return new Promise((resolve, reject) => {
diff --git a/openvidu-node-client/src/Recording.ts b/openvidu-node-client/src/Recording.ts
index 6141ef37..26a04886 100644
--- a/openvidu-node-client/src/Recording.ts
+++ b/openvidu-node-client/src/Recording.ts
@@ -49,7 +49,7 @@ export class Recording {
duration = 0;
/**
- * URL of the recording. You can access the file from there. It is `null` until recording reaches "ready" or "failed" status. If OpenVidu Server configuration property `openvidu.recording.public-access` is false, this path will be secured with OpenVidu credentials
+ * URL of the recording. You can access the file from there. It is `null` until recording reaches "ready" or "failed" status. If OpenVidu Server configuration property `OPENVIDU_RECORDING_PUBLIC_ACCESS` is false, this path will be secured with OpenVidu credentials
*/
url: string;
diff --git a/openvidu-node-client/src/TokenOptions.ts b/openvidu-node-client/src/TokenOptions.ts
index 728cbbeb..632d977d 100644
--- a/openvidu-node-client/src/TokenOptions.ts
+++ b/openvidu-node-client/src/TokenOptions.ts
@@ -42,18 +42,18 @@ export interface TokenOptions {
* You can adjust:
* - `videoMaxRecvBandwidth`: maximum number of Kbps that the client owning the token will be able to receive from Kurento Media Server. 0 means unconstrained. Giving a value to this property will override
* the global configuration set in [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-server-params/#configuration-parameters-for-openvidu-server)
- * (parameter `openvidu.streams.video.max-recv-bandwidth`) for every incoming stream of the user owning the token.
+ * (parameter `OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH`) for every incoming stream of the user owning the token.
* _**WARNING**: the lower value set to this property limits every other bandwidth of the WebRTC pipeline this server-to-client stream belongs to. This includes the user publishing the stream and every other user subscribed to the stream_
* - `videoMinRecvBandwidth`: minimum number of Kbps that the client owning the token will try to receive from Kurento Media Server. 0 means unconstrained. Giving a value to this property will override
* the global configuration set in [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-server-params/#configuration-parameters-for-openvidu-server)
- * (parameter `openvidu.streams.video.min-recv-bandwidth`) for every incoming stream of the user owning the token
+ * (parameter `OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH`) for every incoming stream of the user owning the token
* - `videoMaxSendBandwidth`: maximum number of Kbps that the client owning the token will be able to send to Kurento Media Server. 0 means unconstrained. Giving a value to this property will override
* the global configuration set in [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-server-params/#configuration-parameters-for-openvidu-server)
- * (parameter `openvidu.streams.video.max-send-bandwidth`) for every outgoing stream of the user owning the token.
+ * (parameter `OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH`) for every outgoing stream of the user owning the token.
* _**WARNING**: this value limits every other bandwidth of the WebRTC pipeline this client-to-server stream belongs to. This includes every other user subscribed to the stream_
* - `videoMinSendBandwidth`: minimum number of Kbps that the client owning the token will try to send to Kurento Media Server. 0 means unconstrained. Giving a value to this property will override
* the global configuration set in [OpenVidu Server configuration](/en/stable/reference-docs/openvidu-server-params/#configuration-parameters-for-openvidu-server)
- * (parameter `openvidu.streams.video.min-send-bandwidth`) for every outgoing stream of the user owning the token
+ * (parameter `OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH`) for every outgoing stream of the user owning the token
* - `allowedFilters`: names of the filters the user owning the token will be able to apply. See [Voice and video filters](/en/stable/advanced-features/filters/)
*/
kurentoOptions?: {
diff --git a/openvidu-server/docker/openvidu-docker-compose/.env b/openvidu-server/docker/openvidu-docker-compose/.env
index 14a92911..7be42735 100644
--- a/openvidu-server/docker/openvidu-docker-compose/.env
+++ b/openvidu-server/docker/openvidu-docker-compose/.env
@@ -26,25 +26,21 @@ CERTIFICATE_TYPE=selfsigned
# If CERTIFICATE_TYPE=letsencrypt, you need to configure a valid email for notifications
LETSENCRYPT_EMAIL=user@example.com
-# Parameter "openvidu.recording.path"
# Openvidu Folder Record used for save the openvidu recording videos. Change it
# with the folder you want to use from your host.
OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings
-# Parameter "openvidu.recording.custom-layout"
# System path where OpenVidu Server should look for custom recording layouts
OPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/custom-layout
-# Parameter "openvidu.recording.public-access"
# if true any client can connect to
# https://OPENVIDU_SERVER_IP:OPENVIDU_PORT/recordings/any_session_file.mp4
# and access any recorded video file. If false this path will be secured with
-# openvidu.secret param just as OpenVidu Server dashboard at
+# OPENVIDU_SECRET param just as OpenVidu Server dashboard at
# https://OPENVIDU_SERVER_IP:OPENVIDU_PORT
# Values: true | false
OPENVIDU_RECORDING_PUBLIC_ACCESS=false
-# Parameter "openvidu.recording.notification"
# Which users should receive the recording events in the client side
# (recordingStarted, recordingStopped). Can be all (every user connected to
# the session), publisher_moderator (users with role 'PUBLISHER' or
@@ -52,7 +48,6 @@ OPENVIDU_RECORDING_PUBLIC_ACCESS=false
# (no user will receive these events)
OPENVIDU_RECORDING_NOTIFICATION=publisher_moderator
-# Parameter "openvidu.recording.autostop-timeout"
# Timeout in seconds for recordings to automatically stop (and the session involved to be closed)
# when conditions are met: a session recording is started but no user is publishing to it or a session
# is being recorded and last user disconnects. If a user publishes within the timeout in either case,
@@ -60,66 +55,54 @@ OPENVIDU_RECORDING_NOTIFICATION=publisher_moderator
# 0 means no timeout
OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT=120
-# Parameter "openvidu.streams.video.max-recv-bandwidth"
# Maximum video bandwidth sent from clients to OpenVidu Server, in kbps.
# 0 means unconstrained
OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH=1000
-# Parameter "openvidu.streams.video.min-recv-bandwidth"
# Minimum video bandwidth sent from clients to OpenVidu Server, in kbps.
# 0 means unconstrained
OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH=300
-# Parameter "openvidu.streams.video.max-send-bandwidth"
# Maximum video bandwidth sent from OpenVidu Server to clients, in kbps.
# 0 means unconstrained
OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH=1000
-# Parameter "openvidu.streams.video.min-send-bandwidth"
# Minimum video bandwidth sent from OpenVidu Server to clients, in kbps.
# 0 means unconstrained
OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH=300
-# Parameter "openvidu.webhook"
# true to enable OpenVidu Server Webhook service. false' otherwise
# Values: true | false
OPENVIDU_WEBHOOK=false
-# Parameter "openvidu.webhook.endpoint"
# HTTP endpoint where OpenVidu Server will send Webhook HTTP POST messages
# Must be a valid URL: http(s)://ENDPOINT
#OPENVIDU_WEBHOOK_ENDPOINT=
-# Parameter "openvidu.webhook.headers"
# List of headers that OpenVidu Server Webhook service will attach to HTTP POST messages
#OPENVIDU_WEBHOOK_HEADERS=
-# Parameter "openvidu.webhook.events"
# List of events that will be sent by OpenVidu Server Webhook service
# Leave blank if all events.
OPENVIDU_WEBHOOK_EVENTS=[sessionCreated,sessionDestroyed,participantJoined,participantLeft,webrtcConnectionCreated,webrtcConnectionDestroyed,recordingStatusChanged,filterEventDispatched,mediaNodeStatusChanged]
-# Parameter "openvidu.sessions.garbage.interval"
# How often the garbage collector of non active sessions runs.
# This helps cleaning up sessions that have been initialized through
# REST API (and maybe tokens have been created for them) but have had no users connected.
# Default to 900s (15 mins). 0 to disable non active sessions garbage collector
OPENVIDU_SESSIONS_GARBAGE_INTERVAL=900
-# Parameter "openvidu.sessions.garbage.threshold"
# Minimum time in seconds that a non active session must have been in existence
# for the garbage collector of non active sessions to remove it. Default to 3600s (1 hour).
# If non active sessions garbage collector is disabled
-# (property 'openvidu.sessions.garbage.interval' to 0) this property is ignored
+# (property 'OPENVIDU_SESSIONS_GARBAGE_INTERVAL' to 0) this property is ignored
OPENVIDU_SESSIONS_GARBAGE_THRESHOLD=3600
-# Parameter "openvidu.cdr"
# Call Detail Record enabled
# Whether to enable Call Detail Record or not
# Values: true | false
OPENVIDU_CDR=false
-# Parameter "openvidu.cdr.path"
# Path where the cdr log file is hosted
OPENVIDU_CDR_PATH=/opt/openvidu/log
diff --git a/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java b/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java
index dc8c5bcb..de9b8fa0 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java
@@ -98,7 +98,7 @@ public class OpenViduServer implements JsonRpcConfigurer {
@DependsOn("openviduConfig")
public KmsManager kmsManager(OpenviduConfig openviduConfig) {
if (openviduConfig.getKmsUris().isEmpty()) {
- throw new IllegalArgumentException("'kms.uris' should contain at least one KMS url");
+ throw new IllegalArgumentException("'KMS_URIS' should contain at least one KMS url");
}
String firstKmsWsUri = openviduConfig.getKmsUris().get(0);
log.info("OpenVidu Server using one KMS: {}", firstKmsWsUri);
@@ -114,13 +114,13 @@ public class OpenViduServer implements JsonRpcConfigurer {
log.info("OpenVidu CDR service is enabled");
loggers.add(new CDRLoggerFile());
} else {
- log.info("OpenVidu CDR service is disabled (may be enable with 'openvidu.cdr=true')");
+ log.info("OpenVidu CDR service is disabled (may be enable with 'OPENVIDU_CDR=true')");
}
if (openviduConfig.isWebhookEnabled()) {
log.info("OpenVidu Webhook service is enabled");
loggers.add(new CDRLoggerWebhook(openviduConfig));
} else {
- log.info("OpenVidu Webhook service is disabled (may be enabled with 'openvidu.webhook=true')");
+ log.info("OpenVidu Webhook service is disabled (may be enabled with 'OPENVIDU_WEBHOOK=true')");
}
return new CallDetailRecord(loggers);
}
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 dd3cf5a1..9228d8fd 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
@@ -43,7 +43,7 @@ import io.openvidu.server.webhook.CDRLoggerWebhook;
/**
* CDR logger to register all information of a Session.
- * Enabled by property 'openvidu.cdr=true'
+ * Enabled by property 'OPENVIDU_CDR=true'
*
* - 'sessionCreated': {sessionId, timestamp}
* - 'sessionDestroyed': {sessionId, timestamp, startTime, duration, reason}
diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java
index 544ea1ea..83d2b9c7 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java
@@ -433,62 +433,62 @@ public class OpenviduConfig {
}
protected List getNonUserProperties() {
- return Arrays.asList("coturn.ip", "coturn.redis.ip", "kms.uris", "server.port", "coturn.redis.dbname",
- "coturn.redis.password", "coturn.redis.connect-timeout");
+ return Arrays.asList("COTURN_IP", "COTURN_REDIS_IP", "KMS_URIS", "SERVER_PORT", "COTURN_REDIS_DBNAME",
+ "COTURN_REDIS_PASSWORD", "COTURN_REDIS_CONNECT_TIMEOUT");
}
// Properties
protected void checkConfigurationProperties() {
- serverPort = getValue("server.port");
+ serverPort = getValue("SERVER_PORT");
- coturnRedisDbname = getValue("coturn.redis.dbname");
+ coturnRedisDbname = getValue("COTURN_REDIS_DBNAME");
- coturnRedisPassword = getValue("coturn.redis.password");
+ coturnRedisPassword = getValue("COTURN_REDIS_PASSWORD");
- coturnRedisConnectTimeout = getValue("coturn.redis.connect-timeout");
+ coturnRedisConnectTimeout = getValue("COTURN_REDIS_CONNECT_TIMEOUT");
- openviduSecret = asNonEmptyString("openvidu.secret");
+ openviduSecret = asNonEmptyString("OPENVIDU_SECRET");
checkOpenviduPublicurl();
- openviduCdr = asBoolean("openvidu.cdr");
+ openviduCdr = asBoolean("OPENVIDU_CDR");
- openviduCdrPath = asFileSystemPath("openvidu.cdr.path");
+ openviduCdrPath = asFileSystemPath("OPENVIDU_CDR_PATH");
- openviduRecording = asBoolean("openvidu.recording");
- openviduRecordingPublicAccess = asBoolean("openvidu.recording.public-access");
- openviduRecordingAutostopTimeout = asNonNegativeInteger("openvidu.recording.autostop-timeout");
- openviduRecordingPath = asFileSystemPath("openvidu.recording.path");
- openviduRecordingCustomLayout = asFileSystemPath("openvidu.recording.custom-layout");
- openviduRecordingVersion = asNonEmptyString("openvidu.recording.version");
- openviduRecordingComposedUrl = asOptionalURL("openvidu.recording.composed-url");
+ openviduRecording = asBoolean("OPENVIDU_RECORDING");
+ openviduRecordingPublicAccess = asBoolean("OPENVIDU_RECORDING_PUBLIC_ACCESS");
+ openviduRecordingAutostopTimeout = asNonNegativeInteger("OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT");
+ openviduRecordingPath = asFileSystemPath("OPENVIDU_RECORDING_PATH");
+ openviduRecordingCustomLayout = asFileSystemPath("OPENVIDU_RECORDING_CUSTOM_LAYOUT");
+ openviduRecordingVersion = asNonEmptyString("OPENVIDU_RECORDING_VERSION");
+ openviduRecordingComposedUrl = asOptionalURL("OPENVIDU_RECORDING_COMPOSED_URL");
checkOpenviduRecordingNotification();
- openviduStreamsVideoMaxRecvBandwidth = asNonNegativeInteger("openvidu.streams.video.max-recv-bandwidth");
- openviduStreamsVideoMinRecvBandwidth = asNonNegativeInteger("openvidu.streams.video.min-recv-bandwidth");
- openviduStreamsVideoMaxSendBandwidth = asNonNegativeInteger("openvidu.streams.video.max-send-bandwidth");
- openviduStreamsVideoMinSendBandwidth = asNonNegativeInteger("openvidu.streams.video.min-send-bandwidth");
+ openviduStreamsVideoMaxRecvBandwidth = asNonNegativeInteger("OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH");
+ openviduStreamsVideoMinRecvBandwidth = asNonNegativeInteger("OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH");
+ openviduStreamsVideoMaxSendBandwidth = asNonNegativeInteger("OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH");
+ openviduStreamsVideoMinSendBandwidth = asNonNegativeInteger("OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH");
- openviduSessionsGarbageInterval = asNonNegativeInteger("openvidu.sessions.garbage.interval");
- openviduSessionsGarbageThreshold = asNonNegativeInteger("openvidu.sessions.garbage.threshold");
+ openviduSessionsGarbageInterval = asNonNegativeInteger("OPENVIDU_SESSIONS_GARBAGE_INTERVAL");
+ openviduSessionsGarbageThreshold = asNonNegativeInteger("OPENVIDU_SESSIONS_GARBAGE_THRESHOLD");
kmsUrisList = checkKmsUris();
checkCoturnIp();
- coturnRedisIp = asOptionalInetAddress("coturn.redis.ip");
+ coturnRedisIp = asOptionalInetAddress("COTURN_REDIS_IP");
checkWebhook();
checkCertificateType();
- dotenvPath = getValue("dotenv.path");
+ dotenvPath = getValue("DOTENV_PATH");
}
private void checkCertificateType() {
- String property = "certificate.type";
+ String property = "CERTIFICATE_TYPE";
certificateType = asNonEmptyString(property);
if (certificateType != null && !certificateType.isEmpty()) {
@@ -500,7 +500,7 @@ public class OpenviduConfig {
}
private void checkCoturnIp() {
- String property = "coturn.ip";
+ String property = "COTURN_IP";
coturnIp = asOptionalIPv4OrIPv6(property);
if (coturnIp == null || this.coturnIp.isEmpty()) {
@@ -513,36 +513,35 @@ public class OpenviduConfig {
}
private void checkWebhook() {
- openviduWebhookEnabled = asBoolean("openvidu.webhook");
- openviduWebhookEndpoint = asOptionalURL("openvidu.webhook.endpoint");
+ openviduWebhookEnabled = asBoolean("OPENVIDU_WEBHOOK");
+ openviduWebhookEndpoint = asOptionalURL("OPENVIDU_WEBHOOK_ENDPOINT");
webhookHeadersList = checkWebhookHeaders();
webhookEventsList = getWebhookEvents();
if (openviduWebhookEnabled && (openviduWebhookEndpoint == null || openviduWebhookEndpoint.isEmpty())) {
- addError("openvidu.webhook.endpoint",
- "With " + getPropertyName("openvidu.webhook") + "=true, this property cannot be empty");
+ addError("OPENVIDU_WEBHOOK_ENDPOINT",
+ "With " + getPropertyName("OPENVIDU_WEBHOOK") + "=true, this property cannot be empty");
}
}
private void checkOpenviduRecordingNotification() {
-
- String recordingNotif = asNonEmptyString("openvidu.recording.notification");
+ String recordingNotif = asNonEmptyString("OPENVIDU_RECORDING_NOTIFICATION");
try {
openviduRecordingNotification = RecordingNotification.valueOf(recordingNotif);
} catch (IllegalArgumentException e) {
- addError("openvidu.recording.notification",
+ addError("OPENVIDU_RECORDING_NOTIFICATION",
"Must be one of the values " + Arrays.asList(RecordingNotification.values()));
}
}
private void checkOpenviduPublicurl() {
- final String property = "openvidu.domain.or.public.ip";
+ final String property = "OPENVIDU_DOMAIN_OR_PUBLIC_IP";
String domain = getValue(property);
if (domain != null && !domain.isEmpty()) {
this.openviduPublicUrl = "https://" + domain;
} else {
- final String urlProperty = "openvidu.publicurl";
+ final String urlProperty = "OPENVIDU_PUBLICURL";
String publicurl = getValue(urlProperty);
if (publicurl == null || publicurl.isEmpty()) {
addError(property, "Cannot be empty");
@@ -607,7 +606,7 @@ public class OpenviduConfig {
public List checkKmsUris() {
- String property = "kms.uris";
+ String property = "KMS_URIS";
return asKmsUris(property, getValue(property));
@@ -638,7 +637,7 @@ public class OpenviduConfig {
}
private List checkWebhookHeaders() {
- String property = "openvidu.webhook.headers";
+ String property = "OPENVIDU_WEBHOOK_HEADERS";
List headers = asJsonStringsArray(property);
List headerList = new ArrayList<>();
@@ -663,7 +662,7 @@ public class OpenviduConfig {
}
private List getWebhookEvents() {
- String property = "openvidu.webhook.events";
+ String property = "OPENVIDU_WEBHOOK_EVENTS";
List events = asJsonStringsArray(property);
List eventList = new ArrayList<>();
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 3e451508..a24ab683 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
@@ -438,7 +438,7 @@ public class SessionEventsHandler {
public void sendRecordingStartedNotification(Session session, Recording recording) {
- // Filter participants by roles according to "openvidu.recording.notification"
+ // Filter participants by roles according to "OPENVIDU_RECORDING_NOTIFICATION"
Set filteredParticipants = this.filterParticipantsByRole(
this.openviduConfig.getRolesFromRecordingNotification(), session.getParticipants());
@@ -457,7 +457,7 @@ public class SessionEventsHandler {
// Be sure to clean this map (this should return null)
this.recordingsStarted.remove(session.getSessionId());
- // Filter participants by roles according to "openvidu.recording.notification"
+ // Filter participants by roles according to "OPENVIDU_RECORDING_NOTIFICATION"
Set existingParticipants;
try {
existingParticipants = session.getParticipants();
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 0c24c0a4..56400101 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
@@ -429,7 +429,7 @@ public abstract class SessionManager {
private void startSessionGarbageCollector() {
if (openviduConfig.getSessionGarbageInterval() == 0) {
log.info(
- "Garbage collector for non active sessions is disabled (property 'openvidu.sessions.garbage.interval' is 0)");
+ "Garbage collector for non active sessions is disabled (property 'OPENVIDU_SESSIONS_GARBAGE_INTERVAL' is 0)");
return;
}
TimerTask task = new TimerTask() {
diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java
index 72736971..33ac3a80 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java
@@ -135,11 +135,11 @@ public class RecordingManager {
} else if (e.getCodeValue() == Code.RECORDING_PATH_NOT_VALID.getValue()) {
finalErrorMessage = "Error initializing recording path \""
+ this.openviduConfig.getOpenViduRecordingPath()
- + "\" set with system property \"openvidu.recording.path\"";
+ + "\" set with system property \"OPENVIDU_RECORDING_PATH\"";
} else if (e.getCodeValue() == Code.RECORDING_FILE_EMPTY_ERROR.getValue()) {
finalErrorMessage = "Error initializing recording custom layouts path \""
+ this.openviduConfig.getOpenviduRecordingCustomLayout()
- + "\" set with system property \"openvidu.recording.custom-layout\"";
+ + "\" set with system property \"OPENVIDU_RECORDING_CUSTOM_LAYOUT\"";
}
log.error(finalErrorMessage + ". Shutting down OpenVidu Server");
System.exit(1);
@@ -212,7 +212,7 @@ public class RecordingManager {
if ("docker".equals(openviduConfig.getSpringProfile())) {
final String NEW_LINE = System.getProperty("line.separator");
message += ": make sure you include the following flags in your \"docker run\" command:" + NEW_LINE
- + " -e openvidu.recording.path=/YOUR/PATH/TO/VIDEO/FILES" + NEW_LINE
+ + " -e OPENVIDU_RECORDING_PATH=/YOUR/PATH/TO/VIDEO/FILES" + NEW_LINE
+ " -e MY_UID=$(id -u $USER)" + NEW_LINE + " -v /var/run/docker.sock:/var/run/docker.sock"
+ NEW_LINE + " -v /YOUR/PATH/TO/VIDEO/FILES:/YOUR/PATH/TO/VIDEO/FILES" + NEW_LINE;
} else {
@@ -649,7 +649,7 @@ public class RecordingManager {
// Check Kurento Media Server write permissions in recording path
if (this.kmsManager.getKmss().isEmpty()) {
- log.warn("No KMSs were defined in kms.uris array. Recording path check aborted");
+ log.warn("No KMSs were defined in KMS_URIS array. Recording path check aborted");
} else {
MediaPipeline pipeline = this.kmsManager.getLessLoadedConnectedAndRunningKms().getKurentoClient()
@@ -708,7 +708,7 @@ public class RecordingManager {
}
if (openviduConfig.openviduRecordingCustomLayoutChanged(openviduRecordingCustomLayout)) {
- // Property openvidu.recording.custom-layout changed
+ // Property OPENVIDU_RECORDING_CUSTOM_LAYOUT changed
File dir = new File(openviduRecordingCustomLayout);
if (dir.exists()) {
if (!dir.isDirectory()) {
@@ -733,7 +733,7 @@ public class RecordingManager {
try {
Files.createDirectories(dir.toPath());
log.warn(
- "OpenVidu custom layouts path (system property 'openvidu.recording.custom-layout') has been created, being folder {}. "
+ "OpenVidu custom layouts path (system property 'OPENVIDU_RECORDING_CUSTOM_LAYOUT') has been created, being folder {}. "
+ "It is an empty folder, so no custom layout is currently present",
dir.getAbsolutePath());
} catch (IOException e) {
diff --git a/openvidu-server/src/main/java/io/openvidu/server/resources/RecordingCustomLayoutsResourceHandler.java b/openvidu-server/src/main/java/io/openvidu/server/resources/RecordingCustomLayoutsResourceHandler.java
index cbfd87fb..432f8451 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/resources/RecordingCustomLayoutsResourceHandler.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/resources/RecordingCustomLayoutsResourceHandler.java
@@ -27,12 +27,12 @@ import io.openvidu.server.config.OpenviduConfig;
/**
* This class serves custom recording layouts from host folder indicated in
- * configuration property openvidu.recording.custom-layout
+ * configuration property OPENVIDU_RECORDING_CUSTOM_LAYOUT
*
* @author Pablo Fuente (pablofuenteperez@gmail.com)
*/
@Configuration
-@ConditionalOnProperty(name = "openvidu.recording", havingValue = "true")
+@ConditionalOnProperty(name = "OPENVIDU_RECORDING", havingValue = "true")
public class RecordingCustomLayoutsResourceHandler implements WebMvcConfigurer {
@Autowired
diff --git a/openvidu-server/src/main/java/io/openvidu/server/resources/RecordingsResourceHandler.java b/openvidu-server/src/main/java/io/openvidu/server/resources/RecordingsResourceHandler.java
index a4d7b581..b037a602 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/resources/RecordingsResourceHandler.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/resources/RecordingsResourceHandler.java
@@ -26,7 +26,7 @@ import io.openvidu.server.config.OpenviduConfig;
/**
* This class serves recording files from host folder indicated in configuration
- * property openvidu.recording.path
+ * property OPENVIDU_RECORDING_PATH
*
* @author Pablo Fuente (pablofuenteperez@gmail.com)
*/
diff --git a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java
index 6b1897fd..bf5d18cf 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java
@@ -444,7 +444,7 @@ public class SessionRestController {
log.info("REST API: POST /api/recordings/start {}", params.toString());
if (!this.openviduConfig.isRecordingModuleEnabled()) {
- // OpenVidu Server configuration property "openvidu.recording" is set to false
+ // OpenVidu Server configuration property "OPENVIDU_RECORDING" is set to false
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
}
diff --git a/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json
index 4d54db20..f2c0ad93 100644
--- a/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json
+++ b/openvidu-server/src/main/resources/META-INF/additional-spring-configuration-metadata.json
@@ -1,181 +1,180 @@
{
"properties": [
{
- "name": "dotenv.path",
+ "name": "DOTENV_PATH",
"type": "java.lang.String",
"description": "Path to the .env configuration file"
},
{
- "name": "kms.uris",
+ "name": "KMS_URIS",
"type": "java.lang.String",
"description": "KMS URL's to which OpenVidu Server will try to connect. They are tested in order until a valid one is found",
"defaultValue": "[\"ws://localhost:8888/kurento\"]"
},
{
- "name": "openvidu.secret",
+ "name": "OPENVIDU_SECRET",
"type": "java.lang.String",
"description": "Secret used to connect to OpenVidu Server. This value is required when using the REST API or any server client, as well as when connecting to openvidu-server dashboard",
"defaultValue": "MY_SECRET"
},
{
- "name": "openvidu.publicurl",
+ "name": "OPENVIDU_PUBLICURL",
"type": "java.lang.String",
"description": "URL to connect clients to OpenVidu Server. This must be the full IP of your OpenVidu Server, including protocol, host and port (for example: https://my.openvidu.server.ip:4443). If no port argument is provided, 'server.port' param will be appended to it",
"defaultValue": "local"
},
{
- "name": "openvidu.cdr",
+ "name": "OPENVIDU_CDR",
"type": "java.lang.Boolean",
"description": "Whether to enable Call Detail Record or not",
"defaultValue": false
},
{
- "name": "openvidu.cdr.path",
+ "name": "OPENVIDU_CDR_PATH",
"type": "java.lang.String",
"description": "Where to store CDR files",
"defaultValue": "log"
},
{
- "name": "openvidu.recording",
+ "name": "OPENVIDU_RECORDING",
"type": "java.lang.Boolean",
"description": "Whether to start OpenVidu Server with recording module service available or not (a Docker image will be downloaded during the first execution). Apart from setting this param to true, it is also necessary to explicitly configure sessions to be recorded",
"defaultValue": false
},
{
- "name": "openvidu.recording.path",
+ "name": "OPENVIDU_RECORDING_PATH",
"type": "java.lang.String",
"description": "Where to store the recorded video files",
"defaultValue": "/opt/openvidu/recordings"
},
{
- "name": "openvidu.recording.public-access",
+ "name": "OPENVIDU_RECORDING_PUBLIC_ACCESS",
"type": "java.lang.Boolean",
"description": "'true' to allow public access to the video files specified in 'openviu.recording.path'. 'false' to only allow access to authenticated users",
"defaultValue": false
},
{
- "name": "openvidu.recording.notification",
+ "name": "OPENVIDU_RECORDING_NOTIFICATION",
"type": "java.lang.String",
"description": "Which users will receive a notfication (client events 'recordingStarted' and 'recordingStopped') when recording starts and stops: 'none', 'publisher_moderator', 'all'",
"defaultValue": "publisher_moderator"
},
{
- "name": "openvidu.recording.custom-layout",
+ "name": "OPENVIDU_RECORDING_CUSTOM_LAYOUT",
"type": "java.lang.String",
"description": "Where should OpenVidu Server look for custom recording layouts",
"defaultValue": "/opt/openvidu/custom-layout"
},
{
- "name": "openvidu.recording.version",
+ "name": "OPENVIDU_RECORDING_VERSION",
"type": "java.lang.String",
"description": "Tag for openvidu/openvidu-recording Docker image"
},
{
- "name": "openvidu.recording.autostop-timeout",
+ "name": "OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT",
"type": "java.lang.Integer",
"description": "Timeout in seconds for automatically stopping the recording of a session when last user disconnects or when it starts and no user is publishing (only if RecordingMode.MANUAL)",
"defaultValue": 120
},
{
- "name": "openvidu.recording.composed-url",
+ "name": "OPENVIDU_RECORDING_COMPOSED_URL",
"type": "java.lang.String",
- "description": "URL the composed-video recording dockerized Chrome will use to connect to the recording layouts inside OpenVidu Server host. This will affect all video recording layouts (default one BEST_FIT, all CUSTOM layouts). This allows changing the default URL, which is 'openvidu.publicurl', for those cases where OpenVidu Server host does not allow back and forth connections using the public url from inside the host",
+ "description": "URL the composed-video recording dockerized Chrome will use to connect to the recording layouts inside OpenVidu Server host. This will affect all video recording layouts (default one BEST_FIT, all CUSTOM layouts). This allows changing the default URL, which is 'OPENVIDU_PUBLICURL', for those cases where OpenVidu Server host does not allow back and forth connections using the public url from inside the host",
"defaultValue": ""
},
{
- "name": "openvidu.webhook",
+ "name": "OPENVIDU_WEBHOOK",
"type": "java.lang.Boolean",
"description": "'true' to enable OpenVidu Server Webhook service. 'false' otherwise",
"defaultValue": false
},
{
- "name": "openvidu.webhook.endpoint",
+ "name": "OPENVIDU_WEBHOOK_ENDPOINT",
"type": "java.lang.String",
"description": "HTTP endpoint where OpenVidu Server will send Webhook HTTP POST messages",
"defaultValue": ""
},
{
- "name": "openvidu.webhook.headers",
+ "name": "OPENVIDU_WEBHOOK_HEADERS",
"type": "java.lang.String",
"description": "List of headers that OpenVidu Server Webhook service will attach to HTTP POST messages",
"defaultValue": "[]"
},
{
- "name": "openvidu.webhook.events",
+ "name": "OPENVIDU_WEBHOOK_EVENTS",
"type": "java.lang.String",
"description": "List of events that will be sent by OpenVidu Server Webhook service",
"defaultValue": "[\"sessionCreated\",\"sessionDestroyed\",\"participantJoined\",\"participantLeft\",\"webrtcConnectionCreated\",\"webrtcConnectionDestroyed\",\"recordingStatusChanged\"]"
},
{
- "name": "openvidu.streams.video.max-recv-bandwidth",
+ "name": "OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH",
"type": "java.lang.Integer",
"description": "Maximum video bandwidth sent from clients to OpenVidu Server, in kbps. 0 means unconstrained",
"defaultValue": 1000
},
{
- "name": "openvidu.streams.video.min-recv-bandwidth",
+ "name": "OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH",
"type": "java.lang.Integer",
"description": "Minimum video bandwidth sent from clients to OpenVidu Server, in kbps. 0 means unconstrained",
"defaultValue": 300
},
{
- "name": "openvidu.streams.video.max-send-bandwidth",
+ "name": "OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH",
"type": "java.lang.Integer",
"description": "Maximum video bandwidth sent from OpenVidu Server to clients, in kbps. 0 means unconstrained",
"defaultValue": 1000
},
{
- "name": "openvidu.streams.video.min-send-bandwidth",
+ "name": "OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH",
"type": "java.lang.Integer",
"description": "Minimum video bandwidth sent from OpenVidu Server to clients, in kbps. 0 means unconstrained",
"defaultValue": 300
},
{
- "name": "openvidu.sessions.garbage.interval",
+ "name": "OPENVIDU_SESSIONS_GARBAGE_INTERVAL",
"type": "java.lang.Integer",
"description": "How often the garbage collector of non active sessions runs. This helps cleaning up sessions that have been initialized through REST API (and maybe tokens have been created for them) but have had no users connected. Default to 900s (15 mins). 0 to disable non active sessions garbage collector",
"defaultValue": 900
},
{
- "name": "openvidu.sessions.garbage.threshold",
+ "name": "OPENVIDU_SESSIONS_GARBAGE_THRESHOLD",
"type": "java.lang.Integer",
- "description": "Minimum time in seconds that a non active session must have been in existence for the garbage collector of non active sessions to remove it. Default to 3600s (1 hour). If non active sessions garbage collector is disabled (property 'openvidu.sessions.garbage.interval' to 0) this property is ignored",
+ "description": "Minimum time in seconds that a non active session must have been in existence for the garbage collector of non active sessions to remove it. Default to 3600s (1 hour). If non active sessions garbage collector is disabled (property 'OPENVIDU_SESSIONS_GARBAGE_INTERVAL' to 0) this property is ignored",
"defaultValue": 3600
},
{
- "name": "coturn.ip",
+ "name": "COTURN_IP",
"type": "java.lang.String",
"description": "Coturn IP of a deployed coturn server"
},
{
- "name": "coturn.redis.ip",
+ "name": "COTURN_REDIS_IP",
"type": "java.lang.String",
"description": "Redis IP where OpenVidu Server should connect to store TURN credentials",
"defaultValue": "127.0.0.1"
},
{
- "name": "coturn.redis.dbname",
+ "name": "COTURN_REDIS_DBNAME",
"type": "java.lang.String",
"description": "Redis database where to store TURN credentials",
"defaultValue": "0"
},
{
- "name": "coturn.redis.password",
+ "name": "COTURN_REDIS_PASSWORD",
"type": "java.lang.String",
"description": "Password to connect OpenVidu Server to Redis database to store TURN credentials",
"defaultValue": "turn"
},
{
- "name": "coturn.redis.connect-timeout",
+ "name": "COTURN_REDIS_CONNECT_TIMEOUT",
"type": "java.lang.Integer",
"description": "Timeout in seconds when OpenVidu Server is connecting to Redis database to store TURN credentials",
"defaultValue": 30
},
{
- "name": "coturn.sqlite",
+ "name": "CERTIFICATE_TYPE",
"type": "java.lang.String",
- "description": "Path to COTURN sqlite database to add and remove TURN user credentials",
- "defaultValue": "/opt/openvidu/coturn/turndb"
+ "description": "Which kind of certificate shall be used by OpenVidu in production mode [selfsigned,letsencrypt,owncert]"
},
{
"name": "jsonRpcClientWebSocket.reconnectionDelay",
@@ -218,11 +217,6 @@
"type": "java.lang.Long",
"description": "Maximum number of websocket sessions that openvidu-server will be able to hold",
"defaultValue": 9223372036854775807
- },
- {
- "name": "certificate.type",
- "type": "java.lang.String",
- "description": "A description for 'certificate.type'"
}
]
}
\ No newline at end of file
diff --git a/openvidu-server/src/main/resources/application-docker.properties b/openvidu-server/src/main/resources/application-docker.properties
index b72a927d..7730567d 100644
--- a/openvidu-server/src/main/resources/application-docker.properties
+++ b/openvidu-server/src/main/resources/application-docker.properties
@@ -1,25 +1,22 @@
spring.profiles.active: docker
-
server.address: 0.0.0.0
-server.ssl.enabled: true
-openvidu.recording.version: 2.9.0
-
-
-
server.port: 4443
+server.ssl.enabled: true
server.ssl.key-store: classpath:openvidu-selfsigned.jks
server.ssl.key-store-password: openvidu
server.ssl.key-store-type: JKS
server.ssl.key-alias: openvidu-selfsigned
-kms.uris=["ws://localhost:8888/kurento"]
-openvidu.secret: MY_SECRET
-openvidu.publicurl: local
-openvidu.cdr: false
+KMS_URIS=["ws://localhost:8888/kurento"]
-openvidu.recording: false
-openvidu.recording.path: /opt/openvidu/recordings
-openvidu.recording.public-access: false
-openvidu.recording.notification: publisher_moderator
-openvidu.recording.custom-layout: /opt/openvidu/custom-layout
-openvidu.recording.autostop-timeout: 120
\ No newline at end of file
+OPENVIDU_SECRET: MY_SECRET
+OPENVIDU_PUBLICURL: local
+OPENVIDU_CDR: false
+
+OPENVIDU_RECORDING: false
+OPENVIDU_RECORDING_VERSION: 2.9.0
+OPENVIDU_RECORDING_PATH: /opt/openvidu/recordings
+OPENVIDU_RECORDING_PUBLIC_ACCESS: false
+OPENVIDU_RECORDING_NOTIFICATION: publisher_moderator
+OPENVIDU_RECORDING_CUSTOM_LAYOUT: /opt/openvidu/custom-layout
+OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT: 120
\ No newline at end of file
diff --git a/openvidu-server/src/main/resources/application.properties b/openvidu-server/src/main/resources/application.properties
index 0937a01f..705019f5 100644
--- a/openvidu-server/src/main/resources/application.properties
+++ b/openvidu-server/src/main/resources/application.properties
@@ -1,5 +1,3 @@
-dotenv.path=.
-
server.address=0.0.0.0
server.ssl.enabled=true
server.port=4443
@@ -11,38 +9,40 @@ server.ssl.key-alias=openvidu-selfsigned
logging.level.root=info
spring.main.allow-bean-definition-overriding=true
-certificate.type=selfsigned
-kms.uris=["ws://localhost:8888/kurento"]
+DOTENV_PATH=.
-openvidu.publicurl=local
-openvidu.secret=MY_SECRET
+CERTIFICATE_TYPE=selfsigned
+KMS_URIS=["ws://localhost:8888/kurento"]
-openvidu.cdr=false
-openvidu.cdr.path=log
+OPENVIDU_PUBLICURL=local
+OPENVIDU_SECRET=MY_SECRET
-openvidu.webhook=false
-openvidu.webhook.endpoint=
-openvidu.webhook.headers=[]
-openvidu.webhook.events=["sessionCreated","sessionDestroyed","participantJoined","participantLeft","webrtcConnectionCreated","webrtcConnectionDestroyed","recordingStatusChanged","filterEventDispatched","mediaNodeStatusChanged"]
+OPENVIDU_CDR=false
+OPENVIDU_CDR_PATH=log
-openvidu.recording=false
-openvidu.recording.version=2.9.0
-openvidu.recording.path=/opt/openvidu/recordings
-openvidu.recording.public-access=false
-openvidu.recording.notification=publisher_moderator
-openvidu.recording.custom-layout=/opt/openvidu/custom-layout
-openvidu.recording.autostop-timeout=120
-openvidu.recording.composed-url=
+OPENVIDU_WEBHOOK=false
+OPENVIDU_WEBHOOK_ENDPOINT=
+OPENVIDU_WEBHOOK_HEADERS=[]
+OPENVIDU_WEBHOOK_EVENTS=["sessionCreated","sessionDestroyed","participantJoined","participantLeft","webrtcConnectionCreated","webrtcConnectionDestroyed","recordingStatusChanged","filterEventDispatched","mediaNodeStatusChanged"]
-openvidu.streams.video.max-recv-bandwidth=1000
-openvidu.streams.video.min-recv-bandwidth=300
-openvidu.streams.video.max-send-bandwidth=1000
-openvidu.streams.video.min-send-bandwidth=300
+OPENVIDU_RECORDING=false
+OPENVIDU_RECORDING_VERSION=2.9.0
+OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings
+OPENVIDU_RECORDING_PUBLIC_ACCESS=false
+OPENVIDU_RECORDING_NOTIFICATION=publisher_moderator
+OPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/custom-layout
+OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT=120
+OPENVIDU_RECORDING_COMPOSED_URL=
-openvidu.sessions.garbage.interval=900
-openvidu.sessions.garbage.threshold=3600
+OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH=1000
+OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH=300
+OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH=1000
+OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH=300
-coturn.redis.ip=127.0.0.1
-coturn.redis.dbname=0
-coturn.redis.password=turn
-coturn.redis.connect-timeout=30
+OPENVIDU_SESSIONS_GARBAGE_INTERVAL=900
+OPENVIDU_SESSIONS_GARBAGE_THRESHOLD=3600
+
+COTURN_REDIS_IP=127.0.0.1
+COTURN_REDIS_DBNAME=0
+COTURN_REDIS_PASSWORD=turn
+COTURN_REDIS_CONNECT_TIMEOUT=30
diff --git a/openvidu-server/src/main/resources/logback-spring.xml b/openvidu-server/src/main/resources/logback-spring.xml
index 31110cc0..42d439a1 100644
--- a/openvidu-server/src/main/resources/logback-spring.xml
+++ b/openvidu-server/src/main/resources/logback-spring.xml
@@ -1,7 +1,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
diff --git a/openvidu-server/src/test/java/io/openvidu/server/test/integration/SessionGarbageCollectorIntegrationTest.java b/openvidu-server/src/test/java/io/openvidu/server/test/integration/SessionGarbageCollectorIntegrationTest.java
index 954196c3..6b1527c8 100644
--- a/openvidu-server/src/test/java/io/openvidu/server/test/integration/SessionGarbageCollectorIntegrationTest.java
+++ b/openvidu-server/src/test/java/io/openvidu/server/test/integration/SessionGarbageCollectorIntegrationTest.java
@@ -47,7 +47,7 @@ import io.openvidu.server.test.integration.config.IntegrationTestConfiguration;
/**
* @author Pablo Fuente (pablofuenteperez@gmail.com)
*/
-@SpringBootTest(properties = { "openvidu.sessions.garbage.interval=1", "openvidu.sessions.garbage.threshold=1" })
+@SpringBootTest(properties = { "OPENVIDU_SESSIONS_GARBAGE_INTERVAL=1", "OPENVIDU_SESSIONS_GARBAGE_THRESHOLD=1" })
@TestPropertySource(locations = "classpath:integration-test.properties")
@ContextConfiguration(classes = { IntegrationTestConfiguration.class })
@WebAppConfiguration
diff --git a/openvidu-server/src/test/resources/application.properties b/openvidu-server/src/test/resources/application.properties
index a45948f6..3bfadaa4 100644
--- a/openvidu-server/src/test/resources/application.properties
+++ b/openvidu-server/src/test/resources/application.properties
@@ -2,7 +2,7 @@ server.port: 4443
server.address: 0.0.0.0
server.ssl.enabled: false
-kms.uris=[\"ws://localhost:8888/kurento\"]
+KMS_URIS=[\"ws://localhost:8888/kurento\"]
-openvidu.secret: MY_SECRET
-openvidu.publicurl: local
\ No newline at end of file
+OPENVIDU_SECRET: MY_SECRET
+OPENVIDU_PUBLICURL: local
\ No newline at end of file
diff --git a/openvidu-server/src/test/resources/integration-test.properties b/openvidu-server/src/test/resources/integration-test.properties
index 8c3e3c22..56b0a590 100644
--- a/openvidu-server/src/test/resources/integration-test.properties
+++ b/openvidu-server/src/test/resources/integration-test.properties
@@ -9,37 +9,37 @@ server.ssl.key-alias=openvidu-selfsigned
logging.level.root=info
spring.main.allow-bean-definition-overriding=true
-kms.uris=["ws://localhost:8888/kurento"]
+KMS_URIS=["ws://localhost:8888/kurento"]
-openvidu.publicurl=local
-openvidu.secret=MY_SECRET
+OPENVIDU_PUBLICURL=local
+OPENVIDU_SECRET=MY_SECRET
-openvidu.cdr=false
-openvidu.cdr.path=log
+OPENVIDU_CDR=false
+OPENVIDU_CDR_PATH=log
-openvidu.webhook=false
-openvidu.webhook.endpoint=
-openvidu.webhook.headers=[]
-openvidu.webhook.events=["sessionCreated","sessionDestroyed","participantJoined","participantLeft","webrtcConnectionCreated","webrtcConnectionDestroyed","recordingStatusChanged","filterEventDispatched","mediaNodeStatusChanged"]
+OPENVIDU_WEBHOOK=false
+OPENVIDU_WEBHOOK_ENDPOINT=
+OPENVIDU_WEBHOOK_HEADERS=[]
+OPENVIDU_WEBHOOK_EVENTS=["sessionCreated","sessionDestroyed","participantJoined","participantLeft","webrtcConnectionCreated","webrtcConnectionDestroyed","recordingStatusChanged","filterEventDispatched","mediaNodeStatusChanged"]
-openvidu.recording=false
-openvidu.recording.version=2.9.0
-openvidu.recording.path=/opt/openvidu/recordings
-openvidu.recording.public-access=false
-openvidu.recording.notification=publisher_moderator
-openvidu.recording.custom-layout=/opt/openvidu/custom-layout
-openvidu.recording.autostop-timeout=120
-openvidu.recording.composed-url=
+OPENVIDU_RECORDING=false
+OPENVIDU_RECORDING_VERSION=2.9.0
+OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings
+OPENVIDU_RECORDING_PUBLIC_ACCESS=false
+OPENVIDU_RECORDING_NOTIFICATION=publisher_moderator
+OPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/custom-layout
+OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT=120
+OPENVIDU_RECORDING_COMPOSED_URL=
-openvidu.streams.video.max-recv-bandwidth=1000
-openvidu.streams.video.min-recv-bandwidth=300
-openvidu.streams.video.max-send-bandwidth=1000
-openvidu.streams.video.min-send-bandwidth=300
+OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH=1000
+OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH=300
+OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH=1000
+OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH=300
-openvidu.sessions.garbage.interval=900
-openvidu.sessions.garbage.threshold=3600
+OPENVIDU_SESSIONS_GARBAGE_INTERVAL=900
+OPENVIDU_SESSIONS_GARBAGE_THRESHOLD=3600
-coturn.redis.ip=127.0.0.1
-coturn.redis.dbname=0
-coturn.redis.password=turn
-coturn.redis.connect-timeout=30
+COTURN_REDIS_IP=127.0.0.1
+COTURN_REDIS_DBNAME=0
+COTURN_REDIS_PASSWORD=turn
+COTURN_REDIS_CONNECT_TIMEOUT=30