This page is not complete.

The RTCIceCandidate interface—part of the WebRTC API—represents a candidate Internet Connectivity Establishment (ICE) server which may be used to establish an RTCPeerConnection.


Creates an RTCIceCandidate object to represent a single ICE candidate, optionally configured based on an object based on the RTCIceCandidateInit dictionary.
Note: For backward compatibility, the constructor also accepts as input a string containing the value of the candidate property instead of a RTCIceCandidateInit object.


candidate Read only
A DOMString representing the transport address for the candidate that can be used for connectivity checks. The format of this address is a candidate-attribute as defined in RFC 5245. This string is empty ("") if the RTCIceCandidate is an "end of candidates" indicator.
component Read only
A DOMString which indicates whether the candidate is an RTP or an RTCP candidate; its value is either "rtp" or "rtcp", and is derived from the  "component-id" field in the candidate a-line string. The permitted values are listed in the RTCIceComponent enumerated type.
foundation Read only
Returns a DOMString containing a unique identifier that is the same for any candidates of the same type, share the same base (the address from which the ICE agent sent the candidate), and come from the same STUN server. This is used to help optimize ICE performance while prioritizing and correlating candidates that appear on multiple RTCIceTransport objects.
ip Read only
A DOMString containing the IP address of the candidate.
port Read only
An integer value indicating the candidate's port number.
priority Read only
A long integer value indicating the candidate's priority.
protocol Read only
A string indicating whether the candidate's protocol is "tcp" or "udp". The string is one of those in the enumerated type RTCIceProtocol.
relatedAddress Read only
If the candidate is derived from another candidate, relatedAddress is a DOMString containing that host candidate's IP address. For host candidates, this value is null.
relatedPort Read only
For a candidate that is derived from another, such as a relay or reflexive candidate, the relatedPort is a number indicating the port number of the candidate from which this candidate is derived. For host candidates, the relatedPort property is null.
sdpMid Read only
A DOMString specifying the candidate's media stream identification tag which uniquely identifies the media stream within the component with which the candidate is associated, or null if no such association exists.
sdpMLineIndex Read only
If not null, sdpMLineIndex indicates the zero-based index number of the media description (as defined in RFC 4566) in the SDP with which the candidate is associated.
tcpType Read only
If protocol is "tcp"tcpType represents the type of TCP candidate. Otherwise, tcpType is null.
type Read only
A DOMString indicating the type of candidate as one of the strings from the RTCIceCandidateType enumerated type.
usernameFragment Read only
A DOMString containing a randomly-generated username fragment ("ice-ufrag") which ICE uses for message integrity along with a randomly-generated password ("ice-pwd"). You can use this string to verify generations of ICE generation; each generation of the same ICE process will use the same usernameFragment, even across ICE restarts.


Given the RTCIceCandidate's current configuration, toJSON() returns a DOMString containing a JSON representation of that configuration in the form of a RTCIceCandidateInit object.


Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCIceCandidate' in that specification.
Candidate Recommendation Initial definition.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes22 ? Yes ?
RTCIceCandidate() Yes Yes22 ? Yes ?
candidate Yes1522 ? Yes ?
foundation Yes Yes22 ? Yes ?
ip Yes Yes22 ? Yes ?
port Yes Yes22 ? Yes ?
priority Yes Yes22 ? Yes ?
protocol Yes Yes22 ? Yes ?
relatedAddress Yes Yes22 ? Yes ?
relatedPort Yes Yes22 ? Yes ?
sdpMid Yes1522 ? Yes ?
sdpMLineIndex Yes1522 ? Yes ?
tcpType Yes Yes22 ? Yes ?
type Yes Yes22 ? Yes ?
component ? ? ? ? ? ?
usernameFragment ? ? ? ? ? ?
toJSON ?15 ? ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes ? Yes ? Yes
RTCIceCandidate() Yes Yes Yes ? Yes ? Yes
candidate Yes Yes Yes ? Yes ? Yes
foundation Yes Yes Yes ? Yes ? Yes
ip Yes Yes Yes ? Yes ? Yes
port Yes Yes Yes ? Yes ? Yes
priority Yes Yes Yes ? Yes ? Yes
protocol Yes Yes Yes ? Yes ? Yes
relatedAddress Yes Yes Yes ? Yes ? Yes
relatedPort Yes Yes Yes ? Yes ? Yes
sdpMid Yes Yes Yes ? Yes ? Yes
sdpMLineIndex Yes Yes Yes ? Yes ? Yes
tcpType Yes Yes Yes ? Yes ? Yes
type Yes Yes Yes ? Yes ? Yes
component ? ? ? ? ? ? ?
usernameFragment ? ? ? ? ? ? ?
toJSON ? ? ? ? ? ? ?

Document Tags and Contributors

Contributors to this page: Sheppy, fscholz, abbycar, rolfedh, jpmedley
Last updated by: Sheppy,