jitsi / jitsi-meet

Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
https://jitsi.org/meet
Apache License 2.0
23.21k stars 6.74k forks source link

Issues with SSL #2270

Closed AdamMiltonBarker closed 6 years ago

AdamMiltonBarker commented 6 years ago

Hi I have a subdomain pointing to the ip of jitsi and I have followed the quick install, it was giving me an error about invalid SSL, I tried a few things and uninstalled and reinstalled jitsi meet, the error still remains, and now I have issues opening the camera, I have to remove permissions and re add every time I came to the page, but now also the video screen has disappeared from the display.

Any suggestions guys ?

TIA

AdamMiltonBarker commented 6 years ago

Failed to load https://###.###.#.#/http-bind?room=test: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://###.###########.com' is therefore not allowed access.

Where the failed to load part is pointing to the IP not the hostname.

damencho commented 6 years ago

In order to change the domain you need to reconfigure the packages. The easiest way is to remove them by purging, so you will be sure any configuration doesn't stay. Just removing and installing the packages will not work. You can do that with: apt-get --purge remove jitsi-meet jitsi-meet-web jitsi-meet-prosody jitsi-meet-web-config jicofo jitsi-videobridge And then install again.

The ip address is used in several places, as prosody, the generated certificates that goes in java keystore, jicofo. Multiple configurations, so changing them by hand is not an easy task.

damencho commented 6 years ago

Yep, the 'Access-Control-Allow-Origin' is that you are loading the site from addressA and you are trying to connect using bosh (making external connection) to addressB, but this is not configured on the server and you will need to fix, jitsi-meet config.js, and then prosody. Purging and installing again if possible is the easiest way.

AdamMiltonBarker commented 6 years ago

Thanks I have done your first suggestion for a second time but also had to manually remove /etc/jitsi/videobridge, those errors have gone but the error still remains with the insecure connection so things not quite right yet, any ideas on letsencrypt, I tried to another SSL it just says does not need renewing. If I accept the warning it takes me to the GUI correctly

damencho commented 6 years ago

Hum, so you executed the let's encrypt script? Did you try restarting jvb after that?

AdamMiltonBarker commented 6 years ago

Ok that issue appears to have sorted out finally I no longer get the error, but I cannot access the camera and when I do it is really bad bitty quality but says HD.

AdamMiltonBarker commented 6 years ago

If I remove the permissions in chrome it will work, but if I go away and come back I have to remove permissions, in FF it just doesn't work. Share desktop does not seem to be there either.

AdamMiltonBarker commented 6 years ago

This is also an issue with the API I am unable to open the video camera

damencho commented 6 years ago

I don't get it? So you say you deny the camera/mic permissions and webrtc still open it and then it works? Can you send some screenshot?

AdamMiltonBarker commented 6 years ago

No, so when I first starts it works, if I did move away from the page and come back it does not ask for permissions but did not work, this seems to be fixed, I had to remove permissions and re add and then it worked again. But for the API the video camera just wont open, it just says fails to access video.

damencho commented 6 years ago

Hum, this with the permissions is strange. Can you send me the js console logs when it doesn't work, I haven't seen a problem like that. Are you using everything from https locations? webrtc doesn't work when using http.

AdamMiltonBarker commented 6 years ago

In API I get this:

