The RTCIceCandidate
interface's read-only type
specifies the type of candidate the object represents.
The type
field's value is set when the RTCIceCandidate()
constructor is used. You can't specify the value of type
in the options object, but the address is automatically extracted from the candidate
a-line, if it's formatted properly, being taken from its cand-type
field.
Syntax
var type = RTCIceCandidate.type;
Value
A DOMString
whose value is one of those defined by the RTCIceCandidateType
enumerated type.
These candidate types are listed in order of priority; the higher in the list they are, the more efficient they are.
host
- The candidate is a host candidate, whose IP address as specified in the
RTCIceCandidate.ip
property is in fact the true address of the remote peer. srflx
- The candidate is a server reflexive candidate; the
ip
indicates an intermediary address assigned by the STUN server to represent the candidate's peer anonymously. prflx
- The candidate is a peer reflexive candidate; the
ip
is an intermediary address assigned by the STUN server to represent the candidate's peer anonymously. relay
- The candidate is a relay candidate, obtained from a TURN server. The relay candidate's IP address is an address the TURN server uses to forward the media between the two peers.
If type
is null
, that information was missing from the candidate
's a-line, which will cause RTCPeerConnection.addIceCandidate()
to throw an OperationError
exception.
Example
In this example, the candidate's type
is used to present a modified user interface for host candidates (those where the ip
refers directly to the remote peer, rather than an intermediary).
if (candidate.type == "host") {
showHostControls();
} else {
hideHostControls();
}
Specifications
Specification | Status | Comment |
WebRTC 1.0: Real-time Communication Between BrowsersThe definition of 'RTCIceCandidate.type' in that specification. | Candidate Recommendation | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
type
|
Chrome
Full support 74 |
Edge
Full support ≤18 |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
? |
WebView Android
Full support 74 |
Chrome Android
Full support 74 |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
? |
Samsung Internet Android
Full support 11.0 |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
See also
RTCIceCandidate.type by Mozilla Contributors is licensed under CC-BY-SA 2.5.