openvidu-server: change isCoturnAvailable for OpenviduConfig#isTurnAdminAvailable

pull/437/head
pabloFuente 2020-04-16 13:31:49 +02:00
parent 90e3eddfc3
commit 92d0c1bdba
7 changed files with 15 additions and 14 deletions

View File

@ -176,6 +176,8 @@ public class OpenviduConfig {
public static String finalUrl;
private boolean isTurnadminAvailable = false;
// Plain config properties getters
public String getServerPort() {
@ -308,6 +310,14 @@ public class OpenviduConfig {
finalUrl = finalUrlParam.endsWith("/") ? (finalUrlParam) : (finalUrlParam + "/");
}
public boolean isTurnadminAvailable() {
return this.isTurnadminAvailable;
}
public void setTurnadminAvailable(boolean available) {
this.isTurnadminAvailable = available;
}
public OpenViduRole[] getRolesFromRecordingNotification() {
OpenViduRole[] roles;
switch (this.openviduRecordingNotification) {

View File

@ -310,8 +310,7 @@ public abstract class SessionManager {
public Token newTokenForInsecureUser(Session session, String token, String serverMetadata) {
Token tokenObj = new Token(token, OpenViduRole.PUBLISHER, serverMetadata != null ? serverMetadata : "",
this.coturnCredentialsService.isCoturnAvailable() ? this.coturnCredentialsService.createUser() : null,
null);
this.openviduConfig.isTurnadminAvailable() ? this.coturnCredentialsService.createUser() : null, null);
session.storeToken(tokenObj);
session.showTokens("Token created for insecure user");
return tokenObj;

View File

@ -49,7 +49,7 @@ public class TokenGeneratorDefault implements TokenGenerator {
token += "&role=" + role.name();
token += "&version=" + openviduBuildConfig.getOpenViduServerVersion();
TurnCredentials turnCredentials = null;
if (this.coturnCredentialsService.isCoturnAvailable()) {
if (this.openviduConfig.isTurnadminAvailable()) {
turnCredentials = coturnCredentialsService.createUser();
if (turnCredentials != null) {
token += "&coturnIp=" + openviduConfig.getCoturnIp();

View File

@ -63,7 +63,7 @@ public class BashCoturnCredentialsService extends CoturnCredentialsService {
} else {
log.error("COTURN DB is not empty");
}
this.coturnAvailable.compareAndSet(false, true);
this.openviduConfig.setTurnadminAvailable(true);
log.info("Using COTURN credentials service for BASH environment");
}
} catch (IOException | InterruptedException e) {

View File

@ -17,8 +17,6 @@
package io.openvidu.server.coturn;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.annotation.PostConstruct;
import org.slf4j.Logger;
@ -37,16 +35,10 @@ public abstract class CoturnCredentialsService {
protected String coturnDatabaseString;
protected String trimmedCoturnDatabaseString;
protected AtomicBoolean coturnAvailable = new AtomicBoolean(false);
public abstract TurnCredentials createUser();
public abstract boolean deleteUser(String user);
public boolean isCoturnAvailable() {
return this.coturnAvailable.get();
}
@PostConstruct
protected void initDatabse() {
this.coturnDatabaseString = this.openviduConfig.getCoturnDatabaseString();

View File

@ -215,7 +215,7 @@ public class KurentoSessionManager extends SessionManager {
Participant p = sessionidParticipantpublicidParticipant.get(sessionId)
.remove(participant.getParticipantPublicId());
if (this.coturnCredentialsService.isCoturnAvailable()) {
if (this.openviduConfig.isTurnadminAvailable()) {
this.coturnCredentialsService.deleteUser(p.getToken().getTurnCredentials().getUsername());
}

View File

@ -285,7 +285,7 @@ public abstract class MediaEndpoint {
webEndpoint = result;
if (openviduConfig.getCoturnIp() != null && !openviduConfig.getCoturnIp().isEmpty()
&& !openviduConfig.getCoturnIp().equals("localhost")) {
&& openviduConfig.isTurnadminAvailable()) {
webEndpoint.setStunServerAddress(openviduConfig.getCoturnIp());
webEndpoint.setStunServerPort(3478);
}