Logger.js:125 [modules/RTC/RTCUtils.js] <>:  Failed to get access to local media.  NotFoundError [object Object] 
r @ Logger.js:125
(anonymous) @ RTCUtils.js:1204
(anonymous) @ RTCUtils.js:882
Promise rejected (async)
e.getUserMedia @ RTCUtils.js:881
(anonymous) @ RTCUtils.js:1191
value @ RTCUtils.js:1189
(anonymous) @ RTCUtils.js:1522
Promise resolved (async)
value @ RTCUtils.js:1566
value @ RTC.js:208
createLocalTracks @ JitsiMeetJS.js:271
r @ functions.js:54
muteVideo @ conference.js:901
(anonymous) @ conference.js:2033
n.emit @ events.js:81
O.emitEvent @ UI.js:762
onClick @ defaultToolbarButtons.web.js:49
c @ Toolbar.web.js:147
value @ ToolbarButton.web.js:158
value @ StatelessToolbarButton.js:125
m @ react-dom.production.min.js:36
invokeGuardedCallback @ react-dom.production.min.js:35
invokeGuardedCallbackAndCatchFirstError @ react-dom.production.min.js:35
b @ react-dom.production.min.js:36
executeDispatchesInOrder @ react-dom.production.min.js:38
O @ react-dom.production.min.js:46
P @ react-dom.production.min.js:46
E @ react-dom.production.min.js:46
processEventQueue @ react-dom.production.min.js:49
handleTopLevel @ react-dom.production.min.js:57
C @ react-dom.production.min.js:43
batchedUpdates @ react-dom.production.min.js:190
x @ react-dom.production.min.js:41
w @ react-dom.production.min.js:41
batchedUpdates @ react-dom.production.min.js:42
dispatchEvent @ react-dom.production.min.js:45
Logger.js:125 [react/features/base/tracks/functions.js] <>:  Failed to create local tracks ["video"] r {gum: {…}, name: "gum.not_found", message: "Requested device(s) was/were not found: video", stack: "Error↵    at new r (https://########…si-meet.min.js?v=2441:2:204932↵    at <anonymous>"}
r @ Logger.js:125
(anonymous) @ functions.js:85
Promise rejected (async)
r @ functions.js:84
muteVideo @ conference.js:901
(anonymous) @ conference.js:2033
n.emit @ events.js:81
O.emitEvent @ UI.js:762
onClick @ defaultToolbarButtons.web.js:49
c @ Toolbar.web.js:147
value @ ToolbarButton.web.js:158
value @ StatelessToolbarButton.js:125
m @ react-dom.production.min.js:36
invokeGuardedCallback @ react-dom.production.min.js:35
invokeGuardedCallbackAndCatchFirstError @ react-dom.production.min.js:35
b @ react-dom.production.min.js:36
executeDispatchesInOrder @ react-dom.production.min.js:38
O @ react-dom.production.min.js:46
P @ react-dom.production.min.js:46
E @ react-dom.production.min.js:46
processEventQueue @ react-dom.production.min.js:49
handleTopLevel @ react-dom.production.min.js:57
C @ react-dom.production.min.js:43
batchedUpdates @ react-dom.production.min.js:190
x @ react-dom.production.min.js:41
w @ react-dom.production.min.js:41
batchedUpdates @ react-dom.production.min.js:42
dispatchEvent @ react-dom.production.min.js:45
Logger.js:125 [JitsiConference.js] <r._doReplaceTrack>:  _doReplaceTrack - no JVB JingleSession
Logger.js:125 [JitsiConference.js] <r._doReplaceTrack>:  _doReplaceTrack - no P2P JingleSession
Logger.js:125 [modules/UI/videolayout/LargeVideoManager.js] <>:  hover in %s 96546962
Logger.js:125 [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: null Script: null Line: null Column: null StackTrace:  {name: "NotFoundError", message: "", constraint: "", toString: ƒ}
r @ Logger.js:125
getGlobalOnErrorHandler @ JitsiMeetJS.js:448
window.onunhandledrejection @ conference.js:692
test:1 Uncaught (in promise) {name: "NotFoundError", message: "", constraint: "", toString: ƒ}
AdamMiltonBarker commented 6 years ago

Yes using https, now the api is ok, this is very weird behavior, now I cannot set a pin for the room, it says saved but after reload it is gone and no one ever gets asked for the pin

damencho commented 6 years ago

Once there is nobody in the room, the room is destroyed. Entering the same URL a new room/conference is created.

AdamMiltonBarker commented 6 years ago

Ok thanks, that caused a bit of an issue but work a way around that on our side. As it is anyone can start a room, is there a way to avoid that and to pass through a password for a room so that it sets up the room with a password via the API? Also API issue came back. Sorry for all the questions ;)

