6 comments on “Slack Does WebRTC Video – Here’s How (Gustavo Garcia)

  1. Nice article, thanks for sharing! Especially since I don’t have a premium Slack account and couldn’t check this myself 🙂

    To answer Gustavo’s question, Janus does support IPv6 and TURN over TCP/TLS too (via libnice). The TURN setup they have might be a choice, while for what concerns IPv6 my guess is that either the server they’re deploying it on doesn’t support it (IIRC AWS didn’t some time ago, for instance, and not sure if that changed in the meanwhile), or they didn’t enable it in Janus (by default it’s disabled in the config).

    On the private IPs as the only candidates, I seem to remember Yoshimasa explaining how this was a trick to basically force you to go over TURN. That’s probably not needed anymore, at least on Chrome, as you could do the same by passing an iceTransportPolicy:”relay” constraint. Anyway, not sure whether or not that was indeed their intention.

  2. Even if your server doesn’t support IPv6 IMO is a good idea to keep it enabled so that it works in networks with NAT64 routers. Thx for confirming Janus support IPv6.

    Regarding the private IPs Slack is not forcing TURN. I think the selected candidate pair was prflx-local in my call. What they are forcing by using private addresses is the media server to send the first successful BindingRequest and that should slow down the establishment unnecessarily.

  3. Actually it’s easy to implement multistream in a single PeerConnection, just send a list of streams information from a SFU server and assemble SDP accordingly in browser (plan b in Chrome and unified plan in Firefox)

  4. Pingback: RealTimeWeekly | RealTimeWeekly #161

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.