Commit Graph

63 Commits

Author SHA1 Message Date
Sean DuBois
9a0eb47351 Add SRTP Resumption 2023-03-25 23:53:36 -04:00
Sean DuBois
ae0858ebca Add SetDTLSConnectionState
Allow a DTLS Connection to be resumed from DTLS ConnectionState
2023-03-16 23:56:19 -04:00
Anton
9671875982 Add SettingEngine.SetDTLSEllipticCurves
Allow users to explicitly configured the support EllipticCurves via
public API.
2023-03-02 22:20:04 -05:00
Sean DuBois
e7f24367fb Improve SetDTLSInsecureSkipHelloVerify comment
Explain the implication of setting this
2023-03-02 22:10:54 -05:00
Alexey Khit
2a47c12f22 Add DTLS InsecureSkipHelloVerify option 2023-03-02 17:05:34 -05:00
WofWca
9dd2c42999 Fix formatting in SettingEngine docs
SetICETimeouts and SetNAT1To1IPs are both incorrectly formatted
2023-02-09 15:13:01 -05:00
Steffen Vogel
eafdc7742a Use new pion/transport Net interface
This change adapts pion/ice to use a new interface for most network
related operations. The interface was formerly a simple struct vnet.Net
which was originally intended to facilicate testing. By replacing it
with an interface we have greater flexibility and allow users to hook
into the networking stack by providing their own implementation of
the interface.
2023-02-09 09:39:33 +01:00
cnderrauber
c75da54795 Add EnableLoopbackCandidate flag
Add EnableLoopbackCandidate flag
2022-11-23 12:58:57 +08:00
Kevin Wang
2ebf9c6418 Fix docs typo
Fixes a minor typo, a -> an.
2022-11-18 04:24:40 -05:00
cnderrauber
0b3df2b25f Update settingengine.go
Co-authored-by: David Zhao <dz@livekit.io>
2022-09-29 14:22:30 +08:00
cnderrauber
371d27cb57 Add IPFilter to SettingEngine
When machine's network interface have more than one ip address and
user don't want expose one of these ips to remote peer, interface
filter can't work in this case, so add a ip filter for that
2022-09-29 14:22:30 +08:00
Yutaka Takeda
eb1f6ad2db Max recv buf size via SettingEngine
Relates to pion/sctp#218
2022-04-27 17:19:02 -07:00
Sean DuBois
a6981566c5 Update module github.com/pion/ice/v2 to v2.2.6
Generated by renovateBot
2022-04-22 15:25:21 -04:00
cnderrauber
8d816c3b08 Update ice for accept aggressive nomination
Update ice to 2.2.5 for accept aggressive nomination
2022-04-21 16:21:42 +08:00
boks1971
1846813609 DTLS retransmission interval setting
Add SetDTLSRetranmissionInterval setting to SettingEngine.

Add test for SetDTLSRetransmissionInterval
2022-02-07 22:57:31 +05:30
Sean DuBois
157220e800 Run gofmt to add new build constraints
Also remove some 1.13 specific WASM code
2022-01-17 22:36:01 -05:00
bkim
3a6aea1d2d Add MTU Configuration to SettingEngine
This gives an option to raise the receive MTU as SettingEngine option.
If SettingEngine has not been set the MTU, then default value is used
instead, 1460

Resolves #1925
2021-08-20 09:59:56 -04:00
Sean DuBois
9677e616b7 Move defaultSrtpProtectionProfiles to constants.go
If a user is curious about the default value when configuring
SetSRTPProtectionProfiles this makes it easier to find.
2021-05-04 13:01:34 -07:00
digitalix
80fd6d8d59 Expose SRTP protection profiles in setting engine
Allows to override default SRTP protection profiles in settingengine.go
2021-05-04 20:27:15 +01:00
David Zhao
d0a52518b0 Introduce UDPMux in SettingsEngine, single-port
When set, Pion will handle ICE connections over UDPMux
2021-04-15 10:49:14 -07:00
Sean DuBois
c8b7aa386a Disable MediaEngine Copy by Default
If an API is shared between PeerConnections they would use the same
MediaEngine. A MediaEngine contains negotiated PayloadTypes so if the
PeerConnections were answering you would end up in invalid states.

Add DisableMediaEngineCopy to SettingEngine in case user needs old
behavior.

Resolves #1662
2021-02-09 21:31:57 -08:00
OrlandoCo
6ef4c1bba8 Add buffer factory
Allow to configure a buffer factory on SettingEngine to provide
a custom buffer for RTP/RTCP
2021-01-03 23:00:57 -05:00
Sean DuBois
7edfb701e0 New Track API
The Pion WebRTC API has been dramatically redesigned. The design docs
are located here [0]

You can also read the release notes [1] on how to migrate your
application.

[0] https://github.com/pion/webrtc-v3-design
[1] https://github.com/pion/webrtc/wiki/Release-WebRTC@v3.0.0
2020-11-15 09:20:47 -08:00
Pion
ae5c0046da Update CI configs to v0.4.12
Update lint scripts and CI configs.
2020-11-06 20:33:59 -08:00
Assad Obaid
6e72493517 Set the proxy dialer
Sets the proxy dialer in the ice package.