Logger.js:125 [modules/RTC/RTCUtils.js] <>:  Failed to get access to local media.  NotFoundError [object Object] 
r @ Logger.js:125
(anonymous) @ RTCUtils.js:1204
(anonymous) @ RTCUtils.js:882
Promise rejected (async)
e.getUserMedia @ RTCUtils.js:881
(anonymous) @ RTCUtils.js:1191
value @ RTCUtils.js:1189
(anonymous) @ RTCUtils.js:1522
Promise resolved (async)
value @ RTCUtils.js:1566
value @ RTC.js:208
createLocalTracks @ JitsiMeetJS.js:271
r @ functions.js:54
muteVideo @ conference.js:901
(anonymous) @ conference.js:2033
n.emit @ events.js:81
O.emitEvent @ UI.js:762
onClick @ defaultToolbarButtons.web.js:49
c @ Toolbar.web.js:147
value @ ToolbarButton.web.js:158
value @ StatelessToolbarButton.js:125
m @ react-dom.production.min.js:36
invokeGuardedCallback @ react-dom.production.min.js:35
invokeGuardedCallbackAndCatchFirstError @ react-dom.production.min.js:35
b @ react-dom.production.min.js:36
executeDispatchesInOrder @ react-dom.production.min.js:38
O @ react-dom.production.min.js:46
P @ react-dom.production.min.js:46
E @ react-dom.production.min.js:46
processEventQueue @ react-dom.production.min.js:49
handleTopLevel @ react-dom.production.min.js:57
C @ react-dom.production.min.js:43
batchedUpdates @ react-dom.production.min.js:190
x @ react-dom.production.min.js:41
w @ react-dom.production.min.js:41
batchedUpdates @ react-dom.production.min.js:42
dispatchEvent @ react-dom.production.min.js:45
Logger.js:125 [react/features/base/tracks/functions.js] <>:  Failed to create local tracks ["video"] r {gum: {…}, name: "gum.not_found", message: "Requested device(s) was/were not found: video", stack: "Error↵    at new r (https://vdc.techbubbletechnolo…si-meet.min.js?v=2441:2:204932↵    at <anonymous>"}
r @ Logger.js:125
(anonymous) @ functions.js:85
Promise rejected (async)
r @ functions.js:84
muteVideo @ conference.js:901
(anonymous) @ conference.js:2033
n.emit @ events.js:81
O.emitEvent @ UI.js:762
onClick @ defaultToolbarButtons.web.js:49
c @ Toolbar.web.js:147
value @ ToolbarButton.web.js:158
value @ StatelessToolbarButton.js:125
m @ react-dom.production.min.js:36
invokeGuardedCallback @ react-dom.production.min.js:35
invokeGuardedCallbackAndCatchFirstError @ react-dom.production.min.js:35
b @ react-dom.production.min.js:36
executeDispatchesInOrder @ react-dom.production.min.js:38
O @ react-dom.production.min.js:46
P @ react-dom.production.min.js:46
E @ react-dom.production.min.js:46
processEventQueue @ react-dom.production.min.js:49
handleTopLevel @ react-dom.production.min.js:57
C @ react-dom.production.min.js:43
batchedUpdates @ react-dom.production.min.js:190
x @ react-dom.production.min.js:41
w @ react-dom.production.min.js:41
batchedUpdates @ react-dom.production.min.js:42
dispatchEvent @ react-dom.production.min.js:45
Logger.js:125 [modules/UI/videolayout/LargeVideoManager.js] <>:  hover in %s f57cff34
Logger.js:125 [modules/xmpp/JingleSessionPC.js] <Object.callback>:  Replace track done!
Logger.js:125 [modules/xmpp/JingleSessionPC.js] <Object.callback>:  Replace track done!
Logger.js:125 [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: null Script: null Line: null Column: null StackTrace:  {name: "NotFoundError", message: "", constraint: "", toString: ƒ}
r @ Logger.js:125
getGlobalOnErrorHandler @ JitsiMeetJS.js:448
window.onunhandledrejection @ conference.js:692
test:1 Uncaught (in promise) {name: "NotFoundError", message: "", constraint: "", toString: ƒ}
damencho commented 6 years ago

What is the browser you are using version, OS? About the room lock, there is nothing like that at the moment.

AdamMiltonBarker commented 6 years ago

Using Chrome and FF, Ubuntu 16.04

AdamMiltonBarker commented 6 years ago

So basically anyone is able to start a conference on the service and no way to stop it ?

damencho commented 6 years ago

The version of chrome? Are you seeing the problem in chrome?

damencho commented 6 years ago

There are a lot different options of controlling that. You are now using the default deployment which is like that, open to everybody. Checkout meet.jit.si. You can use xmpp authentication, I know some users are configuring ldap in prosody for authenticating the xmpp users, although it is not very easy to do so, as there are some problems. There are options where the first user must be authenticated and the others can be guests. The most tested and extended option is using jwt tokens, provided by another application, you can control users only having jwt token (in it you can say for which particular room that user has access, or it can have access to all rooms). There are plenty of options. https://github.com/jitsi/jicofo#secure-domain https://github.com/jitsi/lib-jitsi-meet/blob/master/doc/tokens.md

AdamMiltonBarker commented 6 years ago

Ok thanks will check it out, issue with camera still persists using the API embedded in a web app.

damencho commented 6 years ago

Which version of chrome is this where you experience the problem? Is it external (usb) camera? Are you having the problems only on one machine?

AdamMiltonBarker commented 6 years ago

Version 62.0.3202.94 (Official Build) (64-bit) if I shut the browser and clear permissions and start again it will get the camera, if not after a page refresh camera will not reload using built in webcam on laptop:

Logger.js:125 [modules/RTC/RTCUtils.js] <t.<anonymous>>:  Got media constraints:  {video: {…}, audio: false}
Logger.js:125 [modules/RTC/RTCUtils.js] <>:  Failed to get access to local media.  NotReadableError [object Object] 
r @ Logger.js:125
(anonymous) @ RTCUtils.js:1204
(anonymous) @ RTCUtils.js:882
Promise rejected (async)
e.getUserMedia @ RTCUtils.js:881
(anonymous) @ RTCUtils.js:1191
value @ RTCUtils.js:1189
(anonymous) @ RTCUtils.js:1522
Promise resolved (async)
value @ RTCUtils.js:1566
value @ RTC.js:208
createLocalTracks @ JitsiMeetJS.js:271
r @ app.bundle.min.js?v=2441:sourcemap:2
muteVideo @ app.bundle.min.js?v=2441:sourcemap:2
(anonymous) @ app.bundle.min.js?v=2441:sourcemap:2
n.emit @ app.bundle.min.js?v=2441:sourcemap:2
O.emitEvent @ app.bundle.min.js?v=2441:sourcemap:2
onClick @ app.bundle.min.js?v=2441:sourcemap:2
c @ app.bundle.min.js?v=2441:sourcemap:2
value @ app.bundle.min.js?v=2441:sourcemap:2
value @ app.bundle.min.js?v=2441:sourcemap:2
m @ app.bundle.min.js?v=2441:sourcemap:2
invokeGuardedCallback @ app.bundle.min.js?v=2441:sourcemap:2
invokeGuardedCallbackAndCatchFirstError @ app.bundle.min.js?v=2441:sourcemap:2
b @ app.bundle.min.js?v=2441:sourcemap:2
executeDispatchesInOrder @ app.bundle.min.js?v=2441:sourcemap:2
O @ app.bundle.min.js?v=2441:sourcemap:2
P @ app.bundle.min.js?v=2441:sourcemap:2
E @ app.bundle.min.js?v=2441:sourcemap:2
processEventQueue @ app.bundle.min.js?v=2441:sourcemap:2
handleTopLevel @ app.bundle.min.js?v=2441:sourcemap:2
C @ app.bundle.min.js?v=2441:sourcemap:2
batchedUpdates @ app.bundle.min.js?v=2441:sourcemap:2
x @ app.bundle.min.js?v=2441:sourcemap:2
w @ app.bundle.min.js?v=2441:sourcemap:2
batchedUpdates @ app.bundle.min.js?v=2441:sourcemap:2
dispatchEvent @ app.bundle.min.js?v=2441:sourcemap:2
app.bundle.min.js?v=2441:sourcemap:2 [react/features/base/tracks/functions.js] <>:  Failed to create local tracks ["video"] r {gum: {…}, name: "gum.general", message: "Generic getUserMedia error", stack: "Error↵    at new r (https://#####o…si-meet.min.js?v=2441:2:204932↵    at <anonymous>"}
r @ app.bundle.min.js?v=2441:sourcemap:2
(anonymous) @ app.bundle.min.js?v=2441:sourcemap:2
Promise rejected (async)
r @ app.bundle.min.js?v=2441:sourcemap:2
muteVideo @ app.bundle.min.js?v=2441:sourcemap:2
(anonymous) @ app.bundle.min.js?v=2441:sourcemap:2
n.emit @ app.bundle.min.js?v=2441:sourcemap:2
O.emitEvent @ app.bundle.min.js?v=2441:sourcemap:2
onClick @ app.bundle.min.js?v=2441:sourcemap:2
c @ app.bundle.min.js?v=2441:sourcemap:2
value @ app.bundle.min.js?v=2441:sourcemap:2
value @ app.bundle.min.js?v=2441:sourcemap:2
m @ app.bundle.min.js?v=2441:sourcemap:2
invokeGuardedCallback @ app.bundle.min.js?v=2441:sourcemap:2
invokeGuardedCallbackAndCatchFirstError @ app.bundle.min.js?v=2441:sourcemap:2
b @ app.bundle.min.js?v=2441:sourcemap:2
executeDispatchesInOrder @ app.bundle.min.js?v=2441:sourcemap:2
O @ app.bundle.min.js?v=2441:sourcemap:2
P @ app.bundle.min.js?v=2441:sourcemap:2
E @ app.bundle.min.js?v=2441:sourcemap:2
processEventQueue @ app.bundle.min.js?v=2441:sourcemap:2
handleTopLevel @ app.bundle.min.js?v=2441:sourcemap:2
C @ app.bundle.min.js?v=2441:sourcemap:2
batchedUpdates @ app.bundle.min.js?v=2441:sourcemap:2
x @ app.bundle.min.js?v=2441:sourcemap:2
w @ app.bundle.min.js?v=2441:sourcemap:2
batchedUpdates @ app.bundle.min.js?v=2441:sourcemap:2
dispatchEvent @ app.bundle.min.js?v=2441:sourcemap:2
Logger.js:125 [JitsiConference.js] <r._doReplaceTrack>:  _doReplaceTrack - no JVB JingleSession
Logger.js:125 [JitsiConference.js] <r._doReplaceTrack>:  _doReplaceTrack - no P2P JingleSession
app.bundle.min.js?v=2441:sourcemap:2 [modules/UI/videolayout/LargeVideoManager.js] <>:  hover in %s 2c3f03bc
Logger.js:125 [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: null Script: null Line: null Column: null StackTrace:  {name: "NotReadableError", message: "", constraint: "", toString: ƒ}
r @ Logger.js:125
getGlobalOnErrorHandler @ JitsiMeetJS.js:448
window.onunhandledrejection @ app.bundle.min.js?v=2441:sourcemap:2
test:1 Uncaught (in promise) {name: "NotReadableError", message: "", constraint: "", toString: ƒ}
logger.js:125 [modules/RTC/RTCUtils.js] <t.<anonymous>>:  Got media constraints:  {video: {%E2%80%A6}, audio: false}Logger.js:125 [modules/RTC/RTCUtils.js] <>:  Failed to get access to local media.  NotReadableError [object Object] r @ Logger.js:125(anonymous) @ RTCUtils.js:1204(anonymous) @ RTCUtils.js:882Promise rejected (async)e.getUserMedia @ RTCUtils.js:881(anonymous) @ RTCUtils.js:1191value @ RTCUtils.js:1189(anonymous) @ RTCUtils.js:1522Promise resolved (async)value @ RTCUtils.js:1566value @ RTC.js:208createLocalTracks @ JitsiMeetJS.js:271r @ app.bundle.min.js?v=2441:sourcemap:2muteVideo @ app.bundle.min.js?v=2441:sourcemap:2(anonymous) @ app.bundle.min.js?v=2441:sourcemap:2n.emit @ app.bundle.min.js?v=2441:sourcemap:2O.emitEvent @ app.bundle.min.js?v=2441:sourcemap:2onClick @ app.bundle.min.js?v=2441:sourcemap:2c @ app.bundle.min.js?v=2441:sourcemap:2value @ app.bundle.min.js?v=2441:sourcemap:2value @ app.bundle.min.js?v=2441:sourcemap:2m @ app.bundle.min.js?v=2441:sourcemap:2invokeGuardedCallback @ app.bundle.min.js?v=2441:sourcemap:2invokeGuardedCallbackAndCatchFirstError @ app.bundle.min.js?v=2441:sourcemap:2b @ app.bundle.min.js?v=2441:sourcemap:2executeDispatchesInOrder @ app.bundle.min.js?v=2441:sourcemap:2O @ app.bundle.min.js?v=2441:sourcemap:2P @ app.bundle.min.js?v=2441:sourcemap:2E @ app.bundle.min.js?v=2441:sourcemap:2processEventQueue @ app.bundle.min.js?v=2441:sourcemap:2handleTopLevel @ app.bundle.min.js?v=2441:sourcemap:2C @ app.bundle.min.js?v=2441:sourcemap:2batchedUpdates @ app.bundle.min.js?v=2441:sourcemap:2x @ app.bundle.min.js?v=2441:sourcemap:2w @ app.bundle.min.js?v=2441:sourcemap:2batchedUpdates @ app.bundle.min.js?v=2441:sourcemap:2dispatchEvent @ app.bundle.min.js?v=2441:sourcemap:2app.bundle.min.js?v=2441:sourcemap:2 [react/features/base/tracks/functions.js] <>:  Failed to create local tracks ["video"] r {gum: {%E2%80%A6}, name: "gum.general", message: "Generic getUserMedia error", stack: "Error%E2%86%B5    at new r (https://vdc.techbubbletechnolo%E2%80%A6si-meet.min.js?v=2441:2:204932%E2%86%B5    at <anonymous>"}r @ app.bundle.min.js?v=2441:sourcemap:2(anonymous) @ app.bundle.min.js?v=2441:sourcemap:2Promise rejected (async)r @ app.bundle.min.js?v=2441:sourcemap:2muteVideo @ app.bundle.min.js?v=2441:sourcemap:2(anonymous) @ app.bundle.min.js?v=2441:sourcemap:2n.emit @ app.bundle.min.js?v=2441:sourcemap:2O.emitEvent @ app.bundle.min.js?v=2441:sourcemap:2onClick @ app.bundle.min.js?v=2441:sourcemap:2c @ app.bundle.min.js?v=2441:sourcemap:2value @ app.bundle.min.js?v=2441:sourcemap:2value @ app.bundle.min.js?v=2441:sourcemap:2m @ app.bundle.min.js?v=2441:sourcemap:2invokeGuardedCallback @ app.bundle.min.js?v=2441:sourcemap:2invokeGuardedCallbackAndCatchFirstError @ app.bundle.min.js?v=2441:sourcemap:2b @ app.bundle.min.js?v=2441:sourcemap:2executeDispatchesInOrder @ app.bundle.min.js?v=2441:sourcemap:2O @ app.bundle.min.js?v=2441:sourcemap:2P @ app.bundle.min.js?v=2441:sourcemap:2E @ app.bundle.min.js?v=2441:sourcemap:2processEventQueue @ app.bundle.min.js?v=2441:sourcemap:2handleTopLevel @ app.bundle.min.js?v=2441:sourcemap:2C @ app.bundle.min.js?v=2441:sourcemap:2batchedUpdates @ app.bundle.min.js?v=2441:sourcemap:2x @ app.bundle.min.js?v=2441:sourcemap:2w @ app.bundle.min.js?v=2441:sourcemap:2batchedUpdates @ app.bundle.min.js?v=2441:sourcemap:2dispatchEvent @ app.bundle.min.js?v=2441:sourcemap:2Logger.js:125 [JitsiConference.js] <r._doReplaceTrack>:  _doReplaceTrack - no JVB JingleSessionLogger.js:125 [JitsiConference.js] <r._doReplaceTrack>:  _doReplaceTrack - no P2P JingleSessionapp.bundle.min.js?v=2441:sourcemap:2 [modules/UI/videolayout/LargeVideoManager.js] <>:  hover in %s 2c3f03bcLogger.js:125 [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: null Script: null Line: null Column: null StackTrace:  {name: "NotReadableError", message: "", constraint: "", toString: %C6%92}r @ Logger.js:125getGlobalOnErrorHandler @ JitsiMeetJS.js:448window.onunhandledrejection @ app.bundle.min.js?v=2441:sourcemap:2test:1 Uncaught (in promise) {name: "NotReadableError", message: "", constraint: "", toString: %C6%92}
damencho commented 6 years ago

Can you try whether you reproduce the problem on meet.jit.si?

AdamMiltonBarker commented 6 years ago

Replacing the URL in the api params with meet.jit.si results in the same.

damencho commented 6 years ago

But do you reproduce the problem if you directly use meet.jit.si in the same browser, not through the API?

AdamMiltonBarker commented 6 years ago

Yes. Same result, I have to remove permissions and / or shut browser down

damencho commented 6 years ago

That can be chrome/linux problem, need to search their bug tracker for problems like that. Will try to do it these days and come back to you. I don't think this is in any way some problem with your deployment. Testing on another PC will not reproduce this problem.

AdamMiltonBarker commented 6 years ago

Yer can confirm on the MAC it is working ok.

AdamMiltonBarker commented 6 years ago

Also on Laptop users are not getting shown even when cam is working, both on two seperate networks.

damencho commented 6 years ago

Are you running the videobridge behind nat? Then you need to setup its private and public address and forward and port 10000 udp to reach it. https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md#advanced-configuration

AdamMiltonBarker commented 6 years ago

Doesn't explain why it works on MAC and not on Laptop, they are in the same house just different IPs, MAC is on a VPN

AdamMiltonBarker commented 6 years ago

Ah and sorry no jitsi is on a VPS

damencho commented 6 years ago

Does it have its own public address on the machine which is accessible from Internet? I'm not sure why it doesn't work in order to diagnose such problems I need the js console and the webrtc dump, which can be obtained from chrome://webrtc-internals, the best is to have those from both sides. How do you test, opening two tabs on the same machine should result direct connection p2p. Adding third participant should move the conference to use the jvb, where it needs to be running on a public address or if its not you need to setup the address which can be used to access it and it internal ip-address and make sure port 10000 udp is forwarded to that machine.

AdamMiltonBarker commented 6 years ago

It is on a public IP yes, following:

DNS zone record in A pointing to the IP of the server.

Additional can hear no sound from any device when I speak.

MAC- Camera behavior normal, does not show new users, does show chats from those users, I cannot see the other users videos

WINDOWS PC- Camera behavior normal, does not show new users, does show chats from those users, I cannot see the other users videos

WINDOWS LAPTOP: Camera does not work as described above, does not show new users, does show chats from those users, I cannot see the other users videos

In windows pc, I sent a message, it did not show up until I sent a message from MAC, laptop received messages from all of them and showed message count but no all I can see on each screen is the camera from the machine I am on.

I have provided the console logs multiple times above anything specific ?

AdamMiltonBarker commented 6 years ago

The server is fine mate, it is publicly accessible, and through https.

AdamMiltonBarker commented 6 years ago

RE the above about sound, I can see the sound on the other devices, just cannot hear and cannot see the video of anyone else.

AdamMiltonBarker commented 6 years ago

@damencho what firewall is it using if it is using jetty, I have added a rule to iptables for the udp but doing nmap shows no udp ports open.

# Generated by iptables-save v1.6.0 on Sat Dec  9 02:04:51 2017
*filter
:INPUT DROP [3:156]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [95:14045]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 10000 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j DROP
Host is up (0.000060s latency).
Not shown: 65527 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
443/tcp  open  https
5222/tcp open  xmpp-client
5269/tcp open  xmpp-server
5280/tcp open  xmpp-bosh
5281/tcp open  unknown
8080/tcp open  http-proxy
8888/tcp open  sun-answerbook
damencho commented 6 years ago

https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md#advanced-configuration UDP 10000 and TCP 443 this is what is used by jvb and its jetty that needs to be publicly accessible.

AdamMiltonBarker commented 6 years ago

Connection to ###### 10000 port [udp/*] succeeded!

damencho commented 6 years ago

Can you send me a link privately so i can test later? You can write to me at damencho AT jitsi DOT org.

damencho commented 6 years ago

Yep, it sounds strange ... If there is audio, there should be and video, no reason to be missing, other then not sending it on the other side.

damencho commented 6 years ago

The logs you have sent are having errors that the camera cannot be obtained so there will be no video on the other side.

AdamMiltonBarker commented 6 years ago

Ok so I disabled ufw and allowed udp 10000 through the iptables firewall it still showed not open plus the site went down, I renabled ufw and added the following:

sudo ufw allow 10000/udp
Skipping adding existing rule
Skipping adding existing rule (v6)

nmap still does not show that open.

The camera is only broken on the laptop, the other two devices are both connected to camera correctly, I can see the sound levels, I cannot hear on any device, 3 devices in total connected to the same room. Just to clarify again:

https://github.com/jitsi/jitsi-meet/issues/2270#issuecomment-350410796

In addition all the devices see when someone leaves, all the devices get messages, none of the devices update the user count, none of the devices can hear anything but you can see the audio from the other devices, none of the devices can view the other devices camera.

AdamMiltonBarker commented 6 years ago

Doing sudo netstat -lptu I see that the port is open

damencho commented 6 years ago

Do you see the local video?

damencho commented 6 years ago

Can you check jicofo logs? It really sounds strange.

AdamMiltonBarker commented 6 years ago

Yes I see the local video on all of them just not able to see or hear other users on other devices. Ok I have got around the issue with webcam by selecting a different one, but still no sound and the other devices cannot see the others video, also still no user count. What is the location for the logs mate ?

damencho commented 6 years ago

/var/log/jitsi

AdamMiltonBarker commented 6 years ago

It is empty