Cloudflare Docs
Edit this page on GitHub
Set theme to dark (⇧+D)

TURN Service

Separately from the SFU, Calls also offers a managed TURN service. TURN acts as relay points for traffic between WebRTC clients like the browser and SFUs, particularly in scenarios where direct communication is obstructed by NATs or firewalls. TURN maintains an allocation of public IP addresses and ports for each session, ensuring connectivity even in restrictive network environments.

Using Cloudflare Calls TURN service is available free of charge when used together with the Calls SFU. Otherwise, it costs $0.05/real-time GB outbound from Cloudflare to the TURN client.

​​ Service address and ports

ProtocolPrimary addressPrimary portAlternate port
STUN over UDPstun.cloudflare.com3478/udp53/udp
TURN over UDPturn.cloudflare.com3478/udp53 udp
TURN over TCPturn.cloudflare.com3478/tcp80/tcp
TURN over TLSturn.cloudflare.com5349/tcp443/tcp

​​ Regions

Calls TURN service is available in every Cloudflare datacenter.

​​ IP Addresses

Communication between TURN clients and the TURN server (as defined in RFC5766) which is the traffic that needs to traverse restrictive network environments, is done over a very small set of IPv6 and IPv4 addresses. If you are making adjustments to your firewalls to allow Calls TURN traffic, you must query (A and AAAA records) regularly and allowlist the resulting IP address(es). For static IPs and guarantees, please discuss with a your enterprise account team.

TURN server relay allocations are done using a larger set of IP address ranges. Calls relay allocations will be in the 9024-65535 port range.

​​ Protocols and Ciphers for TURN over TLS

TLS versions supported include TLS 1.1, TLS 1.2, and TLS 1.3.

OpenSSL NameTLS 1.1TLS 1.2TLS 1.3

​​ MTU

There is no specific MTU limit for Cloudflare Calls TURN service.

​​ Limits

Cloudflare Calls TURN service places limits on:

  • Unique IP address you can communicate with
  • Packet rate outbound and inbound to the relay allocation
  • Data rate outbound and inbound to the relay allocation

These limits are set quite high and suitable for high-demand applications.

​​ Example configuration

var myPeerConnection = new RTCPeerConnection({
iceServers: [
urls: "",
urls: "",
urls: "",
urls: "",