livekit: Could not connect PeerConnection after timeout

Describe the bug LiveKit’s built in TURN doesn’t work for some users. Using other TURN servers works. All major browsers are affected.

Server

  • Version: [1.3.3]
  • Environment: [Docker]

Client

  • SDK: [js]
  • Version: [1.5.0]

Additional context

port: 7880
rtc:
    tcp_port: 7881
    port_range_start: 50000
    port_range_end: 60000
    use_external_ip: true
    turn_servers:
        - host: turn.mycompany.com
          port: 3478
          protocol: udp

        - host: turn.mycompany.com
          port: 443
          protocol: tcp

        - host: turn.mycompany.com
          port: 80
          protocol: tcp

...

# turn:
#     enabled: true
#     domain: mycompany.com
#     cert_file: ""
#     key_file: ""
#     tls_port: 5349
#     udp_port: 443
#     external_tls: true

webrtc_internals_dump.txt

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 2
  • Comments: 38 (14 by maintainers)

Most upvoted comments

The js-sdk will support auto retry at initial connection in future release.

@cnderrauber @davidzhao I deployed livekit-server@1.3.4 to our server and it works great right now. Thank you for handling this issue 🙂

@xdef in order to avoid using the default Google STUN servers, you’ll need to provide one of the following:

TURN/TLS cannot be used to replace a STUN server.