JVB on low port number

#1

Hi,

Many of our users are having problems with port 10000.
i was thinking of removing port 80 from nginx and assign it to JVB.

using “docker-jitsi-meet” i’ve made the following changed in .env:

HTTP_PORT=8080
JVB_PORT=80

for some reason it doesn’t work…one of the error messages i see is:

jicofo_1 | Jicofo 2019-05-16 13:24:19.719 WARNING: [57] org.jitsi.jicofo.JvbDoctor.log() Health check failed on: jvb@auth.meet.jitsi/sjWuH7gi error: java.lang.Exception: Failed to bind single-port

i was also trying with port 88 (JVB_PORT=88) but got the same problem.
when i was trying with port 9000 instead of 10000 it worked.

what am i missing? is it even possible using port 80 for webrtc?

10x!!
Roey

#2

I cannot comment anything about docker, but normally in linux you need special privileges to use ports that are bellow 1024.
The current jvb provides a systemd unit file which allows the process to bind to those ports. So I guess there is your problem, you need to allow the process to use those depending on the environment and tools you have.

#3

Hi @damencho
10x for replying!!

dockers doesn’t have any problem binding port 80, so i guess this systemd file is inside the container itself.
is there any reference on how to make the necessary changes to systemd?

what about my 2nd question?

is it even possible using port 80 for webrtc?

do you think it will work? will browsers allow it? will it solve my problem and others here in the community having problems with commercial firewalls?

10x again!
Roey

#4

It does work for what? nginx? nginx binds as root, while jvb runs as jvb user and is not allowed to bind.

This lines allows jvb to bind to privileged ports:

#5

10x, what about my other question? Will it work? :slight_smile:

#7

Not sure about webrtc and port 80, I have the feeling I was reading something about it … you can research it, search and chromium bug tracker for it.

#8

Hi,

i was able to run jvb as root in dockers, all i had to to is change jvb to root here:

still nothing to see (even on port 999) :frowning:
this is the jvb log:

JVB 2019-05-16 23:56:40.778 INFO: [14] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: net.java.sip.communicator.impl.protocol.jabber.extensions.colibri.ColibriStatsExtension@d9704e6
JVB 2019-05-16 23:56:42.861 WARNING: [1515] org.jitsi.videobridge.AbstractEndpointMessageTransport.log() Unable to find endpoint yfto4qm6 to send EndpointMessage
JVB 2019-05-16 23:56:45.779 INFO: [14] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: net.java.sip.communicator.impl.protocol.jabber.extensions.colibri.ColibriStatsExtension@460d077e
JVB 2019-05-16 23:56:50.682 INFO: [18] org.jitsi.videobridge.Videobridge.log() CAT=stat create_conf,conf_id=4473feaa8bdbddc0 conf_name=null,logging=false,conf_count=2,ch_count=3,v_streams=1
JVB 2019-05-16 23:56:50.692 WARNING: [15] org.jitsi.videobridge.EndpointMessageTransport.log() SCTP connection with dd6294518da1e769 not ready yet.
JVB 2019-05-16 23:56:50.693 WARNING: [15] org.jitsi.videobridge.EndpointMessageTransport.log() No available transport channel, can’t send a message
JVB 2019-05-16 23:56:50.762 INFO: [18] org.jitsi.videobridge.health.Health.log() Performed a successful health check in 80ms. Sticky failure: false

maybe chrome just doesn’t like communicating on lower ports :\