Реализация динамического запроса транспортных серверов в соответствии с поправками в g365sfu
This commit is contained in:
@@ -92,12 +92,7 @@ export function CallProvider(props : CallProviderProps) {
|
|||||||
for(let i = 0; i < iceServers.length; i++){
|
for(let i = 0; i < iceServers.length; i++){
|
||||||
let server = iceServers[i];
|
let server = iceServers[i];
|
||||||
formattedIceServers.push({
|
formattedIceServers.push({
|
||||||
urls: "turn:" + server.urls + "?transport=udp",
|
urls: "turn:" + server.url + "?transport=" + server.transport,
|
||||||
username: server.username,
|
|
||||||
credential: server.credential
|
|
||||||
});
|
|
||||||
formattedIceServers.push({
|
|
||||||
urls: "turn:" + server.urls + "?transport=tcp",
|
|
||||||
username: server.username,
|
username: server.username,
|
||||||
credential: server.credential
|
credential: server.credential
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,8 +1,15 @@
|
|||||||
import Packet from "../packet";
|
import Packet from "../packet";
|
||||||
import Stream from "../stream";
|
import Stream from "../stream";
|
||||||
|
|
||||||
|
export interface G365IceServer {
|
||||||
|
url: string;
|
||||||
|
username: string;
|
||||||
|
credential: string;
|
||||||
|
transport: string;
|
||||||
|
}
|
||||||
|
|
||||||
export class PacketIceServers extends Packet {
|
export class PacketIceServers extends Packet {
|
||||||
private iceServers: RTCIceServer[] = [];
|
private iceServers: G365IceServer[] = [];
|
||||||
|
|
||||||
public getPacketId(): number {
|
public getPacketId(): number {
|
||||||
return 28;
|
return 28;
|
||||||
@@ -12,13 +19,15 @@ export class PacketIceServers extends Packet {
|
|||||||
const serversCount = stream.readInt16();
|
const serversCount = stream.readInt16();
|
||||||
this.iceServers = [];
|
this.iceServers = [];
|
||||||
for(let i = 0; i < serversCount; i++){
|
for(let i = 0; i < serversCount; i++){
|
||||||
const urls = stream.readString();
|
const url = stream.readString();
|
||||||
const username = stream.readString();
|
const username = stream.readString();
|
||||||
const credential = stream.readString();
|
const credential = stream.readString();
|
||||||
|
const transport = stream.readString();
|
||||||
this.iceServers.push({
|
this.iceServers.push({
|
||||||
urls,
|
url,
|
||||||
username,
|
username,
|
||||||
credential
|
credential,
|
||||||
|
transport
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -29,21 +38,19 @@ export class PacketIceServers extends Packet {
|
|||||||
stream.writeInt16(this.iceServers.length);
|
stream.writeInt16(this.iceServers.length);
|
||||||
for(let i = 0; i < this.iceServers.length; i++){
|
for(let i = 0; i < this.iceServers.length; i++){
|
||||||
const server = this.iceServers[i];
|
const server = this.iceServers[i];
|
||||||
/**
|
stream.writeString(server.url);
|
||||||
* Не поддерживает массив urls!!!
|
|
||||||
*/
|
|
||||||
stream.writeString((server.urls as string));
|
|
||||||
stream.writeString(server.username || "");
|
stream.writeString(server.username || "");
|
||||||
stream.writeString(server.credential || "");
|
stream.writeString(server.credential || "");
|
||||||
|
stream.writeString(server.transport || "");
|
||||||
}
|
}
|
||||||
return stream;
|
return stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getIceServers(): RTCIceServer[] {
|
public getIceServers(): G365IceServer[] {
|
||||||
return this.iceServers;
|
return this.iceServers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public setIceServers(servers: RTCIceServer[]) {
|
public setIceServers(servers: G365IceServer[]) {
|
||||||
this.iceServers = servers;
|
this.iceServers = servers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user