Relates to pion/ice#284
2020-10-09 13:01:38 -07:00
Sean DuBois
89c51a156c Rename SettingEngine mDNS Config option
GenerateMulticastDNSCandidates -> SetICEMulticastDNSMode.
Before a user wasn't able to disable mDNS. By changing it we can
do more with this API.
2020-10-05 16:52:21 -07:00
Sean DuBois
804a12fed3 Update CI configs to v0.4.7
Update lint scripts and CI configs.
2020-09-30 09:06:34 -07:00
Sean DuBois
2155a7d703 Move candidate parsing to pion/ice
Instead of having logic in pion/webrtc and pion/sdp move all logic to
pion/ice. Users of pion/ice don't want to import these packages to use
basic pion/ice functionality.
2020-09-13 00:05:09 -07:00
Jerko Steiner
cd3beeab24 Upgrade pion/ice to v2.0.0-rc.9
Add support for more stable ICE TCP API.
2020-08-01 11:11:51 +02:00
Jerko Steiner
2236ddeafd Add experimental support for ICE TCP
See pion/ice issue and PR:

- https://github.com/pion/ice/tree/issue-196
- https://github.com/pion/ice/pull/226
2020-07-15 15:08:37 +02:00
Sean DuBois
9ed5fd393c Remove CandidateSelectionTimeout
pion/ice now will use any valid candidate pair to exchange data.
Before we needed this we would wait to be selected before sending data,
now we just use anything that is connected.
2020-07-06 01:04:22 -07:00
Sean DuBois
ef1d5a4a8b Add extmap support
Extmaps are configured via the SettingEngine. This allows a user
to set arbitrary values, and when answering ids and entries are
properly excluded.

Co-authored-by: Gabor Pongracz <gabor.pongracz@proemergotech.com>
2020-07-03 01:01:56 -07:00
Woodrow Douglass
baf14a9af4 Media Level Fingerprints Configuration Option
This commit adds an option to put DTLS Fingerprint specification
at the media description level rather then the session description
level. This enhances compatibility with some 3rd party webrtc
implementations (notably Kurento).
2020-06-30 01:37:15 -07:00
Sean DuBois
bb3aa9717f Move to pion/ice@v2
Removed support for trickle ice

Resolves #1274
2020-06-28 00:01:47 -07:00
Simon Eisenmann
b95ee52c41 Add helpers to disable replay protection
Sometimes the replay protection of SRTP and SRTCP needs to be disabled.
This change adds disableSRTPReplayProtection and
DisableSRTCPReplayProtection helpers to SettingEngine.
2020-04-06 08:37:16 +02:00
Atsushi Watanabe
438ac1eb2f Add replay protection setting to SettingEngine
Set windows size of each protocol by:
- SetDTLSReplayProtectionWindow
- SetSRTPReplayProtectionWindow
- SetSRTCPReplayProtectionWindow
2020-03-29 12:22:55 -07:00
Sean DuBois
d10941f2a4 Add SettingEngine entries needed for offline sync
Allow users to set statice ICECredentials and to disable
DTLS Certificate Verification
2019-12-09 16:43:44 -08:00
Sean DuBois
70157302b6 Bump pion/ice
SettingEngine now allows setting static MulticastDNS HostName
2019-12-08 22:17:30 -08:00
Sean DuBois
99c0f8d32c GenerateMulticastDNSCandidates in SettingEngine
Users can now generate MulticastDNS candidates by enabling this option
in the SettingEngine.
2019-12-08 14:15:27 -08:00
Sean DuBois
1d42a11bde Add vnet to SettingEngine
Also add simple example to show usage

Resolves #778
2019-12-08 01:03:17 -08:00
Sean DuBois
7584762124 Expose Answering DTLSRole via SettingEngine
User can now control what DTLSRole the local client
takes when answering via the SettingEngine.

Relates to #880
2019-10-22 01:11:21 -07:00
Yutaka Takeda
d4053a8b71 Updates per code reviews
Use ICECandidateType instead of string
Combine two methods to one SetNAT1To1IPs
Resolves #835
2019-09-26 02:15:34 -07:00
Yutaka Takeda
918412679f Support 1:1 NAT option
Resolves #835
2019-09-26 02:15:34 -07:00
Aaron France
cabbd8b52f Add InterfaceFilter to SettingEngine
This allows users to filter interfaces from ICE gathering

Resolves #843

Co-authored-by: Sean DuBois <sean@siobud.com>
2019-09-25 01:16:17 -07:00
Sebastian Waisbrot
e0aab79044 Support running ICE lite locally and on a remote
* Parse ice-lite property from remote SessionDescription
* Add option to SettingEngine that allows the local ICEAgent to run
  in lite mode
2019-09-12 11:42:16 -07:00
Hugo Arregui
3d7235b4ed Add missing SettingEngine setters
ICE timeout options were added but not exposed
2019-06-14 11:45:07 +00:00
Konstantin Itskov
8c7f769e86 Fix race issue caused by multiple gathering
resolves #707
2019-06-07 20:05:55 -07:00
Hugo Arregui
8572527a86 Expose new ICE options
Expose new ICE timeouts in the setting engine
2019-06-05 14:19:01 -07:00
Adam Kiss
a8148e4ac6 Bump pion/ice
SetEphemeralUDPPortRange now affects server reflexive candidates
as well.
2019-05-10 18:03:39 -05:00
Sean DuBois
1cdfc10c84 Mass replace pions -> pion
Pions organization was renamed to pion
2019-04-04 15:32:03 -07:00