NETWORK SETUP FAQ
BaccaConnect sends uncompressed audio directly between your studio and your artist — no servers in the middle. This guide helps you configure your network for the best possible connection.
BaccaConnect sends audio directly between your computer and your session partner over UDP (port 4464). This is called a peer-to-peer connection — the audio never passes through our servers.
When you start a session, both sides discover their network addresses and try to reach each other. The first address that works becomes the audio path. This usually takes less than a second.
Why direct? A direct connection has the lowest possible latency. Every relay hop adds 2-4ms. For professional recording, those milliseconds matter.
If both sides can't reach each other directly (usually because of firewalls or NAT), BaccaConnect falls back to a TURN relay hosted by Cloudflare. Your audio is still encrypted end-to-end — the relay can't listen in — but it adds a small amount of latency and the traffic costs us money.
The connection badge in the top bar shows whether you're on a direct connection or a relay. Direct is always better.
BaccaConnect needs:
A wired Ethernet connection is strongly recommended. WiFi adds variable latency (jitter) that causes audio glitches.
Most home and studio networks use NAT (Network Address Translation) — your router has one public IP address shared by all your devices. When someone outside your network tries to send audio to your computer, the router doesn't know which device to forward it to. Port forwarding tells the router: "send anything arriving on UDP port 4464 to this specific computer."
Without port forwarding, the other side's probe packets can't reach you, and BaccaConnect falls back to the TURN relay.
The steps are similar on most routers:
# macOS — Terminal
ipconfig getifaddr en0
# Windows — Command Prompt
ipconfig | findstr "IPv4"
You'll see something like 192.168.1.100.
192.168.1.1
or 192.168.0.1 — check your router's manual)| Field | Value |
|---|---|
| Name / Description | BaccaConnect |
| Protocol | UDP |
| External Port | 4464 |
| Internal Port | 4464 |
| Internal IP | Your computer's local IP (e.g., 192.168.1.100) |
Tip: Give your computer a static local IP (DHCP reservation) so the port forward doesn't break when your router reassigns addresses.
BaccaConnect, Port: 4464, Forward IP: your Mac's IP, Protocol: UDP192.168.1.1 → Advanced → Advanced Setup → Port ForwardingBaccaConnect, Protocol: UDP, External Port: 4464, Internal IP: your Mac's IP192.168.0.1 → Advanced → NAT Forwarding → Virtual ServersBaccaConnect, External Port: 4464, Internal IP: your Mac's IP, Protocol: UDPBaccaConnect, UDP Port: 4464, Private IP: your Mac's IP4464, Protocol: UDPLook for "Port Forwarding", "Virtual Server", "NAT Rules", or "Applications & Gaming" in your router's admin panel. The fields are always the same: UDP, port 4464, forward to your Mac's local IP.
After setting up the port forward, you can test it:
You can also check from the command line on another machine (or ask a colleague to run this):
# From OUTSIDE your network, test if UDP 4464 is reachable
# Replace YOUR_PUBLIC_IP with your public IP address
nc -u -z YOUR_PUBLIC_IP 4464
Find your public IP: Search "what is my IP" in your browser,
or run curl -s ifconfig.me in Terminal.
With IPv6, every device on your network gets its own globally routable address. There's no NAT. No port forwarding needed. Your computer is directly reachable from the internet.
BaccaConnect automatically discovers your IPv6 addresses and tries them during connection setup. If both sides have IPv6, the probe typically succeeds in milliseconds — faster than IPv4 with NAT.
IPv6 = no NAT = no port forwarding = direct connection every time. If your ISP offers IPv6, enable it. It's the single best thing you can do for your BaccaConnect experience.
On your Mac, open Terminal and run:
# Check for IPv6 addresses
ifconfig en0 | grep "inet6"
# Look for a line like:
# inet6 2001:db8:1234::5678 prefixlen 64
# (starts with 2xxx: — that's a global IPv6 address)
If you see an address starting with 2 or 3,
you have a globally routable IPv6 address. Addresses starting with
fe80: are link-local only (LAN, not internet-reachable).
You can also visit test-ipv6.com to check your IPv6 connectivity from a browser.
Usually, no. If your ISP provides IPv6 and your router supports it, your Mac gets a global IPv6 address automatically. BaccaConnect discovers it and uses it.
The only thing you might need is a firewall rule allowing inbound UDP on port 4464. Since there's no NAT with IPv6, you don't need port forwarding — just an access control rule (ACL):
macOS's built-in firewall is application-based, not port-based. When BaccaConnect first tries to listen on a port, macOS asks "Allow incoming connections?" — click Allow. That's it.
Some routers block all inbound IPv6 by default. If your sessions are falling back to relay despite having IPv6, check your router for an IPv6 firewall section and add a rule:
| Field | Value |
|---|---|
| Direction | Inbound |
| Protocol | UDP |
| Port | 4464 |
| Action | Allow |
| Destination | Your Mac's IPv6 address (or any on your LAN) |
CGNAT (Carrier-Grade NAT) means your ISP puts you behind a second layer of NAT — even before your own router. You share a public IP address with dozens or hundreds of other customers. Port forwarding on your router has no effect because the ISP's NAT sits in front of yours.
To check if you're behind CGNAT:
curl -s ifconfig.me in TerminalCommon CGNAT IP ranges (your router's WAN IP will be in one of these):
100.64.0.0 – 100.127.255.255 (RFC 6598 — CGNAT block)
10.0.0.0 – 10.255.255.255 (sometimes used by ISPs)
172.16.0.0 – 172.31.255.255 (sometimes used by ISPs)
CGNAT is common on mobile/cellular, satellite (Starlink), fixed wireless, and some budget fiber ISPs. It's becoming less common on traditional cable and fiber, but it varies by region.
From best to worst:
| Scenario | Connection | Action Needed | Latency |
|---|---|---|---|
| Both on same LAN | LAN Direct | None | < 1ms |
| Both have IPv6 | IPv6 Direct | Allow UDP 4464 in firewall | 5-30ms |
| One side port-forwarded | IPv4 Direct | Port forward UDP 4464 | 10-40ms |
| Both behind NAT, no port forward | TURN Relay | Port forward one side, or enable IPv6 | 15-60ms |
| One or both behind CGNAT | TURN Relay | Enable IPv6, or request public IP from ISP | 15-60ms |
| Restrictive firewall (blocks all UDP) | TURN Relay | Allow outbound UDP, or use a different network | 20-80ms |
Only one side needs to be reachable. If the studio has port forwarding set up (or IPv6), the artist doesn't need to do anything. BaccaConnect will find the path automatically.
curl -s ifconfig.meifconfig en0 | grep inet6Bandwidth is almost never the issue (BaccaConnect uses ~2.5 Mbps). Audio quality problems are usually caused by:
Not bad — just not ideal. TURN relay adds 2-4ms of latency per hop and routes your audio through Cloudflare's network. The audio is still AES-256 encrypted end-to-end — the relay sees only ciphertext.
Many professional sessions run perfectly fine over relay. But if you can get a direct connection by port-forwarding or enabling IPv6, you'll get lower latency and a more consistent experience.
Still having trouble? Reach out to your studio engineer — they can check the Quality dashboard for detailed session diagnostics.
Back to BaccaConnect