Configure STUN so browser ICE can complete bidirectionally

FixKlusterServices
Shipped
April 26, 2026 at 11:18 PM UTC
Author
Kamo
Commit
af6f181

Two-party browser-to-browser calls connected at the SIP layer but had no audio either direction. Voicemail (one-way Asterisk → browser) worked because Asterisk's symmetric-RTP fallback could learn the browser's address from any inbound packet. Two-party bridging needs both sides' RTP to actually reach Asterisk, which means ICE has to converge on a candidate pair the browser can route to. Asterisk had ice_support=yes per-endpoint but `STUN address: 0.0.0.0:0` at the rtp engine level, so its only offered candidate was its host (LAN/pod-network) IP — unreachable from public internet browsers. Configure **************** in rtp.conf so Asterisk can also advertise its srflx (public) candidate. STUN address now resolves to 74.125.250.129:19302 after a fresh module load. Inlined rtp.conf rather than relying on rtp_custom.conf because the rtp engine snapshots its [general] config at module-load time and never re-reads it from include files (the same gotcha that bit the earlier http.conf change). The auto-generated rtp_additional.conf and any future rtp_custom.conf are still re-included after the inline keys for forward compatibility.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing