Hi -
I'd like to add the ability to set the UDP port range used by Big Blue Button.
Right now, the documentation says that ports 16384 - 32768 need to be mapped through a firewall to the server.
I find it useful to restrict my servers to a more limited port range, to facilitate running multiple BBB servers on a single public IP address. I'm currently running four BBB servers on a single IP address (one directly, and the other three behind an nginx reverse proxy), and it seems to work fine by giving each server a block of 1000 UDP ports. Of course, I never have more than 20 users on a single server, and usually far less.
In general, restricting the port range would be useful for avoiding other applications that need UDP ports. In my case, the other application is other BBB instances.
To make this work, I change the port ranges in three places for three components: FreeSWITCH, kurento, and webrtc.
Our default configuration, on both 2.4 and 2.5, is for FreeSWITCH to use the first half of the port range (16384-24576) and for Kurento and bbb-webrtc-sfu to share the second half of the port range (24577-32768).
Is there a good reason for this? I've been assigning them all the same port range, figuring that if they can't bind to a particular port, they'll just pick a different one.
In principle, I figure that each program only needs two ports (one for data and one for control), so the whole server should be able to operate on six UDP ports, but I'm not expecting that to happen! Might be a nice goal to keep in mind, though.
In short - why do we split the port numbers like we do? How many ports do these programs really need? Any objection to making this a configurable option?
agape
brent