diff --git a/app/providers/CallProvider/CallProvider.tsx b/app/providers/CallProvider/CallProvider.tsx index d948a4a..9aeb389 100644 --- a/app/providers/CallProvider/CallProvider.tsx +++ b/app/providers/CallProvider/CallProvider.tsx @@ -92,12 +92,7 @@ export function CallProvider(props : CallProviderProps) { for(let i = 0; i < iceServers.length; i++){ let server = iceServers[i]; formattedIceServers.push({ - urls: "turn:" + server.urls + "?transport=udp", - username: server.username, - credential: server.credential - }); - formattedIceServers.push({ - urls: "turn:" + server.urls + "?transport=tcp", + urls: "turn:" + server.url + "?transport=" + server.transport, username: server.username, credential: server.credential }); diff --git a/app/providers/ProtocolProvider/protocol/packets/packet.ice.servers.ts b/app/providers/ProtocolProvider/protocol/packets/packet.ice.servers.ts index 69a598b..2a8bacd 100644 --- a/app/providers/ProtocolProvider/protocol/packets/packet.ice.servers.ts +++ b/app/providers/ProtocolProvider/protocol/packets/packet.ice.servers.ts @@ -1,8 +1,15 @@ import Packet from "../packet"; import Stream from "../stream"; +export interface G365IceServer { + url: string; + username: string; + credential: string; + transport: string; +} + export class PacketIceServers extends Packet { - private iceServers: RTCIceServer[] = []; + private iceServers: G365IceServer[] = []; public getPacketId(): number { return 28; @@ -12,13 +19,15 @@ export class PacketIceServers extends Packet { const serversCount = stream.readInt16(); this.iceServers = []; for(let i = 0; i < serversCount; i++){ - const urls = stream.readString(); + const url = stream.readString(); const username = stream.readString(); const credential = stream.readString(); + const transport = stream.readString(); this.iceServers.push({ - urls, + url, username, - credential + credential, + transport }); } } @@ -29,21 +38,19 @@ export class PacketIceServers extends Packet { stream.writeInt16(this.iceServers.length); for(let i = 0; i < this.iceServers.length; i++){ const server = this.iceServers[i]; - /** - * Не поддерживает массив urls!!! - */ - stream.writeString((server.urls as string)); + stream.writeString(server.url); stream.writeString(server.username || ""); stream.writeString(server.credential || ""); + stream.writeString(server.transport || ""); } return stream; } - public getIceServers(): RTCIceServer[] { + public getIceServers(): G365IceServer[] { return this.iceServers; } - public setIceServers(servers: RTCIceServer[]) { + public setIceServers(servers: G365IceServer[]) { this.iceServers = servers; }