Skip to content

UDP Port Contention between QUIC and ICE #10

Description

@jaxoj

Description
The roadmap suggests using quic-go and pion/ice simultaneously. These libraries will compete for the same UDP socket.

Technical Flaw
Both libraries expect to call ReadFrom on the UDP socket. If pion/ice consumes a STUN binding request packet, quic-go will never see it, and vice versa. Standard Go net.UDPConn does not support multiple listeners.

Proposed Fix
Implement a UDP demuxer (shim) that:

  1. Binds to the UDP port.
  2. Inspects the first few bytes of incoming packets.
  3. Routes STUN/ICE packets to pion/ice and QUIC packets to quic-go based on the header bits.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions