The RTCIceCandidate interface's read-only foundation property is a string which uniquely identifies the candidate across multiple transports. As such, the foundation can be used to correlate candidates that are present on multiple RTCIceTransport objects


var foundation = RTCIceCandidate.foundation;


A DOMString which uniquely identifies the candidate across all RTCIceTransports on which it is available.

Note: If port is null — and port is supported by the user agent — passing the candidate to addIceCandidate() will fail, throwing an OperationError exception.

Usage notes

Consider this SDP attribute line (a-line) which describes an ICE candidate:

a=candidate:4234997325 1 udp 2043278322 44323 typ host

The field "4234997325" is the foundation.


This code snippet uses the foundation of two candidates to determine if they're actually the same candidate.

if (candidate1.foundation == candidate2.foundation) {
  /* the two candidates are the same, even if they're on
     different transports */


Browser compatibilityUpdate compatibility data on GitHub

Chrome Edge Firefox Internet Explorer Opera Safari
Basic support No Yes No No No ?
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support No No Yes ? No ? Yes

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.