Get desktop application:
View/edit binary Protocol Buffers messages
An ICE Candidate contains a transport address for a candidate that can be used for connectivity checks. See: https://datatracker.ietf.org/doc/html/rfc8839#section-5.1
Used in:
,The type of candidate
An identifier that is equivalent for two candidates that are of the same type, share the same base, and come from the same STUN server.
A positive integer between 1 and 256 that identifies the specific component of the media stream for which this is a candidate.
A positive integer between 1 and (2**31 - 1).
The IP address of the candidate.
The port of the candidate.
The related address conveys transport addresses related to the candidate, useful for diagnostics and other purposes.
The protocol used between the endpoint and the relay server.
Used in:
Used in:
CandidatePairStateWaiting means a check has not been performed for this pair
CandidatePairStateInProgress means a check has been sent for this pair, but the transaction is in progress.
CandidatePairStateFailed means a check for this pair was already done and failed, either never producing any response or producing an unrecoverable failure response.
CandidatePairStateSucceeded means a check for this pair was already done and produced a successful result.
CandidatePairStats contains ICE candidate pair statistics
Used in:
Timestamp is the timestamp associated with this object.
LocalCandidateID is the ID of the local candidate
RemoteCandidateID is the ID of the remote candidate
State represents the state of the checklist for the local and remote candidates in a pair.
Nominated is true when this valid pair that should be used for media if it is the highest-priority one amongst those whose nominated flag is set
PacketsSent represents the total number of packets sent on this candidate pair.
PacketsReceived represents the total number of packets received on this candidate pair.
BytesSent represents the total number of payload bytes sent on this candidate pair not including headers or padding.
BytesReceived represents the total number of payload bytes received on this candidate pair not including headers or padding.
LastPacketSentTimestamp represents the timestamp at which the last packet was sent on this particular candidate pair, excluding STUN packets.
LastPacketReceivedTimestamp represents the timestamp at which the last packet was received on this particular candidate pair, excluding STUN packets.
FirstRequestTimestamp represents the timestamp at which the first STUN request was sent on this particular candidate pair.
LastRequestTimestamp represents the timestamp at which the last STUN request was sent on this particular candidate pair. The average interval between two consecutive connectivity checks sent can be calculated with (LastRequestTimestamp - FirstRequestTimestamp) / RequestsSent.
LastResponseTimestamp represents the timestamp at which the last STUN response was received on this particular candidate pair.
TotalRoundTripTime represents the sum of all round trip time measurements in seconds since the beginning of the session, based on STUN connectivity check responses (ResponsesReceived), including those that reply to requests that are sent in order to verify consent. The average round trip time can be computed from TotalRoundTripTime by dividing it by ResponsesReceived.
CurrentRoundTripTime represents the latest round trip time measured in seconds, computed from both STUN connectivity checks, including those that are sent for consent verification.
AvailableOutgoingBitrate is calculated by the underlying congestion control by combining the available bitrate for all the outgoing RTP streams using this candidate pair. The bitrate measurement does not count the size of the IP or other transport layers like TCP or UDP. It is similar to the TIAS defined in RFC 3890, i.e., it is measured in bits per second and the bitrate is calculated over a 1 second window.
AvailableIncomingBitrate is calculated by the underlying congestion control by combining the available bitrate for all the incoming RTP streams using this candidate pair. The bitrate measurement does not count the size of the IP or other transport layers like TCP or UDP. It is similar to the TIAS defined in RFC 3890, i.e., it is measured in bits per second and the bitrate is calculated over a 1 second window.
CircuitBreakerTriggerCount represents the number of times the circuit breaker is triggered for this particular 5-tuple, ceasing transmission.
RequestsReceived represents the total number of connectivity check requests received (including retransmissions). It is impossible for the receiver to tell whether the request was sent in order to check connectivity or check consent, so all connectivity checks requests are counted here.
RequestsSent represents the total number of connectivity check requests sent (not including retransmissions).
ResponsesReceived represents the total number of connectivity check responses received.
ResponsesSent epresents the total number of connectivity check responses sent. Since we cannot distinguish connectivity check requests and consent requests, all responses are counted.
RetransmissionsReceived represents the total number of connectivity check request retransmissions received.
RetransmissionsSent represents the total number of connectivity check request retransmissions sent.
ConsentRequestsSent represents the total number of consent requests sent.
ConsentExpiredTimestamp represents the timestamp at which the latest valid STUN binding response expired.
CandidateStats contains ICE candidate statistics related to the ICETransport objects.
Used in:
Timestamp is the timestamp associated with this object.
ID is the candidate ID
NetworkType represents the type of network interface used by the base of a local candidate (the address the ICE agent sends from). Only present for local candidates; it's not possible to know what type of network interface a remote candidate is using. Note: This stat only tells you about the network interface used by the first "hop"; it's possible that a connection will be bottlenecked by another type of network. For example, when using Wi-Fi tethering, the networkType of the relevant candidate would be "wifi", even when the next hop is over a cellular connection.
IP is the IP address of the candidate, allowing for IPv4 addresses and IPv6 addresses, but fully qualified domain names (FQDNs) are not allowed.
Port is the port number of the candidate.
CandidateType is the "Type" field of the ICECandidate.
Priority is the "Priority" field of the ICECandidate.
URL is the URL of the TURN or STUN server indicated in the that translated this IP address. It is the URL address surfaced in an PeerConnectionICEEvent.
RelayProtocol is the protocol used by the endpoint to communicate with the TURN server. This is only present for local candidates. Valid values for the TURN URL protocol is one of udp, tcp, or tls.
Deleted is true if the candidate has been deleted/freed. For host candidates, this means that any network resources (typically a socket) associated with the candidate have been released. For TURN candidates, this means the TURN allocation is no longer active. Only defined for local candidates. For remote candidates, this property is not applicable.
ICE Candidate types See: https://datatracker.ietf.org/doc/html/rfc8445#section-5.1.1
Used in:
,ICE Connection state from pion/ice/ice.go
ICE agent is gathering addresses
ICE agent has been given local and remote candidates, and is attempting to find a match
ICE agent has a pairing, but is still checking other pairs
ICE agent has finished
ICE agent never could successfully connect
ICE agent connected successfully, but has entered a failed state
ICE agent has finished and is no longer handling requests
Used in:
ICE username fragment
ICE password
Flag to indicate that the sending peer requests the credentials of the receiving peer
Used in:
Used in:
Used in:
,Used in:
Used in:
The Related Address conveys transport addresses related to the candidate, useful for diagnostics and other purposes. See: https://datatracker.ietf.org/doc/html/rfc8839#section-5.1
Used in:
Used in:
,Type of TCP candidate See: https://datatracker.ietf.org/doc/html/rfc6544
Used in: