Skip to content

Networking

Azure Communication Services (ACS) is built on a globally distributed network designed for low-latency, real-time communication. To ensure high-quality voice, video, and data transmission, your network must be configured to allow specific types of traffic.

Network Requirements

To use ACS effectively, clients must be able to communicate with the ACS infrastructure across several protocols:

Protocol Usage Destination
HTTPS (TCP 443) Control plane, signaling, chat, identity ACS Service Endpoints
WSS (TCP 443) Real-time chat notifications ACS Signaling Gateways
UDP (3478-3481) Real-time media (Voice, Video) ACS STUN/TURN Servers
UDP (49152-65535) Peer-to-peer (P2P) media Other Client Endpoints

STUN and TURN Servers

When clients are behind firewalls or NAT (Network Address Translation), ACS uses standard WebRTC mechanisms to establish media paths:

  • STUN (Session Traversal Utilities for NAT): Allows clients to discover their public IP address and port.
  • TURN (Traversal Using Relays around NAT): Acts as a relay when a direct P2P connection cannot be established.

ACS provides a managed TURN service globally, ensuring that clients can always connect regardless of their network complexity.

Bandwidth Considerations

The bandwidth required for ACS depends on the communication type and quality settings:

  • Voice Only: ~100 kbps (per stream)
  • Video (720p): ~1.5 Mbps (per stream)
  • Video (1080p): ~2.5+ Mbps (per stream)
  • Screen Sharing: Highly variable based on content complexity (0.5 - 4.0 Mbps)

ACS supports Azure Private Link, allowing you to restrict management traffic (control plane) to your private network. However, real-time media traffic (data plane) generally requires public internet access for global client connectivity unless specific VPN/ExpressRoute configurations are in place.

Networking Architecture Diagram

The following diagram shows how media and signaling traffic flows between clients and ACS.

graph TD
    Client[Client Browser/App] -- "Signaling (HTTPS/WSS)" --> Signaling[ACS Signaling Hub]
    Client -- "Media (UDP/TCP)" --> Media[ACS Media Gateway]

    subgraph "Corporate Network"
        Client
        FW[Firewall / Proxy]
    end

    Client -.-> STUN[ACS STUN Server]
    Client -.-> TURN[ACS TURN Server]

    STUN -.-> Client
    TURN -- "Relayed Media" --> Media

Firewall Configuration

Failing to open the required UDP ports (3478-3481) for STUN/TURN is the most common cause of "no audio" or "call dropped" issues in corporate environments.

See Also

Sources