diff --git a/src/AnamClient.ts b/src/AnamClient.ts index 77d6e76..1baa06b 100644 --- a/src/AnamClient.ts +++ b/src/AnamClient.ts @@ -200,14 +200,22 @@ export default class AnamClient { engineProtocol, signallingEndpoint, } = response; - const { heartbeatIntervalSeconds, maxWsReconnectionAttempts, iceServers } = - clientConfig; + const { + heartbeatIntervalSeconds, + maxWsReconnectionAttempts, + iceServers: defaultIceServers, + } = clientConfig; this.sessionId = sessionId; setMetricsContext({ sessionId: this.sessionId, }); + // Use custom ICE servers if provided, otherwise use server-provided ICE servers + const iceServers = this.clientOptions?.iceServers + ? this.clientOptions.iceServers + : defaultIceServers; + try { this.streamingClient = new StreamingClient( sessionId, diff --git a/src/types/AnamPublicClientOptions.ts b/src/types/AnamPublicClientOptions.ts index 05a21d3..e5cfc5f 100644 --- a/src/types/AnamPublicClientOptions.ts +++ b/src/types/AnamPublicClientOptions.ts @@ -10,4 +10,5 @@ export interface AnamPublicClientOptions { showPeerConnectionStatsReport?: boolean; peerConnectionStatsReportOutputFormat?: 'console' | 'json'; }; + iceServers?: RTCIceServer[]; }