3.0.x, media connections often fail when using custom UDP

9 views
Skip to first unread message

mricim

unread,
Sep 4, 2025, 5:23:01 AM (3 days ago) Sep 4
to BigBlueButton-Setup
(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:7443

UDP 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?
Reply all
Reply to author
Forward
0 new messages