(This is written in "MD", as I thought of publishing it as a GitHub issue.)
### Summary
After upgrading from **BigBlueButton 2.7.x** (working perfectly) to **BigBlueButton 3.0.x**, media connections (audio/video) often fail when using custom UDP port ranges. The same setup works flawlessly on 2.7.x, but on 3.0.x users encounter frequent errors (1002, 1007, etc.) and need to retry connections multiple times.
---
### Environment
* **BigBlueButton version(s) tested:**
* ✅ 2.7.16 → works fine
* ❌ 3.0.10 → works only with default range (16384–32768), fails with custom range (49153–65535)
* ❌ 3.0.13 → ""
* **Ubuntu version:**
* 20.04 for BBB 2.7.16
* 22.04 for BBB 3.0.10 / 3.0.13 (clean install each time)
* **Installation method:** `bbb-install.sh`
* **Server environment:** Dedicated server with static public IP, on the Internet (no NAT).
* **Networking:** IPv4 enabled, IPv6 disabled.
* **Port range configured:**
* Using `bbb-conf --set-port-range 49153-65535`
* Verified with UDP port tests (all ports in range respond correctly).
---
### Steps to Reproduce
1. Install BBB 3.0.13 on Ubuntu 22.04 using `bbb-install.sh`.
2. Set custom port range:
```bash
sudo bbb-conf --set-port-range 49153-65535
sudo bbb-conf --restart
```
3. Join a meeting and try to enable microphone or webcam.
---
### Expected behavior
Audio/video connections should establish normally regardless of the chosen valid UDP port range (as in 2.7.x).
---
### Actual behavior
* Connection attempts for webcam/microphone are often delayed or fail.
* Frequent errors appear: **1002**, **1007**, etc.
* Users need to retry several times before audio/video connects (sometimes it never does).
* Problem reproducible across multiple client devices and networks:
* Windows 10/11, Android, iOS
* Browsers: Chrome, Firefox, Edge
* When downgrading back to **2.7.16**, everything works immediately in any port range (`16384–32768`, `32769–49152`, `49153–65535`).
---
### Troubleshooting done
* Verified UDP connectivity with independent scripts/tools → all ports in range respond correctly.
* Clean OS reinstall for each version tested.
* Repeated on multiple client devices and networks.
* No firewall/NAT issues (server directly exposed with static public IP).
---
### Additional info
* Output of `sudo bbb-conf --check`:
```
BigBlueButton Server 3.0.13 (2904)
Kernel version: 5.15.0-1087-kvm
Distribution: Ubuntu 22.04.5 LTS (64-bit)
Memory: 15259 MB
CPU cores: 8
/etc/bigbluebutton/bbb-web.properties (override for bbb-web)
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bigbluebutton.web.serverURL:
https://domain.com defaultGuestPolicy: ASK_MODERATOR
defaultMeetingLayout: CUSTOM_LAYOUT
/etc/nginx/sites-available/bigbluebutton (nginx)
server_name:
domain.com port: 80, [::]:80127.0.0.1:82 http2 proxy_protocol, [::1]:82 http2127.0.0.1:81 proxy_protocol, [::1]:81
/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
local_ip_v4: 192.168.1.151
external_rtp_ip: 90.166.213.211
external_sip_ip: 90.166.213.211
/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
ext-rtp-ip: $${external_rtp_ip}
ext-sip-ip: $${external_sip_ip}
ws-binding:
90.166.213.211:5066 wss-binding:
90.166.213.211:7443UDP port ranges
FreeSWITCH: 32769-49152
bbb-webrtc-sfu: 32769-49152
bbb-webrtc-recorder: 32769-49152
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback_host:
domain.com playback_protocol: https
ffmpeg: 4.4.2-0ubuntu0.22.04.1
/usr/share/bigbluebutton/nginx/sip.nginx (sip.nginx)
proxy_pass: 90.166.213.211
protocol: http
/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (bbb-webrtc-sfu)
/etc/bigbluebutton/bbb-webrtc-sfu/production.yml (bbb-webrtc-sfu - override)
mediasoup.webrtc.*.announcedIp: 90.166.213.211
mediasoup.plainRtp.*.announcedIp: 90.166.213.211
freeswitch.sip_ip: 90.166.213.211
recordingAdapter: bbb-webrtc-recorder
recordScreenSharing: true
recordWebcams: true
codec_video_main: VP8
codec_video_content: VP8
/etc/bbb-webrtc-recorder/bbb-webrtc-recorder.yml (bbb-webrtc-recorder)
/etc/bigbluebutton/bbb-webrtc-recorder.yml (bbb-webrtc-recorder - override)
debug: null
recorder.directory: /var/lib/bbb-webrtc-recorder
/usr/share/bigbluebutton/html5-client/private/config/settings.yml (HTML5 client)
/etc/bigbluebutton/bbb-html5.yml (HTML5 client config override)
build: 1424
kurentoUrl: /bbb-webrtc-sfu
defaultFullAudioBridge: fullaudio
defaultListenOnlyBridge: fullaudio
sipjsHackViaWs: false
```
* Firewall status (`ufw status`):
```
Status: inactive
```
---
### Question
Is there any known issue in BBB **3.0.x** where custom UDP port ranges (outside `16384–32768`) cause unreliable audio/video connection setup?