Реализация звонков на сервере #15
@@ -206,14 +206,12 @@ public class ForwardUnitService {
|
||||
* @return список серверов для RTC
|
||||
*/
|
||||
public Set<RTCIceServer> getTurnServers() {
|
||||
Set<RTCIceServer> turnServers = new HashSet<>();
|
||||
Set<RTCIceServer> iceServers = new HashSet<>();
|
||||
for(SFU sfu : this.sfuConnections) {
|
||||
RTCIceServer turnServer = sfu.getTurnServer();
|
||||
if(turnServer != null) {
|
||||
turnServers.add(turnServer);
|
||||
}
|
||||
Set<RTCIceServer> iceServersSupporetd = sfu.getIceServers();
|
||||
iceServers.addAll(iceServersSupporetd);
|
||||
}
|
||||
return turnServers;
|
||||
return iceServers;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.net.URISyntaxException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -64,11 +65,9 @@ public class SFU {
|
||||
private Consumer<DisconnectedPeer> onPeerDisconnected;
|
||||
|
||||
/**
|
||||
* TURN сервер предоставляемый SFU (если включен), который может быть использован
|
||||
* для обмена кандидатами между участниками звонка через NAT и брандмауэры.
|
||||
* Если SFU сервер не предоставляет TURN сервер, то это поле будет равно null.
|
||||
* TURN сервер предоставляемый SFU (если включен), может поддерживать udp,tcp протоколы (несколько ice)
|
||||
*/
|
||||
private RTCIceServer turnServer;
|
||||
private Set<RTCIceServer> iceServers = new HashSet<>();
|
||||
|
||||
/**
|
||||
* Конструктор для создания объекта SFU, который будет использоваться для установления соединения с SFU сервером.
|
||||
@@ -244,7 +243,7 @@ public class SFU {
|
||||
byte[] transportBytes = new byte[transportLength];
|
||||
message.get(transportBytes);
|
||||
String transport = new String(transportBytes).trim();
|
||||
this.turnServer = new RTCIceServer(url, username, credential, transport);
|
||||
this.iceServers.add(new RTCIceServer(url, username, credential, transport));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -400,7 +399,7 @@ public class SFU {
|
||||
/**
|
||||
* Возвращает TURN сервер на этом SFU
|
||||
*/
|
||||
public RTCIceServer getTurnServer() {
|
||||
return turnServer;
|
||||
public Set<RTCIceServer> getIceServers() {
|
||||
return this.iceServers;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user