This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The getDefaultIceServers() method of the RTCPeerConnection interface returns an array of objects based on the RTCIceServer dictionary, which indicates what, if any, ICE servers the browser will use by default if none are provided to the RTCPeerConnection in its RTCConfiguration. However, browsers are not required to provide any default ICE servers at all.


 var defaultIceServers = RTCPeerConnection.getDefaultIceServers();

Return value

An array of ICE servers, specified as objects based on RTCIceServer, which the browser will use if none are specified in the configuration of the RTCPeerConnection. If there are no defaults provided by the browser, the returned array is empty; this property's value is never null.


var pc = new RTCPeerConnection();
var iceServers = pc.getDefaultIceServers();

if (iceServers.length === 0) {
  // Deal with the lack of default ICE servers, possibly by using our own defaults


Specification Status Comment
WebRTC Extensions

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
getDefaultIceServersChrome No support NoEdge No support NoFirefox ? IE No support NoOpera ? Safari ? WebView Android No support NoChrome Android No support NoFirefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android No support No


No support  
No support
Compatibility unknown  
Compatibility unknown

See also