No video on outside connection in ofmeet

I’ve checked through several answered threads and can’t find an answer to my issue:

The plugin works wonderfully for local users. When connecting from outside of our network however there is no video for other participants. The system hosting openfire has the firewall 7443, 50000-60000 punched open (TCP and UDP as we run other applications on those ports). The outside firewall on the colo has those ports opened as well.

config.js:

var ourDomain = “chatserver.ourserver.com”;

var config = {

hosts: {

domain: ourDomain,

muc: “conference.” + ourDomain,

bridge: “jitsi-videobridge.” + ourDomain,

},

useIPv6: false,

useNicks: false,

useWebsockets: true,

resolution: “720”,

bosh: "[https://](https://)" + ourDomain + "/http-bind/",

};

Websockets plugin installed.

Added-

When connecting internally vs Externally

INFO: Pair succeeded:10.0.0.155:5016/upd.host → 10.0.0.45:54041/upd/host <audio.rtp>

INFO: Pair succeeded:10.0.0.155:5016/upd.host → 10.0.0.45:54041/upd/host <video.rtp>

INFO: timeout for pair:10.0.0.155:5000/upd.host → 192.168.10.12:59020/upd/host <audio.rtp>

INFO: timeout for pair:10.0.0.155:5005/upd.host → 192.168.10.12:59022/upd/host <video.rtp>

I took down the firewall as a test and still any connection outside of the LAN was unable to pair audio/video.

Chrome log from outside connection:

This appears to be Chrome main.js:367

status 1 main.js:138

status 3 main.js:138

connected main.js:120

SEND: main.js:112

doJoin test qwewertwert main.js:656

SEND: <x xmlns='http://jabber.org/protocol/muc’/> main.js:112

getConstraints

Array[2]

1080 undefined undefined main.js:427

getUserMedia

Object

main.js:407

RECV: main.js:111

onPresence

x.fn.x.init[1]

muc.js:38

entered.muc test@conference.our.openfireserver.com/safasd(pzjee)

Object

main.js:185

RECV: main.js:111

onPresence

x.fn.x.init[1]

muc.js:38

onUserMediaSuccess main.js:412

mediaready.rayo main.js:215

SEND: main.js:112

RECV: main.js:111

rayo colibri register set ok main.js:1130

RECV: 2A:BC:43:4B:A6:AD:49:7E:C4:F1:B2:BA:43:A7:0E:8D:97:C0:1E:54</finge rprint>A2:E5:CE:4E:6B:03:A7:4E:BE:4C:A1:40:67:48:DD:3C:EF:66:DE:75</finge rprint> main.js:111

rayoCallback start

<presence from=?“jitsi.videobridge.test@our.openfireserver.com/?jitsi.videobridge.test” to=?“0eclhf3njvhrggb9@our.openfireserver.com/?0eclhf3njvhrggb9”>?…??

main.js:702

handleOffer

<offer xmlns=?“urn:?xmpp:?rayo:?colibri:?1” muc=?“test@conference.our.openfireserver.com” videobridge=?“test” nickname=?“qwewertwert(d9coy)?” participant=?“0eclhf3njvhrggb9@our.openfireserver.com/?0eclhf3njvhrggb9”>?…??

main.js:869

handleOffer track audio main.js:915

handleOffer track video main.js:915

rayoCallback end

<presence from=?“jitsi.videobridge.test@our.openfireserver.com/?jitsi.videobridge.test” to=?“0eclhf3njvhrggb9@our.openfireserver.com/?0eclhf3njvhrggb9”>?…??

main.js:742

onstream

MediaStreamEvent

false main.js:991

remotestreamadded.rayo Unknown main.js:261

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate

RTCIceCandidate

main.js:980

candidate null main.js:980

sendAnswer main.js:1010

SEND: A8:57:33:E8:31:AE:63:C2:D5:46:7E:A0:25:BC:9C:67:C1:D0:7A:BB:EC:3 5:F6:03:19:93:52:FE:89:20:67:B4A8:57:33:E8:31:AE:63:C2:D5:46:7E:A0:25:BC:9C:67:C1:D0:7A:BB:EC:3 5:F6:03:19:93:52:FE:89:20:67:B4 main.js:112

RECV: 3A:BE:08:4B:FC:CF:20:6D:F7:42:CB:E1:62:CD:8D:01:AA:E2:C9:EC:33:8 B:6C:E3:2D:5F:4E:56:65:A1:F6:2D3A:BE:08:4B:FC:CF:20:6D:F7:42:CB:E1:62:CD:8D:01:AA:E2:C9:EC:33:8 B:6C:E3:2D:5F:4E:56:65:A1:F6:2D</pre sence> main.js:111

rayoCallback start

<presence from=?“jitsi.videobridge.test@our.openfireserver.com/?jitsi.videobridge.test” to=?“0eclhf3njvhrggb9@our.openfireserver.com/?0eclhf3njvhrggb9”>?…??

main.js:702

handleSSRC input ssrc

<addsource xmlns=?“urn:?xmpp:?rayo:?colibri:?1” muc=?“test@conference.our.openfireserver.com” videobridge=?“test” nickname=?“safasd(pzjee)?” participant=?“nsofhnmbej5opqfr@our.openfireserver.com/?nsofhnmbej5opqfr”>?…??

main.js:806

rayoCallback end

<presence from=?“jitsi.videobridge.test@our.openfireserver.com/?jitsi.videobridge.test” to=?“0eclhf3njvhrggb9@our.openfireserver.com/?0eclhf3njvhrggb9”>?…??

main.js:742

RECV: main.js:111

rayoCallback start

<presence from=?“jitsi.videobridge.test@our.openfireserver.com/?jitsi.videobridge.test” to=?“0eclhf3njvhrggb9@our.openfireserver.com/?0eclhf3njvhrggb9”>?…??

main.js:702

rayoCallback end

<presence from=?“jitsi.videobridge.test@our.openfireserver.com/?jitsi.videobridge.test” to=?“0eclhf3njvhrggb9@our.openfireserver.com/?0eclhf3njvhrggb9”>?…??

main.js:742

RECV: main.js:111

rayo colibri answer set ok have-remote-offer main.js:1098

onstream

MediaStreamEvent

true main.js:991

remotestreamadded.rayo safasd(pzjee) main.js:261

handleAddSSRC modify ok have-remote-offer

try this

Bit redfaced here; We have a fiberlogic we’re using to route inside/outside traffic. Apparently there was a rule blocking the port ranges we forwarded on the main firewall. Checked it on a hunch after your suggestion. So in a round-about fashion your suggestion fixed it for me

EDIT:

After forwarding 5000-6000 UDP and 50000-60000 UDP the video breaks again. We opened up all UDP traffic and video comes back. Looking at the chrome console I’m seeing 2761, 2762. Is there an additional range that needs to be forwarded? I’d (as you can imagine) rather not have the entire forwarded.

To honest, quite possible. You might have to google a bit about the whole range ports used by WebRTC.