Skip to content

Tags: pion/ice

Tags

v4.0.9

Handle candidate: prefix with UnmarshalCandidate

Make UnmarshalCandidate able to handle candidate: prefix in the
candidate string.

v4.0.8

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Always send KeepAlives (#767)

Pion incorrectly resets the consent timer when sending any traffic. 
The consent timer must only be reset on STUN traffic.

RFC 7675
> Consent expires after 30 seconds.  That is, if a valid STUN binding
> response has not been received from the remote peer's transport
> address in 30 seconds, the endpoint MUST cease transmission on that
> 5-tuple.  STUN consent responses received after consent expiry do not
> re-establish consent and may be discarded or cause an ICMP error.

v4.0.7

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add Req/Res count/time to candidate stats (#763)

These details will provide information for
connectivity issue.

v4.0.6

Include ufrag in generated ICE candidates

Include ufrag extension in the ICE candidates generated by the ICE agent

v4.0.5

Update golang.org/x/net to v0.33.0 [security]

Generated by renovateBot

v4.0.4

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Use addrEqual for candidate comparison (#752)

v4.0.3

Use named return val for IP/if filter

This should make it clear that you need to return `true`
to keep it and `false` to exclude.

Relates to pion/webrtc#2958

v2.3.37

Accept use-candidate unconditionally for ice-lite (#739)

There could be a mismatch between the two ends in candidate priority
when using peer reflexive. It happens in the following scenario

1. Client has two srflx candidates.
   a. The first one gets discovered by LiveKit server as prflx.
   b. The second one gets added via ice-trickle first and then
      gets a STUN ping. So, it is srflx remote candidate from
      server's point-of-view.
2. This leads to a priority issue.
   a. Both candidates have same priority from client's point-of-view
      (both are srflx).
   b. But, from server's point-of-view, the first candidate has
      higher priority (prflx).
3. The first candidate establishes connectivity and becomes
   the selected pair (client is ICE controlling and server is
   ICE controlled, server is in ICE lite).
4. libwebrtc does a sort and switch some time later based on RTT.
   As client side has both at same priority, RTT based sorting
   could make the second candidate the preferred one.
   So, the client sends useCandidate=1 for the second candidate.
   pion/ice does not switch because the selected pair is at
   higher priority due to prflx candidate.
5. STUN pings do not happen and the ICE connection eventually fails.

ICE controlled agent should accept use-candidate unconditionally if
it is an ICE lite agentt.
Just in case existing behaviour is needed, it can be configured
using `EnableUseCandidateCheckPriority`.

NOTE: With aggressive nomination, the selected pair could change
a few times, but should eventually settle on what the controlling
side wants.

v4.0.2

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add ability to get selected candidate pair stats (#735)

It is useful to have stats from just the selected pair as a lightweight
option where a lot of agents are running, for example, an SFU.

lint

Switch udp_mux_test to use sha256 instead of sha1 (#733)

Minor change to this test to stop using sha1 and remove the linter
exceptions.

Co-authored-by: Daniel Kessler <dkess@google.com>

Update module golang.org/x/net to v0.29.0

Generated by renovateBot

Update module github.com/pion/dtls/v3 to v3.0.3

Generated by renovateBot

v2.3.36

Add ability to get selected candidate pair stats (#735)

It is useful to have stats from just the selected pair as a lightweight
option where a lot of agents are running, for example, an SFU.

lint

Switch udp_mux_test to use sha256 instead of sha1 (#733)

Minor change to this test to stop using sha1 and remove the linter
exceptions.

Co-authored-by: Daniel Kessler <dkess@google.com>

Update module golang.org/x/net to v0.29.0

Generated by renovateBot

Update module github.com/pion/dtls/v3 to v3.0.3

Generated by renovateBot