diff --git a/client/internal/peer/conn.go b/client/internal/peer/conn.go index a10d8cee3..3e2739383 100644 --- a/client/internal/peer/conn.go +++ b/client/internal/peer/conn.go @@ -288,6 +288,10 @@ func shouldUseProxy(pair *ice.CandidatePair) bool { remoteIsPublic := IsPublicIP(remoteIP) myIsPublic := IsPublicIP(myIp) + if pair.Local.Type() == ice.CandidateTypeRelay || pair.Remote.Type() == ice.CandidateTypeRelay { + return true + } + //one of the hosts has a public IP if remoteIsPublic && pair.Remote.Type() == ice.CandidateTypeHost { return false