amazon-kinesis-video-streams-webrtc-sdk-c icon indicating copy to clipboard operation
amazon-kinesis-video-streams-webrtc-sdk-c copied to clipboard

Support Dual-Stack STUN Servers and IPv6 srflx Candidates

Open stefankiesz opened this issue 7 months ago • 0 comments

Issue #, if available: N/A

What was changed?

  • Enabled support for IPv6 srflx candidates.
  • Added support for dual-stack STUN servers.
  • ICE server structs now maintain two IP addresses per server: IPv4 and IPv6.
    • If the STUN server is not dual-stack, then only the IPv4 address will be set.
    • If the ICE server is a TURN server, then only the IPv4 address will be set.
  • All TURN server functionality remains unchanged, it is only using the IPv4 address of the new DualKvsIpAddresses struct.
  • Dual-stack peers using dual-stack STUN servers gather both IPv4 and IPv6 srflx candidates, allowing for cross-network-type connections between dual-stack and IPv4-only peers.

Why was it changed?

  • IPv6 srflx candidates were enabled to prepare for dual-stack STUN service support.
  • Dual-stack STUN server support was added to allow for peers on dual-stack networks using dual-stack STUN servers to connect with peers on IPv4-only networks. Previously, only IPv6 srflx candidates would have been gathered when dual-stack peers used dual-stack STUN servers which would not be viable for connection with IPv4-only peers.

How was it changed?

  • IPv6 srflx candidates were enabled were enabled by removing the filtering out of local IPv6 STUN candidates from being initialized.
  • Dual-stack STUN server support was added by maintaining two IP addresses for dual-stack STUN servers and creating srflx candidates from both, so remote peers can try connections across both IP families.

What testing was done for the changes?

  • CI to pass.
  • Unit tests with dual-stack server resolution to be added once service support is enabled.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

stefankiesz avatar Apr 25 '25 16:04 stefankiesz