diff --git a/app/sovran_systemsos_web/static/onboarding.js b/app/sovran_systemsos_web/static/onboarding.js
index fbabcf0..c103d50 100644
--- a/app/sovran_systemsos_web/static/onboarding.js
+++ b/app/sovran_systemsos_web/static/onboarding.js
@@ -551,7 +551,7 @@ async function loadStep4() {
// Optional ports table
html += '
';
html += '
Optional — Only needed if you enable Element Calling:
';
- html += '
These additional port openings are required on top of the 3 required ports above.
';
+ html += '
These 5 additional port openings are required on top of the 3 required ports above.
';
html += '
';
html += '| Port | Protocol | Forward to | Purpose |
';
html += '';
@@ -559,16 +559,15 @@ async function loadStep4() {
html += '| 7882 | UDP | ' + ip + ' | LiveKit media (UDP mux) |
';
html += '| 5349 | TCP | ' + ip + ' | TURN over TLS |
';
html += '| 3478 | UDP | ' + ip + ' | TURN (STUN/relay) |
';
- html += '| 30000–40000 | TCP | ' + ip + ' | TURN relay (WebRTC) — TCP rule |
';
- html += '| 30000–40000 | UDP | ' + ip + ' | TURN relay (WebRTC) — UDP rule |
';
+ html += '| 30000–40000 | TCP & UDP | ' + ip + ' | TURN relay (WebRTC) |
';
html += '
';
- html += '
ℹ The 30000–40000 range must be forwarded for both TCP and UDP. On most routers these are two separate forwarding rules.
';
+ html += '
ℹ The 30000–40000 range is a single forwarding rule — just set its protocol to both TCP and UDP (often shown as "Both" or "TCP/UDP" on your router).
';
html += '
';
// Totals
html += '';
html += 'Total port openings: 3 (without Element Calling)
';
- html += 'Total port openings: 9 (with Element Calling — 3 required + 6 optional; the 30000–40000 range counts as one TCP rule and one UDP rule)';
+ html += 'Total port openings: 8 (with Element Calling — 3 required + 5 optional)';
html += '
';
html += ''