Commit Graph
21 Commits
Author SHA1 Message Date
Zoltán Papp e8724707e1 Routing STUN packages based on candidate id 2025-08-19 15:15:21 +02:00
db5d7ea72b Implement Active ICE TCP Candidates
Co-authored-by: Steffen Vogel <post@steffenvogel.de>
Co-authored-by: Artur Shellunts <shellunts.artur@gmail.com>
2023-06-15 21:44:21 -04:00
Sean DuBois abc1ca33b5 Revert active TCP candidate support
This reverts commit 00bbd2954c
and 1d502ca6ec
2023-05-24 00:05:44 -04:00
Steffen Vogel 00bbd2954c Minor style fixes for active TCP candidate support 2023-05-16 20:07:39 +02:00
Artur ShelluntsandGitHub 1d502ca6ec Implement active TCP candidate type (RFC6544)
By default TCP candidate type priority is UDP one minus 27 (except
relay), so that UDP+srlfx priority > TCP+host priority. That priority
offset can be configured using AgentConfig.
IPv6 TCP candidates are also supported.
2023-05-15 22:41:52 +02:00
Steffen Vogel 8b166270df Fix capitalization of acronyms like UDP, TCP, STUN 2023-04-20 22:15:07 +02:00
Steffen Vogel 5ef81b65f4 Make package REUSE compliant 2023-04-18 13:46:38 +02:00
Miroslav ŠedivýandSteffen Vogel 52b8cab92c Test candidate WriteTo function to return error
When connection is closed
2023-01-12 22:09:12 +01:00
Sean DuBois b7178c055e Remove TestMissingCandidateFoundation
This is covered in TestCandidateMarshal
2022-02-01 10:43:33 -05:00
Sean DuBois bc26832ad7 Support parsing candidates with missing Foundation
Not RFC 8445 compliant but are currently emitted by Google.

Resolves #390
2021-12-15 23:12:09 -05:00
Sean DuBois b897e71a59 Expose ErrDetermineNetworkType
Expose this error so pion/webrtc can handle gracefully.
rfc8839#section-5.1 specifies that a WebRTC Agent MUST
ignore any name/value pairs it doesn't understand.

Relates to pion/webrtc#1949
2021-12-15 15:51:34 -05:00
Meelap ShahandSean DuBois 1b533aee68 Populate RelayProtocol for relay candidates
The webrtc-stats spec defines this field as:
> It is the protocol used by the endpoint to communicate with the TURN
> server. This is only present for local candidates. Valid values are
> "udp", "tcp", or "tls".
https://w3.org/TR/webrtc-stats/#dom-rtcicecandidatestats-relayprotocol
2021-07-20 16:05:57 -04:00
PionandSean DuBois d3e1775d73 Update CI configs to v0.4.7
Update lint scripts and CI configs.
2020-09-26 08:54:24 -07:00
Sean DuBois a03db7f0a3 Preserve Priority and Foundation E2E
We need these when handling remote candidates
2020-09-12 23:03:38 -07:00
Sean DuBois 449f7af43b Assume mDNS candidates are UDPv4 until parsed
Otherwise we are unable to handle remote candidates
2020-09-12 21:44:47 -07:00
Sean DuBois f5493bc7fb Add TCPType Support
Unmarshal/Marshal now supports TCPType
2020-09-12 21:10:58 -07:00
korymiller1489andSean DuBois 166df5842e Add Marshal and Unmarshal to Candidate Base
Move string representation of candidates into pion/ice from pion/webrtc
2020-09-12 00:23:24 -07:00
Jerko Steiner b828116017 Make TCP ICE candidates have lower preference
Closes #262. Adds the changes in determining local preference according
to RFC 6544, section 4.2.
2020-08-10 21:02:15 +02:00
David HamiltonandSean DuBois 5870fb0c99 Added tests for lastSent and lastReceived get/set
Validate the new behaviour when these atomic vars have not been
set yet.
2019-12-11 10:32:37 -08:00
Sean DuBois 63b37975b6 Make Candidate an interface
This change will allow us to have custom logic and members
per interface type. Relay candidates will have a completely different
read loop, and candidate specific state.

Relates to #47
2019-05-24 15:55:42 -07:00
Michael MacDonaldandMichael MacDonald ad7c8697fd Candidate priority is incorrectly calculated
Some constants were being incorrectly generated using 2^N (XOR)
instead of 1 << N. This resulted in incorrect candidate priorities
being used to evaluate candidate pairs.

Resolves #14.
2019-04-11 13:40:39 -04:00